onekijs-ui 0.16.1 → 0.16.2

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.
@@ -5,6 +5,7 @@ import { DropdownWidthModifier } from '../dropdown/typings';
5
5
  import { FieldLayoutProps } from '../field/typings';
6
6
  import { CollectionListProps, ListConfig, ListItem, ListItemAdaptee, ListItemHandler, ListItemProps, ListNotFoundProps, ListState, UseListOptions } from '../list/typings';
7
7
  import { TreeController, TreeItem, TreeProps, TreeState } from '../tree/typings';
8
+ import SelectService from './SelectService';
8
9
  export declare type ArraySelectProps<T = any, I extends SelectItem<T> = SelectItem<T>> = SelectConfig<T, I> & {
9
10
  adapter?: SelectItemAdapter<T>;
10
11
  dataSource: T[] | [T, string][] | string;
@@ -75,7 +76,7 @@ export declare type SelectProps<T = any, I extends SelectItem<T> = SelectItem<T>
75
76
  dataSource?: T[] | [T, string][] | string;
76
77
  fetchOnce?: boolean;
77
78
  };
78
- export declare type SelectBroker<T, I extends SelectItem<T> = SelectItem<T>, S extends SelectState<T, I> = SelectState<T, I>, C extends SelectController<T, I, S> = SelectController<T, I, S>> = CollectionBroker<T, I, S, C> & {
79
+ export declare type SelectBroker<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>> = CollectionBroker<T, I, S, C> & {
79
80
  setDefaultValue: (defaultValue: T | T[] | null | undefined, subscriberId?: string) => void;
80
81
  };
81
82
  export declare type SelectConfig<T = any, I extends SelectItem<T> = SelectItem<T>> = Omit<ListConfig<T, I>, 'ItemComponent'> & {
@@ -135,3 +136,4 @@ export declare type TreeSelectItem<T = any> = SelectItem<T> & TreeItem<T>;
135
136
  export declare type TreeSelectProps<T = any, I extends TreeSelectItem<T> = TreeSelectItem<T>, S extends TreeSelectState<T, I> = TreeSelectState<T, I>, C extends TreeSelectController<T, I, S> = TreeSelectController<T, I, S>> = SelectProps<T, I, S, C> & TreeProps<T, I, S, C>;
136
137
  export declare type TreeSelectState<T = any, I extends TreeSelectItem<T> = TreeSelectItem<T>> = SelectState<T, I> & TreeState<T, I>;
137
138
  export declare type UseSelectOptions<T, I extends SelectItem<T> = SelectItem<T>> = UseListOptions<T, I>;
139
+ export declare type UseSelectController<T = any, I extends SelectItem<T> = SelectItem<T>> = (dataSource: T[] | [T, string][] | string | undefined, options?: UseSelectOptions<T, I>) => CollectionProxy<T, I, SelectState<T, I>, SelectService<T, I, SelectState<T, I>>>;
@@ -7,6 +7,7 @@ import { InputProps } from '../input/typings';
7
7
  import { ListItemProps, ListItems, ListNotFoundProps, ListState, UseListOptions } from '../list/typings';
8
8
  import { FormSelectProps, SelectBroker, SelectItem, SelectProps } from '../select/typings';
9
9
  import { TextareaProps } from '../textarea/typings';
10
+ import TableService from './TableService';
10
11
  export declare type ArrayTableProps<T = any, I extends TableItem<T> = TableItem<T>> = TableConfig<T, I> & {
11
12
  adapter?: TableItemAdapter<T>;
12
13
  columns?: TableColumn<T, I>[];
@@ -245,3 +246,4 @@ export declare type UseTableOptions<T = any, I extends TableItem<T> = TableItem<
245
246
  adapter?: TableItemAdapter<T>;
246
247
  selected?: T[];
247
248
  };
249
+ export declare type UseTableController<T = any> = (dataSource: T[] | string | undefined, initialColumns: TableColumn<T, TableItem<T>>[] | undefined, options: UseTableOptions<T, TableItem<T>>) => CollectionProxy<T, TableItem<T>, TableState<T, TableItem<T>>, TableService<T, TableItem<T>, TableState<T, TableItem<T>>>>;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { ListItemProps } from '../../list/typings';
3
2
  import { TreeItem, TreeItemProps, TreeItemToggleProps } from '../typings';
4
3
  export declare const TreeItemToggler: <T = any, I extends TreeItem<T> = TreeItem<T>>({ item, onExpand, onCollapse, index, }: TreeItemToggleProps<T, I>) => JSX.Element | null;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { TreeItem, TreeListProps } from '../typings';
3
2
  declare const TreeListComponent: <T = any, I extends TreeItem<T> = TreeItem<T>>({ items, onItemClick, onItemMouseEnter, onItemMouseLeave, }: TreeListProps<T, I>) => JSX.Element;
4
3
  export default TreeListComponent;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { TreeItem, VirtualTreeListProps } from '../typings';
3
2
  declare const VirtualTreeListComponent: <T = any, I extends TreeItem<T> = TreeItem<T>>({ items, onItemClick, onItemMouseEnter, onItemMouseLeave, virtualItems, }: VirtualTreeListProps<T, I>) => JSX.Element;
4
3
  export default VirtualTreeListComponent;
package/dist/index.d.ts CHANGED
@@ -104,7 +104,7 @@ export { default as TreeSelectComponent } from './components/select/components/T
104
104
  export { default as useSelectController } from './components/select/hooks/useSelectController';
105
105
  export { useSelectService } from './components/select/hooks/useSelectService';
106
106
  export { default as useTreeSelectController } from './components/select/hooks/useTreeSelectController';
107
- export { ArraySelectProps, ArrayTreeSelectProps, ControllerSelectProps, ControllerTreeSelectProps, FormSelectProps, SelectItemAdapter, SelectBroker, SelectConfig, SelectController, SelectGroup, SelectIconProps, SelectInputProps, SelectItem, SelectItemAdaptee, SelectListComponentProps, SelectNotFoundProps, SelectOptionHandler, SelectOptionProps, SelectOptionSelectionHandler, SelectProps, SelectState, SelectTokenProps, SelectTokensProps, TreeSelectController, TreeSelectItem, TreeSelectProps, TreeSelectState, UseSelectOptions, } from './components/select/typings';
107
+ export { ArraySelectProps, ArrayTreeSelectProps, ControllerSelectProps, ControllerTreeSelectProps, FormSelectProps, SelectItemAdapter, SelectBroker, SelectConfig, SelectController, SelectGroup, SelectIconProps, SelectInputProps, SelectItem, SelectItemAdaptee, SelectListComponentProps, SelectNotFoundProps, SelectOptionHandler, SelectOptionProps, SelectOptionSelectionHandler, SelectProps, SelectState, SelectTokenProps, SelectTokensProps, TreeSelectController, TreeSelectItem, TreeSelectProps, TreeSelectState, UseSelectOptions, UseSelectController, } from './components/select/typings';
108
108
  export { findSelectItem, findSelectItemIndex, shouldCheckSelect } from './components/select/util';
109
109
  export { default as Tabs } from './components/tab';
110
110
  export { default as Tab } from './components/tab/components/Tab';
@@ -141,7 +141,7 @@ export { default as useSelectColumn } from './components/table/hooks/useSelectCo
141
141
  export { default as useTableController } from './components/table/hooks/useTableController';
142
142
  export { default as useTextColumn } from './components/table/hooks/useTextColumn';
143
143
  export { default as useTextareaColumn } from './components/table/hooks/useTextareaColumn';
144
- export { ArrayTableProps, Cell, CheckboxColumn, CheckboxColumnOptions, ControllerTableProps, EnumColumnOptions, FormTableContext, FormTableProps, InputColumn, InputColumnOptions, LinkColumnOptions, SelectCell, SelectColumn, SelectColumnOptions, TableBodyCellProps, TableBodyProps, TableBodyRowProps, TableColumn, TableColumnComputedWidth, TableColumnOptions, TableColumnSpec, TableColumnWidth, TableColumnsState, TableConfig, TableController, TableExpandedProps, TableFilterOperator, TableFilterOperatorProps, TableFooterCellProps, TableFooterProps, TableHeaderCellProps, TableHeaderProps, TableItem, TableItemAdaptee, TableItemAdapter, TableItems, TableNotFoundProps, TableProps, TableRowHandler, TableSortProps, TableState, TextareaColumn, TextareaColumnOptions, UseTableOptions, } from './components/table/typings';
144
+ export { ArrayTableProps, Cell, CheckboxColumn, CheckboxColumnOptions, ControllerTableProps, EnumColumnOptions, FormTableContext, FormTableProps, InputColumn, InputColumnOptions, LinkColumnOptions, SelectCell, SelectColumn, SelectColumnOptions, TableBodyCellProps, TableBodyProps, TableBodyRowProps, TableColumn, TableColumnComputedWidth, TableColumnOptions, TableColumnSpec, TableColumnWidth, TableColumnsState, TableConfig, TableController, TableExpandedProps, TableFilterOperator, TableFilterOperatorProps, TableFooterCellProps, TableFooterProps, TableHeaderCellProps, TableHeaderProps, TableItem, TableItemAdaptee, TableItemAdapter, TableItems, TableNotFoundProps, TableProps, TableRowHandler, TableSortProps, TableState, TextareaColumn, TextareaColumnOptions, UseTableOptions, UseTableController, } from './components/table/typings';
145
145
  export { default as Tag } from './components/tag';
146
146
  export { default as TagComponent } from './components/tag/components/TagComponent';
147
147
  export { tagStyle } from './components/tag/style';
package/dist/index.js CHANGED
@@ -6136,9 +6136,9 @@ const SelectOptionComponent = (props) => {
6136
6136
  return null;
6137
6137
  return (React__default["default"].createElement(React__default["default"].Fragment, null,
6138
6138
  displayGroup && React__default["default"].createElement(OptionGroupComponent, { ...props }),
6139
- React__default["default"].createElement("div", { className: classNames, onMouseDown: () => onItemClick(item, index), onMouseEnter: () => hoverable && onMouseEnter && item && onMouseEnter(item, index), onMouseLeave: () => hoverable && onMouseLeave && item && onMouseLeave(item, index) },
6139
+ React__default["default"].createElement("div", { className: classNames, onClick: () => onItemClick(item, index), onMouseEnter: () => hoverable && onMouseEnter && item && onMouseEnter(item, index), onMouseLeave: () => hoverable && onMouseLeave && item && onMouseLeave(item, index) },
6140
6140
  service.config?.multiple && (React__default["default"].createElement(Checkbox, { value: item?.selected ? true : false, onChange: () => onItemClick(item, index), color: "currentColor", className: "o-select-option-multiple-checkbox" })),
6141
- React__default["default"].createElement(OptionContentComponent, { ...props }))));
6141
+ React__default["default"].createElement(OptionContentComponent, { ...props, onClick: () => onItemClick(item, index) }))));
6142
6142
  };
6143
6143
  SelectOptionComponent.displayName = 'SelectOptionComponent';
6144
6144
  var SelectOptionComponent$1 = React__default["default"].memo(SelectOptionComponent);
@@ -6162,41 +6162,80 @@ const ControlledSelectComponent = ({ attachDropdownToBody = false, className = '
6162
6162
  const [focus, setFocus] = React.useState(false);
6163
6163
  const stateRef = React.useRef({});
6164
6164
  const service = controller.asService();
6165
- service.config = {
6166
- attachDropdownToBody,
6167
- className,
6168
- placeholder,
6169
- InputComponent,
6170
- IconComponent,
6171
- OptionContentComponent,
6172
- OptionComponent,
6173
- OptionLoadingComponent,
6174
- MultiOptionsComponent,
6175
- NotFoundComponent,
6176
- autoFocus,
6177
- value,
6178
- onChange,
6179
- onBlur: forwardBlur,
6180
- onFocus: forwardFocus,
6181
- height,
6182
- multiple,
6183
- status,
6184
- size,
6185
- nullable,
6186
- minChars,
6187
- openOnFocus,
6188
- searchable,
6189
- clickable,
6190
- dropdownWidthModifier,
6191
- preload,
6192
- increment,
6193
- animationMs,
6194
- disabled,
6195
- defaultValue,
6196
- sameWidth,
6197
- overscan,
6198
- autoCompleteSearch,
6199
- };
6165
+ if (!service.config) {
6166
+ service.config = {
6167
+ attachDropdownToBody,
6168
+ className,
6169
+ placeholder,
6170
+ InputComponent,
6171
+ IconComponent,
6172
+ OptionContentComponent,
6173
+ OptionComponent,
6174
+ OptionLoadingComponent,
6175
+ MultiOptionsComponent,
6176
+ NotFoundComponent,
6177
+ autoFocus,
6178
+ value,
6179
+ onChange,
6180
+ onBlur: forwardBlur,
6181
+ onFocus: forwardFocus,
6182
+ height,
6183
+ multiple,
6184
+ status,
6185
+ size,
6186
+ nullable,
6187
+ minChars,
6188
+ openOnFocus,
6189
+ searchable,
6190
+ clickable,
6191
+ dropdownWidthModifier,
6192
+ preload,
6193
+ increment,
6194
+ animationMs,
6195
+ disabled,
6196
+ defaultValue,
6197
+ sameWidth,
6198
+ overscan,
6199
+ autoCompleteSearch,
6200
+ };
6201
+ }
6202
+ else {
6203
+ service.config = {
6204
+ attachDropdownToBody,
6205
+ className,
6206
+ placeholder,
6207
+ InputComponent: service.config.InputComponent,
6208
+ IconComponent: service.config.IconComponent,
6209
+ OptionContentComponent: service.config.OptionContentComponent,
6210
+ OptionComponent: service.config.OptionComponent,
6211
+ OptionLoadingComponent: service.config.OptionLoadingComponent,
6212
+ MultiOptionsComponent: service.config.MultiOptionsComponent,
6213
+ NotFoundComponent: service.config.NotFoundComponent,
6214
+ autoFocus,
6215
+ value,
6216
+ onChange,
6217
+ onBlur: forwardBlur,
6218
+ onFocus: forwardFocus,
6219
+ height,
6220
+ multiple,
6221
+ status,
6222
+ size,
6223
+ nullable,
6224
+ minChars,
6225
+ openOnFocus,
6226
+ searchable,
6227
+ clickable,
6228
+ dropdownWidthModifier,
6229
+ preload,
6230
+ increment,
6231
+ animationMs,
6232
+ disabled,
6233
+ defaultValue,
6234
+ sameWidth,
6235
+ overscan,
6236
+ autoCompleteSearch,
6237
+ };
6238
+ }
6200
6239
  const id = React.useId();
6201
6240
  const loading = onekijsFramework.isCollectionLoading(controller);
6202
6241
  const fetching = onekijsFramework.isCollectionFetching(controller);