@startlibs/form 1.0.12 → 1.1.1

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 (92) hide show
  1. package/lib/AutoComplete.mjs +550 -0
  2. package/lib/AutoComplete.mjs.map +1 -0
  3. package/lib/Checkbox.mjs +76 -0
  4. package/lib/Checkbox.mjs.map +1 -0
  5. package/lib/Combobox.mjs +544 -0
  6. package/lib/Combobox.mjs.map +1 -0
  7. package/lib/ComboboxWithCustom.mjs +77 -0
  8. package/lib/ComboboxWithCustom.mjs.map +1 -0
  9. package/lib/DatePicker.mjs +625 -0
  10. package/lib/DatePicker.mjs.map +1 -0
  11. package/lib/EditableBox.mjs +496 -0
  12. package/lib/EditableBox.mjs.map +1 -0
  13. package/lib/Errors.mjs +176 -0
  14. package/lib/Errors.mjs.map +1 -0
  15. package/lib/ExpandableBox.mjs +209 -0
  16. package/lib/ExpandableBox.mjs.map +1 -0
  17. package/lib/Field.mjs +65 -0
  18. package/lib/Field.mjs.map +1 -0
  19. package/lib/FieldBox.mjs +80 -0
  20. package/lib/FieldBox.mjs.map +1 -0
  21. package/lib/Form.mjs +322 -0
  22. package/lib/Form.mjs.map +1 -0
  23. package/lib/FormValue.mjs +111 -0
  24. package/lib/FormValue.mjs.map +1 -0
  25. package/lib/InputboxGroup.mjs +104 -0
  26. package/lib/InputboxGroup.mjs.map +1 -0
  27. package/lib/Radiobox.mjs +67 -0
  28. package/lib/Radiobox.mjs.map +1 -0
  29. package/lib/RichText.mjs +634 -0
  30. package/lib/RichText.mjs.map +1 -0
  31. package/lib/TextInput.mjs +359 -0
  32. package/lib/TextInput.mjs.map +1 -0
  33. package/lib/alt/checkbox/SimpleCheckbox.mjs +82 -0
  34. package/lib/alt/checkbox/SimpleCheckbox.mjs.map +1 -0
  35. package/lib/alt/checkbox/ToggleCheckbox.mjs +68 -0
  36. package/lib/alt/checkbox/ToggleCheckbox.mjs.map +1 -0
  37. package/lib/alt/radiobox/CleanTabRadiobox.mjs +44 -0
  38. package/lib/alt/radiobox/CleanTabRadiobox.mjs.map +1 -0
  39. package/lib/alt/radiobox/IconRadioBox.mjs +52 -0
  40. package/lib/alt/radiobox/IconRadioBox.mjs.map +1 -0
  41. package/lib/alt/radiobox/SimpleRadiobox.mjs +61 -0
  42. package/lib/alt/radiobox/SimpleRadiobox.mjs.map +1 -0
  43. package/lib/alt/radiobox/TabRadiobox.mjs +54 -0
  44. package/lib/alt/radiobox/TabRadiobox.mjs.map +1 -0
  45. package/lib/enhanceInput.mjs +131 -0
  46. package/lib/enhanceInput.mjs.map +1 -0
  47. package/lib/index.cjs +5345 -0
  48. package/lib/index.cjs.map +1 -0
  49. package/lib/index.mjs +28 -0
  50. package/lib/index.mjs.map +1 -0
  51. package/lib/useConfirmDialog.mjs +117 -0
  52. package/lib/useConfirmDialog.mjs.map +1 -0
  53. package/lib/useDraftConfirmation.mjs +56 -0
  54. package/lib/useDraftConfirmation.mjs.map +1 -0
  55. package/lib/validation.mjs +91 -0
  56. package/lib/validation.mjs.map +1 -0
  57. package/lib/withFormImageInput.mjs +281 -0
  58. package/lib/withFormImageInput.mjs.map +1 -0
  59. package/package.json +46 -26
  60. package/src/AutoComplete.jsx +642 -0
  61. package/src/Checkbox.jsx +45 -0
  62. package/src/Combobox.jsx +606 -0
  63. package/src/ComboboxWithCustom.jsx +68 -0
  64. package/src/DatePicker.jsx +733 -0
  65. package/src/EditableBox.jsx +502 -0
  66. package/src/Errors.jsx +174 -0
  67. package/src/ExpandableBox.jsx +207 -0
  68. package/src/Field.jsx +76 -0
  69. package/src/FieldBox.jsx +136 -0
  70. package/src/Form.jsx +291 -0
  71. package/src/FormValue.jsx +67 -0
  72. package/src/IconRadioBoxOldHubt.jsx +93 -0
  73. package/src/InputboxGroup.jsx +121 -0
  74. package/src/Radiobox.jsx +33 -0
  75. package/src/RichText.jsx +812 -0
  76. package/src/TextInput.jsx +519 -0
  77. package/src/alt/checkbox/SimpleCheckbox.jsx +162 -0
  78. package/src/alt/checkbox/ToggleCheckbox.jsx +143 -0
  79. package/src/alt/radiobox/CleanTabRadiobox.jsx +46 -0
  80. package/src/alt/radiobox/IconRadioBox.jsx +93 -0
  81. package/src/alt/radiobox/SimpleRadiobox.jsx +153 -0
  82. package/src/alt/radiobox/TabRadiobox.jsx +73 -0
  83. package/src/enhanceInput.jsx +107 -0
  84. package/src/index.js +27 -0
  85. package/src/useConfirmDialog.jsx +105 -0
  86. package/src/useDraftConfirmation.jsx +60 -0
  87. package/src/validation.js +92 -0
  88. package/src/withFormImageInput.jsx +297 -0
  89. package/.babelrc +0 -28
  90. package/lib/index.js +0 -6258
  91. package/rollup.config.js +0 -43
  92. package/yarn-error.log +0 -1607
@@ -0,0 +1,104 @@
1
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
+ import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
3
+ import _union from 'lodash/fp/union';
4
+ import _unionBy from 'lodash/fp/unionBy';
5
+ import _uniq from 'lodash/fp/uniq';
6
+ import _uniqBy from 'lodash/fp/uniqBy';
7
+ import _difference from 'lodash/fp/difference';
8
+ import _differenceBy from 'lodash/fp/differenceBy';
9
+ import _intersection from 'lodash/fp/intersection';
10
+ import _intersectionBy from 'lodash/fp/intersectionBy';
11
+ import _isFunction from 'lodash/fp/isFunction';
12
+ import _isArray from 'lodash/fp/isArray';
13
+ import React from 'react';
14
+ import { callIfFunction } from '@startlibs/utils';
15
+ import styled, { css } from 'styled-components';
16
+ import { Field } from './Field.mjs';
17
+ import { SimpleCheckbox } from './alt/checkbox/SimpleCheckbox.mjs';
18
+ import { SimpleRadiobox } from './alt/radiobox/SimpleRadiobox.mjs';
19
+ import { SplitColumnsContainer } from '@startlibs/components';
20
+
21
+ const _excluded = ["path", "className", "column", "as", "children", "label", "descText", "helpText", "mandatory", "margin"];
22
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
23
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
24
+ const InputboxGroup = /*#__PURE__*/styled(_ref => {
25
+ let {
26
+ path,
27
+ className,
28
+ column,
29
+ as = column ? SplitColumnsContainer : 'div',
30
+ children,
31
+ label,
32
+ descText,
33
+ helpText,
34
+ mandatory,
35
+ margin
36
+ } = _ref,
37
+ rest = _objectWithoutProperties(_ref, _excluded);
38
+ React.Children.count(children);
39
+ const Wrapper = as;
40
+ const boxes = /*#__PURE__*/React.createElement(Wrapper, {
41
+ className: className
42
+ }, React.Children.toArray(children).filter(child => child.props).map((child, i, arr) => /*#__PURE__*/React.cloneElement(child, _objectSpread(_objectSpread({
43
+ isFirst: i === 0,
44
+ isLast: i === arr.length - 1,
45
+ index: i,
46
+ path
47
+ }, rest), child.props))));
48
+ return label ? /*#__PURE__*/React.createElement(Field, {
49
+ label: label,
50
+ mandatory: mandatory,
51
+ descText: descText,
52
+ helpText: helpText,
53
+ margin: margin
54
+ }, boxes) : boxes;
55
+ }).withConfig({
56
+ displayName: "InputboxGroup",
57
+ componentId: "sc-q49nwm-0"
58
+ })(["", " ", " ", " ", ""], props => props.wide && "\n width: 100%;\n display: flex;\n label {\n flex-grow: 1;\n flex-basis: 0;\n }\n ", props => props.unevenlyWide && "\n width: 100%;\n display: flex;\n label {\n flex-grow: 1;\n }\n ", props => props.horizontal ? "\n @supports (flex-wrap: wrap) {\n display: flex;\n flex-wrap: wrap;\n }\n min-height: 3rem;\n ".concat(SimpleRadiobox, ", ").concat(SimpleCheckbox, " {\n margin-right: 1.5rem;\n margin-bottom: 0.5rem;\n }\n ") : "\n ".concat(SimpleRadiobox, ", ").concat(SimpleCheckbox, " {\n margin-bottom: 0.5rem;\n :last-child {\n margin-bottom: 1.5rem;\n }\n }\n "), props => props.framedBoxes && css(["", ""], props => props.horizontal && "\n margin: -4px;\n width: calc(100% + 8px);\n ".concat(SimpleRadiobox, ", ").concat(SimpleCheckbox, " {\n margin: 4px;\n }\n ")));
59
+ const RadioboxGroup = InputboxGroup;
60
+ const CheckboxGroup = InputboxGroup;
61
+ CheckboxGroup.createCheckManager = function () {
62
+ let path = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
63
+ let lastSelected = null;
64
+ const select = (itemOrItems, toggleValue) => {
65
+ lastSelected = _isArray(itemOrItems) || _isFunction(itemOrItems) ? lastSelected : itemOrItems;
66
+ const items = _isArray(itemOrItems) ? itemOrItems : [itemOrItems];
67
+ const intersects = list => path.length ? _intersectionBy(path, list, items).length === items.length : _intersection(list, items).length === items.length;
68
+ return function () {
69
+ let currentlySelected = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
70
+ return _isFunction(itemOrItems) ? itemOrItems(currentlySelected) : toggleValue === false || toggleValue !== true && intersects(currentlySelected) ? path.length ? _differenceBy(path, currentlySelected, items) : _difference(currentlySelected, items) : path.length ? _uniqBy(path, currentlySelected.concat(items)) : _uniq(currentlySelected.concat(items));
71
+ };
72
+ };
73
+ const getIndex = (item, list) => {
74
+ const element = path.length ? _intersectionBy(path, list, [item])[0] : item;
75
+ return list.indexOf(element);
76
+ };
77
+ const shiftSelect = (availableItems, item) => {
78
+ const lastSelectedIndex = getIndex(lastSelected, callIfFunction(availableItems));
79
+ lastSelected = item;
80
+ return function () {
81
+ let currentlySelected = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
82
+ if (lastSelectedIndex < 0) {
83
+ return select(item)(currentlySelected);
84
+ } else {
85
+ const removing = path.length ? _intersectionBy(path, [item], currentlySelected).length : (currentlySelected === null || currentlySelected === void 0 ? void 0 : currentlySelected.indexOf(item)) >= 0;
86
+ const currentIndex = getIndex(item, callIfFunction(availableItems));
87
+ const firstIndex = currentIndex > lastSelectedIndex ? lastSelectedIndex : currentIndex;
88
+ const lastIndex = currentIndex > lastSelectedIndex ? currentIndex + 1 : lastSelectedIndex + 1;
89
+ if (removing) {
90
+ return path.length ? _differenceBy(path, currentlySelected, availableItems.slice(firstIndex, lastIndex)) : _difference(currentlySelected, availableItems.slice(firstIndex, lastIndex));
91
+ } else {
92
+ return path.length ? _unionBy(path, currentlySelected, availableItems.slice(firstIndex, lastIndex)) : _union(currentlySelected, availableItems.slice(firstIndex, lastIndex));
93
+ }
94
+ }
95
+ };
96
+ };
97
+ return {
98
+ select,
99
+ shiftSelect
100
+ };
101
+ };
102
+
103
+ export { CheckboxGroup, InputboxGroup, RadioboxGroup };
104
+ //# sourceMappingURL=InputboxGroup.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InputboxGroup.mjs","sources":["../src/InputboxGroup.jsx"],"sourcesContent":["import React from 'react'\n\nimport {callIfFunction} from '@startlibs/utils'\nimport styled, {css} from 'styled-components'\n\nimport {Field} from './Field'\nimport {SimpleCheckbox} from './alt/checkbox/SimpleCheckbox'\nimport {SimpleRadiobox} from './alt/radiobox/SimpleRadiobox'\nimport {SplitColumnsContainer} from '@startlibs/components'\nimport _ from \"lodash/fp\";\n\nexport const InputboxGroup = styled(({path, className, column, as = column ? SplitColumnsContainer : 'div', children, label, descText,helpText,mandatory,margin, ...rest}) => {\n const size = React.Children.count(children)\n const Wrapper = as\n const boxes = <Wrapper className={className}>{\n React.Children.toArray(children).filter(child => child.props).map((child, i,arr) => React.cloneElement(child, {\n isFirst: i === 0,\n isLast: i === arr.length - 1,\n index: i,\n path,\n ...rest,\n ...child.props,\n }))\n }</Wrapper>\n \n return label \n ? <Field label={label} mandatory={mandatory} descText={descText} helpText={helpText} margin={margin}>{boxes}</Field> \n : boxes\n})`\n ${props => props.wide && `\n width: 100%;\n display: flex;\n label {\n flex-grow: 1;\n flex-basis: 0;\n }\n `}\n ${props => props.unevenlyWide && `\n width: 100%;\n display: flex;\n label {\n flex-grow: 1;\n }\n `}\n ${props => props.horizontal ? `\n @supports (flex-wrap: wrap) {\n display: flex;\n flex-wrap: wrap;\n }\n min-height: 3rem;\n ${SimpleRadiobox}, ${SimpleCheckbox} {\n margin-right: 1.5rem;\n margin-bottom: 0.5rem;\n }\n ` : `\n ${SimpleRadiobox}, ${SimpleCheckbox} {\n margin-bottom: 0.5rem;\n :last-child {\n margin-bottom: 1.5rem;\n }\n }\n `}\n ${props => props.framedBoxes && css`\n ${props => props.horizontal && `\n margin: -4px;\n width: calc(100% + 8px);\n ${SimpleRadiobox}, ${SimpleCheckbox} {\n margin: 4px;\n }\n `}\n `}\n`\n\nexport const RadioboxGroup = InputboxGroup\nexport const CheckboxGroup = InputboxGroup\n\nCheckboxGroup.createCheckManager = (path = []) => {\n let lastSelected = null\n const select = (itemOrItems,toggleValue) => {\n lastSelected = _.isArray(itemOrItems) || _.isFunction(itemOrItems) ? lastSelected : itemOrItems\n const items = _.isArray(itemOrItems) ? itemOrItems : [itemOrItems]\n const intersects = (list) => path.length\n ? _.intersectionBy(path,list,items).length === items.length\n : _.intersection(list,items).length === items.length\n return (currentlySelected = []) =>\n _.isFunction(itemOrItems)\n ? itemOrItems(currentlySelected)\n : (toggleValue===false || (toggleValue !== true && intersects(currentlySelected)))\n ? (path.length ? _.differenceBy(path, currentlySelected, items) : _.difference(currentlySelected, items))\n : (path.length ? _.uniqBy(path,currentlySelected.concat(items)) : _.uniq(currentlySelected.concat(items)))\n }\n\n const getIndex = (item,list) => {\n const element = path.length ? _.intersectionBy(path, list, [item])[0] : item\n return list.indexOf(element)\n }\n const shiftSelect = (availableItems,item) => {\n const lastSelectedIndex = getIndex(lastSelected,callIfFunction(availableItems))\n lastSelected = item\n return (currentlySelected=[]) => {\n if (lastSelectedIndex < 0) {\n return select(item)(currentlySelected)\n } else {\n const removing = path.length ? _.intersectionBy(path, [item], currentlySelected).length : (currentlySelected?.indexOf(item)>=0)\n const currentIndex = getIndex(item,callIfFunction(availableItems))\n const firstIndex = currentIndex > lastSelectedIndex ? lastSelectedIndex : currentIndex\n const lastIndex = currentIndex > lastSelectedIndex ? (currentIndex + 1) : (lastSelectedIndex + 1)\n if (removing) {\n return path.length\n ? _.differenceBy(path,currentlySelected,availableItems.slice(firstIndex,lastIndex))\n : _.difference(currentlySelected,availableItems.slice(firstIndex,lastIndex))\n } else {\n return path.length\n ? _.unionBy(path,currentlySelected,availableItems.slice(firstIndex,lastIndex))\n : _.union(currentlySelected,availableItems.slice(firstIndex,lastIndex))\n }\n }\n }\n }\n return {select, shiftSelect}\n}"],"names":["InputboxGroup","styled","_ref","path","className","column","as","SplitColumnsContainer","children","label","descText","helpText","mandatory","margin","rest","_objectWithoutProperties","_excluded","React","Children","count","Wrapper","boxes","createElement","toArray","filter","child","props","map","i","arr","cloneElement","_objectSpread","isFirst","isLast","length","index","Field","withConfig","displayName","componentId","wide","unevenlyWide","horizontal","concat","SimpleRadiobox","SimpleCheckbox","framedBoxes","css","RadioboxGroup","CheckboxGroup","createCheckManager","arguments","undefined","lastSelected","select","itemOrItems","toggleValue","_isArray","_isFunction","items","intersects","list","_intersectionBy","_intersection","currentlySelected","_differenceBy","_difference","_uniqBy","_uniq","getIndex","item","element","indexOf","shiftSelect","availableItems","lastSelectedIndex","callIfFunction","removing","currentIndex","firstIndex","lastIndex","slice","_unionBy","_union"],"mappings":"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"}
@@ -0,0 +1,67 @@
1
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
+ import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
3
+ import React from 'react';
4
+ import styled from 'styled-components';
5
+ import { useInput } from './enhanceInput.mjs';
6
+ import { useToggle } from '@startlibs/core';
7
+ import { isTouchDevice } from '@startlibs/utils';
8
+
9
+ const _excluded = ["className", "children", "disabled", "isChecked", "fieldValue", "path", "tabIndex", "raw"];
10
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
11
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
12
+ const HiddenInput = /*#__PURE__*/styled.input.withConfig({
13
+ displayName: "Radiobox__HiddenInput",
14
+ componentId: "sc-pelyer-0"
15
+ })(["opacity:0 !important;position:absolute;pointer-events:none;"]);
16
+ const Radiobox = _ref => {
17
+ let {
18
+ className,
19
+ children,
20
+ disabled,
21
+ isChecked,
22
+ fieldValue,
23
+ path,
24
+ tabIndex = 1,
25
+ raw
26
+ } = _ref,
27
+ rest = _objectWithoutProperties(_ref, _excluded);
28
+ const focused = useToggle();
29
+ const [value,, {
30
+ setFromField,
31
+ name,
32
+ hasErrors
33
+ }] = useInput(_objectSpread({
34
+ fieldValue,
35
+ path,
36
+ isChecked
37
+ }, rest), raw);
38
+ const checked = isChecked ? isChecked(value) : value === fieldValue;
39
+ return /*#__PURE__*/React.createElement("label", {
40
+ "data-drag": "false",
41
+ onClick: e => {
42
+ e.preventDefault();
43
+ if (!disabled) {
44
+ setFromField();
45
+ }
46
+ },
47
+ className: className
48
+ }, !isTouchDevice() && /*#__PURE__*/React.createElement(HiddenInput, {
49
+ onFocus: focused.open,
50
+ onBlur: focused.close,
51
+ disabled: disabled,
52
+ type: "radio",
53
+ checked: checked,
54
+ value: fieldValue,
55
+ readOnly: true,
56
+ name: name,
57
+ tabIndex: tabIndex
58
+ }), children && children({
59
+ disabled,
60
+ checked,
61
+ hasErrors,
62
+ focused: focused.isOpen
63
+ }));
64
+ };
65
+
66
+ export { Radiobox };
67
+ //# sourceMappingURL=Radiobox.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Radiobox.mjs","sources":["../src/Radiobox.jsx"],"sourcesContent":["import React from 'react'\nimport styled from 'styled-components'\nimport {useInput} from './enhanceInput'\nimport {useToggle} from '@startlibs/core'\nimport {isTouchDevice} from '@startlibs/utils'\n\nconst HiddenInput = styled.input`\n opacity: 0 !important;\n position: absolute;\n pointer-events: none;\n`\n\nexport const Radiobox = ({className, children, disabled, isChecked, fieldValue, path, tabIndex = 1, raw, ...rest}) => {\n const focused = useToggle()\n const [value, , {setFromField, name, hasErrors}] = useInput({fieldValue, path, isChecked, ...rest}, raw)\n const checked = isChecked ? isChecked(value) : value === fieldValue\n return <label data-drag=\"false\" onClick={(e) => {e.preventDefault();if (!disabled){setFromField()}}} className={className}>\n {\n !isTouchDevice() && <HiddenInput\n onFocus={focused.open}\n onBlur={focused.close}\n disabled={disabled}\n type=\"radio\"\n checked={checked}\n value={fieldValue}\n readOnly\n name={name}\n tabIndex={tabIndex}\n />\n }\n {children && children({disabled, checked, hasErrors, focused: focused.isOpen})}\n </label>\n}\n"],"names":["HiddenInput","styled","input","withConfig","displayName","componentId","Radiobox","_ref","className","children","disabled","isChecked","fieldValue","path","tabIndex","raw","rest","_objectWithoutProperties","_excluded","focused","useToggle","value","setFromField","name","hasErrors","useInput","_objectSpread","checked","React","createElement","onClick","e","preventDefault","isTouchDevice","onFocus","open","onBlur","close","type","readOnly","isOpen"],"mappings":";;;;;;;;;;;AAMA,MAAMA,WAAW,gBAAGC,MAAM,CAACC,KAAK,CAAAC,UAAA,CAAA;EAAAC,WAAA,EAAA,uBAAA;EAAAC,WAAA,EAAA,aAAA;AAAA,CAI/B,CAAA,CAAA,CAAA,6DAAA,CAAA,CAAA,CAAA;AAEYC,MAAAA,QAAQ,GAAGC,IAAA,IAA8F;EAAA,IAA7F;MAACC,SAAS;MAAEC,QAAQ;MAAEC,QAAQ;MAAEC,SAAS;MAAEC,UAAU;MAAEC,IAAI;AAAEC,MAAAA,QAAQ,GAAG,CAAC;AAAEC,MAAAA,GAAAA;AAAY,KAAC,GAAAR,IAAA;AAALS,IAAAA,IAAI,GAAAC,wBAAA,CAAAV,IAAA,EAAAW,SAAA,CAAA,CAAA;AAC9G,EAAA,MAAMC,OAAO,GAAGC,SAAS,EAAE,CAAA;EAC3B,MAAM,CAACC,KAAK,GAAI;IAACC,YAAY;IAAEC,IAAI;AAAEC,IAAAA,SAAAA;AAAS,GAAC,CAAC,GAAGC,QAAQ,CAAAC,aAAA,CAAA;IAAEd,UAAU;IAAEC,IAAI;AAAEF,IAAAA,SAAAA;GAAcK,EAAAA,IAAI,CAAGD,EAAAA,GAAG,CAAC,CAAA;EACxG,MAAMY,OAAO,GAAGhB,SAAS,GAAGA,SAAS,CAACU,KAAK,CAAC,GAAGA,KAAK,KAAKT,UAAU,CAAA;EACnE,oBAAOgB,KAAA,CAAAC,aAAA,CAAA,OAAA,EAAA;AAAO,IAAA,WAAA,EAAU,OAAO;IAACC,OAAO,EAAGC,CAAC,IAAK;MAACA,CAAC,CAACC,cAAc,EAAE,CAAA;MAAC,IAAI,CAACtB,QAAQ,EAAC;AAACY,QAAAA,YAAY,EAAE,CAAA;AAAA,OAAA;KAAG;AAACd,IAAAA,SAAS,EAAEA,SAAAA;GAE5G,EAAA,CAACyB,aAAa,EAAE,iBAAIL,KAAA,CAAAC,aAAA,CAAC7B,WAAW,EAAA;IAC9BkC,OAAO,EAAEf,OAAO,CAACgB,IAAK;IACtBC,MAAM,EAAEjB,OAAO,CAACkB,KAAM;AACtB3B,IAAAA,QAAQ,EAAEA,QAAS;AACnB4B,IAAAA,IAAI,EAAC,OAAO;AACZX,IAAAA,OAAO,EAAEA,OAAQ;AACjBN,IAAAA,KAAK,EAAET,UAAW;IAClB2B,QAAQ,EAAA,IAAA;AACRhB,IAAAA,IAAI,EAAEA,IAAK;AACXT,IAAAA,QAAQ,EAAEA,QAAAA;AAAS,GACpB,CAAC,EAEHL,QAAQ,IAAIA,QAAQ,CAAC;IAACC,QAAQ;IAAEiB,OAAO;IAAEH,SAAS;IAAEL,OAAO,EAAEA,OAAO,CAACqB,MAAAA;AAAM,GAAC,CACxE,CAAC,CAAA;AACV;;;;"}