@elliemae/ds-pills 2.3.1 → 3.0.0-alpha.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (216) hide show
  1. package/dist/cjs/components/Pill.js +72 -0
  2. package/dist/cjs/components/Pill.js.map +7 -0
  3. package/dist/cjs/components/PillButton.js +86 -0
  4. package/dist/cjs/components/PillButton.js.map +7 -0
  5. package/dist/cjs/components/PillGroup.js +100 -0
  6. package/dist/cjs/components/PillGroup.js.map +7 -0
  7. package/dist/cjs/components/index.js +30 -0
  8. package/dist/cjs/components/index.js.map +7 -0
  9. package/dist/cjs/components/styled.js +235 -0
  10. package/dist/cjs/components/styled.js.map +7 -0
  11. package/dist/cjs/components/types/DropdownPill.js +105 -0
  12. package/dist/cjs/components/types/DropdownPill.js.map +7 -0
  13. package/dist/cjs/components/types/InputPill.js +84 -0
  14. package/dist/cjs/components/types/InputPill.js.map +7 -0
  15. package/dist/cjs/components/types/LabelPill.js +52 -0
  16. package/dist/cjs/components/types/LabelPill.js.map +7 -0
  17. package/dist/cjs/components/types/ReadOnlyPill.js +55 -0
  18. package/dist/cjs/components/types/ReadOnlyPill.js.map +7 -0
  19. package/dist/cjs/components/types/RemovablePill.js +90 -0
  20. package/dist/cjs/components/types/RemovablePill.js.map +7 -0
  21. package/dist/cjs/components/types/ValuePill.js +59 -0
  22. package/dist/cjs/components/types/ValuePill.js.map +7 -0
  23. package/dist/cjs/components/types/index.js +33 -0
  24. package/dist/cjs/components/types/index.js.map +7 -0
  25. package/dist/cjs/deprecated/DropdownPill.js +128 -0
  26. package/dist/cjs/deprecated/DropdownPill.js.map +7 -0
  27. package/dist/cjs/deprecated/InputPill.js +114 -0
  28. package/dist/cjs/deprecated/InputPill.js.map +7 -0
  29. package/dist/cjs/deprecated/LabeledDropdownPills.js +140 -0
  30. package/dist/cjs/deprecated/LabeledDropdownPills.js.map +7 -0
  31. package/dist/cjs/deprecated/LabeledDropdownPillsTypes/LabeledDropdownCascadeMenuPill.js +169 -0
  32. package/dist/cjs/deprecated/LabeledDropdownPillsTypes/LabeledDropdownCascadeMenuPill.js.map +7 -0
  33. package/dist/cjs/deprecated/LabeledDropdownPillsTypes/LabeledDropdownMultiPill.js +181 -0
  34. package/dist/cjs/deprecated/LabeledDropdownPillsTypes/LabeledDropdownMultiPill.js.map +7 -0
  35. package/dist/cjs/deprecated/LabeledDropdownPillsTypes/LabeledDropdownSinglePill.js +190 -0
  36. package/dist/cjs/deprecated/LabeledDropdownPillsTypes/LabeledDropdownSinglePill.js.map +7 -0
  37. package/dist/cjs/deprecated/LabeledDropdownPillsTypes/utils.js +44 -0
  38. package/dist/cjs/deprecated/LabeledDropdownPillsTypes/utils.js.map +7 -0
  39. package/dist/cjs/deprecated/LabeledPills.js +75 -0
  40. package/dist/cjs/deprecated/LabeledPills.js.map +7 -0
  41. package/dist/cjs/deprecated/OverflowPill.js +79 -0
  42. package/dist/cjs/deprecated/OverflowPill.js.map +7 -0
  43. package/dist/cjs/deprecated/Pill.js +107 -0
  44. package/dist/cjs/deprecated/Pill.js.map +7 -0
  45. package/dist/cjs/deprecated/PillGroup.js +84 -0
  46. package/dist/cjs/deprecated/PillGroup.js.map +7 -0
  47. package/dist/cjs/deprecated/ReadOnlyPill.js +100 -0
  48. package/dist/cjs/deprecated/ReadOnlyPill.js.map +7 -0
  49. package/dist/cjs/deprecated/RemovablePill.js +78 -0
  50. package/dist/cjs/deprecated/RemovablePill.js.map +7 -0
  51. package/dist/cjs/deprecated/index.js +43 -0
  52. package/dist/cjs/deprecated/index.js.map +7 -0
  53. package/dist/cjs/index.d.js +27 -0
  54. package/dist/cjs/index.d.js.map +7 -0
  55. package/dist/cjs/index.js +37 -0
  56. package/dist/cjs/index.js.map +7 -0
  57. package/dist/cjs/props.js +96 -0
  58. package/dist/cjs/props.js.map +7 -0
  59. package/dist/cjs/utils.js +46 -0
  60. package/dist/cjs/utils.js.map +7 -0
  61. package/dist/esm/components/Pill.js +45 -0
  62. package/dist/esm/components/Pill.js.map +7 -0
  63. package/dist/esm/components/PillButton.js +59 -0
  64. package/dist/esm/components/PillButton.js.map +7 -0
  65. package/dist/esm/components/PillGroup.js +78 -0
  66. package/dist/esm/components/PillGroup.js.map +7 -0
  67. package/dist/esm/components/index.js +5 -0
  68. package/dist/esm/components/index.js.map +7 -0
  69. package/dist/esm/components/styled.js +206 -0
  70. package/dist/esm/components/styled.js.map +7 -0
  71. package/dist/esm/components/types/DropdownPill.js +78 -0
  72. package/dist/esm/components/types/DropdownPill.js.map +7 -0
  73. package/dist/esm/components/types/InputPill.js +55 -0
  74. package/dist/esm/components/types/InputPill.js.map +7 -0
  75. package/dist/esm/components/types/LabelPill.js +23 -0
  76. package/dist/esm/components/types/LabelPill.js.map +7 -0
  77. package/dist/esm/components/types/ReadOnlyPill.js +26 -0
  78. package/dist/esm/components/types/ReadOnlyPill.js.map +7 -0
  79. package/dist/esm/components/types/RemovablePill.js +61 -0
  80. package/dist/esm/components/types/RemovablePill.js.map +7 -0
  81. package/dist/esm/components/types/ValuePill.js +30 -0
  82. package/dist/esm/components/types/ValuePill.js.map +7 -0
  83. package/dist/esm/components/types/index.js +8 -0
  84. package/dist/esm/components/types/index.js.map +7 -0
  85. package/dist/esm/deprecated/DropdownPill.js +101 -0
  86. package/dist/esm/deprecated/DropdownPill.js.map +7 -0
  87. package/dist/esm/deprecated/InputPill.js +87 -0
  88. package/dist/esm/deprecated/InputPill.js.map +7 -0
  89. package/dist/esm/deprecated/LabeledDropdownPills.js +113 -0
  90. package/dist/esm/deprecated/LabeledDropdownPills.js.map +7 -0
  91. package/dist/esm/deprecated/LabeledDropdownPillsTypes/LabeledDropdownCascadeMenuPill.js +142 -0
  92. package/dist/esm/deprecated/LabeledDropdownPillsTypes/LabeledDropdownCascadeMenuPill.js.map +7 -0
  93. package/dist/esm/deprecated/LabeledDropdownPillsTypes/LabeledDropdownMultiPill.js +154 -0
  94. package/dist/esm/deprecated/LabeledDropdownPillsTypes/LabeledDropdownMultiPill.js.map +7 -0
  95. package/dist/esm/deprecated/LabeledDropdownPillsTypes/LabeledDropdownSinglePill.js +163 -0
  96. package/dist/esm/deprecated/LabeledDropdownPillsTypes/LabeledDropdownSinglePill.js.map +7 -0
  97. package/dist/esm/deprecated/LabeledDropdownPillsTypes/utils.js +15 -0
  98. package/dist/esm/deprecated/LabeledDropdownPillsTypes/utils.js.map +7 -0
  99. package/dist/esm/deprecated/LabeledPills.js +46 -0
  100. package/dist/esm/deprecated/LabeledPills.js.map +7 -0
  101. package/dist/esm/deprecated/OverflowPill.js +50 -0
  102. package/dist/esm/deprecated/OverflowPill.js.map +7 -0
  103. package/dist/esm/deprecated/Pill.js +80 -0
  104. package/dist/esm/deprecated/Pill.js.map +7 -0
  105. package/dist/esm/deprecated/PillGroup.js +57 -0
  106. package/dist/esm/deprecated/PillGroup.js.map +7 -0
  107. package/dist/esm/deprecated/ReadOnlyPill.js +71 -0
  108. package/dist/esm/deprecated/ReadOnlyPill.js.map +7 -0
  109. package/dist/esm/deprecated/RemovablePill.js +49 -0
  110. package/dist/esm/deprecated/RemovablePill.js.map +7 -0
  111. package/dist/esm/deprecated/index.js +14 -0
  112. package/dist/esm/deprecated/index.js.map +7 -0
  113. package/dist/esm/index.d.js +2 -0
  114. package/dist/esm/index.d.js.map +7 -0
  115. package/dist/esm/index.js +8 -0
  116. package/dist/esm/index.js.map +7 -0
  117. package/dist/esm/props.js +67 -0
  118. package/dist/esm/props.js.map +7 -0
  119. package/dist/esm/utils.js +17 -0
  120. package/dist/esm/utils.js.map +7 -0
  121. package/package.json +94 -85
  122. package/cjs/components/Pill.js +0 -53
  123. package/cjs/components/PillButton.js +0 -56
  124. package/cjs/components/PillGroup.js +0 -87
  125. package/cjs/components/index.js +0 -17
  126. package/cjs/components/styled.js +0 -85
  127. package/cjs/components/types/DropdownPill.js +0 -86
  128. package/cjs/components/types/InputPill.js +0 -74
  129. package/cjs/components/types/LabelPill.js +0 -46
  130. package/cjs/components/types/ReadOnlyPill.js +0 -50
  131. package/cjs/components/types/RemovablePill.js +0 -85
  132. package/cjs/components/types/ValuePill.js +0 -54
  133. package/cjs/components/types/index.js +0 -19
  134. package/cjs/deprecated/DropdownPill.js +0 -113
  135. package/cjs/deprecated/InputPill.js +0 -84
  136. package/cjs/deprecated/LabeledDropdownPills.js +0 -106
  137. package/cjs/deprecated/LabeledDropdownPillsTypes/LabeledDropdownCascadeMenuPill.js +0 -134
  138. package/cjs/deprecated/LabeledDropdownPillsTypes/LabeledDropdownMultiPill.js +0 -153
  139. package/cjs/deprecated/LabeledDropdownPillsTypes/LabeledDropdownSinglePill.js +0 -162
  140. package/cjs/deprecated/LabeledDropdownPillsTypes/utils.js +0 -20
  141. package/cjs/deprecated/LabeledPills.js +0 -62
  142. package/cjs/deprecated/OverflowPill.js +0 -73
  143. package/cjs/deprecated/Pill.js +0 -88
  144. package/cjs/deprecated/PillGroup.js +0 -72
  145. package/cjs/deprecated/ReadOnlyPill.js +0 -101
  146. package/cjs/deprecated/RemovablePill.js +0 -74
  147. package/cjs/deprecated/index.js +0 -33
  148. package/cjs/index.d.js +0 -2
  149. package/cjs/index.js +0 -43
  150. package/cjs/props.js +0 -70
  151. package/cjs/utils.js +0 -28
  152. package/esm/components/Pill.js +0 -44
  153. package/esm/components/PillButton.js +0 -46
  154. package/esm/components/PillGroup.js +0 -75
  155. package/esm/components/index.js +0 -3
  156. package/esm/components/styled.js +0 -67
  157. package/esm/components/types/DropdownPill.js +0 -76
  158. package/esm/components/types/InputPill.js +0 -65
  159. package/esm/components/types/LabelPill.js +0 -37
  160. package/esm/components/types/ReadOnlyPill.js +0 -41
  161. package/esm/components/types/RemovablePill.js +0 -76
  162. package/esm/components/types/ValuePill.js +0 -45
  163. package/esm/components/types/index.js +0 -6
  164. package/esm/deprecated/DropdownPill.js +0 -100
  165. package/esm/deprecated/InputPill.js +0 -74
  166. package/esm/deprecated/LabeledDropdownPills.js +0 -95
  167. package/esm/deprecated/LabeledDropdownPillsTypes/LabeledDropdownCascadeMenuPill.js +0 -126
  168. package/esm/deprecated/LabeledDropdownPillsTypes/LabeledDropdownMultiPill.js +0 -145
  169. package/esm/deprecated/LabeledDropdownPillsTypes/LabeledDropdownSinglePill.js +0 -154
  170. package/esm/deprecated/LabeledDropdownPillsTypes/utils.js +0 -16
  171. package/esm/deprecated/LabeledPills.js +0 -53
  172. package/esm/deprecated/OverflowPill.js +0 -62
  173. package/esm/deprecated/Pill.js +0 -76
  174. package/esm/deprecated/PillGroup.js +0 -60
  175. package/esm/deprecated/ReadOnlyPill.js +0 -90
  176. package/esm/deprecated/RemovablePill.js +0 -64
  177. package/esm/deprecated/index.js +0 -8
  178. package/esm/index.d.js +0 -1
  179. package/esm/index.js +0 -11
  180. package/esm/props.js +0 -61
  181. package/esm/utils.js +0 -24
  182. package/types/components/Pill.d.ts +0 -5
  183. package/types/components/PillButton.d.ts +0 -5
  184. package/types/components/PillGroup.d.ts +0 -9
  185. package/types/components/index.d.ts +0 -3
  186. package/types/components/styled.d.ts +0 -20
  187. package/types/components/types/DropdownPill.d.ts +0 -3
  188. package/types/components/types/InputPill.d.ts +0 -3
  189. package/types/components/types/LabelPill.d.ts +0 -3
  190. package/types/components/types/ReadOnlyPill.d.ts +0 -3
  191. package/types/components/types/RemovablePill.d.ts +0 -3
  192. package/types/components/types/ValuePill.d.ts +0 -3
  193. package/types/components/types/index.d.ts +0 -6
  194. package/types/deprecated/DropdownPill.d.ts +0 -66
  195. package/types/deprecated/InputPill.d.ts +0 -10
  196. package/types/deprecated/LabeledDropdownPills.d.ts +0 -82
  197. package/types/deprecated/LabeledDropdownPillsTypes/LabeledDropdownCascadeMenuPill.d.ts +0 -15
  198. package/types/deprecated/LabeledDropdownPillsTypes/LabeledDropdownMultiPill.d.ts +0 -13
  199. package/types/deprecated/LabeledDropdownPillsTypes/LabeledDropdownSinglePill.d.ts +0 -28
  200. package/types/deprecated/LabeledDropdownPillsTypes/utils.d.ts +0 -1
  201. package/types/deprecated/LabeledPills.d.ts +0 -52
  202. package/types/deprecated/OverflowPill.d.ts +0 -33
  203. package/types/deprecated/Pill.d.ts +0 -59
  204. package/types/deprecated/PillGroup.d.ts +0 -50
  205. package/types/deprecated/ReadOnlyPill.d.ts +0 -56
  206. package/types/deprecated/RemovablePill.d.ts +0 -49
  207. package/types/deprecated/index.d.ts +0 -9
  208. package/types/index.d.ts +0 -3
  209. package/types/props.d.ts +0 -93
  210. package/types/tests/DSPill.test.d.ts +0 -1
  211. package/types/tests/DSPillGroup.test.d.ts +0 -1
  212. package/types/tests/events/DSPill.events.keyboard.test.d.ts +0 -1
  213. package/types/tests/events/DSPill.events.test.d.ts +0 -1
  214. package/types/tests/events/DSPillGroup.events.keyboard.test.d.ts +0 -1
  215. package/types/tests/events/DSPillGroup.events.test.d.ts +0 -1
  216. package/types/utils.d.ts +0 -4
@@ -1,106 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- require('core-js/modules/esnext.async-iterator.filter.js');
6
- require('core-js/modules/esnext.iterator.constructor.js');
7
- require('core-js/modules/esnext.iterator.filter.js');
8
- require('core-js/modules/esnext.async-iterator.for-each.js');
9
- require('core-js/modules/esnext.iterator.for-each.js');
10
- var _jsx = require('@babel/runtime/helpers/jsx');
11
- var _defineProperty = require('@babel/runtime/helpers/defineProperty');
12
- var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
13
- require('react');
14
- var reactDesc = require('react-desc');
15
- var PillGroup = require('./PillGroup.js');
16
- var LabeledDropdownSinglePill = require('./LabeledDropdownPillsTypes/LabeledDropdownSinglePill.js');
17
- var LabeledDropdownMultiPill = require('./LabeledDropdownPillsTypes/LabeledDropdownMultiPill.js');
18
- var LabeledDropdownCascadeMenuPill = require('./LabeledDropdownPillsTypes/LabeledDropdownCascadeMenuPill.js');
19
- var jsxRuntime = require('react/jsx-runtime');
20
-
21
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
22
-
23
- var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
24
- var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
25
- var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
26
-
27
- const _excluded = ["label", "value", "type", "onFocusNextGroup", "onFocusPreviousGroup", "onFocusGroupSet", "maxWidth", "minWidth", "fixed"];
28
-
29
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
30
-
31
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
32
- const DropdownPills = {
33
- single: LabeledDropdownSinglePill,
34
- multi: LabeledDropdownMultiPill,
35
- cascaded: LabeledDropdownCascadeMenuPill
36
- };
37
-
38
- const createDropdownPill = type => DropdownPills[type] || DropdownPills.single;
39
-
40
- function LabeledDropdownPills(_ref) {
41
- let {
42
- label = '',
43
- value,
44
- type,
45
- onFocusNextGroup,
46
- onFocusPreviousGroup,
47
- onFocusGroupSet,
48
- maxWidth,
49
- minWidth,
50
- fixed
51
- } = _ref,
52
- menuProps = _objectWithoutProperties__default["default"](_ref, _excluded);
53
-
54
- const Component = createDropdownPill(type);
55
- return /*#__PURE__*/_jsx__default["default"](PillGroup.PillGroup, {
56
- onFocusGroupSet: onFocusGroupSet,
57
- onFocusNextGroup: onFocusNextGroup,
58
- onFocusPreviousGroup: onFocusPreviousGroup
59
- }, void 0, /*#__PURE__*/jsxRuntime.jsx(Component, _objectSpread(_objectSpread({}, menuProps), {}, {
60
- label: label,
61
- maxWidth: maxWidth,
62
- minWidth: minWidth,
63
- value: value,
64
- fixed: fixed
65
- })));
66
- }
67
-
68
- const props = {
69
- /** pill type */
70
- type: reactDesc.PropTypes.oneOf(['single', 'multi', 'cascaded']).description('pill type'),
71
-
72
- /** focus next group callback */
73
- onFocusNextGroup: reactDesc.PropTypes.func.description('focus next group callback'),
74
-
75
- /** focus prev group callback */
76
- onFocusPreviousGroup: reactDesc.PropTypes.func.description('focus prev group callback'),
77
-
78
- /** focus group set callback */
79
- onFocusGroupSet: reactDesc.PropTypes.func.description('focus group set callback'),
80
-
81
- /** pill max width */
82
- maxWidth: reactDesc.PropTypes.oneOfType([reactDesc.PropTypes.string, reactDesc.PropTypes.number]).description('pill max width'),
83
-
84
- /** pill min width */
85
- minWidth: reactDesc.PropTypes.oneOfType([reactDesc.PropTypes.string, reactDesc.PropTypes.number]).description('pill min width'),
86
-
87
- /** fixed pill */
88
- fixed: reactDesc.PropTypes.bool.description('fixed pill'),
89
-
90
- /** pill label text */
91
- label: reactDesc.PropTypes.string.isRequired.description('pill label text'),
92
-
93
- /** pill value */
94
- value: reactDesc.PropTypes.oneOfType([reactDesc.PropTypes.arrayOf(reactDesc.PropTypes.shape({
95
- id: reactDesc.PropTypes.string,
96
- label: reactDesc.PropTypes.string
97
- })), reactDesc.PropTypes.shape({
98
- id: reactDesc.PropTypes.string,
99
- label: reactDesc.PropTypes.string
100
- })]).description('pill value')
101
- };
102
- const DSLabeledDropdownPillsWithSchema = reactDesc.describe(LabeledDropdownPills);
103
- DSLabeledDropdownPillsWithSchema.propTypes = props;
104
-
105
- exports.DSLabeledDropdownPillsWithSchema = DSLabeledDropdownPillsWithSchema;
106
- exports.LabeledDropdownPills = LabeledDropdownPills;
@@ -1,134 +0,0 @@
1
- 'use strict';
2
-
3
- var _jsx = require('@babel/runtime/helpers/jsx');
4
- var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
5
- var _defineProperty = require('@babel/runtime/helpers/defineProperty');
6
- require('core-js/modules/esnext.async-iterator.map.js');
7
- require('core-js/modules/esnext.iterator.map.js');
8
- require('core-js/modules/web.dom-collections.iterator.js');
9
- require('core-js/modules/esnext.async-iterator.filter.js');
10
- require('core-js/modules/esnext.iterator.constructor.js');
11
- require('core-js/modules/esnext.iterator.filter.js');
12
- require('core-js/modules/esnext.async-iterator.for-each.js');
13
- require('core-js/modules/esnext.iterator.for-each.js');
14
- var React = require('react');
15
- var dsUtilities = require('@elliemae/ds-utilities');
16
- var PillGroup = require('../PillGroup.js');
17
- var RemovablePill = require('../RemovablePill.js');
18
- var DropdownPill = require('../DropdownPill.js');
19
- var jsxRuntime = require('react/jsx-runtime');
20
-
21
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
22
-
23
- var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
24
- var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
25
- var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
26
-
27
- const _excluded = ["label", "options", "value", "onChange", "onRemove", "value", "placeholder", "onFocusNextGroup", "onFocusPreviousGroup", "onFocusGroupSet", "maxWidth", "minWidth"];
28
-
29
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
30
-
31
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
32
-
33
- function renderMenuItems(options, factory) {
34
- return options.map((option, index) => {
35
- const ItemComponent = factory('radio');
36
-
37
- if (option.type === 'submenu') {
38
- const SubmenuComponent = factory('submenu');
39
- const ChildComponent = factory('selection-group');
40
- return /*#__PURE__*/React.createElement(SubmenuComponent, _objectSpread(_objectSpread({}, option), {}, {
41
- key: option.id,
42
- item: option
43
- }), /*#__PURE__*/jsxRuntime.jsx(ChildComponent, _objectSpread(_objectSpread({}, option), {}, {
44
- id: option.id,
45
- item: option,
46
- items: option.items,
47
- itemValueAccessor: item => item,
48
- multi: true
49
- })));
50
- }
51
-
52
- return /*#__PURE__*/React.createElement(ItemComponent, _objectSpread(_objectSpread({}, option), {}, {
53
- key: option.id || index,
54
- item: option
55
- }));
56
- });
57
- }
58
-
59
- const getSubmenuOptionLabelById = (options, id) => {
60
- const index = options.findIndex(option => option.id === id);
61
- return index ? options[index].label : '';
62
- };
63
-
64
- function LabeledDropdownCascadeMenuPill(_ref) {
65
- let {
66
- label,
67
- options,
68
- value: optionValue,
69
- onChange,
70
- onRemove,
71
- value: selection = {},
72
- placeholder = '---',
73
- onFocusNextGroup,
74
- onFocusPreviousGroup,
75
- onFocusGroupSet,
76
- maxWidth,
77
- minWidth
78
- } = _ref,
79
- menuProps = _objectWithoutProperties__default["default"](_ref, _excluded);
80
-
81
- const selectionId = Object.keys(selection)[0];
82
- const selectionValues = selection[selectionId] || '';
83
- const dropdownLabel = Array.isArray(selectionValues) ? getSubmenuOptionLabelById(options, selectionId) : selectionValues;
84
-
85
- const handleSelectChange = _ref2 => {
86
- let {
87
- item,
88
- group
89
- } = _ref2;
90
-
91
- if (dsUtilities.isFunction(onChange)) {
92
- const nextSelection = group ? {
93
- [group.id]: dsUtilities.addOrRemove([...(selection[group.id] || [])], item, o => o.id)
94
- } : {
95
- [item.id]: item.label
96
- };
97
- onChange(nextSelection);
98
- }
99
- };
100
-
101
- const removeOption = option => {
102
- if (dsUtilities.isFunction(onChange)) {
103
- const nextSelection = {
104
- [selectionId]: selectionValues.filter(val => option.id !== val.id)
105
- };
106
- onChange(nextSelection);
107
- }
108
-
109
- onRemove(option);
110
- };
111
-
112
- return /*#__PURE__*/_jsx__default["default"](PillGroup.PillGroup, {
113
- onFocusGroupSet: onFocusGroupSet,
114
- onFocusNextGroup: onFocusNextGroup,
115
- onFocusPreviousGroup: onFocusPreviousGroup
116
- }, void 0, /*#__PURE__*/jsxRuntime.jsx(DropdownPill.DropdownPill, _objectSpread(_objectSpread({}, menuProps), {}, {
117
- itemsRenderer: renderMenuItems,
118
- label: dropdownLabel || placeholder,
119
- maxWidth: maxWidth,
120
- minWidth: minWidth,
121
- onSelectChange: handleSelectChange,
122
- options: options,
123
- selection: {
124
- [selectionId]: Array.isArray(selectionValues) ? selectionValues.map(v => v.id) : selectionValues
125
- },
126
- singleGroupSelection: true,
127
- variant: "title"
128
- })), Array.isArray(selectionValues) && selectionValues.map(option => /*#__PURE__*/_jsx__default["default"](RemovablePill.RemovablePill, {
129
- label: option.label,
130
- onRemove: () => removeOption(option)
131
- }, option.id)));
132
- }
133
-
134
- module.exports = LabeledDropdownCascadeMenuPill;
@@ -1,153 +0,0 @@
1
- 'use strict';
2
-
3
- var _jsx = require('@babel/runtime/helpers/jsx');
4
- var _defineProperty = require('@babel/runtime/helpers/defineProperty');
5
- var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
6
- require('core-js/modules/web.dom-collections.iterator.js');
7
- require('core-js/modules/esnext.async-iterator.filter.js');
8
- require('core-js/modules/esnext.iterator.constructor.js');
9
- require('core-js/modules/esnext.iterator.filter.js');
10
- require('core-js/modules/esnext.async-iterator.map.js');
11
- require('core-js/modules/esnext.iterator.map.js');
12
- require('core-js/modules/esnext.async-iterator.for-each.js');
13
- require('core-js/modules/esnext.iterator.for-each.js');
14
- var React = require('react');
15
- var lodash = require('lodash');
16
- var dsUtilities = require('@elliemae/ds-utilities');
17
- var RemovablePill = require('../RemovablePill.js');
18
- var Pill = require('../Pill.js');
19
- var OverflowPill = require('../OverflowPill.js');
20
- var DropdownPill = require('../DropdownPill.js');
21
- var jsxRuntime = require('react/jsx-runtime');
22
-
23
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
24
-
25
- var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
26
- var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
27
- var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
28
-
29
- const _excluded = ["label", "options", "value", "onSelect", "onRemove", "onChange", "maxWidth", "minWidth"];
30
-
31
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
32
-
33
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
34
- function LabeledDropdownMultiPills(_ref) {
35
- let {
36
- label,
37
- options = [],
38
- value = [],
39
- onSelect = () => null,
40
- onRemove = () => null,
41
- onChange,
42
- // if this is defined, then it's calculating the next result onSelect or onRemove
43
- maxWidth,
44
- minWidth
45
- } = _ref,
46
- menuProps = _objectWithoutProperties__default["default"](_ref, _excluded);
47
-
48
- const [totalDefaultOptions, setTotalDefaultOptions] = React.useState(0);
49
- const [selectedOptions, setSelectedOptions] = React.useState(value);
50
- const [allOptions, setAllOptions] = React.useState(options);
51
- const [overflowOptions, setOverflowOptions] = React.useState([]);
52
- const overflowQuantity = 3;
53
- React.useEffect(() => setSelectedOptions(value), [value]);
54
- React.useEffect(() => {
55
- const newOptions = allOptions.filter(option => option.fixedItem);
56
-
57
- if (newOptions.length > 0) {
58
- setSelectedOptions(newOptions);
59
- }
60
-
61
- setTotalDefaultOptions(newOptions.length);
62
- }, []);
63
- React.useEffect(() => {
64
- if (totalDefaultOptions) {
65
- const newOptions = allOptions.map(opt => {
66
- if (selectedOptions.length <= totalDefaultOptions && lodash.find(selectedOptions, {
67
- id: opt.id
68
- })) {
69
- return _objectSpread(_objectSpread({}, opt), {}, {
70
- fixedItem: true
71
- });
72
- }
73
-
74
- return _objectSpread(_objectSpread({}, opt), {}, {
75
- fixedItem: false
76
- });
77
- });
78
- setAllOptions(newOptions);
79
- }
80
- }, [onSelect, onRemove, selectedOptions]);
81
- React.useEffect(() => {
82
- if (selectedOptions.length > overflowQuantity) {
83
- const overflow = selectedOptions.filter((val, index) => index >= overflowQuantity);
84
- setOverflowOptions(overflow);
85
- }
86
- }, [selectedOptions]);
87
- const selectOption = React.useCallback(option => {
88
- if (!option.fixedItem) {
89
- if (dsUtilities.isFunction(onChange)) {
90
- const nextValue = dsUtilities.addOrRemove(selectedOptions, option, item => item.id);
91
- setSelectedOptions(nextValue);
92
- onChange(nextValue);
93
- }
94
-
95
- onSelect(option);
96
- }
97
- }, [selectedOptions]);
98
- const removeOption = React.useCallback(option => {
99
- if (!option.fixedItem || selectedOptions.length > totalDefaultOptions) {
100
- if (dsUtilities.isFunction(onChange)) {
101
- const nextValue = selectedOptions.filter(val => option.id !== val.id);
102
- setSelectedOptions(nextValue);
103
- onChange(nextValue);
104
- }
105
-
106
- onRemove(option);
107
- }
108
- }, [selectedOptions]);
109
-
110
- const typeOfPill = () => {
111
- if (selectedOptions.length > totalDefaultOptions) {
112
- return RemovablePill.RemovablePill;
113
- }
114
-
115
- return Pill.Pill;
116
- };
117
-
118
- return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
119
- children: [/*#__PURE__*/jsxRuntime.jsx(DropdownPill.DropdownPill, _objectSpread(_objectSpread({}, menuProps), {}, {
120
- focusOnOpen: false,
121
- label: label,
122
- maxWidth: maxWidth,
123
- minWidth: minWidth,
124
- onSelectMenuItem: selectOption,
125
- options: [_objectSpread(_objectSpread({}, menuProps), {}, {
126
- type: 'SelectionGroup',
127
- id: 'multi-selection-views',
128
- multi: true,
129
- items: allOptions
130
- })],
131
- selection: {
132
- 'multi-selection-views': selectedOptions ? selectedOptions.map(o => o.id) : ''
133
- },
134
- variant: "title"
135
- })), selectedOptions && selectedOptions.map((option, index) => {
136
- const TypeOfPill = typeOfPill();
137
-
138
- if (index < overflowQuantity) {
139
- return /*#__PURE__*/_jsx__default["default"](TypeOfPill, {
140
- label: option.label,
141
- onRemove: () => removeOption(option)
142
- }, option.id);
143
- }
144
-
145
- return null;
146
- }), selectedOptions && selectedOptions.length > overflowQuantity && /*#__PURE__*/_jsx__default["default"](OverflowPill.OverflowPill, {
147
- label: "+ ".concat(selectedOptions.length - overflowQuantity),
148
- options: overflowOptions
149
- })]
150
- });
151
- }
152
-
153
- module.exports = LabeledDropdownMultiPills;
@@ -1,162 +0,0 @@
1
- 'use strict';
2
-
3
- var _jsx = require('@babel/runtime/helpers/jsx');
4
- var _defineProperty = require('@babel/runtime/helpers/defineProperty');
5
- var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
6
- require('core-js/modules/web.dom-collections.iterator.js');
7
- require('core-js/modules/esnext.async-iterator.find.js');
8
- require('core-js/modules/esnext.iterator.constructor.js');
9
- require('core-js/modules/esnext.iterator.find.js');
10
- require('core-js/modules/esnext.async-iterator.filter.js');
11
- require('core-js/modules/esnext.iterator.filter.js');
12
- require('core-js/modules/esnext.async-iterator.for-each.js');
13
- require('core-js/modules/esnext.iterator.for-each.js');
14
- var React = require('react');
15
- var dsUtilities = require('@elliemae/ds-utilities');
16
- var DropdownPill = require('../DropdownPill.js');
17
- var InputPill = require('../InputPill.js');
18
- var Pill = require('../Pill.js');
19
- var RemovablePill = require('../RemovablePill.js');
20
- var utils = require('./utils.js');
21
- var jsxRuntime = require('react/jsx-runtime');
22
-
23
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
24
-
25
- var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
26
- var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
27
- var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
28
-
29
- var _Pill;
30
-
31
- const _excluded = ["label", "labelIsValue", "options", "value", "onSelect", "onChange", "maxWidth", "minWidth", "fixed"],
32
- _excluded2 = ["input", "onChangeInput"];
33
-
34
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
35
-
36
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
37
- function LabeledDropdownSinglePill(_ref) {
38
- let {
39
- label,
40
- labelIsValue = false,
41
- options,
42
- value,
43
- onSelect = () => null,
44
- onChange,
45
- maxWidth,
46
- minWidth,
47
- fixed = false
48
- } = _ref,
49
- menuProps = _objectWithoutProperties__default["default"](_ref, _excluded);
50
-
51
- const [optionValue, setOptionValue] = React.useState(value);
52
- const prevOptions = dsUtilities.usePrevious(options);
53
- const areOptionsEqual = dsUtilities.useShouldRecalculate(utils.hasOptionChanged(prevOptions, options));
54
- React.useEffect(() => setOptionValue(value), [value]);
55
- React.useEffect(() => {
56
- const selectedValue = options.find(option => option.selected);
57
-
58
- if (selectedValue) {
59
- setOptionValue(selectedValue);
60
- } else if (!selectedValue) {
61
- setOptionValue(options[0]);
62
- }
63
- }, [areOptionsEqual]);
64
- React.useLayoutEffect(() => {
65
- if (optionValue) {
66
- const selectedValue = options.find(option => option.id === optionValue.id);
67
- setOptionValue(selectedValue);
68
- }
69
- }, [options]);
70
- const selectOption = React.useCallback(option => {
71
- if (dsUtilities.isFunction(onChange)) {
72
- onChange(option);
73
- }
74
-
75
- setOptionValue(option);
76
- onSelect(option);
77
- }, [onChange, onSelect]);
78
- const onChangeInputValue = React.useCallback(_ref2 => {
79
- let {
80
- target: {
81
- value: inputValue
82
- }
83
- } = _ref2;
84
- const {
85
- onChangeInput
86
- } = optionValue;
87
- onChangeInput && onChangeInput(inputValue);
88
- }, [optionValue]);
89
-
90
- const removeOption = removedOption => {
91
- const {
92
- onRemove
93
- } = menuProps;
94
- const {
95
- onChangeInput
96
- } = optionValue;
97
- setOptionValue(null);
98
- onChangeInput && onChangeInput('');
99
-
100
- const newOption = _objectSpread(_objectSpread({}, removedOption), {}, {
101
- input: ''
102
- });
103
-
104
- onRemove && onRemove(newOption, removedOption);
105
- };
106
-
107
- const renderPill = (option, fixed) => {
108
- const {
109
- input,
110
- onChangeInput
111
- } = option,
112
- otherProps = _objectWithoutProperties__default["default"](option, _excluded2);
113
-
114
- let SelectedPill;
115
-
116
- if (dsUtilities.isString(input)) {
117
- SelectedPill = InputPill.InputPill;
118
- } else if (fixed) {
119
- SelectedPill = Pill.Pill;
120
- } else {
121
- SelectedPill = RemovablePill.RemovablePill;
122
- }
123
-
124
- return /*#__PURE__*/jsxRuntime.jsx(SelectedPill, _objectSpread({
125
- label: option.label,
126
- onChange: onChangeInputValue,
127
- onRemove: e => removeOption(option),
128
- value: input
129
- }, otherProps), option.id);
130
- };
131
-
132
- const renderSelection = () => {
133
- if (!labelIsValue) {
134
- if (optionValue) return renderPill(optionValue, fixed);
135
- return _Pill || (_Pill = /*#__PURE__*/_jsx__default["default"](Pill.Pill, {
136
- label: "-"
137
- }));
138
- }
139
- };
140
-
141
- return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
142
- children: [/*#__PURE__*/jsxRuntime.jsx(DropdownPill.DropdownPill, _objectSpread(_objectSpread({}, menuProps), {}, {
143
- label: !labelIsValue ? label : optionValue === null || optionValue === void 0 ? void 0 : optionValue.label,
144
- maxWidth: maxWidth,
145
- minWidth: minWidth,
146
- onSelectMenuItem: selectOption,
147
- options: [_objectSpread(_objectSpread({}, menuProps), {}, {
148
- type: 'SelectionGroup',
149
- id: 'multi-selection-views',
150
- multi: false,
151
- items: options,
152
- closeOnClick: true
153
- })],
154
- selection: {
155
- 'multi-selection-views': optionValue ? [optionValue === null || optionValue === void 0 ? void 0 : optionValue.id] : ''
156
- },
157
- variant: "title"
158
- })), renderSelection()]
159
- });
160
- }
161
-
162
- module.exports = LabeledDropdownSinglePill;
@@ -1,20 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- require('core-js/modules/esnext.async-iterator.map.js');
6
- require('core-js/modules/esnext.iterator.map.js');
7
- var dsUtilities = require('@elliemae/ds-utilities');
8
- var lodash = require('lodash');
9
-
10
- const hasOptionChanged = (prevOptions, options) => {
11
- if (prevOptions && options) {
12
- const prevOptionsOmited = prevOptions.map(option => lodash.omit(option, ['input', 'onChangeInput', 'mask']));
13
- const optionsOmited = options.map(option => lodash.omit(option, ['input', 'onChangeInput', 'mask']));
14
- return dsUtilities.isEqual(prevOptionsOmited, optionsOmited);
15
- }
16
-
17
- return false;
18
- };
19
-
20
- exports.hasOptionChanged = hasOptionChanged;
@@ -1,62 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var _jsx = require('@babel/runtime/helpers/jsx');
6
- require('react');
7
- var reactDesc = require('react-desc');
8
- var PillGroup = require('./PillGroup.js');
9
- var RemovablePill = require('./RemovablePill.js');
10
- var Pill = require('./Pill.js');
11
-
12
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
13
-
14
- var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
15
-
16
- function LabeledPills(_ref) {
17
- let {
18
- children,
19
- label = '',
20
- leftAddon,
21
- onFocusGroupSet,
22
- onFocusNextGroup,
23
- onFocusPreviousGroup
24
- } = _ref;
25
- return /*#__PURE__*/_jsx__default["default"](PillGroup.PillGroup, {
26
- onFocusGroupSet: onFocusGroupSet,
27
- onFocusNextGroup: onFocusNextGroup,
28
- onFocusPreviousGroup: onFocusPreviousGroup
29
- }, void 0, /*#__PURE__*/_jsx__default["default"](Pill.Pill, {
30
- label: label,
31
- leftAddon: leftAddon,
32
- variant: "title",
33
- "data-testid": "pill-title"
34
- }), children);
35
- }
36
-
37
- const props = {
38
- /** labeled pill text label */
39
- label: reactDesc.PropTypes.string.isRequired.description('pill text label'),
40
-
41
- /** pill to add the label to */
42
- children: reactDesc.PropTypes.arrayOf(reactDesc.PropTypes.shape({
43
- type: reactDesc.PropTypes.oneOf([reactDesc.PropTypes.instanceOf(Pill.Pill), reactDesc.PropTypes.instanceOf(RemovablePill.RemovablePill)])
44
- })).isRequired.description('pill to add the label to'),
45
-
46
- /** addon component to left */
47
- leftAddon: reactDesc.PropTypes.node.description('addon component to left'),
48
-
49
- /** focus next group callback */
50
- onFocusNextGroup: reactDesc.PropTypes.func.description('focus next group callback'),
51
-
52
- /** focus prev group callback */
53
- onFocusPreviousGroup: reactDesc.PropTypes.func.description('focus prev group callback'),
54
-
55
- /** focus group set callback */
56
- onFocusGroupSet: reactDesc.PropTypes.func.description('focus group set callback')
57
- };
58
- const DSLabeledPillsWithSchema = reactDesc.describe(LabeledPills);
59
- DSLabeledPillsWithSchema.propTypes = props;
60
-
61
- exports.DSLabeledPillsWithSchema = DSLabeledPillsWithSchema;
62
- exports.LabeledPills = LabeledPills;