@ozen-ui/kit 0.16.0 → 0.17.0-canary.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.
Files changed (132) hide show
  1. package/__inner__/cjs/components/DataList/DataList.css +19 -46
  2. package/__inner__/cjs/components/DataList/DataList.js +101 -40
  3. package/__inner__/cjs/components/DataList/components/DataListCheckIcon/DataListCheckIcon.css +13 -0
  4. package/__inner__/cjs/components/{Select/components/SelectCheckIcon/SelectCheckIcon.d.ts → DataList/components/DataListCheckIcon/DataListCheckIcon.d.ts} +2 -2
  5. package/__inner__/cjs/components/DataList/components/DataListCheckIcon/DataListCheckIcon.js +16 -0
  6. package/__inner__/cjs/components/DataList/components/DataListCheckIcon/index.d.ts +1 -0
  7. package/__inner__/cjs/components/DataList/components/DataListCheckIcon/index.js +4 -0
  8. package/__inner__/cjs/components/DataList/components/DataListOption/DataListOption.css +20 -0
  9. package/__inner__/{esm/components/DataList/components → cjs/components/DataList/components/DataListOption}/DataListOption.d.ts +15 -4
  10. package/__inner__/cjs/components/DataList/components/DataListOption/DataListOption.js +39 -0
  11. package/__inner__/cjs/components/DataList/components/DataListOption/index.d.ts +1 -0
  12. package/__inner__/cjs/components/{Select/components/SelectCheckIcon → DataList/components/DataListOption}/index.js +1 -1
  13. package/__inner__/cjs/components/DataList/constants.d.ts +1 -0
  14. package/__inner__/cjs/components/DataList/constants.js +3 -1
  15. package/__inner__/cjs/components/DataList/helpers/index.d.ts +4 -0
  16. package/__inner__/cjs/components/DataList/helpers/index.js +7 -0
  17. package/__inner__/cjs/components/DataList/helpers/lastSelectedValue.d.ts +1 -0
  18. package/__inner__/cjs/components/DataList/helpers/lastSelectedValue.js +8 -0
  19. package/__inner__/cjs/components/DataList/helpers/types.d.ts +10 -0
  20. package/__inner__/cjs/components/DataList/helpers/types.js +7 -0
  21. package/__inner__/cjs/components/DataList/helpers/useDataListNavigation.d.ts +23 -0
  22. package/__inner__/cjs/components/DataList/helpers/useDataListNavigation.js +85 -0
  23. package/__inner__/cjs/components/DataList/helpers/useScrollContainerToElement.d.ts +3 -0
  24. package/__inner__/cjs/components/DataList/helpers/useScrollContainerToElement.js +15 -0
  25. package/__inner__/cjs/components/DataList/types.d.ts +3 -4
  26. package/__inner__/cjs/components/DataList/types.js +0 -5
  27. package/__inner__/cjs/components/FieldControl/FieldControl.js +1 -0
  28. package/__inner__/cjs/components/IconButton/IconButton.css +1 -1
  29. package/__inner__/cjs/components/Input/Input.js +1 -1
  30. package/__inner__/cjs/components/Input/types.d.ts +3 -2
  31. package/__inner__/cjs/components/Select/Select.css +33 -128
  32. package/__inner__/cjs/components/Select/Select.d.ts +2 -3
  33. package/__inner__/cjs/components/Select/Select.js +92 -80
  34. package/__inner__/cjs/components/Select/components/SelectConsumer/SelectInputConsumer.d.ts +5 -0
  35. package/__inner__/cjs/components/Select/components/SelectConsumer/SelectInputConsumer.js +21 -0
  36. package/__inner__/cjs/components/Select/components/SelectConsumer/index.d.ts +1 -0
  37. package/__inner__/cjs/components/Select/components/SelectConsumer/index.js +4 -0
  38. package/__inner__/cjs/components/Select/components/SelectInput/SelectInput.d.ts +1 -72
  39. package/__inner__/cjs/components/Select/components/SelectInput/SelectInput.js +23 -22
  40. package/__inner__/cjs/components/Select/components/SelectInput/index.d.ts +1 -0
  41. package/__inner__/cjs/components/Select/components/SelectInput/index.js +1 -0
  42. package/__inner__/cjs/components/Select/components/SelectInput/types.d.ts +89 -0
  43. package/__inner__/cjs/components/Select/components/SelectInput/types.js +2 -0
  44. package/__inner__/cjs/components/Select/components/index.d.ts +0 -1
  45. package/__inner__/cjs/components/Select/components/index.js +0 -1
  46. package/__inner__/cjs/components/Select/constants.d.ts +1 -1
  47. package/__inner__/cjs/components/Select/constants.js +2 -2
  48. package/__inner__/cjs/components/Select/helpers/index.d.ts +1 -0
  49. package/__inner__/cjs/components/Select/helpers/index.js +4 -0
  50. package/__inner__/cjs/components/Select/helpers/types.d.ts +8 -0
  51. package/__inner__/cjs/components/Select/helpers/types.js +7 -0
  52. package/__inner__/cjs/components/Select/index.d.ts +2 -1
  53. package/__inner__/cjs/components/Select/index.js +5 -4
  54. package/__inner__/cjs/components/Select/types.d.ts +31 -18
  55. package/__inner__/cjs/components/Textarea/Textarea.js +1 -1
  56. package/__inner__/cjs/components/Textarea/types.d.ts +2 -2
  57. package/__inner__/cjs/utils/scrollContainerToElement.d.ts +3 -4
  58. package/__inner__/esm/components/DataList/DataList.css +19 -46
  59. package/__inner__/esm/components/DataList/DataList.js +101 -40
  60. package/__inner__/esm/components/DataList/components/DataListCheckIcon/DataListCheckIcon.css +13 -0
  61. package/__inner__/esm/components/{Select/components/SelectCheckIcon/SelectCheckIcon.d.ts → DataList/components/DataListCheckIcon/DataListCheckIcon.d.ts} +2 -2
  62. package/__inner__/esm/components/DataList/components/DataListCheckIcon/DataListCheckIcon.js +11 -0
  63. package/__inner__/esm/components/DataList/components/DataListCheckIcon/index.d.ts +1 -0
  64. package/__inner__/esm/components/DataList/components/DataListCheckIcon/index.js +1 -0
  65. package/__inner__/esm/components/DataList/components/DataListOption/DataListOption.css +20 -0
  66. package/__inner__/{cjs/components/DataList/components → esm/components/DataList/components/DataListOption}/DataListOption.d.ts +15 -4
  67. package/__inner__/esm/components/DataList/components/DataListOption/DataListOption.js +36 -0
  68. package/__inner__/esm/components/DataList/components/DataListOption/index.d.ts +1 -0
  69. package/__inner__/esm/components/DataList/components/DataListOption/index.js +1 -0
  70. package/__inner__/esm/components/DataList/constants.d.ts +1 -0
  71. package/__inner__/esm/components/DataList/constants.js +2 -0
  72. package/__inner__/esm/components/DataList/helpers/index.d.ts +4 -0
  73. package/__inner__/esm/components/DataList/helpers/index.js +4 -0
  74. package/__inner__/esm/components/DataList/helpers/lastSelectedValue.d.ts +1 -0
  75. package/__inner__/esm/components/DataList/helpers/lastSelectedValue.js +4 -0
  76. package/__inner__/esm/components/DataList/helpers/types.d.ts +10 -0
  77. package/__inner__/esm/components/DataList/helpers/types.js +2 -0
  78. package/__inner__/esm/components/DataList/helpers/useDataListNavigation.d.ts +23 -0
  79. package/__inner__/esm/components/DataList/helpers/useDataListNavigation.js +81 -0
  80. package/__inner__/esm/components/DataList/helpers/useScrollContainerToElement.d.ts +3 -0
  81. package/__inner__/esm/components/DataList/helpers/useScrollContainerToElement.js +11 -0
  82. package/__inner__/esm/components/DataList/types.d.ts +3 -4
  83. package/__inner__/esm/components/DataList/types.js +1 -2
  84. package/__inner__/esm/components/FieldControl/FieldControl.js +1 -0
  85. package/__inner__/esm/components/IconButton/IconButton.css +1 -1
  86. package/__inner__/esm/components/Input/Input.js +1 -1
  87. package/__inner__/esm/components/Input/types.d.ts +3 -2
  88. package/__inner__/esm/components/Select/Select.css +33 -128
  89. package/__inner__/esm/components/Select/Select.d.ts +2 -3
  90. package/__inner__/esm/components/Select/Select.js +96 -84
  91. package/__inner__/esm/components/Select/components/SelectConsumer/SelectInputConsumer.d.ts +5 -0
  92. package/__inner__/esm/components/Select/components/SelectConsumer/SelectInputConsumer.js +17 -0
  93. package/__inner__/esm/components/Select/components/SelectConsumer/index.d.ts +1 -0
  94. package/__inner__/esm/components/Select/components/SelectConsumer/index.js +1 -0
  95. package/__inner__/esm/components/Select/components/SelectInput/SelectInput.d.ts +1 -72
  96. package/__inner__/esm/components/Select/components/SelectInput/SelectInput.js +25 -24
  97. package/__inner__/esm/components/Select/components/SelectInput/index.d.ts +1 -0
  98. package/__inner__/esm/components/Select/components/SelectInput/index.js +1 -0
  99. package/__inner__/esm/components/Select/components/SelectInput/types.d.ts +89 -0
  100. package/__inner__/esm/components/Select/components/SelectInput/types.js +1 -0
  101. package/__inner__/esm/components/Select/components/index.d.ts +0 -1
  102. package/__inner__/esm/components/Select/components/index.js +0 -1
  103. package/__inner__/esm/components/Select/constants.d.ts +1 -1
  104. package/__inner__/esm/components/Select/constants.js +1 -1
  105. package/__inner__/esm/components/Select/helpers/index.d.ts +1 -0
  106. package/__inner__/esm/components/Select/helpers/index.js +1 -0
  107. package/__inner__/esm/components/Select/helpers/types.d.ts +8 -0
  108. package/__inner__/esm/components/Select/helpers/types.js +2 -0
  109. package/__inner__/esm/components/Select/index.d.ts +2 -1
  110. package/__inner__/esm/components/Select/index.js +2 -1
  111. package/__inner__/esm/components/Select/types.d.ts +31 -18
  112. package/__inner__/esm/components/Textarea/Textarea.js +1 -1
  113. package/__inner__/esm/components/Textarea/types.d.ts +2 -2
  114. package/__inner__/esm/utils/scrollContainerToElement.d.ts +3 -4
  115. package/package.json +1 -1
  116. package/__inner__/cjs/components/DataList/DataListProvider.d.ts +0 -16
  117. package/__inner__/cjs/components/DataList/DataListProvider.js +0 -11
  118. package/__inner__/cjs/components/DataList/components/DataListOption.js +0 -40
  119. package/__inner__/cjs/components/DataList/useDataListNavigation.d.ts +0 -23
  120. package/__inner__/cjs/components/DataList/useDataListNavigation.js +0 -109
  121. package/__inner__/cjs/components/Select/components/SelectCheckIcon/SelectCheckIcon.css +0 -13
  122. package/__inner__/cjs/components/Select/components/SelectCheckIcon/SelectCheckIcon.js +0 -14
  123. package/__inner__/cjs/components/Select/components/SelectCheckIcon/index.d.ts +0 -1
  124. package/__inner__/esm/components/DataList/DataListProvider.d.ts +0 -16
  125. package/__inner__/esm/components/DataList/DataListProvider.js +0 -7
  126. package/__inner__/esm/components/DataList/components/DataListOption.js +0 -37
  127. package/__inner__/esm/components/DataList/useDataListNavigation.d.ts +0 -23
  128. package/__inner__/esm/components/DataList/useDataListNavigation.js +0 -105
  129. package/__inner__/esm/components/Select/components/SelectCheckIcon/SelectCheckIcon.css +0 -13
  130. package/__inner__/esm/components/Select/components/SelectCheckIcon/SelectCheckIcon.js +0 -9
  131. package/__inner__/esm/components/Select/components/SelectCheckIcon/index.d.ts +0 -1
  132. package/__inner__/esm/components/Select/components/SelectCheckIcon/index.js +0 -1
@@ -1,16 +0,0 @@
1
- import type { SyntheticEvent, MouseEvent } from 'react';
2
- import type React from 'react';
3
- import type { FormElementSizeVariant } from '../../types/FormElementSizeVariant';
4
- export type DataListContextState = {
5
- 'data-list': string;
6
- selected?: string | string[];
7
- focused?: string | null;
8
- highlighted?: string | null;
9
- size: FormElementSizeVariant;
10
- onClick?: (event: React.MouseEvent<HTMLElement>) => void;
11
- onSelect?: (event: SyntheticEvent, option: string) => void;
12
- onMouseMove?: (event: MouseEvent<HTMLElement>) => void;
13
- onMouseLeave?: (event: MouseEvent<HTMLElement>) => void;
14
- };
15
- export declare const DataListContext: React.Context<DataListContextState>;
16
- export declare const useDataListContext: () => DataListContextState;
@@ -1,7 +0,0 @@
1
- import { createContext, useContext } from 'react';
2
- import { DATA_LIST_DEFAULT_SIZE } from './constants';
3
- export var DataListContext = createContext({
4
- 'data-list': '',
5
- size: DATA_LIST_DEFAULT_SIZE,
6
- });
7
- export var useDataListContext = function () { return useContext(DataListContext); };
@@ -1,37 +0,0 @@
1
- import { __assign, __rest } from "tslib";
2
- import React, { forwardRef } from 'react';
3
- import { TickIcon } from '@ozen-ui/icons';
4
- import { getIconSizeToFormElement } from '../../../utils/getIconSizeToFormElement';
5
- import { ListItem, ListItemText, ListItemIcon } from '../../List';
6
- import { DATA_LIST_OPTION_DEFAULT_DISABLED } from '../constants';
7
- import { cnDataList } from '../DataList';
8
- import { useDataListContext } from '../DataListProvider';
9
- export var DataListOption = forwardRef(function (_a, ref) {
10
- var value = _a.value, onMouseMoveProp = _a.onMouseMove, onMouseLeaveProp = _a.onMouseLeave, onClickProp = _a.onClick, _b = _a.disabled, disabled = _b === void 0 ? DATA_LIST_OPTION_DEFAULT_DISABLED : _b, label = _a.children, className = _a.className, other = __rest(_a, ["value", "onMouseMove", "onMouseLeave", "onClick", "disabled", "children", "className"]);
11
- var _c = useDataListContext(), size = _c.size, _d = _c.selected, selected = _d === void 0 ? [] : _d, focused = _c.focused, highlighted = _c.highlighted, onClick = _c.onClick, onMouseMove = _c.onMouseMove, onMouseLeave = _c.onMouseLeave, dataListName = _c["data-list"];
12
- var iconSize = getIconSizeToFormElement(size);
13
- var isSelected = Array.isArray(selected)
14
- ? selected.includes(value)
15
- : selected === value;
16
- var handleClick = function (event) {
17
- onClickProp === null || onClickProp === void 0 ? void 0 : onClickProp(event);
18
- onClick === null || onClick === void 0 ? void 0 : onClick(event);
19
- };
20
- var handleMouseMove = function (event) {
21
- onMouseMoveProp === null || onMouseMoveProp === void 0 ? void 0 : onMouseMoveProp(event);
22
- onMouseMove === null || onMouseMove === void 0 ? void 0 : onMouseMove(event);
23
- };
24
- var handleMouseLeave = function (event) {
25
- onMouseLeave === null || onMouseLeave === void 0 ? void 0 : onMouseLeave(event);
26
- onMouseLeaveProp === null || onMouseLeaveProp === void 0 ? void 0 : onMouseLeaveProp(event);
27
- };
28
- return (React.createElement(ListItem, __assign({ role: "option", "data-list": dataListName, "data-list-value": value, "data-list-disabled": disabled, "aria-selected": isSelected, "aria-disabled": disabled, onClick: handleClick, onMouseMove: handleMouseMove, onMouseLeave: handleMouseLeave, className: cnDataList('Option', {
29
- disabled: disabled,
30
- highlighted: !disabled && highlighted === value,
31
- focused: !disabled && focused === value,
32
- }, [className]) }, other, { ref: ref }), typeof label === 'string' ? (React.createElement(React.Fragment, null,
33
- React.createElement(ListItemText, { className: cnDataList('Text'), primary: label }),
34
- React.createElement("div", { className: cnDataList('IconWrapper', { size: iconSize }) }, isSelected && (React.createElement(ListItemIcon, null,
35
- React.createElement(TickIcon, { size: iconSize })))))) : (label)));
36
- });
37
- DataListOption.displayName = 'DataListOption';
@@ -1,23 +0,0 @@
1
- import type React from 'react';
2
- import type { MouseEvent, RefObject } from 'react';
3
- type UserListItemValue = string | null;
4
- export type UseListNavigationProps = {
5
- name?: string;
6
- ref?: RefObject<HTMLElement>;
7
- selected?: UserListItemValue;
8
- active?: boolean;
9
- onSelect?: (e: React.SyntheticEvent | KeyboardEvent, selectedItem: string) => void;
10
- };
11
- export type UseListNavigationValue = {
12
- 'data-list': string;
13
- focused?: UserListItemValue;
14
- highlighted?: UserListItemValue;
15
- ref?: RefObject<HTMLElement>;
16
- onKeyDown: (event: KeyboardEvent) => void;
17
- onMouseMove: (event: MouseEvent<HTMLElement>) => void;
18
- onMouseLeave: (event: MouseEvent<HTMLElement>) => void;
19
- onClick: (event: React.MouseEvent<HTMLElement>) => void;
20
- };
21
- /** Навигация по элементам списка без перехвата фокуса с элемента контроля */
22
- export declare function useDataListNavigation({ name: nameProp, selected, active, onSelect, }?: UseListNavigationProps): UseListNavigationValue;
23
- export {};
@@ -1,105 +0,0 @@
1
- import { __read } from "tslib";
2
- import { useEffect, useState, useCallback, useRef } from 'react';
3
- import { useUniqueId } from '../../hooks/useUniqueId';
4
- import { getNextIndex } from '../../utils/getNextIndex';
5
- import { getPrevIndex } from '../../utils/getPrevIndex';
6
- import { isKey } from '../../utils/isKey';
7
- import { scrollContainerToElement } from '../../utils/scrollContainerToElement';
8
- var getData = function (el, attr) {
9
- if (!el) {
10
- return null;
11
- }
12
- if ('currentTarget' in el)
13
- return el.currentTarget.getAttribute("data-list-".concat(attr));
14
- return el.getAttribute("data-list-".concat(attr));
15
- };
16
- /** Навигация по элементам списка без перехвата фокуса с элемента контроля */
17
- export function useDataListNavigation(_a) {
18
- var _b = _a === void 0 ? {} : _a, nameProp = _b.name, selected = _b.selected, _c = _b.active, active = _c === void 0 ? false : _c, onSelect = _b.onSelect;
19
- var name = useUniqueId(nameProp);
20
- var ref = useRef(null);
21
- var _d = __read(useState(null), 2), current = _d[0], setCurrent = _d[1];
22
- var _e = __read(useState(), 2), focused = _e[0], serFocused = _e[1];
23
- var _f = __read(useState(), 2), highlighted = _f[0], setHighlighted = _f[1];
24
- var getItems = useCallback(function () {
25
- var _a;
26
- return Array.from(((_a = ref === null || ref === void 0 ? void 0 : ref.current) === null || _a === void 0 ? void 0 : _a.querySelectorAll("[data-list=\"".concat(name, "\"]"))) ||
27
- []).filter(function (item) { return getData(item, 'disabled') !== 'true'; });
28
- }, [name]);
29
- var getCurrentItem = useCallback(function (value) {
30
- return getItems().find(function (item) { return getData(item, 'value') === value; });
31
- }, []);
32
- var getItemsValues = useCallback(function () { return getItems().map(function (item) { return getData(item, 'value'); }); }, []);
33
- var currentValue = current || selected;
34
- useEffect(function () {
35
- if (!active) {
36
- return undefined;
37
- }
38
- var selectedItem = getCurrentItem(currentValue || '');
39
- if (ref === null || ref === void 0 ? void 0 : ref.current) {
40
- scrollContainerToElement({
41
- container: ref.current,
42
- element: selectedItem,
43
- });
44
- setCurrent(getData(selectedItem, 'value') || '');
45
- }
46
- return function () {
47
- setCurrent(null);
48
- serFocused(null);
49
- setHighlighted(null);
50
- };
51
- }, [active]);
52
- var onClick = function (event) {
53
- if (getData(event, 'disabled') === 'true') {
54
- return;
55
- }
56
- var value = getData(event, 'value');
57
- serFocused(null);
58
- setCurrent(value);
59
- onSelect === null || onSelect === void 0 ? void 0 : onSelect(event, value || '');
60
- };
61
- var onKeyDown = function (event) {
62
- if (isKey(event, 'Enter')) {
63
- event.preventDefault();
64
- var test_1 = currentValue || getItemsValues()[0] || '';
65
- serFocused(test_1);
66
- onSelect === null || onSelect === void 0 ? void 0 : onSelect(event, test_1);
67
- }
68
- if (!isKey(event, 'ArrowUp') && !isKey(event, 'ArrowDown')) {
69
- return;
70
- }
71
- event.preventDefault();
72
- var values = getItemsValues();
73
- var currentIndex = currentValue ? values.indexOf(currentValue) : null;
74
- var isArrowUp = isKey(event, 'ArrowUp');
75
- var newIndex = isArrowUp
76
- ? getPrevIndex(currentIndex !== null && currentIndex !== void 0 ? currentIndex : 0, values.length)
77
- : getNextIndex(currentIndex !== null && currentIndex !== void 0 ? currentIndex : -1, values.length);
78
- var newValue = values[newIndex] || '';
79
- setCurrent(newValue);
80
- serFocused(newValue);
81
- if (ref === null || ref === void 0 ? void 0 : ref.current) {
82
- scrollContainerToElement({
83
- container: ref.current,
84
- element: getCurrentItem(newValue || ''),
85
- });
86
- }
87
- };
88
- var onMouseMove = function (event) {
89
- if (getData(event, 'disabled') !== 'true')
90
- setHighlighted(getData(event, 'value'));
91
- };
92
- var onMouseLeave = function () {
93
- setHighlighted(null);
94
- };
95
- return {
96
- 'data-list': name,
97
- ref: ref,
98
- focused: focused,
99
- highlighted: highlighted,
100
- onClick: onClick,
101
- onKeyDown: onKeyDown,
102
- onMouseMove: onMouseMove,
103
- onMouseLeave: onMouseLeave,
104
- };
105
- }
@@ -1,13 +0,0 @@
1
- .SelectCheckIcon {
2
- inline-size: var(--select-check-icon-size);
3
- block-size: var(--select-check-icon-size);
4
- display: flex;
5
- }
6
-
7
- .SelectCheckIcon_size_s {
8
- --select-check-icon-size: 16px;
9
- }
10
-
11
- .SelectCheckIcon_size_m {
12
- --select-check-icon-size: 24px;
13
- }
@@ -1,9 +0,0 @@
1
- import './SelectCheckIcon.css';
2
- import React from 'react';
3
- import { TickIcon } from '@ozen-ui/icons';
4
- import { cn } from '../../../../utils/classname';
5
- var cnSelectCheckIcon = cn('SelectCheckIcon');
6
- export var SelectCheckIcon = function (_a) {
7
- var size = _a.size, selected = _a.selected;
8
- return (React.createElement("div", { className: cnSelectCheckIcon({ size: size }) }, selected && React.createElement(TickIcon, { size: size })));
9
- };
@@ -1 +0,0 @@
1
- export * from './SelectCheckIcon';
@@ -1 +0,0 @@
1
- export * from './SelectCheckIcon';