@dreamcommerce/aurora 3.0.0-254 → 3.0.0-256

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 (45) 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 +34 -44
  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 +6 -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 +7 -4
  12. package/build/cjs/packages/aurora/src/components/select/components/select_trigger.js.map +1 -1
  13. package/build/cjs/packages/aurora/src/components/select/select.js +57 -82
  14. package/build/cjs/packages/aurora/src/components/select/select.js.map +1 -1
  15. package/build/cjs/packages/aurora/src/components/select/select_utils.js +33 -0
  16. package/build/cjs/packages/aurora/src/components/select/select_utils.js.map +1 -0
  17. package/build/esm/external/fast-equals/dist/esm/index.mjs.js +606 -0
  18. package/build/esm/external/fast-equals/dist/esm/index.mjs.js.map +1 -0
  19. package/build/esm/packages/aurora/src/components/controls/select_control/select_control.js +3 -3
  20. package/build/esm/packages/aurora/src/components/select/components/select_content.js +38 -48
  21. package/build/esm/packages/aurora/src/components/select/components/select_content.js.map +1 -1
  22. package/build/esm/packages/aurora/src/components/select/components/select_group_label.d.ts +2 -2
  23. package/build/esm/packages/aurora/src/components/select/components/select_group_label.js +3 -3
  24. package/build/esm/packages/aurora/src/components/select/components/select_item.js +7 -8
  25. package/build/esm/packages/aurora/src/components/select/components/select_item.js.map +1 -1
  26. package/build/esm/packages/aurora/src/components/select/components/select_search.d.ts +3 -0
  27. package/build/esm/packages/aurora/src/components/select/components/select_search.js +53 -0
  28. package/build/esm/packages/aurora/src/components/select/components/select_search.js.map +1 -0
  29. package/build/esm/packages/aurora/src/components/select/components/select_trigger.js +7 -4
  30. package/build/esm/packages/aurora/src/components/select/components/select_trigger.js.map +1 -1
  31. package/build/esm/packages/aurora/src/components/select/select.d.ts +1 -1
  32. package/build/esm/packages/aurora/src/components/select/select.js +58 -83
  33. package/build/esm/packages/aurora/src/components/select/select.js.map +1 -1
  34. package/build/esm/packages/aurora/src/components/select/select_types.d.ts +15 -7
  35. package/build/esm/packages/aurora/src/components/select/select_types.js +1 -0
  36. package/build/esm/packages/aurora/src/components/select/select_types.js.map +1 -1
  37. package/build/esm/packages/aurora/src/components/select/select_utils.d.ts +5 -0
  38. package/build/esm/packages/aurora/src/components/select/select_utils.js +29 -0
  39. 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
  40. package/build/index.css +1 -1
  41. package/package.json +2 -1
  42. package/build/cjs/packages/aurora/src/components/select/components/select_value.js +0 -10
  43. package/build/esm/packages/aurora/src/components/select/components/select_value.d.ts +0 -3
  44. package/build/esm/packages/aurora/src/components/select/components/select_value.js +0 -6
  45. 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-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),
69
+ className: cn.cn(!visible && 'aurora-hidden')
82
70
  }, option.text)) : (/*#__PURE__*/React__default['default'].createElement(select_item.SelectItem, {
83
- key: "select-item-".concat(option.value, "-").concat(index),
84
- value: "".concat(option.value, "-").concat(index),
85
- isSelected: isSelected,
71
+ key: "select-item-".concat(option.value),
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,25 @@ 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);
23
+ console.log(props.value);
24
24
  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
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 aurora-break-all aurora-text-wrap 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', {
26
+ 'aurora-cursor-pointer active:aurora-bg-active': !isDisabled && !isReadonly
28
27
  }, className),
29
28
  disabled: isDisabled || isReadonly
30
29
  }, props), {}, {
31
30
  ref: ref
32
- }), isSelected && /*#__PURE__*/React__default['default'].createElement(check_icon.CheckLineIcon, {
31
+ }), /*#__PURE__*/React__default['default'].createElement(SelectPrimitive.ItemIndicator, null, /*#__PURE__*/React__default['default'].createElement(check_icon.CheckLineIcon, {
33
32
  className: "aurora-h-5 aurora-w-5 -aurora-ml-7 aurora-mr-2"
34
- }), /*#__PURE__*/React__default['default'].createElement("div", {
33
+ })), /*#__PURE__*/React__default['default'].createElement("div", {
35
34
  className: "aurora-flex aurora-flex-col"
36
35
  }, /*#__PURE__*/React__default['default'].createElement(SelectPrimitive.ItemText, null, children), !!additionalInfo && /*#__PURE__*/React__default['default'].createElement("p", {
37
36
  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;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;"}
@@ -12,22 +12,25 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
12
12
 
13
13
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
14
14
 
15
- var _excluded = ["className", "hasError", "children"];
15
+ var _excluded = ["className", "hasError", "children", "clearValueButton"];
16
16
  var SelectTrigger = /*#__PURE__*/React__default['default'].forwardRef(function (_ref, ref) {
17
17
  var className = _ref.className,
18
18
  hasError = _ref.hasError,
19
19
  children = _ref.children,
20
+ clearValueButton = _ref.clearValueButton,
20
21
  props = _rollupPluginBabelHelpers.objectWithoutProperties(_ref, _excluded);
21
22
  return /*#__PURE__*/React__default['default'].createElement(SelectPrimitive.Trigger, _rollupPluginBabelHelpers.objectSpread2({
22
23
  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', {
24
+ 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-text-ellipsis [&>span]:aurora-whitespace-nowrap [&>span]:aurora-overflow-hidden focus-visible:aurora-border-active -visible:aurora-border-2 data-[state=open]:aurora-border-active data-[state=open]:aurora-border-2', {
24
25
  '!aurora-border-danger aurora-border-2': hasError
25
26
  }, className)
26
- }, props), children, /*#__PURE__*/React__default['default'].createElement(SelectPrimitive.Icon, {
27
+ }, props), children, /*#__PURE__*/React__default['default'].createElement("div", {
28
+ className: "aurora-flex aurora-flex-none aurora-items-center"
29
+ }, clearValueButton, /*#__PURE__*/React__default['default'].createElement(SelectPrimitive.Icon, {
27
30
  asChild: true
28
31
  }, /*#__PURE__*/React__default['default'].createElement(arrow_down_s_fill.ArrowDownSFillIcon, {
29
32
  className: "aurora-h-4 aurora-w-4 aurora-text-inverse-subtle-light"
30
- })));
33
+ }))));
31
34
  });
32
35
  SelectTrigger.displayName = SelectPrimitive.Trigger.displayName;
33
36
 
@@ -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;"}
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;"}
@@ -4,21 +4,22 @@ 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
+ var _selectedOption$value;
19
20
  var children = _ref.children,
20
21
  id = _ref.id,
21
- defaultValue = _ref.defaultValue,
22
+ value = _ref.value,
22
23
  options = _ref.options,
23
24
  disabled = _ref.disabled,
24
25
  placeholder = _ref.placeholder,
@@ -26,105 +27,79 @@ var Select = function Select(_ref) {
26
27
  searchPlaceholder = _ref.searchPlaceholder,
27
28
  hasClearValueButton = _ref.hasClearValueButton,
28
29
  innerAdditionalContent = _ref.innerAdditionalContent,
30
+ enableLocalSearch = _ref.enableLocalSearch,
31
+ localSearchNotFoundContent = _ref.localSearchNotFoundContent,
29
32
  errors = _ref.errors,
30
33
  onValueChange = _ref.onValueChange,
31
34
  onScroll = _ref.onScroll,
35
+ onSearch = _ref.onSearch,
36
+ onClose = _ref.onClose,
32
37
  props = _rollupPluginBabelHelpers.objectWithoutProperties(_ref, _excluded);
33
- var _useState = React.useState(''),
38
+ // Przechowanie aktualnie wybranej opcji w razie jakby przy wyszukiwaniu aktualna opcja zniknela z listy options
39
+ var _useState = React.useState(value ? options.find(function (opt) {
40
+ return opt.value === value;
41
+ }) : undefined),
34
42
  _useState2 = _rollupPluginBabelHelpers.slicedToArray(_useState, 2),
35
- filterTerm = _useState2[0],
36
- setFilterTerm = _useState2[1];
37
- var _useState3 = React.useState(defaultValue),
43
+ selectedOption = _useState2[0],
44
+ setSelectedOption = _useState2[1];
45
+ var _useState3 = React.useState(''),
38
46
  _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('');
47
+ search = _useState4[0],
48
+ setSearch = _useState4[1];
49
+ var handleSearch = function handleSearch(str) {
50
+ setSearch(str);
51
+ onSearch === null || onSearch === void 0 ? void 0 : onSearch(str);
56
52
  };
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;
53
+ var handleChange = function handleChange(val) {
54
+ var _option$value;
55
+ var option = options.find(function (opt) {
56
+ return opt.value === val;
61
57
  });
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) || '';
58
+ setSelectedOption(option);
59
+ 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
60
  };
72
- var handleChange = function handleChange(sufixedValue) {
73
- var cleanValue = sufixedValue.split('-')[0];
74
- setSelectedValue(cleanValue);
61
+ var handleOpenChange = function handleOpenChange(open) {
62
+ if (hasSearch && !open) setSearch('');
63
+ if (onClose && !open) onClose();
75
64
  };
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]);
65
+ var showPlaceholder = !selectedOption;
94
66
  return /*#__PURE__*/React__default['default'].createElement(SelectPrimitive.Root, _rollupPluginBabelHelpers.objectSpread2({
95
- defaultValue: defaultValue,
67
+ value: (_selectedOption$value = selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.value) !== null && _selectedOption$value !== void 0 ? _selectedOption$value : '',
96
68
  onValueChange: handleChange,
97
69
  disabled: disabled,
98
- onOpenChange: function onOpenChange(openState) {
99
- setOpen(openState);
100
- clearFilterInputOnClose(openState);
101
- }
70
+ onOpenChange: handleOpenChange
102
71
  }, props), /*#__PURE__*/React__default['default'].createElement("div", {
103
72
  className: "aurora-relative aurora-flex aurora-items-center aurora-flex-col"
104
73
  }, /*#__PURE__*/React__default['default'].createElement(select_trigger.SelectTrigger, {
105
- ref: triggerRef,
106
74
  id: id,
107
- 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", {
111
- className: "aurora-absolute aurora-top-3 aurora-right-8 aurora-z-10",
112
- onClick: function onClick() {
113
- return setSelectedValue('');
114
- }
115
- }, /*#__PURE__*/React__default['default'].createElement(close_circle_fill_icon.CloseCircleFillIcon, {
116
- 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,
75
+ hasError: !!(errors !== null && errors !== void 0 && errors.length),
76
+ clearValueButton: value && hasClearValueButton && onValueChange && (/*#__PURE__*/React__default['default'].createElement("div", {
77
+ onPointerDown: function onPointerDown(e) {
78
+ return e.stopPropagation();
79
+ },
80
+ onClick: function onClick() {
81
+ handleChange('');
82
+ },
83
+ className: "aurora-w-5 aurora-h-5 aurora-flex aurora-items-center aurora-justify-center"
84
+ }, /*#__PURE__*/React__default['default'].createElement(close_circle_fill_icon.CloseCircleFillIcon, {
85
+ className: "aurora-h-4 aurora-w-4 aurora-cursor-pointer"
86
+ })))
87
+ }, /*#__PURE__*/React__default['default'].createElement("span", {
88
+ className: cn.cn('aurora-pointer-events-none aurora-select-none', showPlaceholder && 'aurora-text-subtle')
89
+ }, !showPlaceholder ? selectedOption.text : placeholder))), /*#__PURE__*/React__default['default'].createElement(select_content.SelectContent, {
90
+ options: options,
120
91
  hasSearch: hasSearch,
121
92
  searchPlaceholder: searchPlaceholder,
122
93
  innerAdditionalContent: innerAdditionalContent,
123
- filterTerm: filterTerm,
124
- setFilterTerm: setFilterTerm,
125
- triggerWidth: triggerWidth,
126
- onScroll: onScroll
127
- })));
94
+ search: search,
95
+ onSearch: handleSearch,
96
+ onScroll: onScroll,
97
+ enableLocalSearch: enableLocalSearch,
98
+ localSearchNotFoundContent: localSearchNotFoundContent,
99
+ onCloseAutoFocus: function onCloseAutoFocus(e) {
100
+ return e.preventDefault();
101
+ }
102
+ }));
128
103
  };
129
104
  Select.displayName = SelectPrimitive.Root.displayName;
130
105
 
@@ -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;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;"}