@dreamcommerce/aurora 3.0.0-254 → 3.0.0-255

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 (43) hide show
  1. package/build/cjs/external/fast-equals/dist/esm/index.mjs.js +619 -0
  2. package/build/cjs/external/fast-equals/dist/esm/index.mjs.js.map +1 -0
  3. package/build/cjs/packages/aurora/src/components/controls/select_control/select_control.js +3 -3
  4. package/build/cjs/packages/aurora/src/components/select/components/select_content.js +33 -43
  5. package/build/cjs/packages/aurora/src/components/select/components/select_content.js.map +1 -1
  6. package/build/cjs/packages/aurora/src/components/select/components/select_group_label.js +3 -3
  7. package/build/cjs/packages/aurora/src/components/select/components/select_item.js +5 -7
  8. package/build/cjs/packages/aurora/src/components/select/components/select_item.js.map +1 -1
  9. package/build/cjs/packages/aurora/src/components/select/components/select_search.js +61 -0
  10. package/build/cjs/packages/aurora/src/components/select/components/select_search.js.map +1 -0
  11. package/build/cjs/packages/aurora/src/components/select/components/select_trigger.js +1 -1
  12. package/build/cjs/packages/aurora/src/components/select/select.js +43 -76
  13. package/build/cjs/packages/aurora/src/components/select/select.js.map +1 -1
  14. package/build/cjs/packages/aurora/src/components/select/select_utils.js +33 -0
  15. package/build/cjs/packages/aurora/src/components/select/select_utils.js.map +1 -0
  16. package/build/esm/external/fast-equals/dist/esm/index.mjs.js +606 -0
  17. package/build/esm/external/fast-equals/dist/esm/index.mjs.js.map +1 -0
  18. package/build/esm/packages/aurora/src/components/controls/select_control/select_control.js +3 -3
  19. package/build/esm/packages/aurora/src/components/select/components/select_content.js +37 -47
  20. package/build/esm/packages/aurora/src/components/select/components/select_content.js.map +1 -1
  21. package/build/esm/packages/aurora/src/components/select/components/select_group_label.d.ts +2 -2
  22. package/build/esm/packages/aurora/src/components/select/components/select_group_label.js +3 -3
  23. package/build/esm/packages/aurora/src/components/select/components/select_item.js +6 -8
  24. package/build/esm/packages/aurora/src/components/select/components/select_item.js.map +1 -1
  25. package/build/esm/packages/aurora/src/components/select/components/select_search.d.ts +3 -0
  26. package/build/esm/packages/aurora/src/components/select/components/select_search.js +53 -0
  27. package/build/esm/packages/aurora/src/components/select/components/select_search.js.map +1 -0
  28. package/build/esm/packages/aurora/src/components/select/components/select_trigger.js +1 -1
  29. package/build/esm/packages/aurora/src/components/select/select.d.ts +1 -1
  30. package/build/esm/packages/aurora/src/components/select/select.js +44 -77
  31. package/build/esm/packages/aurora/src/components/select/select.js.map +1 -1
  32. package/build/esm/packages/aurora/src/components/select/select_types.d.ts +14 -7
  33. package/build/esm/packages/aurora/src/components/select/select_types.js +1 -0
  34. package/build/esm/packages/aurora/src/components/select/select_types.js.map +1 -1
  35. package/build/esm/packages/aurora/src/components/select/select_utils.d.ts +5 -0
  36. package/build/esm/packages/aurora/src/components/select/select_utils.js +29 -0
  37. package/build/{cjs/packages/aurora/src/components/select/components/select_value.js.map → esm/packages/aurora/src/components/select/select_utils.js.map} +1 -1
  38. package/build/index.css +1 -1
  39. package/package.json +2 -1
  40. package/build/cjs/packages/aurora/src/components/select/components/select_value.js +0 -10
  41. package/build/esm/packages/aurora/src/components/select/components/select_value.d.ts +0 -3
  42. package/build/esm/packages/aurora/src/components/select/components/select_value.js +0 -6
  43. package/build/esm/packages/aurora/src/components/select/components/select_value.js.map +0 -1
@@ -5,93 +5,83 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var React = require('react');
6
6
  var _rollupPluginBabelHelpers = require('../../../../../../_virtual/_rollupPluginBabelHelpers.js');
7
7
  var cn = require('../../../utilities/cn.js');
8
- var input = require('../../input/input.js');
9
8
  var SelectPrimitive = require('@radix-ui/react-select');
10
9
  var index = require('../../../../../../external/@radix-ui/react-scroll-area/dist/index.mjs.js');
11
- var search_icon = require('../../../assets/icons/search_icon.js');
12
10
  var select_group_label = require('./select_group_label.js');
13
11
  var select_item = require('./select_item.js');
12
+ var select_search = require('./select_search.js');
13
+ var select_utils = require('../select_utils.js');
14
14
 
15
15
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
16
16
 
17
17
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
18
18
 
19
- var _excluded = ["className", "options", "selectedValue", "hasSearch", "searchPlaceholder", "filterTerm", "setFilterTerm", "innerAdditionalContent", "triggerWidth", "position", "onScroll"];
19
+ var _excluded = ["className", "options", "hasSearch", "searchPlaceholder", "search", "onSearch", "innerAdditionalContent", "position", "onScroll", "enableLocalSearch", "localSearchNotFoundContent"];
20
20
  var SelectContent = /*#__PURE__*/React__default['default'].forwardRef(function (_ref, ref) {
21
21
  var className = _ref.className,
22
22
  options = _ref.options,
23
- selectedValue = _ref.selectedValue,
24
23
  hasSearch = _ref.hasSearch,
25
24
  searchPlaceholder = _ref.searchPlaceholder,
26
- filterTerm = _ref.filterTerm,
27
- setFilterTerm = _ref.setFilterTerm,
25
+ search = _ref.search,
26
+ onSearch = _ref.onSearch,
28
27
  innerAdditionalContent = _ref.innerAdditionalContent,
29
- triggerWidth = _ref.triggerWidth,
30
28
  _ref$position = _ref.position,
31
29
  position = _ref$position === void 0 ? 'popper' : _ref$position,
32
30
  onScroll = _ref.onScroll,
31
+ enableLocalSearch = _ref.enableLocalSearch,
32
+ localSearchNotFoundContent = _ref.localSearchNotFoundContent,
33
33
  props = _rollupPluginBabelHelpers.objectWithoutProperties(_ref, _excluded);
34
- var inputRef = React.useRef(null);
35
- var _useState = React.useState(false),
36
- _useState2 = _rollupPluginBabelHelpers.slicedToArray(_useState, 2),
37
- isHovered = _useState2[0],
38
- setIsHovered = _useState2[1];
34
+ var localSearchVisibleItems = 0;
39
35
  return /*#__PURE__*/React__default['default'].createElement(SelectPrimitive.Portal, null, /*#__PURE__*/React__default['default'].createElement(SelectPrimitive.Content, _rollupPluginBabelHelpers.objectSpread2({
40
36
  ref: ref,
41
- style: {
42
- width: triggerWidth ? "".concat(triggerWidth, "px") : 'auto'
43
- },
44
- className: cn.cn('aurora-relative aurora-z-[1000] aurora-max-h-96 aurora-min-w-[fit-content] aurora-overflow-y-hidden aurora-rounded-8 aurora-border aurora-bg-neutral-0 aurora-text-s aurora-shadow-m data-[state=open]:aurora-animate-in data-[state=closed]:aurora-animate-out data-[state=closed]:aurora-fade-out-0 data-[state=open]:aurora-fade-in-0 data-[state=closed]:aurora-zoom-out-95 data-[state=open]:aurora-zoom-in-95 data-[side=bottom]:aurora-slide-in-from-top-2 data-[side=left]:aurora-slide-in-from-right-2 data-[side=right]:aurora-slide-in-from-left-2 data-[side=top]:aurora-slide-in-from-bottom-2 aurora-p-1 js__aurora-select-dropdown', position === 'popper' && 'data-[side=bottom]:aurora-translate-y-1 data-[side=left]:-aurora-translate-x-1 data-[side=right]:aurora-translate-x-1 data-[side=top]:-aurora-translate-y-1', className),
45
- position: position,
46
- onMouseEnter: function onMouseEnter() {
47
- return setIsHovered(true);
48
- },
49
- onMouseLeave: function onMouseLeave() {
50
- return setIsHovered(false);
51
- }
37
+ className: cn.cn('aurora-w-[--radix-select-trigger-width] aurora-relative aurora-z-[1000] aurora-max-h-96 aurora-min-w-[fit-content] aurora-overflow-y-hidden aurora-rounded-8 aurora-border aurora-bg-neutral-0 aurora-text-s aurora-shadow-m data-[state=open]:aurora-animate-in data-[state=closed]:aurora-animate-out data-[state=closed]:aurora-fade-out-0 data-[state=open]:aurora-fade-in-0 data-[state=closed]:aurora-zoom-out-95 data-[state=open]:aurora-zoom-in-95 data-[side=bottom]:aurora-slide-in-from-top-2 data-[side=left]:aurora-slide-in-from-right-2 data-[side=right]:aurora-slide-in-from-left-2 data-[side=top]:aurora-slide-in-from-bottom-2 aurora-p-1 js__aurora-select-dropdown aurora-group', position === 'popper' && 'data-[side=bottom]:aurora-translate-y-1 data-[side=left]:-aurora-translate-x-1 data-[side=right]:aurora-translate-x-1 data-[side=top]:-aurora-translate-y-1', className),
38
+ position: position
52
39
  }, props), /*#__PURE__*/React__default['default'].createElement(index.Root, {
53
40
  type: "auto",
54
41
  className: "aurora-w-full aurora-max-h-60 relative"
55
- }, /*#__PURE__*/React__default['default'].createElement(SelectPrimitive.Viewport, {
56
- asChild: true
57
42
  }, /*#__PURE__*/React__default['default'].createElement(index.Viewport, {
58
43
  className: cn.cn('aurora-p-1 aurora-max-h-60 aurora-w-full'),
59
44
  onScroll: onScroll
60
45
  }, hasSearch && (/*#__PURE__*/React__default['default'].createElement("div", {
61
46
  className: "aurora-p-2"
62
- }, /*#__PURE__*/React__default['default'].createElement(input.Input, {
63
- type: "text",
64
- preElement: /*#__PURE__*/React__default['default'].createElement(search_icon.SearchLineIcon, {
65
- className: "aurora-h-4 aurora-w-4 aurora-text-inverse-subtle-light"
66
- }),
67
- value: filterTerm,
68
- tabIndex: 0,
47
+ }, /*#__PURE__*/React__default['default'].createElement(select_search.SelectSearch, {
48
+ value: search,
69
49
  onChange: function onChange(e) {
70
50
  e.stopPropagation();
71
- setFilterTerm === null || setFilterTerm === void 0 ? void 0 : setFilterTerm(e.target.value);
51
+ onSearch === null || onSearch === void 0 ? void 0 : onSearch(e.target.value);
72
52
  },
73
53
  onKeyDown: function onKeyDown(e) {
74
54
  e.stopPropagation();
75
55
  },
76
56
  placeholder: searchPlaceholder,
77
- ref: inputRef
78
- }))), options === null || options === void 0 ? void 0 : options.map(function (option, index) {
79
- var isSelected = selectedValue ? option.value === selectedValue : false;
57
+ options: options
58
+ }))), /*#__PURE__*/React__default['default'].createElement(SelectPrimitive.Viewport, null, options === null || options === void 0 ? void 0 : options.map(function (option, index) {
59
+ var visible = true;
60
+ if (enableLocalSearch && hasSearch && search && !option.isHeader) {
61
+ visible = select_utils.SelectUtils.localSearchIsOptionVisible(option, search);
62
+ if (visible) localSearchVisibleItems++;
63
+ }
64
+ if (enableLocalSearch && hasSearch && search && option.isHeader) {
65
+ visible = select_utils.SelectUtils.localSearchIsHeaderVisible(search, options, index);
66
+ }
80
67
  return option.isHeader ? (/*#__PURE__*/React__default['default'].createElement(select_group_label.SelectGroupLabel, {
81
- key: "select-label-".concat(option.text, "-").concat(index)
68
+ key: "select-label-".concat(option.text, "-").concat(index),
69
+ className: cn.cn(!visible && 'aurora-hidden')
82
70
  }, option.text)) : (/*#__PURE__*/React__default['default'].createElement(select_item.SelectItem, {
83
71
  key: "select-item-".concat(option.value, "-").concat(index),
84
- value: "".concat(option.value, "-").concat(index),
85
- isSelected: isSelected,
72
+ value: option.value,
86
73
  isDisabled: option.isDisabled,
87
74
  isReadonly: option.isReadonly,
88
- additionalInfo: option.additionalInfo
75
+ additionalInfo: option.additionalInfo,
76
+ className: cn.cn(!visible && 'aurora-hidden')
89
77
  }, option.text));
90
- }), innerAdditionalContent && /*#__PURE__*/React__default['default'].createElement("div", {
78
+ })), enableLocalSearch && !!localSearchNotFoundContent && !!search && !localSearchVisibleItems && (/*#__PURE__*/React__default['default'].createElement("div", {
79
+ className: "aurora-p-2"
80
+ }, localSearchNotFoundContent)), innerAdditionalContent && /*#__PURE__*/React__default['default'].createElement("div", {
91
81
  className: "aurora-p-2"
92
- }, innerAdditionalContent))), /*#__PURE__*/React__default['default'].createElement(index.Scrollbar, {
82
+ }, innerAdditionalContent)), /*#__PURE__*/React__default['default'].createElement(index.Scrollbar, {
93
83
  orientation: "vertical",
94
- className: cn.cn('aurora-w-2 aurora-absolute aurora-right-0 aurora-top-0 aurora-bottom-0 aurora-py-1 aurora-pr-[2px] aurora-transition-opacity aurora-duration-200', _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty({}, 'aurora-pt-16', hasSearch), 'aurora-opacity-75', isHovered), 'aurora-opacity-0', !isHovered))
84
+ className: cn.cn('aurora-w-2 aurora-absolute aurora-right-0 aurora-top-0 aurora-bottom-0 aurora-py-1 aurora-pr-[2px] aurora-transition-opacity aurora-duration-200 aurora-opacity-0 group-hover:aurora-opacity-75', _rollupPluginBabelHelpers.defineProperty({}, 'aurora-pt-16', hasSearch))
95
85
  }, /*#__PURE__*/React__default['default'].createElement(index.Thumb, {
96
86
  className: "aurora-bg-neutral-700 aurora-rounded-full"
97
87
  })))));
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,0EAA8E;AAClG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,0EAA8E;AAClG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -17,14 +17,14 @@ var _excluded = ["children"];
17
17
  var SelectGroupLabel = function SelectGroupLabel(_ref) {
18
18
  var children = _ref.children,
19
19
  props = _rollupPluginBabelHelpers.objectWithoutProperties(_ref, _excluded);
20
- return /*#__PURE__*/React__default['default'].createElement(box.Box, {
20
+ return /*#__PURE__*/React__default['default'].createElement(box.Box, _rollupPluginBabelHelpers.objectSpread2({
21
21
  paddings: {
22
22
  pl: '2',
23
23
  pt: '2',
24
24
  pb: '2',
25
25
  pr: '0'
26
26
  }
27
- }, /*#__PURE__*/React__default['default'].createElement(stack.Stack, {
27
+ }, props), /*#__PURE__*/React__default['default'].createElement(stack.Stack, {
28
28
  align: "center",
29
29
  spacing: "2.5"
30
30
  }, /*#__PURE__*/React__default['default'].createElement(typography.Typography, {
@@ -32,7 +32,7 @@ var SelectGroupLabel = function SelectGroupLabel(_ref) {
32
32
  size: "s",
33
33
  color: "subtle",
34
34
  weight: "bold"
35
- }, children), /*#__PURE__*/React__default['default'].createElement(divider.Divider, _rollupPluginBabelHelpers.objectSpread2({}, props))));
35
+ }, children), /*#__PURE__*/React__default['default'].createElement(divider.Divider, null)));
36
36
  };
37
37
  SelectGroupLabel.displayName = 'SelectGroupLabel';
38
38
 
@@ -12,26 +12,24 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
12
12
 
13
13
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
14
14
 
15
- var _excluded = ["children", "className", "isDisabled", "isReadonly", "isSelected", "additionalInfo"];
15
+ var _excluded = ["children", "className", "isDisabled", "isReadonly", "additionalInfo"];
16
16
  var SelectItem = /*#__PURE__*/React__default['default'].forwardRef(function (_ref, ref) {
17
17
  var children = _ref.children,
18
18
  className = _ref.className,
19
19
  isDisabled = _ref.isDisabled,
20
20
  isReadonly = _ref.isReadonly,
21
- isSelected = _ref.isSelected,
22
21
  additionalInfo = _ref.additionalInfo,
23
22
  props = _rollupPluginBabelHelpers.objectWithoutProperties(_ref, _excluded);
24
23
  return /*#__PURE__*/React__default['default'].createElement(SelectPrimitive.Item, _rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({
25
- className: cn.cn('aurora-relative aurora-flex aurora-w-full aurora-rounded-6 aurora-cursor-default aurora-select-none aurora-items-center aurora-rounded-sm aurora-py-1.5 aurora-pl-9 aurora-pr-8 aurora-text-sm aurora-outline-none active:aurora-bg-active focus:aurora-bg-accent focus:aurora-text-accent-foreground data-[disabled]:aurora-pointer-events-none data-[disabled]:aurora-opacity-50 hover:aurora-bg-hover', {
26
- 'aurora-cursor-pointer active:aurora-bg-active': !isDisabled && !isReadonly,
27
- 'aurora-bg-hover aurora-font-semibold': isSelected
24
+ className: cn.cn('aurora-relative aurora-flex aurora-w-full aurora-rounded-6 aurora-cursor-default aurora-select-none aurora-items-center aurora-rounded-sm aurora-py-1.5 aurora-pl-9 aurora-pr-8 aurora-text-sm aurora-outline-none active:aurora-bg-active focus:aurora-bg-hover focus:aurora-text-accent-foreground data-[disabled]:aurora-pointer-events-none data-[disabled]:aurora-opacity-50 hover:aurora-bg-hover data-[state=checked]:aurora-bg-hover data-[state=checked]:aurora-font-semibold', {
25
+ 'aurora-cursor-pointer active:aurora-bg-active': !isDisabled && !isReadonly
28
26
  }, className),
29
27
  disabled: isDisabled || isReadonly
30
28
  }, props), {}, {
31
29
  ref: ref
32
- }), isSelected && /*#__PURE__*/React__default['default'].createElement(check_icon.CheckLineIcon, {
30
+ }), /*#__PURE__*/React__default['default'].createElement(SelectPrimitive.ItemIndicator, null, /*#__PURE__*/React__default['default'].createElement(check_icon.CheckLineIcon, {
33
31
  className: "aurora-h-5 aurora-w-5 -aurora-ml-7 aurora-mr-2"
34
- }), /*#__PURE__*/React__default['default'].createElement("div", {
32
+ })), /*#__PURE__*/React__default['default'].createElement("div", {
35
33
  className: "aurora-flex aurora-flex-col"
36
34
  }, /*#__PURE__*/React__default['default'].createElement(SelectPrimitive.ItemText, null, children), !!additionalInfo && /*#__PURE__*/React__default['default'].createElement("p", {
37
35
  className: "aurora-text-xs aurora-text-subtle-light"
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -0,0 +1,61 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var React = require('react');
6
+ var _rollupPluginBabelHelpers = require('../../../../../../_virtual/_rollupPluginBabelHelpers.js');
7
+ var input = require('../../input/input.js');
8
+ var search_icon = require('../../../assets/icons/search_icon.js');
9
+ var index = require('../../../../../../external/fast-equals/dist/esm/index.mjs.js');
10
+
11
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
12
+
13
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
14
+
15
+ var _excluded = ["options"];
16
+ var BLUR_GUARD_TIMEOUT = 100;
17
+ var SelectSearch = function SelectSearch(_ref) {
18
+ var options = _ref.options,
19
+ props = _rollupPluginBabelHelpers.objectWithoutProperties(_ref, _excluded);
20
+ var inputRef = React.useRef(null);
21
+ // SHOPSVE-1360 (bardzo slaby hack)
22
+ // Radix w momencie usuniecia z dom aktualnie wybranego itemu przenosi focus na body
23
+ var blurGuardRef = React.useRef(false);
24
+ var handleBlur = function handleBlur() {
25
+ var _inputRef$current;
26
+ if (!blurGuardRef.current) return;
27
+ (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.focus();
28
+ };
29
+ var optionsRef = React.useRef();
30
+ var timeoutRef = React.useRef();
31
+ // Uzycie useLayoutEffect ze wzgledu na to ze itemy na liscie moga sie zmienic po dluzszym czasie po wpisaniu w search
32
+ // np. moga byc wczytane z serwera
33
+ // Wiec nie mozemy sie podpiac pod onKeyDown i wtedy ustawiac timeout
34
+ React.useLayoutEffect(function () {
35
+ if (optionsRef.current === undefined) {
36
+ optionsRef.current = options;
37
+ return;
38
+ }
39
+ if (!index.deepEqual(optionsRef.current, options)) {
40
+ optionsRef.current = options;
41
+ blurGuardRef.current = true;
42
+ timeoutRef.current = setTimeout(function () {
43
+ blurGuardRef.current = false;
44
+ }, BLUR_GUARD_TIMEOUT);
45
+ }
46
+ return function () {
47
+ return timeoutRef.current && clearTimeout(timeoutRef.current);
48
+ };
49
+ }, [options]);
50
+ return /*#__PURE__*/React__default['default'].createElement(input.Input, _rollupPluginBabelHelpers.objectSpread2({
51
+ ref: inputRef,
52
+ type: "text",
53
+ preElement: /*#__PURE__*/React__default['default'].createElement(search_icon.SearchLineIcon, {
54
+ className: "aurora-h-4 aurora-w-4 aurora-text-inverse-subtle-light"
55
+ }),
56
+ onBlur: handleBlur
57
+ }, props));
58
+ };
59
+
60
+ exports.SelectSearch = SelectSearch;
61
+ //# sourceMappingURL=select_search.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,8DAAkE;AACtF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -20,7 +20,7 @@ var SelectTrigger = /*#__PURE__*/React__default['default'].forwardRef(function (
20
20
  props = _rollupPluginBabelHelpers.objectWithoutProperties(_ref, _excluded);
21
21
  return /*#__PURE__*/React__default['default'].createElement(SelectPrimitive.Trigger, _rollupPluginBabelHelpers.objectSpread2({
22
22
  ref: ref,
23
- className: cn.cn('aurora-flex aurora-h-10 aurora-w-full aurora-items-center aurora-justify-between aurora-rounded-8 aurora-border aurora-border-input aurora-bg-neutral-0 aurora-px-3 aurora-py-2 aurora-text-s hover:aurora-border-strong focus:focus disabled:aurora-cursor-not-allowed disabled:aurora-bg-subtle disabled:aurora-text-subtle-light disabled:aurora-border-subtle [&>span]:aurora-line-clamp-1 focus:aurora-border-active focus:aurora-border-2 active:aurora-border-active active:aurora-border-2', {
23
+ className: cn.cn('aurora-flex aurora-h-10 aurora-w-full aurora-items-center aurora-justify-between aurora-rounded-8 aurora-border aurora-border-input aurora-bg-neutral-0 aurora-px-3 aurora-py-2 aurora-text-s hover:aurora-border-strong focus-visible:focus disabled:aurora-cursor-not-allowed disabled:aurora-bg-subtle disabled:aurora-text-subtle-light disabled:aurora-border-subtle [&>span]:aurora-line-clamp-1 focus:aurora-border-active focus:aurora-border-2 active:aurora-border-active active:aurora-border-2', {
24
24
  '!aurora-border-danger aurora-border-2': hasError
25
25
  }, className)
26
26
  }, props), children, /*#__PURE__*/React__default['default'].createElement(SelectPrimitive.Icon, {
@@ -4,21 +4,21 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
6
  var _rollupPluginBabelHelpers = require('../../../../../_virtual/_rollupPluginBabelHelpers.js');
7
+ var cn = require('../../utilities/cn.js');
7
8
  var SelectPrimitive = require('@radix-ui/react-select');
8
9
  var close_circle_fill_icon = require('../../assets/icons/close_circle_fill_icon.js');
9
10
  var select_content = require('./components/select_content.js');
10
11
  var select_trigger = require('./components/select_trigger.js');
11
- var select_value = require('./components/select_value.js');
12
12
 
13
13
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
14
14
 
15
15
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
16
16
 
17
- var _excluded = ["children", "id", "defaultValue", "options", "disabled", "placeholder", "hasSearch", "searchPlaceholder", "hasClearValueButton", "innerAdditionalContent", "errors", "onValueChange", "onScroll"];
17
+ var _excluded = ["children", "id", "value", "options", "disabled", "placeholder", "hasSearch", "searchPlaceholder", "hasClearValueButton", "innerAdditionalContent", "enableLocalSearch", "localSearchNotFoundContent", "errors", "onValueChange", "onScroll", "onSearch", "onClose"];
18
18
  var Select = function Select(_ref) {
19
19
  var children = _ref.children,
20
20
  id = _ref.id,
21
- defaultValue = _ref.defaultValue,
21
+ value = _ref.value,
22
22
  options = _ref.options,
23
23
  disabled = _ref.disabled,
24
24
  placeholder = _ref.placeholder,
@@ -26,105 +26,72 @@ var Select = function Select(_ref) {
26
26
  searchPlaceholder = _ref.searchPlaceholder,
27
27
  hasClearValueButton = _ref.hasClearValueButton,
28
28
  innerAdditionalContent = _ref.innerAdditionalContent,
29
+ enableLocalSearch = _ref.enableLocalSearch,
30
+ localSearchNotFoundContent = _ref.localSearchNotFoundContent,
29
31
  errors = _ref.errors,
30
32
  onValueChange = _ref.onValueChange,
31
33
  onScroll = _ref.onScroll,
34
+ onSearch = _ref.onSearch,
35
+ onClose = _ref.onClose,
32
36
  props = _rollupPluginBabelHelpers.objectWithoutProperties(_ref, _excluded);
33
- var _useState = React.useState(''),
37
+ // Przechowanie aktualnie wybranej opcji w razie jakby przy wyszukiwaniu aktualna opcja zniknela z listy options
38
+ var _useState = React.useState(value ? options.find(function (opt) {
39
+ return opt.value === value;
40
+ }) : undefined),
34
41
  _useState2 = _rollupPluginBabelHelpers.slicedToArray(_useState, 2),
35
- filterTerm = _useState2[0],
36
- setFilterTerm = _useState2[1];
37
- var _useState3 = React.useState(defaultValue),
42
+ selectedOption = _useState2[0],
43
+ setSelectedOption = _useState2[1];
44
+ var _useState3 = React.useState(''),
38
45
  _useState4 = _rollupPluginBabelHelpers.slicedToArray(_useState3, 2),
39
- selectedValue = _useState4[0],
40
- setSelectedValue = _useState4[1];
41
- var triggerRef = React.useRef(null);
42
- var _useState5 = React.useState(null),
43
- _useState6 = _rollupPluginBabelHelpers.slicedToArray(_useState5, 2),
44
- triggerWidth = _useState6[0],
45
- setTriggerWidth = _useState6[1];
46
- var _useState7 = React.useState(false),
47
- _useState8 = _rollupPluginBabelHelpers.slicedToArray(_useState7, 2),
48
- open = _useState8[0],
49
- setOpen = _useState8[1];
50
- var _useState9 = React.useState(false),
51
- _useState10 = _rollupPluginBabelHelpers.slicedToArray(_useState9, 2),
52
- renderContent = _useState10[0],
53
- setRenderContent = _useState10[1];
54
- var clearFilterInputOnClose = function clearFilterInputOnClose(openState) {
55
- if (hasSearch && !openState) setFilterTerm('');
46
+ search = _useState4[0],
47
+ setSearch = _useState4[1];
48
+ var handleSearch = function handleSearch(str) {
49
+ setSearch(str);
50
+ onSearch === null || onSearch === void 0 ? void 0 : onSearch(str);
56
51
  };
57
- var filteredOptions = React__default['default'].useMemo(function () {
58
- if (!hasSearch || !filterTerm) return options;
59
- return options.filter(function (opt) {
60
- return opt.text.toLowerCase().includes(filterTerm.toLowerCase()) || opt.isHeader;
52
+ var handleChange = function handleChange(val) {
53
+ var _option$value;
54
+ var option = options.find(function (opt) {
55
+ return opt.value === val;
61
56
  });
62
- }, [filterTerm, options]);
63
- React.useEffect(function () {
64
- onValueChange === null || onValueChange === void 0 ? void 0 : onValueChange(selectedValue !== null && selectedValue !== void 0 ? selectedValue : '');
65
- }, [selectedValue]);
66
- var getSelectedLabel = function getSelectedLabel(options, selectedValue) {
67
- var _options$find;
68
- return ((_options$find = options.find(function (opt) {
69
- return opt.value === selectedValue;
70
- })) === null || _options$find === void 0 ? void 0 : _options$find.text) || '';
57
+ setSelectedOption(option);
58
+ onValueChange === null || onValueChange === void 0 ? void 0 : onValueChange((_option$value = option === null || option === void 0 ? void 0 : option.value) !== null && _option$value !== void 0 ? _option$value : '');
71
59
  };
72
- var handleChange = function handleChange(sufixedValue) {
73
- var cleanValue = sufixedValue.split('-')[0];
74
- setSelectedValue(cleanValue);
60
+ var handleOpenChange = function handleOpenChange(open) {
61
+ if (hasSearch && !open) setSearch('');
62
+ if (onClose && !open) onClose();
75
63
  };
76
- React.useEffect(function () {
77
- if (!open) {
78
- setRenderContent(false);
79
- return;
80
- }
81
- var timer = setTimeout(function () {
82
- return setRenderContent(true);
83
- }, 10);
84
- return function () {
85
- return clearTimeout(timer);
86
- };
87
- }, [open]);
88
- React.useEffect(function () {
89
- if (renderContent && triggerRef.current) {
90
- var rect = triggerRef.current.getBoundingClientRect();
91
- setTriggerWidth(rect.width);
92
- }
93
- }, [renderContent]);
64
+ var showPlaceholder = !selectedOption;
94
65
  return /*#__PURE__*/React__default['default'].createElement(SelectPrimitive.Root, _rollupPluginBabelHelpers.objectSpread2({
95
- defaultValue: defaultValue,
66
+ value: selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.value,
96
67
  onValueChange: handleChange,
97
68
  disabled: disabled,
98
- onOpenChange: function onOpenChange(openState) {
99
- setOpen(openState);
100
- clearFilterInputOnClose(openState);
101
- }
69
+ onOpenChange: handleOpenChange
102
70
  }, props), /*#__PURE__*/React__default['default'].createElement("div", {
103
71
  className: "aurora-relative aurora-flex aurora-items-center aurora-flex-col"
104
72
  }, /*#__PURE__*/React__default['default'].createElement(select_trigger.SelectTrigger, {
105
- ref: triggerRef,
106
73
  id: id,
107
74
  hasError: !!(errors !== null && errors !== void 0 && errors.length)
108
- }, /*#__PURE__*/React__default['default'].createElement(select_value.SelectValue, {
109
- placeholder: placeholder
110
- }, selectedValue ? getSelectedLabel(options, selectedValue) : placeholder !== null && placeholder !== void 0 ? placeholder : '')), selectedValue && hasClearValueButton && (/*#__PURE__*/React__default['default'].createElement("div", {
75
+ }, /*#__PURE__*/React__default['default'].createElement("span", {
76
+ className: cn.cn('aurora-pointer-events-none', showPlaceholder && 'aurora-text-subtle')
77
+ }, !showPlaceholder ? selectedOption.text : placeholder)), value && hasClearValueButton && onValueChange && (/*#__PURE__*/React__default['default'].createElement("div", {
111
78
  className: "aurora-absolute aurora-top-3 aurora-right-8 aurora-z-10",
112
79
  onClick: function onClick() {
113
- return setSelectedValue('');
80
+ return handleChange('');
114
81
  }
115
82
  }, /*#__PURE__*/React__default['default'].createElement(close_circle_fill_icon.CloseCircleFillIcon, {
116
83
  className: "aurora-h-4 aurora-w-4 aurora-cursor-pointer"
117
- })))), renderContent && (/*#__PURE__*/React__default['default'].createElement(select_content.SelectContent, {
118
- options: filteredOptions,
119
- selectedValue: selectedValue,
84
+ })))), /*#__PURE__*/React__default['default'].createElement(select_content.SelectContent, {
85
+ options: options,
120
86
  hasSearch: hasSearch,
121
87
  searchPlaceholder: searchPlaceholder,
122
88
  innerAdditionalContent: innerAdditionalContent,
123
- filterTerm: filterTerm,
124
- setFilterTerm: setFilterTerm,
125
- triggerWidth: triggerWidth,
126
- onScroll: onScroll
127
- })));
89
+ search: search,
90
+ onSearch: handleSearch,
91
+ onScroll: onScroll,
92
+ enableLocalSearch: enableLocalSearch,
93
+ localSearchNotFoundContent: localSearchNotFoundContent
94
+ }));
128
95
  };
129
96
  Select.displayName = SelectPrimitive.Root.displayName;
130
97
 
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -0,0 +1,33 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var _rollupPluginBabelHelpers = require('../../../../../_virtual/_rollupPluginBabelHelpers.js');
6
+
7
+ var _SelectUtils;
8
+ var SelectUtils = /*#__PURE__*/_rollupPluginBabelHelpers.createClass(function SelectUtils() {
9
+ _rollupPluginBabelHelpers.classCallCheck(this, SelectUtils);
10
+ });
11
+ _SelectUtils = SelectUtils;
12
+ _rollupPluginBabelHelpers.defineProperty(SelectUtils, "localSearchIsOptionVisible", function (option, search) {
13
+ return option.text.toLocaleLowerCase().includes(search.toLocaleLowerCase());
14
+ });
15
+ _rollupPluginBabelHelpers.defineProperty(SelectUtils, "localSearchIsHeaderVisible", function (search, options, index) {
16
+ var visible = false;
17
+ var i = index + 1;
18
+ while (options[i]) {
19
+ var curr = options[i];
20
+ if (curr.isHeader) {
21
+ break;
22
+ }
23
+ if (_SelectUtils.localSearchIsOptionVisible(curr, search)) {
24
+ visible = true;
25
+ break;
26
+ }
27
+ i++;
28
+ }
29
+ return visible;
30
+ });
31
+
32
+ exports.SelectUtils = SelectUtils;
33
+ //# sourceMappingURL=select_utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}