@activecollab/components 1.0.137 → 1.0.140

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 (86) hide show
  1. package/dist/cjs/components/Autocomplete/Autocomplete.js +60 -27
  2. package/dist/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  3. package/dist/cjs/components/Autocomplete/Styles.js +9 -11
  4. package/dist/cjs/components/Autocomplete/Styles.js.map +1 -1
  5. package/dist/cjs/components/BreakPoints.js +22 -0
  6. package/dist/cjs/components/BreakPoints.js.map +1 -0
  7. package/dist/cjs/components/Chip/Chip.js +3 -8
  8. package/dist/cjs/components/Chip/Chip.js.map +1 -1
  9. package/dist/cjs/components/Dialog/Styles.js +3 -3
  10. package/dist/cjs/components/Dialog/Styles.js.map +1 -1
  11. package/dist/cjs/components/Icons/collection/ArrowDownLong.js +31 -0
  12. package/dist/cjs/components/Icons/collection/ArrowDownLong.js.map +1 -0
  13. package/dist/cjs/components/Icons/collection/ArrowUpLong.js +31 -0
  14. package/dist/cjs/components/Icons/collection/ArrowUpLong.js.map +1 -0
  15. package/dist/cjs/components/Icons/collection/index.js +16 -0
  16. package/dist/cjs/components/Icons/collection/index.js.map +1 -1
  17. package/dist/cjs/components/Select/Option/Option.js +7 -2
  18. package/dist/cjs/components/Select/Option/Option.js.map +1 -1
  19. package/dist/cjs/components/Select/Option/Styles.js +1 -1
  20. package/dist/cjs/components/Select/Option/Styles.js.map +1 -1
  21. package/dist/cjs/components/Select/OptionGroup/OptionGroup.js +34 -9
  22. package/dist/cjs/components/Select/OptionGroup/OptionGroup.js.map +1 -1
  23. package/dist/cjs/components/Select/OptionGroup/Styles.js +2 -2
  24. package/dist/cjs/components/Select/OptionGroup/Styles.js.map +1 -1
  25. package/dist/cjs/components/Select/Select.js +12 -36
  26. package/dist/cjs/components/Select/Select.js.map +1 -1
  27. package/dist/cjs/components/SelectTrigger/SelectTrigger.js +3 -2
  28. package/dist/cjs/components/SelectTrigger/SelectTrigger.js.map +1 -1
  29. package/dist/esm/components/Autocomplete/Autocomplete.d.ts.map +1 -1
  30. package/dist/esm/components/Autocomplete/Autocomplete.js +60 -27
  31. package/dist/esm/components/Autocomplete/Autocomplete.js.map +1 -1
  32. package/dist/esm/components/Autocomplete/Styles.d.ts +6 -4
  33. package/dist/esm/components/Autocomplete/Styles.d.ts.map +1 -1
  34. package/dist/esm/components/Autocomplete/Styles.js +7 -6
  35. package/dist/esm/components/Autocomplete/Styles.js.map +1 -1
  36. package/dist/esm/components/BreakPoints.d.ts +8 -0
  37. package/dist/esm/components/BreakPoints.d.ts.map +1 -0
  38. package/dist/esm/components/BreakPoints.js +15 -0
  39. package/dist/esm/components/BreakPoints.js.map +1 -0
  40. package/dist/esm/components/Chip/Chip.d.ts +2 -2
  41. package/dist/esm/components/Chip/Chip.d.ts.map +1 -1
  42. package/dist/esm/components/Chip/Chip.js +3 -7
  43. package/dist/esm/components/Chip/Chip.js.map +1 -1
  44. package/dist/esm/components/Dialog/Styles.d.ts.map +1 -1
  45. package/dist/esm/components/Dialog/Styles.js +2 -3
  46. package/dist/esm/components/Dialog/Styles.js.map +1 -1
  47. package/dist/esm/components/Icons/collection/ArrowDownLong.d.ts +4 -0
  48. package/dist/esm/components/Icons/collection/ArrowDownLong.d.ts.map +1 -0
  49. package/dist/esm/components/Icons/collection/ArrowDownLong.js +18 -0
  50. package/dist/esm/components/Icons/collection/ArrowDownLong.js.map +1 -0
  51. package/dist/esm/components/Icons/collection/ArrowUpLong.d.ts +4 -0
  52. package/dist/esm/components/Icons/collection/ArrowUpLong.d.ts.map +1 -0
  53. package/dist/esm/components/Icons/collection/ArrowUpLong.js +18 -0
  54. package/dist/esm/components/Icons/collection/ArrowUpLong.js.map +1 -0
  55. package/dist/esm/components/Icons/collection/index.d.ts +2 -0
  56. package/dist/esm/components/Icons/collection/index.d.ts.map +1 -1
  57. package/dist/esm/components/Icons/collection/index.js +2 -0
  58. package/dist/esm/components/Icons/collection/index.js.map +1 -1
  59. package/dist/esm/components/Select/Option/Option.d.ts +3 -2
  60. package/dist/esm/components/Select/Option/Option.d.ts.map +1 -1
  61. package/dist/esm/components/Select/Option/Option.js +7 -2
  62. package/dist/esm/components/Select/Option/Option.js.map +1 -1
  63. package/dist/esm/components/Select/Option/Styles.d.ts +1 -1
  64. package/dist/esm/components/Select/Option/Styles.js +1 -1
  65. package/dist/esm/components/Select/Option/Styles.js.map +1 -1
  66. package/dist/esm/components/Select/OptionGroup/OptionGroup.d.ts +2 -4
  67. package/dist/esm/components/Select/OptionGroup/OptionGroup.d.ts.map +1 -1
  68. package/dist/esm/components/Select/OptionGroup/OptionGroup.js +21 -9
  69. package/dist/esm/components/Select/OptionGroup/OptionGroup.js.map +1 -1
  70. package/dist/esm/components/Select/OptionGroup/Styles.d.ts +1 -1
  71. package/dist/esm/components/Select/OptionGroup/Styles.d.ts.map +1 -1
  72. package/dist/esm/components/Select/OptionGroup/Styles.js +2 -2
  73. package/dist/esm/components/Select/OptionGroup/Styles.js.map +1 -1
  74. package/dist/esm/components/Select/Select.d.ts +2 -5
  75. package/dist/esm/components/Select/Select.d.ts.map +1 -1
  76. package/dist/esm/components/Select/Select.js +12 -36
  77. package/dist/esm/components/Select/Select.js.map +1 -1
  78. package/dist/esm/components/SelectTrigger/SelectTrigger.d.ts +1 -0
  79. package/dist/esm/components/SelectTrigger/SelectTrigger.d.ts.map +1 -1
  80. package/dist/esm/components/SelectTrigger/SelectTrigger.js +3 -2
  81. package/dist/esm/components/SelectTrigger/SelectTrigger.js.map +1 -1
  82. package/dist/index.js +163 -93
  83. package/dist/index.js.map +1 -1
  84. package/dist/index.min.js +1 -1
  85. package/dist/index.min.js.map +1 -1
  86. package/package.json +1 -1
@@ -83,7 +83,11 @@ var Autocomplete = function Autocomplete(_ref) {
83
83
  var itemRef = (0, _react.useRef)(null);
84
84
  var listRef = (0, _react.useRef)(null);
85
85
  var selectedOptions = (0, _react.useMemo)(function () {
86
- return selected instanceof Array ? selected : [selected];
86
+ if (Array.isArray(selected)) {
87
+ return selected;
88
+ }
89
+
90
+ return [selected];
87
91
  }, [selected]);
88
92
  var handleSort = (0, _react.useCallback)(function (opts) {
89
93
  if (keepSameOptionsOrder) {
@@ -240,6 +244,44 @@ var Autocomplete = function Autocomplete(_ref) {
240
244
  setFilter(e.target.value);
241
245
  }
242
246
  }, []);
247
+ var handleHoverCallback = (0, _react.useCallback)(function (e) {
248
+ setHover({
249
+ item: e,
250
+ by: "mouse"
251
+ });
252
+ }, []);
253
+ var toggleSelected = (0, _react.useCallback)(function (id) {
254
+ var result;
255
+
256
+ if (id !== null) {
257
+ if (type === "multiple") {
258
+ if (selectedOptions.includes(id)) {
259
+ result = selectedOptions.filter(function (_id) {
260
+ return _id !== id;
261
+ });
262
+ } else {
263
+ result = [].concat(_toConsumableArray(selectedOptions), [id]);
264
+ }
265
+ } else {
266
+ if (selectedOptions.includes(id)) {
267
+ result = null;
268
+ } else {
269
+ result = id;
270
+ }
271
+ }
272
+
273
+ setFilter("");
274
+ } else {
275
+ if (typeof handleDefaultOptionChange === "function") {
276
+ handleDefaultOptionChange();
277
+ return;
278
+ }
279
+ }
280
+
281
+ if (typeof handleChange === "function") {
282
+ handleChange(result);
283
+ }
284
+ }, [handleChange, handleDefaultOptionChange, selectedOptions, type]);
243
285
  var handleMouseEnter = (0, _react.useCallback)(function (e) {
244
286
  if (e === undefined || e === null) {
245
287
  return setHover({
@@ -253,13 +295,11 @@ var Autocomplete = function Autocomplete(_ref) {
253
295
  by: "mouse"
254
296
  });
255
297
  }, []);
256
- var handleHoverCallback = (0, _react.useCallback)(function (e) {
257
- setHover({
258
- item: e,
259
- by: "mouse"
260
- });
261
- }, []);
262
- var handleRenderOption = (0, _react.useCallback)(function (item) {
298
+ var handleClick = (0, _react.useCallback)(function (e) {
299
+ e.preventDefault();
300
+ toggleSelected(hover.item);
301
+ }, [toggleSelected, hover]);
302
+ var handleRenderOption = (0, _react.useCallback)(function (item, index) {
263
303
  if (isGroup(item)) {
264
304
  return /*#__PURE__*/_react.default.createElement(_OptionGroup.OptionGroup, {
265
305
  checked: selectedOptions,
@@ -279,8 +319,9 @@ var Autocomplete = function Autocomplete(_ref) {
279
319
  return /*#__PURE__*/_react.default.createElement(_Option.Option, {
280
320
  name: item.name,
281
321
  ref: itemRef,
282
- key: item.id,
322
+ key: index,
283
323
  onMouseEnter: handleMouseEnter,
324
+ onClick: handleClick,
284
325
  id: item.id,
285
326
  hover: item.id === hover.item,
286
327
  className: optionClassName,
@@ -295,7 +336,7 @@ var Autocomplete = function Autocomplete(_ref) {
295
336
  }
296
337
  })
297
338
  });
298
- }, [handleMouseEnter, hover.item, optionClassName, renderOption, filter, selectedOptions, handleHoverCallback, type, handleChange]);
339
+ }, [handleClick, handleMouseEnter, hover.item, optionClassName, renderOption, filter, selectedOptions, handleHoverCallback, type, handleChange]);
299
340
  var handleOnMouseLeave = (0, _react.useCallback)(function () {
300
341
  setHover({
301
342
  item: undefined,
@@ -339,8 +380,8 @@ var Autocomplete = function Autocomplete(_ref) {
339
380
  return;
340
381
  }
341
382
 
342
- if (handleChange) {
343
- handleChange(hover.item);
383
+ if (hover.item) {
384
+ toggleSelected(hover.item);
344
385
  setFilter("");
345
386
  }
346
387
 
@@ -351,18 +392,7 @@ var Autocomplete = function Autocomplete(_ref) {
351
392
  item: (0, _HandleKeyboard.handleKeyboardMovement)(e, hover.item, flatOptions, showAddNew, showDefaultOption),
352
393
  by: "keyboard"
353
394
  });
354
- }, [filter, flatOptions, handleChange, handleDefaultOptionChange, handleEmpty, hover, showAddNew, showDefaultOption]);
355
- var handleClick = (0, _react.useCallback)(function () {
356
- if (hover.item === null && handleDefaultOptionChange) {
357
- handleDefaultOptionChange();
358
- }
359
-
360
- if (handleChange) {
361
- handleChange(hover === null || hover === void 0 ? void 0 : hover.item);
362
- }
363
-
364
- setFilter("");
365
- }, [handleChange, handleDefaultOptionChange, hover]);
395
+ }, [filter, flatOptions, toggleSelected, handleDefaultOptionChange, handleEmpty, hover, showAddNew, showDefaultOption]);
366
396
  (0, _react.useEffect)(function () {
367
397
  if (inputEl) {
368
398
  inputEl.onkeydown = handleOnKeyDown;
@@ -389,7 +419,6 @@ var Autocomplete = function Autocomplete(_ref) {
389
419
  var onScroll = _ref2.onScroll;
390
420
  return /*#__PURE__*/_react.default.createElement(_Styles.StyledAutocompleteBody, {
391
421
  key: "body",
392
- onChange: handleClick,
393
422
  onMouseLeave: handleOnMouseLeave
394
423
  }, /*#__PURE__*/_react.default.createElement(_reactCustomScrollbars.Scrollbars, {
395
424
  ref: listRef,
@@ -402,6 +431,10 @@ var Autocomplete = function Autocomplete(_ref) {
402
431
  ref: itemRef,
403
432
  hover: hover.item === null,
404
433
  onMouseEnter: handleMouseEnter,
434
+ onClick: function onClick(e) {
435
+ e.preventDefault();
436
+ toggleSelected(null);
437
+ },
405
438
  renderOption: renderOption({
406
439
  name: defaultValue,
407
440
  id: null
@@ -412,8 +445,8 @@ var Autocomplete = function Autocomplete(_ref) {
412
445
  return null;
413
446
  }
414
447
  })
415
- }), list.map(function (item) {
416
- return handleRenderOption(item);
448
+ }), list.map(function (item, index) {
449
+ return handleRenderOption(item, index);
417
450
  }), showNoResult && renderNoResult, showAddNew && renderAddNew));
418
451
  });
419
452
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Autocomplete/Autocomplete.tsx"],"names":["Autocomplete","type","options","inputEl","selected","emptyValue","noResultText","renderOption","option","name","defaultValue","sortDirection","handleChange","optionClassName","handleEmptyAction","disabledInternalSort","AutocompleteClassName","handleDefaultOptionChange","preselectDefaultValue","keepSameOptionsOrder","autoHeightMax","itemRef","listRef","selectedOptions","Array","handleSort","opts","sort","a","b","includes","id","sortList","localeCompare","sortedList","item","undefined","by","hover","setHover","filter","setFilter","handleEmpty","e","button","focus","onAddNewMouseEnter","isGroup","showAddNew","trim","every","v","toLowerCase","renderAddNew","filterOptions","trimmedFilter","isGrouped","hovered","reduce","acc","groupedOption","filteredOptions","length","list","showDefaultOption","flatOptions","handleInputChange","target","key","value","handleMouseEnter","handleHoverCallback","handleRenderOption","checked","onChange","handleOnMouseLeave","handleScroll","itemOffset","getClientHeight","getScrollTop","scrollTop","current","offsetTop","handleOnKeyDown","preventDefault","handleClick","onkeydown","onkeyup","isDefaultOptionSelected","showNoResult","renderNoResult","onScroll","map","displayName"],"mappings":"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","sourcesContent":["import React, {\n FC,\n useCallback,\n useState,\n useMemo,\n useEffect,\n useRef,\n ReactNode,\n ReactElement,\n} from \"react\";\nimport { Scrollbars } from \"react-custom-scrollbars\";\nimport highlightText from \"../../hooks/useHighlightText\";\nimport { handleKeyboardMovement } from \"./HandleKeyboard\";\nimport { IOptionItemProps, Option } from \"../Select/Option\";\nimport { IOptionGroupProps, OptionGroup } from \"../Select/OptionGroup\";\nimport {\n StyledAutocompleteBody,\n StyledAutocompleteNewItem,\n StyledAutocompleteNoResult,\n StyledAutocompleteScrollShadow,\n} from \"./Styles\";\n\nexport interface IAutocompleteProps {\n /** Select type: single or multiple */\n type?: \"single\" | \"multiple\";\n /** List of options or group options */\n options?: (IOptionGroupProps | IOptionItemProps)[];\n /** Selected values */\n selected?: (string | number)[] | string | number;\n /** Input Element. */\n inputEl?: HTMLInputElement | null;\n /** Text for empty value */\n emptyValue?: string;\n /** Text for No result */\n noResultText?: string;\n /** Render option */\n renderOption?: (\n option: Record<string, ReactNode>,\n data: Record<string, unknown>\n ) => string | ReactElement;\n /** Default value that renders on top of list */\n defaultValue?: string;\n /** Sort direction for labels */\n sortDirection?: \"asc\" | \"desc\";\n /** handleChange callback */\n handleChange?: (\n e: (string | number)[] | string | number | null | undefined\n ) => void;\n /** ClassName for single option */\n optionClassName?: string;\n /** handleEmptyAction */\n handleEmptyAction?: (e: string | number) => void;\n /** Disable sorting options */\n disabledInternalSort?: boolean;\n /** ClassName for Autocomplete component */\n AutocompleteClassName?: string;\n /** handleDefaultOptionChange callback */\n handleDefaultOptionChange?: () => void;\n /** Should default value be selected */\n preselectDefaultValue?: boolean;\n /** Should order stay the same after choosing an option */\n keepSameOptionsOrder?: boolean;\n /** Set max height property for scrollbars */\n autoHeightMax?: number;\n}\n\ninterface IHover {\n item: number | string | undefined | null;\n by: \"mouse\" | \"keyboard\" | undefined;\n}\n\nexport const Autocomplete: FC<IAutocompleteProps> = ({\n type,\n options = [],\n inputEl,\n selected = [],\n emptyValue,\n noResultText,\n renderOption = (option) => option?.name,\n defaultValue,\n sortDirection = \"asc\",\n handleChange,\n optionClassName,\n handleEmptyAction,\n disabledInternalSort,\n AutocompleteClassName,\n handleDefaultOptionChange,\n preselectDefaultValue,\n keepSameOptionsOrder = false,\n autoHeightMax = 340,\n}) => {\n const itemRef = useRef<HTMLLabelElement>(null);\n const listRef = useRef<Scrollbars>(null);\n\n const selectedOptions = useMemo(\n () => (selected instanceof Array ? selected : [selected]),\n [selected]\n );\n\n const handleSort = useCallback((opts) => {\n if (keepSameOptionsOrder) {\n return opts;\n }\n return opts.sort((a: IOptionItemProps, b: IOptionItemProps) => {\n if (selectedOptions.includes(b.id) && !selectedOptions.includes(a.id)) {\n return 1;\n }\n if (selectedOptions.includes(a.id) && !selectedOptions.includes(b.id)) {\n return -1;\n }\n return 0;\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const sortList = useCallback(\n (options) => {\n if (disabledInternalSort) {\n return handleSort([...options]);\n }\n return handleSort(\n [...options].sort((a: IOptionItemProps, b: IOptionItemProps) =>\n sortDirection === \"asc\"\n ? a.name.localeCompare(b.name)\n : b.name.localeCompare(a.name)\n )\n );\n },\n [sortDirection, disabledInternalSort, handleSort]\n );\n\n const sortedList = useMemo(() => sortList(options), [options, sortList]);\n\n const [hover, setHover] = useState<IHover>({\n item: undefined,\n by: undefined,\n });\n const [filter, setFilter] = useState(\"\");\n\n const handleEmpty = useCallback(\n (e) => {\n if (e && e.button !== 0) {\n return;\n }\n if (handleEmptyAction) {\n inputEl?.focus();\n setFilter(\"\");\n handleEmptyAction(filter);\n }\n },\n [filter, handleEmptyAction, inputEl]\n );\n\n const onAddNewMouseEnter = useCallback(\n () => setHover({ item: \"addNew\", by: \"mouse\" }),\n []\n );\n\n function isGroup(\n item: IOptionGroupProps | IOptionItemProps\n ): item is IOptionGroupProps {\n return (item as IOptionGroupProps).options !== undefined;\n }\n\n const showAddNew = useMemo(() => {\n return !!(\n emptyValue &&\n filter.trim() &&\n options.every((option) => {\n if (isGroup(option)) {\n return option.options.every(\n (v) => v.name.toLowerCase() !== filter.trim().toLowerCase()\n );\n }\n return option.name.toLowerCase() !== filter.trim().toLowerCase();\n })\n );\n }, [emptyValue, filter, options]);\n\n const renderAddNew = useMemo(() => {\n return (\n <StyledAutocompleteNewItem\n ref={hover.item === \"addNew\" ? itemRef : null}\n key=\"emptyValue\"\n hover={hover.item === \"addNew\"}\n onMouseDown={handleEmpty}\n onMouseEnter={onAddNewMouseEnter}\n >\n {emptyValue}\n </StyledAutocompleteNewItem>\n );\n }, [emptyValue, handleEmpty, hover, onAddNewMouseEnter]);\n\n const filterOptions = useCallback(\n (options, filter) => {\n const trimmedFilter = filter.trim();\n const isGrouped = options[0] && isGroup(options[0]);\n if (isGrouped) {\n let hovered = false;\n return options.reduce((acc, groupedOption) => {\n const filteredOptions = groupedOption.options.filter((v) =>\n v.name.toLowerCase().includes(trimmedFilter.toLowerCase())\n );\n if (filteredOptions.length > 0) {\n if (!hovered && filter) {\n setHover({ item: filteredOptions[0].id, by: \"keyboard\" });\n }\n hovered = true;\n return [...acc, { ...groupedOption, options: filteredOptions }];\n }\n return [...acc];\n }, []);\n } else {\n const filteredOptions = options.filter((v) =>\n v.name.toLowerCase().includes(trimmedFilter.toLowerCase())\n );\n if (filter && filteredOptions.length > 0) {\n setHover({ item: filteredOptions[0].id, by: \"keyboard\" });\n }\n if (filteredOptions.length === 0 && emptyValue) {\n setHover({ item: \"addNew\", by: \"keyboard\" });\n }\n return filteredOptions;\n }\n },\n [emptyValue]\n );\n\n const list = useMemo(\n () => filterOptions(sortedList, filter),\n [filter, filterOptions, sortedList]\n );\n\n const showDefaultOption = useMemo(\n () => !!defaultValue && !filter,\n [defaultValue, filter]\n );\n\n const flatOptions = useMemo(() => {\n const options = list.reduce(\n (\n acc: (IOptionItemProps | IOptionGroupProps | [])[],\n option: IOptionItemProps | IOptionGroupProps\n ) => {\n if (!isGroup(option)) {\n return [...acc, option];\n }\n return [...acc, ...option.options];\n },\n []\n );\n return filterOptions(options, filter);\n }, [filter, filterOptions, list]);\n\n const handleInputChange = useCallback((e) => {\n if (\n e.target &&\n !(e.key === \"ArrowDown\") &&\n !(e.key === \"ArrowUp\") &&\n !(e.key === \"Enter\")\n ) {\n setFilter(e.target.value);\n }\n }, []);\n\n const handleMouseEnter = useCallback((e) => {\n if (e === undefined || e === null) {\n return setHover({ item: null, by: \"mouse\" });\n }\n setHover({ item: e, by: \"mouse\" });\n }, []);\n\n const handleHoverCallback = useCallback(\n (e: number | string | undefined): void => {\n setHover({ item: e, by: \"mouse\" });\n },\n []\n );\n\n const handleRenderOption = useCallback(\n (item: IOptionItemProps | IOptionGroupProps) => {\n if (isGroup(item)) {\n return (\n <OptionGroup\n checked={selectedOptions}\n name={item.name}\n key={item.id}\n setHover={handleHoverCallback}\n id={item.id}\n hover={hover.item}\n options={item.options}\n renderOptions={handleRenderOption}\n type={type}\n onChange={handleChange}\n filter={filter}\n />\n );\n }\n return (\n <Option\n name={item.name}\n ref={itemRef}\n key={item.id}\n onMouseEnter={handleMouseEnter}\n id={item.id}\n hover={item.id === hover.item}\n className={optionClassName}\n renderOption={renderOption(\n { ...item, name: highlightText(item.name, filter) },\n {\n id: `option_${item.id}`,\n checked: selectedOptions && selectedOptions.includes(item.id),\n hover: hover.item === item.id,\n onChange: () => null,\n }\n )}\n />\n );\n },\n [\n handleMouseEnter,\n hover.item,\n optionClassName,\n renderOption,\n filter,\n selectedOptions,\n handleHoverCallback,\n type,\n handleChange,\n ]\n );\n\n const handleOnMouseLeave = useCallback(() => {\n setHover({ item: undefined, by: \"mouse\" });\n }, []);\n\n const handleScroll = useCallback((list: Scrollbars, itemOffset: number) => {\n if (list.getClientHeight() + list.getScrollTop() < itemOffset + 40) {\n return list.scrollTop(itemOffset - list.getClientHeight() + 30);\n }\n if (list.getScrollTop() > itemOffset) {\n return list.scrollTop(itemOffset);\n }\n }, []);\n\n useEffect(() => {\n if (hover.by === \"keyboard\" && hover.item !== undefined) {\n const item: HTMLLabelElement | null = itemRef.current;\n const list = listRef.current;\n if (itemRef && item && list) {\n handleScroll(list, item.offsetTop);\n }\n }\n }, [handleScroll, hover]);\n\n const handleOnKeyDown = useCallback(\n (e) => {\n if (e.key === \"Enter\") {\n e.preventDefault();\n if (hover.item === undefined && filter === \"\") {\n return;\n }\n if (hover.item === \"addNew\") {\n handleEmpty(null);\n return;\n }\n if (hover.item === null && handleDefaultOptionChange) {\n handleDefaultOptionChange();\n return;\n }\n if (handleChange) {\n handleChange(hover.item);\n setFilter(\"\");\n }\n return;\n }\n setHover({\n item: handleKeyboardMovement(\n e,\n hover.item,\n flatOptions,\n showAddNew,\n showDefaultOption\n ),\n by: \"keyboard\",\n });\n },\n [\n filter,\n flatOptions,\n handleChange,\n handleDefaultOptionChange,\n handleEmpty,\n hover,\n showAddNew,\n showDefaultOption,\n ]\n );\n\n const handleClick = useCallback(() => {\n if (hover.item === null && handleDefaultOptionChange) {\n handleDefaultOptionChange();\n }\n if (handleChange) {\n handleChange(hover?.item);\n }\n setFilter(\"\");\n }, [handleChange, handleDefaultOptionChange, hover]);\n\n useEffect(() => {\n if (inputEl) {\n inputEl.onkeydown = handleOnKeyDown;\n inputEl.onkeyup = handleInputChange;\n }\n }, [handleInputChange, handleOnKeyDown, inputEl]);\n\n const isDefaultOptionSelected = useCallback(() => {\n if (preselectDefaultValue) {\n return selectedOptions.length < 1 || selectedOptions[0] === \"\";\n } else {\n return (\n selectedOptions[0] === null ||\n selectedOptions.length === flatOptions.length\n );\n }\n }, [flatOptions.length, preselectDefaultValue, selectedOptions]);\n\n const showNoResult = useMemo(\n () => noResultText && !showAddNew && list.length < 1,\n [list.length, noResultText, showAddNew]\n );\n\n const renderNoResult = useMemo(\n () => (\n <StyledAutocompleteNoResult>{noResultText}</StyledAutocompleteNoResult>\n ),\n [noResultText]\n );\n\n return (\n <StyledAutocompleteScrollShadow\n className={AutocompleteClassName}\n $isHidden={\n !defaultValue && !emptyValue && !noResultText && list.length < 1\n }\n >\n {({ onScroll }): JSX.Element => (\n <StyledAutocompleteBody\n key=\"body\"\n onChange={handleClick}\n onMouseLeave={handleOnMouseLeave}\n >\n <Scrollbars\n ref={listRef}\n key=\"scrollBar\"\n autoHeight\n autoHeightMax={autoHeightMax}\n onScroll={onScroll}\n >\n {defaultValue && !filter && (\n <Option\n name={defaultValue}\n ref={itemRef}\n hover={hover.item === null}\n onMouseEnter={handleMouseEnter}\n renderOption={renderOption(\n { name: defaultValue, id: null },\n {\n checked: isDefaultOptionSelected(),\n hover: hover.item === null,\n onChange: () => null,\n }\n )}\n />\n )}\n {list.map((item: IOptionItemProps) => handleRenderOption(item))}\n {showNoResult && renderNoResult}\n {showAddNew && renderAddNew}\n </Scrollbars>\n </StyledAutocompleteBody>\n )}\n </StyledAutocompleteScrollShadow>\n );\n};\n\nAutocomplete.displayName = \"Autocomplete\";\n"],"file":"Autocomplete.js"}
1
+ {"version":3,"sources":["../../../../src/components/Autocomplete/Autocomplete.tsx"],"names":["Autocomplete","type","options","inputEl","selected","emptyValue","noResultText","renderOption","option","name","defaultValue","sortDirection","handleChange","optionClassName","handleEmptyAction","disabledInternalSort","AutocompleteClassName","handleDefaultOptionChange","preselectDefaultValue","keepSameOptionsOrder","autoHeightMax","itemRef","listRef","selectedOptions","Array","isArray","handleSort","opts","sort","a","b","includes","id","sortList","localeCompare","sortedList","item","undefined","by","hover","setHover","filter","setFilter","handleEmpty","e","button","focus","onAddNewMouseEnter","isGroup","showAddNew","trim","every","v","toLowerCase","renderAddNew","filterOptions","trimmedFilter","isGrouped","hovered","reduce","acc","groupedOption","filteredOptions","length","list","showDefaultOption","flatOptions","handleInputChange","target","key","value","handleHoverCallback","toggleSelected","result","_id","handleMouseEnter","handleClick","preventDefault","handleRenderOption","index","checked","onChange","handleOnMouseLeave","handleScroll","itemOffset","getClientHeight","getScrollTop","scrollTop","current","offsetTop","handleOnKeyDown","onkeydown","onkeyup","isDefaultOptionSelected","showNoResult","renderNoResult","onScroll","map","displayName"],"mappings":"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","sourcesContent":["import React, {\n FC,\n useCallback,\n useState,\n useMemo,\n useEffect,\n useRef,\n ReactNode,\n ReactElement,\n} from \"react\";\nimport { Scrollbars } from \"react-custom-scrollbars\";\nimport highlightText from \"../../hooks/useHighlightText\";\nimport { handleKeyboardMovement } from \"./HandleKeyboard\";\nimport { IOptionItemProps, Option } from \"../Select/Option\";\nimport { IOptionGroupProps, OptionGroup } from \"../Select/OptionGroup\";\nimport {\n StyledAutocompleteBody,\n StyledAutocompleteNewItem,\n StyledAutocompleteNoResult,\n StyledAutocompleteScrollShadow,\n} from \"./Styles\";\n\nexport interface IAutocompleteProps {\n /** Select type: single or multiple */\n type?: \"single\" | \"multiple\";\n /** List of options or group options */\n options?: (IOptionGroupProps | IOptionItemProps)[];\n /** Selected values */\n selected?: (string | number)[] | string | number;\n /** Input Element. */\n inputEl?: HTMLInputElement | null;\n /** Text for empty value */\n emptyValue?: string;\n /** Text for No result */\n noResultText?: string;\n /** Render option */\n renderOption?: (\n option: Record<string, ReactNode>,\n data: Record<string, unknown>\n ) => string | ReactElement;\n /** Default value that renders on top of list */\n defaultValue?: string;\n /** Sort direction for labels */\n sortDirection?: \"asc\" | \"desc\";\n /** handleChange callback */\n handleChange?: (\n e: (string | number)[] | string | number | null | undefined\n ) => void;\n /** ClassName for single option */\n optionClassName?: string;\n /** handleEmptyAction */\n handleEmptyAction?: (e: string | number) => void;\n /** Disable sorting options */\n disabledInternalSort?: boolean;\n /** ClassName for Autocomplete component */\n AutocompleteClassName?: string;\n /** handleDefaultOptionChange callback */\n handleDefaultOptionChange?: () => void;\n /** Should default value be selected */\n preselectDefaultValue?: boolean;\n /** Should order stay the same after choosing an option */\n keepSameOptionsOrder?: boolean;\n /** Set max height property for scrollbars */\n autoHeightMax?: number;\n}\n\ninterface IHover {\n item: number | string | undefined | null;\n by: \"mouse\" | \"keyboard\" | undefined;\n}\n\nexport const Autocomplete: FC<IAutocompleteProps> = ({\n type,\n options = [],\n inputEl,\n selected = [],\n emptyValue,\n noResultText,\n renderOption = (option) => option?.name,\n defaultValue,\n sortDirection = \"asc\",\n handleChange,\n optionClassName,\n handleEmptyAction,\n disabledInternalSort,\n AutocompleteClassName,\n handleDefaultOptionChange,\n preselectDefaultValue,\n keepSameOptionsOrder = false,\n autoHeightMax = 340,\n}) => {\n const itemRef = useRef<HTMLLIElement>(null);\n const listRef = useRef<Scrollbars>(null);\n\n const selectedOptions = useMemo(() => {\n if (Array.isArray(selected)) {\n return selected;\n }\n return [selected];\n }, [selected]);\n\n const handleSort = useCallback((opts) => {\n if (keepSameOptionsOrder) {\n return opts;\n }\n return opts.sort((a: IOptionItemProps, b: IOptionItemProps) => {\n if (selectedOptions.includes(b.id) && !selectedOptions.includes(a.id)) {\n return 1;\n }\n if (selectedOptions.includes(a.id) && !selectedOptions.includes(b.id)) {\n return -1;\n }\n return 0;\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const sortList = useCallback(\n (options) => {\n if (disabledInternalSort) {\n return handleSort([...options]);\n }\n return handleSort(\n [...options].sort((a: IOptionItemProps, b: IOptionItemProps) =>\n sortDirection === \"asc\"\n ? a.name.localeCompare(b.name)\n : b.name.localeCompare(a.name)\n )\n );\n },\n [sortDirection, disabledInternalSort, handleSort]\n );\n\n const sortedList = useMemo(() => sortList(options), [options, sortList]);\n\n const [hover, setHover] = useState<IHover>({\n item: undefined,\n by: undefined,\n });\n const [filter, setFilter] = useState(\"\");\n\n const handleEmpty = useCallback(\n (e) => {\n if (e && e.button !== 0) {\n return;\n }\n if (handleEmptyAction) {\n inputEl?.focus();\n setFilter(\"\");\n handleEmptyAction(filter);\n }\n },\n [filter, handleEmptyAction, inputEl]\n );\n\n const onAddNewMouseEnter = useCallback(\n () => setHover({ item: \"addNew\", by: \"mouse\" }),\n []\n );\n\n function isGroup(\n item: IOptionGroupProps | IOptionItemProps\n ): item is IOptionGroupProps {\n return (item as IOptionGroupProps).options !== undefined;\n }\n\n const showAddNew = useMemo(() => {\n return !!(\n emptyValue &&\n filter.trim() &&\n options.every((option) => {\n if (isGroup(option)) {\n return option.options.every(\n (v) => v.name.toLowerCase() !== filter.trim().toLowerCase()\n );\n }\n return option.name.toLowerCase() !== filter.trim().toLowerCase();\n })\n );\n }, [emptyValue, filter, options]);\n\n const renderAddNew = useMemo(() => {\n return (\n <StyledAutocompleteNewItem\n ref={hover.item === \"addNew\" ? itemRef : null}\n key=\"emptyValue\"\n hover={hover.item === \"addNew\"}\n onMouseDown={handleEmpty}\n onMouseEnter={onAddNewMouseEnter}\n >\n {emptyValue}\n </StyledAutocompleteNewItem>\n );\n }, [emptyValue, handleEmpty, hover, onAddNewMouseEnter]);\n\n const filterOptions = useCallback(\n (options, filter) => {\n const trimmedFilter = filter.trim();\n const isGrouped = options[0] && isGroup(options[0]);\n if (isGrouped) {\n let hovered = false;\n return options.reduce((acc, groupedOption) => {\n const filteredOptions = groupedOption.options.filter((v) =>\n v.name.toLowerCase().includes(trimmedFilter.toLowerCase())\n );\n if (filteredOptions.length > 0) {\n if (!hovered && filter) {\n setHover({ item: filteredOptions[0].id, by: \"keyboard\" });\n }\n hovered = true;\n return [...acc, { ...groupedOption, options: filteredOptions }];\n }\n return [...acc];\n }, []);\n } else {\n const filteredOptions = options.filter((v) =>\n v.name.toLowerCase().includes(trimmedFilter.toLowerCase())\n );\n if (filter && filteredOptions.length > 0) {\n setHover({ item: filteredOptions[0].id, by: \"keyboard\" });\n }\n if (filteredOptions.length === 0 && emptyValue) {\n setHover({ item: \"addNew\", by: \"keyboard\" });\n }\n return filteredOptions;\n }\n },\n [emptyValue]\n );\n\n const list = useMemo(\n () => filterOptions(sortedList, filter),\n [filter, filterOptions, sortedList]\n );\n\n const showDefaultOption = useMemo(\n () => !!defaultValue && !filter,\n [defaultValue, filter]\n );\n\n const flatOptions = useMemo(() => {\n const options = list.reduce(\n (\n acc: (IOptionItemProps | IOptionGroupProps | [])[],\n option: IOptionItemProps | IOptionGroupProps\n ) => {\n if (!isGroup(option)) {\n return [...acc, option];\n }\n return [...acc, ...option.options];\n },\n []\n );\n return filterOptions(options, filter);\n }, [filter, filterOptions, list]);\n\n const handleInputChange = useCallback((e) => {\n if (\n e.target &&\n !(e.key === \"ArrowDown\") &&\n !(e.key === \"ArrowUp\") &&\n !(e.key === \"Enter\")\n ) {\n setFilter(e.target.value);\n }\n }, []);\n\n const handleHoverCallback = useCallback(\n (e: number | string | undefined): void => {\n setHover({ item: e, by: \"mouse\" });\n },\n []\n );\n\n const toggleSelected = useCallback(\n (id) => {\n let result;\n\n if (id !== null) {\n if (type === \"multiple\") {\n if (selectedOptions.includes(id)) {\n result = selectedOptions.filter((_id) => _id !== id);\n } else {\n result = [...selectedOptions, id];\n }\n } else {\n if (selectedOptions.includes(id)) {\n result = null;\n } else {\n result = id;\n }\n }\n setFilter(\"\");\n } else {\n if (typeof handleDefaultOptionChange === \"function\") {\n handleDefaultOptionChange();\n return;\n }\n }\n\n if (typeof handleChange === \"function\") {\n handleChange(result);\n }\n },\n [handleChange, handleDefaultOptionChange, selectedOptions, type]\n );\n\n const handleMouseEnter = useCallback((e) => {\n if (e === undefined || e === null) {\n return setHover({ item: null, by: \"mouse\" });\n }\n setHover({ item: e, by: \"mouse\" });\n }, []);\n\n const handleClick = useCallback(\n (e) => {\n e.preventDefault();\n toggleSelected(hover.item);\n },\n [toggleSelected, hover]\n );\n\n const handleRenderOption = useCallback(\n (item: IOptionItemProps | IOptionGroupProps, index) => {\n if (isGroup(item)) {\n return (\n <OptionGroup\n checked={selectedOptions}\n name={item.name}\n key={item.id}\n setHover={handleHoverCallback}\n id={item.id}\n hover={hover.item}\n options={item.options}\n renderOptions={handleRenderOption}\n type={type}\n onChange={handleChange}\n filter={filter}\n />\n );\n }\n return (\n <Option\n name={item.name}\n ref={itemRef}\n key={index}\n onMouseEnter={handleMouseEnter}\n onClick={handleClick}\n id={item.id}\n hover={item.id === hover.item}\n className={optionClassName}\n renderOption={renderOption(\n { ...item, name: highlightText(item.name, filter) },\n {\n id: `option_${item.id}`,\n checked: selectedOptions && selectedOptions.includes(item.id),\n hover: hover.item === item.id,\n onChange: () => null,\n }\n )}\n />\n );\n },\n [\n handleClick,\n handleMouseEnter,\n hover.item,\n optionClassName,\n renderOption,\n filter,\n selectedOptions,\n handleHoverCallback,\n type,\n handleChange,\n ]\n );\n\n const handleOnMouseLeave = useCallback(() => {\n setHover({ item: undefined, by: \"mouse\" });\n }, []);\n\n const handleScroll = useCallback((list: Scrollbars, itemOffset: number) => {\n if (list.getClientHeight() + list.getScrollTop() < itemOffset + 40) {\n return list.scrollTop(itemOffset - list.getClientHeight() + 30);\n }\n if (list.getScrollTop() > itemOffset) {\n return list.scrollTop(itemOffset);\n }\n }, []);\n\n useEffect(() => {\n if (hover.by === \"keyboard\" && hover.item !== undefined) {\n const item: HTMLLIElement | null = itemRef.current;\n const list = listRef.current;\n if (itemRef && item && list) {\n handleScroll(list, item.offsetTop);\n }\n }\n }, [handleScroll, hover]);\n\n const handleOnKeyDown = useCallback(\n (e) => {\n if (e.key === \"Enter\") {\n e.preventDefault();\n\n if (hover.item === undefined && filter === \"\") {\n return;\n }\n if (hover.item === \"addNew\") {\n handleEmpty(null);\n return;\n }\n if (hover.item === null && handleDefaultOptionChange) {\n handleDefaultOptionChange();\n return;\n }\n\n if (hover.item) {\n toggleSelected(hover.item);\n setFilter(\"\");\n }\n return;\n }\n setHover({\n item: handleKeyboardMovement(\n e,\n hover.item,\n flatOptions,\n showAddNew,\n showDefaultOption\n ),\n by: \"keyboard\",\n });\n },\n [\n filter,\n flatOptions,\n toggleSelected,\n handleDefaultOptionChange,\n handleEmpty,\n hover,\n showAddNew,\n showDefaultOption,\n ]\n );\n\n useEffect(() => {\n if (inputEl) {\n inputEl.onkeydown = handleOnKeyDown;\n inputEl.onkeyup = handleInputChange;\n }\n }, [handleInputChange, handleOnKeyDown, inputEl]);\n\n const isDefaultOptionSelected = useCallback(() => {\n if (preselectDefaultValue) {\n return selectedOptions.length < 1 || selectedOptions[0] === \"\";\n } else {\n return (\n selectedOptions[0] === null ||\n selectedOptions.length === flatOptions.length\n );\n }\n }, [flatOptions.length, preselectDefaultValue, selectedOptions]);\n\n const showNoResult = useMemo(\n () => noResultText && !showAddNew && list.length < 1,\n [list.length, noResultText, showAddNew]\n );\n\n const renderNoResult = useMemo(\n () => (\n <StyledAutocompleteNoResult>{noResultText}</StyledAutocompleteNoResult>\n ),\n [noResultText]\n );\n\n return (\n <StyledAutocompleteScrollShadow\n className={AutocompleteClassName}\n $isHidden={\n !defaultValue && !emptyValue && !noResultText && list.length < 1\n }\n >\n {({ onScroll }): JSX.Element => (\n <StyledAutocompleteBody key=\"body\" onMouseLeave={handleOnMouseLeave}>\n <Scrollbars\n ref={listRef}\n key=\"scrollBar\"\n autoHeight\n autoHeightMax={autoHeightMax}\n onScroll={onScroll}\n >\n {defaultValue && !filter && (\n <Option\n name={defaultValue}\n ref={itemRef}\n hover={hover.item === null}\n onMouseEnter={handleMouseEnter}\n onClick={(e) => {\n e.preventDefault();\n toggleSelected(null);\n }}\n renderOption={renderOption(\n { name: defaultValue, id: null },\n {\n checked: isDefaultOptionSelected(),\n hover: hover.item === null,\n onChange: () => null,\n }\n )}\n />\n )}\n {list.map((item: IOptionItemProps, index) =>\n handleRenderOption(item, index)\n )}\n {showNoResult && renderNoResult}\n {showAddNew && renderAddNew}\n </Scrollbars>\n </StyledAutocompleteBody>\n )}\n </StyledAutocompleteScrollShadow>\n );\n};\n\nAutocomplete.displayName = \"Autocomplete\";\n"],"file":"Autocomplete.js"}
@@ -9,10 +9,12 @@ exports.StyledAutocompleteScrollShadow = exports.StyledAutocompleteNoResult = ex
9
9
 
10
10
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
11
11
 
12
- var _FontStyle = require("../FontStyle");
13
-
14
12
  var _ScrollShadow = require("../ScrollShadow");
15
13
 
14
+ var _List = require("../List");
15
+
16
+ var _Styles = require("../Select/Option/Styles");
17
+
16
18
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
17
19
 
18
20
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -27,16 +29,14 @@ var StyledAutocompleteScrollShadow = (0, _styledComponents.default)(_ScrollShado
27
29
  });
28
30
  exports.StyledAutocompleteScrollShadow = StyledAutocompleteScrollShadow;
29
31
  StyledAutocompleteScrollShadow.displayName = "StyledAutocompleteScrollShadow";
30
-
31
- var StyledAutocompleteBody = _styledComponents.default.div.withConfig({
32
+ var StyledAutocompleteBody = (0, _styledComponents.default)(_List.List).withConfig({
32
33
  displayName: "Styles__StyledAutocompleteBody",
33
34
  componentId: "sc-1bc1vz9-1"
34
35
  })(["max-height:340px;overflow:auto;margin-bottom:6px;"]);
35
-
36
36
  exports.StyledAutocompleteBody = StyledAutocompleteBody;
37
37
  StyledAutocompleteBody.displayName = "StyledAutocompleteBody";
38
38
 
39
- var StyledAutocompleteNoResult = _styledComponents.default.div.withConfig({
39
+ var StyledAutocompleteNoResult = _styledComponents.default.li.withConfig({
40
40
  displayName: "Styles__StyledAutocompleteNoResult",
41
41
  componentId: "sc-1bc1vz9-2"
42
42
  })(["", ";padding:6px 16px;margin:4px 0;&:hover{background-color:var(--color-theme-200);}color:var(--color-theme-600);"], {
@@ -46,17 +46,15 @@ var StyledAutocompleteNoResult = _styledComponents.default.div.withConfig({
46
46
 
47
47
  exports.StyledAutocompleteNoResult = StyledAutocompleteNoResult;
48
48
  StyledAutocompleteNoResult.displayName = "StyledAutocompleteNoResult";
49
-
50
- var StyledAutocompleteNewItem = _styledComponents.default.label.withConfig({
49
+ var StyledAutocompleteNewItem = (0, _styledComponents.default)(_Styles.StyledOption).withConfig({
51
50
  displayName: "Styles__StyledAutocompleteNewItem",
52
51
  componentId: "sc-1bc1vz9-3"
53
- })(["", ";", " padding:6px 16px;margin:4px 0;font-weight:normal;color:var(--color-primary);&:before{content:\"+ \";}", ""], {
52
+ })(["", ";justify-content:start;&:before{content:\"+ \";margin-right:4px;}", ""], {
54
53
  "cursor": "pointer",
55
54
  "userSelect": "none"
56
- }, _FontStyle.FontStyle, function (props) {
55
+ }, function (props) {
57
56
  return props.hover && (0, _styledComponents.css)(["background-color:var(--color-theme-200);content:\"+ \";"]);
58
57
  });
59
-
60
58
  exports.StyledAutocompleteNewItem = StyledAutocompleteNewItem;
61
59
  StyledAutocompleteNewItem.displayName = "StyledAutocompleteNewItem";
62
60
  //# sourceMappingURL=Styles.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Autocomplete/Styles.ts"],"names":["StyledAutocompleteScrollShadow","ScrollShadow","props","$isHidden","css","displayName","StyledAutocompleteBody","styled","div","StyledAutocompleteNoResult","StyledAutocompleteNewItem","label","FontStyle","hover"],"mappings":";;;;;;;;;AAAA;;AAEA;;AACA;;;;;;AAEO,IAAMA,8BAA8B,GAAG,+BAAOC,0BAAP,CAAH;AAAA;AAAA;AAAA,4BAKvC,UAACC,KAAD;AAAA,SACAA,KAAK,CAACC,SAAN,QACAC,qBADA,aAEM;AAAA;AAAA,GAFN,CADA;AAAA,CALuC,CAApC;;AAYPJ,8BAA8B,CAACK,WAA/B,GAA6C,gCAA7C;;AAEO,IAAMC,sBAAsB,GAAGC,0BAAOC,GAAV;AAAA;AAAA;AAAA,yDAA5B;;;AAMPF,sBAAsB,CAACD,WAAvB,GAAqC,wBAArC;;AAEO,IAAMI,0BAA0B,GAAGF,0BAAOC,GAAV;AAAA;AAAA;AAAA,0HACjC;AAAA;AAAA;AAAA,CADiC,CAAhC;;;AAaPC,0BAA0B,CAACJ,WAA3B,GAAyC,4BAAzC;;AAEO,IAAMK,yBAAyB,GAAGH,0BAAOI,KAAV;AAAA;AAAA;AAAA,4HAChC;AAAA;AAAA;AAAA,CADgC,EAGlCC,oBAHkC,EAclC,UAACV,KAAD;AAAA,SACAA,KAAK,CAACW,KAAN,QACAT,qBADA,8DADA;AAAA,CAdkC,CAA/B;;;AAsBPM,yBAAyB,CAACL,WAA1B,GAAwC,2BAAxC","sourcesContent":["import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\nimport { FontStyle } from \"../FontStyle\";\nimport { ScrollShadow } from \"../ScrollShadow\";\n\nexport const StyledAutocompleteScrollShadow = styled(ScrollShadow)<{\n $isHidden: boolean;\n}>`\n margin-top: 4px;\n\n ${(props) =>\n props.$isHidden &&\n css`\n ${tw`tw-hidden`};\n `}\n`;\n\nStyledAutocompleteScrollShadow.displayName = \"StyledAutocompleteScrollShadow\";\n\nexport const StyledAutocompleteBody = styled.div`\n max-height: 340px;\n overflow: auto;\n margin-bottom: 6px;\n`;\n\nStyledAutocompleteBody.displayName = \"StyledAutocompleteBody\";\n\nexport const StyledAutocompleteNoResult = styled.div`\n ${tw`tw-cursor-pointer tw-select-none`};\n\n padding: 6px 16px;\n margin: 4px 0;\n\n &:hover {\n background-color: var(--color-theme-200);\n }\n\n color: var(--color-theme-600);\n`;\n\nStyledAutocompleteNoResult.displayName = \"StyledAutocompleteNoResult\";\n\nexport const StyledAutocompleteNewItem = styled.label<{ hover: boolean }>`\n ${tw`tw-cursor-pointer tw-select-none`};\n\n ${FontStyle}\n\n padding: 6px 16px;\n margin: 4px 0;\n font-weight: normal;\n color: var(--color-primary);\n\n &:before {\n content: \"+ \";\n }\n\n ${(props) =>\n props.hover &&\n css`\n background-color: var(--color-theme-200);\n content: \"+ \";\n `}\n`;\n\nStyledAutocompleteNewItem.displayName = \"StyledAutocompleteNewItem\";\n"],"file":"Styles.js"}
1
+ {"version":3,"sources":["../../../../src/components/Autocomplete/Styles.ts"],"names":["StyledAutocompleteScrollShadow","ScrollShadow","props","$isHidden","css","displayName","StyledAutocompleteBody","List","StyledAutocompleteNoResult","styled","li","StyledAutocompleteNewItem","StyledOption","hover"],"mappings":";;;;;;;;;AAAA;;AAEA;;AACA;;AACA;;;;;;AAEO,IAAMA,8BAA8B,GAAG,+BAAOC,0BAAP,CAAH;AAAA;AAAA;AAAA,4BAKvC,UAACC,KAAD;AAAA,SACAA,KAAK,CAACC,SAAN,QACAC,qBADA,aAEM;AAAA;AAAA,GAFN,CADA;AAAA,CALuC,CAApC;;AAYPJ,8BAA8B,CAACK,WAA/B,GAA6C,gCAA7C;AAEO,IAAMC,sBAAsB,GAAG,+BAAOC,UAAP,CAAH;AAAA;AAAA;AAAA,yDAA5B;;AAMPD,sBAAsB,CAACD,WAAvB,GAAqC,wBAArC;;AAEO,IAAMG,0BAA0B,GAAGC,0BAAOC,EAAV;AAAA;AAAA;AAAA,0HACjC;AAAA;AAAA;AAAA,CADiC,CAAhC;;;AAaPF,0BAA0B,CAACH,WAA3B,GAAyC,4BAAzC;AAEO,IAAMM,yBAAyB,GAAG,+BAAOC,oBAAP,CAAH;AAAA;AAAA;AAAA,kFAChC;AAAA;AAAA;AAAA,CADgC,EASlC,UAACV,KAAD;AAAA,SACAA,KAAK,CAACW,KAAN,QACAT,qBADA,8DADA;AAAA,CATkC,CAA/B;;AAiBPO,yBAAyB,CAACN,WAA1B,GAAwC,2BAAxC","sourcesContent":["import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\nimport { ScrollShadow } from \"../ScrollShadow\";\nimport { List } from \"../List\";\nimport { StyledOption } from \"../Select/Option/Styles\";\n\nexport const StyledAutocompleteScrollShadow = styled(ScrollShadow)<{\n $isHidden: boolean;\n}>`\n margin-top: 4px;\n\n ${(props) =>\n props.$isHidden &&\n css`\n ${tw`tw-hidden`};\n `}\n`;\n\nStyledAutocompleteScrollShadow.displayName = \"StyledAutocompleteScrollShadow\";\n\nexport const StyledAutocompleteBody = styled(List)`\n max-height: 340px;\n overflow: auto;\n margin-bottom: 6px;\n`;\n\nStyledAutocompleteBody.displayName = \"StyledAutocompleteBody\";\n\nexport const StyledAutocompleteNoResult = styled.li`\n ${tw`tw-cursor-pointer tw-select-none`};\n\n padding: 6px 16px;\n margin: 4px 0;\n\n &:hover {\n background-color: var(--color-theme-200);\n }\n\n color: var(--color-theme-600);\n`;\n\nStyledAutocompleteNoResult.displayName = \"StyledAutocompleteNoResult\";\n\nexport const StyledAutocompleteNewItem = styled(StyledOption)<{ hover }>`\n ${tw`tw-cursor-pointer tw-select-none`};\n justify-content: start;\n\n &:before {\n content: \"+ \";\n margin-right: 4px;\n }\n\n ${(props) =>\n props.hover &&\n css`\n background-color: var(--color-theme-200);\n content: \"+ \";\n `}\n`;\n\nStyledAutocompleteNewItem.displayName = \"StyledAutocompleteNewItem\";\n"],"file":"Styles.js"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.screen = void 0;
7
+ var size = {
8
+ sm: "640px",
9
+ md: "768px",
10
+ lg: "1024px",
11
+ xl: "1280px",
12
+ xxl: "1536px"
13
+ };
14
+ var screen = {
15
+ sm: "@media (min-width: ".concat(size.sm, ")"),
16
+ md: "@media (min-width: ".concat(size.md, ")"),
17
+ lg: "@media (min-width: ".concat(size.lg, ")"),
18
+ xl: "@media (min-width: ".concat(size.xl, ")"),
19
+ xxl: "@media (min-width: ".concat(size.xxl, ")")
20
+ };
21
+ exports.screen = screen;
22
+ //# sourceMappingURL=BreakPoints.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/BreakPoints.ts"],"names":["size","sm","md","lg","xl","xxl","screen"],"mappings":";;;;;;AAEA,IAAMA,IAAI,GAAG;AACXC,EAAAA,EAAE,EAAE,OADO;AAEXC,EAAAA,EAAE,EAAE,OAFO;AAGXC,EAAAA,EAAE,EAAE,QAHO;AAIXC,EAAAA,EAAE,EAAE,QAJO;AAKXC,EAAAA,GAAG,EAAE;AALM,CAAb;AAQO,IAAMC,MAAM,GAAG;AACpBL,EAAAA,EAAE,+BAAwBD,IAAI,CAACC,EAA7B,MADkB;AAEpBC,EAAAA,EAAE,+BAAwBF,IAAI,CAACE,EAA7B,MAFkB;AAGpBC,EAAAA,EAAE,+BAAwBH,IAAI,CAACG,EAA7B,MAHkB;AAIpBC,EAAAA,EAAE,+BAAwBJ,IAAI,CAACI,EAA7B,MAJkB;AAKpBC,EAAAA,GAAG,+BAAwBL,IAAI,CAACK,GAA7B;AALiB,CAAf","sourcesContent":["import { theme } from \"twin.macro\";\n\nconst size = {\n sm: theme(\"screens.sm\"),\n md: theme(\"screens.md\"),\n lg: theme(\"screens.lg\"),\n xl: theme(\"screens.xl\"),\n xxl: theme(\"screens.2xl\"),\n};\n\nexport const screen = {\n sm: `@media (min-width: ${size.sm})`,\n md: `@media (min-width: ${size.md})`,\n lg: `@media (min-width: ${size.lg})`,\n xl: `@media (min-width: ${size.xl})`,\n xxl: `@media (min-width: ${size.xxl})`,\n};\n"],"file":"BreakPoints.js"}
@@ -7,11 +7,9 @@ exports.Chip = void 0;
7
7
 
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
 
10
- var _Avatar = require("../Avatar");
11
-
12
10
  var _Styles = require("./Styles");
13
11
 
14
- var _excluded = ["url", "label", "onClose"];
12
+ var _excluded = ["leftAdornment", "label", "onClose"];
15
13
 
16
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
15
 
@@ -22,7 +20,7 @@ function _objectWithoutProperties(source, excluded) { if (source == null) return
22
20
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
23
21
 
24
22
  var Chip = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
25
- var url = _ref.url,
23
+ var leftAdornment = _ref.leftAdornment,
26
24
  label = _ref.label,
27
25
  onClose = _ref.onClose,
28
26
  rest = _objectWithoutProperties(_ref, _excluded);
@@ -31,10 +29,7 @@ var Chip = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
31
29
  return /*#__PURE__*/_react.default.createElement(_Styles.ChipContainer, _extends({}, rest, {
32
30
  ref: ref,
33
31
  $showClose: showClose
34
- }), url ? /*#__PURE__*/_react.default.createElement(_Avatar.Avatar, {
35
- size: 18,
36
- url: url
37
- }) : null, /*#__PURE__*/_react.default.createElement(_Styles.ChipLabel, null, label), showClose ? /*#__PURE__*/_react.default.createElement(_Styles.ChipTrigger, {
32
+ }), leftAdornment, /*#__PURE__*/_react.default.createElement(_Styles.ChipLabel, null, label), showClose ? /*#__PURE__*/_react.default.createElement(_Styles.ChipTrigger, {
38
33
  onClick: onClose
39
34
  }, /*#__PURE__*/_react.default.createElement(_Styles.ChipCloseIcon, {
40
35
  fill: "currentColor"
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Chip/Chip.tsx"],"names":["Chip","React","forwardRef","ref","url","label","onClose","rest","showClose","displayName"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;;;;;;;;;;;AAQO,IAAMA,IAAI,gBAAGC,eAAMC,UAAN,CAGlB,gBAAmCC,GAAnC,EAA2C;AAAA,MAAxCC,GAAwC,QAAxCA,GAAwC;AAAA,MAAnCC,KAAmC,QAAnCA,KAAmC;AAAA,MAA5BC,OAA4B,QAA5BA,OAA4B;AAAA,MAAhBC,IAAgB;;AAC3C,MAAMC,SAAS,GAAG,OAAOF,OAAP,KAAmB,UAArC;AACA,sBACE,6BAAC,qBAAD,eAAmBC,IAAnB;AAAyB,IAAA,GAAG,EAAEJ,GAA9B;AAAmC,IAAA,UAAU,EAAEK;AAA/C,MACGJ,GAAG,gBAAG,6BAAC,cAAD;AAAQ,IAAA,IAAI,EAAE,EAAd;AAAkB,IAAA,GAAG,EAAEA;AAAvB,IAAH,GAAoC,IAD1C,eAEE,6BAAC,iBAAD,QAAYC,KAAZ,CAFF,EAGGG,SAAS,gBACR,6BAAC,mBAAD;AAAa,IAAA,OAAO,EAAEF;AAAtB,kBACE,6BAAC,qBAAD;AAAe,IAAA,IAAI,EAAC;AAApB,IADF,CADQ,GAIN,IAPN,CADF;AAWD,CAhBmB,CAAb;;;AAkBPN,IAAI,CAACS,WAAL,GAAmB,MAAnB","sourcesContent":["import React from \"react\";\nimport { Avatar } from \"../Avatar\";\nimport { ChipCloseIcon, ChipContainer, ChipLabel, ChipTrigger } from \"./Styles\";\n\nexport interface ChipProps {\n url?: string;\n label: string;\n onClose?: React.MouseEventHandler<HTMLButtonElement>;\n}\n\nexport const Chip = React.forwardRef<\n HTMLDivElement,\n ChipProps & Omit<React.ComponentPropsWithoutRef<\"div\">, keyof ChipProps>\n>(({ url, label, onClose, ...rest }, ref) => {\n const showClose = typeof onClose === \"function\";\n return (\n <ChipContainer {...rest} ref={ref} $showClose={showClose}>\n {url ? <Avatar size={18} url={url} /> : null}\n <ChipLabel>{label}</ChipLabel>\n {showClose ? (\n <ChipTrigger onClick={onClose}>\n <ChipCloseIcon fill=\"currentColor\" />\n </ChipTrigger>\n ) : null}\n </ChipContainer>\n );\n});\n\nChip.displayName = \"Chip\";\n"],"file":"Chip.js"}
1
+ {"version":3,"sources":["../../../../src/components/Chip/Chip.tsx"],"names":["Chip","React","forwardRef","ref","leftAdornment","label","onClose","rest","showClose","displayName"],"mappings":";;;;;;;AAAA;;AACA;;;;;;;;;;;;AAQO,IAAMA,IAAI,gBAAGC,eAAMC,UAAN,CAGlB,gBAA6CC,GAA7C,EAAqD;AAAA,MAAlDC,aAAkD,QAAlDA,aAAkD;AAAA,MAAnCC,KAAmC,QAAnCA,KAAmC;AAAA,MAA5BC,OAA4B,QAA5BA,OAA4B;AAAA,MAAhBC,IAAgB;;AACrD,MAAMC,SAAS,GAAG,OAAOF,OAAP,KAAmB,UAArC;AAEA,sBACE,6BAAC,qBAAD,eAAmBC,IAAnB;AAAyB,IAAA,GAAG,EAAEJ,GAA9B;AAAmC,IAAA,UAAU,EAAEK;AAA/C,MACGJ,aADH,eAEE,6BAAC,iBAAD,QAAYC,KAAZ,CAFF,EAGGG,SAAS,gBACR,6BAAC,mBAAD;AAAa,IAAA,OAAO,EAAEF;AAAtB,kBACE,6BAAC,qBAAD;AAAe,IAAA,IAAI,EAAC;AAApB,IADF,CADQ,GAIN,IAPN,CADF;AAWD,CAjBmB,CAAb;;;AAmBPN,IAAI,CAACS,WAAL,GAAmB,MAAnB","sourcesContent":["import React, { ReactNode } from \"react\";\nimport { ChipCloseIcon, ChipContainer, ChipLabel, ChipTrigger } from \"./Styles\";\n\nexport interface ChipProps {\n label: string;\n onClose?: React.MouseEventHandler<HTMLButtonElement>;\n leftAdornment?: ReactNode;\n}\n\nexport const Chip = React.forwardRef<\n HTMLDivElement,\n ChipProps & Omit<React.ComponentPropsWithoutRef<\"div\">, keyof ChipProps>\n>(({ leftAdornment, label, onClose, ...rest }, ref) => {\n const showClose = typeof onClose === \"function\";\n\n return (\n <ChipContainer {...rest} ref={ref} $showClose={showClose}>\n {leftAdornment}\n <ChipLabel>{label}</ChipLabel>\n {showClose ? (\n <ChipTrigger onClick={onClose}>\n <ChipCloseIcon fill=\"currentColor\" />\n </ChipTrigger>\n ) : null}\n </ChipContainer>\n );\n});\n\nChip.displayName = \"Chip\";\n"],"file":"Chip.js"}
@@ -11,14 +11,14 @@ var _BoxSizingStyle = require("../BoxSizingStyle");
11
11
 
12
12
  var _FontStyle = require("../FontStyle");
13
13
 
14
+ var _BreakPoints = require("../BreakPoints");
15
+
14
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
17
 
16
18
  var StyledDialog = _styledComponents.default.div.withConfig({
17
19
  displayName: "Styles__StyledDialog",
18
20
  componentId: "sc-jwpvgm-0"
19
- })(["max-height:calc(100vh - 156px);background-color:var(--page-paper-main);color:var(--color-theme-900);box-shadow:var(--shadow-primary);", " width:540px;display:flex;flex-direction:column;flex:1 1 auto;margin:126px auto 30px auto;position:relative;", " ", " @media only screen and (max-width:480px){width:310px;margin:60px auto 30px auto;}"], {
20
- "borderRadius": "0.5rem"
21
- }, _FontStyle.FontStyle, _BoxSizingStyle.BoxSizingStyle);
21
+ })(["display:flex;flex-direction:column;flex:1 1 auto;max-height:calc(100vh - 156px);background-color:var(--page-paper-main);color:var(--color-theme-900);box-shadow:var(--shadow-primary);border-radius:8px;width:310px;margin:60px auto 30px auto;position:relative;", " ", " ", "{width:540px;margin:126px auto 30px auto;}"], _FontStyle.FontStyle, _BoxSizingStyle.BoxSizingStyle, _BreakPoints.screen.sm);
22
22
 
23
23
  exports.StyledDialog = StyledDialog;
24
24
  StyledDialog.displayName = "StyledDialog";
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Dialog/Styles.ts"],"names":["StyledDialog","styled","div","FontStyle","BoxSizingStyle","displayName","StyledDialogTitle","StyledDialogContent","StyledDialogContentDivider","StyledDialogActions"],"mappings":";;;;;;;AAAA;;AAEA;;AACA;;;;AAEO,IAAMA,YAAY,GAAGC,0BAAOC,GAAV;AAAA;AAAA;AAAA,yVAKnB;AAAA;AAAA,CALmB,EAarBC,oBAbqB,EAcrBC,8BAdqB,CAAlB;;;AAqBPJ,YAAY,CAACK,WAAb,GAA2B,cAA3B;;AAEO,IAAMC,iBAAiB,GAAGL,0BAAOC,GAAV;AAAA;AAAA;AAAA,oCAG1BC,oBAH0B,EAI1BC,8BAJ0B,CAAvB;;;AAMPE,iBAAiB,CAACD,WAAlB,GAAgC,mBAAhC;;AAEO,IAAME,mBAAmB,GAAGN,0BAAOC,GAAV;AAAA;AAAA;AAAA,mFAM5BC,oBAN4B,EAO5BC,8BAP4B,CAAzB;;;AASPG,mBAAmB,CAACF,WAApB,GAAkC,qBAAlC;;AAEO,IAAMG,0BAA0B,GAAGP,0BAAOC,GAAV;AAAA;AAAA;AAAA,8DAAhC;;;AAIPM,0BAA0B,CAACH,WAA3B,GAAyC,4BAAzC;;AAEO,IAAMI,mBAAmB,GAAGR,0BAAOC,GAAV;AAAA;AAAA;AAAA,oCAG5BC,oBAH4B,EAI5BC,8BAJ4B,CAAzB;;;AAMPK,mBAAmB,CAACJ,WAApB,GAAkC,qBAAlC","sourcesContent":["import styled from \"styled-components\";\nimport tw from \"twin.macro\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport { FontStyle } from \"../FontStyle\";\n\nexport const StyledDialog = styled.div`\n max-height: calc(100vh - 156px);\n background-color: var(--page-paper-main);\n color: var(--color-theme-900);\n box-shadow: var(--shadow-primary);\n ${tw`tw-rounded-lg`}\n width: 540px;\n display: flex;\n flex-direction: column;\n flex: 1 1 auto;\n margin: 126px auto 30px auto;\n position: relative;\n\n ${FontStyle}\n ${BoxSizingStyle}\n\n @media only screen and (max-width: 480px) {\n width: 310px;\n margin: 60px auto 30px auto;\n }\n`;\nStyledDialog.displayName = \"StyledDialog\";\n\nexport const StyledDialogTitle = styled.div`\n padding: 20px 30px;\n\n ${FontStyle}\n ${BoxSizingStyle}\n`;\nStyledDialogTitle.displayName = \"StyledDialogTitle\";\n\nexport const StyledDialogContent = styled.div`\n padding: 20px 30px;\n max-height: 580px;\n overflow-y: auto;\n flex: 1 1 auto;\n\n ${FontStyle}\n ${BoxSizingStyle}\n`;\nStyledDialogContent.displayName = \"StyledDialogContent\";\n\nexport const StyledDialogContentDivider = styled.div`\n border-top: 1px solid var(--border-primary);\n height: 1px;\n`;\nStyledDialogContentDivider.displayName = \"StyledDialogContentDivider\";\n\nexport const StyledDialogActions = styled.div`\n padding: 20px 30px;\n\n ${FontStyle}\n ${BoxSizingStyle}\n`;\nStyledDialogActions.displayName = \"StyledDialogActions\";\n"],"file":"Styles.js"}
1
+ {"version":3,"sources":["../../../../src/components/Dialog/Styles.ts"],"names":["StyledDialog","styled","div","FontStyle","BoxSizingStyle","screen","sm","displayName","StyledDialogTitle","StyledDialogContent","StyledDialogContentDivider","StyledDialogActions"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;;;AAEO,IAAMA,YAAY,GAAGC,0BAAOC,GAAV;AAAA;AAAA;AAAA,kUAarBC,oBAbqB,EAcrBC,8BAdqB,EAgBrBC,oBAAOC,EAhBc,CAAlB;;;AAsBPN,YAAY,CAACO,WAAb,GAA2B,cAA3B;;AAEO,IAAMC,iBAAiB,GAAGP,0BAAOC,GAAV;AAAA;AAAA;AAAA,oCAG1BC,oBAH0B,EAI1BC,8BAJ0B,CAAvB;;;AAMPI,iBAAiB,CAACD,WAAlB,GAAgC,mBAAhC;;AAEO,IAAME,mBAAmB,GAAGR,0BAAOC,GAAV;AAAA;AAAA;AAAA,mFAM5BC,oBAN4B,EAO5BC,8BAP4B,CAAzB;;;AASPK,mBAAmB,CAACF,WAApB,GAAkC,qBAAlC;;AAEO,IAAMG,0BAA0B,GAAGT,0BAAOC,GAAV;AAAA;AAAA;AAAA,8DAAhC;;;AAIPQ,0BAA0B,CAACH,WAA3B,GAAyC,4BAAzC;;AAEO,IAAMI,mBAAmB,GAAGV,0BAAOC,GAAV;AAAA;AAAA;AAAA,oCAG5BC,oBAH4B,EAI5BC,8BAJ4B,CAAzB;;;AAMPO,mBAAmB,CAACJ,WAApB,GAAkC,qBAAlC","sourcesContent":["import styled from \"styled-components\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport { FontStyle } from \"../FontStyle\";\nimport { screen } from \"../BreakPoints\";\n\nexport const StyledDialog = styled.div`\n display: flex;\n flex-direction: column;\n flex: 1 1 auto;\n max-height: calc(100vh - 156px);\n background-color: var(--page-paper-main);\n color: var(--color-theme-900);\n box-shadow: var(--shadow-primary);\n border-radius: 8px;\n width: 310px;\n margin: 60px auto 30px auto;\n position: relative;\n\n ${FontStyle}\n ${BoxSizingStyle}\n\n ${screen.sm} {\n width: 540px;\n margin: 126px auto 30px auto;\n }\n`;\n\nStyledDialog.displayName = \"StyledDialog\";\n\nexport const StyledDialogTitle = styled.div`\n padding: 20px 30px;\n\n ${FontStyle}\n ${BoxSizingStyle}\n`;\nStyledDialogTitle.displayName = \"StyledDialogTitle\";\n\nexport const StyledDialogContent = styled.div`\n padding: 20px 30px;\n max-height: 580px;\n overflow-y: auto;\n flex: 1 1 auto;\n\n ${FontStyle}\n ${BoxSizingStyle}\n`;\nStyledDialogContent.displayName = \"StyledDialogContent\";\n\nexport const StyledDialogContentDivider = styled.div`\n border-top: 1px solid var(--border-primary);\n height: 1px;\n`;\nStyledDialogContentDivider.displayName = \"StyledDialogContentDivider\";\n\nexport const StyledDialogActions = styled.div`\n padding: 20px 30px;\n\n ${FontStyle}\n ${BoxSizingStyle}\n`;\nStyledDialogActions.displayName = \"StyledDialogActions\";\n"],"file":"Styles.js"}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+
12
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
13
+
14
+ var ArrowDownLongIcon = /*#__PURE__*/_react.default.forwardRef(function (props, svgRef) {
15
+ return /*#__PURE__*/_react.default.createElement("svg", _extends({
16
+ width: 24,
17
+ height: 24,
18
+ viewBox: "0 0 24 24",
19
+ xmlns: "http://www.w3.org/2000/svg",
20
+ fill: "var(--color-theme-600)",
21
+ ref: svgRef
22
+ }, props), /*#__PURE__*/_react.default.createElement("path", {
23
+ d: "M13 5v9h4l-5 5-5-5h4V5z",
24
+ fillRule: "evenodd"
25
+ }));
26
+ });
27
+
28
+ ArrowDownLongIcon.displayName = "ArrowDownLongIcon";
29
+ var _default = ArrowDownLongIcon;
30
+ exports.default = _default;
31
+ //# sourceMappingURL=ArrowDownLong.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/components/Icons/collection/ArrowDownLong.tsx"],"names":["ArrowDownLongIcon","React","forwardRef","props","svgRef","displayName"],"mappings":";;;;;;;AAAA;;;;;;AACA,IAAMA,iBAAiB,gBAAGC,eAAMC,UAAN,CACxB,UAACC,KAAD,EAAuCC,MAAvC;AAAA,sBACE;AACE,IAAA,KAAK,EAAE,EADT;AAEE,IAAA,MAAM,EAAE,EAFV;AAGE,IAAA,OAAO,EAAC,WAHV;AAIE,IAAA,KAAK,EAAC,4BAJR;AAKE,IAAA,IAAI,EAAC,wBALP;AAME,IAAA,GAAG,EAAEA;AANP,KAOMD,KAPN,gBASE;AAAM,IAAA,CAAC,EAAC,yBAAR;AAAkC,IAAA,QAAQ,EAAC;AAA3C,IATF,CADF;AAAA,CADwB,CAA1B;;AAeAH,iBAAiB,CAACK,WAAlB,GAAgC,mBAAhC;eACeL,iB","sourcesContent":["import React from \"react\";\nconst ArrowDownLongIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"var(--color-theme-600)\"\n ref={svgRef}\n {...props}\n >\n <path d=\"M13 5v9h4l-5 5-5-5h4V5z\" fillRule=\"evenodd\" />\n </svg>\n )\n);\nArrowDownLongIcon.displayName = \"ArrowDownLongIcon\";\nexport default ArrowDownLongIcon;\n"],"file":"ArrowDownLong.js"}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+
12
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
13
+
14
+ var ArrowUpLongIcon = /*#__PURE__*/_react.default.forwardRef(function (props, svgRef) {
15
+ return /*#__PURE__*/_react.default.createElement("svg", _extends({
16
+ width: 24,
17
+ height: 24,
18
+ viewBox: "0 0 24 24",
19
+ xmlns: "http://www.w3.org/2000/svg",
20
+ fill: "var(--color-theme-600)",
21
+ ref: svgRef
22
+ }, props), /*#__PURE__*/_react.default.createElement("path", {
23
+ d: "M13 19v-9h4l-5-5-5 5h4v9z",
24
+ fillRule: "evenodd"
25
+ }));
26
+ });
27
+
28
+ ArrowUpLongIcon.displayName = "ArrowUpLongIcon";
29
+ var _default = ArrowUpLongIcon;
30
+ exports.default = _default;
31
+ //# sourceMappingURL=ArrowUpLong.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/components/Icons/collection/ArrowUpLong.tsx"],"names":["ArrowUpLongIcon","React","forwardRef","props","svgRef","displayName"],"mappings":";;;;;;;AAAA;;;;;;AACA,IAAMA,eAAe,gBAAGC,eAAMC,UAAN,CACtB,UAACC,KAAD,EAAuCC,MAAvC;AAAA,sBACE;AACE,IAAA,KAAK,EAAE,EADT;AAEE,IAAA,MAAM,EAAE,EAFV;AAGE,IAAA,OAAO,EAAC,WAHV;AAIE,IAAA,KAAK,EAAC,4BAJR;AAKE,IAAA,IAAI,EAAC,wBALP;AAME,IAAA,GAAG,EAAEA;AANP,KAOMD,KAPN,gBASE;AAAM,IAAA,CAAC,EAAC,2BAAR;AAAoC,IAAA,QAAQ,EAAC;AAA7C,IATF,CADF;AAAA,CADsB,CAAxB;;AAeAH,eAAe,CAACK,WAAhB,GAA8B,iBAA9B;eACeL,e","sourcesContent":["import React from \"react\";\nconst ArrowUpLongIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"var(--color-theme-600)\"\n ref={svgRef}\n {...props}\n >\n <path d=\"M13 19v-9h4l-5-5-5 5h4v9z\" fillRule=\"evenodd\" />\n </svg>\n )\n);\nArrowUpLongIcon.displayName = \"ArrowUpLongIcon\";\nexport default ArrowUpLongIcon;\n"],"file":"ArrowUpLong.js"}
@@ -27,6 +27,12 @@ Object.defineProperty(exports, "ArrowCollapseMultipleIcon", {
27
27
  return _ArrowCollapseMultiple.default;
28
28
  }
29
29
  });
30
+ Object.defineProperty(exports, "ArrowDownLongIcon", {
31
+ enumerable: true,
32
+ get: function get() {
33
+ return _ArrowDownLong.default;
34
+ }
35
+ });
30
36
  Object.defineProperty(exports, "ArrowExpandeMultipleIcon", {
31
37
  enumerable: true,
32
38
  get: function get() {
@@ -57,6 +63,12 @@ Object.defineProperty(exports, "ArrowRightIcon", {
57
63
  return _ArrowRight.default;
58
64
  }
59
65
  });
66
+ Object.defineProperty(exports, "ArrowUpLongIcon", {
67
+ enumerable: true,
68
+ get: function get() {
69
+ return _ArrowUpLong.default;
70
+ }
71
+ });
60
72
  Object.defineProperty(exports, "AssignIcon", {
61
73
  enumerable: true,
62
74
  get: function get() {
@@ -888,6 +900,8 @@ var _AddCross = _interopRequireDefault(require("./AddCross"));
888
900
 
889
901
  var _ArrowCollapseMultiple = _interopRequireDefault(require("./ArrowCollapseMultiple"));
890
902
 
903
+ var _ArrowDownLong = _interopRequireDefault(require("./ArrowDownLong"));
904
+
891
905
  var _ArrowExpandeMultiple = _interopRequireDefault(require("./ArrowExpandeMultiple"));
892
906
 
893
907
  var _ArrowLeftBox = _interopRequireDefault(require("./ArrowLeftBox"));
@@ -898,6 +912,8 @@ var _ArrowRefresh = _interopRequireDefault(require("./ArrowRefresh"));
898
912
 
899
913
  var _ArrowRight = _interopRequireDefault(require("./ArrowRight"));
900
914
 
915
+ var _ArrowUpLong = _interopRequireDefault(require("./ArrowUpLong"));
916
+
901
917
  var _Assign = _interopRequireDefault(require("./Assign"));
902
918
 
903
919
  var _Attachment = _interopRequireDefault(require("./Attachment"));