@commonsku/styles 1.15.1 → 1.16.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.
- package/dist/index.d.ts +558 -32
- package/dist/index.es.js +31 -60
- package/dist/index.es.js.map +1 -1
- package/dist/index.js +32 -67
- package/dist/index.js.map +1 -1
- package/dist/styles/Artwork.d.ts +1 -0
- package/dist/styles/Artwork.d.ts.map +1 -1
- package/dist/styles/Img.d.ts.map +1 -1
- package/dist/styles/Input.d.ts +9 -9
- package/dist/styles/Input.d.ts.map +1 -1
- package/dist/styles/MultiProgress.d.ts +1 -1
- package/dist/styles/Select.d.ts +548 -30
- package/dist/styles/Select.d.ts.map +1 -1
- package/dist/styles/icons/CheckboxIcon.d.ts +3 -1
- package/dist/styles/icons/CheckboxIcon.d.ts.map +1 -1
- package/package.json +9 -17
package/dist/index.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.es.js","sources":["../node_modules/tslib/tslib.es6.js","../src/@commonsku/styles/img/avatar-placeholder.png","../src/@commonsku/utils/ssr.ts","../src/@commonsku/utils/sizes.ts","../src/@commonsku/utils/generateColor.ts","../src/@commonsku/utils/index.ts","../src/@commonsku/styles/SharedStyles.tsx","../src/@commonsku/styles/colors.ts","../src/@commonsku/styles/icons/SvgIcon.tsx","../src/@commonsku/styles/icons/TableIcon.tsx","../src/@commonsku/styles/icons/FileIcon.tsx","../src/@commonsku/styles/icons/CouponIcon.tsx","../src/@commonsku/styles/icons/AwaitingProofIcon.tsx","../src/@commonsku/styles/icons/ProofReceivedIcon.tsx","../src/@commonsku/styles/icons/PendingApprovalIcon.tsx","../src/@commonsku/styles/icons/ChangeRequestedIcon.tsx","../src/@commonsku/styles/icons/ClientApprovedIcon.tsx","../src/@commonsku/styles/icons/ProofingCompleteIcon.tsx","../src/@commonsku/styles/icons/ChatIcon.tsx","../src/@commonsku/styles/icons/ColumnSelectIcon.tsx","../src/@commonsku/styles/icons/NavConnectIcon.tsx","../src/@commonsku/styles/icons/NavSalesIcon.tsx","../src/@commonsku/styles/icons/NavProdIcon.tsx","../src/@commonsku/styles/icons/NavFinanceIcon.tsx","../src/@commonsku/styles/icons/NavResourcesIcon.tsx","../src/@commonsku/styles/icons/NavManagementIcon.tsx","../src/@commonsku/styles/icons/TrashIcon.tsx","../src/@commonsku/styles/icons/PinIcon.tsx","../src/@commonsku/styles/icons/TaskIcon.tsx","../src/@commonsku/styles/icons/AddTaskIcon.tsx","../src/@commonsku/styles/icons/NoteIcon.tsx","../src/@commonsku/styles/icons/AddNoteIcon.tsx","../src/@commonsku/styles/icons/LockIcon.tsx","../src/@commonsku/styles/icons/InfoIcon.tsx","../src/@commonsku/styles/icons/DownloadIcon.tsx","../src/@commonsku/styles/icons/MarketingStatusIcon.tsx","../src/@commonsku/styles/icons/GearIcon.tsx","../src/@commonsku/styles/datepickerStyles.ts","../src/@commonsku/styles/globalStyles.ts","../src/@commonsku/styles/Theme.tsx","../src/@commonsku/styles/icons/CircleProgressIcon.tsx","../src/@commonsku/styles/icons/SVG.tsx","../src/@commonsku/styles/icons/Loading.tsx","../src/@commonsku/styles/icons/SalesArrowIcon.tsx","../src/@commonsku/styles/icons/AlertIcon.tsx","../src/@commonsku/styles/icons/CompletedCheckmarkIcon.tsx","../src/@commonsku/styles/icons/BulletIcon.tsx","../src/@commonsku/styles/icons/UsersIcon.tsx","../src/@commonsku/styles/icons/ReceiptLongIcon.tsx","../src/@commonsku/styles/icons/FolderIcon.tsx","../src/@commonsku/styles/icons/CalendarIcon.tsx","../src/@commonsku/styles/icons/PromostandardsIcon.tsx","../src/@commonsku/styles/icons/XIcon.tsx","../src/@commonsku/styles/icons/OpportunityCircleIcon.tsx","../src/@commonsku/styles/icons/PresentationCircleIcon.tsx","../src/@commonsku/styles/icons/EstimateCircleIcon.tsx","../src/@commonsku/styles/icons/SalesOrderCircleIcon.tsx","../src/@commonsku/styles/icons/DollarIcon.tsx","../src/@commonsku/styles/icons/BotIcon.tsx","../src/@commonsku/styles/icons/GalleryIcon.tsx","../src/@commonsku/styles/icons/ListIcon.tsx","../src/@commonsku/styles/icons/TilesIcon.tsx","../src/@commonsku/styles/icons/UserIcon.tsx","../src/@commonsku/styles/icons/ArrowIcon.tsx","../src/@commonsku/styles/icons/ChevronIcon.tsx","../src/@commonsku/styles/icons/FilledChevronIcon.tsx","../src/@commonsku/styles/icons/CheckmarkIcon.tsx","../src/@commonsku/styles/icons/AddIcon.tsx","../src/@commonsku/styles/icons/SubtractIcon.tsx","../src/@commonsku/styles/icons/SearchIcon.tsx","../src/@commonsku/styles/icons/ClockIcon.tsx","../src/@commonsku/styles/icons/ClipboardIcon.tsx","../src/@commonsku/styles/icons/RadioIcon.tsx","../src/@commonsku/styles/icons/CheckboxIcon.tsx","../src/@commonsku/styles/icons/EditIcon.tsx","../src/@commonsku/styles/icons/GridIcon.tsx","../src/@commonsku/styles/icons/TemplateIcon.tsx","../src/@commonsku/styles/icons/PercentIcon.tsx","../src/@commonsku/styles/icons/TargetIcon.tsx","../src/@commonsku/styles/icons/IntegrationsIcon.tsx","../src/@commonsku/styles/icons/MailIcon.tsx","../src/@commonsku/styles/icons/EpsIcon.tsx","../src/@commonsku/styles/icons/StarIcon.tsx","../src/@commonsku/styles/icons/EyeIcon.tsx","../src/@commonsku/styles/icons/MenuIcon.tsx","../src/@commonsku/styles/icons/CommentIcon.tsx","../src/@commonsku/styles/icons/EllipsisIcon.tsx","../src/@commonsku/styles/icons/DragIcon.tsx","../src/@commonsku/styles/icons/CreditCardIcon.tsx","../src/@commonsku/styles/icons/ShopIcon.tsx","../src/@commonsku/styles/icons/HistoryIcon.tsx","../src/@commonsku/styles/icons/HandleIcon.tsx","../src/@commonsku/styles/Avatar.tsx","../src/@commonsku/styles/Sizer.tsx","../src/@commonsku/styles/FlexboxGrid.tsx","../src/@commonsku/styles/Headings.tsx","../src/@commonsku/styles/Box.tsx","../src/@commonsku/styles/Background.tsx","../src/@commonsku/styles/DropArea.tsx","../src/@commonsku/styles/Button.tsx","../src/@commonsku/styles/Label.tsx","../src/@commonsku/styles/Input.tsx","../src/@commonsku/styles/Padding.tsx","../src/@commonsku/styles/Page.tsx","../src/@commonsku/styles/Text.tsx","../src/@commonsku/styles/Progress.tsx","../src/@commonsku/styles/Select.tsx","../src/@commonsku/styles/Backdrop.tsx","../src/@commonsku/styles/SidePanel.tsx","../src/@commonsku/styles/Table.tsx","../src/@commonsku/styles/Popup.tsx","../src/@commonsku/styles/GridTable.tsx","../src/@commonsku/styles/Tabs.tsx","../src/@commonsku/styles/Toggle.tsx","../src/@commonsku/styles/Textarea.tsx","../src/@commonsku/styles/gears.gif","../src/@commonsku/styles/gears-small.gif","../src/@commonsku/styles/Spinner.tsx","../src/@commonsku/styles/StarRating.tsx","../src/@commonsku/styles/Product.tsx","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/@babel/runtime/helpers/esm/objectSpread2.js","../node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../node_modules/@babel/runtime/helpers/esm/createClass.js","../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/inherits.js","../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../node_modules/@babel/runtime/helpers/esm/createSuper.js","../src/@commonsku/styles/Img.js","../src/@commonsku/styles/Artwork.tsx","../src/@commonsku/styles/Task.tsx","../src/@commonsku/styles/Feed.tsx","../src/@commonsku/styles/ErrorBoundary.tsx","../src/@commonsku/styles/Datepicker.tsx","../src/@commonsku/styles/Dropdown.tsx","../src/@commonsku/styles/Badge.tsx","../src/@commonsku/styles/verticalScrollbarWidth.js","../src/@commonsku/styles/HeadlessTable.tsx","../src/@commonsku/styles/hooks/usePrefersReducedMotion.ts","../src/@commonsku/styles/hooks/useRandomInterval.ts","../src/@commonsku/styles/hooks/useCalendar.ts","../src/@commonsku/styles/hooks/useWindowSize.ts","../src/@commonsku/styles/hooks/useLongPress.ts","../src/@commonsku/styles/Sparkles.tsx","../src/@commonsku/styles/StatusDropdown.tsx","../src/@commonsku/styles/StateDropdown.tsx","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","../node_modules/react-transition-group/esm/config.js","../node_modules/react-transition-group/esm/TransitionGroupContext.js","../node_modules/react-transition-group/esm/utils/reflow.js","../node_modules/react-transition-group/esm/Transition.js","../src/@commonsku/styles/Collapsible.tsx","../src/@commonsku/styles/MultiProgress.tsx","../src/@commonsku/styles/Thermometer.tsx","../src/@commonsku/styles/LightIndicator.tsx","../src/@commonsku/styles/DefaultStar.tsx","../src/@commonsku/styles/CancelButton.tsx","../src/@commonsku/styles/DoneButton.tsx","../src/@commonsku/styles/LinkWithIcon.tsx","../src/@commonsku/styles/AlertNotification.tsx","../src/@commonsku/styles/NumberInput.tsx","../src/@commonsku/styles/InputStepper.tsx","../src/@commonsku/styles/tables/VirtualTable.tsx","../src/@commonsku/styles/tables/VirtualTableStyles.ts","../src/@commonsku/utils/styled.ts","../src/@commonsku/styles/Csku.tsx","../src/@commonsku/styles/Grid.tsx","../src/@commonsku/styles/CollapsibleV2.tsx","../src/@commonsku/styles/ConfirmPopup.tsx","../src/@commonsku/styles/calendar/StyledDayBody.tsx","../src/@commonsku/styles/calendar/CalendarDayBody.tsx","../src/@commonsku/styles/calendar/DaysBodyWrapper.tsx","../src/@commonsku/styles/calendar/CalendarDaysBody.tsx","../src/@commonsku/styles/calendar/DaysHeaderWrapper.tsx","../src/@commonsku/styles/calendar/StyledDayText.tsx","../src/@commonsku/styles/calendar/CalendarDaysHeader.tsx","../src/@commonsku/styles/calendar/CalendarWrapper.tsx","../src/@commonsku/styles/calendar/HeaderWrapper.tsx","../src/@commonsku/styles/calendar/DefaultCalendarFooter.tsx","../src/@commonsku/styles/calendar/DefaultCalendarHeader.tsx","../src/@commonsku/styles/calendar/TasksCalendarDayBody.tsx","../src/@commonsku/styles/calendar/TasksCalendarHeader.tsx","../src/@commonsku/styles/calendar/TasksCalendarFooter.tsx","../src/@commonsku/styles/calendar/Calendar.tsx","../src/@commonsku/styles/calendar/TasksCalendar.tsx","../src/@commonsku/styles/calendar/styles.tsx","../src/@commonsku/styles/calendar/DraggableCalendarFooterTasks.tsx","../src/@commonsku/styles/calendar/DroppableFooter.tsx","../src/@commonsku/styles/calendar/DraggableTaskBody.tsx","../src/@commonsku/styles/calendar/DroppableDays.tsx","../src/@commonsku/styles/calendar/DraggableTasksCalendar.tsx","../src/@commonsku/styles/tables/scrollbarWidth.ts","../src/@commonsku/styles/tables/SimpleWindowedTable.tsx"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","var img = \"data:image/png;base64,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\";\n export default img;","class El {\n parentNode = null;\n children = [];\n childNodes = [];\n style = {};\n\n setAttribute() {}\n\n getElementsByTagName() {\n return [];\n }\n\n click() {}\n\n appendChild(el: Element) {\n return el;\n }\n\n removeChild(el: Element) {}\n}\n\nconst createElement = (): HTMLElement => {\n if (typeof HTMLElement !== 'undefined') {\n return new HTMLElement();\n } else {\n const el: any = new El();\n return el as HTMLElement;\n }\n}\n\nconst doc = typeof document !== 'undefined' ? document : {\n body: createElement(),\n hidden: false,\n addEventListener() {},\n removeEventListener() {},\n activeElement: {\n blur() {},\n nodeName: '',\n },\n querySelector() {\n return null;\n },\n querySelectorAll() {\n return [];\n },\n getElementById() {\n return null;\n },\n createEvent() {\n return {\n initEvent() {},\n };\n },\n createElement() {\n return createElement();\n },\n createElementNS() {\n return {};\n },\n importNode() {\n return null;\n },\n location: {\n hash: '',\n host: '',\n hostname: '',\n href: '',\n origin: '',\n pathname: '',\n protocol: '',\n search: '',\n },\n};\n\nconst win = typeof window !== 'undefined' ? window : {\n innerWidth: 0,\n innerHeight: 0,\n document: doc,\n navigator: {\n userAgent: '',\n },\n location: {\n hash: '',\n host: '',\n hostname: '',\n href: '',\n origin: '',\n pathname: '',\n protocol: '',\n search: '',\n },\n history: {\n replaceState() {},\n pushState() {},\n go() {},\n back() {},\n },\n CustomEvent: function CustomEvent() {\n return this;\n },\n addEventListener() {},\n removeEventListener() {},\n getComputedStyle() {\n return {\n getPropertyValue() {\n return '';\n },\n };\n },\n Image() {},\n Date() {},\n screen: {},\n setTimeout: setTimeout,\n clearTimeout: clearTimeout,\n matchMedia() {\n return {\n matches: false, media: '',\n onchange: () => null,\n addListener: () => null,\n removeListener: () => null,\n addEventListener: () => null,\n removeEventListener: () => null,\n };\n },\n};\n\nconst ssr = {\n window: win,\n document: doc,\n};\n\nexport default ssr;\n","import { CSSObject, css } from \"styled-components\";\n\nexport const media: {[key: string]: ((value: string | CSSObject) => string)} = {\n xs: (styles: string | CSSObject) => `\n @media only screen and (min-width: 0px) {\n ${typeof styles === 'string' ? css`${styles}` : css(styles)}\n }\n `,\n sm: (styles: string | CSSObject) => `\n @media only screen and (min-width: 640px) {\n ${typeof styles === 'string' ? css`${styles}` : css(styles)}\n }\n `,\n md: (styles: string | CSSObject) => `\n @media only screen and (min-width: 768px) {\n ${typeof styles === 'string' ? css`${styles}` : css(styles)}\n }\n `,\n lg: (styles: string | CSSObject) => `\n @media only screen and (min-width: 1024px) {\n ${typeof styles === 'string' ? css`${styles}` : css(styles)}\n }\n `,\n xl: (styles: string | CSSObject) => `\n @media only screen and (min-width: 1280px) {\n ${typeof styles === 'string' ? css`${styles}` : css(styles)}\n }\n `,\n};\n\nexport const sizeMediaWidth = {\n xs: '0px',\n sm: '640px',\n md: '768px',\n lg: '1024px',\n xl: '1280px',\n};\n\nexport const sizeMedia = {\n xs: `@media only screen and (min-width: ${sizeMediaWidth.xs})`,\n sm: `@media only screen and (min-width: ${sizeMediaWidth.sm})`,\n md: `@media only screen and (min-width: ${sizeMediaWidth.md})`,\n lg: `@media only screen and (min-width: ${sizeMediaWidth.lg})`,\n xl: `@media only screen and (min-width: ${sizeMediaWidth.xl})`,\n};\n\nexport type TSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';\nexport const sizes: TSize[] = ['xs', 'sm', 'md', 'lg', 'xl'];\n","\nfunction hex(c: number) {\n const s = \"0123456789abcdef\";\n let i = parseInt(c + '');\n if (i === 0 || isNaN(c)) return \"00\";\n i = Math.round(Math.min(Math.max(0, i), 255));\n return s.charAt((i - (i % 16)) / 16) + s.charAt(i % 16);\n}\n\n/* Convert an RGB triplet to a hex string */\nfunction convertToHex(rgb: number[]) {\n return hex(rgb[0]) + hex(rgb[1]) + hex(rgb[2]);\n}\n\n/* Remove '#' in color hex string */\nfunction trim(s: string) {\n return s.charAt(0) === \"#\" ? s.substring(1, 7) : s;\n}\n\n/* Convert a hex string to an RGB triplet */\nfunction convertToRGB(hex: string) {\n const color = [] as number[];\n color[0] = parseInt(trim(hex).substring(0, 2), 16);\n color[1] = parseInt(trim(hex).substring(2, 4), 16);\n color[2] = parseInt(trim(hex).substring(4, 6), 16);\n return color;\n}\n\nfunction generateColor(colorStart: string, colorEnd: string, colorCount: number) {\n // The beginning of your gradient\n const start = convertToRGB(colorStart);\n // The end of your gradient\n const end = convertToRGB(colorEnd);\n // The number of colors to compute\n const len = colorCount;\n //Alpha blending amount\n let alpha = 0.0;\n const saida = [] as string[];\n for (let i = 0; i < len; i++) {\n var c = [] as number[];\n alpha += 1.0 / len;\n c[0] = start[0] * alpha + (1 - alpha) * end[0];\n c[1] = start[1] * alpha + (1 - alpha) * end[1];\n c[2] = start[2] * alpha + (1 - alpha) * end[2];\n saida.push(convertToHex(c));\n }\n return saida;\n}\n\nexport default generateColor\n","import ssr from './ssr';\nexport * from './sizes';\nexport { default as generateColor } from './generateColor';\n\nexport const valIsValid = (val: any) => val !== null && val !== undefined && val !== ''; // not checking for 0\n\nexport const aeval = (obj:{[key: string]: any}, key: string, def: any) => {\n return obj && obj[key] ? obj[key] : def;\n}\n\nexport const truncate = (value: string, length: number) => {\n if(typeof value !== 'string') {\n return value\n }\n if(value.length < length) {\n return value\n }\n \n return `${value.slice(0, length)}...`\n}\n\nexport const random = (min: number, max: number) => Math.floor(Math.random() * (max - min)) + min;\n\nexport const range = (start: number, end?: number, step: number = 1) => {\n let output = [] as number[];\n if (typeof end === 'undefined') {\n end = start;\n start = 0;\n }\n for (let i = start; i < end; i += step) {\n output.push(i);\n }\n return output;\n};\n\nexport const window = ssr.window;\nexport const document = ssr.document;\n\n/**\n * Handle on input change number\n *\n * Example:\n * <Input\n * value={state.toLocaleString(undefined, { maximumFractionDigits: 4 })}\n * onChange={e => {\n * const value = onChangeNumber(e.target.value);\n * if (value === null) { return; }\n * setState(value);\n * }}\n * />\n *\n */\n export const onChangeNumber = (value?: string | number | null): (null | number | string) => {\n let val = value;\n if (val === undefined || val === null) {\n val = '';\n }\n val = val + '';\n val = val.replaceAll(',', '');\n val = val.replaceAll(' ', '');\n\n const dotIndex = val.indexOf('.');\n const dotLastIndex = val.lastIndexOf('.');\n // if adding float num, then allow to add '.'\n const hasLastDot = dotIndex === val.length - 1;\n const hasFirstDot = dotIndex === 0;\n if ((hasLastDot || hasFirstDot) && dotLastIndex === dotIndex) {\n if (isNaN(+(val.replace('.', '')))) {\n return null;\n }\n return val;\n }\n\n // if adding minus num, then allow to add '-'\n const hasFirstdash = val.indexOf('-') === 0;\n if (hasFirstdash) {\n if (isNaN(+(val.replace('-', '')))) {\n return null;\n }\n return val;\n }\n\n val = +val;\n if (isNaN(val)) { return null; }\n return val;\n};\n\n// (+|-)100(px|em|rem|...) => px|em|rem|...\nexport const getUnit = (measurement: string|number) => {\n if (typeof measurement !== \"string\") {\n return \"px\";\n }\n const matchedMeasurement = measurement.match(/^([+-]?(?:\\d+|\\d*\\.\\d+))([a-z]*|%)$/);\n return matchedMeasurement ? matchedMeasurement[2] : \"px\";\n};\n\nexport const stripUnit = (measurement: string|number) =>\n (typeof measurement === \"number\") ? measurement : parseFloat(measurement);\n\nexport const parseMeasurement = (measurement: string|number) => stripUnit(measurement) + getUnit(measurement);\n","import { map, pick, keys, isUndefined } from 'lodash';\nimport styled, { css } from 'styled-components';\nimport { valIsValid } from '../utils';\n\nexport type SharedStyleTypes = {\n // [key: string]: any,\n pr?: boolean | number,\n pl?: boolean | number,\n pt?: boolean | number,\n pb?: boolean | number,\n px?: boolean | number,\n py?: boolean | number,\n mr?: boolean | number,\n ml?: boolean | number,\n mt?: boolean | number,\n mb?: boolean | number,\n mx?: boolean | number,\n my?: boolean | number,\n hidden?: boolean,\n block?: boolean,\n inline_block?: boolean,\n flex?: boolean,\n inline_flex?: boolean,\n grid?: boolean,\n custom?: string,\n bg?: string,\n float?: string,\n}\n\nexport const SharedStyles = css<SharedStyleTypes>`\n box-sizing: border-box;\n ${p => map(pick(p, keys(SHARED_STYLE_MAPS)), (v, k) => {\n return isUndefined(v) ? '' : SHARED_STYLE_MAPS[k](v);\n }).join('')}\n`;\n\nexport const SHARED_STYLE_MAPS: { [key: string]: Function } = {\n // Padding\n pr: (val?: string | number) => `padding-right: ${valIsValid(val) ? val : '5'}px;`,\n pl: (val?: string | number) => `padding-left: ${valIsValid(val) ? val : '5'}px;`,\n pt: (val?: string | number) => `padding-top: ${valIsValid(val) ? val : '5'}px;`,\n pb: (val?: string | number) => `padding-bottom: ${valIsValid(val) ? val : '5'}px;`,\n px: (val?: string | number) => `\n padding-left: ${valIsValid(val) ? val : '5'}px;\n padding-right: ${valIsValid(val) ? val : '5'}px;\n `,\n py: (val?: string | number) => `\n padding-top: ${valIsValid(val) ? val : '5'}px;\n padding-bottom: ${valIsValid(val) ? val : '5'}px;\n `,\n // Margin\n mr: (val?: string | number) => `margin-right: ${valIsValid(val) ? val : '5'}px;`,\n ml: (val?: string | number) => `margin-left: ${valIsValid(val) ? val : '5'}px;`,\n mt: (val?: string | number) => `margin-top: ${valIsValid(val) ? val : '5'}px;`,\n mb: (val?: string | number) => `margin-bottom: ${valIsValid(val) ? val : '5'}px;`,\n mx: (val?: string | number) => `\n margin-left: ${valIsValid(val) ? val : '5'}px;\n margin-right: ${valIsValid(val) ? val : '5'}px;\n `,\n my: (val?: string | number) => `\n margin-top: ${valIsValid(val) ? val : '5'}px;\n margin-bottom: ${valIsValid(val) ? val : '5'}px;\n `,\n // Background\n bg: (val: string) => `background: ${val};`,\n // Display\n hidden: () => `display: none;`,\n block: () => `display: block;`,\n inline_block: () => `display: inline-block;`,\n 'inline-block': () => `display: inline-block;`,\n inline: () => `display: inline;`,\n flex: () => `display: flex;`,\n 'inline-flex': () => `display: inline-flex;`,\n inline_flex: () => `display: inline-flex;`,\n grid: () => `display: grid;`,\n // Float\n float: (val: string) => `${val === 'clearfix' ? `\n &::after {\n content: \"\";\n display: table;\n clear: both;\n }` : `float: ${val}`};`, // left, right, none, clearfix\n // Position\n pos: (val: string) => `position: ${val}`,\n position: (val: string) => `position: ${val}`,\n // Overflow\n overflow: (val: string) => `overflow: ${val}`,\n // z-index\n z: (val: string | number) => `z-index: ${val}`,\n // Custom Styles\n custom: (val?: string) => `${val}`,\n};\n\nexport const Wrapper = styled.div`${SharedStyles}`;\n","\nexport const primary1 = {\n '10': '#F6FEFF',\n '20': '#E1F7FA',\n '30': '#A6F4FF',\n '40': '#5FE6FA',\n '50': '#28D5EE',\n '60': '#02C0DA',\n '65': '#00B1C8',\n '70': '#00A0B6',\n '75': '#008EA0',\n '80': '#00788A',\n '85': '#006672',\n '90': '#004D59',\n 'main': '',\n 'main-hover': '',\n 'mainHover': '',\n 'light': '',\n 'lightest': '',\n 'dark': '',\n 'dark-hover': '',\n 'darkHover': '',\n 'darkest': '',\n\n};\nprimary1['main'] = primary1['70'];\nprimary1['main-hover'] = primary1['75'];\nprimary1['lightest'] = primary1['10'];\nprimary1['light'] = primary1['30'];\nprimary1['dark'] = primary1['80'];\nprimary1['dark-hover'] = primary1['85'];\nprimary1['darkest'] = primary1['90'];\n\nprimary1.mainHover = primary1['main-hover'];\nprimary1.darkHover = primary1['dark-hover'];\n\n\nexport const teal = primary1;\n\nexport const primary2 = {\n main: '#FFFFFF',\n border: {\n main: '#0C5A88',\n },\n};\n\nexport const white = primary2;\n\nexport const secondary1 = {\n '10': '#FFEDF4',\n '20': '#FDC5DB',\n '30': '#FC9DC2',\n '40': '#F55393',\n '50': '#EB1D6E',\n '60': '#DB0057',\n '70': '#C4004E',\n '80': '#A70043',\n '90': '#870036',\n 'main': '',\n 'lightest': '',\n 'light': '',\n 'dark': '',\n 'darkest': '',\n};\nsecondary1['main'] = secondary1['60'];\nsecondary1['lightest'] = secondary1['10'];\nsecondary1['light'] = secondary1['30'];\nsecondary1['dark'] = secondary1['80'];\nsecondary1['darkest'] = secondary1['90'];\n\nexport const pink = secondary1;\n\nexport const secondary2 = {\n '10': '#FFFDF5',\n '20': '#FFF9C5',\n '30': '#FFF597',\n '40': '#FFE544',\n '50': '#FFD302',\n '60': '#E6BA00',\n '70': '#C69B00',\n '80': '#9E7800',\n '90': '#735400',\n 'main': '',\n 'lightest': '',\n 'light': '',\n 'dark': '',\n 'darkest': '',\n};\nsecondary2['main'] = secondary2['50'];\nsecondary2['lightest'] = secondary2['10'];\nsecondary2['light'] = secondary2['30'];\nsecondary2['dark'] = secondary2['70'];\nsecondary2['darkest'] = secondary2['90'];\n\nexport const yellow = secondary2;\n\nexport const secondary3 = {\n '10': '#F2FFF9',\n '20': '#C9FDE5',\n '30': '#A1FBD2',\n '40': '#59F3AE',\n '50': '#23E68E',\n '60': '#00D374',\n '70': '#00B966',\n '80': '#009853',\n '90': '#00733F',\n 'main': '',\n 'lightest': '',\n 'light': '',\n 'dark': '',\n 'darkest': '',\n};\nsecondary3['main'] = secondary3['60'];\nsecondary3['lightest'] = secondary3['10'];\nsecondary3['light'] = secondary3['30'];\nsecondary3['dark'] = secondary3['80'];\nsecondary3['darkest'] = secondary3['90'];\n\nexport const green = secondary3;\n\nexport const secondary4 = {\n '10': '#EDF4F7',\n '20': '#C6E8F7',\n '30': '#A1DAF4',\n '40': '#5BBDEC',\n '50': '#249AD4',\n '60': '#0F6EA6',\n '70': '#0C5A88',\n '80': '#05476E',\n '90': '#003C5E',\n 'main': '',\n 'lightest': '',\n 'light': '',\n 'dark': '',\n 'darkest': '',\n};\nsecondary4['main'] = secondary4['70'];\nsecondary4['lightest'] = secondary4['10'];\nsecondary4['light'] = secondary4['30'];\nsecondary4['dark'] = secondary4['80'];\nsecondary4['darkest'] = secondary4['90'];\n\nexport const navy = secondary4;\n\nexport const neutrals = {\n '10': '#FFFFFF',\n '20': '#EDF4F7',\n '30': '#E6EFF2',\n '40': '#DAE9EE',\n '50': '#D0D7DC',\n '60': '#B8C4CB',\n '70': '#899CA9',\n '80': '#597486',\n '90': '#2A4D63',\n '100': '#123952',\n 'main': '',\n 'darkest': '',\n 'dark': '',\n 'bodyText': '',\n 'bg1': '',\n 'white': '',\n};\nneutrals['main'] = neutrals['100'];\nneutrals['white'] = neutrals['10'];\nneutrals['bg1'] = neutrals['20'];\nneutrals['bodyText'] = neutrals['90'];\nneutrals['dark'] = neutrals['90'];\nneutrals['darkest'] = neutrals['100'];\n\nexport const errors = {\n '10': '#FFF2F3',\n '20': '#FDCACD',\n '30': '#FBA3A9',\n '40': '#F35C66',\n '50': '#E52633',\n '60': '#D10411',\n '70': '#B4000C',\n '80': '#8F000A',\n '90': '#660007',\n 'main': '',\n 'lightest': '',\n 'light': '',\n 'dark': '',\n 'darkest': '',\n};\nerrors['main'] = errors['50'];\nerrors['lightest'] = errors['10'];\nerrors['light'] = errors['30'];\nerrors['dark'] = errors['70'];\nerrors['darkest'] = errors['90'];\n\nconst colors = {\n primary1,\n secondary1,\n secondary2,\n secondary3,\n secondary4,\n\n teal: teal,\n pink: pink,\n yellow: yellow,\n green: green,\n navy: navy,\n\n neutrals,\n errors,\n orders: {\n 'OPPORTUNITY': {\n main: primary1['80'],\n },\n 'PRESENTATION': {\n main: primary1['70'],\n },\n 'ESTIMATE': {\n main: primary1['50'],\n },\n 'PRE-SALES': {\n main: primary1['60'],\n },\n 'SALES ORDER': {\n main: secondary2['50'],\n current: secondary2['50'],\n previous: neutrals['60']\n },\n 'INVOICE': {\n main: secondary3['60'],\n },\n 'TARGET': {\n main: secondary1['60'],\n },\n },\n notes: {\n main: secondary1['50'],\n },\n calls: {\n main: secondary4['40'],\n },\n meetings: {\n main: secondary4['80'],\n },\n left_nav: {\n main: primary1['70'],\n sub_menu: {\n bg: primary1['80'],\n link: {\n bg: primary1['90'],\n text: primary2.main,\n },\n },\n link: {\n text: primary2.main,\n },\n },\n text: {\n main: neutrals['90'],\n bold: neutrals['100'],\n body: neutrals['90'],\n title: neutrals['100'],\n label: neutrals['100'],\n placeholder: {\n default: neutrals['60'],\n hover: neutrals['70']\n }\n },\n white: '#fff',\n black: '#000',\n primary: '#02c0da',\n cta: '#fa237c',\n primary0: '#DAE9EE', // lighter\n primary10: '#C9E8F2', // light\n primary100: '#00889B', // dark\n disabledButton: '#DAE9EE',\n disabledButtonBorder: '#C9E8F2',\n texttitle: '#123952', // a dark blue text\n textlabel: '#123952',\n textbody: '#52585C',\n textplaceholder: '#A4ABAE',\n bggray: '#EDF2F4',\n bgblue: '#ECF4F7',\n inputBorder: '#ABC7D1',\n special1: '#ffd302', // yellow\n special2: '#00d374', // green\n special3: '#ff297c', // red\n primaryBg: '#EAF2F6',\n special2Bg: '#E7FFE9',\n transparent: 'transparent',\n error: '#B21154',\n\n primary2: '#00A0B6',\n primary20: '#00788A',\n primary200: '#004D59',\n\n tableHeaderBg: '#F6FEFF',\n tableBorder: '#edf2f5',\n input: {\n background: '#fff',\n border: neutrals['60'],\n text: neutrals['90'],\n placeholder: neutrals['60'],\n active: {\n border: primary1['60'],\n text: neutrals['90'],\n },\n hover: {\n border: primary1['50'],\n placeholder: neutrals['70'],\n },\n error: {\n border: errors['main'],\n },\n disabled: {\n text: neutrals['70'],\n background: neutrals['40'],\n },\n iconWrapper: {\n background: neutrals['50'],\n active: {\n background: neutrals['20'],\n },\n hover: {\n background: primary1['20'],\n },\n disabled: {\n background: neutrals['50'],\n },\n },\n icon: {\n fill: '#fff',\n active: {\n fill: primary1['60'],\n },\n hover: {\n fill: primary1['50'],\n },\n disabled: {\n fill: '#fff',\n },\n },\n },\n select: {\n background: '#fff',\n border: neutrals['60'],\n text: neutrals['90'],\n placeholder: neutrals['60'],\n active: {\n border: primary1['60'],\n text: neutrals['90'],\n },\n hover: {\n border: primary1['50'],\n placeholder: neutrals['70'],\n },\n error: {\n border: errors['main'],\n },\n disabled: {\n background: neutrals['40'],\n border: neutrals['40'],\n },\n dropdownIcon: {\n color: primary1['60'],\n error: {\n color: errors['main'],\n },\n disabled: neutrals['60'],\n },\n clearIcon: {\n color: errors['60'],\n },\n },\n};\n\nexport default colors;\n","import styled, { css, CSSObject } from 'styled-components';\nimport { SharedStyles, SharedStyleTypes } from '../SharedStyles';\n\n\nexport const iconSize = {\n tiny: {\n width: 14,\n height: 14,\n viewBox: \"0 0 24 24\",\n },\n small: {\n width: 16,\n height: 16,\n viewBox: \"0 0 24 24\",\n },\n medium: {\n width: 24,\n height:24,\n viewBox: \"0 0 24 24\",\n },\n large: {\n width: 32,\n height:32,\n viewBox: \"0 0 24 24\",\n },\n huge: {\n width: 48,\n height:48,\n viewBox: \"0 0 24 24\",\n },\n default: {\n height: 24,\n width: 24,\n viewBox: \"0 0 24 24\",\n },\n // orderStageUnselected: {\n // width: 64,\n // height: 64,\n // viewBox: \"0 0 64 64\"\n // },\n // orderStageSelected: {\n // width: 72,\n // height: 72,\n // viewBox: \"0 0 80 80\"\n // }\n};\n\nexport type TIconSizeObj = typeof iconSize;\nexport type TIconSize = keyof typeof iconSize;\n\ntype BaseSVGIconProps = {\n size?: TIconSize;\n width?: string | number;\n height?: string | number;\n altText?: string;\n pointer?: boolean;\n iconSizes?: TIconSizeObj;\n disabled?: boolean;\n} & SharedStyleTypes;\n\nexport type SVGIconProps = React.SVGAttributes<SVGElement> & BaseSVGIconProps;\n\nconst SVG = styled.svg.attrs<BaseSVGIconProps>(p => {\n const iconSizes = p.iconSizes || iconSize;\n const size = p.size ? iconSizes[p.size] : null;\n if (size) {\n return {\n viewBox: size.viewBox,\n };\n }\n const defaultSize = iconSizes['default'];\n return {\n viewBox: p.viewBox || defaultSize.viewBox,\n };\n})<BaseSVGIconProps>(\n p => {\n return css`\n ${SharedStyles}\n `;\n },\n p => {\n const styles: CSSObject = {};\n const iconSizes = p.iconSizes || iconSize;\n let size = p.size ? iconSizes[p.size] : null;\n \n const defaultSize = iconSizes['default'];\n\n if(!size) {\n size = defaultSize;\n }\n \n styles['height'] = p.height !== undefined && p.height !== '' ? p.height : size.height;\n styles['width'] = p.width !== undefined && p.width !== '' ? p.width : size.width;\n styles['cursor'] = p.pointer ? 'pointer' : undefined; \n \n return styles;\n },\n);\n\nexport default SVG;\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype TableIconProps = SVGIconProps;\nexport default function TableIcon({\n color=teal.main,\n size=\"medium\",\n altText=\"Calculate\",\n ...props\n}: TableIconProps) {\n return <SVG size={size} aria-labelledby=\"TableIcon\" {...props}>\n <title id=\"TableIcon\" >{altText}</title>\n <path\n d=\"M19 7H9c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2V9c0-1.1-.9-2-2-2Zm0 3c0 .55-.45 1-1 1h-8c-.55 0-1-.45-1-1s.45-1 1-1h8c.55 0 1 .45 1 1Zm-6 5v-2h2v2h-2Zm2 2v2h-2v-2h2Zm-4-2H9v-2h2v2Zm6-2h2v2h-2v-2Zm-8 4h2v2H9v-2Zm8 2v-2h2v2h-2ZM6 17H5c-1.1 0-2-.9-2-2V5c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2v1h-2V5H5v10h1v2Z\"\n fill={color}\n />\n </SVG>\n}\n\n","import React from \"react\"\n\nconst BlankFile = ({color=\"#000000\"}: {color?:string}) => {\n return (\n <g>\n <path\n d=\"M36.884 1.171l14.632 14.631V54.79a5.913 5.913 0 01-5.914 5.913H7.43a5.914 5.914 0 01-5.914-5.913V7.085A5.914 5.914 0 017.43 1.171h29.454z\"\n fill=\"#fff\"\n stroke={color}\n strokeWidth={3}\n />\n <path d=\"M36.09.307v17.539h16.093L36.091.307z\" fill={color} />\n </g>\n )\n}\n\nexport const IconDoc = ({ext, ...props}: {[key: string]: any, ext?:string}) => {\n return (\n <svg\n viewBox=\"0 0 53 62\"\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeMiterlimit={1.5}\n {...props}\n >\n { ext === \"csv\" ?\n <g>\n <BlankFile color=\"#a4abae\"/>\n <path\n d=\"M20.276 47.653c-.208.24-.448.448-.72.624-.24.176-.528.32-.864.448a3.131 3.131 0 01-1.136.192c-.4 0-.768-.064-1.104-.208a2.7 2.7 0 01-.896-.576 2.65 2.65 0 01-.576-.848 2.68 2.68 0 010-2.144c.144-.336.336-.624.576-.864.24-.24.544-.416.896-.56a2.77 2.77 0 011.104-.208c.432 0 .8.064 1.12.192.32.128.592.272.832.432.256.192.48.4.688.64l2.16-2.32a6.047 6.047 0 00-1.2-1.088c-.416-.272-.928-.512-1.52-.736-.608-.224-1.328-.336-2.16-.336-.912 0-1.744.16-2.512.464a6.167 6.167 0 00-2.016 1.264 5.506 5.506 0 00-1.312 1.872 5.946 5.946 0 00-.464 2.32c0 .816.16 1.584.464 2.304a5.57 5.57 0 001.312 1.888c.56.528 1.232.96 2.016 1.264.768.304 1.6.464 2.512.464.816 0 1.536-.112 2.16-.336.624-.224 1.136-.464 1.552-.736.496-.32.912-.688 1.248-1.088l-2.16-2.32zM22.756 50.197c.352.368.768.704 1.232.992.384.24.864.448 1.472.656.592.192 1.264.288 2.032.288.72 0 1.36-.096 1.936-.288.56-.208 1.056-.48 1.456-.832.4-.336.704-.736.928-1.184a3.28 3.28 0 00.32-1.392c0-.592-.128-1.104-.384-1.504a3.788 3.788 0 00-.944-1.008 5.901 5.901 0 00-1.2-.672c-.432-.176-.848-.336-1.216-.48a5.077 5.077 0 01-.928-.432c-.256-.128-.384-.32-.384-.528 0-.08.032-.16.08-.24.048-.064.096-.128.176-.176.08-.048.176-.08.288-.112.112-.016.256-.032.432-.032a2.058 2.058 0 011.248.416c.16.112.304.24.432.384l2.08-2.16a4.323 4.323 0 00-1.008-.816c-.352-.208-.784-.384-1.296-.544-.528-.16-1.136-.24-1.856-.24-.72 0-1.344.096-1.904.272-.56.192-1.024.448-1.408.784a3.514 3.514 0 00-.88 1.136 2.987 2.987 0 00-.304 1.328c0 .592.128 1.104.384 1.504.24.4.56.736.928 1.008s.784.496 1.216.672c.432.176.832.336 1.2.48.368.144.688.288.944.432.24.144.368.32.368.528a.548.548 0 01-.064.288.532.532 0 01-.192.224 1.014 1.014 0 01-.352.144 1.555 1.555 0 01-.496.064c-.336 0-.624-.048-.896-.176a3.787 3.787 0 01-.72-.368 3.531 3.531 0 01-.624-.56l-2.096 2.144z\"\n fill=\"#52585c\"\n fillRule=\"nonzero\"\n />\n <path\n d=\"M39.077 51.813l3.84-11.2H39.06l-1.984 7.6h-.08l-1.984-7.6h-3.856l3.824 11.2h4.096z\"\n fill=\"#52585c\"\n fillRule=\"nonzero\"\n />\n <path\n d=\"M17.061 26.82c0-.828-.672-1.501-1.5-1.501h-7a1.501 1.501 0 000 3h7c.828 0 1.5-.672 1.5-1.5zM29.061 26.82c0-.828-.672-1.501-1.5-1.501h-7a1.501 1.501 0 000 3h7c.828 0 1.5-.672 1.5-1.5zM45.061 26.82c0-.828-.672-1.501-1.5-1.501h-11a1.501 1.501 0 000 3h11a1.5 1.5 0 001.5-1.5zM21.061 31.82c0-.828-.672-1.501-1.5-1.501h-11a1.501 1.501 0 000 3h11a1.5 1.5 0 001.5-1.5z\"\n fill=\"#a4abae\"\n />\n <path\n d=\"M32.062 31.82c0-.828-.672-1.501-1.5-1.501h-6a1.501 1.501 0 000 3h6c.828 0 1.5-.672 1.5-1.5z\"\n fill=\"#a4abae\"\n />\n <path\n d=\"M44.061 31.82c0-.828-.672-1.501-1.5-1.501h-7a1.501 1.501 0 000 3h7c.828 0 1.5-.672 1.5-1.5z\"\n fill=\"#a4abae\"\n />\n </g>\n : ext === \"doc\" || ext === \"docx\" ?\n <g>\n <BlankFile color=\"#bedbe5\"/>\n <path\n d=\"M8.892 51.813h4.48c.88 0 1.68-.144 2.416-.448a6.234 6.234 0 001.92-1.216 5.445 5.445 0 001.728-3.936c0-.752-.16-1.472-.464-2.16a5.688 5.688 0 00-1.264-1.792 6.506 6.506 0 00-1.92-1.2c-.736-.304-1.536-.448-2.416-.448h-4.48v11.2zm3.584-3.04v-5.12h.816c.368 0 .72.064 1.04.176.304.128.576.304.8.528.224.224.4.496.528.8.112.32.176.672.176 1.056 0 .368-.064.72-.192 1.024-.128.32-.304.592-.512.816a2.49 2.49 0 01-.8.528c-.32.128-.672.192-1.04.192h-.816zM26.573 52.133c.912 0 1.76-.16 2.528-.464a6.264 6.264 0 002-1.264 6.057 6.057 0 001.312-1.888c.304-.72.464-1.488.464-2.304 0-.816-.16-1.6-.464-2.32a5.987 5.987 0 00-1.312-1.872 6.264 6.264 0 00-2-1.264 6.832 6.832 0 00-2.528-.464c-.912 0-1.76.16-2.528.464a6.167 6.167 0 00-2.016 1.264 5.506 5.506 0 00-1.312 1.872 5.946 5.946 0 00-.464 2.32c0 .816.16 1.584.464 2.304a5.57 5.57 0 001.312 1.888c.56.528 1.232.96 2.016 1.264a6.832 6.832 0 002.528.464zm-.016-3.216c-.368 0-.72-.064-1.056-.208a2.724 2.724 0 01-.864-.576 2.65 2.65 0 01-.576-.848 2.68 2.68 0 01-.224-1.072c0-.384.064-.736.208-1.072a2.84 2.84 0 01.576-.848c.24-.24.528-.432.864-.576a2.669 2.669 0 011.072-.208c.384 0 .736.064 1.072.208.336.144.624.32.864.56.24.24.432.528.576.864.144.336.208.688.208 1.072 0 .384-.064.736-.208 1.072a2.724 2.724 0 01-.576.864c-.24.24-.528.432-.864.56a2.669 2.669 0 01-1.072.208zM42.797 47.653c-.208.24-.448.448-.72.624-.24.176-.528.32-.864.448a3.131 3.131 0 01-1.136.192c-.4 0-.768-.064-1.104-.208a2.7 2.7 0 01-.896-.576 2.65 2.65 0 01-.576-.848 2.68 2.68 0 010-2.144c.144-.336.336-.624.576-.864.24-.24.544-.416.896-.56a2.77 2.77 0 011.104-.208c.432 0 .8.064 1.12.192.32.128.592.272.832.432.256.192.48.4.688.64l2.16-2.32a6.047 6.047 0 00-1.2-1.088c-.416-.272-.928-.512-1.52-.736-.608-.224-1.328-.336-2.16-.336-.912 0-1.744.16-2.512.464a6.167 6.167 0 00-2.016 1.264 5.506 5.506 0 00-1.312 1.872 5.946 5.946 0 00-.464 2.32c0 .816.16 1.584.464 2.304a5.57 5.57 0 001.312 1.888c.56.528 1.232.96 2.016 1.264.768.304 1.6.464 2.512.464.816 0 1.536-.112 2.16-.336.624-.224 1.136-.464 1.552-.736.496-.32.912-.688 1.248-1.088l-2.16-2.32z\"\n fill=\"#2276a7\"\n fillRule=\"nonzero\"\n />\n <path\n d=\"M46.364 26.82a1.5 1.5 0 00-1.5-1.501H8.563c-.828 0-1.5.673-1.5 1.5 0 .828.672 1.5 1.5 1.5h36.3a1.5 1.5 0 001.501-1.5z\"\n fill=\"#bedbe5\"\n />\n <path\n d=\"M34.061 31.82c0-.828-.672-1.501-1.5-1.501h-24a1.501 1.501 0 000 3h24c.828 0 1.5-.672 1.5-1.5z\"\n fill=\"#bedbe5\"\n />\n </g>\n : ext === \"ppt\" || ext === \"pptx\" ?\n <g>\n <BlankFile color=\"#db3d24\"/>\n <path\n d=\"M12.772 51.813h3.584v-3.04h1.68c.64 0 1.232-.096 1.76-.304a4.188 4.188 0 001.376-.864c.368-.368.672-.8.88-1.296.208-.496.304-1.04.304-1.632 0-.576-.096-1.12-.304-1.616s-.512-.912-.88-1.296c-.384-.368-.848-.64-1.376-.848-.528-.208-1.12-.304-1.76-.304h-5.264v11.2zm3.584-6.08v-2.08h1.296c.16 0 .304.032.448.08.128.048.24.128.336.224.08.096.16.208.224.336.048.128.08.256.08.4 0 .144-.032.272-.08.4-.064.128-.144.24-.224.336a.953.953 0 01-.336.224c-.144.048-.288.08-.448.08h-1.296zM23.172 51.813h3.584v-3.04h1.68c.64 0 1.232-.096 1.76-.304a4.188 4.188 0 001.376-.864c.368-.368.672-.8.88-1.296.208-.496.304-1.04.304-1.632 0-.576-.096-1.12-.304-1.616s-.512-.912-.88-1.296c-.384-.368-.848-.64-1.376-.848-.528-.208-1.12-.304-1.76-.304h-5.264v11.2zm3.584-6.08v-2.08h1.296c.16 0 .304.032.448.08.128.048.24.128.336.224.08.096.16.208.224.336.048.128.08.256.08.4 0 .144-.032.272-.08.4-.064.128-.144.24-.224.336a.953.953 0 01-.336.224c-.144.048-.288.08-.448.08h-1.296z\"\n fill=\"#db3d24\"\n fillRule=\"nonzero\"\n />\n <path\n d=\"M35.62 51.813h3.616v-7.92h2.976v-3.28h-9.536v3.28h2.944v7.92z\"\n fill=\"#db3d24\"\n fillRule=\"nonzero\"\n />\n </g>\n : ext === \"xls\" || ext === \"xlsx\" ?\n <g>\n <BlankFile color=\"#00d374\"/>\n <path\n d=\"M17.877 48.07l1.84 3.743h3.92l-3.44-5.84 3.12-5.36h-3.92l-1.52 3.264h-.08l-1.52-3.264h-3.92l3.104 5.36-3.424 5.84h3.92l1.84-3.744h.08zM23.812 51.813h8.24v-3.36h-4.656v-7.84h-3.584v11.2z\"\n fill=\"#00d374\"\n fillRule=\"nonzero\"\n />\n <path\n d=\"M31.716 50.197c.352.368.768.704 1.232.992.384.24.864.448 1.472.656.592.192 1.264.288 2.032.288.72 0 1.36-.096 1.936-.288.56-.208 1.056-.48 1.456-.832.4-.336.704-.736.928-1.184a3.28 3.28 0 00.32-1.392c0-.592-.128-1.104-.384-1.504a3.788 3.788 0 00-.944-1.008 5.901 5.901 0 00-1.2-.672c-.432-.176-.848-.336-1.216-.48a5.077 5.077 0 01-.928-.432c-.256-.128-.384-.32-.384-.528 0-.08.032-.16.08-.24.048-.064.096-.128.176-.176.08-.048.176-.08.288-.112.112-.016.256-.032.432-.032a2.058 2.058 0 011.248.416c.16.112.304.24.432.384l2.08-2.16a4.323 4.323 0 00-1.008-.816c-.352-.208-.784-.384-1.296-.544-.528-.16-1.136-.24-1.856-.24-.72 0-1.344.096-1.904.272-.56.192-1.024.448-1.408.784a3.514 3.514 0 00-.88 1.136 2.987 2.987 0 00-.304 1.328c0 .592.128 1.104.384 1.504.24.4.56.736.928 1.008s.784.496 1.216.672c.432.176.832.336 1.2.48.368.144.688.288.944.432.24.144.368.32.368.528a.548.548 0 01-.064.288.532.532 0 01-.192.224 1.014 1.014 0 01-.352.144 1.555 1.555 0 01-.496.064c-.336 0-.624-.048-.896-.176a3.787 3.787 0 01-.72-.368 3.531 3.531 0 01-.624-.56l-2.096 2.144z\"\n fill=\"#00d374\"\n fillRule=\"nonzero\"\n />\n <path\n fill=\"#00d374\"\n stroke=\"#00d374\"\n strokeWidth={3}\n d=\"M7.762 24.087h36.754v9.726H7.762z\"\n />\n <path\n d=\"M19.138 36.886c.828 0 1.5-.671 1.5-1.5v-14a1.501 1.501 0 00-3 0v14a1.5 1.5 0 001.5 1.5zM33.138 36.886c.828 0 1.5-.671 1.5-1.5v-14a1.501 1.501 0 00-3 0v14a1.5 1.5 0 001.5 1.5z\"\n fill=\"#fff\"\n />\n <path\n d=\"M3.825 28.95c0 .827.672 1.5 1.5 1.5h40a1.501 1.501 0 000-3h-40a1.5 1.5 0 00-1.5 1.5z\"\n fill=\"#fff\"\n />\n </g>\n :\n <BlankFile color=\"#a4abae\"/>\n }\n </svg>\n )\n}","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype CouponIconProps = SVGIconProps;\nexport default function CouponIcon({\n color=teal.main,\n size=\"medium\",\n altText=\"Coupon\",\n ...props\n}: CouponIconProps) {\n return <SVG size={size} aria-labelledby=\"CouponIcon\" {...props}>\n <title id=\"CouponIcon\" >{altText}</title>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M4 6a1 1 0 0 0-1 1v.468a4.5 4.5 0 0 1 0 8.064V16a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1V7a1 1 0 0 0-1-1H4Zm-3 8a2.5 2.5 0 0 0 0-5V7a3 3 0 0 1 3-3h16a3 3 0 0 1 3 3v9a3 3 0 0 1-3 3H4a3 3 0 0 1-3-3v-2Zm13 1 2.857-5 .65-1.138L18 8h-2l-2.857 5-.65 1.139L12 15h2Zm3-1.5a.5.5 0 1 1 1 0 .5.5 0 0 1-1 0Zm2 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0ZM12.5 9a.5.5 0 1 0 0 1 .5.5 0 0 0 0-1Zm0 2a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM9 8H8v1h1V8Zm-1 3h1v1H8v-1Zm1 3H8v1h1v-1Z\"\n fill={color}\n />\n </SVG>\n}\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { yellow } from '../colors';\n\ntype AwaitingProofIconProps = SVGIconProps;\nexport default function AwaitingProofIcon({\n color=yellow[60],\n size=\"medium\",\n altText=\"Awaiting Proof\",\n ...props\n}: AwaitingProofIconProps) {\n return <SVG size={size} aria-labelledby=\"AwaitingProofIcon\" {...props}>\n <title id=\"AwaitingProofIcon\" >{altText}</title>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M4.686 2.725A1 1 0 0 1 5.647 2h12.176a1 1 0 0 1 .946.675L22 12.09V20a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-7.883l2.686-9.392ZM6.4 4 4 12h5v3h6v-3h5l-2.89-8H6.4ZM20 14h-3v3H7v-3H4v6h16v-6Z\"\n fill={color}\n />\n </SVG>\n}\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype ProofReceivedIconProps = SVGIconProps;\nexport default function ProofReceivedIcon({\n color=teal[60],\n size=\"medium\",\n altText=\"Proof Received\",\n ...props\n}: ProofReceivedIconProps) {\n return <SVG size={size} aria-labelledby=\"ProofReceivedIcon\" {...props}>\n <title id=\"ProofReceivedIcon\" >{altText}</title>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M4 3a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v6.333l.445-.297A1 1 0 0 1 22 9.87V20a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9.869a1 1 0 0 1 1.555-.833L4 9.333V3Zm0 8.737V20h16v-8.263l-6.89 4.594a2 2 0 0 1-2.22 0L4 11.737Zm14-1.07V4H6v6.667l6 4 6-4Z\"\n fill={color}\n />\n </SVG>\n}\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype PendingApprovalIconProps = SVGIconProps;\nexport default function PendingApprovalIcon({\n color=teal[60],\n size=\"medium\",\n altText=\"Pending Approval\",\n ...props\n}: PendingApprovalIconProps) {\n return <SVG size={size} aria-labelledby=\"PendingApprovalIcon\" {...props}>\n <title id=\"PendingApprovalIcon\" >{altText}</title>\n <path\n d=\"M4 17.17 5.17 16H20V4H4v13.17ZM4 2h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H6l-4 4V4c0-1.1.9-2 2-2Z\"\n fill={color}\n />\n <circle cx={7} cy={10} r={1} fill={color} />\n <circle cx={12} cy={10} r={1} fill={color} />\n <circle cx={17} cy={10} r={1} fill={color} />\n </SVG>\n}\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { pink } from '../colors';\n\ntype ChangeRequestedIconProps = SVGIconProps;\nexport default function ChangeRequestedIcon({\n color=pink.main,\n size=\"medium\",\n altText=\"Change Requested\",\n ...props\n}: ChangeRequestedIconProps) {\n return <SVG size={size} aria-labelledby=\"ChangeRequestedIcon\" {...props}>\n <title id=\"ChangeRequestedIcon\" >{altText}</title>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M10.593 12 3.39 4.797 3.292 4.7A.995.995 0 0 1 4.699 3.29l.099.099L12 10.592l7.203-7.202.098-.099A.995.995 0 1 1 20.71 4.7l-.099.098L13.408 12l7.202 7.203.099.098A.995.995 0 0 1 19.3 20.71l-.098-.099L12 13.407 4.797 20.61l-.098.099A.995.995 0 1 1 3.29 19.3l.099-.098L10.593 12Z\"\n fill={color}\n />\n </SVG>\n}\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype ClientApprovedIconProps = SVGIconProps;\nexport default function ClientApprovedIcon({\n color=teal[60],\n size=\"medium\",\n altText=\"Client Approved\",\n ...props\n}: ClientApprovedIconProps) {\n return <SVG size={size} aria-labelledby=\"ClientApprovedIcon\" {...props}>\n <title id=\"ClientApprovedIcon\" >{altText}</title>\n <path\n d=\"m13.11 6.72-.57 2.89c-.12.59.04 1.2.42 1.66.38.46.94.73 1.54.73H20v1.08L17.43 19H9.34a.35.35 0 0 1-.34-.34v-7.84l4.11-4.1ZM14 3 7.59 9.41c-.38.38-.59.89-.59 1.42v7.83C7 19.95 8.05 21 9.34 21h8.1c.71 0 1.36-.37 1.72-.97l2.67-6.15c.11-.25.17-.52.17-.8V12c0-1.1-.9-2-2-2h-5.5l.92-4.65c.05-.22.02-.46-.08-.66a4.8 4.8 0 0 0-.88-1.22L14 3ZM4 10H2v11h2c.55 0 1-.45 1-1v-9c0-.55-.45-1-1-1Z\"\n fill={color}\n />\n </SVG>\n}\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { green } from '../colors';\n\ntype ProofingCompleteIconProps = SVGIconProps;\nexport default function ProofingCompleteIcon({\n color=green.main,\n size=\"medium\",\n altText=\"Proofing Complete\",\n ...props\n}: ProofingCompleteIconProps) {\n return <SVG size={size} aria-labelledby=\"ProofingCompleteIcon\" {...props}>\n <title id=\"ProofingCompleteIcon\" >{altText}</title>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M17.322 5.712a.983.983 0 0 1 0 1.378L6.588 18l-3.91-3.974a.983.983 0 0 1 1.401-1.378l2.51 2.55 9.332-9.486a.983.983 0 0 1 1.401 0ZM21.338 10.714a.972.972 0 0 1 0 1.358L15.56 18l-2.898-2.973a.973.973 0 0 1 1.393-1.357l1.505 1.544 4.386-4.5a.973.973 0 0 1 1.392 0Z\"\n fill={color}\n />\n </SVG>\n}\n","import React from \"react\"\n\nexport function ChatIcon({\n color=\"#000000\", \n width, \n mr,\n mt,\n notifs\n}: React.PropsWithChildren<{\n color?:string, \n width?:string, \n mr?:number,\n mt?:number,\n notifs?:number\n}>) {\n return (\n <svg\n viewBox=\"0 0 23 24\"\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n strokeLinejoin=\"round\"\n strokeMiterlimit={2}\n width={width}\n style={{display:\"inline-block\", verticalAlign: \"top\", marginRight: mr, marginTop: mt }}\n >\n <path fill=\"none\" d=\"M0 0h22.964v23.004H0z\" />\n <path\n d=\"M22.541 8.754c0-4.643-3.77-8.41-8.41-8.41H8.573c-4.64 0-8.41 3.767-8.41 8.41a8.41 8.41 0 005.449 7.869l-1.564 3.142a1.998 1.998 0 00.626 2.512 1.998 1.998 0 002.578-.206l4.907-4.914h1.972c4.64 0 8.41-3.767 8.41-8.403zm-12.59 4.958a2.02 2.02 0 00-1.378-.553 4.409 4.409 0 01-4.41-4.405 4.414 4.414 0 014.41-4.411h5.558a4.414 4.414 0 014.41 4.411 4.409 4.409 0 01-4.41 4.405H11.33c-.517 0-1.009.2-1.379.553z\"\n fill={color}\n />\n <path\n d=\"M20.538 8.7c0-3.503-2.872-6.35-6.407-6.35H8.573c-3.535 0-6.407 2.847-6.407 6.35 0 3.503 2.872 6.35 6.407 6.35l-2.731 5.443 5.488-5.444h2.8c3.536 0 6.408-2.846 6.408-6.349z\"\n fill=\"#fff\"\n />\n <text\n x={\"50%\"}\n y={\"42%\"}\n fontFamily=\"'Arial-BoldMT','Arial',sans-serif\"\n fontWeight={700}\n fontSize={notifs && notifs > 99 ? 8 : 11}\n fill={color}\n dominantBaseline=\"middle\"\n textAnchor=\"middle\"\n >\n {notifs ? (notifs > 99 ? \"99+\" : notifs) : \"\"}\n </text>\n </svg>\n\n\n )\n}\n\nexport default ChatIcon","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype ColumnSelectIconProps = SVGIconProps;\nexport default function ColumnSelectIcon({\n color=teal.main,\n size=\"medium\",\n altText=\"Select Columns\",\n ...props\n}: ColumnSelectIconProps) {\n return <SVG size={size} aria-labelledby=\"ColumnSelectIcon\" {...props}>\n <title id=\"ColumnSelectIcon\" >{altText}</title>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M9.325 20.959V3.09h11.131c.26 0 .47.21.47.47v16.929c0 .26-.21.47-.47.47H9.325Zm5.008-.94V6.654H9.638v13.365h4.695Zm5.653-13.365h-4.695v13.365h4.695V6.654ZM9.638 4.03v1.684h4.695V4.03H9.638Zm5.653 0v1.684h4.693V4.03h-4.693Z\"\n fill=\"#02C0DA\"\n />\n <path\n d=\"M9.167 3.565h-5.65v16.93h5.65V3.564Z\"\n fill=\"#E91B70\"\n fillOpacity={0.25}\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M3.01 6.368c-.023-.057 0-.119 0-.184V3.56c0-.26.21-.47.47-.47h6.156v17.874H3.518c-.26 0-.507-.21-.507-.47V6.368Zm5.687.286h-4.71v13.37h4.71V6.655Z\"\n fill=\"#E91B70\"\n />\n </SVG>\n}\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { white } from '../colors';\n\ntype NavConnectIconProps = SVGIconProps & {filled?: boolean};\nexport default function NavConnectIcon({\n color=white.main,\n size=\"medium\",\n filled=false,\n altText=\"Connect\",\n ...props\n}: NavConnectIconProps) {\n const renderPath = filled ? \"M16.67 13.13C18.04 14.06 19 15.32 19 17v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1v-2c0-2.18-3.57-3.47-6.33-3.87ZM15 12c2.21 0 4-1.79 4-4s-1.79-4-4-4c-.47 0-.91.1-1.33.24a5.98 5.98 0 0 1 0 7.52c.42.14.86.24 1.33.24ZM9 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4ZM9 13c-2.67 0-8 1.34-8 4v2a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1v-2c0-2.66-5.33-4-8-4Z\"\n : \n \"M16.67 13.13C18.04 14.06 19 15.32 19 17v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1v-2c0-2.18-3.57-3.47-6.33-3.87ZM15 12c2.21 0 4-1.79 4-4s-1.79-4-4-4c-.47 0-.91.1-1.33.24a5.98 5.98 0 0 1 0 7.52c.42.14.86.24 1.33.24ZM9 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4Zm0-6c1.1 0 2 .9 2 2s-.9 2-2 2-2-.9-2-2 .9-2 2-2ZM9 13c-2.67 0-8 1.34-8 4v2a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1v-2c0-2.66-5.33-4-8-4Zm6 5H3v-.99C3.2 16.29 6.3 15 9 15s5.8 1.29 6 2v1Z\"\n ;\n\n return <SVG size={size} aria-labelledby=\"NavConnectIcon\" {...props} >\n \n <title id=\"NavConnectIcon\" >{altText}</title>\n <path fill=\"none\" d=\"M0 0h24v24H0z\" />\n <path\n d={renderPath}\n fill={color}\n />\n </SVG>\n}\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { white } from '../colors';\n\ntype NavSalesIconProps = SVGIconProps & {filled?: boolean};\nexport default function NavSalesIcon({\n color=white.main,\n size=\"medium\",\n filled=false,\n altText=\"Sales\",\n ...props\n}: NavSalesIconProps) {\n const renderPath = filled ? \n <>\n <rect x={1} y={12} width={6} height={9} rx={1} fill={color} />\n <rect x={9} y={3} width={6} height={18} rx={1} fill={color} />\n <rect x={17} y={9} width={6} height={12} rx={1} fill={color} />\n </>\n : \n <>\n <mask id=\"nav-sales-icon-a\" fill=\"#fff\">\n <rect x={1} y={12} width={6} height={9} rx={1} />\n </mask>\n <rect\n x={1}\n y={12}\n width={6}\n height={9}\n rx={1}\n stroke={color}\n strokeWidth={4}\n mask=\"url(#nav-sales-icon-a)\"\n />\n <mask id=\"nav-sales-icon-b\" fill=\"#fff\">\n <rect x={9} y={3} width={6} height={18} rx={1} />\n </mask>\n <rect\n x={9}\n y={3}\n width={6}\n height={18}\n rx={1}\n stroke={color}\n strokeWidth={4}\n mask=\"url(#nav-sales-icon-b)\"\n />\n <mask id=\"nav-sales-icon-c\" fill=\"#fff\">\n <rect x={17} y={9} width={6} height={12} rx={1} />\n </mask>\n <rect\n x={17}\n y={9}\n width={6}\n height={12}\n rx={1}\n stroke={color}\n strokeWidth={4}\n mask=\"url(#nav-sales-icon-c)\"\n />\n </>\n ;\n\n return <SVG size={size} fill=\"none\" aria-labelledby=\"NavSalesIcon\" {...props} >\n \n <title id=\"NavSalesIcon\" >{altText}</title>\n {renderPath}\n </SVG>\n}\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { white } from '../colors';\n\ntype NavProdIconProps = SVGIconProps & {filled?: boolean};\nexport default function NavProdIcon({\n color=white.main,\n size=\"medium\",\n filled=false,\n altText=\"Production\",\n ...props\n}: NavProdIconProps) {\n const renderPath = filled ? <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M20 3H4c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2ZM9 17H6c-.55 0-1-.45-1-1s.45-1 1-1h3c.55 0 1 .45 1 1s-.45 1-1 1Zm0-4H6c-.55 0-1-.45-1-1s.45-1 1-1h3c.55 0 1 .45 1 1s-.45 1-1 1Zm0-4H6c-.55 0-1-.45-1-1s.45-1 1-1h3c.55 0 1 .45 1 1s-.45 1-1 1Zm9.7 2.12-3.17 3.17c-.39.39-1.03.39-1.42 0l-1.41-1.42a.996.996 0 1 1 1.41-1.41l.71.71 2.47-2.47a.996.996 0 0 1 1.41 0l.01.01c.38.39.38 1.03-.01 1.41Z\"\n fill={color}\n />\n : \n <>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M20 3H4c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2Zm0 16H4V5h16v14Z\"\n fill={color}\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M18.701 11.127a1.003 1.003 0 0 0-1.418-1.42L14.82 12.17l-.705-.71a.997.997 0 0 0-1.415 1.405L14.82 15l3.881-3.873Z\"\n fill={color}\n />\n <path\n d=\"M10 8a1 1 0 0 0-1-1H6a1 1 0 0 0 0 2h3a1 1 0 0 0 1-1ZM10 12a1 1 0 0 0-1-1H6a1 1 0 1 0 0 2h3a1 1 0 0 0 1-1ZM10 16a1 1 0 0 0-1-1H6a1 1 0 1 0 0 2h3a1 1 0 0 0 1-1Z\"\n fill={color}\n />\n </>\n ;\n\n return <SVG size={size} aria-labelledby=\"NavProdIcon\" {...props} >\n \n <title id=\"NavProdIcon\" >{altText}</title>\n {renderPath}\n </SVG>\n}\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { white } from '../colors';\n\ntype NavFinanceIconProps = SVGIconProps & {filled?: boolean};\nexport default function NavFinanceIcon({\n color=white.main,\n size=\"medium\",\n filled=false,\n altText=\"Finance\",\n ...props\n}: NavFinanceIconProps) {\n \n const renderPath = filled ? \"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2Zm1.41 16.09v.58c0 .73-.6 1.33-1.33 1.33h-.01c-.73 0-1.33-.6-1.33-1.33v-.6c-1.33-.28-2.51-1.01-3.01-2.24-.23-.55.2-1.16.8-1.16h.24c.37 0 .67.25.81.6.29.75 1.05 1.27 2.51 1.27 1.96 0 2.4-.98 2.4-1.59 0-.83-.44-1.61-2.67-2.14-2.48-.6-4.18-1.62-4.18-3.67 0-1.72 1.39-2.84 3.11-3.21v-.6c0-.73.6-1.33 1.33-1.33h.01c.73 0 1.33.6 1.33 1.33v.62c1.38.34 2.25 1.2 2.63 2.26.2.55-.22 1.13-.81 1.13h-.26c-.37 0-.67-.26-.77-.62-.23-.76-.86-1.25-2.12-1.25-1.5 0-2.4.68-2.4 1.64 0 .84.65 1.39 2.67 1.91s4.18 1.39 4.18 3.91c-.02 1.83-1.39 2.83-3.13 3.16Z\"\n : \n \"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2Zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8Zm.31-8.86c-1.77-.45-2.34-.94-2.34-1.67 0-.84.79-1.43 2.1-1.43.96 0 1.504.32 1.76.844.2.413.543.796 1.002.796.485 0 .885-.41.739-.873-.307-.975-1.083-1.786-2.341-2.097v-.545a1.165 1.165 0 0 0-2.33 0v.525c-1.51.32-2.72 1.3-2.72 2.81 0 1.79 1.49 2.69 3.66 3.21 1.95.46 2.34 1.15 2.34 1.87 0 .53-.39 1.39-2.1 1.39-1.126 0-1.772-.357-2.087-.889-.229-.387-.576-.751-1.026-.751-.503 0-.917.433-.745.906.416 1.142 1.469 1.814 2.678 2.064v.53a1.17 1.17 0 1 0 2.34 0v-.5c1.52-.29 2.72-1.16 2.73-2.77-.01-2.2-1.9-2.96-3.66-3.42Z\"\n ;\n\n return <SVG size={size} aria-labelledby=\"NavFinanceIcon\" {...props} >\n \n <title id=\"NavFinanceIcon\" >{altText}</title>\n <path fill=\"none\" d=\"M0 0h24v24H0z\" />\n <path\n d={renderPath}\n fill={color}\n />\n </SVG>\n}\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { white } from '../colors';\n\ntype NavResourcesIconProps = SVGIconProps & {filled?: boolean};\nexport default function NavResourcesIcon({\n color=white.main,\n size=\"medium\",\n filled=false,\n altText=\"Resources\",\n ...props\n}: NavResourcesIconProps) {\n const renderPath = filled ? \n \"M17.508 4c-1.951 0-4.052.409-5.503 1.532C10.555 4.409 8.453 4 6.502 4c-1.45 0-2.99.225-4.281.807A2.083 2.083 0 0 0 1 6.697v11.52c0 1.328 1.22 2.308 2.481 1.981.98-.255 2.021-.367 3.022-.367 1.56 0 3.221.265 4.562.94.6.306 1.28.306 1.87 0 1.341-.685 3.002-.94 4.562-.94 1.001 0 2.041.112 3.022.367 1.26.337 2.481-.643 2.481-1.981V6.697c0-.828-.49-1.553-1.22-1.89C20.498 4.225 18.957 4 17.506 4Zm3.501 13.002c0 .643-.58 1.113-1.2 1-.75-.143-1.531-.204-2.302-.204-1.7 0-4.151.664-5.502 1.532V7.575c1.35-.868 3.802-1.532 5.502-1.532.92 0 1.831.092 2.702.286.46.102.8.52.8 1v9.672Z\"\n : \n \"M23 6.696c0-.827-.49-1.552-1.22-1.89C20.498 4.226 18.957 4 17.506 4c-1.95 0-4.051.409-5.502 1.532C10.555 4.409 8.453 4 6.502 4c-1.45 0-2.99.225-4.281.807A2.083 2.083 0 0 0 1 6.697v11.52c0 1.328 1.22 2.308 2.481 1.981.98-.255 2.021-.367 3.022-.367 1.56 0 3.221.265 4.562.94.6.306 1.28.306 1.87 0 1.341-.685 3.002-.94 4.562-.94 1.001 0 2.041.112 3.022.367 1.26.337 2.481-.643 2.481-1.981V6.697Zm-11.995.625-.21-.162c-.945-.732-2.528-1.116-4.292-1.116-1.275 0-2.51.2-3.462.627a.106.106 0 0 0-.04.031v11.514a14.08 14.08 0 0 1 3.502-.427c1.43 0 3.03.196 4.502.74V7.322Zm2 11.2c1.477-.548 3.075-.733 4.492-.733 1.136 0 2.34.126 3.502.427V6.701a.107.107 0 0 0-.041-.032c-.939-.424-2.173-.626-3.45-.626-1.765 0-3.348.384-4.294 1.116l-.209.162v11.2Z\"\n ;\n\n return <SVG size={size} aria-labelledby=\"NavResourcesIcon\" {...props} >\n \n <title id=\"NavResourcesIcon\" >{altText}</title>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d={renderPath}\n fill={color}\n />\n </SVG>\n}\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { white } from '../colors';\n\ntype NavManagementIconProps = SVGIconProps & {filled?: boolean};\nexport default function NavManagementIcon({\n color=white.main,\n size=\"medium\",\n filled=false,\n altText=\"Management\",\n ...props\n}: NavManagementIconProps) {\n const renderPath = filled ? \n <>\n <path d=\"M16 12h2v2h-2v-2ZM16 16h2v2h-2v-2Z\" fill={color} /><path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M12 8V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V10a2 2 0 0 0-2-2h-8Zm0 2h8v10h-8v-2h2v-2h-2v-2h2v-2h-2v-2ZM8 6H6v2h2V6Zm-2 8h2v2H6v-2Zm2 4H6v2h2v-2Zm-2-8h2v2H6v-2Z\"\n fill={color} />\n </>\n : \n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M20 8a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v2h8ZM10 20H8v-2H6v2H4V6h2v2h2V6h2v14Zm2-4v-2h2v-2h-2v-2h8v10h-8v-2h2v-2h-2Zm-4-2v2H6v-2h2Zm0-4v2H6v-2h2Zm8 2v2h2v-2h-2Zm2 4v2h-2v-2h2Z\"\n fill={color}\n />\n ;\n\n return <SVG size={size} aria-labelledby=\"NavManagementIcon\" {...props} >\n \n <title id=\"NavManagementIcon\" >{altText}</title>\n {renderPath}\n </SVG>\n}\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype TrashIconProps = SVGIconProps & {filled?: boolean, pinned?: boolean;};\nexport default function TrashIcon({\n color=teal.main,\n size=\"medium\",\n filled=false,\n pinned,\n altText=\"Delete\",\n ...props\n}: TrashIconProps) {\n const renderPath = filled ? \"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12ZM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4Z\"\n : \n \"M16 9v10H8V9h8Zm-1.5-6h-5l-1 1H5v2h14V4h-3.5l-1-1ZM18 7H6v12c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7Z\";\n\n return <SVG size={size} aria-labelledby=\"TrashIcon\" {...props} >\n \n <title id=\"TrashIcon\" >{altText}</title>\n <path fill=\"none\" d=\"M0 0h24v24H0z\" />\n <path\n d={renderPath}\n fill={color}\n />\n </SVG>\n}\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype PinIconProps = SVGIconProps & {filled?: boolean, pinned?: boolean; unpin?: boolean;};\nexport default function PinIcon({\n color=teal.main,\n size=\"medium\",\n filled=false,\n unpin=false,\n pinned,\n altText=\"Pin\",\n ...props\n}: PinIconProps) {\n \n\n let renderPath;\n \n if(unpin) {\n altText=\"Unpin\";\n renderPath = \n filled ? \n <>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"m21.313 2.658-1.288-1.53-2.038 1.714a.792.792 0 0 0-.002-.016L16.59 4h.02l-.61.514v-.018L5 13.75v.018L3 15.45l1.288 1.53L7.83 14h3.139v7l1 1 1-1v-7H19v-2c-1.66 0-3-1.34-3-3V7.127l5.313-4.469ZM7 2h8.86L8 8.613V4H7c-.55 0-1-.45-1-1s.45-1 1-1Z\"\n fill={color}\n />\n </> \n : \n <>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"m21.313 2.658-1.288-1.53-2.038 1.714a.792.792 0 0 0-.002-.016L16.59 4h.02l-.61.514v-.018L14 6.18v.017L9.966 9.59l.002-.02L5 13.75v.018L3 15.45l1.288 1.53L7.83 14h3.139v7l1 1 1-1v-7H19v-2c-1.66 0-3-1.34-3-3V7.127l5.313-4.469ZM14 8.81 10.208 12H15c-.63-.84-1-1.88-1-3v-.19Z\"\n fill={color}\n />\n <path\n d=\"M7 2h8.86l-2.377 2H10v2.93L8 8.613V4H7c-.55 0-1-.45-1-1s.45-1 1-1Z\"\n fill={color}\n />\n </>\n ;\n } else {\n renderPath = \n filled ? \n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M16 9V4h1c.55 0 1-.45 1-1s-.45-1-1-1H7c-.55 0-1 .45-1 1s.45 1 1 1h1v5c0 1.66-1.34 3-3 3v2h5.97v7l1 1 1-1v-7H19v-2c-1.66 0-3-1.34-3-3Z\"\n fill={color}\n /> \n :\n <path\n d=\"M14 4v5c0 1.12.37 2.16 1 3H9c.65-.86 1-1.9 1-3V4h4Zm3-2H7c-.55 0-1 .45-1 1s.45 1 1 1h1v5c0 1.66-1.34 3-3 3v2h5.97v7l1 1 1-1v-7H19v-2c-1.66 0-3-1.34-3-3V4h1c.55 0 1-.45 1-1s-.45-1-1-1Z\"\n fill={color}\n />\n ;\n };\n\n\n return <SVG size={size} aria-labelledby=\"PinIcon\" {...props}>\n \n <title id=\"PinIcon\" >{altText}</title>\n {renderPath}\n </SVG>\n}\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype TaskIconProps = SVGIconProps;\nexport default function TaskIcon({\n color=teal.main,\n size=\"medium\",\n altText=\"Tasks\",\n ...props\n}: TaskIconProps) {\n return <SVG size={size} aria-labelledby=\"TaskIcon\" {...props}>\n <title id=\"TaskIcon\" >{altText}</title>\n <path\n d=\"M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6Zm4 18H6V4h7v5h5v11Zm-9.18-6.95L7.4 14.46 10.94 18l5.66-5.66-1.41-1.41-4.24 4.24-2.13-2.12Z\"\n fill={color}\n />\n </SVG>\n}\n\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype AddTaskIconProps = SVGIconProps;\nexport default function AddTaskIcon({\n color=teal.main,\n size=\"medium\",\n altText=\"Add Task\",\n ...props\n}: AddTaskIconProps) {\n return <SVG size={size} aria-labelledby=\"AddTaskIcon\" {...props}>\n <title id=\"AddTaskIcon\" >{altText}</title>\n <path\n d=\"M6 2h8l6 6v4h-2V9h-5V4H6v16h6v2H5.99C4.89 22 4 21.1 4 20l.01-16c0-1.1.89-2 1.99-2Zm1.4 12.46 1.42-1.41 2.13 2.12 4.24-4.24 1.41 1.41L10.94 18 7.4 14.46ZM18 16a1 1 0 1 1 2 0v2h2a1 1 0 1 1 0 2h-2v2a1 1 0 1 1-2 0v-2h-2a1 1 0 1 1 0-2h2v-2Z\"\n fill={color}\n />\n </SVG>\n}\n\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype NoteIconProps = SVGIconProps;\nexport default function NoteIcon({\n color=teal.main,\n size=\"medium\",\n altText=\"Notes\",\n ...props\n}: NoteIconProps) {\n return <SVG size={size} aria-labelledby=\"NoteIcon\" {...props}>\n <title id=\"NoteIcon\" >{altText}</title>\n <path\n d=\"M8 16h8v2H8v-2Zm0-4h8v2H8v-2Zm6-10H6c-1.1 0-2 .9-2 2v16c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6Zm4 18H6V4h7v5h5v11Z\"\n fill={color}\n />\n </SVG>\n}\n\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype AddNoteIconProps = SVGIconProps;\nexport default function AddNoteIcon({\n color=teal.main,\n size=\"medium\",\n altText=\"Add Note\",\n ...props\n}: AddNoteIconProps) {\n return <SVG size={size} aria-labelledby=\"AddNoteIcon\" {...props}>\n <title id=\"AddNoteIcon\" >{altText}</title>\n <path\n d=\"M6 2h8l6 6v4h-2V9h-5V4H6v16h6v2H5.99C4.89 22 4 21.1 4 20V4c0-1.1.9-2 2-2Zm2 10h8v2H8v-2Zm0 4h4v2H8v-2Zm10 0a1 1 0 1 1 2 0v2h2a1 1 0 1 1 0 2h-2v2a1 1 0 1 1-2 0v-2h-2a1 1 0 1 1 0-2h2v-2Z\"\n fill={color}\n />\n </SVG>\n}\n\n","import React from 'react';\nimport { teal } from '../colors';\nimport SVG, { SVGIconProps } from './SvgIcon';\n\ntype LockIconProps = SVGIconProps & {locked?: boolean};\nexport default function LockIcon({\n color=teal.main,\n size=\"medium\",\n locked=false,\n altText=\"Lock\",\n ...props\n}: LockIconProps) {\n\n locked ? altText=\"Unlock\" : altText=\"Lock\";\n\n const renderPath = React.useMemo(() => {\n if (locked === true) {\n return <path\n d=\"M18 8.5h-1v-2c0-2.76-2.24-5-5-5s-5 2.24-5 5v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2v-10c0-1.1-.9-2-2-2Zm-6 9c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2Zm3.1-9H8.9v-2c0-1.71 1.39-3.1 3.1-3.1 1.71 0 3.1 1.39 3.1 3.1v2Z\"\n fill={color}\n />\n }\n // default to unselected\n return <path\n d=\"M12 13.5c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2Zm6-5h-1v-2c0-2.76-2.24-5-5-5-2.28 0-4.27 1.54-4.84 3.75-.14.54.18 1.08.72 1.22a1 1 0 0 0 1.22-.72A2.996 2.996 0 0 1 12 3.5c1.65 0 3 1.35 3 3v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2v-10c0-1.1-.9-2-2-2Zm0 11c0 .55-.45 1-1 1H7c-.55 0-1-.45-1-1v-8c0-.55.45-1 1-1h10c.55 0 1 .45 1 1v8Z\"\n fill={color}/>\n }, [locked, color]);\n \n return <SVG size={size} aria-labelledby=\"LockIcon\" {...props}>\n <title id=\"LockIcon\">{altText}</title>\n <path fill=\"none\" d=\"M0 0h24v24H0z\" />\n {renderPath}\n </SVG>;\n\n}\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype InfoIconProps = SVGIconProps & {filled?: boolean, pinned?: boolean;};\nexport default function InfoIcon({\n color=teal.main,\n size=\"medium\",\n filled=false,\n pinned,\n altText=\"Information\",\n ...props\n}: InfoIconProps) {\n const renderPath = filled ? \"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2Zm1 15h-2v-6h2v6Zm0-8h-2V7h2v2Z\"\n : \n \"M11 7h2v2h-2V7Zm0 4h2v6h-2v-6Zm1-9C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2Zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8Z\"\n\n return <SVG size={size} aria-labelledby=\"InfoIcon\" {...props} >\n \n <title id=\"InfoIcon\" >{altText}</title>\n <path fill=\"none\" d=\"M0 0h24v24H0z\" />\n <path\n d={renderPath}\n fill={color}\n />\n </SVG>\n}\n\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype DownloadIconProps = SVGIconProps;\nexport default function DownloadIcon({\n color=teal.main,\n size=\"medium\",\n altText=\"Download\",\n ...props\n}: DownloadIconProps) {\n return <SVG size={size} aria-labelledby=\"DownloadIcon\" {...props}>\n <title id=\"DownloadIcon\" >{altText}</title>\n <path\n d=\"M18 15v3H6v-3H4v3c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2v-3h-2Zm-1-4-1.41-1.41L13 12.17V4h-2v8.17L8.41 9.59 7 11l5 5 5-5Z\"\n fill={color}\n />\n </SVG>\n}\n\n","import React from 'react';\nimport {errors, teal, green } from '../colors';\nimport SVG, { SVGIconProps } from './SvgIcon';\n\ntype MarketingStatusIconProps = SVGIconProps & {approved?: boolean};\nexport default function MarketingStatusIcon({\n color=teal.main,\n size=\"medium\",\n approved=false,\n altText=\"Marketing not allowed\",\n ...props\n}: MarketingStatusIconProps) {\n\n approved ? altText=\"Marketing allowed\" : altText=\"Marketing not allowed\";\n\n const finalPath = React.useMemo(() => {\n if (approved === true) {\n return <><path\n d=\"M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h8v-2H4V8l8 5 8-5v4h2V6c0-1.1-.9-2-2-2Zm-8 7L4 6h16l-8 5Z\"\n fill={color}\n />\n <path\n d=\"m17.04 21.07-2.835-2.835a.997.997 0 1 1 1.41-1.41l1.415 1.415 3.535-3.535a1.004 1.004 0 1 1 1.42 1.42L17.04 21.07Z\"\n fill={green.main}\n /></>\n }\n // default to unselected\n return <><path\n d=\"M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h9v-2H4V8l8 5 8-5v4h2V6c0-1.1-.9-2-2-2Zm-8 7L4 6h16l-8 5Z\"\n fill={color}\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M16.345 20.29a1.004 1.004 0 0 0 1.42 0l1.402-1.403 1.403 1.402a1.004 1.004 0 1 0 1.42-1.42l-1.403-1.402 1.398-1.398a1.004 1.004 0 1 0-1.42-1.42l-1.398 1.398-1.397-1.398a1.004 1.004 0 1 0-1.42 1.42l1.397 1.398-1.402 1.402a1.004 1.004 0 0 0 0 1.42Z\"\n fill={errors.main}\n /></>\n }, [approved, color]);\n \n return <SVG size={size} aria-labelledby=\"MarketingStatusIcon\" {...props}>\n <title id=\"MarketingStatusIcon\" >{altText}</title>\n <path fill=\"none\" d=\"M0 0h24v24H0z\" />\n {finalPath}\n </SVG>;\n\n}\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype GearIconProps = SVGIconProps & {filled?: boolean};\nexport default function GearIcon({\n color=teal.main,\n filled=false,\n size=\"medium\",\n altText=\"Settings\",\n ...props\n}: GearIconProps) {\n const renderPath = React.useMemo(() => {\n if (filled) {\n return \"M19.5 12c0-.23-.01-.45-.03-.68l1.86-1.41c.4-.3.51-.86.26-1.3l-1.87-3.23a.987.987 0 0 0-1.25-.42l-2.15.91c-.37-.26-.76-.49-1.17-.68l-.29-2.31c-.06-.5-.49-.88-.99-.88h-3.73c-.51 0-.94.38-1 .88l-.29 2.31c-.41.19-.8.42-1.17.68l-2.15-.91c-.46-.2-1-.02-1.25.42L2.41 8.62c-.25.44-.14.99.26 1.3l1.86 1.41a7.343 7.343 0 0 0 0 1.35l-1.86 1.41c-.4.3-.51.86-.26 1.3l1.87 3.23c.25.44.79.62 1.25.42l2.15-.91c.37.26.76.49 1.17.68l.29 2.31c.06.5.49.88.99.88h3.73c.5 0 .93-.38.99-.88l.29-2.31c.41-.19.8-.42 1.17-.68l2.15.91c.46.2 1 .02 1.25-.42l1.87-3.23c.25-.44.14-.99-.26-1.3l-1.86-1.41c.03-.23.04-.45.04-.68Zm-7.46 3.5c-1.93 0-3.5-1.57-3.5-3.5s1.57-3.5 3.5-3.5 3.5 1.57 3.5 3.5-1.57 3.5-3.5 3.5Z\";\n }\n return \"M19.432 12.98c.04-.32.07-.64.07-.98 0-.34-.03-.66-.07-.98l2.11-1.65c.19-.15.24-.42.12-.64l-2-3.46a.5.5 0 0 0-.61-.22l-2.49 1c-.52-.4-1.08-.73-1.69-.98l-.38-2.65a.488.488 0 0 0-.49-.42h-4c-.25 0-.46.18-.49.42l-.38 2.65c-.61.25-1.17.59-1.69.98l-2.49-1a.566.566 0 0 0-.18-.03c-.17 0-.34.09-.43.25l-2 3.46c-.13.22-.07.49.12.64l2.11 1.65c-.04.32-.07.65-.07.98 0 .33.03.66.07.98l-2.11 1.65c-.19.15-.24.42-.12.64l2 3.46a.5.5 0 0 0 .61.22l2.49-1c.52.4 1.08.73 1.69.98l.38 2.65c.03.24.24.42.49.42h4c.25 0 .46-.18.49-.42l.38-2.65c.61-.25 1.17-.59 1.69-.98l2.49 1c.06.02.12.03.18.03.17 0 .34-.09.43-.25l2-3.46c.12-.22.07-.49-.12-.64l-2.11-1.65Zm-1.98-1.71c.04.31.05.52.05.73 0 .21-.02.43-.05.73l-.14 1.13.89.7 1.08.84-.7 1.21-1.27-.51-1.04-.42-.9.68c-.43.32-.84.56-1.25.73l-1.06.43-.16 1.13-.2 1.35h-1.4l-.35-2.48-1.06-.43c-.43-.18-.83-.41-1.23-.71l-.91-.7-1.06.43-1.27.51-.7-1.21 1.08-.84.89-.7-.14-1.13c-.03-.31-.05-.54-.05-.74 0-.2.02-.43.05-.73l.14-1.13-.89-.7-1.08-.84.7-1.21 1.27.51 1.04.42.9-.68c.43-.32.84-.56 1.25-.73l1.06-.43.16-1.13.2-1.35h1.39l.35 2.48 1.06.43c.43.18.83.41 1.23.71l.91.7 1.06-.43 1.27-.51.7 1.21-1.07.85-.89.7.14 1.13ZM12.002 8c-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4Zm0 6c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2Z\";\n }, [filled]);\n\n return <SVG size={size} aria-labelledby=\"GearIcon\" {...props}>\n <title id=\"GearIcon\">{altText}</title>\n <path fill=\"none\" d=\"M0 0h24v24H0z\" />\n <path\n d={renderPath}\n fill={color}\n />\n </SVG>\n}\n","const datepickerStyles = `\n.commonsku-styles-datepicker {\n &.react-datepicker-wrapper {\n width: 100%;\n }\n\n .react-datepicker__input-container {\n display: block;\n width: 100%;\n }\n\n .react-datepicker {\n border: 1px solid var(--color-primary1-60);\n outline: none;\n box-shadow: 1px 1px 0px var(--color-primary1-60),\n -1px -1px 0px var(--color-primary1-60),\n 1px -1px 0px var(--color-primary1-60),\n -1px 1px 0px var(--color-primary1-60);\n }\n\n .react-datepicker__current-month,\n .react-datepicker-time__header,\n .react-datepicker-year-header,\n .react-datepicker__header {\n padding-top: 8px;\n padding-bottom: 8px;\n }\n\n .react-datepicker__header,\n .react-datepicker__today-button {\n background: var(--color-neutrals-20);\n padding-top: 8px;\n padding-bottom: 8px;\n }\n\n .react-datepicker__header {\n border-bottom: none;\n }\n\n .react-datepicker__today-button {\n border-top: none;\n }\n\n .react-datepicker__day {\n outline: none;\n }\n\n .react-datepicker__day :not(\n .react-datepicker__day--outside-month,\n .react-datepicker__day--selected\n ) {\n color: var(--color-neutrals-90);\n }\n\n .react-datepicker__day:hover :not(.react-datepicker__day--selected),\n .react-datepicker__month-text:hover,\n .react-datepicker__quarter-text:hover,\n .react-datepicker__year-text:hover {\n background-color: var(--color-neutrals-20);\n }\n\n .react-datepicker__day--outside-month {\n color: var(--color-neutrals-70);\n }\n\n .react-datepicker__day--weekend {\n color: var(--color-errors-main);\n }\n\n .react-datepicker__day--selected,\n .react-datepicker__day--keyboard-selected,\n .react-datepicker__month-text--keyboard-selected,\n .react-datepicker__quarter-text--keyboard-selected,\n .react-datepicker__year-text--keyboard-selected\n {\n background-color: var(--color-primary1-60);\n color: #fff;\n }\n\n .react-datepicker__triangle {\n border-bottom-color: var(--color-neutrals-20) !important;\n }\n\n .react-datepicker__triangle::before {\n border-bottom-color: var(--color-primary1-60) !important;\n border-top-color: var(--color-primary1-60) !important;\n }\n\n .react-datepicker__month-select,\n .react-datepicker__year-select {\n height: 30px;\n border: 2px solid var(--color-primary1-60);\n padding: 3px;\n border-radius: 5px;\n outline: none;\n }\n\n .react-datepicker__navigation {\n border: 0.45rem solid transparent;\n\n &.react-datepicker__navigation--next {\n border-left: 7px solid var(--color-primary1-60);\n margin-top: 8px;\n }\n \n &.react-datepicker__navigation--previous {\n border-right: 7px solid var(--color-primary1-60);\n margin-top: 8px;\n }\n }\n}\n`;\n\nexport default datepickerStyles;\n","import _ from 'lodash';\nimport { createGlobalStyle, CSSObject, DefaultTheme, ThemedStyledProps, ThemeProps } from 'styled-components';\nimport datepickerStyles from './datepickerStyles';\n\ntype ColorObj = {[key: string]: string | ColorObj};\nconst parseColorVars = (colors: ColorObj, prefix: string = ''): string => {\n return Object.keys(colors).map(k => {\n const v = colors[k];\n const key = (prefix ? `${prefix}-` : '') + k.replaceAll(' ', '_');\n\n if (typeof v === 'string') {\n return `\n --color-${key}: ${v};\n `;\n }\n\n return parseColorVars(v, key);\n }).join('\\n');\n};\n\nexport type AdditionalStyles = CSSObject | string\n | ((p: ThemeProps<DefaultTheme>) => CSSObject | string | undefined | null);\n\nfunction createFontStyles(p: ThemedStyledProps<{additionalStyles?: AdditionalStyles;}, DefaultTheme>) {\n const fontFamilies = _.get(p, ['theme', 'fontFamilies'], {});\n return Object.keys(fontFamilies).map(\n k => {\n if (Array.isArray(fontFamilies[k])) {\n return `\n --font-family-${k}: ${fontFamilies[k].join(',')};\n `;\n }\n return `\n --skufont-${k}: ${fontFamilies[k]};\n --font-family-${k}: ${[fontFamilies[k]].concat(fontFamilies['fallbacks']).join(',')};\n `;\n }\n ).join('');\n}\n\nconst GlobalStyle = createGlobalStyle<{ additionalStyles?: AdditionalStyles }>`\n:root {\n ${p => createFontStyles(p)}\n ${p => parseColorVars(_.get(p, ['theme', 'colors'], {}), '')}\n ${p => {\n if (!p.additionalStyles) { return null; }\n\n switch (typeof p.additionalStyles) {\n case 'function':\n return p.additionalStyles(p);\n case 'object':\n case 'string':\n return p.additionalStyles;\n default:\n return null;\n }\n }}\n}\n&&& {\n .commonsku-styles-select__input {\n input {\n height: auto;\n }\n }\n ${datepickerStyles}\n}\n`;\n\nexport default GlobalStyle;\n","import React from \"react\";\nimport { ThemeProvider } from \"styled-components\";\nimport GlobalStyle, { AdditionalStyles } from \"./globalStyles\";\nimport _ from 'lodash'\nimport colors from \"./colors\";\nimport { sizeMedia, sizeMediaWidth } from \"../utils\";\n\nexport {colors}; \n\n\nexport const fontFamilies = {\n skuFontRegular: \"'skufont-regular'\",\n skuFontDemibold: \"'skufont-demibold'\",\n skuFontBold: \"'skufont-demibold'\",\n skuFontMedium: \"'skufont-medium'\",\n regular: '',\n demibold: '',\n bold: '',\n medium: '',\n fallbacks: [\n '\"museo-sans\"',\n '\"Helvetica Neue\"',\n 'Helvetica',\n 'Roboto',\n 'Arial',\n 'sans-serif',\n ],\n}\nfontFamilies.regular = [fontFamilies.skuFontRegular, ...fontFamilies.fallbacks].join(',');\nfontFamilies.demibold = [fontFamilies.skuFontDemibold, ...fontFamilies.fallbacks].join(',');\nfontFamilies.bold = [fontFamilies.skuFontBold, ...fontFamilies.fallbacks].join(',');\nfontFamilies.medium = [fontFamilies.skuFontMedium, ...fontFamilies.fallbacks].join(',');\n\nexport const fonts = [fontFamilies.skuFontDemibold, ...fontFamilies.fallbacks];\n\nexport const fontStyles = {\n h1: {\n fontSize: '2rem',\n lineHeight: '3rem',\n fontFamily: fontFamilies.demibold\n },\n h2: {\n fontSize: '1.5rem',\n lineHeight: '2.5rem',\n fontFamily: fontFamilies.demibold\n },\n h3: {\n fontSize: '1.25rem',\n lineHeight: '2rem',\n fontFamily: fontFamilies.bold\n },\n h4: {\n fontSize: '1rem',\n lineHeight: '1.5rem',\n fontFamily: fontFamilies.bold\n },\n p: {\n large: {\n fontSize: '1.125rem',\n lineHeight: '1.75rem',\n fontFamily: fontFamilies.regular\n },\n medium: {\n fontSize: '1rem',\n lineHeight: '1.5rem',\n fontFamily: fontFamilies.regular\n },\n small: {\n fontSize: '0.875rem',\n lineHeight: '1.5rem', \n fontFamily: fontFamilies.regular\n }\n }, \n button: {\n huge: {\n fontSize: '1.125rem',\n lineHeight: '1.5rem',\n fontFamily: fontFamilies.demibold\n },\n large: {\n fontSize: '1rem',\n lineHeight: '1.5rem',\n fontFamily: fontFamilies.demibold\n },\n medium: {\n fontSize: '0.875rem',\n lineHeight: '1.5rem',\n fontFamily: fontFamilies.demibold\n },\n small: {\n fontSize: '0.75rem',\n lineHeight: '1rem',\n fontFamily: fontFamilies.demibold\n },\n tiny: {\n fontSize: '0.625rem',\n lineHeight: '1rem',\n fontFamily: fontFamilies.demibold\n }\n },\n label: {\n fontSize: '1rem',\n lineHeight: '1.5rem',\n fontFamily: fontFamilies.medium\n }\n};\n\nexport const themeOptions = {\n colors,\n fonts,\n fontFamily: `${fonts.join(\",\")}`,\n fontFamilies,\n fontStyles,\n space: {\n '0': '0px',\n '1': '8px',\n '2': '16px',\n '3': '24px',\n '4': '32px',\n '5': '40px',\n '6': '48px',\n '7': '56px',\n '8': '64px',\n '9': '72px',\n '10': '80px',\n },\n mediaQueries: {\n sizeMediaWidth: sizeMediaWidth,\n sizeMedia: sizeMedia,\n },\n}\n\nexport function getColor(color?: string, def?: string): string {\n if (!color) { return ''; }\n return _.get(colors, color, _.get(colors, def || '', def));\n}\n\nexport function getFontStyle(value?: string, def?: string): string {\n if (!value) { return ''; }\n return _.get(fontStyles, value, _.get(fontStyles, def || '', def));\n}\n\nexport function getThemeColor(props: {[key: string]: any}, color: string, fallbackColor?: string): string {\n return getThemeProperty(props, 'colors', color, fallbackColor);\n}\n\nexport function getThemeFontStyle(props: {[key: string]: any}, value: string, fallbackValue?: string): string {\n return getThemeProperty(props, 'fontStyles', value, fallbackValue);\n}\n\nexport function getThemeFontSize(props: {[key: string]: any}, value: string, fallbackValue?: string): string {\n return getThemeFontStyle(props, `${value}.fontSize`, fallbackValue);\n}\n\nexport function getThemeFontFamily(props: {[key: string]: any}, fallbackValue = \"\"): string {\n return getThemeProperty(props, 'fontFamily', fallbackValue);\n}\n\nexport function getThemeProperty(props: {[key: string]: any}, prop: string, value?: string, fallbackValue?: string): string {\n if (_.get(props, `theme.${prop}`, null)) {\n if (_.isObject(props.theme[prop]) && _.get(props.theme, `${prop}.${value}`, null)) {\n return _.get(props.theme, `${prop}.${value}`, null);\n } else {\n return props.theme[prop];\n }\n } else if (_.get(themeOptions, `${prop}.${value}`, null)) {\n return _.get(themeOptions, `${prop}.${value}`, null);\n }\n\n switch (prop) {\n case 'fontStyles':\n return getFontStyle(value, fallbackValue);\n case 'fontSizes':\n return getFontStyle(value, fallbackValue);\n case 'colors':\n return getColor(value, fallbackValue);\n case 'fontFamily':\n return _.get(\n themeOptions.fontFamilies,\n `${value}.fontFamily`,\n fallbackValue || themeOptions.fontFamily\n );\n default:\n return '';\n }\n}\n\n\nconst Theme = ({ theme={}, globalStyles=false, additionalGlobalStyles, children }: React.PropsWithChildren<{\n theme?: object,\n globalStyles?: boolean,\n additionalGlobalStyles?: AdditionalStyles,\n}>) => {\n const mergedTheme = _.merge(themeOptions, theme);\n return (\n <ThemeProvider theme={mergedTheme}>\n {globalStyles ? <GlobalStyle theme={mergedTheme} additionalStyles={additionalGlobalStyles} /> : null}\n {children}\n </ThemeProvider>\n );\n};\n\nexport default Theme;","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\nimport { colors } from '../Theme';\n\ntype CircleProgressIconProps = SVGIconProps & {\n sqSize?: number,\n strokeWidth?: number,\n percentage?: number,\n strokeColor?: string,\n textColor?: string,\n text?: string,\n viewBox?: string,\n textStyle?: React.CSSProperties,\n};\nexport default function CircleProgressIcon({\n sqSize,\n strokeWidth,\n percentage = 0,\n strokeColor = teal.main,\n textColor = teal.main,\n text = '',\n textStyle = {},\n color=teal.main,\n size=\"medium\",\n altText=\"Progress level\",\n ...props\n\n}: CircleProgressIconProps) {\n\n const iconSizes = {\n tiny: {\n width: 32,\n height: 32,\n viewBox: \"0 0 32 32\",\n },\n small: {\n width: 40,\n height: 40,\n viewBox: \"0 0 40 40\",\n },\n medium: {\n width: 48,\n height:48,\n viewBox: \"0 0 48 48\",\n },\n large: {\n width: 72,\n height: 72,\n viewBox: \"0 0 72 72\",\n },\n huge: {\n width: 96,\n height: 96,\n viewBox: \"0 0 96 96\",\n },\n default: {\n height: 48,\n width: 48,\n viewBox: \"0 0 48 48\",\n },\n };\n\n sqSize=iconSizes[size][\"width\"]\n strokeWidth = size === \"tiny\" || size === \"small\" ? 3 : 5;\n\n const radius = (sqSize - strokeWidth) / 2;\n // const viewBox = `0 0 ${sqSize} ${sqSize}`;\n const dashArray = radius * Math.PI * 2;\n const dashOffset = dashArray - dashArray * percentage / 100;\n\n return <SVG size={size} iconSizes={iconSizes} aria-labelledby=\"CircleProgressIcon\" {...props}>\n <title id=\"CircleProgressIcon\" >{ text !== '' ? `${text} stage` : percentage ? `${percentage}% completed` : altText}</title>\n <circle\n className=\"circle-background\"\n cx={sqSize / 2}\n cy={sqSize / 2}\n r={radius}\n strokeWidth={`${strokeWidth}px`}\n style={{ fill: 'none', stroke: colors.disabledButtonBorder, }}\n />\n <circle\n className=\"circle-progress\"\n cx={sqSize / 2}\n cy={sqSize / 2}\n r={radius}\n strokeWidth={`${strokeWidth}px`}\n transform={`rotate(-90 ${sqSize / 2} ${sqSize / 2})`}\n style={{\n strokeDasharray: dashArray,\n strokeDashoffset: dashOffset,\n fill: 'none',\n stroke: strokeColor,\n strokeLinecap: 'round',\n strokeLinejoin: 'round',\n }}\n />\n <text\n className=\"circle-text\"\n x=\"50%\"\n y=\"50%\"\n dy=\".3em\"\n textAnchor=\"middle\"\n style={{\n fontSize: size === \"small\" || size === \"tiny\" ? \".6em\" : size === \"medium\" ? \".8em\" : \"1em\",\n fontWeight: 'bold',\n fill: textColor,\n ...textStyle\n }}\n >{text || `${percentage}%`}</text>\n </SVG>\n}\n\n","import { SharedStyles, SharedStyleTypes } from '../SharedStyles'\nimport styled from \"styled-components\"\n\nconst SVG = styled.svg<SharedStyleTypes>`\n ${SharedStyles}\n`;\n\nexport default SVG;\n","import React from 'react';\nimport { generateColor } from \"../../utils\";\nimport { colors } from \"../Theme\";\nimport { SharedStyleTypes } from \"../SharedStyles\";\nimport SVG from \"./SVG\";\n\nfunction Loading({\n height = 50,\n width,\n animationDuration = 1000,\n barWidth = 14,\n barRadius = 2,\n colorful = false,\n bars = 4,\n viewBox = \"10 0 51 50\",\n rotate=false,\n startColor,\n endColor,\n ...props\n}: {\n height?: number,\n width?: number,\n animationDuration?: number,\n barWidth?: number,\n barRadius?: number,\n colorful?: boolean,\n bars?: number,\n viewBox?: string,\n startColor?: string,\n endColor?: string,\n rotate?: boolean,\n} & SharedStyleTypes) {\n const colorGradient = colorful\n ? generateColor(startColor || colors.special1, endColor || colors.primary, bars)\n : generateColor(startColor || colors.primary, endColor || colors.primary0, bars);\n\n const generateBar = (v: number) => {\n return (\n <rect\n key={`bar_${v}`}\n x={19 * v}\n y=\"0\"\n width={barWidth || 14}\n height={height}\n fill={`#${colorGradient[v]}`}\n rx={barRadius}\n >\n <animate\n attributeName=\"height\"\n values=\"50;10;50\"\n begin={`${v * 0.2}s`}\n dur={`${animationDuration / 1000}s`}\n repeatCount=\"indefinite\"\n />\n </rect>\n );\n };\n\n const generateBars = () => {\n const result = [] as any[];\n for (let i = 0; i < bars; i++) {\n result.push(generateBar(i));\n }\n return result;\n };\n\n return (\n <SVG\n width={width ? `${width}px` : \"100%\"}\n height={height ? `${height}px` : \"100%\"}\n viewBox={viewBox}\n transform=\"scale(1, -1) translate(0, -1)\"\n {...props}\n >{generateBars()}</SVG>\n );\n}\n\nexport default Loading;\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport {green, errors} from '../colors';\n\ntype SalesArrowIconDirection = 'up' | 'down';\n\ntype SalesArrowIconProps = SVGIconProps & {direction?: SalesArrowIconDirection};\nexport default function SalesArrowIcon({\n color=green.main,\n size=\"medium\",\n direction=\"up\",\n altText=\"Up\",\n ...props\n}: SalesArrowIconProps) {\n\n if(direction === \"down\") {\n color=errors.main;\n altText=\"Down\";\n } else {\n color = green.main;\n altText=\"Up\"\n }\n\n const renderPath = direction === \"up\" ? \"m12 4 9 15H3l9-15Z\" : \"M12 19 3 4h18l-9 15Z\" ;\n\n return <SVG size={size} aria-labelledby=\"SalesArrowIcon\" {...props}>\n <title id=\"SalesArrowIcon\" >{altText}</title>\n <path\n d={renderPath}\n fill={color}\n />\n </SVG>\n}\n\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { errors } from '../colors';\n\ntype AlertIconProps = SVGIconProps & {filled?: boolean;};\nexport default function AlertIcon({\n color=errors.main,\n size=\"medium\",\n filled=false,\n altText=\"Alert\",\n ...props\n}: AlertIconProps) {\n const renderPath = filled ? \"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2Zm0 11c-.55 0-1-.45-1-1V8c0-.55.45-1 1-1s1 .45 1 1v4c0 .55-.45 1-1 1Zm1 4h-2v-2h2v2Z\"\n : \n \"M12 7c.55 0 1 .45 1 1v4c0 .55-.45 1-1 1s-1-.45-1-1V8c0-.55.45-1 1-1Zm-.01-5C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2ZM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8Zm1-3h-2v-2h2v2Z\";\n\n return <SVG size={size} aria-labelledby=\"AlertIcon\" {...props}>\n <title id=\"AlertIcon\" >{altText}</title>\n <path fill=\"none\" d=\"M0 0h24v24H0z\" />\n <path\n d={renderPath}\n fill={color}\n />\n </SVG>\n}\n\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { green } from '../colors';\n\ntype AddIconProps = SVGIconProps;\nexport default function CompletedCheckmarkIcon({\n color=green.main,\n size=\"medium\",\n altText=\"Completed checkmark\",\n ...props\n}: AddIconProps) {\n return <SVG size={size} aria-labelledby=\"CompletedCheckmarkIcon\" {...props}>\n <title id=\"CompletedCheckmarkIcon\">{altText}</title>\n <path fill=\"none\" d=\"M0 0h24v24H0z\" />\n <path\n d=\"m21.284 5.89-10 10a.996.996 0 0 1-1.41 0l-2.83-2.83a.996.996 0 1 1 1.41-1.41l2.12 2.12 9.29-9.29a.996.996 0 0 1 1.41 0c.4.39.4 1.02.01 1.41Zm-5.52-3.15c-1.69-.69-3.61-.93-5.61-.57-4.07.73-7.32 4.01-8.01 8.08a10.009 10.009 0 0 0 11.19 11.66c3.96-.51 7.28-3.46 8.32-7.31.4-1.47.44-2.89.21-4.22-.13-.8-1.12-1.11-1.7-.54-.23.23-.33.57-.27.89.22 1.33.12 2.75-.52 4.26-1.16 2.71-3.68 4.7-6.61 4.97-5.1.47-9.33-3.85-8.7-8.98.43-3.54 3.28-6.42 6.81-6.91 1.73-.24 3.37.09 4.77.81a1.003 1.003 0 0 0 .93-1.78c-.27-.12-.54-.25-.81-.36Z\"\n fill={color}\n />\n </SVG>\n}\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype BulletIconProps = SVGIconProps;\nexport default function BulletIcon({\n color=teal.main,\n size=\"medium\",\n ...props\n}: BulletIconProps) {\n return <SVG size={size} {...props}>\n <circle cx={12} cy={12} r={7} fill={color} />\n </SVG>\n}\n\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport {teal} from '../colors';\n\ntype UsersIconProps = SVGIconProps;\nexport default function UsersIcon({\n color=teal.main,\n size=\"medium\",\n altText=\"Users\",\n ...props\n}: UsersIconProps) {\n return <SVG size={size} aria-labelledby=\"UsersIcon\" {...props}>\n <title id=\"UsersIcon\" >{altText}</title>\n <path fill=\"none\" d=\"M0 0h24v24H0z\" />\n <path\n d=\"M16.67 13.13C18.04 14.06 19 15.32 19 17v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1v-2c0-2.18-3.57-3.47-6.33-3.87ZM15 12c2.21 0 4-1.79 4-4s-1.79-4-4-4c-.47 0-.91.1-1.33.24a5.98 5.98 0 0 1 0 7.52c.42.14.86.24 1.33.24ZM9 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4ZM9 13c-2.67 0-8 1.34-8 4v2a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1v-2c0-2.66-5.33-4-8-4Z\"\n fill={color}\n />\n </SVG>\n}","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype ReceiptLongIconProps = SVGIconProps;\nexport default function ReceiptLongIcon({\n color=teal.main,\n size=\"medium\",\n altText=\"POs\",\n ...props\n}: ReceiptLongIconProps) {\n return <SVG size={size} aria-labelledby=\"ReceiptLongIcon\" {...props}>\n <title id=\"ReceiptLongIcon\" >{altText}</title>\n <path\n d=\"M19.5 3.5 18 2l-1.5 1.5L15 2l-1.5 1.5L12 2l-1.5 1.5L9 2 7.5 3.5 6 2v14H3v3c0 1.66 1.34 3 3 3h12c1.66 0 3-1.34 3-3V2l-1.5 1.5ZM15 20H6c-.55 0-1-.45-1-1v-1h10v2Zm4-1c0 .55-.45 1-1 1s-1-.45-1-1v-3H8V5h11v14Z\"\n fill={color}\n />\n <path\n d=\"M15 7H9v2h6V7ZM18 7h-2v2h2V7ZM15 10H9v2h6v-2ZM18 10h-2v2h2v-2Z\"\n fill={color}\n />\n </SVG>\n}\n\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { primary1 } from '../colors';\n\ntype FolderIconProps = SVGIconProps;\nexport default function FolderIcon({\n color=primary1.main,\n size=\"medium\",\n ...props\n}: FolderIconProps) {\n return <SVG size={size} {...props}>\n <path fill=\"none\" d=\"M0 0h24v24H0z\" />\n <path\n d=\"m7.934 3 2.167 2.167h9.566V16H2.333V3h5.601Zm.9-2.167h-6.5A2.164 2.164 0 0 0 .176 3l-.01 13c0 1.192.975 2.167 2.166 2.167h17.334A2.173 2.173 0 0 0 21.833 16V5.167A2.173 2.173 0 0 0 19.667 3H11L8.833.833Z\"\n fill={color}\n />\n </SVG>\n}\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype CalendarIconProps = SVGIconProps;\nexport default function CalendarIcon({\n color=teal.main,\n size=\"medium\",\n altText=\"Date picker\",\n ...props\n}: CalendarIconProps) {\n return <SVG size={size} aria-labelledby=\"CalendarIcon\" {...props}>\n <title id=\"CalendarIcon\">{altText}</title>\n <path\n d=\"M19 4h-1V3c0-.55-.45-1-1-1s-1 .45-1 1v1H8V3c0-.55-.45-1-1-1s-1 .45-1 1v1H5c-1.11 0-1.99.9-1.99 2L3 20a2 2 0 0 0 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2Zm-1 16H6c-.55 0-1-.45-1-1V9h14v10c0 .55-.45 1-1 1ZM8 11h3c.55 0 1 .45 1 1v3c0 .55-.45 1-1 1H8c-.55 0-1-.45-1-1v-3c0-.55.45-1 1-1Z\"\n fill={color}\n />\n </SVG>\n}\n\n\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\n\ntype PromostandardsIconProps = SVGIconProps;\nexport default function PromostandardsIcon({\n size=\"medium\",\n altText=\"Promostandards\",\n ...props\n}: PromostandardsIconProps) {\n return <SVG size={size} aria-labelledby=\"PromostandardsIcon\" {...props}>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M18.783 11.42h-4.67c-.104 0-.201 0-.284-.016a3.388 3.388 0 0 1-.538 1.699c.18.015.366.022.568.022h4.67c.314 0 .545.045.688.143.15.097.217.254.217.47 0 .225-.068.39-.217.487-.143.098-.374.142-.689.142h-6.487l-1.706 2.208h7.984c.65 0 1.212-.06 1.676-.195.464-.127.845-.307 1.145-.546.299-.24.516-.539.658-.89.135-.345.202-.741.202-1.175 0-.786-.277-1.377-.823-1.766-.546-.39-1.347-.584-2.394-.584Zm-8.38-2.043c.18-.412.448-.756.8-1.033.008 0 .008-.007.015-.007-.097-.038-.194-.068-.3-.105C10.404 8.075 9.805 8 9.139 8H3.751L2 10.23h7.385c.314 0 .576.052.778.157.03-.352.105-.689.24-1.01Z\"\n fill=\"#26387F\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M10.388 11.876a.325.325 0 0 1-.053.045c-.224.18-.546.269-.95.269H2v4.385h2.641v-2.193h4.482c.666 0 1.265-.075 1.788-.232.517-.15.958-.366 1.325-.636.037-.03.067-.06.104-.082.15-.127.285-.262.397-.404.127-.157.24-.33.322-.509.187-.389.284-.823.284-1.302-.09-.09-.135-.224-.135-.396 0-.12.015-.225.06-.3a.351.351 0 0 1 .165-.164.798.798 0 0 1 .277-.097c.112-.023.247-.03.404-.03h5.948L21.768 8h-7.445c-.65 0-1.212.06-1.676.187a4.555 4.555 0 0 0-.381.127 3.097 3.097 0 0 0-.756.412c-.3.232-.516.516-.659.845-.142.33-.209.689-.209 1.093 0 .127.008.247.022.366 0 .015.008.038.008.06 0 .038.007.075.007.112a.857.857 0 0 1-.291.674Z\"\n fill=\"#A1CAE8\"\n />\n </SVG>\n}\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype XIconProps = SVGIconProps;\nexport default function XIcon({\n color=teal.main,\n size=\"medium\",\n altText=\"X\",\n ...props\n}: XIconProps) {\n return <SVG size={size} aria-labelledby=\"XIcon\" {...props}>\n <title id=\"XIcon\" >{altText}</title>\n <path fill=\"none\" d=\"M0 0h24v24H0z\" />\n <path\n d=\"M18.3 5.71a.996.996 0 0 0-1.41 0L12 10.59 7.11 5.7A.996.996 0 1 0 5.7 7.11L10.59 12 5.7 16.89a.996.996 0 1 0 1.41 1.41L12 13.41l4.89 4.89a.996.996 0 1 0 1.41-1.41L13.41 12l4.89-4.89c.38-.38.38-1.02 0-1.4Z\"\n fill={color}\n />\n </SVG>\n}\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal, pink } from '../colors';\n\ntype IconVariants = 'primary' | 'cta';\n\ntype OpportunityCircleIconProps = SVGIconProps &{variant?: IconVariants, selected?: boolean};\nexport default function OpportunityCircleIcon({\n variant=\"primary\",\n selected=false,\n size,\n altText=\"Opportunity order stage\",\n style={},\n ...props\n}: OpportunityCircleIconProps) {\n\n const iconSizes = {\n tiny: {\n width: 24,\n height: 24,\n viewBox: \"0 0 72 72\",\n },\n small: {\n width: 40,\n height: 40,\n viewBox: \"0 0 72 72\",\n },\n medium: {\n width: 72,\n height:72,\n viewBox: \"0 0 72 72\",\n },\n large: {\n width: 96,\n height: 96,\n viewBox: \"0 0 72 72\",\n },\n huge: {\n width: 120,\n height: 120,\n viewBox: \"0 0 72 72\",\n },\n default: {\n height: 72,\n width: 72,\n viewBox: \"0 0 72 72\",\n },\n };\n\n const iconColors = React.useMemo(() => {\n if (variant === 'cta' && selected) {\n return {\n fill: 'none',\n stroke: pink.main,\n textColor: pink.main,\n };\n } else if (variant === 'primary' && selected) {\n return {\n fill: 'none',\n stroke: teal.main,\n textColor: teal.main,\n };\n } else if (variant === 'cta' && selected === false ) {\n return {\n fill: pink['20'],\n stroke: pink['30'],\n textColor: pink.main,\n };\n }\n return {\n fill: teal['20'],\n stroke: teal['30'],\n textColor: teal.main,\n };\n }, [variant, selected]);\n \n\n return <SVG \n fill=\"none\"\n style={style}\n {...props}\n size = {size}\n aria-labelledby=\"OpportunityCircleIcon\"\n iconSizes={iconSizes}\n >\n <title id=\"OpportunityCircleIcon\" >{altText}</title>\n {selected ? <>\n <path\n d=\"M28.334 35.1c0-1.96 1.47-3.43 3.43-3.43 1.96 0 3.43 1.47 3.43 3.43 0 1.96-1.47 3.43-3.43 3.43-1.96 0-3.43-1.47-3.43-3.43Zm-1.82 0c0 2.8 2.31 5.11 5.25 5.11s5.25-2.31 5.25-5.11c0-2.8-2.31-5.11-5.25-5.11s-5.25 2.31-5.25 5.11Zm12.175 7.84h1.61v-3.92h.07s.63 1.12 2.24 1.12c1.61 0 3.08-1.47 3.08-3.57 0-2.1-1.47-3.57-3.08-3.57s-2.24 1.12-2.24 1.12h-.07v-.98h-1.61v9.8Zm3.5-4.41c-1.05 0-1.89-.84-1.89-1.96s.84-1.96 1.89-1.96c1.05 0 1.89.84 1.89 1.96s-.84 1.96-1.89 1.96Z\"\n fill={iconColors.textColor}\n />\n <circle cx={36} cy={36} r={34} stroke={iconColors.stroke} strokeWidth={4} />\n </> : <>\n <circle cx={36} cy={36} r={32} fill={iconColors.fill} />\n <path\n d=\"M28.334 35.1c0-1.96 1.47-3.43 3.43-3.43 1.96 0 3.43 1.47 3.43 3.43 0 1.96-1.47 3.43-3.43 3.43-1.96 0-3.43-1.47-3.43-3.43Zm-1.82 0c0 2.8 2.31 5.11 5.25 5.11s5.25-2.31 5.25-5.11c0-2.8-2.31-5.11-5.25-5.11s-5.25 2.31-5.25 5.11Zm12.175 7.84h1.61v-3.92h.07s.63 1.12 2.24 1.12c1.61 0 3.08-1.47 3.08-3.57 0-2.1-1.47-3.57-3.08-3.57s-2.24 1.12-2.24 1.12h-.07v-.98h-1.61v9.8Zm3.5-4.41c-1.05 0-1.89-.84-1.89-1.96s.84-1.96 1.89-1.96c1.05 0 1.89.84 1.89 1.96s-.84 1.96-1.89 1.96Z\"\n fill={iconColors.textColor}\n />\n \n </>}\n </SVG>\n}","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal, pink } from '../colors';\n\ntype IconVariants = 'primary' | 'cta';\n\ntype PresentationCircleIconProps = SVGIconProps &{variant?: IconVariants, selected?: boolean};\nexport default function PresentationCircleIcon({\n variant=\"primary\",\n selected=false,\n size,\n altText=\"Presentation order stage\",\n style={},\n ...props\n}: PresentationCircleIconProps) {\n\n const iconSizes = {\n tiny: {\n width: 24,\n height: 24,\n viewBox: \"0 0 72 72\",\n },\n small: {\n width: 40,\n height: 40,\n viewBox: \"0 0 72 72\",\n },\n medium: {\n width: 72,\n height:72,\n viewBox: \"0 0 72 72\",\n },\n large: {\n width: 96,\n height: 96,\n viewBox: \"0 0 72 72\",\n },\n huge: {\n width: 120,\n height: 120,\n viewBox: \"0 0 72 72\",\n },\n default: {\n height: 72,\n width: 72,\n viewBox: \"0 0 72 72\",\n },\n };\n\n const iconColors = React.useMemo(() => {\n if (variant === 'cta' && selected) {\n return {\n fill: 'none',\n stroke: pink.main,\n textColor: pink.main,\n };\n } else if (variant === 'primary' && selected) {\n return {\n fill: 'none',\n stroke: teal.main,\n textColor: teal.main,\n };\n } else if (variant === 'cta' && selected === false ) {\n return {\n fill: pink['20'],\n stroke: pink['30'],\n textColor: pink.main,\n };\n }\n return {\n fill: teal['20'],\n stroke: teal['30'],\n textColor: teal.main,\n };\n }, [variant, selected]);\n \n\n return <SVG \n fill=\"none\"\n style={style}\n {...props}\n size = {size}\n aria-labelledby=\"PresentationCircleIcon\"\n iconSizes={iconSizes}\n >\n <title id=\"PresentationCircleIcon\">{altText}</title>\n {selected ? <>\n <circle cx={36} cy={36} r={34} stroke={iconColors.stroke} strokeWidth={4} />\n <path\n d=\"M36 10.262c0-2.354 1.917-4.293 4.247-3.96.804.115 1.602.263 2.393.442 2.296.521 3.394 3.017 2.553 5.216l-.121.317c-.774 2.023-3.041 2.997-5.172 2.603-2.13-.393-3.9-2.113-3.9-4.279v-.34ZM32.675 40h1.75v-3.36h2.31c1.96 0 3.36-1.4 3.36-3.22 0-1.82-1.4-3.22-3.36-3.22h-4.06V40Zm1.75-4.97v-3.22h2.24c.91 0 1.61.7 1.61 1.61 0 .91-.7 1.61-1.61 1.61h-2.24Z\"\n fill={iconColors.textColor}\n />\n </> \n : \n <> \n <circle cx={36} cy={36} r={32} fill={iconColors.fill} />\n <path\n d=\"M36 10.262c0-2.354 1.917-4.293 4.247-3.96.804.115 1.602.263 2.393.442 2.296.521 3.394 3.017 2.553 5.216l-.121.317c-.774 2.023-3.041 2.997-5.172 2.603-2.13-.393-3.9-2.113-3.9-4.279v-.34Z\"\n fill={iconColors.stroke}\n />\n <path\n d=\"M32.675 40h1.75v-3.36h2.31c1.96 0 3.36-1.4 3.36-3.22 0-1.82-1.4-3.22-3.36-3.22h-4.06V40Zm1.75-4.97v-3.22h2.24c.91 0 1.61.7 1.61 1.61 0 .91-.7 1.61-1.61 1.61h-2.24Z\"\n fill={iconColors.textColor}\n /> \n </>}\n </SVG>\n}","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal, pink } from '../colors';\n\ntype IconVariants = 'primary' | 'cta';\n\ntype EstimateCircleIconProps = SVGIconProps &{variant?: IconVariants, selected?: boolean};\nexport default function EstimateCircleIcon({\n variant=\"primary\",\n selected=false,\n size,\n altText=\"Estimate order stage\",\n style={},\n ...props\n}: EstimateCircleIconProps) {\n\n const iconSizes = {\n tiny: {\n width: 24,\n height: 24,\n viewBox: \"0 0 72 72\",\n },\n small: {\n width: 40,\n height: 40,\n viewBox: \"0 0 72 72\",\n },\n medium: {\n width: 72,\n height:72,\n viewBox: \"0 0 72 72\",\n },\n large: {\n width: 96,\n height: 96,\n viewBox: \"0 0 72 72\",\n },\n huge: {\n width: 120,\n height: 120,\n viewBox: \"0 0 72 72\",\n },\n default: {\n height: 72,\n width: 72,\n viewBox: \"0 0 72 72\",\n },\n };\n\n const iconColors = React.useMemo(() => {\n if (variant === 'cta' && selected) {\n return {\n fill: 'none',\n stroke: pink.main,\n textColor: pink.main,\n };\n } else if (variant === 'primary' && selected) {\n return {\n fill: 'none',\n stroke: teal.main,\n textColor: teal.main,\n };\n } else if (variant === 'cta' && selected === false ) {\n return {\n fill: pink['20'],\n stroke: pink['30'],\n textColor: pink.main,\n };\n }\n return {\n fill: teal['20'],\n stroke: teal['30'],\n textColor: teal.main,\n };\n }, [variant, selected]);\n \n\n return <SVG \n fill=\"none\"\n style={style}\n {...props}\n size = {size}\n aria-labelledby=\"EstimateCircleIcon\"\n iconSizes={iconSizes}\n >\n <title id=\"EstimateCircleIcon\">{altText}</title>\n {selected ? <>\n <path\n d=\"M36 10.262c0-2.354 1.917-4.293 4.247-3.96a30 30 0 0 1 25.45 25.45c.334 2.33-1.605 4.248-3.959 4.248-2.353 0-4.219-1.926-4.683-4.234a21.476 21.476 0 0 0-16.821-16.821C37.926 14.48 36 12.615 36 10.262Z\"\n fill={iconColors.stroke}\n />\n <circle cx={36} cy={36} r={34} stroke={iconColors.stroke} strokeWidth={4} />\n <path\n d=\"M32.743 40h7.21v-1.68h-5.46V35.8h4.2v-1.68h-4.2v-2.24h5.32V30.2h-7.07V40Z\"\n fill={iconColors.textColor}\n />\n </> : <>\n \n <circle cx={36} cy={36} r={32} fill={iconColors.fill} />\n <path\n d=\"M36 10.262c0-2.354 1.917-4.293 4.247-3.96a30 30 0 0 1 25.45 25.45c.334 2.33-1.605 4.248-3.959 4.248-2.353 0-4.219-1.926-4.683-4.234a21.476 21.476 0 0 0-16.821-16.821C37.926 14.48 36 12.615 36 10.262Z\"\n fill={iconColors.stroke}\n />\n <path\n d=\"M32.743 40h7.21v-1.68h-5.46V35.8h4.2v-1.68h-4.2v-2.24h5.32V30.2h-7.07V40Z\"\n fill={iconColors.textColor}\n />\n \n </>}\n </SVG>\n}","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal, pink } from '../colors';\n\ntype IconVariants = 'primary' | 'cta';\n\ntype SalesOrderCircleIconProps = SVGIconProps &{variant?: IconVariants, selected?: boolean};\nexport default function SalesOrderCircleIcon({\n variant=\"primary\",\n selected=false,\n size,\n altText=\"Sales Order stage\",\n style={},\n ...props\n}: SalesOrderCircleIconProps) {\n\n const iconSizes = {\n tiny: {\n width: 24,\n height: 24,\n viewBox: \"0 0 72 72\",\n },\n small: {\n width: 40,\n height: 40,\n viewBox: \"0 0 72 72\",\n },\n medium: {\n width: 72,\n height:72,\n viewBox: \"0 0 72 72\",\n },\n large: {\n width: 96,\n height: 96,\n viewBox: \"0 0 72 72\",\n },\n huge: {\n width: 120,\n height: 120,\n viewBox: \"0 0 72 72\",\n },\n default: {\n height: 72,\n width: 72,\n viewBox: \"0 0 72 72\",\n },\n };\n\n const iconColors = React.useMemo(() => {\n if (variant === 'cta' && selected) {\n return {\n fill: 'none',\n stroke: pink.main,\n textColor: pink.main,\n };\n } else if (variant === 'primary' && selected) {\n return {\n fill: 'none',\n stroke: teal.main,\n textColor: teal.main,\n };\n } else if (variant === 'cta' && selected === false ) {\n return {\n fill: pink['20'],\n stroke: pink['30'],\n textColor: pink.main,\n };\n }\n return {\n fill: teal['20'],\n stroke: teal['30'],\n textColor: teal.main,\n };\n }, [variant, selected]);\n \n\n return <SVG \n fill=\"none\"\n style={style}\n {...props}\n size = {size}\n aria-labelledby=\"SalesOrderCircleIcon\"\n iconSizes={iconSizes}\n >\n <title id=\"SalesOrderCircleIcon\" >{altText}</title>\n {selected ? <>\n <path\n d=\"M36 10.262c0-2.354 1.918-4.293 4.248-3.96a30 30 0 0 1 0 59.396c-2.33.333-4.248-1.606-4.248-3.96 0-2.353 1.926-4.219 4.234-4.683a21.477 21.477 0 0 0 0-42.11C37.926 14.48 36 12.615 36 10.262Z\"\n fill={iconColors.stroke}\n />\n <circle cx={36} cy={36} r={34} stroke={iconColors.stroke} strokeWidth={4} />\n <path\n d=\"M26.376 38.67s1.19 1.54 3.64 1.54c2.17 0 3.57-1.4 3.57-2.94 0-3.57-5.04-2.52-5.04-4.48 0-.63.56-1.19 1.61-1.19 1.26 0 1.96.91 1.96.91l1.19-1.19s-1.05-1.33-3.15-1.33c-2.1 0-3.43 1.33-3.43 2.8 0 3.57 5.04 2.52 5.04 4.48 0 .7-.63 1.33-1.75 1.33-1.61 0-2.45-1.12-2.45-1.12l-1.19 1.19ZM36.6 35.1c0-1.96 1.47-3.43 3.43-3.43 1.96 0 3.43 1.47 3.43 3.43 0 1.96-1.47 3.43-3.43 3.43-1.96 0-3.43-1.47-3.43-3.43Zm-1.82 0c0 2.8 2.31 5.11 5.25 5.11s5.25-2.31 5.25-5.11c0-2.8-2.31-5.11-5.25-5.11s-5.25 2.31-5.25 5.11Z\"\n fill={iconColors.textColor}\n />\n </> \n : \n <> \n <circle cx={36} cy={36} r={32} fill={iconColors.fill}/>\n <path\n d=\"M36 10.262c0-2.354 1.918-4.293 4.248-3.96a30 30 0 0 1 0 59.396c-2.33.333-4.248-1.606-4.248-3.96 0-2.353 1.926-4.219 4.234-4.683a21.477 21.477 0 0 0 0-42.11C37.926 14.48 36 12.615 36 10.262Z\"\n fill={iconColors.stroke}\n />\n <path\n d=\"M26.376 38.67s1.19 1.54 3.64 1.54c2.17 0 3.57-1.4 3.57-2.94 0-3.57-5.04-2.52-5.04-4.48 0-.63.56-1.19 1.61-1.19 1.26 0 1.96.91 1.96.91l1.19-1.19s-1.05-1.33-3.15-1.33c-2.1 0-3.43 1.33-3.43 2.8 0 3.57 5.04 2.52 5.04 4.48 0 .7-.63 1.33-1.75 1.33-1.61 0-2.45-1.12-2.45-1.12l-1.19 1.19ZM36.6 35.1c0-1.96 1.47-3.43 3.43-3.43 1.96 0 3.43 1.47 3.43 3.43 0 1.96-1.47 3.43-3.43 3.43-1.96 0-3.43-1.47-3.43-3.43Zm-1.82 0c0 2.8 2.31 5.11 5.25 5.11s5.25-2.31 5.25-5.11c0-2.8-2.31-5.11-5.25-5.11s-5.25 2.31-5.25 5.11Z\"\n fill={iconColors.textColor}\n /> \n </>}\n </SVG>\n}","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype DollarIconProps = SVGIconProps;\nexport default function DollarIcon({\n color=teal.main,\n size=\"medium\",\n altText=\"Dollar amount\",\n ...props\n}: DollarIconProps) {\n return <SVG size={size} aria-labelledby=\"DollarIcon\" {...props}>\n <title id=\"DollarIcon\">{altText}</title>\n <path fill=\"none\" d=\"M0 0h24v24H0z\" />\n <path\n d=\"M12.3 10.9c-2.27-.59-3-1.2-3-2.15 0-1.09 1.01-1.85 2.7-1.85 1.42 0 2.13.54 2.39 1.4.12.4.45.7.87.7h.3c.66 0 1.13-.65.9-1.27-.42-1.18-1.4-2.16-2.96-2.54V4.5c0-.83-.67-1.5-1.5-1.5s-1.5.67-1.5 1.5v.66C8.56 5.58 7 6.84 7 8.77c0 2.31 1.91 3.46 4.7 4.13 2.5.6 3 1.48 3 2.41 0 .69-.49 1.79-2.7 1.79-1.65 0-2.5-.59-2.83-1.43-.15-.39-.49-.67-.9-.67h-.28c-.67 0-1.14.68-.89 1.3.57 1.39 1.9 2.21 3.4 2.53v.67c0 .83.67 1.5 1.5 1.5s1.5-.67 1.5-1.5v-.65c1.95-.37 3.5-1.5 3.5-3.55 0-2.84-2.43-3.81-4.7-4.4Z\"\n fill={color}\n />\n </SVG>\n}\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype BotIconProps = SVGIconProps;\nexport default function BotIcon({\n color=teal.main,\n size=\"medium\",\n altText=\"Smart Gallery\",\n ...props\n}: BotIconProps) {\n return <SVG size={size} aria-labelledby=\"BotIcon\" {...props}>\n <title id=\"BotIcon\">{altText}</title>\n <path fill=\"none\" d=\"M0 0h24v24H0z\" />\n <path\n d=\"M20 9.5v-2c0-1.1-.9-2-2-2h-3c0-1.66-1.34-3-3-3s-3 1.34-3 3H6c-1.1 0-2 .9-2 2v2c-1.66 0-3 1.34-3 3s1.34 3 3 3v4c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2v-4c1.66 0 3-1.34 3-3s-1.34-3-3-3Zm-2 10H6v-12h12v12Zm-9-6c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5Zm7.5-1.5c0 .83-.67 1.5-1.5 1.5s-1.5-.67-1.5-1.5.67-1.5 1.5-1.5 1.5.67 1.5 1.5ZM8 15.5h8v2H8v-2Z\"\n fill={color}\n />\n </SVG>\n}\n\n\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype GalleryIconProps = SVGIconProps;\nexport default function GalleryIcon({\n color=teal.main,\n size=\"medium\",\n altText=\"Gallery\",\n ...props\n}: GalleryIconProps) {\n return <SVG size={size} aria-labelledby=\"GalleryIcon\" {...props}>\n <title id=\"GalleryIcon\" >{altText}</title>\n <path fill=\"none\" d=\"M0 0h24v24H0z\" />\n <path\n d=\"M20 4v12H8V4h12Zm0-2H8c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2Zm-8.5 9.67 1.69 2.26 2.48-3.1L19 15H9l2.5-3.33ZM2 6v14c0 1.1.9 2 2 2h14v-2H4V6H2Z\"\n fill={color}\n />\n </SVG>\n}\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype ListIconProps = SVGIconProps;\nexport default function ListIcon({\n color=teal.main,\n size=\"medium\",\n altText=\"List\",\n ...props\n}: ListIconProps) {\n return <SVG size={size} aria-labelledby=\"ListIcon\" {...props}>\n <title id=\"ListIcon\">{altText}</title>\n <path fill=\"none\" d=\"M0 0h24v24H0z\" />\n <path\n d=\"M4 13c.55 0 1-.45 1-1s-.45-1-1-1-1 .45-1 1 .45 1 1 1Zm0 4c.55 0 1-.45 1-1s-.45-1-1-1-1 .45-1 1 .45 1 1 1Zm0-8c.55 0 1-.45 1-1s-.45-1-1-1-1 .45-1 1 .45 1 1 1Zm4 4h12c.55 0 1-.45 1-1s-.45-1-1-1H8c-.55 0-1 .45-1 1s.45 1 1 1Zm0 4h12c.55 0 1-.45 1-1s-.45-1-1-1H8c-.55 0-1 .45-1 1s.45 1 1 1ZM7 8c0 .55.45 1 1 1h12c.55 0 1-.45 1-1s-.45-1-1-1H8c-.55 0-1 .45-1 1Zm-3 5c.55 0 1-.45 1-1s-.45-1-1-1-1 .45-1 1 .45 1 1 1Zm0 4c.55 0 1-.45 1-1s-.45-1-1-1-1 .45-1 1 .45 1 1 1Zm0-8c.55 0 1-.45 1-1s-.45-1-1-1-1 .45-1 1 .45 1 1 1Zm4 4h12c.55 0 1-.45 1-1s-.45-1-1-1H8c-.55 0-1 .45-1 1s.45 1 1 1Zm0 4h12c.55 0 1-.45 1-1s-.45-1-1-1H8c-.55 0-1 .45-1 1s.45 1 1 1ZM7 8c0 .55.45 1 1 1h12c.55 0 1-.45 1-1s-.45-1-1-1H8c-.55 0-1 .45-1 1Z\"\n fill={color}\n />\n </SVG>\n}\n\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype TilesIconProps = SVGIconProps & {filled?: boolean;};\nexport default function TilesIcon({\n color=teal.main,\n size=\"medium\",\n filled=false,\n altText=\"Tiles\",\n ...props\n}: TilesIconProps) {\n const renderPath = filled ? \"M5 11h4c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2H5c-1.1 0-2 .9-2 2v4c0 1.1.9 2 2 2ZM5 21h4c1.1 0 2-.9 2-2v-4c0-1.1-.9-2-2-2H5c-1.1 0-2 .9-2 2v4c0 1.1.9 2 2 2ZM13 5v4c0 1.1.9 2 2 2h4c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2h-4c-1.1 0-2 .9-2 2ZM15 21h4c1.1 0 2-.9 2-2v-4c0-1.1-.9-2-2-2h-4c-1.1 0-2 .9-2 2v4c0 1.1.9 2 2 2Z\" \n : \n \"M3 3v8h8V3H3Zm6 6H5V5h4v4Zm-6 4v8h8v-8H3Zm6 6H5v-4h4v4Zm4-16v8h8V3h-8Zm6 6h-4V5h4v4Zm-6 4v8h8v-8h-8Zm6 6h-4v-4h4v4Z\";\n\n return <SVG size={size} aria-labelledby=\"TilesIcon\" {...props}>\n <title id=\"TilesIcon\" >{altText}</title>\n <path fill=\"none\" d=\"M0 0h24v24H0z\" />\n <path\n d={renderPath}\n fill={color}\n />\n </SVG>\n}\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport {teal} from '../colors';\n\ntype UserIconProps = SVGIconProps;\nexport default function UserIcon({\n color=teal.main,\n size=\"medium\",\n altText=\"User\",\n ...props\n}: UserIconProps) {\n return <SVG size={size} aria-labelledby=\"UserIcon\" {...props}>\n <title id=\"UserIcon\" >{altText}</title>\n <path fill=\"none\" d=\"M0 0h24v24H0z\" />\n <path\n d=\"M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4Zm0 2c-2.67 0-8 1.34-8 4v1c0 .55.45 1 1 1h14c.55 0 1-.45 1-1v-1c0-2.66-5.33-4-8-4Z\"\n fill={color}\n />\n </SVG>\n}\n","import React from 'react';\nimport { teal } from '../colors';\nimport SVG, { SVGIconProps } from './SvgIcon';\n\ntype ArrowIconDirection = 'up' | 'right' | 'down' | 'left';\n\ntype ArrowIconProps = SVGIconProps & {direction?: ArrowIconDirection};\nexport default function ArrowIcon({\n color=teal.main,\n direction=\"right\",\n altText=\"Next\",\n size=\"medium\",\n ...props\n}: ArrowIconProps) {\n\n switch (direction) {\n case \"up\":\n altText=\"Up\";\n break;\n case \"right\":\n altText=\"Next\";\n break;\n case \"down\":\n altText=\"Down\";\n break;\n case \"left\":\n altText=\"Previous\";\n break;\n default:\n altText=\"Next\";\n };\n \n\n const directionPath = React.useMemo(() => {\n if (direction === \"right\") {\n return \"M5.209 13h11.17l-4.88 4.88c-.39.39-.39 1.03 0 1.42.39.39 1.02.39 1.41 0l6.59-6.59a.996.996 0 0 0 0-1.41l-6.58-6.6a.996.996 0 1 0-1.41 1.41l4.87 4.89H5.209c-.55 0-1 .45-1 1s.45 1 1 1Z\";\n } else if (direction === \"down\") {\n return \"M11.005 5.209v11.17l-4.88-4.88c-.39-.39-1.03-.39-1.42 0a.996.996 0 0 0 0 1.41l6.59 6.59c.39.39 1.02.39 1.41 0l6.59-6.59a.996.996 0 1 0-1.41-1.41l-4.88 4.88V5.209c0-.55-.45-1-1-1s-1 .45-1 1Z\";\n } else if (direction === \"left\") {\n return \"M18.791 11.005H7.621l4.88-4.88c.39-.39.39-1.03 0-1.42a.996.996 0 0 0-1.41 0l-6.59 6.59a.996.996 0 0 0 0 1.41l6.59 6.59a.996.996 0 1 0 1.41-1.41l-4.88-4.88h11.17c.55 0 1-.45 1-1s-.45-1-1-1Z\";\n } else if (direction === \"up\") {\n return \"M13 18.791V7.621l4.88 4.88c.39.39 1.03.39 1.42 0a.996.996 0 0 0 0-1.41l-6.59-6.59a.996.996 0 0 0-1.41 0l-6.6 6.58a.996.996 0 1 0 1.41 1.41L11 7.621v11.17c0 .55.45 1 1 1s1-.45 1-1Z\";\n }\n\n // default to right\n return \"M5.209 13h11.17l-4.88 4.88c-.39.39-.39 1.03 0 1.42.39.39 1.02.39 1.41 0l6.59-6.59a.996.996 0 0 0 0-1.41l-6.58-6.6a.996.996 0 1 0-1.41 1.41l4.87 4.89H5.209c-.55 0-1 .45-1 1s.45 1 1 1Z\";\n }, [direction]);\n \n return <SVG size={size} aria-labelledby=\"ArrowIcon\" {...props}>\n <title id=\"ArrowIcon\" >{altText}</title>\n <path fill=\"none\" d=\"M0 0h24v24H0z\" />\n <path\n d={directionPath}\n fill={color}\n />\n </SVG>;\n}\n","import React from 'react';\nimport { teal } from '../colors';\nimport SVG, { SVGIconProps } from './SvgIcon';\n\ntype ChevronIconDirection = 'up' | 'right' | 'down' | 'left' | 'updown' | 'leftright';\n\ntype ChevronIconProps = SVGIconProps & {direction?: ChevronIconDirection};\nexport default function ChevronIcon({\n color=teal.main,\n direction=\"right\",\n altText=\"Next\",\n size=\"medium\",\n ...props\n}: ChevronIconProps) {\n\n switch (direction) {\n case \"up\":\n altText=\"Up\";\n break;\n case \"right\":\n altText=\"Next\";\n break;\n case \"down\":\n altText=\"Down\";\n break;\n case \"left\":\n altText=\"Previous\";\n break;\n case \"updown\":\n altText=\"Up / Down\";\n break;\n case \"leftright\":\n altText=\"Next / Previous\";\n break;\n default:\n altText=\"Next\";\n };\n\n const directionPath = React.useMemo(() => {\n if (direction === \"right\") {\n return \"M9 6.71a.996.996 0 0 0 0 1.41L12.88 12 9 15.88a.996.996 0 1 0 1.41 1.41L15 12.7a.996.996 0 0 0 0-1.41L10.41 6.7c-.38-.38-1.02-.38-1.41.01Z\";\n } else if (direction === \"down\") {\n return \"m15.875 9-3.88 3.88L8.115 9a.996.996 0 1 0-1.41 1.41l4.59 4.59c.39.39 1.02.39 1.41 0l4.59-4.59a.996.996 0 0 0 0-1.41c-.39-.38-1.03-.39-1.42 0Z\";\n } else if (direction === \"left\") {\n return \"M15 6.705a.996.996 0 0 0-1.41 0L9 11.295a.996.996 0 0 0 0 1.41l4.59 4.59a.996.996 0 1 0 1.41-1.41l-3.88-3.89L15 8.115c.39-.39.38-1.03 0-1.41Z\";\n } else if (direction === \"up\") {\n return \"m11.295 9-4.59 4.59A.996.996 0 1 0 8.115 15l3.89-3.88 3.88 3.88a.996.996 0 1 0 1.41-1.41L12.705 9a.996.996 0 0 0-1.41 0Z\";\n } else if (direction === \"updown\") {\n return \"m12.705 19.707 4.59-4.59a.996.996 0 1 0-1.41-1.41l-3.89 3.88-3.88-3.88a.996.996 0 1 0-1.41 1.41l4.59 4.59c.38.39 1.02.39 1.41 0ZM11.295 4.293l-4.59 4.59a.996.996 0 1 0 1.41 1.41l3.89-3.88 3.88 3.88a.996.996 0 1 0 1.41-1.41l-4.59-4.59a.996.996 0 0 0-1.41 0Z\";\n } else if (direction === \"leftright\") {\n return \"m4.293 12.705 4.59 4.59a.996.996 0 1 0 1.41-1.41l-3.88-3.89 3.88-3.88a.996.996 0 1 0-1.41-1.41l-4.59 4.59a.996.996 0 0 0 0 1.41ZM19.707 11.295l-4.59-4.59a.996.996 0 1 0-1.41 1.41l3.88 3.89-3.88 3.88a.996.996 0 1 0 1.41 1.41l4.59-4.59a.996.996 0 0 0 0-1.41Z\";\n }\n // default to right\n return \"M9 6.71a.996.996 0 0 0 0 1.41L12.88 12 9 15.88a.996.996 0 1 0 1.41 1.41L15 12.7a.996.996 0 0 0 0-1.41L10.41 6.7c-.38-.38-1.02-.38-1.41.01Z\";\n }, [direction]);\n \n return <SVG size={size} aria-labelledby=\"ChevronIcon\" {...props}>\n <title id=\"ChevronIcon\">{altText}</title>\n <path fill=\"none\" d=\"M0 0h24v24H0z\" />\n <path\n d={directionPath}\n fill={color}\n />\n </SVG>;\n\n}\n","import React from 'react';\nimport { teal } from '../colors';\nimport SVG, { SVGIconProps } from './SvgIcon';\n\ntype FilledChevronIconDirection = 'up' | 'right' | 'down' | 'left' | 'updown' | 'leftright';\n\ntype FilledChevronIconProps = SVGIconProps & {direction?: FilledChevronIconDirection};\nexport default function FilledChevronIcon({\n color=teal.main,\n direction=\"right\",\n altText=\"Next\",\n size=\"medium\",\n ...props\n}: FilledChevronIconProps) {\n\n switch (direction) {\n case \"up\":\n altText=\"Sort ascending\";\n break;\n case \"right\":\n altText=\"Next\";\n break;\n case \"down\":\n altText=\"Sort descending\";\n break;\n case \"left\":\n altText=\"Previous\";\n break;\n case \"updown\":\n altText=\"Sort by\";\n break;\n case \"leftright\":\n altText=\"Next / Previous\";\n break;\n default:\n altText=\"Next\";\n };\n\n const directionPath = React.useMemo(() => {\n if (direction === \"right\") {\n return \"m9.5 17 5-5-5-5v10Z\";\n } else if (direction === \"down\") {\n return \"m7 9.5 5 5 5-5H7Z\";\n } else if (direction === \"left\") {\n return \"m14.5 7-5 5 5 5V7Z\";\n } else if (direction === \"up\") {\n return \"m7 14.5 5-5 5 5H7Z\";\n } else if (direction === \"updown\") {\n return \"m7 13 5 5 5-5H7ZM7 11l5-5 5 5H7Z\";\n } else if (direction === \"leftright\") {\n return \"m11 7-5 5 5 5V7ZM13 7l5 5-5 5V7Z\";\n }\n // default to right\n return \"m9.5 17 5-5-5-5v10Z\";\n }, [direction]);\n \n return <SVG size={size} aria-labelledby=\"FilledChevronIcon\" {...props}>\n <title id=\"FilledChevronIcon\">{altText}</title>\n <path fill=\"none\" d=\"M0 0h24v24H0z\" />\n <path\n d={directionPath}\n fill={color}\n />\n </SVG>;\n\n}\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype CheckmarkIconProps = SVGIconProps;\nexport default function CheckmarkIcon({\n color=teal.main,\n size=\"medium\",\n altText=\"Checkmark\",\n ...props\n}: CheckmarkIconProps) {\n return <SVG size={size} aria-labelledby=\"CheckmarkIcon\" {...props}>\n <title id=\"CheckmarkIcon\" >{altText}</title>\n <path fill=\"none\" d=\"M0 0h24v24H0z\" />\n <path\n d=\"m8.795 15.875-3.47-3.47a.996.996 0 1 0-1.41 1.41l4.18 4.18c.39.39 1.02.39 1.41 0l10.58-10.58a.996.996 0 1 0-1.41-1.41l-9.88 9.87Z\"\n fill={color}\n />\n </SVG>\n}\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype AddIconProps = SVGIconProps;\nexport default function AddIcon({\n color=teal.main,\n size=\"medium\",\n altText=\"Add\",\n ...props\n}: AddIconProps) {\n return <SVG size={size} aria-labelledby=\"AddIcon\" {...props}>\n <path fill=\"none\" d=\"M0 0h24v24H0z\" />\n <title id=\"AddIcon\" >{altText}</title>\n <path\n d=\"M18 13h-5v5c0 .55-.45 1-1 1s-1-.45-1-1v-5H6c-.55 0-1-.45-1-1s.45-1 1-1h5V6c0-.55.45-1 1-1s1 .45 1 1v5h5c.55 0 1 .45 1 1s-.45 1-1 1Z\"\n fill={color}\n />\n </SVG>\n}\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype SubtractIconProps = SVGIconProps;\nexport default function SubtractIcon({\n color=teal.main,\n size=\"medium\",\n altText=\"Remove\",\n ...props\n}: SubtractIconProps) {\n return <SVG size={size} aria-labelledby=\"SubtractIcon\" {...props}>\n <title id=\"SubtractIcon\">{altText}</title>\n <path fill=\"none\" d=\"M0 0h24v24H0z\" />\n <path\n d=\"M18 13H6c-.55 0-1-.45-1-1s.45-1 1-1h12c.55 0 1 .45 1 1s-.45 1-1 1Z\"\n fill={color}\n />\n </SVG>\n}\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype SearchIconProps = SVGIconProps;\nexport default function SearchIcon({\n color=teal.main,\n size=\"medium\",\n altText=\"Search\",\n ...props\n}: SearchIconProps) {\n return <SVG size={size} aria-labelledby=\"SearchIcon\" {...props}>\n <title id=\"SearchIcon\" >{altText}</title>\n <path fill=\"none\" d=\"M0 0h24v24H0z\" />\n <path\n d=\"M15.977 14.472h-.79l-.28-.27a6.5 6.5 0 0 0 1.48-5.34c-.47-2.78-2.79-5-5.59-5.34a6.505 6.505 0 0 0-7.27 7.27c.34 2.8 2.56 5.12 5.34 5.59a6.5 6.5 0 0 0 5.34-1.48l.27.28v.79l4.25 4.25c.41.41 1.08.41 1.49 0 .41-.41.41-1.08 0-1.49l-4.24-4.26Zm-6 0c-2.49 0-4.5-2.01-4.5-4.5s2.01-4.5 4.5-4.5 4.5 2.01 4.5 4.5-2.01 4.5-4.5 4.5Z\"\n fill={color}\n />\n </SVG>\n}\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { primary1 } from '../colors';\n\ntype ClockIconProps = SVGIconProps;\nexport default function ClockIcon({\n color=primary1.main,\n size=\"medium\",\n ...props\n}: ClockIconProps) {\n return <SVG size={size} {...props}>\n <path fill=\"none\" d=\"M0 0h24v24H0z\" />\n <path\n d=\"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2ZM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8Zm-.22-13h-.06c-.4 0-.72.32-.72.72v4.72c0 .35.18.68.49.86l4.15 2.49c.34.2.78.1.98-.24a.71.71 0 0 0-.25-.99l-3.87-2.3V7.72c0-.4-.32-.72-.72-.72Z\"\n fill={color}\n />\n </SVG>\n}\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { primary1 } from '../colors';\n\ntype ClipboardIconProps = SVGIconProps;\nexport default function ClipboardIcon({\n color=primary1.main,\n size=\"medium\",\n ...props\n}: ClipboardIconProps) {\n return <SVG size={size} {...props}>\n <path fill=\"none\" d=\"M0 0h24v24H0z\" />\n <path\n d=\"M19 3h-4.18C14.4 1.84 13.3 1 12 1c-1.3 0-2.4.84-2.82 2H5c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2Zm-7 0c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1Zm6 18H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h1v1c0 1.1.9 2 2 2h6c1.1 0 2-.9 2-2V5h1c.55 0 1 .45 1 1v14c0 .55-.45 1-1 1Z\"\n fill={color}\n />\n </SVG>\n}\n","import React from 'react';\nimport { teal, neutrals } from '../colors';\nimport SVG, { SVGIconProps } from './SvgIcon';\n\nexport type RadioIconProps = SVGIconProps & {\n selected?: boolean, \n hover?: boolean, \n hoverColor?: string,\n disabled?: boolean,\n disabledColor?: string\n};\n\nexport default function RadioIcon({\n color=teal.main,\n hoverColor=teal.light,\n disabledColor=neutrals['70'],\n size=\"medium\",\n hover=false,\n selected=false,\n disabled=false,\n altText=\"Select\",\n ...props\n}: RadioIconProps) {\n\n selected ? altText=\"Unselect\" : altText=\"Select\";\n\n const renderPath = React.useMemo(() => {\n if (selected === true) {\n return <><path d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2Zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8Z\" fill={disabled ? disabledColor : color} /><path d=\"M12 17a5 5 0 1 0 0-10 5 5 0 0 0 0 10Z\" fill={disabled ? disabledColor : color} /></>\n } else if (hover === true && !disabled ) {\n return<><path\n d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2Zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8Z\"\n fill={color} />\n <circle cx={12} cy={12} r={7} fill={hoverColor} /></>\n }\n // default to unselected\n return <path d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2Zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8Z\" fill={disabled ? disabledColor : color} />\n }, [selected, hover, hoverColor, disabled, disabledColor, color]);\n \n return <SVG size={size} aria-labelledby=\"RadioIcon\" {...props}>\n <title id=\"RadioIcon\">{altText}</title>\n <path fill=\"none\" d=\"M0 0h24v24H0z\" />\n {renderPath}\n </SVG>;\n\n}\n","import React from 'react';\nimport { teal, neutrals } from '../colors';\nimport SVG, { SVGIconProps } from './SvgIcon';\n\nexport type CheckboxIconProps = SVGIconProps & {\n selected?: boolean, \n hover?: boolean, \n hoverColor?: string,\n disabled?: boolean,\n disabledColor?: string,\n indeterminate?: boolean\n};\n\nexport default function CheckboxIcon({\n color=teal.main,\n hoverColor=teal.light,\n disabledColor=neutrals['60'],\n size=\"medium\",\n hover=false,\n selected=false,\n disabled=false,\n indeterminate=false,\n altText=\"Select\",\n ...props\n}: CheckboxIconProps) {\n\n selected ? altText=\"Unselect\" : altText=\"Select\";\n\n const renderPath = React.useMemo(() => {\n if (indeterminate) {\n return <path d=\"M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3ZM16 13H8C7.45 13 7 12.55 7 12C7 11.45 7.45 11 8 11H16C16.55 11 17 11.45 17 12C17 12.55 16.55 13 16 13Z\" fill={disabled ? disabledColor : color} />\n } else if (selected) {\n return <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2Zm-8.29 13.29a.996.996 0 0 1-1.41 0L5.71 12.7a.996.996 0 1 1 1.41-1.41L10 14.17l6.88-6.88a.996.996 0 1 1 1.41 1.41l-7.58 7.59Z\" fill={disabled ? disabledColor : color} />\n } else if (hover === true && !disabled ) {\n return<><path\n d=\"M18 19H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1Zm1-16H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2Z\"\n fill={color} />\n <rect x={6} y={6} width={12} height={12} rx={1} fill={hoverColor} /></>\n }\n // default to unselected\n return <path d=\"M18 19H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1Zm1-16H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2Z\" fill={disabled ? disabledColor : color} />\n }, [selected, hover, hoverColor, disabled, disabledColor, color]);\n \n return <SVG size={size} aria-labelledby=\"CheckboxIcon\" {...props}>\n <title id=\"CheckboxIcon\">{altText}</title>\n <path fill=\"none\" d=\"M0 0h24v24H0z\" />\n {renderPath}\n </SVG>;\n\n}\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype EditIconProps = SVGIconProps & {filled?: boolean};\nexport default function EditIcon({\n color=teal.main,\n size=\"medium\",\n filled=false,\n altText=\"Edit\",\n ...props\n}: EditIconProps) {\n const renderPath = filled ? \"M2.999 17.251v3.75h3.75l11.06-11.06-3.75-3.75-11.06 11.06ZM20.709 5.631l-2.34-2.34a.996.996 0 0 0-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83a.996.996 0 0 0 0-1.41Z\"\n : \n \"m14.059 9.02.92.92L5.919 19h-.92v-.92l9.06-9.06Zm3.6-6.02c-.25 0-.51.1-.7.29l-1.83 1.83 3.75 3.75 1.83-1.83a.996.996 0 0 0 0-1.41l-2.34-2.34c-.2-.2-.45-.29-.71-.29Zm-3.6 3.19L2.999 17.25V21h3.75l11.06-11.06-3.75-3.75Z\"\n\n return <SVG size={size} aria-labelledby=\"EditIcon\" {...props} >\n \n <title id=\"EditIcon\" >{altText}</title>\n <path\n d={renderPath}\n fill={color}\n />\n </SVG>\n}\n\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype GridIconProps = SVGIconProps;\nexport default function GridIcon({\n color=teal.main,\n size=\"medium\",\n altText=\"Grid\",\n ...props\n}: GridIconProps) {\n return <SVG size={size} aria-labelledby=\"GridIcon\" {...props}>\n <title id=\"GridIcon\" >{altText}</title>\n <path\n d=\"M20 2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2ZM8 20H4v-4h4v4Zm0-6H4v-4h4v4Zm0-6H4V4h4v4Zm6 12h-4v-4h4v4Zm0-6h-4v-4h4v4Zm0-6h-4V4h4v4Zm6 12h-4v-4h4v4Zm0-6h-4v-4h4v4Zm0-6h-4V4h4v4Z\"\n fill={color}\n />\n </SVG>\n}\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype TemplateIconProps = SVGIconProps & {filled?: boolean};\nexport default function TemplateIcon({\n color=teal.main,\n size=\"medium\",\n filled=false,\n altText=\"Template\",\n ...props\n}: TemplateIconProps) {\n const renderPath = filled ? \"M15 3H5c-1.1 0-1.99.9-1.99 2L3 19c0 1.1.89 2 1.99 2H19c1.1 0 2-.9 2-2V9l-6-6ZM8 17c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1Zm0-4c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1Zm0-4c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1Zm6 1V4.5l5.5 5.5H14Z\"\n : \n \"M15 3H5c-1.1 0-1.99.9-1.99 2L3 19c0 1.1.89 2 1.99 2H19c1.1 0 2-.9 2-2V9l-6-6ZM5 19V5h9v5h5v9H5ZM9 8c0 .55-.45 1-1 1s-1-.45-1-1 .45-1 1-1 1 .45 1 1Zm0 4c0 .55-.45 1-1 1s-1-.45-1-1 .45-1 1-1 1 .45 1 1Zm0 4c0 .55-.45 1-1 1s-1-.45-1-1 .45-1 1-1 1 .45 1 1Z\"\n\n return <SVG size={size} aria-labelledby=\"TemplateIcon\" {...props} >\n \n <title id=\"TemplateIcon\" >{altText}</title>\n <path\n d={renderPath}\n fill={color}\n />\n </SVG>\n}\n\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype PercentIconProps = SVGIconProps;\nexport default function PercentIcon({\n color=teal.main,\n size=\"medium\",\n altText=\"Percent\",\n ...props\n}: PercentIconProps) {\n return <SVG size={size} aria-labelledby=\"PercentIcon\" {...props}>\n <title id=\"PercentIcon\" >{altText}</title>\n <path\n d=\"M7.5 4C5.57 4 4 5.57 4 7.5S5.57 11 7.5 11 11 9.43 11 7.5 9.43 4 7.5 4Zm0 5C6.67 9 6 8.33 6 7.5S6.67 6 7.5 6 9 6.67 9 7.5 8.33 9 7.5 9Zm9 4c-1.93 0-3.5 1.57-3.5 3.5s1.57 3.5 3.5 3.5 3.5-1.57 3.5-3.5-1.57-3.5-3.5-3.5Zm0 5c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5ZM5.41 20 4 18.59 18.59 4 20 5.41 5.41 20Z\"\n fill={color}\n />\n </SVG>\n}\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype TargetIconProps = SVGIconProps;\nexport default function TargetIcon({\n color=teal.main,\n size=\"medium\",\n altText=\"Target\",\n ...props\n}: TargetIconProps) {\n return <SVG size={size} aria-labelledby=\"TargetIcon\" {...props}>\n <title id=\"TargetIcon\" >{altText}</title>\n <path\n d=\"M15 13V5c0-1.66-1.34-3-3-3S9 3.34 9 5v8c-1.21.91-2 2.37-2 4 0 2.76 2.24 5 5 5s5-2.24 5-5c0-1.63-.79-3.09-2-4Zm-4-8c0-.55.45-1 1-1s1 .45 1 1h-1v1h1v2h-1v1h1v2h-2V5Z\"\n fill={color}\n />\n </SVG>\n}\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype IntegrationsIconProps = SVGIconProps & {filled?: boolean};\nexport default function IntegrationsIcon({\n color=teal.main,\n size=\"medium\",\n filled=false,\n altText=\"Integrations\",\n ...props\n}: IntegrationsIconProps) {\n const renderPath = filled ? \"M20 11.5h-1.5v-4c0-1.1-.9-2-2-2h-4V4a2.5 2.5 0 0 0-5 0v1.5h-4c-1.1 0-1.99.9-1.99 2v3.8H3c1.49 0 2.7 1.21 2.7 2.7 0 1.49-1.21 2.7-2.7 2.7H1.5v3.8c0 1.1.9 2 2 2h3.8V21c0-1.49 1.21-2.7 2.7-2.7 1.49 0 2.7 1.21 2.7 2.7v1.5h3.8c1.1 0 2-.9 2-2v-4H20a2.5 2.5 0 0 0 0-5Z\"\n : \n \"M10.75 4.25c.28 0 .5.22.5.5v2h6v6h2c.28 0 .5.22.5.5s-.22.5-.5.5h-2v6h-2.12a4.71 4.71 0 0 0-4.38-3 4.71 4.71 0 0 0-4.38 3H4.25v-2.12c1.75-.68 3-2.39 3-4.38 0-1.99-1.24-3.7-2.99-4.38l-.01-2.12h6v-2c0-.28.22-.5.5-.5Zm0-2a2.5 2.5 0 0 0-2.5 2.5h-4c-1.1 0-1.99.9-1.99 2v3.8h.29c1.49 0 2.7 1.21 2.7 2.7 0 1.49-1.21 2.7-2.7 2.7h-.3v3.8c0 1.1.9 2 2 2h3.8v-.3c0-1.49 1.21-2.7 2.7-2.7 1.49 0 2.7 1.21 2.7 2.7v.3h3.8c1.1 0 2-.9 2-2v-4a2.5 2.5 0 0 0 0-5v-4c0-1.1-.9-2-2-2h-4a2.5 2.5 0 0 0-2.5-2.5Z\"\n\n return <SVG size={size} aria-labelledby=\"IntegrationsIcon\" {...props} >\n \n <title id=\"IntegrationsIcon\" >{altText}</title>\n <path\n d={renderPath}\n fill={color}\n />\n </SVG>\n}\n\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype MailIconProps = SVGIconProps & {filled?: boolean};\nexport default function MailIcon({\n color=teal.main,\n size=\"medium\",\n filled=false,\n altText=\"Mail\",\n ...props\n}: MailIconProps) {\n const renderPath = filled ? \"M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2Zm0 4-8 5-8-5V6l8 5 8-5v2Z\"\n : \n \"M22 6c0-1.1-.9-2-2-2H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6Zm-2 0-8 5-8-5h16Zm0 12H4V8l8 5 8-5v10Z\"\n\n return <SVG size={size} aria-labelledby=\"MailIcon\" {...props} >\n \n <title id=\"MailIcon\" >{altText}</title>\n <path\n d={renderPath}\n fill={color}\n />\n </SVG>\n}\n\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype EpsIconProps = SVGIconProps;\nexport default function EpsIcon({\n color=teal.main,\n size=\"medium\",\n altText=\"Eps\",\n ...props\n}: EpsIconProps) {\n return <SVG size={size} aria-labelledby=\"EpsIcon\" {...props}>\n <path fill=\"none\" d=\"M0 0h24v24H0z\" />\n <title id=\"EpsIcon\" >{altText}</title>\n <path\n d=\"M19.445 13.535c-3.677 2.602-7.243 4.951-11.597 4.806-4.353-.145-6.378-2.834-6.378-2.834s2.038 6.66 9.858 6.49c7.82-.17 11.672-5.55 11.672-5.55s-1.616-1.371-3.555-2.912Zm-14.9 3.187c-1.036-1.364-3.333-5.025 3.052-8.977 6.385-3.953 9.186-.914 4.862 2.464-3.337 2.607-7.125 3.073-7.125 3.073s2.134 3.845 3.25 3.865c8.634-1.509 12.253-8.842 9.47-12.744C15.555.894 9.024 1.139 4.06 5.726c-4.962 4.587-3.22 8.939.485 10.996Z\"\n fill={color}\n />\n </SVG>\n}\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype StarIconProps = SVGIconProps & {hover?:boolean, filled?: boolean;};\nexport default function StarIcon({\n color=teal.main,\n size=\"medium\",\n hover=false,\n filled=false,\n altText=\"Star\",\n ...props\n}: StarIconProps) {\n\n filled ? altText=\"Unstar\" : altText=\"Star\";\n\n const renderPath = filled ? \"m12 17.52 4.15 2.51c.76.46 1.69-.22 1.49-1.08l-1.1-4.72 3.67-3.18c.67-.58.31-1.68-.57-1.75l-4.83-.41-1.89-4.46c-.34-.81-1.5-.81-1.84 0L9.19 8.88l-4.83.41c-.88.07-1.24 1.17-.57 1.75l3.67 3.18-1.1 4.72c-.2.86.73 1.54 1.49 1.08l4.15-2.5Z\"\n : \n \"m19.648 9.295-4.84-.42-1.89-4.45c-.34-.81-1.5-.81-1.84 0l-1.89 4.46-4.83.41c-.88.07-1.24 1.17-.57 1.75l3.67 3.18-1.1 4.72c-.2.86.73 1.54 1.49 1.08l4.15-2.5 4.15 2.51c.76.46 1.69-.22 1.49-1.08l-1.1-4.73 3.67-3.18c.67-.58.32-1.68-.56-1.75Zm-7.65 6.36-3.76 2.27 1-4.28-3.32-2.88 4.38-.38 1.7-4.03 1.71 4.04 4.38.38-3.32 2.88 1 4.28-3.77-2.28Z\"\n\n return <SVG size={size} aria-labelledby=\"StarIcon\" {...props} >\n \n <title id=\"StarIcon\" >{altText}</title>\n <path fill=\"none\" d=\"M0 0h24v24H0z\" />\n <path\n d={renderPath}\n fill={color}\n />\n </SVG>\n}\n\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype EyeIconProps = SVGIconProps & {hide?: boolean;};\nexport default function EyeIcon({\n color=teal.main,\n size=\"medium\",\n hide=false,\n altText=\"EyeIcon\",\n ...props\n}: EyeIconProps) {\n const renderPath = hide ? \"M12 5.975a9.77 9.77 0 0 1 8.82 5.5 9.647 9.647 0 0 1-2.41 3.12l1.41 1.41c1.39-1.23 2.49-2.77 3.18-4.53-1.73-4.39-6-7.5-11-7.5-1.27 0-2.49.2-3.64.57l1.65 1.65c.65-.13 1.31-.22 1.99-.22Zm-1.07 1.14L13 9.185c.57.25 1.03.71 1.28 1.28l2.07 2.07c.08-.34.14-.7.14-1.07.01-2.48-2.01-4.49-4.49-4.49-.37 0-.72.05-1.07.14Zm-8.92-3.27 2.68 2.68A11.738 11.738 0 0 0 1 11.475c1.73 4.39 6 7.5 11 7.5 1.52 0 2.98-.29 4.32-.82l3.42 3.42 1.41-1.41L3.42 2.425l-1.41 1.42Zm7.5 7.5 2.61 2.61c-.04.01-.08.02-.12.02a2.5 2.5 0 0 1-2.5-2.5c0-.05.01-.08.01-.13Zm-3.4-3.4 1.75 1.75a4.6 4.6 0 0 0-.36 1.78 4.507 4.507 0 0 0 6.27 4.14l.98.98c-.88.24-1.8.38-2.75.38a9.77 9.77 0 0 1-8.82-5.5c.7-1.43 1.72-2.61 2.93-3.53Z\"\n : \n \"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5ZM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5Zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3Z\"\n\n return <SVG size={size} aria-labelledby=\"EyeIcon\" {...props}>\n <title id=\"EyeIcon\">{altText}</title>\n <path fill=\"none\" d=\"M0 0h24v24H0z\" />\n <path\n d={renderPath}\n fill={color}\n />\n </SVG>\n}\n\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype MenuIconProps = SVGIconProps;\nexport default function MenuIcon({\n color=teal.main,\n size=\"medium\",\n altText=\"Menu\",\n ...props\n}: MenuIconProps) {\n return <SVG size={size} aria-labelledby=\"MenuIcon\" {...props}>\n <path fill=\"none\" d=\"M0 0h24v24H0z\" />\n <title id=\"MenuIcon\" >{altText}</title>\n <path\n d=\"M4 18h16c.55 0 1-.45 1-1s-.45-1-1-1H4c-.55 0-1 .45-1 1s.45 1 1 1Zm0-5h16c.55 0 1-.45 1-1s-.45-1-1-1H4c-.55 0-1 .45-1 1s.45 1 1 1ZM3 7c0 .55.45 1 1 1h16c.55 0 1-.45 1-1s-.45-1-1-1H4c-.55 0-1 .45-1 1Z\"\n fill={color}\n />\n </SVG>\n}\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\nimport { fontStyles } from '../Theme';\nimport styled from 'styled-components';\nimport { get } from 'lodash';\n\nexport const iconSizes = {\n tiny: {\n 'font-size': fontStyles.button.small.fontSize,\n },\n small: {\n 'font-size': fontStyles.button.small.fontSize,\n },\n medium: {\n 'font-size': fontStyles.button.medium.fontSize,\n },\n large: {\n 'font-size': fontStyles.button.large.fontSize,\n },\n huge: {\n 'font-size': fontStyles.button.huge.fontSize,\n },\n default: {\n 'font-size': fontStyles.button.medium.fontSize,\n },\n };\n \n type iconSize = keyof typeof iconSizes;\n \n const getSizeStyle = (style: string, defaults: string) => {\n return ({ size }: CommentIconProps) => {\n if (size) {\n return get(iconSizes, [size, style]) || defaults;\n }\n return defaults;\n };\n }\n\ntype CommentIconProps = {\n number?: number;\n} & SVGIconProps;\n\nconst OuterContainer = styled.div`\n display:inline-flex;\n flex-direction: row;\n align-items: top;\n`;\n\nconst CommentNumber = styled.p<{number?: number | string, color: string, size?: iconSize}>`\n display:block;\n font-family: ${fontStyles.p.small.fontFamily};\n font-size: ${ props => getSizeStyle('font-size', fontStyles.button.medium.fontSize)({size: props.size})};\n color: ${props => props.color};\n margin-top: 0;\n margin-bottom: 0;\n`;\nexport default function CommentIcon({\n color=teal.main,\n size=\"medium\",\n altText=\"Comments\",\n number,\n ...props\n}: CommentIconProps) {\n const numberToShow = number !== undefined && number <= 99 ? number : '99+';\n\n const showNumber = number ? <CommentNumber color={color} number={number} size={size}>{numberToShow}</CommentNumber> : null;\n\n return (\n <>\n <OuterContainer>\n <SVG size={size} aria-labelledby=\"CommentIcon\" mr={4} {...props}>\n <title id=\"CommentIcon\">{altText}</title>\n <path\n d=\"M21.99 4c0-1.1-.89-2-1.99-2H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h14l4 4-.01-18ZM20 4v13.17L18.83 16H4V4h16ZM6 12h12v2H6v-2Zm0-3h12v2H6V9Zm0-3h12v2H6V6Z\"\n fill={color} />\n </SVG>\n {showNumber}\n </OuterContainer> \n </>\n )\n}\n\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype EllipsisIconProps = SVGIconProps;\nexport default function EllipsisIcon({\n color=teal.main,\n size=\"medium\",\n altText=\"More\",\n ...props\n}: EllipsisIconProps) {\n return <SVG size={size} aria-labelledby=\"EllipsisIcon\" {...props}>\n <path fill=\"none\" d=\"M0 0h24v24H0z\" />\n <title id=\"EllipsisIcon\" >{altText}</title>\n <path\n d=\"M6 10c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2Zm12 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2Zm-6 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2Z\"\n fill={color}\n />\n </SVG>\n}\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype DragIconProps = SVGIconProps;\nexport default function DragIcon({\n color=teal.main,\n size=\"medium\",\n altText=\"Drag\",\n ...props\n}: DragIconProps) {\n return <SVG size={size} aria-labelledby=\"DragIcon\" {...props}>\n <path fill=\"none\" d=\"M0 0h24v24H0z\" />\n <title id=\"DragIcon\" >{altText}</title>\n <path\n d=\"M11 18c0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2 2 .9 2 2Zm-2-8c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2Zm0-6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2Zm6 4c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2Zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2Zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2Z\"\n fill={color}\n />\n </SVG>\n}\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype CreditCardIcon = SVGIconProps;\nexport default function CreditCardIcon({\n color=teal.main,\n size=\"medium\",\n altText=\"Credit Card\",\n ...props\n}: CreditCardIcon) {\n return <SVG size={size} aria-labelledby=\"CreditCardIcon\" {...props}>\n <title id=\"CreditCardIcon\" >{altText}</title>\n <path\n d=\"M20 4H4C2.89 4 2.01 4.89 2.01 6L2 18C2 19.11 2.89 20 4 20H20C21.11 20 22 19.11 22 18V6C22 4.89 21.11 4 20 4ZM20 18H4V12H20V18ZM20 8H4V6H20V8Z\" \n fill={color}\n />\n </SVG>\n}","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype ShopIcon = SVGIconProps;\nexport default function ShopIcon({\n color=teal.main,\n size=\"medium\",\n altText=\"Credit Card\",\n ...props\n}: ShopIcon) {\n return <SVG size={size} aria-labelledby=\"ShopIcon\" {...props}>\n <path fill=\"none\" d=\"M0 0h24v24H0z\" />\n <title id=\"ShopIcon\" >{altText}</title>\n <path\n d=\"M21.8978 8.89L20.8478 4.52C20.6278 3.62 19.8478 3 18.9378 3H5.04781C4.14781 3 3.35781 3.63 3.14781 4.52L2.09781 8.89C1.85781 9.91 2.07781 10.95 2.71781 11.77C2.79781 11.88 2.90781 11.96 2.99781 12.06V19C2.99781 20.1 3.89781 21 4.99781 21H18.9978C20.0978 21 20.9978 20.1 20.9978 19V12.06C21.0878 11.97 21.1978 11.88 21.2778 11.78C21.9178 10.96 22.1478 9.91 21.8978 8.89ZM18.9078 4.99L19.9578 9.36C20.0578 9.78 19.9678 10.2 19.7078 10.53C19.5678 10.71 19.2678 11 18.7678 11C18.1578 11 17.6278 10.51 17.5578 9.86L16.9778 5L18.9078 4.99ZM12.9978 5H14.9578L15.4978 9.52C15.5478 9.91 15.4278 10.3 15.1678 10.59C14.9478 10.85 14.6278 11 14.2178 11C13.5478 11 12.9978 10.41 12.9978 9.69V5ZM8.48781 9.52L9.03781 5H10.9978V9.69C10.9978 10.41 10.4478 11 9.70781 11C9.36781 11 9.05781 10.85 8.81781 10.59C8.56781 10.3 8.44781 9.91 8.48781 9.52ZM4.03781 9.36L5.04781 5H7.01781L6.43781 9.86C6.35781 10.51 5.83781 11 5.22781 11C4.73781 11 4.42781 10.71 4.29781 10.53C4.02781 10.21 3.93781 9.78 4.03781 9.36ZM4.99781 19V12.97C5.07781 12.98 5.14781 13 5.22781 13C6.09781 13 6.88781 12.64 7.46781 12.05C8.06781 12.65 8.86781 13 9.77781 13C10.6478 13 11.4278 12.64 12.0078 12.07C12.5978 12.64 13.3978 13 14.2978 13C15.1378 13 15.9378 12.65 16.5378 12.05C17.1178 12.64 17.9078 13 18.7778 13C18.8578 13 18.9278 12.98 19.0078 12.97V19H4.99781Z\"\n fill={color}\n />\n </SVG>\n}\n\n\n\n\n\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype HistoryIcon = SVGIconProps;\nexport default function HistoryIcon({\n color=teal.main,\n size=\"medium\",\n altText=\"Credit Card\",\n ...props\n}: HistoryIcon) {\n return <SVG size={size} aria-labelledby=\"HistoryIcon\" {...props}>\n <title id=\"HistoryIcon\" >{altText}</title>\n <path\n d=\"M13.5 3C8.53 3 4.5 7.03 4.5 12H1.5L5.39 15.89L5.46 16.03L9.5 12H6.5C6.5 8.13 9.63 5 13.5 5C17.37 5 20.5 8.13 20.5 12C20.5 15.87 17.37 19 13.5 19C11.57 19 9.82 18.21 8.56 16.94L7.14 18.36C8.77 19.99 11.01 21 13.5 21C18.47 21 22.5 16.97 22.5 12C22.5 7.03 18.47 3 13.5 3ZM12.5 8V13L16.75 15.52L17.52 14.24L14 12.15V8H12.5Z\"\n fill={color}\n />\n </SVG>\n}\n\n\n\n\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype HandleIcon = SVGIconProps;\nexport default function HandleIcon({\n color=teal.main,\n size=\"medium\",\n altText=\"Credit Card\",\n ...props\n}: HandleIcon) {\n return <SVG size={size} aria-labelledby=\"HandleIcon\" {...props}>\n <title id=\"HandleIcon\" >{altText}</title>\n <path\n d=\"M11 18C11 19.1 10.1 20 9 20C7.9 20 7 19.1 7 18C7 16.9 7.9 16 9 16C10.1 16 11 16.9 11 18ZM9 10C7.9 10 7 10.9 7 12C7 13.1 7.9 14 9 14C10.1 14 11 13.1 11 12C11 10.9 10.1 10 9 10ZM9 4C7.9 4 7 4.9 7 6C7 7.1 7.9 8 9 8C10.1 8 11 7.1 11 6C11 4.9 10.1 4 9 4ZM15 8C16.1 8 17 7.1 17 6C17 4.9 16.1 4 15 4C13.9 4 13 4.9 13 6C13 7.1 13.9 8 15 8ZM15 10C13.9 10 13 10.9 13 12C13 13.1 13.9 14 15 14C16.1 14 17 13.1 17 12C17 10.9 16.1 10 15 10ZM15 16C13.9 16 13 16.9 13 18C13 19.1 13.9 20 15 20C16.1 20 17 19.1 17 18C17 16.9 16.1 16 15 16Z\"\n fill={color}\n />\n </SVG>\n}\n\n\n\n\n\n\n\n","import { get } from 'lodash';\nimport styled from 'styled-components'\nimport React from 'react'\nimport placeholder from './img/avatar-placeholder.png'\nimport { SharedStyles, SharedStyleTypes } from './SharedStyles';\nimport { neutrals, primary1, secondary1, secondary2, secondary3, secondary4 } from './colors';\nimport { UserIcon } from './icons';\n\n\nconst avatarSizes = {\n tiny: {\n size: '24px',\n fontSize: '10px'\n },\n small: {\n size: '32px',\n fontSize: '12px'\n },\n medium: {\n size: '40px',\n fontSize: '16px'\n },\n large: {\n size: '48px',\n fontSize: '16px'\n },\n huge: {\n size: '56px',\n fontSize: '20px'\n }\n};\n\nexport type AvatarSize = keyof typeof avatarSizes;\n\nconst avatarShapes = {\n square: '5px',\n circle: '50%'\n}\n\nexport type AvatarShape = keyof typeof avatarShapes;\n\nconst avatarColors = {\n teal: {\n backgroundColor: primary1['30'],\n textColor: primary1['60']\n },\n green: {\n backgroundColor: secondary3['30'],\n textColor: secondary3['60']\n },\n yellow: {\n backgroundColor: secondary2['30'],\n textColor: secondary2['60']\n },\n navy: {\n backgroundColor: secondary4['30'],\n textColor: secondary4['50']\n },\n pink: {\n backgroundColor: secondary1['20'],\n textColor: secondary1['40']\n }\n}\n\nexport type AvatarColor = keyof typeof avatarColors;\n\n\n// const avatarColorKeys = Object.keys(avatarColors);\n\n// const randomAvatarColor = avatarColorKeys[Math.floor(Math.random() * avatarColorKeys.length)];\n\ntype _AvatarProps = {size: AvatarSize, shape?: AvatarShape, color?: AvatarColor, hasPic?: boolean, initials?: string, icon?: boolean} & React.HTMLAttributes<HTMLDivElement> & SharedStyleTypes;\nconst AvatarWrapper = styled.div<_AvatarProps>`\n &&& {\n display: inline-block;\n vertical-align: top;\n overflow: hidden;\n margin: 0;\n ${SharedStyles}\n\n width: ${props => props.size};\n height: ${props => props.size};\n border-radius: ${props => props.shape};\n text-align: center;\n ${props => props.hasPic ? '' : `background: ${get(avatarColors, [props.color ?? 'teal', 'backgroundColor'], props.color)};`}\n ${props => props.hasPic ? '' : `color: ${get(avatarColors, [props.color ?? 'teal', 'textColor'], props.color)};`}\n }\n`\n\nconst AvatarPic = styled.img<_AvatarProps>`\n &&& {\n width: 100%;\n height: 100%;\n }\n`\nconst AvatarInitials = styled.p<_AvatarProps>`\n &&& {\n margin: 0;\n position: relative;\n top: 50%;\n transform: translate(0, -50%);\n font-family: 'skufont-bold', sans-serif;\n font-size: ${props => get(avatarSizes, [props.size ?? 'small', 'fontSize'], props.size)}\n`\n\nconst Avatar: React.FC<\n Omit<_AvatarProps, 'size'> & {pic?: string, size?: AvatarSize, shape?: AvatarShape, color?: AvatarColor, initials?: string, icon?: boolean}\n> = ({ pic, size='small', shape='square', color, initials, icon, children, ...props }) => {\n if(pic) {\n return <AvatarWrapper hasPic={true} size={get(avatarSizes, [size ?? 'small', 'size'], size) as AvatarSize} shape={get(avatarShapes, shape ?? 'square', shape) as AvatarShape} {...props}>\n <AvatarPic src={pic ?? placeholder } size={size}/>\n </AvatarWrapper>\n } else if (!pic && icon){\n return <AvatarWrapper size={get(avatarSizes, [size ?? 'small', 'size'], size) as AvatarSize} shape={get(avatarShapes, shape ?? 'square', shape) as AvatarShape} style={{backgroundColor: neutrals['50']}} {...props}><UserIcon color={neutrals[70]} size={size} style={{position:'relative', top: '50%', transform: 'translate(0, -50%)'}}/>\n </AvatarWrapper>\n } else {\n return <AvatarWrapper size={get(avatarSizes, [size ?? 'small', 'size'], size) as AvatarSize} shape={get(avatarShapes, shape ?? 'square', shape) as AvatarShape} color={color} initials={initials} {...props}>\n <AvatarInitials size={size}>{initials ?? children}</AvatarInitials>\n </AvatarWrapper>\n }\n \n}\n\nexport { Avatar }\n","import styled, { css, CSSObject } from 'styled-components';\nimport { sizes, media, TSize } from '../utils';\n\nexport type TSizeOffset = 'xsOffset' | 'smOffset' | 'mdOffset' | 'lgOffset' | 'xlOffset';\nexport type TSizeOffsetRight = 'xsOffsetRight' | 'smOffsetRight' | 'mdOffsetRight' | 'lgOffsetRight' | 'xlOffsetRight';\nexport type TSizeStyle = 'xsStyle' | 'smStyle' | 'mdStyle' | 'lgStyle' | 'xlStyle';\n\nexport type SizerTypes = {\n // [key: string]: any,\n collapse?: TSize | Array<TSize>, // hide for size(s)\n offset?: number,\n first?: string,\n last?: string,\n padded?: boolean,\n xs?: string|number|boolean|CSSObject,\n sm?: string|number|boolean|CSSObject,\n md?: string|number|boolean|CSSObject,\n lg?: string|number|boolean|CSSObject,\n xl?: string|number|boolean|CSSObject,\n xsOffset?: number,\n smOffset?: number,\n mdOffset?: number,\n lgOffset?: number,\n xlOffset?: number,\n xsOffsetRight?: number,\n smOffsetRight?: number,\n mdOffsetRight?: number,\n lgOffsetRight?: number,\n xlOffsetRight?: number,\n xsStyle?: string|CSSObject,\n smStyle?: string|CSSObject,\n mdStyle?: string|CSSObject,\n lgStyle?: string|CSSObject,\n xlStyle?: string|CSSObject,\n\n start?: boolean|number,\n end?: boolean|number,\n center?: boolean,\n totalCols?: number;\n};\n\nconst getTotalCols = (p: SizerTypes) => p.totalCols || 12;\n\nexport const SizerCss = css<SizerTypes>`\n ${(props) => props.start ? `\n justify-content: flex-start;\n text-align: left;\n ` : ''}\n ${(props) => props.center ? `\n justify-content: center;\n text-align: center;\n ` : ''}\n ${(props) => props.end ? `\n justify-content: flex-end;\n text-align: right;\n ` : ''}\n\n ${(props) => props.offset && `margin-left: ${props.offset/getTotalCols(props) * 100}%;`}\n ${(props) => props.collapse && typeof(props.collapse) === 'string' && media[props.collapse](`\n display: none;\n `)};\n ${(props: SizerTypes) => {\n let styles = '';\n\n if (props.collapse) {\n if (typeof(props.collapse) === 'string') {\n styles += media[props.collapse]('display: none;');\n } else if (typeof(props.collapse) === 'object' && Array.isArray(props.collapse)) {\n props.collapse.forEach((s: string) => {\n styles += media[s]('display: none;');\n });\n }\n }\n\n sizes.forEach((s) => {\n const val = props[s];\n if(val !== null && val !== undefined) {\n if (typeof(val) === 'boolean' || (typeof(val) === 'number' && !isNaN(val))) {\n if (val === false) {\n styles += media[s]('display: none;');\n } else {\n styles += media[s](`\n flex-basis: ${(typeof(val) === 'boolean' ? getTotalCols(props) : val)/getTotalCols(props) * 100}%;\n max-width: ${(typeof(val) === 'boolean' ? getTotalCols(props) : val)/getTotalCols(props) * 100}%;\n display: initial;\n `);\n }\n } else if (typeof(val) === 'string') {\n styles += media[s](val);\n }\n }\n\n const offset = props[`${s}Offset` as TSizeOffset];\n const offsetRight = props[`${s}OffsetRight` as TSizeOffsetRight];\n const customStyles = props[`${s}Style` as TSizeStyle];\n if(offset) {\n styles += media[s](`margin-left: ${(offset / getTotalCols(props) * 100)}%;`);\n }\n if(offsetRight) {\n styles += media[s](`margin-right: ${(offsetRight/getTotalCols(props) * 100)}%;`);\n }\n if(customStyles) {\n styles += media[s](customStyles);\n }\n });\n\n return styles;\n }}\n`;\n\nexport const SizerWrapper = styled.div<SizerTypes>`\n ${SizerCss}\n`;\n","import styled from 'styled-components';\nimport { SizerCss, SizerTypes } from './Sizer';\nimport { SharedStyles, SharedStyleTypes } from './SharedStyles'\n\nexport type RowPropTypes = {\n justify ?: string,\n wrap ?: string, // 'wrap', 'nowrap', 'wrap-reverse', ...\n align ?: string,\n padded ?: boolean,\n start ?: boolean,\n end ?: boolean,\n middle?: boolean,\n} & SharedStyleTypes;\n\nexport const Row = styled.div<RowPropTypes>`\n &&& {\n display: flex;\n box-sizing: border-box;\n flex-direction: row;\n flex: 0 1 auto;\n justify-content: ${(props) => props.justify || 'left' };\n flex-wrap: ${(props) => props.wrap ? props.wrap : 'wrap' };\n align-items: ${(props) => props.align || 'stretch' };\n padding: ${(props) => props.padded ? '0.5rem' : 'initial'};\n ${props => props.start ? 'place-content: flex-start;' : ''}\n ${props => props.end ? 'place-content: flex-end;' : ''}\n ${props => props.middle ? 'align-items: center;' : ''}\n ${SharedStyles}\n }\n`;\n\nexport type ColPropTypes = SizerTypes & SharedStyleTypes;\n\nexport const Col = styled.div<ColPropTypes>`\n &&& {\n padding: ${(props) => props.padded ? '0.5rem' : 'initial'};\n flex: 12;\n flex-grow: 1;\n box-sizing: border-box;\n ${SizerCss}\n ${SharedStyles}\n }\n`;\n","import styled, {css} from 'styled-components'\nimport { getThemeColor, colors } from './Theme';\nimport { SharedStyles, SharedStyleTypes } from './SharedStyles'\n\nconst headingStyle = css`\n font-family: \"skufont-demibold\", sans-serif;\n color: ${props => getThemeColor(props, 'texttitle', colors.texttitle)};\n font-weight: bold;\n`\n\nconst H1= styled.h1<{underlined?:boolean} & SharedStyleTypes>`\n &&& {\n font-size: 30px;\n border-bottom: ${props => props.underlined ? \"1px solid #ccc\" : \"none\"};\n ${headingStyle}\n ${SharedStyles}\n }\n`;\n\nconst H2= styled.h2<{underlined?:boolean} & SharedStyleTypes>`\n &&& {\n font-size: 25px;\n border-bottom: ${props => props.underlined ? \"1px solid #ccc\" : \"none\"};\n ${headingStyle}\n ${SharedStyles}\n }\n`;\n\nconst H3= styled.h3<{underlined?:boolean} & SharedStyleTypes>`\n &&& {\n font-size: 25px;\n border-bottom: ${props => props.underlined ? \"1px solid #ccc\" : \"none\"};\n ${headingStyle}\n ${SharedStyles}\n }\n`;\n\nconst H4= styled.h4<{underlined?:boolean} & SharedStyleTypes>`\n &&& {\n font-size: 23px;\n border-bottom: ${props => props.underlined ? \"1px solid #ccc\" : \"none\"};\n ${headingStyle}\n ${SharedStyles}\n }\n`;\n\nconst H5= styled.h5<{underlined?:boolean} & SharedStyleTypes>`\n &&& {\n font-size: 20px;\n border-bottom: ${props => props.underlined ? \"1px solid #ccc\" : \"none\"};\n ${headingStyle}\n ${SharedStyles}\n }\n`;\n\nconst H6= styled.h6<{underlined?:boolean} & SharedStyleTypes>`\n &&& {\n font-size: 18px;\n border-bottom: ${props => props.underlined ? \"1px solid #ccc\" : \"none\"};\n ${headingStyle}\n ${SharedStyles}\n }\n`;\n\nexport { H1, H2, H3, H4, H5, H6 };\n","import styled from 'styled-components'\nimport React from 'react'\nimport { Row, Col } from './FlexboxGrid'\nimport { H2 } from './Headings'\nimport { SharedStyles, SharedStyleTypes } from './SharedStyles';\n\nconst StyledBox = styled.div<{ borderless?: boolean, padded?: boolean } & SharedStyleTypes>`\n background: white;\n margin-top: 20px;\n box-shadow: ${props => props.borderless ? 0 : `0 2px 4px rgba(0, 0, 0, 0.07)`};\n border-radius: 5px;\n padding: 20px ${props => props.padded ? 20 : 0}px;\n ${SharedStyles}\n`\ntype BoxProps = React.PropsWithChildren<{\n borderless?: boolean,\n padded?: boolean,\n title?: string | React.ReactNode,\n controls?: React.ReactNode\n} & SharedStyleTypes>;\nconst Box = ({\n title,\n controls,\n children,\n ...props\n}: BoxProps) => {\n\n return (<StyledBox padded={props.padded} borderless={props.borderless} {...props}>\n {title || controls ?\n <Row>\n <Col xs={8}>\n {title ? <H2>{title}</H2> : null}\n </Col>\n <Col xs style={{ textAlign: \"right\" }}>\n {controls ? controls : null}\n </Col>\n </Row>\n : null}\n {children}\n </StyledBox>\n )\n}\n\nexport { Box }\n","import styled from 'styled-components'\nimport { getThemeColor, colors } from './Theme';\nimport { SharedStyles, SharedStyleTypes } from './SharedStyles'\n\nexport const Background = styled.div<{padded?: boolean, fillWindow?:boolean}&SharedStyleTypes>`\n &&& {\n background: ${props => getThemeColor(props, 'bggray', colors.bggray)};\n padding: 20px ${props => props.padded ? 20 : 0}px;\n min-height: ${props => props.fillWindow ? \"100vh\" : 0};\n ${SharedStyles}\n }\n`","import React, { useState, useEffect, Fragment } from 'react';\nimport { useDropzone, DropzoneOptions, DropEvent } from 'react-dropzone';\nimport styled from 'styled-components';\nimport { getThemeColor, colors } from './Theme';\nimport { SharedStyles, SharedStyleTypes } from './SharedStyles';\n\nexport const StyledDropArea = styled.div<{isDragAccept?: boolean, isDragReject?: boolean, isDragActive?: boolean}&SharedStyleTypes>`\n &&& {\n padding: 20px;\n border: 2px dashed ${props => getThemeColor(props, 'primary', colors.primary)}; \n cursor: pointer;\n border-radius: 5px;\n &:hover {\n background-color: ${props => getThemeColor(props, 'bgblue', colors.bgblue)};\n }\n border-color: ${props => getColor(props)};\n outline: none;\n transition: border .24s ease-in-out;\n width: 100%;\n ${SharedStyles}\n }\n`;\n\nconst PlaceHolder = styled.label`\n &&& {\n color: ${props => getThemeColor(props, 'primary', colors.primary)};\n text-align: center;\n width: 100%;\n display: block;\n }\n`\nconst ThumbsContainer = styled.aside`\n &&& {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n margin-top: 16px;\n }\n`;\n\nconst Thumb = styled.div`\n &&& {\n display: inline-flex;\n border-radius: 2px;\n border: 1px solid #eaeaea ${props => getThemeColor(props, 'bggray', colors.bggray)};\n margin-bottom: 8px;\n margin-right: 8px;\n width: 100px;\n height: 100px;\n padding: 4px;\n box-sizing: border-box;\n }\n`;\n\nconst ThumbInner = styled.div`\n &&& {\n display: flex;\n min-width: 0px;\n overflow: hidden;\n }\n`;\n\nconst ImgPreview = styled.img`\n &&& {\n display: block;\n width: auto;\n height: 100%;\n }\n`;\n\nexport type DropAreaProps = React.PropsWithChildren<{\n placeholder?: string | React.ReactNode;\n} & SharedStyleTypes>\nexport const DropArea = ({\n children,\n placeholder,\n ...props\n}: DropAreaProps) => {\n return <StyledDropArea {...props}>\n {children ? children : <PlaceHolder>{placeholder}</PlaceHolder>}\n </StyledDropArea>\n}\n\n\nconst getColor = (props: {isDragAccept?: boolean, isDragReject?: boolean, isDragActive?: boolean}) => {\n if (props.isDragAccept) {\n return '#00e676';\n }\n if (props.isDragReject) {\n return '#ff1744';\n }\n if (props.isDragActive) {\n return '#2196f3';\n }\n return '#02c0da';\n}\n\nexport type DropzoneTypes = { \n placeholder ?: string|React.ReactNode,\n showDroppedFiles ?: boolean,\n} & DropzoneOptions\n\nexport function Dropzoned({\n placeholder=\"Drop Here\",\n accept,\n showDroppedFiles=false,\n ...props\n}: DropzoneTypes) {\n const {\n acceptedFiles,\n getRootProps,\n getInputProps,\n isDragActive,\n isDragAccept,\n isDragReject,\n } = useDropzone({accept, ...props});\n\n const files = showDroppedFiles && acceptedFiles.map((file: File&{path?: string}) => (\n <li key={file.path}>\n {file.path} - {file.size} bytes\n </li>\n ));\n\n return (\n <Fragment>\n <StyledDropArea {...getRootProps({isDragActive, isDragAccept, isDragReject})}>\n <input {...getInputProps()} />\n <PlaceHolder>{placeholder}</PlaceHolder>\n </StyledDropArea>\n {showDroppedFiles && <aside>\n <h4>Files</h4>\n <ul>{files}</ul>\n </aside>}\n </Fragment>\n )\n}\n\nexport function DropzonedPreviews({\n placeholder=\"Drop Here\",\n accept,\n onDrop,\n ...props\n}: DropzoneTypes) {\n const [files, setFiles] = useState([]);\n const {\n getRootProps,\n getInputProps,\n isDragActive,\n isDragAccept,\n isDragReject,\n } = useDropzone({\n accept,\n onDrop: (acceptedFiles: File[], rejectedFiles: File[], event: DropEvent) => {\n onDrop && onDrop(acceptedFiles, rejectedFiles, event);\n // @ts-ignore\n setFiles(acceptedFiles.map((file: File) => Object.assign(file, {\n preview: URL.createObjectURL(file)\n })));\n },\n ...props\n });\n\n const thumbs = files.map((file: {preview: string}&File) => (\n <Thumb key={file.name}>\n <ThumbInner>\n <ImgPreview alt={'Preview Img'} src={file.preview} />\n </ThumbInner>\n </Thumb>\n ));\n\n useEffect(() => () => {\n // Make sure to revoke the data uris to avoid memory leaks\n files.forEach((file: {preview: string}&File) => URL.revokeObjectURL(file.preview));\n }, [files]);\n\n return (\n <section className=\"dropzoned-container\">\n <StyledDropArea {...getRootProps({isDragActive, isDragAccept, isDragReject})}>\n <input {...getInputProps()} />\n {thumbs.length \n ? <ThumbsContainer>{thumbs}</ThumbsContainer>\n : <PlaceHolder>{placeholder}</PlaceHolder>}\n </StyledDropArea>\n {/* <ThumbsContainer>{thumbs}</ThumbsContainer> */}\n </section>\n );\n}\n\n","import React, { useState } from 'react';\nimport { get } from 'lodash';\nimport styled, { CSSObject } from 'styled-components'\nimport { getThemeColor, themeOptions } from './Theme';\nimport { SharedStyles, SharedStyleTypes } from './SharedStyles';\nimport { SizerCss, SizerTypes } from './Sizer';\nimport colors from './colors';\nimport { EditIcon, TrashIcon, AddIcon, SubtractIcon, XIcon, DragIcon } from './icons';\n\n/*\n\n PASS THE BUTTON TYPE AS A PROP:\n - primary (default)\n - secondary\n - cta\n - link\n\n PASS A SIZE AS A PROP:\n - xl\n - large\n - medium (default)\n - small\n - tiny\n \n OPTIONAL PROPS:\n - disabled\n\n*/\n\nexport const sizes = {\n tiny: {\n 'font-family': themeOptions.fontStyles.button.tiny.fontFamily,\n 'font-size': themeOptions.fontStyles.button.tiny.fontSize,\n 'line-height': themeOptions.fontStyles.button.tiny.lineHeight,\n padding: '3px 9px', // 6px 12px minus 3px each for border\n iconOnlyPadding: '3px', // 6px minus 3px each for border\n borderRadius: '3px',\n iconSize: '16px',\n },\n small: {\n 'font-family': themeOptions.fontStyles.button.small.fontFamily,\n 'font-size': themeOptions.fontStyles.button.small.fontSize,\n 'line-height': themeOptions.fontStyles.button.small.lineHeight,\n padding: '5px 13px', //8px 16px minus 3px each for border\n iconOnlyPadding: '5px', //8px minus 3px each for border\n borderRadius: '4px',\n iconSize: '16px'\n\n },\n medium: {\n 'font-family': themeOptions.fontStyles.button.medium.fontFamily,\n 'font-size': themeOptions.fontStyles.button.medium.fontSize,\n 'line-height': themeOptions.fontStyles.button.medium.lineHeight,\n padding: '5px 21px', //8px 24px minus 3px each for border\n iconOnlyPadding: '5px', //5px minus 3px each for border\n borderRadius: '4px',\n iconSize: '24px'\n\n },\n large: {\n 'font-family': themeOptions.fontStyles.button.large.fontFamily,\n 'font-size': themeOptions.fontStyles.button.large.fontSize,\n 'line-height': themeOptions.fontStyles.button.large.lineHeight,\n padding: '9px 21px', //12px 24px minus 3px each for border\n iconOnlyPadding: '9px', //12px minus 3px each for border\n borderRadius: '4px',\n iconSize: '32px'\n },\n huge: {\n 'font-family': themeOptions.fontStyles.button.huge.fontFamily,\n 'font-size': themeOptions.fontStyles.button.huge.fontSize,\n 'line-height': themeOptions.fontStyles.button.huge.lineHeight,\n padding: '13px 29px', // 16px 32px minus 3px each for border\n iconOnlyPadding: '13px', //16px minus 3px each for border\n borderRadius: '5px',\n iconSize: '48px'\n\n },\n};\nexport type TSize = keyof typeof sizes;\n\nexport type ButtonPreset = 'edit'\n| 'delete'\n| 'add' \n| 'remove'\n| 'close'\n| 'drag'\n;\n\nexport type ButtonVariant = 'primary'\n | 'secondary'\n | 'cta'\n | 'error'\n | 'disabled'\n | 'text'\n | 'primary-light'\n | 'text-error'\n // | 'cta-outline'\n // | 'error-outline'\n // | 'disabled-outline';\n\ntype ButtonProps = {\n secondary?: boolean;\n cta?: boolean;\n size?: TSize;\n variant?: ButtonVariant\n} & SharedStyleTypes & SizerTypes;\n\nconst getSizeStyle = (style: string, defaults: string) => {\n return ({ size }: ButtonProps) => {\n if (size) {\n return get(sizes, [size, style]) || defaults;\n }\n return defaults;\n };\n}\n\nconst getVariantStyles = (props: ButtonProps, variant: ButtonVariant): CSSObject => {\n const white = getThemeColor(props, 'neutrals.white', colors.neutrals.white);\n const disabled = getThemeColor(props, 'neutrals.50', colors.errors['50']);\n const disabledText = getThemeColor(props, 'neutrals.70', colors.errors['70']);\n\n const primary = getThemeColor(props, 'primary1.main', colors.primary1.main);\n const primaryDark = getThemeColor(props, 'primary1.75', colors.primary1['75']);\n const primaryLight = getThemeColor(props, 'primary1.20', colors.primary1['20']);\n\n const cta = getThemeColor(props, 'secondary1.main', colors.secondary1.main);\n const ctaDark = getThemeColor(props, 'secondary1.80', colors.secondary1['80']);\n // const ctaLight = getThemeColor(props, 'secondary1.20', colors.secondary1['20']);\n\n const error = getThemeColor(props, 'errors.main', colors.errors.main);\n const errorDark = getThemeColor(props, 'errors.70', colors.errors['70']);\n\n switch (variant) {\n case 'primary':\n return {\n borderWidth: 3,\n borderStyle: 'solid',\n borderColor: primary,\n background: primary,\n color: white,\n ':hover': {\n borderWidth: 3,\n borderStyle: 'solid',\n borderColor: primaryDark,\n background: primaryDark,\n color: white,\n },\n ':focus-visible': {\n outlineColor: primary,\n },\n };\n case 'secondary':\n return {\n borderWidth: 3,\n borderStyle: 'solid',\n borderColor: primary,\n background: white,\n color: primary,\n ':hover': {\n borderWidth: 3,\n borderStyle: 'solid',\n borderColor: primary,\n background: primaryLight,\n color: primary,\n },\n ':focus-visible': {\n outlineColor: primary,\n },\n };\n case 'primary-light':\n return {\n borderWidth: 3,\n borderStyle: 'solid',\n borderColor: primaryLight,\n background: primaryLight,\n color: primary,\n ':hover': {\n borderWidth: 3,\n borderStyle: 'solid',\n borderColor: primaryLight,\n background: white,\n color: primary,\n },\n ':focus-visible': {\n outlineColor: primaryLight,\n },\n };\n case 'cta':\n return {\n borderWidth: 3,\n borderStyle: 'solid',\n borderColor: cta,\n background: cta,\n color: white,\n ':hover': {\n borderWidth: 3,\n borderStyle: 'solid',\n borderColor: ctaDark,\n background: ctaDark,\n color: white,\n },\n ':focus-visible': {\n outlineColor: cta,\n },\n };\n case 'error':\n return {\n borderWidth: 3,\n borderStyle: 'solid',\n borderColor: error,\n background: error,\n color: white,\n ':hover': {\n borderWidth: 3,\n borderStyle: 'solid',\n borderColor: errorDark,\n background: errorDark,\n color: white,\n },\n ':focus-visible': {\n outlineColor: error,\n },\n };\n case 'disabled':\n return {\n borderWidth: 3,\n borderStyle: 'solid',\n borderColor: disabled,\n background: disabled,\n color: disabledText,\n cursor: 'default',\n ':focus-visible': {\n outlineColor: disabled,\n },\n };\n case 'text':\n return {\n borderWidth: 3,\n borderStyle: 'solid',\n borderColor: white,\n background: white,\n color: primary,\n ':hover': {\n borderWidth: 3,\n borderStyle: 'solid',\n borderColor: primaryLight,\n background: primaryLight,\n color: primary,\n },\n ':focus-visible': {\n outlineColor: white,\n },\n };\n case 'text-error':\n return {\n borderWidth: 3,\n borderStyle: 'solid',\n borderColor: 'transparent',\n background: 'transparent',\n color: error,\n ':hover': {\n borderWidth: 3,\n borderStyle: 'solid',\n borderColor: error,\n background: error,\n color: white,\n },\n ':focus-visible': {\n outlineColor: 'transparent',\n },\n };\n default:\n return {};\n }\n};\n\nconst Button = styled.button<ButtonProps>`\n &&& {\n border: 3px solid white;\n border-radius: ${props => props.size && sizes[props.size] ? sizes[props.size].borderRadius : '4px'};\n background: ${({ secondary, cta, ...props }) => \n secondary ? \"transparent\" : \n cta ? getThemeColor(props, 'cta', colors.cta) : getThemeColor(props, 'primary', colors.teal.main)\n };\n color: ${props => props.secondary ? getThemeColor(props, 'primary', colors.primary) : \"white\"};\n border-color: ${props => props.cta ? getThemeColor(props, 'cta', colors.cta) : getThemeColor(props, 'primary', colors.teal.main)};\n font-size: ${getSizeStyle('font-size', '1rem')};\n line-height: ${getSizeStyle('line-height', '1.5rem')};\n padding: ${p => getSizeStyle('padding', '12px 25px')};\n font-family: ${getSizeStyle('font-family', \"'skufont-demibold', sans-serif\")};\n cursor: pointer;\n vertical-align: top;\n /*\n &:focus {\n outline: none;\n opacity: .9;\n box-shadow: 0 0 8px ${({ secondary, cta, ...props }) => \n secondary ? getThemeColor(props, 'primary', colors.primary): \n cta ? getThemeColor(props, 'cta', colors.cta) : getThemeColor(props, 'primary', colors.primary)\n };\n }\n */\n &:disabled {\n background-color: ${props => getThemeColor(props, 'disabledButton', colors.disabledButton)};\n border-color: ${props => getThemeColor(props, 'disabledButtonBorder', colors.disabledButtonBorder)};\n color: ${props => getThemeColor(props, 'primary', colors.primary)};\n cursor: default;\n opacity: 0.5;\n }\n ${p => getVariantStyles(p, p.variant || 'primary')}\n ${SharedStyles}\n ${SizerCss}\n }\n`;\n\nexport const ButtonsGroup = styled.div<SharedStyleTypes & SizerTypes>`\n &&& {\n display: inline-block;\n max-width: 100%;\n margin-bottom: 10px;\n margin-right: 100px;\n ${SharedStyles}\n ${SizerCss}\n }\n`;\n\nconst presets: {[key: string]: IconButtonProps} = {\n edit: {\n size: \"medium\",\n Icon: EditIcon,\n variant: \"primary\"\n },\n delete: {\n Icon: TrashIcon, \n variant: 'error'\n },\n add: {\n Icon: AddIcon,\n variant: 'secondary'\n },\n remove: {\n Icon: SubtractIcon,\n variant: 'secondary'\n },\n close: {\n Icon: XIcon,\n variant: 'secondary'\n },\n drag: {\n Icon: DragIcon,\n variant: 'text',\n style: {\n cursor: 'grab',\n }\n }\n};\n\nfunction getPropsByPresets(props: IconButtonProps, preset?: ButtonPreset) {\n\n const presetProps = get(presets, [preset || \"\"]) || {};\n return { ...presetProps, ...props }\n}\n\ntype IconFuncProps = { color: string; [key: string]: any };\nexport type TButtonIcon = ((props: IconFuncProps) => React.ReactElement);\nexport type IconButtonProps = React.PropsWithChildren<ButtonProps & {\n Icon?: TButtonIcon | React.ReactElement<IconFuncProps>;\n iconProps?: {[key: string]: any};\n iconPosition?: 'left' | 'right' | 'top' | 'bottom';\n preset?: ButtonPreset;\n style?: React.CSSProperties;\n}> & React.ButtonHTMLAttributes<HTMLButtonElement>;\nexport const IconButton = React.forwardRef<HTMLButtonElement, IconButtonProps>((props, ref) => {\n const {\n Icon,\n children,\n iconPosition='left',\n size=\"medium\",\n iconProps={},\n ...newProps\n } = getPropsByPresets(props, props.preset);\n const [hovering, setHovering] = useState(false);\n\n const variantStyles = React.useMemo(() => {\n return newProps.variant\n ? getVariantStyles(props, newProps.variant)\n : { color: '#fff' };\n }, [newProps, props]);\n\n const hasChildren = (\n (children && children !== null && children !== undefined)\n || (children && Array.isArray(children) && children.length > 0\n && children[0] !== null && children[0] !== undefined)\n );\n\n const buttonPadding = !hasChildren\n ? getSizeStyle('iconOnlyPadding', '12px')\n : getSizeStyle('padding', '12px');\n\n return (\n <Button\n ref={ref}\n size={size}\n {...newProps}\n style={{\n ...(newProps.style || {}),\n padding: buttonPadding({ ...newProps, size: size }),\n ...(iconPosition === \"top\" || iconPosition === \"bottom\" ? {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n\n } : {}),\n }}\n onMouseOver={() => setHovering(true)}\n onMouseLeave={() => setHovering(false)}\n >\n {['left', 'top'].includes(iconPosition) && <ButtonIcon\n Icon={Icon}\n size={size}\n variantStyles={variantStyles}\n iconProps={iconProps}\n iconPosition={iconPosition}\n hasChildren={!!hasChildren}\n isHovering={hovering}\n />}\n {children}\n {['right', 'bottom'].includes(iconPosition) && <ButtonIcon\n Icon={Icon}\n size={size}\n variantStyles={variantStyles}\n iconProps={iconProps}\n iconPosition={iconPosition}\n hasChildren={!!hasChildren}\n isHovering={hovering}\n />}\n </Button>\n );\n});\n\ntype ButtonIconProps = {\n Icon?: TButtonIcon | React.ReactElement<IconFuncProps>;\n iconProps?: {[key: string]: any};\n iconPosition?: 'left' | 'right' | 'top' | 'bottom';\n size?: TSize;\n variantStyles: CSSObject;\n hasChildren?: boolean;\n isHovering?: boolean;\n};\nconst ButtonIcon = React.forwardRef<SVGElement, ButtonIconProps>((props, ref) => {\n const {\n Icon,\n size,\n variantStyles,\n iconProps={},\n iconPosition,\n hasChildren,\n isHovering,\n } = props;\n if (!Icon) { return null; }\n\n let btnSize = \"small\";\n if (size !== \"tiny\" && size !== \"small\") {\n btnSize = \"medium\";\n }\n const hoverColor = get(variantStyles, [':hover', 'color']) || '';\n const iconNewProps = {\n ...iconProps,\n size: btnSize,\n color: hoverColor && isHovering ? hoverColor : (iconProps?.color || variantStyles.color || '#fff'),\n style: {\n verticalAlign: 'top',\n paddingRight: hasChildren && iconPosition === \"left\" ? '5px' : '0px',\n paddingLeft: hasChildren && iconPosition === \"right\" ? '5px' : '0px',\n boxSizing: 'content-box',\n ...(iconProps?.style || {}),\n },\n };\n\n if (typeof Icon !== 'function') {\n return React.cloneElement(Icon, iconNewProps);\n }\n\n return (\n <Icon {...iconNewProps} ref={ref} />\n );\n});\n\nexport {Button};\n","import styled from 'styled-components'\nimport { getThemeColor } from './Theme';\nimport { SharedStyles, SharedStyleTypes } from './SharedStyles';\n\nconst Label = styled.label<{error?: boolean} & SharedStyleTypes>`\n &&& {\n font-family: 'skufont-medium', sans-serif;\n color: ${props => props.error ? getThemeColor(props, 'special3') : getThemeColor(props, 'textlabel')};\n font-size: 1rem;\n font-weight: 400;\n width: 100%;\n ${SharedStyles}\n }\n`;\n\nexport {Label};\n","import { map } from 'lodash';\nimport React, { useState, useRef, CSSProperties, useEffect } from 'react'\nimport styled, { CSSObject, StyledComponent } from 'styled-components'\nimport { getThemeColor, colors, fontStyles } from './Theme';\nimport { SharedStyles, SharedStyleTypes } from './SharedStyles';\nimport {Label} from './Label'\nimport { document } from '../utils';\nimport { RadioIcon, CheckboxIcon } from './icons';\nimport { neutrals, teal } from './colors';\nimport { RadioIconProps } from './icons/RadioIcon';\nimport { CheckboxIconProps } from './icons/CheckboxIcon';\n\ntype CommonInputProp = {\n noMargin?: boolean,\n error?:boolean,\n};\n\ntype BaseInputProps = CommonInputProp\n & { hasIcon?: boolean; }\n & SharedStyleTypes;\nexport type InputProps = BaseInputProps\n & React.InputHTMLAttributes<HTMLInputElement>;\n\ntype BaseInputIconLabelProps = CommonInputProp & {\n isActive?: boolean;\n isDisabled?: boolean;\n isHover?: boolean;\n iconPosition?: 'left' | 'right';\n};\n\nexport const InputIconLabel = styled.div<BaseInputIconLabelProps>`\n&&& {\n box-sizing: border-box;\n width: 40px;\n height: ${p => p.error ? 38 : 36}px;\n background-color: ${p =>\n p.error\n ? getThemeColor(p, 'errors.main', colors.errors.main)\n : getThemeColor(p, 'input.iconWrapper.background', colors.input.iconWrapper.background)\n };\n border-radius: ${p => p.iconPosition === 'right' ? '0 3px 3px 0' : '3px 0 0 3px'};\n margin-bottom: 1rem;\n color: white;\n font-size: 18px;\n text-align: center;\n line-height: 1.5rem;\n padding: 6px;\n\n :hover {\n background: ${p => getThemeColor(p, 'input.iconWrapper.hover.background')};\n }\n\n ${p => p.isHover\n ? `background: ${getThemeColor(p, 'input.iconWrapper.hover.background')};`\n : ''}\n\n ${p => p.isActive\n ? `background: ${getThemeColor(p, 'input.iconWrapper.active.background')};`\n : ''}\n\n ${p => p.isDisabled\n ? `background: ${getThemeColor(p, 'input.iconWrapper.disabled.background')};`\n : ''}\n}\n`\n\nexport const InputIconLabelContainer = styled.div`\n display: flex;\n justify-content: flex-start;\n align-items: center;\n\n ${p => {\n return {\n fontSize: '1rem',\n fontFamily: \"'skufont-regular', sans-serif\",\n boxSizing: 'border-box',\n backgroundColor: getThemeColor(p, 'input.background'),\n boxShadow: 'inset 0 1px 2px rgba(0, 0, 0, 0.1)',\n width: '100%',\n border: `1px solid ${getThemeColor(p, 'input.border')}`,\n borderRadius: 5,\n padding: 0,\n color: getThemeColor(p, 'input.text'),\n ':hover': {\n borderColor: getThemeColor(p, 'input.hover.border'),\n },\n };\n }}\n`\n\nexport const Input = styled.input<BaseInputProps>`\n &&& {\n ${p => {\n const styles: CSSObject = {\n marginBottom: p.noMargin ? 0 : \"1rem\",\n fontSize: '1rem',\n fontFamily: \"'skufont-regular', sans-serif\",\n boxSizing: 'border-box',\n backgroundColor: getThemeColor(p, 'input.background'),\n boxShadow: 'inset 0 1px 2px rgba(0, 0, 0, 0.1)',\n width: '100%',\n border: `1px solid ${getThemeColor(p, 'input.border')}`,\n borderRadius: 5,\n padding: '8px 8px 8px 8px',\n color: getThemeColor(p, 'input.text'),\n \"::placeholder\": {\n color: getThemeColor(p, 'input.placeholder'),\n },\n ':hover': p.disabled ? undefined : {\n borderColor: getThemeColor(p, 'input.hover.border'),\n \"::placeholder\": {\n color: getThemeColor(p, 'input.hover.placeholder'),\n },\n },\n ':focus': {\n borderColor: getThemeColor(p, 'input.active.border'),\n color: getThemeColor(p, 'input.active.text'),\n outline: 'none',\n boxShadow: `1px 1px 0px ${getThemeColor(p, 'input.active.border')},\n -1px -1px 0px ${getThemeColor(p, 'input.active.border')},\n 1px -1px 0px ${getThemeColor(p, 'input.active.border')},\n -1px 1px 0px ${getThemeColor(p, 'input.active.border')};`,\n },\n ':disabled': {\n border: 'none',\n boxShadow: 'none',\n outline: 'none',\n color: getThemeColor(p, 'input.disabled.text'),\n backgroundColor: getThemeColor(p, 'input.disabled.background'),\n },\n };\n\n if (p.error) {\n styles['borderColor'] = getThemeColor(p, 'input.error.border');\n styles[':hover'] = {\n ...(styles[':hover'] || {}),\n borderColor: getThemeColor(p, 'input.error.border'),\n };\n styles[':focus'] = {\n color: getThemeColor(p, 'input.active.text'),\n outline: 'none',\n borderColor: getThemeColor(p, 'input.error.border'),\n boxShadow: `1px 1px 0px ${getThemeColor(p, 'input.error.border')},\n -1px -1px 0px ${getThemeColor(p, 'input.error.border')},\n 1px -1px 0px ${getThemeColor(p, 'input.error.border')},\n -1px 1px 0px ${getThemeColor(p, 'input.error.border')}`,\n }\n }\n\n if (p.hasIcon) {\n styles['border'] = 'none';\n styles['borderColor'] = 'none';\n styles['boxShadow'] = 'none';\n styles['outline'] = 'none';\n styles[':focus'] = undefined;\n styles[':hover'] = undefined;\n }\n\n return styles;\n }}\n }\n ${SharedStyles}\n`;\n\n\ntype BaseLabelInputProps = InputProps & {\n label: string,\n name?: string,\n labelOnTop?: boolean,\n wrapperProps?: React.HTMLAttributes<HTMLDivElement>,\n} & SharedStyleTypes;\ntype LabeledInputPropType = React.InputHTMLAttributes<HTMLInputElement> & BaseLabelInputProps;\nexport const LabeledInput =\n React.forwardRef<HTMLInputElement, LabeledInputPropType>(\n ({label, name, required, labelOnTop=false, wrapperProps={}, ...props}, ref) => (\n <div {...wrapperProps}>\n <Label\n htmlFor={name}\n style={{\n ...(!labelOnTop ? {} : {display: 'block'}),\n fontFamily: \"'skufont-medium', sans-serif\",\n lineHeight: '24px',\n fontSize: '16px',\n color: getThemeColor(props, 'neutrals.100'),\n }}\n >{label} {required && '*'}</Label>\n <Input ref={ref} name={name} required={required} {...props}></Input>\n </div>\n )\n );\n\ntype BaseLabeledIconInputProps = InputProps & {\n label?: string,\n name?: string,\n labelOnTop?: boolean,\n Icon: React.ReactElement,\n iconPosition?: 'left' | 'right',\n iconLabelStyles?: React.CSSProperties,\n} & SharedStyleTypes;\ntype LabeledIconInputProps = React.InputHTMLAttributes<HTMLInputElement> & BaseLabeledIconInputProps;\nexport const LabeledIconInput = React.forwardRef<HTMLInputElement, LabeledIconInputProps>(\n (\n {\n label,\n name,\n value,\n defaultValue,\n placeholder,\n required,\n labelOnTop=false,\n Icon,\n noMargin,\n error,\n disabled,\n onFocus,\n onChange,\n onBlur,\n iconPosition = 'left',\n iconLabelStyles = {},\n ...props\n },\n ref\n ) => {\n const containerRef = useRef<HTMLDivElement>(null);\n const [isActive, setIsActive] = useState(false);\n const [isHovering, setIsHovering] = useState(false);\n\n const activeBorderColor = getThemeColor(props, 'input.active.border', colors.input.active.border);\n const activeTextColor = colors.input.active.text;\n const errorBorderColor = getThemeColor(props, 'input.error.border', colors.input.error.border);\n const disabledBackground = colors.input.disabled.background;\n const disabledTextColor = colors.input.disabled.text;\n const activeStyles = !isActive ? {} : {\n borderColor: error ? errorBorderColor : activeBorderColor,\n color: getThemeColor(props, 'input.active.text', activeTextColor),\n outline: 'none',\n boxShadow: `1px 1px 0px ${error ? errorBorderColor : activeBorderColor},\n -1px -1px 0px ${error ? errorBorderColor : activeBorderColor},\n 1px -1px 0px ${error ? errorBorderColor : activeBorderColor},\n -1px 1px 0px ${error ? errorBorderColor : activeBorderColor}`,\n };\n const errorStyles = !error ? {} : {\n borderColor: errorBorderColor,\n };\n const disabledStyles = !disabled ? {} : {\n border: 'none',\n borderColor: 'none',\n boxShadow: 'none',\n outline: 'none',\n color: getThemeColor(props, 'input.disabled.text', disabledTextColor),\n backgroundColor: getThemeColor(props, 'input.disabled.background', disabledBackground),\n };\n\n const NewIcon = React.useMemo(() => {\n const iconProps = {\n fill: '#fff',\n color: '#fff',\n };\n if (error) {\n iconProps['fill'] = errorBorderColor;\n iconProps['color'] = errorBorderColor;\n } else if (disabled) {\n iconProps['fill'] = colors.input.icon.disabled.fill;\n iconProps['color'] = colors.input.icon.disabled.fill;\n } else if (isHovering) {\n iconProps['fill'] = colors.input.icon.hover.fill;\n iconProps['color'] = colors.input.icon.hover.fill;\n } else if (isActive) {\n iconProps['fill'] = colors.input.icon.active.fill;\n iconProps['color'] = colors.input.icon.active.fill;\n }\n return React.cloneElement(Icon, iconProps);\n }, [Icon, error, disabled, errorBorderColor, isActive, isHovering]);\n\n const onClickOutside = (e: Event) => {\n if (containerRef.current && !containerRef.current.contains(e.target as Node)) {\n setIsActive(false);\n }\n };\n\n useEffect(() => {\n document.addEventListener('click', onClickOutside);\n\n return () => {\n document.removeEventListener('click', onClickOutside);\n };\n }, []);\n\n return (\n <div>\n {label ? <Label\n htmlFor={name}\n style={{\n ...(!labelOnTop ? {} : {display: 'block'}),\n fontFamily: \"'skufont-medium', sans-serif\",\n lineHeight: '24px',\n fontSize: '16px',\n color: getThemeColor(props, 'neutrals.100'),\n }}\n >{label} {required && '*'}</Label> : null}\n <InputIconLabelContainer\n {...props}\n ref={containerRef}\n onClick={() => {\n if (isActive) { return; }\n setIsActive(!isActive);\n }}\n style={{\n ...activeStyles,\n ...errorStyles,\n ...disabledStyles,\n ...(props.style || {}),\n }}\n onMouseOver={() => setIsHovering(true)}\n onMouseLeave={() => setIsHovering(false)}\n >\n {iconPosition !== 'right' ? <InputIconLabel\n style={{ marginBottom: 0, ...iconLabelStyles }}\n isActive={isActive}\n isDisabled={disabled}\n isHover={isHovering}\n >{NewIcon}</InputIconLabel> : null}\n <Input\n hasIcon\n ref={ref}\n name={name}\n value={value}\n defaultValue={defaultValue}\n placeholder={placeholder}\n required={required}\n style={{ marginBottom: 0, }}\n noMargin={noMargin}\n error={error}\n disabled={disabled}\n onFocus={onFocus}\n onChange={onChange}\n onBlur={onBlur}\n />\n {iconPosition === 'right' ? <InputIconLabel\n style={{ marginBottom: 0, padding: 6, }}\n isActive={isActive}\n isDisabled={disabled}\n isHover={isHovering}\n iconPosition={iconPosition}\n >{NewIcon}</InputIconLabel> : null}\n </InputIconLabelContainer>\n </div>\n );\n }\n);\n\nexport const CheckboxLabel = styled.label<{disabled?: boolean}>`\n &&& {\n display: inline-flex;\n position: relative;\n margin-bottom: 12px;\n margin-right: 24px;\n cursor: ${props => props.disabled ? 'default' : 'pointer'};\n font-size: ${fontStyles.label.fontSize};\n color: ${neutrals.darkest};\n font-family: ${fontStyles.label.fontFamily};\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n font-weight: normal;\n line-height: ${fontStyles.label.lineHeight};\n box-sizing: border-box;\n opacity: ${(props) => props.disabled ? 0.7 : 1};\n &:focus {\n outline: 0;\n }\n }\n`;\n\nexport const RadioLabel = styled(CheckboxLabel)`\n &&& {\n padding-left: 32px;\n }\n`;\n\ntype BaseRadioProps = {isHovering?: boolean};\nexport type RadioProps = React.InputHTMLAttributes<HTMLInputElement> & BaseRadioProps;\nexport const Radio = styled.input<BaseRadioProps>`\n &&& {\n position: absolute;\n opacity: 0;\n cursor: pointer;\n box-sizing: border-box;\n &:focus {\n outline: 0;\n }\n &:checked {\n background-color: white;\n display: block;\n }\n &:hover {\n background-color: #02c0da;\n }\n ${props => props.isHovering && `background-color: #02c0da;`}\n ${SharedStyles}\n }\n`;\n\nexport const CheckMark = styled.span<{checked?: boolean, isHovering?: boolean, disabled?: boolean}&SharedStyleTypes>`\n position: absolute;\n top: 0;\n left: 0;\n height: 23px;\n width: 23px;\n background-color: ${(props) => ((props.isHovering || props.checked) && !props.disabled) ? '#02c0da' : 'white'};\n opacity: ${(props) => props.disabled ? 0.7 : 1};\n filter: ${(props) => props.disabled ? \"grayscale(100%)\" : \"none\"};\n border: 2px solid #02c0da;\n border-radius: 4px;\n box-sizing: border-box;\n &:focus {\n outline: 0;\n }\n &:hover {\n background-color: ${(props) => props.disabled ? \"white\" : \"#02c0da\"};\n }\n &::after {\n content: \"\";\n position: absolute;\n left: 9px;\n top: 5px;\n width: 5px;\n height: 10px;\n border: solid white;\n border-width: 0 3px 3px 0;\n -webkit-transform: rotate(45deg);\n -ms-transform: rotate(45deg);\n transform: rotate(45deg);\n box-sizing: border-box;\n display: ${(props) => props.checked ? 'block' : 'none'};\n }\n ${SharedStyles}\n`\n\nexport const Dot = styled.span<{checked?: boolean, isHovering?: boolean, disabled?: boolean}&SharedStyleTypes>`\n &&& {\n position: absolute;\n top: 0;\n left: 0;\n height: 23px;\n width: 23px;\n opacity: ${(props) => props.disabled ? 0.7 : 1};\n filter: ${(props) => props.disabled ? \"grayscale(100%)\" : \"none\"};\n background-color: ${(props) => (props.isHovering && !props.checked && !props.disabled) ? '#02c0da' : 'white'};\n border: 2px solid #02c0da;\n border-radius: 50%;\n box-sizing: border-box;\n &:focus {\n outline: 0;\n }\n &:hover {\n background-color: ${(props) => !props.checked && !props.disabled ? '#02c0da' : 'white'};\n }\n &::after {\n top: 5px;\n left: 5px;\n width: 9px;\n height: 9px;\n border-radius: 50%;\n background: #02c0da;\n content: \"\";\n position: absolute;\n display: none;\n ${(props) => props.checked && `display: block;`}\n }\n ${SharedStyles}\n`;\n\nDot.defaultProps = {\n checked: false,\n}\n\nCheckMark.defaultProps = {\n checked: false,\n}\n\nexport type LabeledRadioProps = RadioProps & {\n label: string;\n labelStyle?: React.CSSProperties;\n radioIconStyle?: React.CSSProperties;\n radioColor?: string;\n radioHoverColor?: string;\n labelProps?: React.LabelHTMLAttributes<HTMLLabelElement>;\n radioIconProps?: RadioIconProps;\n};\n\nexport const LabeledRadio: React.FC<LabeledRadioProps> = ({ \n label,\n name,\n checked,\n disabled,\n labelStyle,\n radioIconStyle,\n radioColor,\n radioHoverColor,\n onChange,\n labelProps={},\n radioIconProps={},\n ...props \n}) => {\n const [ isHovering, updateHover ] = useState(false);\n const radio = useRef<HTMLInputElement>(null);\n\n return (\n <RadioLabel\n {...labelProps}\n htmlFor={name}\n onMouseOver={(e) => updateHover(true)}\n onMouseLeave={(e) => updateHover(false)}\n disabled={disabled}\n style={{...labelStyle, ...(labelProps.style || {})}}\n onClick={() => {\n radio.current?.click();\n }}\n >\n <RadioIcon \n {...radioIconProps}\n selected={checked} \n hover={isHovering} \n disabled={disabled} \n color={radioColor}\n hoverColor={radioHoverColor}\n mr={8} \n style={{\n ...(radioIconProps.style || {}),\n ...(radioIconStyle ? radioIconStyle : {position: 'absolute', left: 0}),\n }}/>\n {label}\n <Radio ref={radio} name={name} type=\"radio\" checked={checked} isHovering={isHovering} onChange={disabled? undefined : onChange} {...props} />\n </RadioLabel>\n );\n}\n\nexport const LabeledRadioInButton: React.FC<LabeledRadioProps & {flexGrow?: boolean} > = ({ \n label,\n name,\n checked,\n disabled,\n labelStyle,\n radioIconStyle,\n flexGrow,\n onChange,\n ...props \n}) => {\n return(\n <LabeledRadio \n label={label}\n checked={checked}\n disabled={disabled}\n onChange={onChange}\n labelStyle={{\n padding: \"13px 40px\",\n backgroundColor: disabled ? neutrals['40'] : checked ? colors.white : teal['20'],\n border: disabled ? `solid 3px ${neutrals['40']}` : checked ? `solid 3px ${teal.main}` : `solid 3px ${teal['20']}`,\n borderRadius: \"200px\",\n color: disabled ? neutrals['70'] : teal.main,\n flexGrow: flexGrow ? 1 : undefined, \n justifyContent: 'center',\n }}\n radioIconStyle={{\n }}\n />\n )\n}\n\nexport const LabeledRadioGroup: React.FC<LabeledRadioProps & {name: string, radios: [{label: string, value: any}]}> = ({ \n name, value, radios, onChange, ...props \n}) => {\n return <>\n {map(radios, (radioProps, i) => {\n return <LabeledRadio key={i} name={name} checked={value === radioProps.value} onChange={onChange} \n {...radioProps}\n />\n })}\n </>\n}\n\nexport const LabeledRadioInButtonGroup: React.FC<LabeledRadioProps & {name: string, radios: [{label: string, value: any}]}> = ({ \n name, value, radios, onChange, ...props \n}) => {\n return <>\n {map(radios, (radioProps, i) => {\n return <LabeledRadioInButton key={i} name={name} checked={value === radioProps.value} onChange={onChange} \n {...radioProps}\n />\n })}\n </>\n}\n\nexport type LabeledCheckboxProps = {\n checked?: boolean;\n disabled?: boolean;\n label: string|React.ReactNode;\n name?: string;\n labelStyle?: CSSProperties;\n checkboxStyle?: React.CSSProperties;\n checkboxColor?: string;\n checkboxHoverColor?: string;\n hoverByLabel?: boolean;\n stopPropagation?: boolean;\n labelProps?: React.LabelHTMLAttributes<HTMLLabelElement>;\n checkboxIconProps?: CheckboxIconProps;\n [key: string]: any;\n} & React.InputHTMLAttributes<HTMLInputElement>;\n\nexport const LabeledCheckbox: React.ForwardRefExoticComponent<LabeledCheckboxProps> =\n React.forwardRef<HTMLInputElement, LabeledCheckboxProps>((\n {\n label,\n name,\n checked,\n disabled,\n indeterminate,\n onChange,\n checkboxColor,\n checkboxHoverColor,\n labelStyle={},\n checkboxStyle={},\n hoverByLabel=true,\n stopPropagation=false,\n labelProps={},\n checkboxIconProps={},\n ...props\n },\n ref\n ) => {\n const [isHovering, updateHover] = useState(false);\n\n const onMouseOver = (e: React.MouseEvent<HTMLLabelElement, MouseEvent>) => updateHover(true);\n const onMouseLeave = (e: React.MouseEvent<HTMLLabelElement, MouseEvent>) => updateHover(false);\n\n return (\n <CheckboxLabel\n htmlFor={name}\n onMouseOver={hoverByLabel ? onMouseOver : undefined}\n onMouseLeave={hoverByLabel ? onMouseLeave : undefined}\n disabled={disabled}\n {...labelProps}\n style={labelStyle}\n >\n <CheckboxIcon \n {...checkboxIconProps}\n hover={isHovering} \n selected={checked} \n disabled={disabled} \n color={checkboxColor} \n hoverColor={checkboxHoverColor} \n indeterminate={indeterminate}\n mr={8}\n style={{...checkboxStyle}}\n />\n {label}\n <Radio ref={ref} name={name} type=\"checkbox\" checked={checked} isHovering={isHovering} onChange={disabled? undefined : onChange} {...props} />\n </CheckboxLabel>\n );\n });\n","import styled from 'styled-components'\nimport { SharedStyles, SharedStyleTypes } from './SharedStyles';\n\nconst Padding = styled.div<SharedStyleTypes>`\n padding: 20px;\n ${SharedStyles}\n`;\n\nexport {Padding};\n","import styled from 'styled-components'\nimport React from 'react'\nimport { SharedStyles, SharedStyleTypes } from './SharedStyles';\n\n/* \n\n Styles common for every commonsku page\n\n*/\n\nconst StyledPage = styled.div<SharedStyleTypes>`\n font-family: 'skufont-regular', sans-serif;\n ${SharedStyles}\n`;\n\nfunction Page (props: React.PropsWithChildren<SharedStyleTypes>) {\n return <StyledPage {...props}>\n {props.children}\n </StyledPage>\n}\n\nexport {Page};\n","import { toNumber } from 'lodash';\nimport React from 'react';\nimport styled from 'styled-components'\nimport { colors, fonts, getThemeColor } from './Theme';\nimport { SharedStyles, SharedStyleTypes } from './SharedStyles';\n\nexport type TextProp = {\n color?: keyof typeof colors;\n bold?: boolean;\n} & SharedStyleTypes;\nexport const Text = styled.span<TextProp>`\n font-family: ${fonts.join(', ')};\n ${p => p.bold ? ({ fontWeight: 'bold' }) : ({})}\n color: ${props => getThemeColor(props, props.color ?? 'textbody', 'textbody') || 'textbody'};\n background-color: ${props => props.bg ? getThemeColor(props, `${props.color || 'transparent'}Bg`, 'transparent') : 'transparent'};\n border-radius: ${props => props.bg ? '5px' : '0px'};\n padding: ${props => props.bg ? '5px' : '0px'};\n ${SharedStyles}\n`;\ntype TextProps = React.ComponentProps<typeof Text>;\n\nconst _Link: React.FC<{highlight?: boolean} & TextProps & SharedStyleTypes> = ({ highlight, ...props }) => {\n return <Text color={highlight ? 'special2' : 'primary'} {...props}/>;\n}\nexport const Link = styled(_Link)`\n cursor: pointer;\n ${SharedStyles}\n`;\n\nfunction numberWithCommas(num: string) {\n return num.replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,')\n}\n\nexport const Number: React.FC<{num: number, commas?: boolean, decimalPoints?:number} & SharedStyleTypes> = ({\n num, commas, decimalPoints = 2, ...props\n}) => {\n let fixedNum = (toNumber(num) || 0).toFixed(decimalPoints)\n return <span {...props}>\n { commas ? numberWithCommas(fixedNum) : fixedNum }\n </span>\n}","import styled from 'styled-components'\nimport React from 'react'\nimport { SharedStyles, SharedStyleTypes } from './SharedStyles'\nimport {Text, Number} from './Text'\n\n\nconst ProgressWrapper = styled.div<SharedStyleTypes>`\n max-width: 100%;\n width: 100%;\n height: 20px;\n background: #ECF4F7;\n ${SharedStyles}\n`\ntype ProgressBarProps = React.PropsWithChildren<{value: number, max: number, error?: string} & SharedStyleTypes>;\n\nconst ProgressBar = styled.div<ProgressBarProps>`\n max-width: 100%;\n width: ${props => 100 * props.value / props.max}%;\n height: 100%;\n background: ${props => props.error ? \"#B21154\" : \"#00d374\"};\n`\n\nconst Progress = (props: ProgressBarProps) => {\n const val = typeof props.value === 'number'\n ? props.value\n : !isNaN(props.value) ? parseInt(props.value) : 0;\n const max = typeof props.max === 'number'\n ? props.max\n : !isNaN(props.max) ? parseInt(props.max) : 0;\n\n return <ProgressWrapper {...props}>\n <ProgressBar value={val < max ? val : max} max={max} error={props.error} />\n {props.error ? <Text color=\"error\" bold>{props.error}</Text> : null}\n </ProgressWrapper>\n}\n\nconst LabeledProgress = (props: ProgressBarProps) => {\n return <div>\n <strong>\n <span style={{ color: \"#00a259\" }}>\n $<Number commas decimalPoints={0} num={props.value}/>\n </span>\n </strong> / $<Number commas decimalPoints={0} num={props.max}/> \n <br />\n <Progress value={props.value} max={props.max} error={props.error}/>\n </div>\n}\n\nexport { Progress, LabeledProgress };\n","import React from 'react'\nimport BaseSelect, { Props as SelectProps, Styles, Theme, components, createFilter, mergeStyles } from 'react-select'\nimport BaseCreatableSelect, { Props as CreatableSelectProps, makeCreatableSelect } from 'react-select/creatable'\nimport BaseAsyncSelect, { Props as AsyncSelectProps } from 'react-select/async'\nimport { getThemeColor, colors } from './Theme';\nimport {Label} from './Label'\nimport { document } from '../utils';\n\ntype AdditionalSKUSelectProps = {\n noMargin?: boolean,\n error?: boolean,\n menuRelative?: boolean, // fix for scroll menu inside scroll container like popup\n inPopup?:boolean,\n}\n\ntype GenericObject = {[key: string]: any;};\ntype SKUSelectProps = AdditionalSKUSelectProps & SelectProps\ntype SKUAsyncSelectProps = AdditionalSKUSelectProps & AsyncSelectProps<GenericObject>\ntype SKUCreatableSelectProps = AdditionalSKUSelectProps & CreatableSelectProps<GenericObject>\n\ntype SKUSelectStylesProps = SKUSelectProps\n | SKUAsyncSelectProps\n | SKUCreatableSelectProps\n\nconst popupStyles = {\n menuPlacement: 'auto',\n menuPosition: 'fixed',\n menuPortalTarget: document.body,\n}\n\nfunction skuSelectStyles(props: SKUSelectStylesProps): Styles {\n return {\n clearIndicator: (provided, state) => {\n return {\n ...provided,\n color: getThemeColor(props, 'select.clearIcon.color', colors.select.clearIcon.color),\n ':hover': {\n color: getThemeColor(props, 'select.clearIcon.color', colors.select.clearIcon.color),\n },\n };\n },\n dropdownIndicator: (provided, state) => {\n const styles = {\n color: props.error\n ? getThemeColor(props, 'select.dropdownIcon.error.color', colors.select.dropdownIcon.error.color)\n : getThemeColor(props, 'select.dropdownIcon.color', colors.select.dropdownIcon.color),\n ':hover': {\n color: props.error\n ? getThemeColor(props, 'select.dropdownIcon.error.color', colors.select.dropdownIcon.error.color)\n : getThemeColor(props, 'select.dropdownIcon.color', colors.select.dropdownIcon.color),\n },\n };\n if (state.isDisabled) {\n styles['color'] = getThemeColor(props, 'select.dropdownIcon.disabled', colors.select.dropdownIcon.disabled);\n }\n return {\n ...provided,\n ...styles,\n };\n },\n indicatorSeparator: (provided, state) => ({\n ...provided,\n display: 'none'\n }),\n\n option: (provided, state) => {\n let optionStyle = {};\n if (state.data && state.data.styles) {\n optionStyle = state.data.styles;\n }\n return ({\n ...provided,\n ...optionStyle,\n borderBottom: 'none',\n padding: 10,\n });\n },\n input: (provided, state) => {\n return {\n ...provided,\n height: 'auto',\n borderColor: props.error\n ? getThemeColor(props, 'select.error.border', colors.select.error.border)\n : getThemeColor(props, 'select.border', colors.select.border)\n }},\n control: (provided, state) => {\n const styles: React.CSSProperties = {\n marginBottom: (props.noMargin ? 0 : '1rem'),\n };\n\n if (state.menuIsOpen && state.isFocused) {\n styles['borderWidth'] = '1px';\n styles['borderStyle'] = 'solid';\n styles['borderColor'] = props.error\n ? getThemeColor(props, 'select.error.border', colors.select.error.border)\n : getThemeColor(props, 'select.active.border', colors.select.active.border);\n styles['boxShadow'] = `\n 1px 1px 0px ${styles['borderColor']},\n -1px -1px 0px ${styles['borderColor']},\n 1px -1px 0px ${styles['borderColor']},\n -1px 1px 0px ${styles['borderColor']}\n `;\n\n if (state.selectProps.menuPlacement === 'bottom') {\n styles['borderBottomRightRadius'] = 0;\n styles['borderBottomLeftRadius'] = 0;\n } else if (state.selectProps.menuPlacement === 'top') {\n styles['borderTopRightRadius'] = 0;\n styles['borderTopLeftRadius'] = 0;\n }\n }\n else if (!state.menuIsOpen && state.isFocused) {\n styles['borderWidth'] = '1px';\n styles['borderColor'] = props.error\n ? getThemeColor(props, 'select.error.border', colors.select.error.border)\n : getThemeColor(props, 'select.active.border', colors.select.active.border);\n styles['boxShadow'] = `0 0 0 1px ${\n props.error\n ? getThemeColor(props, 'select.error.border', colors.select.error.border)\n : getThemeColor(props, 'select.active.border', colors.select.active.border)\n }`;\n }\n else if (state.isDisabled) {\n styles['backgroundColor'] = getThemeColor(props, 'select.disabled.background', colors.select.disabled.background);\n styles['borderColor'] = getThemeColor(props, 'select.disabled.border', colors.select.disabled.border);\n }\n else {\n styles['borderColor'] = props.error\n ? getThemeColor(props, 'select.error.border', colors.select.error.border)\n : provided.borderColor;\n }\n return ({\n ...provided,\n ...styles,\n ':hover': {\n borderColor: props.error\n ? getThemeColor(props, 'select.error.border', colors.select.error.border)\n : getThemeColor(props, 'select.active.border', colors.select.active.border),\n },\n });\n },\n menu: (provided, state) => {\n const borderColor = props.error\n ? getThemeColor(props, 'select.error.border', colors.select.error.border)\n : getThemeColor(props, 'select.active.border', colors.select.active.border);\n const styles: React.CSSProperties = {\n zIndex: 10,\n position: props.menuRelative ? 'relative' : provided.position,\n borderRadius: '5px',\n border: `1px solid ${borderColor}`,\n boxShadow: `\n 1px 1px 0px ${borderColor},\n -1px -1px 0px ${borderColor},\n 1px -1px 0px ${borderColor},\n -1px 1px 0px ${borderColor}\n `\n };\n\n if (state.selectProps.menuPlacement === 'top') {\n styles['borderBottomRightRadius'] = 0;\n styles['borderBottomLeftRadius'] = 0;\n styles['borderBottom'] = 'none';\n styles['marginBottom'] = '1px';\n } else if (state.selectProps.menuPlacement === 'bottom') {\n styles['borderTopRightRadius'] = 0;\n styles['borderTopLeftRadius'] = 0;\n styles['borderTop'] = 'none';\n styles['marginTop'] = '1px';\n } else {\n styles['marginTop'] = '0px';\n styles['marginBottom'] = '0px';\n }\n\n return ({\n ...provided,\n ...styles,\n });\n },\n menuList: (provided, state) => {\n return {\n ...provided,\n paddingBottom: 0,\n };\n },\n menuPortal: (provided, state) => {\n return {\n ...provided,\n zIndex: 9999,\n };\n },\n singleValue: (provided, state) => {\n const opacity = state.isDisabled ? 0.5 : 1;\n const transition = 'opacity 300ms';\n return { ...provided, opacity, transition };\n },\n valueContainer: (provided, state) => {\n return {\n ...provided,\n padding: '2px 8px',\n };\n },\n };\n}\n\nconst skuSelectTheme = (theme: Theme) => ({\n ...theme,\n borderRadius: 5,\n colors: {\n ...theme.colors,\n primary25: colors.primary0,\n primary75: colors.primary0,\n primary50: colors.primary10,\n primary: colors.primary,\n neutral20: colors.select.border,\n neutral30: colors.select.border,\n neutral80: colors.textbody,\n neutral90: colors.textbody\n },\n})\n\n// duplicate styles to overide .resku global styles\nconst SKUSelect: React.ForwardRefExoticComponent<SKUSelectProps & React.RefAttributes<BaseSelect>> =\n React.forwardRef<BaseSelect, SKUSelectProps>((\n {noMargin, menuRelative, inPopup, error, ...props},\n ref\n ) => {\n const classNamePrefix = `${error ? 'select-error' : ''} commonsku-styles-select`;\n const selectStyleProps = {\n ...props,\n noMargin: noMargin,\n menuRelative: menuRelative,\n inPopup: inPopup,\n error: error,\n classNamePrefix: classNamePrefix,\n theme: skuSelectTheme,\n };\n return <BaseSelect\n ref={ref}\n classNamePrefix={classNamePrefix}\n {...(inPopup ? popupStyles as SelectProps : {})}\n noMargin={noMargin}\n menuRelative={menuRelative}\n error={error}\n styles={skuSelectStyles(selectStyleProps)}\n theme={skuSelectTheme}\n {...props}\n />\n });\n\ntype LabeledSelectProp = SKUSelectProps & {parentStyle?:React.CSSProperties};\ntype TLabeledSelect = React.ForwardRefExoticComponent<LabeledSelectProp & React.RefAttributes<BaseSelect>>;\nconst LabeledSelect: TLabeledSelect =\n React.forwardRef<BaseSelect, LabeledSelectProp>(\n ({ parentStyle, ...props }, ref) => (\n <div style={parentStyle}>\n <Label htmlFor={props.name}>{props.label} {props.required && '*'}</Label>\n <SKUSelect {...props} ref={ref} />\n </div>\n )\n );\n\ntype TSKUCreatableSelect = React.ForwardRefExoticComponent<SKUCreatableSelectProps & React.RefAttributes<BaseCreatableSelect<GenericObject>>>;\nconst SKUCreatableSelect: TSKUCreatableSelect =\n React.forwardRef<BaseCreatableSelect<GenericObject>, SKUCreatableSelectProps>(\n ({noMargin, menuRelative, inPopup, error, ...props}, ref) => {\n const classNamePrefix = `${error ? 'select-error' : ''} commonsku-styles-select`;\n const selectStyleProps = {\n ...props,\n noMargin: noMargin,\n menuRelative: menuRelative,\n inPopup: inPopup,\n error: error,\n classNamePrefix: classNamePrefix,\n theme: skuSelectTheme,\n };\n\n return (\n <BaseCreatableSelect\n ref={ref}\n classNamePrefix={classNamePrefix}\n noMargin={noMargin}\n menuRelative={menuRelative}\n error={error}\n styles={skuSelectStyles(selectStyleProps)}\n theme={skuSelectTheme}\n {...props}\n {...(inPopup ? popupStyles as CreatableSelectProps<GenericObject> : {})}\n />\n );\n }\n );\n\ntype LabeledCreatableSelectProps = SKUCreatableSelectProps & {parentStyle?:React.CSSProperties};\ntype TLabeledCreatableSelect = React.ForwardRefExoticComponent<LabeledCreatableSelectProps & React.RefAttributes<BaseCreatableSelect<GenericObject>>>;\nconst LabeledCreatableSelect: TLabeledCreatableSelect =\n React.forwardRef<BaseCreatableSelect<GenericObject>, LabeledCreatableSelectProps>(\n ({ parentStyle, ...props }, ref) => (\n <div style={parentStyle}>\n <Label htmlFor={props.name}>{props.label} {props.required && '*'}</Label>\n <SKUCreatableSelect {...props} ref={ref} />\n </div>\n )\n );\n\n\ntype TSKUAsyncSelect = React.ForwardRefExoticComponent<SKUAsyncSelectProps & React.RefAttributes<BaseAsyncSelect<GenericObject>>>;\nconst SKUAsyncSelect: TSKUAsyncSelect =\n React.forwardRef<BaseAsyncSelect<GenericObject>, SKUAsyncSelectProps>(\n ({noMargin, menuRelative, inPopup, error, ...props}, ref) => {\n const classNamePrefix = `${error ? 'select-error' : ''} commonsku-styles-select`;\n const selectStyleProps = {\n ...props,\n noMargin: noMargin,\n menuRelative: menuRelative,\n inPopup: inPopup,\n error: error,\n classNamePrefix: classNamePrefix,\n theme: skuSelectTheme,\n };\n\n return (\n <BaseAsyncSelect \n ref={ref}\n classNamePrefix={classNamePrefix}\n noMargin={noMargin}\n menuRelative={menuRelative}\n error={error}\n styles={skuSelectStyles(selectStyleProps)}\n theme={skuSelectTheme}\n {...props}\n {...(inPopup ? popupStyles as AsyncSelectProps<GenericObject> : {})}\n />\n );\n }\n );\n\ntype LabeledAsyncSelectProps = SKUAsyncSelectProps & {parentStyle?:React.CSSProperties};\ntype TLabeledAsyncSelect = React.ForwardRefExoticComponent<LabeledAsyncSelectProps & React.RefAttributes<BaseAsyncSelect<GenericObject>>>;\nconst LabeledAsyncSelect: TLabeledAsyncSelect =\n React.forwardRef<BaseAsyncSelect<GenericObject>, LabeledAsyncSelectProps>(\n ({ parentStyle, ...props }, ref) => (\n <div style={parentStyle}>\n <Label htmlFor={props.name}>{props.label} {props.required && '*'}</Label>\n <SKUAsyncSelect {...props} ref={ref} />\n </div>\n )\n );\n\nexport {\n SKUSelect as Select,\n LabeledSelect,\n SKUCreatableSelect as CreatableSelect,\n LabeledCreatableSelect,\n SKUAsyncSelect as AsyncSelect,\n LabeledAsyncSelect,\n components,\n makeCreatableSelect,\n createFilter,\n mergeStyles,\n};\n","import styled from 'styled-components';\n\ntype BackdropTypes = {\n animationDuration?: number,\n}\n\nexport const Backdrop = styled.div<BackdropTypes>`\n position: fixed;\n width: 100%;\n height: 100%;\n background-color: rgba(67, 83, 91, .3);\n z-index: 100;\n transition: all ${p => ((p.animationDuration || 300)/1000)}s ease-in-out;\n -moz-transition: all ${p => ((p.animationDuration || 300)/1000)}s ease-in-out;\n -webkit-transition: all ${p => ((p.animationDuration || 300)/1000)}s ease-in-out;\n opacity: 0.8;\n`;\n","import React from 'react'\nimport styled from 'styled-components';\nimport { Row, Col } from './FlexboxGrid';\nimport { H2 } from './Headings'\nimport { valIsValid, document } from '../utils';\nimport { SharedStyles, SharedStyleTypes } from './SharedStyles'\nimport { SizerTypes, SizerCss } from './Sizer'\nimport { Backdrop } from './Backdrop'\n\n\ntype SidePanelType = {\n animationDuration?: number;\n visible?: boolean;\n from?: \"left\" | \"right\" | \"bottom\" | \"top\";\n height?: number;\n width?: number;\n};\n\nfunction getSlideStyles(from:\"left\"|\"right\"|\"bottom\"|\"top\"=\"right\", visible:boolean=false, height:number=50) {\n if (from === \"right\") {\n return `left: auto; right: 0; top: 0; bottom: 0; transform: translateX(${visible ? '0%' : '100%'});`;\n } else if (from === \"left\") {\n return `right: auto; left: 0; top: 0; bottom: 0; transform: translateX(${visible ? '0%' : '-100%'});`;\n } else if (from === \"bottom\") {\n return `height: ${height}vh; right: 0; left: 0; top: ${100 - height}vh; bottom: 0; transform: translateY(${visible ? '0%' : '100%'});`;\n } else if (from === \"top\") {\n return `height: ${height}vh; right: 0; left: 0; bottom: ${100 - height}vh; top: 0; transform: translateY(${visible ? '0%' : '-100%'});`;\n }\n return '';\n}\n\nexport const StyledPanel = styled.div<SidePanelType>`\n height: ${p => valIsValid(p.height) ? p.height : p.from === \"bottom\" || p.from === \"top\" ? 50 : 100}vh;\n background: white;\n position: fixed;\n width: ${p => valIsValid(p.width) ? p.width : p.from === \"bottom\" || p.from === \"top\" ? '100%' : '560px'};\n z-index: 300;\n box-shadow: 0 0 10px rgba(61, 79, 90, 0.27);\n padding: 1em;\n overflow: scroll;\n @media only screen and (max-width: 640px) {\n width: 100% !important;\n }\n ${p => getSlideStyles(p.from, p.visible, p.height)}\n transition: transform ${p => (\n //@ts-ignore\n (valIsValid(p.animationDuration) ? p.animationDuration : 300) / 1000\n )}s ease-out;\n ${SharedStyles}\n ${SizerCss}\n`;\nStyledPanel.defaultProps = {\n animationDuration: 300,\n visible: false,\n from: \"right\",\n};\n\nconst SidePanel = ({\n from = \"right\", visible = false, animationDuration = 300, fullWidthTitle = false,\n bodyScrollable=true, backdrop=false, controls, header, title,\n children,\n ...props }: React.PropsWithChildren<{\n header?: React.ReactNode,\n title: string,\n controls: React.ReactNode,\n fullWidthTitle?: boolean,\n backdrop?: boolean,\n bodyScrollable?: boolean,\n } & SidePanelType & SharedStyleTypes & SizerTypes>) => {\n if(!bodyScrollable && visible) {\n document.body.style.overflow = 'hidden';\n } else {\n document.body.style.overflow = 'auto';\n }\n return <>\n <StyledPanel animationDuration={animationDuration} visible={visible} from={from} {...props}>\n {header || <div>\n {!fullWidthTitle\n ? <Row>\n <Col><H2>{title}</H2></Col>\n <Col style={{ textAlign: \"right\" }}>{controls}</Col>\n </Row>\n : <div>\n <Row><Col style={{ textAlign: \"right\" }}>{controls}</Col></Row>\n <Row><Col><H2>{title}</H2></Col></Row>\n </div>}\n </div>}\n {children}\n </StyledPanel>\n {backdrop && visible ? <Backdrop /> : null}\n </>\n}\n\n\nconst NameAndPosition = styled.div`\n display: inline-block;\n width: 90%;\n`\n\nconst Name = styled.div`\n font-weight: bold;\n`\n\nconst Position = styled.div`\n font-size: .8em;\n`\nconst Email = styled.a`\n font-size: .8em;\n overflow-wrap: break-word;\n word-wrap: break-word;\n -ms-word-break: break-all;\n word-break: break-word;\n`\n\nconst Contact = styled.div<SizerTypes>`\n &&& {\n display: flex;\n flex-basis: 50%;\n margin-bottom: 15px;\n ${SizerCss}\n }\n`\n\nconst PanelContact = ({avatar, name, position, email, ...props}: { name:string, position?:string, email?:string, phone?:string, avatar?:React.ReactNode } & SizerTypes) => {\n return (\n <Contact {...props}>\n <Col xs>\n { avatar ? avatar : null }\n <NameAndPosition style={{ width: avatar ? '77%' : '95%' }}>\n <Name>{name}</Name>\n { position ? <Position>{position}</Position> : null }\n </NameAndPosition>\n </Col>\n { email ? <Col xs>\n <Email href={\"mailto:\" + email}>{email}</Email>\n </Col> : null }\n </Contact>\n )\n}\n\nconst PHONE_TYPES: {[key: string]: string} = {\n 'WORK': 'W',\n 'HOME': 'H',\n 'CELL': 'C',\n 'FAX': 'F',\n};\n\ntype PhoneType = {\n phone_number?: string,\n phone_type?: string,\n phone_extension?: string,\n}\n\nconst PanelTileContact = ({avatar, name, position, email, phones, ...props}: { name:string, position?:string, email?:string, phones?:Array<PhoneType>, avatar?:React.ReactNode } & SizerTypes) => {\n return (\n <Contact {...props}>\n { avatar ? avatar : null }\n <NameAndPosition style={ avatar ? { width: '74%', marginLeft: '3%' } : {width: '95%'}}>\n <Name>{name}</Name>\n { position ? <Position>{position}</Position> : null }\n { email ? <Email href={\"mailto:\" + email}>{email}</Email> : null }\n { phones && phones.length>0 ? phones.map((p, i) =>\n p.phone_number ? <div key={'PHONE-' + p.phone_type + i}>\n {p.phone_type ? (PHONE_TYPES[p.phone_type] || p.phone_type) : 'Ph'} {p.phone_number} {p.phone_extension && 'x'+p.phone_extension}\n </div> : ''\n ) : null }\n </NameAndPosition>\n </Contact>\n )\n}\n\nexport { SidePanel, PanelContact, PanelTileContact };\n\n","import React from 'react';\nimport styled, {css} from 'styled-components'\nimport { SizerCss, SizerTypes } from './Sizer';\nimport { FilledChevronIcon} from './icons';\nimport { SharedStyles, SharedStyleTypes } from './SharedStyles'\n\nconst sharedStyle = css`\n line-height: 1.125rem;\n box-sizing: border-box;\n`\n\nconst optionalPadding = css<{padded?: boolean}>`\n &:first-child {\n padding-left: ${props => props.padded ? \"20px\" : \"inherit\"};\n }\n\n &:last-child {\n padding-right: ${props => props.padded ? \"20px\" : \"inherit\"};\n }\n`\n\nconst Table= styled.table.attrs(() => ({ cellPadding: 0, cellSpacing: 0 }))<SharedStyleTypes>`\n &&& {\n background-color: white;\n border: none;\n border-spacing: 0;\n width: 100%;\n table-layout: auto;\n display: table;\n font-family: 'skufont-regular', sans-serif;\n ${sharedStyle}\n ${SizerCss}\n ${SharedStyles}\n }\n`;\n\nconst TH= styled.th<{clickable?: boolean, sticky?: boolean, stickyTop?: number}&SharedStyleTypes&SizerTypes>`\n &&& {\n background-color: #dae9ee;\n border: none;\n border-spacing: 0;\n color: ${props => props.clickable ? \"#00889B\" : \"#123952\"};\n font-size: 1rem;\n padding: 0.5rem 0.625rem 0.625rem;\n display: table-cell;\n text-align: left;\n font-family: \"skufont-demibold\", sans-serif;\n ${props => props.sticky ? `position: sticky; top: ${props.stickyTop ? props.stickyTop : 0};` : null}\n &:hover {\n background-color: ${props => props.clickable ? \"#d2e6ec\" : \"#dae9ee\"};\n cursor: ${props => props.clickable ? \"pointer\" : \"normal\"};\n }\n ${optionalPadding}\n ${sharedStyle}\n ${SizerCss}\n ${SharedStyles}\n }\n`;\n\nconst TD= styled.td<{clickable?: boolean}&SharedStyleTypes&SizerTypes>`\n &&& {\n border: 0;\n color: #52585c;\n font-size: .875rem;\n line-height: 1.75rem;\n display: table-cell;\n padding: 0.5625rem 0.625rem;\n &:hover {\n cursor: ${props => props.clickable ? \"pointer\" : \"normal\"};\n }\n ${optionalPadding}\n ${sharedStyle}\n ${SizerCss}\n ${SharedStyles}\n }\n`;\n\nconst TR= styled.tr<SizerTypes&{selected?: boolean}>`\n &&& {\n ${SizerCss}\n &:hover {\n background: #EDF2F4;\n }\n ${p => p.selected && 'background: #EDF2F4;'}\n }\n`;\n\nconst THead= styled.thead<SizerTypes>`\n &&& {\n ${SizerCss}\n }\n`;\n\nconst TBody= styled.tbody<SizerTypes>`\n &&& {\n ${SizerCss}\n }\n`;\n\nconst THContentWrapper = styled.span<SizerTypes>`\n &&& {\n ${SizerCss}\n }\n`;\n\nconst ResponsiveTable = ({parentProps, children, ...props}: React.PropsWithChildren<{parentProps?: {[key: string]: any, style?:object}} & SharedStyleTypes>) => {\n return (\n <div style={{overflowX: 'auto'}} {...parentProps}>\n <Table style={{borderCollapse: 'collapse', borderSpacing: 0, width: '100%'}} {...props}>{children}</Table>\n </div>\n );\n}\n\nconst THSorted = ({children, order, iconHeight=15, iconStyles, hideIconOnMobile, ...props}: React.PropsWithChildren<{order?: string, iconHeight?: number, iconStyles?: object, hideIconOnMobile?:boolean}>) => {\n return (\n <TH {...props}>\n <THContentWrapper\n xs={`display: ${hideIconOnMobile ? 'none': 'inline-block'};`}\n sm={\"display: inline-block;\"}\n >{order==='desc' \n ? <FilledChevronIcon direction=\"down\" height={iconHeight} style={{ width: 'auto', verticalAlign: 'middle', ...iconStyles}} />\n : order==='asc'\n ? <FilledChevronIcon direction=\"up\" height={iconHeight} style={{ width: 'auto', verticalAlign: 'middle', ...iconStyles}} />\n : <FilledChevronIcon direction=\"updown\" style={{ width: 'auto', verticalAlign: 'middle', ...iconStyles}} />\n }</THContentWrapper> {children}\n </TH>\n );\n}\n\n\nexport { Table, TD, TH, TR, THead, TBody, ResponsiveTable, THSorted };\n","import React, { useState, useEffect } from 'react';\nimport ReactDOM from 'react-dom';\nimport styled from 'styled-components';\nimport { Button } from './Button';\nimport { Col } from './FlexboxGrid';\nimport { SharedStyles, SharedStyleTypes } from './SharedStyles'\nimport { SizerCss, SizerTypes } from './Sizer'\nimport { document } from '../utils';\n\nexport const Overlay = styled.div<{ zIndex?: number; }>`\n &&& {\n position: fixed;\n top: 0px;\n bottom: 0px;\n left: 0px;\n right: 0px;\n background: rgba(42, 56, 63, 0.45);\n display: flex;\n z-index: ${p => p.zIndex || 999};\n margin-left: auto;\n margin-right: auto;\n }\n`;\n\nconst PopupWindow = styled.div<SharedStyleTypes & SizerTypes & {width?: string, height?: string, padding?: string; zIndex?: number;}>`\n &&& {\n width: ${props => props.width ?? '90%'};\n height: ${props => props.height ?? '75%'}; \n margin: 0 !important;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n position: fixed;\n ${props => props.height ? '' : 'max-height: 700px;'}\n overflow-y: hidden;\n display: block;\n z-index: ${p => p.zIndex || 1006};\n\n padding: ${props => props.padding ?? '1rem'};\n border: 1px solid #CCD5DA;\n background-color: #fefefe;\n border-radius: 3px;\n\n &:last-child {\n margin-bottom: 0;\n }\n .popup-content {\n overflow-y: auto;\n height: 90%;\n }\n ${SharedStyles}\n ${SizerCss}\n }\n`;\n\nexport const PopupHeader = styled.div<SharedStyleTypes & SizerTypes>`\n &&& {\n position: sticky;\n top: 0;\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n background: white;\n padding: 3px;\n z-index: 99;\n .title {\n font-size: 1.8rem;\n font-weight: 500;\n text-align: left;\n align-self: center;\n padding-top: 3px;\n padding-left: 3px;\n border-bottom: none;\n font-family: \"skufont-demibold\",sans-serif;\n color: #123952;\n }\n ${SharedStyles}\n ${SizerCss}\n }\n`;\n\nconst PopupContainer: React.FC<{}> = ({ children }) => {\n const ref = React.useRef(document.createElement('div'));\n\n useEffect(() => {\n const current = ref.current;\n document.body.appendChild(current);\n return () => {\n document.body.removeChild(current);\n }\n }, []);\n\n return ReactDOM.createPortal(children, ref.current);\n}\n\nexport type PopupProps = React.PropsWithChildren<{ \n header?: React.Component,\n noHeader?: boolean,\n title?: string|React.Component,\n controls?: Array<React.ReactNode>,\n onClose?: (event?: React.MouseEvent) => void,\n noCloseButton?: boolean,\n closeOnClickOutside?: boolean,\n closeOnEsc?: boolean,\n width?: string,\n height?: string,\n padding?: string,\n zIndex?: number,\n overlayZIndex?: number;\n} & SharedStyleTypes> & React.HTMLAttributes<HTMLDivElement>;\n\nexport const Popup = ({ header, noHeader=false, title, controls, children, onClose, noCloseButton=false, closeOnEsc=true, closeOnClickOutside=false, overlayZIndex, ...props }: PopupProps) => {\n const ref = React.useRef<HTMLDivElement | null>(null);\n\n /* there is a bug where this closes popup involuntarily\n const handleClick = (e: Event) => {\n // @ts-ignore\n if (ref.current?.contains(e.target)) {\n return;\n }\n onClose && onClose();\n };\n */\n\n useEffect(() => {\n const handleKeyDown = (e: Event) => {\n // @ts-ignore\n if (e.key === \"Escape\") {\n e.stopPropagation();\n onClose && onClose();\n }\n };\n\n if(closeOnClickOutside) {\n //document.addEventListener(\"mousedown\", handleClick);\n }\n if (closeOnEsc) {\n document.addEventListener(\"keyup\", handleKeyDown);\n }\n\n return () => {\n if(closeOnClickOutside) {\n //document.removeEventListener(\"mousedown\", handleClick);\n }\n if (closeOnEsc) {\n document.removeEventListener(\"keyup\", handleKeyDown);\n }\n }\n }, [closeOnClickOutside, closeOnEsc, onClose]);\n\n return <PopupContainer>\n <Overlay zIndex={overlayZIndex}>\n <PopupWindow className=\"popup\" {...props} ref={ref}>\n {noHeader ? null :\n header ? header : (\n <PopupHeader className=\"popup-header\" xsStyle=\"flex-wrap: wrap-reverse;\" smStyle=\"flex-wrap: wrap;\">\n <Col style={{textAlign: 'left', alignSelf: 'center'}}>\n <span className=\"title\">{title}</span>\n </Col>\n <Col style={{textAlign: 'right', alignSelf: 'center'}}>\n { noCloseButton ? null :\n controls || <Button onClick={onClose}>Close</Button>}\n </Col>\n </PopupHeader>\n )}\n <div className=\"popup-content\">{children}</div>\n </PopupWindow>\n </Overlay>\n </PopupContainer>\n}\n\nexport const ShowPopup: React.FC<Omit<PopupProps, 'onClose'> & {\n popup: React.ComponentType<PopupProps>,\n autoOpen?: boolean,\n render?: React.FC<{onClick: () => void}>\n}> = ({ autoOpen = false, popup: PopupComponent, render, closeOnEsc=true, closeOnClickOutside=false, ...props }) => {\n const [showPopup, setShowPopup] = useState(autoOpen);\n return <>\n {showPopup && <PopupComponent onClose={() => setShowPopup(false)} closeOnEsc={closeOnEsc} closeOnClickOutside={closeOnClickOutside} {...props}/>}\n {render && render({onClick: () => setShowPopup(!showPopup)})}\n </>\n}\n\nexport default Popup;\n","import React, { useState, useEffect } from \"react\";\nimport styled from \"styled-components\";\nimport { Button, IconButton } from './Button';\nimport { SizerTypes } from './Sizer';\nimport { AddIcon, CheckmarkIcon, DragIcon } from './icons';\nimport { SharedStyles, SharedStyleTypes } from './SharedStyles'\nimport { errors, green, neutrals } from \"./colors\";\nimport { fontStyles, themeOptions } from \"./Theme\";\nimport { DragDropContext, Droppable, Draggable, DropResult, ResponderProvided } from \"react-beautiful-dnd\";\nimport { Popup } from \"./Popup\";\n\nconst GridTableContainer = styled.div<{\n width?: string,\n gridTemplateRows?: string,\n gridTemplateColumns: string,\n gridRowGap?: string;\n gridColumnGap?: string;\n} & SharedStyleTypes>`\n display:grid;\n grid-template-rows: ${props => props.gridTemplateRows ? props.gridTemplateRows : 'auto'};\n grid-gap: ${props => props.gridRowGap ? props.gridRowGap : \"16px\"};\n width:${props => props.width ? props.width : '100%'};\n margin-top: 24px;\n margin-bottom: 24px;\n background: white;\n overflow: scroll;\n .droppable {\n display:grid;\n grid-template-rows: ${props => props.gridTemplateRows ? props.gridTemplateRows : 'auto'};\n grid-gap: ${props => props.gridRowGap ? props.gridRowGap : \"16px\"};\n }\n ${SharedStyles}\n`;\n\nconst GridRow = styled.div<{ gridTemplateColumns: string, gridColumnGap?: string } & SharedStyleTypes>`\n display:grid;\n grid-template-columns: ${props => props.gridTemplateColumns};\n grid-gap: ${props => props.gridColumnGap ? props.gridColumnGap : \"16px\"};\n width:100%;\n background: white;\n ${SharedStyles}\n`;\n\n\nconst GridCell = styled.div<{ width?: string, header?: boolean, centerContent?: boolean; } & SharedStyleTypes>` \n background: white;\n width: ${props => props.width ? props.width : 'auto'};\n font-family: ${props => props.header ? themeOptions.fontFamilies.bold : fontStyles.p.medium};\n color: ${props => props.header ? errors.main : neutrals.bodyText};\n text-align: ${props => props.centerContent ? 'center' : 'left'};\n`;\n\nconst FieldError = styled.p`\n font-family: ${fontStyles.p.small.fontFamily};\n font-size: ${fontStyles.p.small.fontSize};\n color: ${errors['40']};\n margin:0;\n`;\n\ntype TValue = string | number | object;\n\ntype TransformFunction = (value: any | { label: string; value: string }) => TValue;\n\ntype TChild = React.ReactElement<any, string | React.JSXElementConstructor<any>>;\n\ntype ColumnProps = {\n name: string,\n title: React.ReactNode,\n children: TChild,\n centerContent?: boolean,\n transform?: TransformFunction,\n}\n\ntype CellProps = {\n defaultValue: TValue;\n onUpdate?: (value: TValue) => void;\n validate?: (data: any) => false | string;\n transform: TransformFunction;\n children: React.ReactElement<any, string | React.JSXElementConstructor<any>>;\n centerContent?: boolean;\n};\n\ntype GridTableProps = {\n data: { id: number | string;[key: string]: any }[];\n idField?: string;\n children: TChild | TChild[];\n onUpdate?: (value: object) => void;\n onDelete?: (id: number | string) => void;\n onAdd?: (data: any) => void;\n onSort?: (id: number | string, index: number | string) => void;\n validate?: (data: any) => { [key: string]: false | string };\n gridTemplateRows?: string;\n gridTemplateColumns?: string;\n gridRowGap?: string;\n gridColumnGap?: string;\n} & SharedStyleTypes & SizerTypes;\n\nconst defaultTransform = (v: any) => v.target ? v.target.value : v.currentTarget ? v.currentTarget.value : v.value;\n\nconst Column = ({\n name,\n title,\n children,\n centerContent,\n transform = defaultTransform,\n}: ColumnProps) => <GridCell centerContent={centerContent}>{title}</GridCell>;\n\n\nconst Cell = ({\n defaultValue,\n onUpdate,\n children,\n validate,\n centerContent,\n transform = (v) => v\n}: CellProps) => {\n const [value, setValue] = useState(defaultValue);\n const [error, setError] = useState<string>('');\n\n useEffect(() => {\n setValue(defaultValue);\n }, [defaultValue]);\n\n const handleOnChange: (v: Event | { label: string; value: string }) => void = (newValue) => {\n const errors = validate && validate(transform(newValue));\n if (errors) {\n setError(errors);\n } else {\n setError('');\n }\n setValue(transform(newValue));\n }\n\n const handleOnBlur: () => void = () => {\n if (!onUpdate) {\n return;\n }\n if (error) {\n setValue(defaultValue);\n setError('');\n return;\n }\n onUpdate(value);\n }\n\n let cell = React.cloneElement(\n React.Children.only(children),\n {\n value,\n onChange: handleOnChange,\n onBlur: handleOnBlur,\n }\n );\n return (\n <GridCell centerContent={centerContent}>{cell} {<FieldError>{error}</FieldError>}</GridCell>\n );\n}\n\nfunction GridTable({\n data,\n idField = \"id\",\n onUpdate,\n onDelete,\n onAdd,\n onSort,\n validate,\n children,\n gridTemplateRows,\n gridTemplateColumns,\n gridRowGap,\n gridColumnGap,\n ...props\n}: GridTableProps) {\n\n const [NewData, setNewData] = useState({});\n const [Adding, setAdding] = useState(false);\n const [newRowError, setNewRowError] = useState({});\n const [showPopupWithRowId, setShowPopupWithRowId] = useState<number | string>(0);\n\n const hasNewRowError = Object.keys(newRowError).length === 0 || Object.values(newRowError).filter(v => v).length > 0;\n\n const handleColumnsDefault = () => {\n if (gridTemplateColumns) {\n if (onSort && onDelete) {\n return `auto ${gridTemplateColumns} auto`;\n } else if (onSort && !onDelete) {\n return `auto ${gridTemplateColumns}`;\n } else if (onSort && onDelete) {\n return `${gridTemplateColumns} auto`;\n }\n\n return gridTemplateColumns;\n } else {\n let columnsDefault = '';\n\n React.Children.map(children, (child, index) => {\n columnsDefault += \"minmax(136px, 1fr) \"\n });\n\n if (onSort) {\n columnsDefault = \"auto \" + columnsDefault;\n }\n\n if (onDelete) {\n columnsDefault += \"auto\"\n }\n\n return columnsDefault;\n }\n\n };\n\n let gridColumns = handleColumnsDefault();\n\n const handleAdd = () => {\n const Errors = (validate && validate(NewData)) || {};\n console.log(Errors);\n if (Object.values(Errors).some(v => v)) {\n return\n }\n\n onAdd && onAdd(NewData);\n setNewData({});\n setAdding(false);\n };\n\n function handleOnDragEnd(result: DropResult, provided: ResponderProvided): void {\n if (!result.destination) return;\n if (!onSort) return;\n\n const item = data[result.source.index];\n onSort(item[idField], result.destination.index);\n }\n\n const Header = <GridRow gridTemplateColumns={gridColumns} gridColumnGap={gridColumnGap}>\n {onSort && <GridCell><div style={{ width: '24px' }}></div></GridCell>}\n {React.Children.map(children, (child, child_index) => {\n return (\n <GridCell key={child.props.name} centerContent={child.props.centerContent}\n >\n {child.props.title}\n </GridCell>\n );\n })}\n {onDelete && <GridCell><div style={{ width: '40px' }}></div></GridCell>}\n </GridRow>;\n\n const Rows = () => {\n return (\n <DragDropContext onDragEnd={handleOnDragEnd}>\n <Droppable droppableId=\"draggable-rows\">\n {(provided) => (\n <div\n className=\"droppable\"\n {...provided.droppableProps}\n ref={provided.innerRef}>\n {data.map((d, index) => {\n return (\n <Draggable\n key={d[idField]}\n draggableId={d[idField].toString()}\n index={index}\n isDragDisabled={!onSort}\n >\n {(provided) => (\n <GridRow\n {...provided.draggableProps}\n {...provided.dragHandleProps}\n ref={provided.innerRef}\n gridTemplateColumns={gridColumns}\n gridColumnGap={gridColumnGap}>\n {onSort && <GridCell style={{ display: \"flex\", flexDirection: 'column', justifyContent: 'center', height: '40px' }}><DragIcon color={neutrals['60']} style={{ cursor: 'grab', verticalAlign: 'middle' }} /></GridCell>}\n {React.Children.map(children, child => {\n if (!child) {\n return null;\n }\n const validateCell = (value: any) => (validate && validate({ [child.props.name]: value })[child.props.name]) ?? false;\n\n return <Cell\n key={child.props.name}\n defaultValue={d[child.props.name]}\n onUpdate={(value) => setNewData(s => ({ ...s, [child.props.name]: value }))}\n transform={child.props.transform || defaultTransform}\n validate={validate && validateCell}\n centerContent={child.props.centerContent}\n >\n {child.props.children}\n\n </Cell>\n })}\n {onDelete && <GridCell><IconButton preset=\"delete\" onClick={() => setShowPopupWithRowId(d[idField])} /></GridCell>}\n </GridRow>\n )}\n </Draggable>\n );\n })}\n {provided.placeholder}\n </div>\n )}\n </Droppable>\n </DragDropContext>\n );\n };\n\n const NewRow = (\n <GridRow\n gridTemplateColumns={gridColumns}\n gridColumnGap={gridColumnGap}\n >\n {onSort &&\n <GridCell >\n <div style={{ width: '24px' }}></div>\n </GridCell>}\n {React.Children.map(children, child => {\n if (!child) {\n return null;\n }\n\n const validateCell = (value: any) => {\n const validation = validate && validate({ ...NewData, [child.props.name]: value });\n if (!validation) { return false; }\n setNewRowError(validation);\n return validation[child.props.name];\n }\n\n return <Cell\n key={child.props.name}\n defaultValue={NewData[child.props.name]}\n onUpdate={(value) => setNewData(s => ({ ...s, [child.props.name]: value }))}\n transform={child.props.transform || defaultTransform}\n validate={validateCell}\n centerContent={child.props.centerContent}\n >\n {child.props.children}\n </Cell>\n })}\n <GridCell>\n <IconButton Icon={CheckmarkIcon} iconProps={{ color: green.main }} variant={hasNewRowError ? \"disabled\" : \"text\"} onClick={() => handleAdd()}\n disabled={hasNewRowError}\n />\n </GridCell>\n </GridRow>\n );\n\n const AddNew = onAdd ?\n <GridRow gridTemplateColumns={\"auto\"} gridColumnGap={gridColumnGap}\n >\n <GridCell centerContent>\n <IconButton Icon={AddIcon} variant=\"text\" size=\"small\" onClick={() => setAdding(true)}>Add New</IconButton>\n </GridCell>\n </GridRow>\n : null;\n\n return (\n <>\n {showPopupWithRowId !== 0 ?\n <Popup\n width={'auto'}\n height={'auto'}\n padding={'36px'}\n noHeader\n noCloseButton\n >\n <p style={{\n fontFamily: fontStyles.p.medium.fontFamily,\n fontSize: fontStyles.p.medium.fontSize,\n lineHeight: fontStyles.p.medium.lineHeight,\n color: neutrals.bodyText\n }}>Are you sure you want to delete?</p>\n <div style={{ display: 'flex', flexDirection: 'row', justifyContent: 'center' }}>\n <Button\n size=\"medium\"\n variant='secondary'\n mr={24}\n onClick={() => {\n setShowPopupWithRowId(0);\n }}\n >\n Cancel\n </Button>\n <Button\n size=\"medium\"\n variant='error'\n onClick={() => {\n onDelete && onDelete(showPopupWithRowId);\n setShowPopupWithRowId(0);\n }}\n >\n Delete\n </Button>\n </div>\n\n </Popup> : null}\n\n <GridTableContainer\n gridTemplateRows={gridTemplateRows}\n gridTemplateColumns={gridColumns}\n gridRowGap={gridRowGap}\n gridColumnGap={gridColumnGap}\n {...props}\n >\n {Header}\n {Rows()}\n {Adding && NewRow}\n {onAdd && !Adding && AddNew}\n </GridTableContainer></>\n );\n}\n\nexport { GridTableContainer, GridTable, GridRow, GridCell, Column };\n\n\n\n\n\n\n\n","import _ from 'lodash'\nimport styled, { css } from 'styled-components'\nimport React, { Component } from 'react'\nimport { SharedStyles, SharedStyleTypes } from './SharedStyles'\nimport colors from './colors';\n\nconst tabSizes = {\n small: css`\n font-size: 0.9rem;\n padding: 0.5rem 5px;\n margin: 0;\n `,\n medium: css`\n font-size: inherit;\n padding: 1rem 12px;\n margin: 0 15px 0 0;\n `,\n};\n\nconst TabBar = styled.ul<{padded?: boolean} & SharedStyleTypes>`\n &&& {\n display: block;\n font-size: 16px;\n font-family: 'skufont-demibold', sans-serif;\n margin: 0;\n margin-bottom: ${props => props.padded ? \"20px\" : 0};\n padding: 0;\n ${SharedStyles}\n }\n`\n\ntype Tabprops = {\n selected?: boolean;\n size?: keyof typeof tabSizes;\n variant?: 'primary' | 'secondary';\n} & SharedStyleTypes;\nconst Tab = styled.li<Tabprops>`\n &&& {\n cursor: pointer;\n display: inline-block;\n border-bottom: ${props => props.selected\n ? `5px solid ${props.variant === 'secondary' ? colors.secondary1.main : colors.primary1.main}`\n : \"none\"};\n color: #222222;\n opacity: ${props => props.selected ? \"1\" : \".5\"};\n list-style: none;\n margin-bottom: 0 !important;\n position: relative;\n padding: 1rem 12px;\n margin-right: 15px;\n ${SharedStyles}\n\n ${props => tabSizes[props.size ?? 'medium']}\n }\n`\n\n/* \n\nHere's how you use this:\n\n<Tabs tabs={[\n { name: \"abc\", label: \"ABC\", content: <div>abc</div> },\n { name: \"xyz\", label: \"XYZ\", content: <div>xyz</div> },\n ]}\n/>\n\n*/\n\n// const Tabs = ({ tabs }: { tabs: {label: string, content: React.ReactNode}[], }) => {\n// /* add state, onclick event */\n// const [state, setState] = useState({ \n// selectedTabIndex: 0,\n// selectedTab: tabs[0]\n// });\n// return <div>\n// <TabBar>\n// {tabs.map((tab, index) => <Tab key={index}\n// selected={index == state.selectedTabIndex}\n// onClick={() => setState({ ...state, selectedTabIndex: index })}>\n// {tab.label}\n// </Tab>)}\n// </TabBar>\n// {tabs[state.selectedTabIndex].content}\n// </div>\n// }\n\nexport type TTab = {label: string, content: React.ReactNode, onClick?: Function|VoidFunction};\nexport type TabsProps = { tabs: TTab[], selectedTabIndex?: number, padded?: boolean, size?: keyof typeof tabSizes };\ntype TabsState = {selectedTabIndex: number};\n\nclass Tabs extends Component<TabsProps, TabsState> {\n constructor(props: TabsProps) {\n super(props);\n this.state = {\n selectedTabIndex: this.props.selectedTabIndex || 0,\n };\n }\n\n getTab(tabs: TTab[], tabIndex=0): null | TTab {\n if (!tabs.length || tabs.length-1 < tabIndex) {\n return null;\n }\n return tabs[tabIndex];\n }\n\n componentDidMount() {\n const selectedTab = this.getTab(this.props.tabs, this.state.selectedTabIndex);\n if (!selectedTab) {\n return;\n }\n\n const callback = selectedTab.onClick;\n if(callback) { callback(); }\n }\n\n componentDidUpdate(prevProps: Readonly<TabsProps>, prevState: Readonly<TabsState>) {\n const sameTabs = prevProps.tabs.length !== this.props.tabs.length\n || (\n prevProps.tabs.length === this.props.tabs.length\n && prevProps.tabs.every((e, i) =>\n e.label === this.props.tabs[i].label\n && (e.onClick || \"null\").toString() === (this.props.tabs[i].onClick || 'null').toString()\n )\n );\n if (!sameTabs) {\n this.setState({\n selectedTabIndex: 0,\n });\n }\n }\n\n render () {\n const { tabs, size } = this.props;\n const selectedTab = this.getTab(tabs, this.state.selectedTabIndex);\n return <div>\n <TabBar padded={this.props.padded === true}>\n {tabs.map((tab, index) => <Tab \n key={index} size={size}\n selected={index === this.state.selectedTabIndex}\n onClick={() => {\n this.setState({ selectedTabIndex: index })\n let callback = tabs[index].onClick;\n if(callback) { callback(); }\n }}>\n {tab.label}\n </Tab>)}\n </TabBar>\n {_.get(selectedTab, ['content'], '')}\n </div>\n }\n}\n\nexport {TabBar, Tab, Tabs};\n","import styled from 'styled-components';\nimport React from 'react';\nimport { get } from 'lodash';\nimport { getThemeColor, fontStyles, colors} from './Theme';\nimport { SharedStyles, SharedStyleTypes } from './SharedStyles';\n\nexport const toggleSizes = {\n small: {\n 'font-family': fontStyles.button.small.fontFamily,\n 'font-size': fontStyles.button.small.fontSize,\n 'line-height': fontStyles.button.small.lineHeight,\n padding: '8px 12px',\n borderRadius: '4px',\n height: '32px',\n\n },\n medium: {\n 'font-family': fontStyles.button.medium.fontFamily,\n 'font-size': fontStyles.button.medium.fontSize,\n 'line-height': fontStyles.button.medium.lineHeight,\n padding: '8px 16px',\n borderRadius: '4px',\n height: '40px',\n\n },\n large: {\n 'font-family': fontStyles.button.large.fontFamily,\n 'font-size': fontStyles.button.large.fontSize,\n 'line-height': fontStyles.button.large.lineHeight,\n padding: '12px 24px',\n borderRadius: '4px',\n height: '56px',\n }\n};\n\ntype ToggleSize = keyof typeof toggleSizes;\n\nconst getSizeStyle = (style: string, defaults: string) => {\n return ({ size }: ToggleProps) => {\n if (size) {\n return get(toggleSizes, [size, style]) || defaults;\n }\n return defaults;\n };\n}\n\nconst Wrapper = styled.div<{size?: ToggleSize}>`\n &&& {\n display: inline-flex;\n max-width: 600px;\n justify-content: flex-start;\n width: 100%; \n }`\n\nconst Container = styled.div<{stretch?:boolean, size?: ToggleSize }&SharedStyleTypes>`\n &&& {\n background: ${props => getThemeColor(props, 'teal.20', colors.teal['20'])};\n border-radius: 50px;\n display: flex;\n justify-content: space-between;\n width: ${props => props.stretch ? \"100%\" : \"auto\"};\n ${SharedStyles}\n }`\n\nconst ToggleLink = styled.a<{selected?: boolean, stretch?:boolean, size?: ToggleSize }&SharedStyleTypes>`\n &&& {\n font-family: 'skufont-medium', sans-serif;\n font-size: ${ props => getSizeStyle('font-size', '1rem')({size: props.size})};\n border-radius: 30px;\n display: flex;\n align-content: center;\n padding: ${ props => getSizeStyle('padding', '8px 16px')({size: props.size})};\n height: auto;\n line-height: ${ props => getSizeStyle('line-height', '24px')({size: props.size})};\n width: ${props => props.stretch? \"50%\" : \"auto\"};\n justify-content: center;\n cursor: pointer;\n background-color: ${props => props.selected ? getThemeColor(props, 'teal.main', colors.teal.main) : getThemeColor(props, 'teal.20', colors.teal['20']) };\n color: ${props => props.selected ? \"white\" : getThemeColor(props, 'teal.main', colors.teal.main) };\n ${SharedStyles}\n }`\n\ntype ToggleProps = React.PropsWithChildren<{\n stretch?: boolean;\n onClick?: React.MouseEventHandler<HTMLDivElement>;\n size?: ToggleSize;\n} & SharedStyleTypes>;\n\nconst Toggle = ({ size='medium', ...props }: ToggleProps) => {\n return <Wrapper size={size} {...props}>\n <Container stretch={props.stretch} size={size} {...props}>\n {\n React.Children.map(props.children, (child:any, index) => {\n return React.cloneElement(child, { size: size });\n })\n }\n </Container>\n </Wrapper>\n}\n\nexport { Toggle, ToggleLink }\n","import React from 'react'\nimport styled, { CSSObject } from 'styled-components'\nimport {Label} from './Label'\nimport { getThemeColor } from './Theme';\nimport { SharedStyles, SharedStyleTypes } from './SharedStyles'\n\ntype BaseTextareaProps = {\n noMargin?: boolean;\n error?: boolean;\n hasIcon?: boolean;\n} & SharedStyleTypes;\nexport const Textarea = styled.textarea<BaseTextareaProps>`\n ${p => {\n const styles: CSSObject = {\n marginBottom: p.noMargin ? 0 : \"1rem\",\n fontSize: '1rem',\n fontFamily: \"'skufont-regular', sans-serif\",\n boxSizing: 'border-box',\n backgroundColor: getThemeColor(p, 'input.background'),\n boxShadow: 'inset 0 1px 2px rgba(0, 0, 0, 0.1)',\n width: '100%',\n border: `1px solid ${getThemeColor(p, 'input.border')}`,\n borderRadius: '5px',\n padding: '8px 8px 8px 8px',\n color: getThemeColor(p, 'input.text'),\n \"::placeholder\": {\n color: getThemeColor(p, 'input.placeholder'),\n },\n ':hover': p.disabled ? undefined : {\n borderColor: getThemeColor(p, 'input.hover.border'),\n \"::placeholder\": {\n color: getThemeColor(p, 'input.hover.placeholder'),\n },\n },\n ':focus': {\n borderColor: getThemeColor(p, 'input.active.border'),\n color: getThemeColor(p, 'input.active.text'),\n outline: 'none',\n boxShadow: `1px 1px 0px ${getThemeColor(p, 'input.active.border')},\n -1px -1px 0px ${getThemeColor(p, 'input.active.border')},\n 1px -1px 0px ${getThemeColor(p, 'input.active.border')},\n -1px 1px 0px ${getThemeColor(p, 'input.active.border')};`,\n },\n ':disabled': {\n border: 'none',\n boxShadow: 'none',\n outline: 'none',\n color: getThemeColor(p, 'input.disabled.text'),\n backgroundColor: getThemeColor(p, 'input.disabled.background'),\n },\n };\n\n if (p.error) {\n styles['borderColor'] = getThemeColor(p, 'input.error.border');\n styles[':hover'] = {\n ...(styles[':hover'] || {}),\n borderColor: getThemeColor(p, 'input.error.border'),\n };\n styles[':focus'] = {\n color: getThemeColor(p, 'input.active.text'),\n outline: 'none',\n borderColor: getThemeColor(p, 'input.error.border'),\n boxShadow: `1px 1px 0px ${getThemeColor(p, 'input.error.border')},\n -1px -1px 0px ${getThemeColor(p, 'input.error.border')},\n 1px -1px 0px ${getThemeColor(p, 'input.error.border')},\n -1px 1px 0px ${getThemeColor(p, 'input.error.border')}`,\n }\n }\n\n if (p.hasIcon) {\n styles['border'] = 'none';\n styles['borderColor'] = 'none';\n styles['boxShadow'] = 'none';\n styles['outline'] = 'none';\n styles[':focus'] = undefined;\n styles[':hover'] = undefined;\n }\n\n return styles;\n }}\n\n ${SharedStyles}\n`;\n\ntype TextareaProps = React.TextareaHTMLAttributes<HTMLTextAreaElement>\n & BaseTextareaProps\n & {\n label: string,\n name?: string,\n noMargin?: boolean\n } & SharedStyleTypes;\nexport const LabeledTextarea: React.FC<TextareaProps> = React.forwardRef(\n ({ label, name, ...props}: TextareaProps, ref: React.Ref<HTMLTextAreaElement>) => {\n return <div>\n <Label htmlFor={name}>{label}</Label>\n <Textarea name={name} {...props}></Textarea>\n </div>\n }\n);\n","var img = \"data:image/gif;base64,R0lGODlhRgA6APUtADN3iTuBk0SLnk2Up1iesVmgsmGmuWKnummtv26wwnK0xXm5ynu6y4TB0YbC0o7H1pDI15TL2ZbM2pfN25zP3aHT4KLT4KjX463Z5a/b5rXe6bff6bzi677i7MPl7sTl7svp8c7q8tLs89nv9drw9d3x9uHz9+b1+ej2+e/5+/D5+/P6/Pj8/f///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAkDAC0AIf8LTkVUU0NBUEUyLjADAQAAACwAAAAARgA6AAAG/sCWcEgsGo/IpHLJLGogUEhzSq0eL1GIysrtIlUcSTaz9ZqbKMtlJMJms5aPSSMhne9DlPjN70NEeGcse36FUSaBZk9+FBcXFH4SLIleI3wWImVCKotZH5SVbxpJH6KgXRxjSyJvk6dUKlkSmkkZWYCvTSwWnk2xURa5TI9vtEq8cLjCRn1Ubr3LzHzOfJ9cHA7ZDlXNU89R1lYHAOQAVR8XhBAoU+oXHIhWKgPlABJWrFGjTJZRGVQZOAhJYUFAPXIJIqRoQXChEnXsliCDokwiuQMJAhzcmMCggBBKUkWh4AqJSCiSmljYyLLlAIdH+kWRwKHkEBadoOxbokJj/suf9bYhyfeGgoYRJpKGqTZlJcsBBKISMLiRQJJdhrKmbOKTXAAtRjJQLSclycSsfSREXOKgXoB/X7oCEKBEhTq0M9cuGQsgmBITcv0iwRnRxMksF0QkNRFCrx0kEeolaMKhHt0qKN4ACoGgwE4hHgogyHCCCAcLcgU2oVcugYUSVHKymFCgtgELuHEbqF0bpBCWVBZsFNqkjSOBtHkrL0BA+eMWwKe0PUici4Xl2HmHi95kelAvJHZnx46gDEvfTBIM7xJ+/PjRW0IYqFeWCV8HHGBPUQFS/nIDE+D2AAPZNVeAARlYZswRCZZzwDXZGfDZECtcl10GBEi2RAp8/qlWxQLYGfDcEf4th4BTrelnRAmsXdRFduEkERp2J/BFjgMqCoHaQYJRgUJnyiEg3XIaoLiRAFK1JABMsABZ2wRTYMgbjnIB1dICXYSgXI9KaMkcAdsYaeVGA6BnxZZTeFkbA0K0hWSGY5JDAJNn8sZlEmoWwKYQGcDEQYvkDLCAiiHQWUWeD0RpoJ5KwEmOmXg8EOQUIG65AhLzlQOKBNhtwESevEF5RAkclOoBKA6EWFoSKjipXI7RDLFBdgqMSMQKCmQnZKxHuKrcA5cSsYGvCjDAAFy8FkFCBiFIIJ5yxhqb3Z7JMtGee8tVV+0SM2JrW7DbNkGgtwU8GO6QJeQWYOu5SDgAJAKrCiHpgRPEy+4SEyyA7CYWnHrvvwAHLLAZQQAAIfkECQMALQAsAAAAAEYAOgAABv7AlnBILBqPyKRyySR+PpnLp0mtWo0oiBZCuXq/yuwWoiENTR8TeN1kfcbwi2U7YtuHrExm9JHA/3Agd3YZgIZ/aoNgIIeNWheKaxqAFCMsRCMXcBKXkV4qfxIoRywccFOeXnNbokoiY5ypV6sQrUuTWxomJp2yYWMcTaB/Zr5KuFqJTJqnxkmMY71LpnDBzkUmgFVvcV4eHBIN1lQsgNJKhbkiXwDtAAZXgHVNFGMqYO7tEfdCJRwlSWjlaiJGSxcvJQjkczeAgYUAAAIAPILCxAg4/NABoxJBgooSCRaKzBcgw7ExFs4VeTVmFBMLI2OKbKBk2BYL84xAG1NMSf4IiDKDCmCCbMsFly1UiBDICikShTEJSJUqYGRGJNwcGfK4JAXQfAkmEglxYKGDJem0AlrHJGS+cUZUuG0X4GoRFn7U1rrA94IGKl8BWGACtV2CMPUcSeDA4kSInkwy5CPQhIPIASGQsNCQEwW1LRk8NChQAEERFQw0nDDCIJ/JJgNESrCyE8KH0aQLZAjBO8SD3K+F/MxXxcHMeBAsXBhhIXcBAs6dE1jdgkBgAMVFwgNzQkH077mHjMzuLoBDMCEMgF+/QkjVhXCVzAWQ+YqHDCoyrN8/uLpIBoC5M9QVKqgHngIWJJjgb9FN0IIFDbRWXgpMNACWFxuAh0B9Rf6sgFtuCCRIQmHvLOHBQsFVgcB3CrSXRAbQRfeAZRciwcF1HFahwXeQIUHBd/CUlY8ANBFRgoQLDWBXExnmVuQSBX73QQlRURVUilSc4ByWSXxImgEkRBDUmE9ekRsBOSrRHIhmXDfmZNzFWECaATlXXwjvjRnAWUMsScWPudGJxJqk9ddCCQIQkAEH4MQ2GYV3hBDdBlQwSFqOKkA6BI3tlLkGjDIKY+ClS1DpDp92SPqdoEUQStoDLiYRAgd+rrFidArUKtyBsV5DRJO4ilXECKM6B6CvR/D2QLEFSECdEPkxGyiyPh3IwLXS5nYstV3uBx4DHPTKLRJaeuucoSrjLlGuuYqmSwWw5qLr7hIWqFefY/BuOy8TJ/TYgnep+bvvwAQXbHAVQQAAIfkECQMALQAsAAAAAEYAOgAABv7AlnBILBqPyKRyyRSqRBwLRNWsWq/GD2QLARVHIqx4PBRxt5fMZ6SFSEbkeBNFOdvtYbk+e+9zqXtyLBkaH1J+fRSBehmIF48XdXdei2NmfR8sRSqSXBKalVhtdhpJIRJnGaFijalLI3YcGhyrVSB2oEocfbVNsFylTCp9KL1LoxBwTYdnecZIrVtWF3YXgM9Gv1zTZyZkKhwNYuCoZ9x/YhYDAOwhYsRVdmMN7OwD7k4EAg3XRtSkvs5cGGOhnsGDAO4hQYZuSScIwayooIewIoAOSFR8MHTGQq4jGu54WxLCnYUAFisOEFZui4V+Q1T8u/PRiAmUKVMGGKnkkv7ADyaCfoh258OSAzkHEFgqAOGBJjMR+aFQs0gGiwRUWcVZzwIThlIhWNiYgScSDlzrSUiSAqnBCBzwgQzLhYKzKh4OilOiYt3BAElC0oWg6USIl02u1hPQhENFuUZ2QQxqQsTDCyEQFNhslAlFdl6bND0Yga+yISw6Yd68mQEJIg0QeChCwGCJKm4NPhVFIQMIFBpYC2dgoQFrBtfSWvkMYLccC8KjS6fVIsFBKw4MUsfiIYMKEgqki99M4ESLtOy0MmFgMIUYEgcKxB9PXjqV2gcXVBkNgLEYzeMhwMCADMwnHC3MsROAe0soxk4CYngwXgOvFeFBeKwdMEJBBP6k5RwSIaQ1AINXPCBdREaggGEBBBywgRAFGQQhiOglRKIVKxagCF85boZAC7nZk8FtQ4RgXUUBwNTEAsIpacQJ4p1QQo0ALIVfSupdYeADVZgY3WyO5ZTSh1aEIFxoTEAXnVcxiqlgaCHciKNwszVhJmsEPPAaf2LyIwcJxuEJmRIfCLdjCxngFICVCPknR6DCZamEmixm2ZYAN4ZgEGB6UMqafk3kOCgSbglA5hh3RlehEqluVkUKHDhJBgPSISCrEwBupgA2Shi2QY4HrJCRgaxxySur0Skwagg9sjbqsbDVasG0FtA6HgPQKoECfdxuZl62GXUbHQIWhOBBnTDgHiGBuKyhmW6vTPoYr3SSvqtEBgcY2wIJGVi72bP2WuEpwAE3ocK0BBes8MK8BgEAIfkECQMALQAsAAAAAEYAOgAABv7AlnBILBqPyKRyyRyaNKCmdEo9cigQiKQoglg4rKp43JJkz5bLxXLWkt/STHvevsDvSQ59D+Hg/0MsF3x8I4BwIh8fWIR7EiiHYyp8FoZCLCYcZm0ULJiRU2x0UUcsepxmlqBKXXR+SiB7GqtMGnMUTYNzW7RLjFkiTSZ0FCq9SrpZxk2bWWDHyGe8uW2Q0EnJFlPJEG8lJW+TbdvjVSoWBAAHRSENGctJLKJnJFJt01MCAPvqXx4cA/YFaADPyK8zs5i0ylKsSgJ+ECPuA4fk1Bxr8Q5qUcVERUCJEgcoGUbHQpgk89p8kMIhAEiQAkIokUAhpZeCTjRmkXASSf4JmRFcvoRJUYmtORlEmFj6wWabYErSvRRwoIEDqREH4DwipxGdC4pI5Xl5QGaRDB/5DWhAIEW8Zl4l1JOClV8AbUkeSsRb0esZjExKCIWYYYlHieuSHPXbQoOFBgz4IlGhjx+BJhxAukUSa6cGRR8WZ2HBoIDpAkwWEJYyGECADJuRjKAgAWcrCWAUnC5QeIiKV0PqTjkA0QOcDPVOPNhtmoC7dgQYwMMqUooDiG8eNCDRjrn33QjmYhUw5To/Mhq+q/euLUTErUj0AiAv5sSB9fhNk2jQGkCEJpRZNsYI6ilgwYEWMKCbdyoQF5EAsSURQUQOjLEBcwesZAQKDf4w1xRICyzhnkQVisHcXEhQQMBpCpTwkmRn9bcPcFOQsBuMR3R4mnZf9FcWESlwIF9El4lhQXMHwFdEg+BZEMKIDxIgpYz7EBAAjVLYeBoDUizHnDYWDAXSQBFSYd+NUojgHZctqCamWmaNceRuBOCIRAjehdjChG/Op6QUc55WpxR4ModLC3WJCRUZGXh3KBMZrFgAAQjEGcJHCRTk4IxwqOAdAlLoaJpxZ/1XhIsCLFDUGxtYgMBuCSlRqGmJEQoKk7SieIQKC5r2wDVMPCBpAQfoSkQIr+6GJbBGaHljQSdI8J0CfzLbQq+7LcCAgvixaa0RuOannrHfCqGiuDZ0ShpruUSo0OGw6lHqZAgWPMquERkcoMAJJ2SArWm93TvGCdgKDIeotRosBgkIbqDwwxCzGwQAIfkECQMALgAsAAAAAEYAOgCFM3eJO4GTRIueTZSnWJ6xWaCyYaa5Yqe6aa2/brDCcrTFebnKe7rLhMHRhsLSjsfWkMjXlMvZlszal83bnM/dodPgotPgqNfjrdnlr9vmtd7pt9/pvOLrvuLsw+XuxOXuy+nxzury0uzz2e/12vD13fH24fP34/T45vX56Pb57/n78Pn78/r8+Pz9////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABv5Al3BILBqPyKRyyRymjKvPp0mtWkUUiIjYskAgEo51THZKvuCL+pJFX8pw6xlNr3fieOalzkeP8oBGGn2EWoGHg4WEWyYmh2MtjYluIy1DKyJ7fRSPVhx9IEkii51Uc3QaS6N8nKWqfBIrTJNfEo6uSiB8qUwrdZa4SyN1f01eaLLBS8dfyXp0t8pJH3RVml/R0kfUaNbQZBYGzkIOAAARd0zc2FRtXxnAvRAC5gMd9x0R5uYCTC3uEHgtMQFrnJJ9CBOaI7BkRYY6sZgwQ9OqSQKFGAeoUEKQj4V4R2ihmdJkRQCMGUsouUbHgkEhLR72eXlkxQCUKAeoRNKxj/4GEY0knaqVIcSTXjcTCiDAlMBJpQ4EODgCQpZIRV8ugEzSgSk9hAEiGOmKMcDGJFcLCWRyUSGBs0faJpyqRCZWCCSqPEVogAkBtwPvfvkQwguDB0kyKDTLRDHCBEx6fukg5cNEDRYKaC6Q90iIpPsYUPlqDm4Sh7WODhlkQcQJBgQ2hzh9AGE6tgirjPhQTMiECSdMhHhgYLNmAxBODMlARC6AnUzK7TNt5YFmBAiMa9fswEJ2xEKcQ18i3dxtKxq2qzceWzP48gDOK3EuFtz6+9o9uGCAUHSTvebUZ8UK2Wn3QAgIakCBAuoh4EIIAAJAUxHwTUcGA8YZMJsRIf4UqBkBFGQQIQD+JQGhQpCRoV1nNTG4mQQqjAgAXZ7JaAEZHBhXERInFHfdChXuU8CGQ5QQJAABHEDGCj5qNiERHuhoUgL8LVZAUxg5QGQVIUigXYlLeEjAjUKciJNCZJIBgXYEMGcMewjwEgJpZwKQ5oXbbalEZtqlGUKd+8hnBYba6ZkEn8alWQKg5qRYRgbtbXanEmv2OUQHfHWQjEmNCjrGBsYpQIWHBRhAAYsq5CPAAEZYwACLeThgnH5LpLeZg9oo8UGGT7rQY6K5KsHCl0mU4OJmqgV7BKGbKWAoopuBqWwRLDQZ6gMWWDABqZuBN60RsuInLq3fErHCsTtXiptfuUacwCADFFgr7gbsHsHCTitowG0BCmwQggcUMEBvvU2Eq9mkBFdhnWwJl3FCttn22vDEFJcSBAAh+QQJAwAtACwAAAAARgA6AAAG/sCWcEgsGo/IpHLJRLIuF85H1axaq6yMpqiBeCGmq3hMBEm8Ug706w2T39UPez6/sOB4JYrO91JQeYFFLGd9dBIiLB8ggnkXhpAQElSNZHJsEiCAQyhdfBeVYyZzGndHInwSpqFLKheFX4xKqJibrEuXmKtJj18ft029bL9Mo19bwEt8tspfoMlKLBZzVsIS0EuEbNVslHkhHClXnl7cXxIc3kwlHEUhAPAA7U25EMxKsF+7+AEBIS0eOHAYEE9enGH06FhoUoJAwYcFFzbhMEfdERT50EyEyBEeA4tGVGS0sI8ICgpzKFxww0RAR44ESrQIIdPINIUlWXDIJ4HE/hUOLzsGIDjgVB8JH0woHaEhowSWTVS4hEigKoGpHK8ZERaJjggxDB4K+OeOIMQANYmYyGAiS9duVRo0CFswgZIEEBOkRVIv0rwl7/IuSYEVQNEmI95C2CKBAYMJZItIoNrEQkECVlJ+2LxT0r8TBUIXYHDkAMQMVQLEw9yEBUovyFpsOABOhYoMDUSPPuLwIUgkvQEEuCIiw7MWEkQzQBCagO4CDVYYyaAangArDQruvbLhuXfdBzy0UPHAZ4vgw6uYXo16zIrv8AsQUHCgwAGf6+H9PlIYnlaw8TkXnwIrOBARQxxFdoUCzzXgQQghZPAAc/BtkF08AoizRH7x/qQnRgjgKTiEBxTqhkALeNW1hGWCibEChQQcMIISDzzXFEcSGVFCiqtZkI4VKoQAQYkFtKdEbqKFQBdEB+xVggTVxTOAhld8IJ9oMe5HBGiiZZBClFRVZdZDAVB5hQXePVBFjaEhcBsABCwZVEF/iYGmjVV4gGUDLWjIAZhz1nmmdyImAaKJGwyRgpxBsTaGCh4wKJp4TRyqG2lEBNdhVdUF8B8ZK9QX2gRVZCBgczkKUVAAFqRlYAJmvoGkfVoSwYB3RgpRFTy5ClHoG3eGlioSll7JwAlHCISNnrptVwQJRPaKzREa6Bbjry2QIGloB9Q67QiiPlfelrOKFtu0SkiYGt9oDGxrIrpMsLkufCfCu0SNDSQ3L572NkHCrfvah22/R2AQbmgKWKBwbk0SfEW4BCRKxAjIOmyFvAdYHAgJEZ6r8ccghxwEACH5BAkDAC8ALAAAAABGADoAhTN3iTuBk0SLnk2Up1iesVmgsmGmuWKnummtv26wwnK0xXm5ynu6y4TB0YbC0o7H1pDI15TL2ZbM2pfN25zP3aHT4KLT4KjX463Z5a/b5rXe6bff6bzi677i7MPl7sTl7sfn78vp8c7q8tLs89Tt9Nnv9drw9d3x9uHz9+b1+ej2+e/5+/D5+/P6/Pj8/f///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAb+wJdwSCwaj8ikcsk8aiCSC6dJrVqPFIgWcu16hyrKSMgKWbbar7o6kmgvZ/SWElrbkSG5Xk5BuT4Zd3cle4V6Y4JrboaMEiyJX3loEhwolpYfWXsokF0si1oaSC4celOdVxloH0uSWyqoVCwlpVsWTXFap7FLH3qiTCZot7xLF3p1TC5yxUu5W5xNx1vJzUfPaVTTtoheHAQHDg1szNqHagcA6gBW2xCwTZpo0UsrCcQsFgzr6laEW6yYjNjzaImIAeoGEAjAbx2BXUuWbZHgIqI8KB8CKsnAsKHHdQ0eZQiURI6FikmeTETJJMPHl+oCIAwgYpSeDCyJqMBGr0n+OphABxQk4sLdnG4vVGgApUUjFQEeBzRwQJVBR48SrjHaOrTJPn4EVhxx4PEAkk9bDTk12NDAxoYQiwz8UMLo1qxMVniAum4AEwL8xiUZioKpIQmcRDBokCGFEZcNA5wQCLaKC8MXQpBIQMKChYIMChQg4LZIA48MqCBcZ8XXljEeDBRQ8EEEBwsSROs28pNf3CRf1ZFsQivLrQy6kxNIXsCAYyJ8+YltcpqfgAheTDDfrtuAByIZDkRnRyX4utReuKsvAKEFi/Yvqqur2WQ1v+FWUqzfX+DBCwv8YMfECR/95hVzDGwgwoIfTCAbdwta14QBDRFAQFdUPMAcfkP+iKAAd6ldBUBpSQDoWxcPfMgcfUewoCFz/okIQAJnmQeAYPktx9wES7CgomgIvBDBRwdMBp59CXmBHHMGYHiECMlNsMJ4DSlkoYzzedGAjrrx2MSP/okA1JgOKInAilRYoFuQL0AAAAFWjemRkVe08GMBLPaSHH30sWAjUAJ68YFuBOSpBJTdmWDECQVE1oAHHAwZgIFV6KcbhyVut4ERZK1TJnh0qpGcAlTcKZqhQvZVDHPAKOEBd06ywAEHHqAqCKLdOUkEC2cyx6Y1RpjwYHIIhEqEnckZYIEH8ABbBAvDwpjnCRZEW8BazhaRAZfbIcAAA6aKhle2wBXAQK87/OmmgK7kHjFBurrh2C4TIli7XrPzLqFdugrYmq8RauqGHhlqTsDuv0WYgO53ReCLcBMiEPPwxBRXHAQAIfkECQMALgAsAAAAAEYAOgCFM3eJO4GTRIueTZSnWJ6xWaCyYaa5Yqe6aa2/brDCcrTFebnKe7rLhMHRhsLSjsfWkMjXlMvZlszal83bnM/dodPgotPgqNfjrdnlr9vmtd7pt9/pvOLrvuLsw+XuxOXuy+nxzury0uzz2e/12vD13fH24fP35vX56Pb56/f67/n78Pn78/r8+Pz9////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABv5Al3BILLpMppZxyWw6n1BXC0KFkKLYrNY4qkI+27CYuCKKLF6KaMzOaiQfk4ji9UrWrYumzSdq6oB1EhJUIH18H4GKgSOHbCaLkVVljmN/dhomKEcmH3R1HJVjLYRVGkpGLZdVoaJhiaxPqxAUrlukVRdQLZ9UV7ZYHF4mUbBUGcBQHKVVxFArmB+UyUa9k1jWVM7URYFZF4CbYgkEAQDIUZCAWdkQYyEA8QAMWR/gXuJP0HW6YSEH8gAMKKFlVqsnwqpYyPckhAAHHiAMCBiQQKsGFp6goSIBVRMUdaY9yWCOokl5AQTEO7gkIZWFTVpspMLSiYWTOE0GCNFEhP4ghkNQzITQEcvNnEjjZWRizIuGaSs+MKNSK4sBnQk8cNjKoGTAAzHbSfKyBsvEgAxSGFkBEO3HqWPrLFVGkV4TAgEFOPEZF5AEoHcr6lMpj2CTRIZGZFBE4cOHDBb+DjkRggWTDAEDqEUYUII+IibgfmgRggGCFPlYIChQAMEvIRG8xrMLxetDDjyj8KXyQTXrAhgtCFfwu8AEIngpbnuSPGADLOq0rShOnfoGImcDZmkuDx30JEIYVB//gMjJ7SY9jDlhYPx4CJTKUcSS4mTuMOLdj1dQhmCCgN7ZlJcFNWGxQn6/KaBBCAx+8EB744WAmTwCiLTECrLdlwUJBv4wAOFvcxGBwmrV0UNYPAk80VY8A4gxQXUEBFjECsRVF4IDFA1goRAprKiUGCQW95wTNFY3wVF5RVCEBSfGo5cY450AxQnUMcAWTgEQoKVsASn5SpDAYdFAcZQllZRmYoRQXIhObFCcEEiaaRKbWhS3RxRq/jbETQ5wkACXeXn4Ixu/xYhFnqyBIYRhLqwQG0UCeIdRG1T+5k4UGRDwG21GcBBQiqIgWoABWNT42wM7uuBBQBr2cYKprNFphKi/WdbSVhykygasrBnwGhO8FqAAN0y4WZ2vTKzwwHiyEutCsLEyxMIGYLaGkZTOzsoAA9Bua9p+tmb7xLL6HRuuuDojlVucAdiiG4UG6rI2rLvB6KdprfRGIUFxEzDIYAYQNtBuvk2skAFxBlhYWqsEP3GCog1HLPHELgQBACH5BAkDAC0ALAAAAABGADoAAAb+wJZwSCwaj8ikcskkmi4UiKRJrVqPGYgWMrp6v0lVdEvRmIQsywfMVqKGH8l2DilbtBpWez/UQDQccnSDcxp8eyCEioNnh2Aii5FaF45sI4QSGl1DIxd0EnqVX4lzFipIH3Rrol4ccxehqHOgrFdjdbFJd1sdubVucyJNJoS+v0auW29Nt1uNx0YqGYJaVZ50z9BE13PWjF4pHRkODlfFVLtaFiTGTBYA8ACnVc1am0sqcxTtTQvxAA46EMmQIgm3LYaYpNoC4kuHBP/iDbDQIQKAAA2RsCClhRawOfyMgDjQ4WHEk/8CZFDCEcLKJCyaJWSiYgDKmxEXKGFBDQL+rCNp6FigQgCn0YtM/JS612Jjzy2rlGTAOYCcgwVFIwpQSIjChQvpCFFiYjPigIxERkb0sCSspE/zlkz9N6DgkZr/CCgh9pbM1yjLmPiLF6CEkhQB/glMgkKQhXqFWozIoCLbEgH/Xip5F08AAQeGj6CwIKyFig/1RGRAQKAAhSIaCjhgW6RDXiqJI4ZuEnPLUAYFghOwQJz4AeHlhoDICk/zEubxFlNZKEEg8ODYhWMnoGAIxIh2mUCHF4GNCgTZ02fnMGQ8gCrjB0j38kC9/QLdhXz/F/7yv6FXqEBCCxtcd19r2UEghAMnOZdECLd5YWB6CFgQwoUgPHAAgsH+DdUBVv8k0MR+AABoRQn3mWIECg6kx8ACCLRQFjzzYZHSFxLYpyASKyhgnwacwYPRg7nBw8AXEKh3pBLnKdkCZv8sWQSDJ6FlhQXpBZZEbOqhMFhKC1hFQJFaxWVFdskxsWF2plB51E1pXrGdiUs0sN1rKkD55kkifrECm+hkd4J+e14EWgsLDMAGCIA2gSV2RFikkgUJkAnPALvtUR92OjmaXREZZBrkRWaycYKP2R1QKhItYhcVEgfEo5cj6KVHJxKMZqfAqgMRcIADDrZBQQEcFnDAgEmsUGt2UmpTxAkEFOsrstGgaquzSGTwmHoPrECENMepd4C32Opi3wJKDDBgbXYILLBAsOUWsel96u0aLxXr0lsAA+Tey8Sw+gYXp79LBIzdAwRTsUGtB4QAAgiusJtwFQtbSaCxEFg8sRce8LrxxyBjGwQAIfkECQMALQAsAAAAAEYAOgAABv7AlnBIJKpYxaRyyWw6mSYNBPJ5Wq9YJ2UKoRRZGmR2TCayuFwKR2SyQCSkshzLyqDvd9B8n0QJR3iBXH58hYAadoKBXoV8LBKKkRAijXuJeBoqRCRbaBKalWSPeBaESRx3GaFlKJ1TFk6XUxofJqtZblOfTiy5aLC3V2hVTyaBwVbGXKBPvly2yE0faFhSv6bRSSauENVoGnIlEQ6qY9N3WM5iYwwA7gJJJbF4I1YqaBdyBO7uDBzyLSwAOJCCyblvVlBx0UOmRAB+ECMGKJdERCBmS+6hwWglhYOIICFyyPjBGpcL65TIggDuSYoDHCwMCEkTwJNW+LANARNopP6TAzWDAmDYBNCdD8xUiIAUiBiTDDUFMHBAtV3EAlacSboDjImKhyAF+DQCFCJFg1sD7XJiFSIBjkQSQAwAt4hJSXCEqNDJZB8/AQWblHW7hAU3RRJQnJjAoOsTASKflAjp9cIUDiZArITAwUOBzwVOFMkgukgKiAOu+IUIcAmIsS14PrMAuoCCBxnqafjMACNUfhGufIwYfMwUCkgl1AZNYPmBuJGtDHcXwELrMp6Xa/+MQEiJ1e5gN5kOQPwVDxbSP9i+nUC5wfw8qOYXoAwJ9vhBKxBC3p0DK5PxQ0AZDLDHAFEtaKBAc6DBwkFYVsjFz39j3LfdWUQ4sBwJAf4S54QHEWFoxQkKLOdeEwWChgADBwpEn3yugUUfJWOocEBtEzhho3bdzAQRA9fxJyNqBIJ2wApPZKBddw6BdABVDjAAGU0IYlHiZw9cceNymrQlFEgUjnFCbY41sV5tCMTRX1AB/GdBAnJYwGABZTJBm35ItgBeUATxAcKWn9XpmpGgqNBWAHsKWAgH2mWZFWgMFMGBAAIABIIE4Akq5pzcCQdpEioECQJEmo6BgHalDgFCbftF2BgHgfEBgXYH1MPECoB+Fkc2TJwQQginfkbAATCCeiWrdfFKxKrLAWlXrioq+4QDnHLHIgMHVAuaU9IugWt++EXaLVvg1sZAni/jOmFhuXSma6Ww+W3gbhYaHHCAPCuAYEGuVc6rY5C4Mpiqv1ZsMAG3BCesMMFBAAAh+QQJAwAvACwAAAAARgA6AIUzd4k7gZNEi55NlKdYnrFZoLJhprlip7pprb9usMJytMV5ucp7usuEwdGGwtKOx9aQyNeUy9mWzNqXzduZztycz92h0+Ci0+Co1+Oq2OSt2eWv2+a13um33+m84uu+4uzD5e7E5e7L6fHO6vLS7PPZ7/Xa8PXd8fbh8/fm9fno9vnv+fvw+fvz+vz4/P3///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG/sCXcEgsGo/IpHLJFLpCGAmryCI1r1isSgLpcooXyAWVLZuJqK4aUsFgwmryeX4lre/3KX2fDOH/bHyCRnaAf1aDeywQGBuGhoiJZxyAHC5oGHhykllpeBUlSCKAm5xLmXcVl0mUeBumTSqoaipMs2uwTZ5eTYuauUu7EKFNtxK1wEqjalitXZHJSH7MV84Qq2UnFxd7cF16tmoYZicJAOcnRQMEIEsu1hAiV2tfZRfn5wQO+w7m5wnpkJT41KRQFw9mNuBbyBBdEheH3FW4U+/KCAENMxJYMvHOMSXwupi4ci9jRgFLQooBV0RlhSUnIniIYLJmAiYuRHBRI8ED/rYqHfFAO+KvoYAFFzwoXRCA4U0mA/G4uaWmQoYLL5WcMLlghREPBJw6aHDq0Z0N2JYUXcgtyVp8CJMYNPsKy1sAB5aswMhwgZK5hiS4GPEAQYGKSUriC6hEIUOUfdZMDdplXIMCmBkw8bDw6RIWDf0qKTERMQtvrwxgLmDgQTshHBiEIKIYQF0mYfG1ZSIi7QsUGTiQebC6eOvLrDsMabBwxJXc5+hwaDBiBAgFxbNrH/niwEIsfAEMmGNCu3nzBlK82NAUn3MmW/EVmMPgvP3VD144aAihiYSFZJkxwnmtVVddBwoQYBwL/zG0ERPhAWAAS1ewUF92CqhnxAbZ/l0QH0O7IQGBUe9lMWBx+fWx4AANBRDXEbXhEwCFTZyImQJMXIhZGxV4ECEAC1CIwl3nBGhPca+NZl4KJ7TXWQP7/LgQZGaohhkCV2CXnXMg1JSRiyxEkGQWHBSnWRMTaNcWkRkNQCMWhGWXFRMXqCkEc16eM+MeNq4WohJ1rmbABRoakOc5Z9LRJ2ZGLhEoZsQIcQFfCSgFggeOFSmIdhM2gVwBE8BogBHe4fWBIBVYudptSbBQ3J9asTpInwRwh0QLnxYgazRILJCdckjkWkB/vC6xKAEVtFBECDoKqmGxSTS7GgPUMmDYebBCSwRx99mHo7ZIlNdtdggYZoCtLOBSoeq4bY2AbrpUQIDZAxcwsG5mz8JL55gerPumvs0UBzAf1NI78MEIDxwEACH5BAkDAC0ALAAAAABGADoAAAb+wJZwSCwaj8ikcskUqj6sIusCijav2CaLA4FcipouhJMtm4kXsXrtPbuzGbac/K4vw/K1BGXvS+N5bHt+hB+BeYMrVoRYKhccXGoSHIssIxR5H4xZIHIUJkhpgptYmGsWi0d4ayKkTCiCfEospmogrksmEmt0SyKsuEwsFmqySyxrwU2iXVhqFMpMgM1Xal9nGSlGDiVYhmLOYr1YGQMAC0UWAAAEFk3fXcZKI9apTAnr6wT7+wH5B6+IidHQZFWXQVcc5FvIEICDY7XEyDuyQg7BhA0zDliiwpM9IlPkTEyiLmPGBEuYqdHwsQULg2LcNSlpMiMBbUjoybEwopL+iIgQKFy4QGJJBA4R/C0UcOAoBwkJlOYTQACAzCImsk4TI2HohV1rLjIJYTLCkRQLMgpYEulQzJZH8DW8eoTmwgxLgAZScUXFyXsN0Snp5BaCuxMFEiNIkkFAw25LyC4066twFxYZEic+kaRE1Xwbm0hdy4RwF74uTRCWIGLFAQKaH3BGojAfZSaf2fUFQUFsCw0PPrTWcKAAbM0FHoRYIUFBUSEZFo5TkpvAmw3Is2tHfsCDEAjSryy0fsb19vPICRzgXHud97Hj3VBAT1/zCtcLJTRJu3T6FQTaEZBBCASGoAGA2ZGQgjlLMaGCVFOdwUB2DqCWTnYbpJDRbUj+8McQXVggmNgDSliAHDoHZAQiEe0tFABOWWiA3ENLKIAcCdFldMB0GeS2TgAEBEBjFuZpNpsSMsbWggMWcADhjws44ICP6wgQwhknhOAAcgxc8ZpmCixQVAhP1gRAAFeeIeNxia1Im3ZpkmnmQm5ekVl6dRphYnZ4CWFXTaG5sadm7VwxqGbvtcDBnFXWEYJ20DTxAJxDeAgAZEK0NwCMZqxgwQLILdaEiN3pmeKQQqQgQAJ5ljGhZr4h8ahmaR5RAqe4JJnYAc8hsQKp0TThGpsKrCCriAV0GSwTk3K3QREkSKCdYMsqMcF2BzCgrY3nGVstEnfWh16ry46AIJs74iZW7LdJrGDjAaCip96nBazLbrsOpKkBt8gpkIG3JHh7LxbNjjiwHSsYcFyfB79BwQLa9trwxBRTHAQAIfkECQMALQAsAAAAAEYAOgAABv7AlnBILApVLKNyyWw6mypjBpIRJZ/YrLaFskhQRJYEQh5tz2jiaAyRfDIXshwiStu3lLl+nrne/0wae4MQFlGAiGF5hIN1IyaJgIKMlBSRdyZ6EiCHQiJxgx+XWyYia3MSfmEfg6mjWaBzFqpGInsgr1gsg2BOU3KWuU+2ehpYKHMXwk+Tc71Pc8bLTiKLZFqx0tNNv9ewcsqJGQkZKVqsclqoJGccDEYCAPIRWehknU3Imlkh8QAJHTpYcDBAnrwMWUbMEfWEw55wTwIYnEgRgIMsIFDRMiJmD8MnBCqKBGDhSSY9CJmwiDUHEhYGI0U2cNIs2hIW3cho+PDRSf4IiTErHoBJQIkKQhTqEMmoh52WFP4MDmjgoCqDgiM7KKm5x8KFC2z4bOlwgOJMIyGwUhxgFIQJEw4p6cHXJIHIkkzsUhRQwok9uRC0RDWY4MlgACGw5KQU5UGBxxuUhBDZ14mFiUWPAS6k4sTjxxOUNKjI9okKzFl2ycElhESDKRpYkHD8WcEKIxYOv8MCFEDmJyxEZJDgqgWJAwWGMlDw+TOBAylbnBii92CWkPIEoOmlAsFjAs3Df0fgIcOByC1GG9TKe+IdEuLjy4/cYSJ7Jyn2Nqh8hoH8/82dUJ9BgT1xWUV2+BeeAhZsEMKDEsgnIGqGCZXGcc0xMJ0RJ/541xwJKaglD15MRHBXGsx99kAT8DUXgnoTBXAfbnsRQAB/WkzQnAIGNmfBgBU1QJcKME0kgDloMKDgZx48gcKOLZQlkgAKUNVAAr3JE0BiaHgW3gFZNNCcCiUEoGRQJ6YRQngEnNVjbQ9weSCaBiGJxprhkeiTeCT+RKc8d5yAnI9ZeMAnEZP9GR0aKoQwaAG7PaFjcwQs2oKRDUgQUAYSBWBpGmJ+tqETKbpIhApR6dnCOHb+kUFzoe3pYwh0tRBCBGBOM0J46DFR6gFObePEo8/1WsQJSxaworC+PPpZA1wOYV540TK7BIDKMXAAeOFZ6wRt/3EbX7XeGuHfUDIAxhdruUZBKx246drGbqHOPqZABiFYcMADtc7LxKufGeLvH83dNvAdFiS87MEMN8xwEAAh+QQJAwAwACwAAAAARgA6AIUzd4k7gZNEi55NlKdYnrFZoLJhprlip7pprb9usMJytMV3t8l5ucp7usuEwdGGwtKOx9aQyNeUy9mWzNqXzducz92g0uCh0+Ci0+Co1+Ot2eWv2+a13um33+m84uu+4uzD5e7E5e7H5+/L6fHO6vLS7PPZ7/Xa8PXd8fbh8/fm9fno9vnv+fvw+fvz+vz4/P3///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG/kCYcEgswkqllXHJbDqfUGJkGlFGr9grsliiRlLZsJjY2kw5KQ7GOx2N39kJe07FgOH4ZoXOj3BeISF5g0IhfYcRJoR5HHMVGZBrfBMti28pbBOKRC9mdIKWYhleFS9MKXJeGKFZKSmGVBNWTCupU6CsUC90m06wt7lRmGwZUbtUHMFQI3MlV6NTxcpOHnN3UNBTs9NGJRl7VKZR2dHbYSgAAwcOWV1U10/kU85RKEYYAPkEWSteblF04DXZECABixYfHAzIx7ASFluroLhjA4UFAYYCGGrUZ++Zl1565kR0QmKjSY0BJAj50JFJtVjmijSKRS/KxZM4BywU0LKI/gleSzqxcXiFAc6jDAcwkTSHA8gSTM9k+WDyAIYPWB0wCIBzJJGJiAJmyahxwpIWDkwSYMHEU1hrWNKWdSKX4YcmgEyk8ADu7T+SBMgyPABFMIC7V16GBaOiQAEGG+6d7LlUo1dsbDB4CLEAw4QJdxQ4LmDASN3B9TQmyPKrCgwQCAoo4CCCBAgHo0m7KNLA5IMrGpVigRrtde7jxxUQhXHTMnCND0iEWVGJBPLrjg9Ih6ECxofmh59v3C4Gu3kIEAp0gDEBemqTbxqbn1+ABFWGq6Hg2yg8TAvRuTXAQXdCqLCBAdcpAANKNlU1RgS5GbDeEioAmBsCMCzEEDtO/rRXFktZqJFebhMyoQKCoymgAglcaRRZZRoxMIaFo3HoBAa5QcCCYQwxsJwQCfD3xnXkNdFCgBkeRQADD2jVootjWHcchlHENhoMKDyJ1ElvSJnjFbiN1h0+DGy15UaUYQFCA6MRcFkTONZYSUcoBHlmPr912WYFV8SZ22UbnCRAAg60mB8cuSkIEHJFAllWSyQIgBgeVjp2QpXIxWRUPv2xwuZoEEDRAXJUFkECBg4Q8GIuI47WaBEtVFoAAg2syo0RNBZAgAGXUmihASDc+gSKue1aQa9CtEABsQVEIOwTINDXwLTXIfssE7gZkCt9BVz7RAseVMIBs/Tt5m0ULSaQix0BHpx7xQnXGQBBmAVQ4C4Wn85KAqQNBHvvFfm++W8YJ6jx48AIJ/xvEAAh+QQJAwAuACwAAAAARgA6AIUzd4k7gZNEi55NlKdYnrFZoLJhprlip7pprb9usMJytMV5ucp7usuEwdGGwtKOx9aQyNeUy9mWzNqXzducz92h0+Ci0+Co1+Ot2eWv2+a13um33+m84uu+4uzD5e7E5e7L6fHO6vLS7PPZ7/Xa8PXd8fbh8/fj9Pjm9fno9vnv+fvw+fvz+vz4/P3///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG/kCXcEgkmj5IU3HJbDqfUGcGQr1Er9gslEKFWLXgcLGVEblWooykC5FkUuJ4NrWGWNh4qma1ulhacoFELXV5hngagoqEh41sIIqCH46UkJFyIHgSIIBCJiB3eZeBXF0XnUsjhVSjcSJsEqhMKXitYqFUSlAabLq2USJ+bIlRK4+/V5N4I1ilEBQfvshMHKJYF3nS00TYtdfZcREE4wtZ3WzmebJaAgDuCWCvXXBXhlglRRzt7gErWi3DrsijIkHDhyshAgwokcHBAHcQAQiwoGIIvifnIDB70sKZBHpRHASISJJkAAgZBgjw5yRTl49OWvDqcvAKh5I4cw6o2MQY/qyNY3BRARllX86j71oa0uBrhTJvWCyUDHDAgVWHOS8yWUUpD8srC0gS0GrxYUQCT6p1PVQzioqRENE6MetOAEeha7tocyIV4sonJeC6C/EkxQURJkRo4HrIjBALDTJ8JSKBJIeQESVoWSEU2gkLCBikAEmiAIECBS4PuUnSbpQSEQeAMcFGxIkDqAswsMCbgoHTqAmvLgnvilEABBaQhdKLRe7n0IMT6RvRARYCJVVfMcHdBKDo4AsYIDHEQUnrV7BbjnMifPgNjwkcRx+FLkQ5DNyHnzDBwAnW7sgFhQo4xeEAdApoEMKCIWSwQHjWHbccE+bFFcYKuz34HHxM/nhgAHgnhAVRcU4EFpFwWmQQnQEoMkHCh9BRAKA7Fjghgn0kaqFAdBBEoeJz4xEYUQARUCPYYGGkAGIULMCImhAVtmYBB1RmcECBYdwGHX1QMABcAUIchxROLWaxwoGoEVDjFWiidoILCY15lIBghPDcmlFY8JxwUhGAlZz8OBaGnbnhCYUEz3kwRAY8WaCeSQtwEIFEE5r53ANY7JibARywwISIAWrnQgk8yQHkZE04Bx0BbzIRUQa2EFpoFBREh4AT44xTpiAPrFjpECc4mdsE2zgxAXgs9qRpmtIV2wQC4T0ggqdC/IfAlwhksKCzTmygnwEMMKBhbgQYgCq3Pky8ceaX+qEmKrp5tvscvGDoKS+Y9GbR3r2t5nvFpSHY5kJpBSjwq79LpPDAh+YW8QExCGuxbcQUV2zxEkEAACH5BAkDADAALAAAAABGADoAhTN3iTuBk0SLnk2Up1iesVmgsmGmuWKnummtv26wwnK0xXe3yXm5ynu6y4TB0YbC0o7H1pDI15TL2ZbM2pfN25zP3aHT4KLT4KLT4ajX463Z5a/b5rXe6bff6bzi677i7MPl7sTl7svp8c7q8tLs89nv9drw9d3x9uHz9+P0+Ob1+ej2+e/5+/D5+/P6/Pj8/f///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAb+QJhwSByijqiicslsOp/OiDSyglqvWGdrGgllv2AriVvxVIWoc3jtFCVfnAmXO+FwIpMke1/cSC9zgYEkfIVjgohzGYV8gImPEXqMayGBdSVIJB5yc5KTYC9zF55DLx5zhJ9hJVwXL06HUouqYH5TqU62Ui20X5wRFVZbUxlur71PKFwiVxiBpMhElZ1XGc/RTNNcWNZzXl8eAOIAX7FTx1DdXN9ZGOMA0E7K1FYVXBwovFktC+8DJ0RO6FuyIoMjKR6srOCyAcsFISwmCHg3LkACDwkADGDh5MWvCQOb6IqQ4krGAgsCUFzpj2MTbRFctZmDzokDljhXOuj4K2b+TSLmIsx6wiKn0XEhl8DE46GmqUDBrAxgSeCCh6sbEqikCCUosQwGEzGD4u6dABBLWmwdB9DJQUiCxj7J+C6ekBMTxzV48hYul6FP1gJ48ETEuwBPXvRNlAHDgg0b0LkQkVRIuIqVldAV9wBEQiYvMpA4UuLOHBEpHBQoAKFIg9UK2g4h8G6BlQ0ss6z4FUzB6tUNLghX/XunkAV5xzW0kjvLKVkwXv+eTh3DkAIrP0NhOSILihDgSbQ4QL386ghDDmS/wlI7GAjm41MQcpPiBGGHHzyQncUEgvgAJlTfOwdYccE7CYRxwQELlIcABiOIMMIIHRD3GwEUYEDBZUj+QUEbW2H8Vx4FLiyRgm/liaBAbU9IYFYYHZi3HBMtiDidAyBQRBgTByIYhnQ3QiFCeQV+OE4C/MHAz0oFghGCjaup4QSKvyngQj9M6veAViwFkBkULky3lxUUTLecYEfptMZ01lmBwXTMGJYmTgN8+USYv7VJ1nQmWIZmTlVJEMBGa4ww3XxuTkfECAM0hNGfAzwEkUthDFnlFRYW4AQLLo7TJCMYULlaiXeS91trU46zYyEmmKenSOUp4IQHDujnHh9A/nZAn02kYOqh2DQBAgEO8qpEC6L+lmSwRCBwQLIHYMBfCx78Oh2qzDoBX6wNNADlaghAcAEGxmbbxLY2AE53QEnmYpFruh20m8UF6Soqr0MXAjjmvQaauusQJfy6L79gdqBAvESYwGC5BDfs8MMQ8xEEACH5BAkDAC0ALAAAAABGADoAAAb+wJZwSByyTKyicslsOp9NDgUC+UCv2OzzQoVIiiyQdkxWsixd74VDYmkgFFR5njWh0/iuRE7vE00ZKCoZeYVdfH59Z4aMXYmJII2SKo99U4UWICabJhwSeBqVdG94FCZLbniUomWXVBZJTaRUoaxkqlCfaRYitlgmaRdXInnCvlDEXb1QKHlfx08cabFQhdTQRR8ZulRZd1QUH6tZIRYOBBxkro5YaRTXWQQA8wRkXLhQLGnLZPLzAAcylBBiQUAGJx/yiEGW5tSYFAv+SQQgwB+ABCmYJEsjAZ6ZdeOcpAghJMOAiSglWngyCwIsJy0hOHziAACBAylzzsvHDUL+hpBENnap5SREAJ1IAWR8kpDjB0QtBhnix0RAzgELHGhdYPHfSijruli4QJZRxydd5wU4qITD0X8CrsSUtA9KirdqSTIpgReAgyf66Ir98IEDVSdW//0tOlFruiUqejKiIILEhgkPsKSQGGCpk7QAm7C4R7YsHhYbCqgmwHaIhQd6h2SQmODK7IkDnowoouIbhBYeVAtHADsEA+EKTgxJIDHCFRUpyahIg0KC8OvYVes1KvExlL7zYtdB0iJE9vMFGAgB/RVK4nk/yZwg0eLEA/TnEQip2RiLxHplHKfAAdcRgJ9wE7RgAUoAPnHbPM6REdx5BzzgQQgYbnAfdiT+cJCSZ0105Z0WCBiInQXKKXHCOSYeEMIBCZz0T21OLNidfARil5kTDpznwUTtKRECSkFmQUKOqikAhQpICucBf/+4qEQE4AEQwEBkWHCdB1dYh90EdzGolVag/YPlGMepdgAW5mH3V0RJ5bTAHAgIN+cVbaqGgAWUvBenTQsE0CAZ16mH53VfDfmnlWyVAKIWeRZwJxSRxkblPAPglJIDj5KxQp3XrXmFlsKJVwIBBFBSAgcO9PXICefRB4UC1+EpUadlLJDdYkVhJ16IBGR1Zh8TZMeaEyvQGuqv2BBRjgXKCkcUbz1mN22zS5zQZAEKQFWeAiZeh8AK2DJ1ngJGDDCwwLZblgtFmgcKV6EFFmzgLhSkxluAlPdike+BBDDbbxPF2nlcuEkODCmt9sp23aQKP2dFEdU+MGLEZaggMMYcd6xwEAAh+QQJAwAtACwAAAAARgA6AAAG/sCWcEgUslDFpHLJbDqZLFEGAkESWaqndssdsqjUTFED+bC66HSRAgZfNFOqxKqua0eStr5Nt/uVZHuCEGd/hi0fJiwXg4Mih38ijZMQFIWQaSx5exIffSZxYBqYaiCCF1lKIptUHB8fqaRPKHsXl6qCILJbkmASsUyhYGK7s20XWrR6EsVPJm26Wqxgfc1Jz2AmW4xgFsDWSb1U2lrcVLdcJRYGKXUmFm3kT+bIaQMA+A5FIQYlTqZ6HklzoyYAPnwMOijMYDCAg29ElB3TIg5CvS4pBBzcyBEAsSXTxj1h0wadkxT3Oqrs0EQYFQsmiVSkoiGmkgwaVaq00ESF/gkT07wtmQnGppASAAYY0Ml0gBZsvjT8LKQi0J5RTRLoDGDAgVcHWjnqe/KBUqNfPXVGaLcv58EQ5cweI2GiWhILO5mg3CiAAAC4TKxSoiBPS9iDY/Ua5BihiblJMFVkYMAAcNqN/pzg5eiUCQhWFi5cgNfmQ4sCqAsweNJhY2cnSDuyXYJidJ9Vok6kRs3AgxAVDArwHNIa8Ra3ABxCTALRlIUOJYLvRq2AAYLUD4Vk2JjYid+3dU6IUKFig4Hp6HeTELLUuJbv+MKfV3A+vf3VHdofTLAlJQACdShg34CpIdDCdhwFoEUKGwGYxgb2IZBBCBSGYIGA022gQl5O/kTAlxq6obeaEiFIh5qB/h302hIpLHYQS2lcMN2ITECwmwYREAAfPgbolSI+AVjGRQa7GbCCEytcN52FHBHwEXE/4iOAGg7stoEWFqDH02EqfsVAlC+qUR9qyyURgpZCgMmUAA7oqAYJuynAhYhCbMbURgnMlkYIE+xG4xO7EWAAVgfcyZ0fH9CpxZmpPcklUz36wehuBmrRZ2rrEeEhAPh1YMGO3amhQnonaKEkakqUsFYRYQXwZx0EoBeqEh74mU4EQkoaApGpEXAlEyqcWsAE4GjR5m4ZLKcChqn1U6wTKox5omlEkMBsnM86cel0BlDGwLXTZZrtElkSiF6sNcKN20S55mJnwQMPqNuEsAQ+UKa8+0g3gQUXKorvFhbk+oCV//pxwpi5FowGCRQq7PDDDgcBACH5BAkDAC8ALAAAAABGADoAhTN3iTuBk0SLnk2Up1iesVmgsmGmuWKnummtv26wwnK0xXm5ynu6y4TB0YbC0o7H1pDI15TL2ZbM2pfN25zP3aHT4KLT4KjX463Z5a/b5rXe6bff6bzi677i7MPl7sTl7svp8c7q8tLs89nv9drw9d3x9uHz9+P0+Ob1+ej2+ev3+u/5+/D5+/P6/Pj8/f///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAb+wJdwSCwaj8ikcskUijIjo0bUrFqtIgkEImERP1vJx3Utm4emrXrNJp/fVRd7rnbD70kNnU7F+4kuGXt0Ei1/eCYpLhaDexZ2h2Use2IpQy0gE2wZHxcgkVdgcxqQRB2EoFZabBZLp3N9qUura6VHjGwXskwpuFsaTSJsFCS7TKJbn0xyaybGx81VFGqtz0vIEM5NF2q6ZxkhRiUrViPRTbTeViUOAgAGRSEBAAklTXpqUctrEmUZAAABEHBA0MGAgADIJWHh61cwNsqqrEBIkSITWmosLeHGBlgVBhVDArCnBN+aR0qEzflQJYLIkPCUpKBjwdARlXM0LrHwUmT+giUZgo4yQbSoIDoekyRIAJLiAAcWOkhlMA8hgxchvORptCcDCRO2iHAIGSDDkRIHK/4syZVNrCXuKAYIh2RFWookkxzlKkEnk5AdlpQI6eBaWwjANDBAUECBEp4IBzRJUFEy25MXLjSk8MJCgc8FiiWBYLVJCIprlbDgoCWDVidqNKBgDFoBiiEo6AqpgNBsk6oAFQaDRMIDBxEpNtAGXcDAhBAeGDOwCRlg4CYEEMIhYaAxA+bgwzcu1gFhNSbZA75psVy8+88EzFanVyU9wDcSxBN4z7ywPIQBNDEYQteVEYJ4DIATQggbSNDeZxIMSNF5STjglG5XTACeAzb+FeFBd6Ah8IIBFQXQ4RGnVXTAGcsNpEQLCjCnwXwBDSBcESzcZZ4ZJDCHwIlHtABiASIGEEBcARGQ1xAdIImQAGc8IGMTGoL2gAXhUEaRAAUZ4CRACXTgQIFWCAlaTEwcCN5VL2jZE0KpGchAjKCxyQQK4dlJ4ptgwlElc3Yu0eOaQ/zDJwF3ZJBnFWr2N4SFh97hQXiONSElaBKE0GGTAUUglZg6LlmGYt8xdxsT7QEpRAYExPnCCgIIwICob1z6GYVIKGqlgaDgyZxoSIwwZGjWWApeUvEMK2KxTGgQngOnFioehswesYF7CjCg7bDMGaBqtUPYyp97uIJ7Cbc34zL3gLlJkEBbtu8550EID/TDbhItPLCBEChMQGdt395bhZmgRStwlHUefEcLC4YArMIQRyxwEAAh+QQJAwAvACwAAAAARgA6AIUzd4k7gZNEi55NlKdYnrFZoLJhprlip7pprb9usMJytMV5ucp7usuEwdGGwtKOx9aQyNeUy9mWzNqXzducz92h0+Ci0+Co1+Ot2eWv2+a13um33+m84uu+4uzD5e7E5e7H5+/L6fHO6vLS7PPZ7/Xa8PXd8fbh8/fj9Pjm9fno9vnv+fvw+fvz+vz4/P3///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG/sCXcEgsGo/IpHLJfLlUxg+FQ2par9eQBDIiqiBgiAZLLhMvYcjlsk1DMuY4NuOugyUsuX45ststLnuCRSxtfm4Xg4ouFod+GRoQFIpyjW4aJIFCJ3R2XZRXloh5RyF2k6BNLnZwSh92J6lMJ3USmkkuFG5QskumbhxNfWFjvUssnWGxTKthH8ZNohDLTKLP0EvJEFdoYBaKHQwhWK9hpEzdYNRWDgEmRQMAAALfwmnruG4Sn9UC8gIOAjo4IE/eAiu0wgRjQsKOlXgFI0oc0ISFrjTnkkjzxk6ix4IS0NWpl6Scm3FNIH70SBJJwlFITKahcEuJg5U4JYRoEPJI/jo3H3g5IbExUaiPAQgsaOBApcQAGYeckKDhp6MwtqIFfNpyiIYAHxMs4XB1lxWwE1EeMeHP4zslIww5asUkw8cOSzp4HKA2ScOy214wGMzgWpGbEg80IRBxQFSXbiis+UlBRYoCmAtsOGKhbcEGTewWJGBlGBh+L0ZkkPCMBYPMBRC0ODICrTy8TSKCtqJCA4ViL1g0KDABhIUGB2BjVlBiSIjZLxgXxM3ENuk4LRQo3w4bggXtCvIsiEh3icoAK+JAIMC9vXIFLyxEPJg7olgzIdzrz5xBb0GoTPjXWBwIKEfABCGMEMIGDxS4HXwKSLSbEgl4JIAZIyiHwFtF/mxwAHuZaVDhU+kl4cFHipXxWmYMQHdECtplBkEDKCYRgm0RdSUMbAc8VkQKyWGGwAo4jvaYBEVK4AF1VoQQwoqYbVYNbCXQuJJSDjQgnUSBkWECdy4qwQJsE6DQgAkmbImTfXHk994VDw4x4prypIjfdgzA+eYQ49E5jxwc4GlFC4IOIZ+fAPSFRQoePAAbfE18ACJmBORpaEQEdNDBkhaAFYCOZTiIWQpNxLgcA+WtIEFbTL7QQQM+ljEBbA8wsQGPsb5gQqupXAablEgACRuo2BixnQdIlCBqAT0Wu4Svyj1A6hApQJkZsc4OMVx7CgxmqnITZmsEC9/ux52iOeIOkZ257TGQq7gpNABHCOW612W6TYSwgIbICvFBefg2AW1sYQZsRpAFLGSwHCokGMK7C0cscbpBAAAh+QQJAwAuACwAAAAARgA6AIUzd4k7gZNEi55NlKdYnrFZoLJhprlip7pprb9usMJytMV5ucp7usuEwdGGwtKOx9aQyNeUy9mWzNqXzducz92h0+Ci0+Co1+Oq2OSt2eWv2+a13um33+m84uu+4uzD5e7E5e7L6fHO6vLS7PPZ7/Xa8PXd8fbh8/fm9fno9vnv+fvw+fvz+vz4/P3///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG/kCXcEgsGo/IpHLJRFIglE6rSa1WT6niCcKFlKzgMLHVgUhGrhRoI+lCNuJ4tWVx2+1ouV4Juvu5IXuCRlt/fhslGhBZg3obhpAQF41yJHcSGyEnmx1PfoGUYC1tbiBTRS0Xh6FULZuKXRInSrBdFKxUhXhLo6W4TSN3FsC+v0uPdqC8bpPGSshus02qXSvOSS0hpFzSTNRcGoIHCRYdKlUh0VTfXBaMTSZFJgD0AB1VKcVMnupMIQMB7qno0GBAPQDDqjBrssJPtyQODko8KODcOjfWlvS5c0oJgYkgAQi4x6QFPwgJk6TY1iUcEw0hQy4IYSEBEjp34CBJcZLC/jsmCWIKBeAASZ07F0gUUcNyUZV5EgdI6NDhg4YDMZURyfeHwoWvR5NZ+XhQwpEPAkAOQNJHQtNIZpmsqNpAYkojKgweDJDniKkWtSJxY/IBZNwkIQIcLNqExNs/wzgwYDDhSxGYEgM0qVuvwZyTUL660dBiBYICqB8YWTBxQRMVBw9YYYdmRYMCGi6EMLFBAWrUCIxglciYiV4AmquM8ATCRYkDBQgQ+E39t2oiJoIuplLg4N0mKU5MuV29/O8J1rJZi1iv+BKy9AI4iBdmg/n71T1jpmezyfF6h1kBgnnT4febBSvsxRBIJFlhWnUIaDBCCBOCMAF05R2wAnxE/jEBAUgZWTFBdQ+ESEQIGFI3zH/2KLGCYvUIIF0YJZDoom+/MeCCBRPxhcQK/wVAnxUNMHDabwowQUKKBbwIUkBFrCBBWmWFsYJ5li1hAXUo7DfRAA044EACVB60VhgflJckPNQFMtxQPQ4pYnkTVKGiCyscYA5rcNYjZxUaIFAgat8pUZ0COgkxQplD9SeGBnc2UWN+RcAG5wB/WlHCoJ41sWV1hXLYQAd5dDBAAhbJwSQKch3Z5mr1nEmEiXIwQF2dS4xY3o8ENciKrdT1dQQH1X1wzRKTUneAVkRASl2nx97kanXoDVGCBeT9dkBH0R7xqYH4+drtEcCCa16iOeMescIDrF41KLgI0JouEihkC65L8zaBo3UcULjlsvlWUW4B6LoQArcBH4MjrgnvcXDDEEcssQtBAAAh+QQJAwAuACwAAAAARgA6AIUzd4k7gZNEi55NlKdYnrFZoLJhprlip7pprb9usMJytMV5ucp7usuEwdGGwtKOx9aQyNeUy9mWzNqXzduZztycz92h0+Ci0+Co1+Ot2eWv2+a13um33+m84uu+4uzD5e7E5e7L6fHO6vLS7PPZ7/Xa8PXd8fbh8/fm9fno9vnv+fvw+fvz+vz4/P3///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG/kCXcEgsGo/IpHLJNJ4wUE9zSq0eN5CsxMrtEkmpYQqULUu96CkW0gFdynDIppWuH1uYuB4uOaUuEix2dhV7hnEXdINoJ4eOWRqLaCN6EhohJyclGnsPGIqSVS2FcB1HJ29xgqFWZGV9SSwUcBesVi0ScCFLKblltlMjGKlZGE0hcCDATGu6U74QFaDLR3lxJ2q0J9PUQx162E2ucCNeGgQGDrVTJKRl4UzjZcpdCwD3Albf89lxu0wiIg3xEODevTNTWtB6Bo7JhXsJHCQQYNBgAIFTrGUJs4TSKxD0lDioSLIkASkXBnSEY0zJCmgQ4ClRUbCkTYMDILqMsyFJ/gp3EFo2eXizqEEHSZqVwbCiyAqlWWQuIVqRgAYPWDUkuBlAxSlHFaAQg1OhCoGKF4+IyIlWRJJ9jwxJTeKBJEYjJmriW8JJwti4ENYxoWhQMBIRJN0maQGCztO4DwKvunDhw6qBCdjeI9Bk5NEqJ2BCkIDpAYULn4SIKMDaQAki9khGaKKiogCvVOQlumCAQAENIoJ/MMCatWIhZ0kiXKIZQALQcFpoKE69OuueQ5JXXK5Eu8HZUzKBKLfaunkDHF14rni3e0mkXViYn6/gtRATse8tmOL9HnguDFjnG2sDFmcAAwgCh9YUNnE3xQPWNQBccBosYB46LBB2DwQO/qHlgAO4VXFBdQykR0R51j2QHwABHHeEChoCAF8VHBSgQHUPKFECcdU1QNU9LSKhQnP5cOFAgawhcBkSH1RHAQsrAtkelCUZNoV81mG3BITFfVDXTQN8eKRNRVpRY3UGTFECdbX0Z1RJJnSxAQLFETAjE2y6wAJbzb25mRdNFmelEtTBJ4IBbnngJlcOqplnE1gmaV8RBJUU0YcCDBAnGtQxMEWg1G1hxFYGPUdEiJxSZ2ISFjp5RATbsbImdTkucWZ1k1LqwYessHAjdQaQoCOPwHaDBAXn5foFsQUYQBkHxh6RArMGbrCkC9NV90G0Sow4XwEMUMZldVpye4QsOcH9+i2O5l457rqsbdvuFOfAy1qt8zZBLQIIMgttvvoaKK8QI5YIsBoPEKesC6se3MTCDkcsscNBAAAh+QQJAwAvACwAAAAARgA6AIUzd4k7gZNEi55NlKdYnrFZoLJhprlip7pprb9usMJytMV5ucp7usuEwdGGwtKOx9aQyNeUy9mWzNqXzducz92h0+Ci0+Co1+Ot2eWv2+a13um33+m43+q84uu+4uzD5e7E5e7L6fHO6vLS7PPW7vTZ7/Xa8PXd8fbh8/fm9fno9vnv+fvw+fvz+vz4/P3///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG/sCXcEgsGo/IpHLJLFog0FJzSq0eodCLdctNojRYaIY1dJG7aKTqMnqpwOGwRoWiSFTpfFkCpcT/cXd6aS5PgIeBLoNoF4iOUCCLaC5+cR1nLy4mlWEokl0ufyFIGXEmn1wgYYJJcGKoW5wQUkuNWG2wUyhhWky7WBKeuUpfsqNNslB4w0e2nVPOWJHMRtFQwkyu0lwLBN4iVdYQx0yqcdNWAOoADlUhfxnQqxfYVCfrAAHgVC4lq00u+ECRgGmJhSEdEuBbl6DDixMJEjAptW2JOSgOmzAAMIDAgIUgBwhQJ5HYqmVI/IUpmMQCyJcwSyaJZoHlkItZmrCAyXNh/oAVSnBCKlhCXLwmLkEKWOCgaYKRIPchofTIUcYlK0BGONIB6rqjSH5VPaQB6cKrRk54BSATyYixgHoxWdtOiYiFQJW8zfBF4B8KIE50GHFBEZMO+AQ0cYBvgM0imFyMMISlrAUEBaQKkVDAwEEiIhSuW6BzoQAHJ/iFOYi5QGcLH0SIyODaNYMha9V9mPJxYV15kF7UHu6awPAHQwiARKtEue80rYlLV5B8+RTn+H5veSC9u+uyL7Cv29pEvDryVlg48O7dwKkOC3qrGzAlAL7UW0S0UGB8uAMLAFrwgAH9uWYABQCSYN9XTCSljgFcKNAdA6cYkUF0xzG2jj5K/qywoDqfVaGBdAQ40EISKRjQnYL4BBBiESLIl89jS2BoIBMidPfAAiBpJ0QEILU1RQoSEvdiEtwNd9sBLwmQQFMLfLiQZlRQQByNRaQwHGl39eQlfVuUoCQVrZX4AgsyeukTlVSMOQUDtVEgxAq9EZDbQh0RYN+RVbjZhIq2DbGCAUclBBIBYL3AXBUqDEddEyb4ecQ96ygmSZK1oaQEpq5JkEISXkE4CAucuobcEjlKl2gRgnXwAX6D2OhahUiYAOhwBHxKjREWdOderbf6t+sRLbBXkxPBFoAAAwywOewLunImnQHMMpBsAQqc+CwTFBTIXm0PaLstE6Wy5+O4Mkpo+W1tfKKLRKq1GbAAA0XWdpu7TRRZoq4v2GrcAovii0QKGfApAgX8Cqzwwgw3zEUQACH5BAkDAC0ALAAAAABGADoAAAb+wJZwSCwaj8ikcskcii4UyKVJrVqPH4gWIrp6v0rNVqtBCVGWCwvMbpos4zHlItFSzO28UJXpgupxgVsSa3ptcIKJYxyGbRyKkFofjWAsUYESIIUtLCCXWxmUlYhjJkcqpFp4oldipWFjEqusVJ8QIEwXsRy4tEwqcm6CKr5LIGO9TKlaXcWnb69NrmOTzkaA0UxZcc1VJQ7gjFe6caZN21oXJptUFgDvAilXGYHVTI9b7FUO7+8DIUQihEoyIhAFKtgsfOEgoF+/ARE48APgQMkHOmNGMDm2RUOTFApbhEjgsKTJA8QIxkqJBAU2Lk1IDiBgsqbDAPKUkNNiQd/+EI5jPC5xZ7Novwi/4kgQwW7EzjhCkaQIYDMAAXDgqJZMIC0SpGRIiJZ0kJPIRIclmNjyGrQJTYcDj3DQ+o6rkoJstUjI8OEilQEOGSwJUZJA2iQi8uIKoeEEFRU3yyaJYBJnEpdqVICgF+eDBQQFCggmMsICwCJiAYxeooJuP3FIWOh7SiK0bQYPPoT4oCD0gagtSL6m8hbuFRRjWoC2zbz56AwHXB9mcrbf6i8Wmmu3HRJwyelLqgtgcNrLCQbb0z8QUrxf3CXt3z/ekGHDgfQFCBDQTqJF9bpUuCYZFRDkZ6BtB0wQwoK7OdCcAiqU0N475SWR2gDmpQcBS0T+hLBcaApsEAIJBzg0AIdGpNCQdV5MsN0ESpyw3QEcFDbgECl4109IVqzgIHMQDrUdCf9RZARDlVVYxX62KYlEb80ppGM/ASSA1YQOVeQFkFRsoJ0ELWBplEMEfKECczA2sQKQ/ZUwpkkzDRAAeFWEwByPTDC3nkhTGhVABDk5ScUDaFZx5xAqlAiABRL1CUACdGL3IBUyhkYAnv5hKqAehGqHIhIuNkkdWnrUph2mR9jJnJZKqABOBhx8+sWHCDqWRAj3OWcNEhkwwMABTBZwwApIaJArcwSkuSsSqlp6wAa2CkHkgcwdEO2yR4TqnK/HMofAffJha0Sn+DW3p7gx2pTbHHDoKqGtuv2120QGwYrmq3byVjGCg3ieAGVo9uTLxLV7IOBAYwInrPDCDLcRBAAh+QQJAwAuACwAAAAARgA6AIUzd4k7gZNEi55NlKdYnrFZoLJhprlip7pprb9usMJytMV5ucp7usuEwdGGwtKOx9aQyNeUy9mWzNqXzducz92h0+Ci0+Co1+Ot2eWv2+a13um33+m84uu+4uzD5e7E5e7L6fHO6vLS7PPZ7/Xa8PXd8fbh8/fj9Pjm9fno9vnv+fvw+fvz+vz4/P3///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG/kCXcEgsGo/IpHLJHJo+l1VzSq0eKZCspUVsZUzWsHh4yWYlHNGqZclyuOM4M2Wu27MXuR4JuvuzH3t7Kx8jKxl/f4GCcoiJj3mMYyOJGiMmJiIcbXYgkmKcdhJgRimhWSKfVi1ldqlILRp2FheeqlN2i0qnZ7dNJnWRS8B3pL5JInWvTBLFx0ofdXBMjmYXKc9JrVlU0Wa6Vh4ck1h1Uk3eWcZUBQIAABFGtrt3y0vbEGLv+w4qQwsAEpxDwuGOhSYt6hwM427fuwAECOwLEI+PHxJMCpoZV2XFAIcgQQpI0qKZqGlHktWRYI+PkAwNQ8p0wKRFOS0oiZD4gzFJ/gYABGLKlJmgCZ2V81ysIIEvmJIVQkESWODAQYIAIZMm6SPqwgVed7AlYTC0X5ESCUAOWJfk5iMtH+K2NJIWZACtRDhg3Tcgg4cSJE2+hbCQygGQHH3KPIBscBYKLVh8sJChyc99BJrUBQnNpAYoYEV8KEC6AF4jDhxWZuJB5ukhhwoLSQfBhIXSBRBYOCFkhYPdRADuoxIVgOwpNiFQ0HDCAe7SDBgcKP1giMR3Aww7VJB4DAgEz58TwB0I5kQqqfe9XnIIhO/w8KG7+AgScJPDw8U4j8+fNAIX+DlEUxN7ARCAGBnERwACD1jgoAXgPXdCBCEFYN8uDmUWBgPw/iGQwUBDfHBARKRZsMJiS5RQIAAHgDjFCdOVRsABLCRRQoykbRCCBcLtUxQSKtDn0ADrJXFbaQf0lMRozzGwwXV8RXChECAI6ZCFG+J2HBIRyugAVDIRUJUDAYY0oBUK4FYjExuEp4ALHAwlJ19inIAbA1OwAF+Nc4bUlwslTJknh/JNQShpC3ywQgl9CijHBmnitgAVh/4nRAlQzllRHEfixtgUMRJQHREwYSkEB1Z6oAeTzykJzXgFELAaESuwFec7AmxpBQnwjfpUlwUIaqQFwo7h4H6luWrEe7jxlo0SLHQ5o7JDjBApbg44+ywf4jkQAq0Z4Pjct9smgSxuSAhEJx2s4eFZ7lb9dTgdje8aGe9zFrDAAgja1mtEp/EyIJa/TEwAq7qHlkZwFSVMMLALIIi7sB4J5gbcxGOsEMKaGHfs8cRBAAAh+QQJAwAtACwAAAAARgA6AAAG/sCWcEgsGo/IpHLJHKJEzah0emSJLBAIlMiRfFTUsLjFypotn5EJZIZwxvBoez7XxO9JNn3/wfu5e4EUf38agYcaLIRiLBIQjnVqJiYfGXQWYItTH3sWKEcqF4GfmkuNeyZKhnR2pUooFHR9S6J0rkwcbYNMJqi3SiJtb01YZhIjir9InGapTcxZI8pK0BDOTCNt19NG1dvA2lQhCQACKUUcCcNLJrVZIFG5zVMcAPYABOstAvYEFtR0djGJZUaalBL3Eirsp0TFHn1Iss35kIxJiQALM0qgtYcUEhWQ2kioqCQExowLEyypZiyTERTFJjYxiRLlRiWT9Bib5WQV/p2RSg40YJAxAAECA1D+Y6LT2IWnMYV9SKPEAkoG54hkOLBwgIMGS3weCteE38KlRzicVIgWiaWxZngusbrwZhIRa+8NWPIW7sYMFobKNWIhr4AmDTKWSHIKLoQLIQgUmPxgCbl7dpWkWEhgcRIUGhy1EsIi5oUPkycfkHBiyAmXLRwkhJiE6722SqzAJnOBw4cHqYOvtgD8AFrZ93YnSXzPwxgNBw5sYBC8uvUClVtctueZCXN7tGdOlny9fOoQ2hNmiEL0XvglIw6YJ2/+QYmkCVU2wW/PORUVCFx3wAQfhGCgBQpYZ4EEijHRgUL6UUGCdWAdEcIBRxVAgH0Z/u21BH/3BNBdFBMG98AKSZwgn2oqgHhPAsoNsV1CBIRhQXAMxEgEaqk1wMFRZt0jAG0l2LbQe0oEeF4TSqo2AQktZpTAVw4YmZAAA9RIRQbBKRBFBvRN5mWUNS0UQAdijLBVcBNEgcJ1QqiQV5kDjDgFddXhpgScQhBQ5j1ajoFncHomYR0DQwRZ5gFxTEBhFCrgSIQKDZw0JAcceJDBWgHEcWN1jDaxQXDoFUFpABDRxYCdYySY2npLrNAkAlQgKYYGwuk4hKuTtclNkl2SgMQJvE422K9FhGDdBK3F+UGxqXmJLBLKmmftZIVOO+i11ymA4rRGAMdtagMG6C24K0gAF6aAmLSgQgYeoWtEBjyV4GhwDXwrrxifYrsvHJGmlu2/BBds8MFLBAEAIfkECQMALQAsAAAAAEYAOgAABv7AlnBILBqPyKRyyRSijpmPqkmtVk0XCKfIgXgvJqt4PNR4vZSLOnuGhMlw6qdNp7/j+KSpzodk8oBGLBZ9fBqBiC0ZhX0SH48siWRmbRIcJpgmIBoSfVuSVBkXhG0akYKUdVOgSyh8f0qpbSKsS111d0kUdBa5tUa7dBdNInSrv0gqHJ1nI1TBXshMbNFUstJL1BBVc2engCUpVotnVeRevkwcB59EAgEJ7UvdXs5N0BAXJFQeAwAAARx44EDQwb9/FpiwkHWIyQg+tJhYOEix4j8JS1Tg8/JkCalK35SUsEgSQIIle/ikI3KLTkMmIUqSPKlE2xkJ9ozIarPSSP6KADJnlkiiotCFiEJEMDtz4RiTFP4oDiBAlaoAiwEIBEhoZMQHE+cYgWySwUEDoBS5Fslw1aIAcUlaivWCdEnbimqNqCBAkgHKpYwwNolp0UHGqFKZ0GOUMASDxwxWHGHgtgmHin6ntbGw5sJSCSwaFBhdIMQRDnf/GW7C9yDcecFAE3EFQYMKEghIF3iQBDEAeUokUPRQZYSGnCQaMCBBQkJu3aMZnBBywrQQgweHWk4Lh4QB6OBJG3gcXUgDitbVUVwt5sT38PCh8554MK8S+v9ojmEQnzSB+B9cdhABVLR2kADANUECeAY0YMGDFlCAwH/QMVCCbwDAogRhFf6lV8UG0CkwnREZvEeaBKn989YSBh4UABn8kaaAZEh4558FLR40wGtGJDDTGCHoZoBTRyxIWgMcWtSAdkNkkCM8SLZnYgEaKvGAeCdQRkCKAxKA4T8DENmEBjHqJuZpFBagwD4tqPBlUGGSYQF4mTGhAngICKGCj0HpeGYTc1ZYxZSjpZdjSS/CEahudTJRJmnpndcnQnCEYIECuikwKHhstkDZQRJ0IGoHEPwTQAOATDniEkaOhsCDax0AEIkW/CmGaKTZhwSuo21AlIesfAAdsDrplic2Szw3mgHEDkEBdC8hi4SyuR6jjAUTGiutEiD2562t0j7rbX+obovEAzJpjgsdceaeS0EI8PIKngIUYMpsu1VoEKIGI6qQQaf4NnElaewGXKluzRqs8MIMNzxGEAAh+QQJAwAvACwAAAAARgA6AIUzd4k7gZNEi55NlKdYnrFZoLJhprlip7pprb9usMJytMV5ucp7usuEwdGGwtKOx9aQyNeUy9mWzNqXzducz92h0+Ci0+Co1+Ot2eWv2+a13um33+m43+q84uu+4uzD5e7E5e7L6fHO6vLS7PPU7fTZ7/Xa8PXd8fbh8/fm9fno9vnv+fvw+fvz+vz4/P3///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG/sCXcEgsGo/IpHLJRJYuoJKrSa1WXSGjBcKFtKzgMLEkgWRQaNSoyxW7rRq2XD5625fruV6CuvuPeoEQFCAgHXV/diGCjFwliW4qehmFhRmCFJBhLhRyHSxGLHF6fZpMLJZsEo9JeWxZpkyLc7BKl2yxTaNyU0sscrlMW3IZVLdtwUodZa9UIGylyUkX0M7NdywdK2DPXdFL3V0XiG4JAAACBFWuEB1Uu13uTCsJASJFAefnVShsmUwumF1TYiHfOQIEBuhbeKKKnFqtSDEhsLBiRXu65PBRokIgm17KLIrUx6DhiS9GwqlS4cQjBVZNRIycGYBAgANHOu4BAfKF/iiNPZe0EGAxHUKFMxscmbXngtNOc0BYOVCxQUMiJxoYvHjPSAco8BpxQdnEQtUkJ5AuHLBNCQqoYiE0OSGSgdCt6NoyCSvokQUGDz6k0FKUbJIMCwPwm2MBSod4LkQUmFzAghFzFeU2UQvAsFs2xV60eMCAw4jIFhRQLqC0CNGK8pg0WBh7iYsSIKg9+oBgMgLVq1c/KJK1YpXZ+iyLSRG8efAGKE0IoaivioOFBK6GeeC8+2QGCghkYsCQigKLOMNo8M5+cgaz+iJQwXtOfpjewSFoECGCwwP8wRFgAAkLCaDXYSJ1ZUUGBKyGwAdHaHBAg6tNINNCCTDB2TmK/oHxwQHCKZECiKtpsCEAGSaBGYcRdKAgEylYwN1qCnhmhGSrIVeUBQeuwOBZYIhA4WoQMjHjZC9QN9IACNlkkTphWDAkZVR8sJoKdM2kpQA2NkFBcwpQwRxlcongjggn0nRgFRKQSJldVASnQJFC6KjlOa2JYcFqcDbhXBES3HmOAB68YcKQfTLxJxErFNjBVSvYJIEfbhbQpRFWBocAcWolqsmRlTXBgIMMKOeVVcGsR9kBMCGhqm+XSiNEC8BNRsAB0iGxJ2UE5CorEhl0FxhKLYiQAYCT/fMrEiZU2p6msS77wnpTPktZtNK+Z8Ff1lJmqrRMNGstruBW8epkIAo8oIF0o0LAUrlUtBCcZ77CS8Wok+Vp77789uuvKUEAACH5BAUDACwALAAAAABGADoAhTN3iTuBk0SLnk2Up1iesVmgsmGmuWKnummtv26wwnK0xXm5ynu6y4TB0YbC0pDI15TL2ZbM2pfN25zP3aHT4KLT4KjX463Z5a/b5rXe6bff6bzi677i7MPl7sTl7svp8c7q8tLs89nv9drw9d3x9uHz9+b1+ej2+e/5+/D5+/P6/Pj8/f///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAb+QJZwSCwaj8ikcsk8Rh4TS6hJrVqNoof24bl6v0OPZzU8WbYPC3hNXWHQcHSXTT+uJvG8drLxbB5TdXQZeoVogYJgJYaMESmJYB5xGSElliUeT3ERJZBeKXAVj0YrknBznlaEWxVkSX9onalVJ2iOTGdbG7NNuWhqTLWsvEyaaB9UFWiuxEh5J1SwWpTQzUXCcFWmv2sODRgbJE0rmNlUq3JgHQDsAA1Wb1vVTHinTSCjQxDtAA5WIWh2MVkUR5aSCAACLGiwgAA/dgIEjrOVL4kyVpWYHUGx4KFHfgXEsYAgEgm6B62UnEzJBEWAjzAfCkiy4iIrESbhIGLSIKb+T3YJcubJMI/FiXhorFTwGICAU6c+KxzZxiiP1CoC+AWAgMKIg5cPDyTxVRVOhCpL+Uk0kiIrv5KkKkwI8cFY2RFNKoBldzVJiL0AMLQ5CWeCTWQsTFQAcWTBgIcGmvRst8AKqF8fToAAMcLCPAYFChhgUMQtP8Et+c20Yisx6AIKhIwAgYFA6NBFPlZx2A4uLgtPBN8eTvx2SRK6qSSQ2fdKg+LQYasQQuLAY35VDnh89yVDdOgKKpoG4DvJdX7Nq6hQ8B36aPYZ9rVLjyTFx7VVnhNHUKF/f/bRecAPAZI9NAABjFkBgn63IYAKERhEJ8F4DywBAmD0MfEacQr+TIfECNA1sBw//iCBwnkArHaFexUd0QFxDIDw0QAdFLHBAYAF5oUJ0GXQBALDVWBATAI8lSM7YnnhXXEmNBHhbSCQcORP7ahohWIGDBfbPcMxtlRT41EJQIZ5DUdaEyDeJoEQ4LCQwldiAnBAi1WAYGYVxCVIRAq8tRPAARFsgMFjla3B421nMpHmcNztyc8ARui5Rpa3ebjEixwewU+SqQB5G2pLMKjmERts0EE4s0hAnAE4KWFncRpYc8Shq+JlEqWhNRCCKLIesSFxFTQ5hAkZ/Aobnb0Osah7DDCA63AG2JosEhr4B2B7w9U4LRXGtifstj9iGxoBoIK7RAUhwxHQbLPXIiCtuUqg+2kRzpYLrxLEOlvAvfz26++/qQQBADs=\";\n export default img;","var img = \"data:image/gif;base64,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\";\n export default img;","import styled from 'styled-components'\nimport React from 'react'\n\nimport gears from './gears.gif'\nimport gearsSmall from './gears-small.gif'\nimport { SharedStyles, SharedStyleTypes } from './SharedStyles'\n\nconst Wrapper = styled.div<SharedStyleTypes>`\n width: 100%;\n height: 100%;\n display: flex;\n justify-content: center;\n align-items: center;\n ${SharedStyles}\n`\n\nexport const Spinner = ( props : React.PropsWithChildren<{small?:boolean} & SharedStyleTypes>) => {\n return <Wrapper {...props}>\n <img alt=\"Loading...\" src={props.small ? gearsSmall : gears}/>\n </Wrapper>\n}\n","import styled from 'styled-components'\nimport React from 'react'\n\nimport star_dark from './star_dark.svg'\nimport star_light from './star_light.svg'\n\nimport { SharedStyles, SharedStyleTypes } from './SharedStyles'\n\nconst StyledStar = styled.img`\n width: 13px;\n height: 13px;\n vertical-align: top;\n`\nconst StyledRating = styled.div<SharedStyleTypes>`\n ${SharedStyles}\n`\n\nexport const StarRating = (props: {rating:number} & SharedStyleTypes) => {\n return <StyledRating {...props}>\n {[1,2,3,4,5].map((x,i) => i < props.rating ? <StyledStar key={`star${i}`} src={star_light}/> : <StyledStar key={`star${i}`} src={star_dark}/>)}\n </StyledRating>\n}\n","import React from 'react'\nimport styled from 'styled-components'\nimport {StarRating} from './StarRating'\nimport { SharedStyles, SharedStyleTypes } from './SharedStyles'\n\n\nconst ProductInfo = styled.div`\n width: 100%;\n background: rgba(0, 0, 0, 0.55) !important;\n position: absolute;\n left: 0;\n bottom: 0;\n opacity: 1;\n color: #fff;\n padding: 10px;\n font-size: 14px;\n box-sizing: border-box;\n -moz-box-sizing: border-box;\n height: 110px;\n -webkit-transition: height .2s ease;\n -moz-transition: height .2s ease;\n transition: height .2s ease;\n z-index: 1;\n text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.5);\n -moz-text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.5);\n background: -moz-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.55) 100%);\n background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.55) 100%);\n background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.55) 100%);\n filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#b0000000',GradientType=0 );\n`\n\nconst ProductName = styled.div`\n font-size: 1.2rem;\n font-weight: bold;\n display: none;\n`\n\nconst SupplierName = styled.div`\n font-size: .9rem;\n font-weight: bold;\n width: 100%;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n`\n\nconst ProductWrapper = styled.div<{picture:string} & SharedStyleTypes >`\n width: 100%;\n height: 17rem;\n overflow: hidden;\n background-image: url(\"${props => props.picture}\");\n background-repeat: no-repeat;\n background-position: center top;\n background-size: cover;\n position: relative;\n line-height: 1.5em;\n cursor: pointer;\n &:hover ${ProductInfo} {\n height: 100%;\n }\n &:hover ${ProductName} {\n display: block;\n }\n &:hover ${SupplierName} {\n overflow: visible;\n white-space: normal;\n }\n ${SharedStyles}\n`\n\nexport const Product = (props: {sku:string, picture:string, supplier:string, name:string, price?:number, currency?:string, rating?:number} & SharedStyleTypes) => {\n return <ProductWrapper {...props}>\n <ProductInfo>\n <SupplierName>{props.supplier}</SupplierName>\n <ProductName>{props.name}</ProductName>\n {props.sku}<br/>\n {props.price && props.currency ? props.currency + \"$\" + props.price : null}\n {props.rating ? <StarRating rating={props.rating}/> : null}\n </ProductInfo>\n </ProductWrapper>\n}\n","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","import defineProperty from \"./defineProperty.js\";\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n\n return target;\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","export default function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n\n return assertThisInitialized(self);\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nimport possibleConstructorReturn from \"./possibleConstructorReturn.js\";\nexport default function _createSuper(Derived) {\n var hasNativeReflectConstruct = isNativeReflectConstruct();\n return function _createSuperInternal() {\n var Super = getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = getPrototypeOf(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return possibleConstructorReturn(this, result);\n };\n}","import React, { Component } from 'react';\nconst LOADING_IMG_SRC = '/images/gears.gif';\nconst NOT_FOUND_IMG_SRC = '/images/404.png';\nconst DEFAULT_MAX_ATTEMPTS = 3;\nconst DEFAULT_ATTEMPT_INTERVAL = 10000;\nclass Img extends Component {\n constructor(props) {\n super(props);\n this.state = {\n src: this.props.src,\n attempts: 0\n };\n this.onError = this.onError.bind(this);\n }\n UNSAFE_componentWillReceiveProps(nextProps) {\n if (nextProps.src !== this.props.src) {\n this.setState({\n src: nextProps.src,\n attempts: 0\n });\n }\n }\n componentWillUnmount() {\n if (this.retryId) {\n clearTimeout(this.retryId);\n }\n }\n onError() {\n if (NOT_FOUND_IMG_SRC === this.state.src) {\n return;\n }\n const max_attempts = this.props.max_attempts || DEFAULT_MAX_ATTEMPTS;\n const attempt_interval = this.props.attempt_interval || DEFAULT_ATTEMPT_INTERVAL;\n if (this.state.attempts >= max_attempts) {\n this.setState({\n src: NOT_FOUND_IMG_SRC\n });\n return;\n }\n this.setState({\n src: LOADING_IMG_SRC,\n attempts: this.state.attempts + 1\n });\n this.retryId = setTimeout(() => {\n this.setState({\n src: this.props.src\n });\n }, attempt_interval * (this.state.attempts + 1) * (this.state.attempts + 1));\n }\n render() { const props = {\n ...this.props,\n src: this.state.src,\n onError: this.onError\n };\n return (\n <img alt=\"\" {...props} />\n );\n }\n}\nexport {Img};\n","import React from 'react'\nimport styled from 'styled-components'\nimport {Button} from './Button'\nimport {Img} from './Img'\nimport {Input, InputProps} from './Input'\nimport {IconDoc, DownloadIcon} from './icons'\nimport { getThemeColor, getThemeFontSize, colors } from './Theme';\nimport { SharedStyles, SharedStyleTypes } from './SharedStyles';\n\n\nconst ArtworkName = styled.div`\n font-size: .9rem;\n font-weight: bold;\n`\n\nconst UpdateDate = styled.div`\n font-size: ${props => getThemeFontSize(props, 'tiny')};\n color: ${props => getThemeColor(props, 'textbody', colors.textbody)};\n`\n\nconst ArtworkControls = styled.div`\n text-align: right;\n position: absolute;\n top: 0;\n left: 0;\n z-index: 2;\n padding: 10px;\n width: 100%;\n box-sizing: border-box;\n opacity: 0;\n transition: .3s all;\n`\n\nconst ArtworkInfo = styled.div<{withPicture?:boolean}>`\n padding-left: ${props => props.withPicture ? 0 : \"4vw !important\"};\n width: 100%;\n position: absolute;\n height: 3rem;\n left: 0;\n ${props=>props.withPicture ? \"bottom\" : \"top\"} : 0;\n opacity: 1;\n color: black;\n font-size: 14px;\n box-sizing: border-box;\n word-wrap: break-word;\n -moz-box-sizing: border-box;\n -webkit-transition: height .2s ease;\n -moz-transition: height .2s ease;\n transition: height .2s ease;\n z-index: 1;\n`\n\nconst ArtworkWrapper = styled.div<{cssHeight:number}&SharedStyleTypes>`\n width: 100%;\n height: ${props => props.cssHeight > 0 ? props.cssHeight + \"vw\": \"auto\"};\n min-height: 4rem;\n position: relative;\n line-height: 1.5em;\n cursor: pointer;\n\n &:hover ${ArtworkControls} {\n opacity: 1;\n }\n ${SharedStyles}\n`\n\nconst ArtworkPicture = styled.div<{cssHeight:number} >`\n width: 100%;\n height: calc(${props => props.cssHeight}vw - 3.5rem);\n overflow: hidden;\n position: relative;\n line-height: 1.5em;\n cursor: pointer;\n box-shadow: 0 2px 4px 0 rgba(0,0,0,0.2);\n\n &:hover ${ArtworkControls} {\n opacity: 1;\n }\n`\nfunction truncate(filename:string, max:number) {\n var extension = filename.substring(filename.lastIndexOf('.') + 1, filename.length);\n var base_name = filename.replace('.' + extension, '');\n return base_name.substr(0, max) + (filename.length > max ? '..' : '') + '.' + extension;\n}\n\nfunction extension(filename:string) {\n return filename.substring(filename.lastIndexOf('.') + 1, filename.length);\n}\n\nexport type ArtworkProps = {\n picture?:string,\n icon?:string,\n name:string,\n cssHeight?:number,\n date?:string,\n edit?:boolean,\n noTruncate?:boolean,\n onClick?:React.MouseEventHandler<HTMLDivElement>,\n onEdit?:Function|VoidFunction,\n onDelete?:Function|VoidFunction,\n onSave?:Function|VoidFunction,\n onDownload?:Function|VoidFunction,\n inputProps?: InputProps,\n inputEl?:React.ReactNode,\n};\n\nexport const Artwork = ({\n inputProps={},\n ...props\n }: ArtworkProps & SharedStyleTypes) => {\n /* TODO: 20 is arbitrary; ideally a component should know its width, and that should be used to compute the max length */\n return <ArtworkWrapper cssHeight={props.cssHeight ? props.cssHeight : props.picture ? 17 : 0} onClick={!props.picture && props.onClick ? props.onClick : undefined}>\n {props.picture?\n <ArtworkPicture onClick={(e) => props.onClick ? props.onClick(e) : null} cssHeight={props.cssHeight ? props.cssHeight : 17}>\n <Img src={props.picture} style={{objectFit:\"contain\", width:\"100%\", height: \"100%\"}}/>\n </ArtworkPicture>\n :\n <IconDoc ext={extension(props.name)} style={{width:\"3vw\"}} />\n }\n {!props.edit ?\n <ArtworkControls>\n {props.onEdit ? <Button size=\"small\" onClick={() => props.onEdit!()}>Edit</Button> : null}\n {props.onDelete ? <Button size=\"small\" onClick={() => props.onDelete!()} style={{marginLeft: 10}}>Delete</Button> : null}\n {props.onDownload ? <Button size=\"small\" onClick={() => props.onDownload!()} style={{marginLeft: 10, padding: 4}}><DownloadIcon style={{height: \"20px\"}}/></Button> : null}\n </ArtworkControls>\n : null}\n <ArtworkInfo withPicture={props.picture?true:false} >\n {props.edit && props.onSave ?\n <div style={{display:\"flex\"}}>\n {props.inputEl || <Input // Custom or default Input Element\n style={{flexGrow:1, marginBottom: 0, fontSize: \".8rem\", padding: \".3rem\"}}\n value={props.name}\n onChange={inputProps.onChange || (() => {})}\n \n {...inputProps} // Add onChange/onBlur to update name\n />}\n <Button size=\"small\" style={{height:\"100%\", marginLeft: 10, paddingRight: 4, paddingLeft: 4}} onClick={() => props.onSave!()}>Save</Button>\n </div> : props.name ?\n <ArtworkName>{props.noTruncate ? props.name : truncate(props.name, 20)}</ArtworkName> : null}\n {!props.edit && props.date ?\n <UpdateDate>Updated {props.date}</UpdateDate> : null}\n </ArtworkInfo>\n </ArtworkWrapper>\n}\n","import _ from 'lodash'\nimport styled from 'styled-components'\nimport React, { useEffect, useState } from 'react'\nimport { format } from 'date-fns'\nimport { LabeledCheckbox } from './Input'\nimport { SharedStyles, SharedStyleTypes } from './SharedStyles'\n\nconst TaskLabel = styled.div<{hasCheckbox?: boolean;}>`display: flex; min-height: 25px; ${p => p.hasCheckbox ? `width: calc(100% - 24px);` : ''}`\nconst TaskName = styled.div`flex-grow: 1; font-size:13px;`\nconst StyledTask = styled.div<SharedStyleTypes>`margin-bottom: 1.5em; ${SharedStyles}`\nconst TaskBody = styled.div`margin-left:34px;`\n\nexport type TaskProps = {\n taskName: string,\n date?: string,\n done?: boolean,\n assignee?: string,\n taskBody: string | React.ReactNode,\n checked?: boolean,\n initialChecked?: boolean;\n onClickCheckbox?: (checked?: boolean) => any,\n};\nconst Task = ({\n taskName,\n date,\n done,\n assignee,\n taskBody,\n initialChecked=false,\n onClickCheckbox,\n ...props\n}: React.PropsWithChildren<TaskProps & SharedStyleTypes>) => {\n const [checked, setChecked] = useState<boolean>(initialChecked);\n return (\n <StyledTask {...props}>\n <LabeledCheckbox checked={checked} label={\n <TaskLabel>\n <TaskName>{taskName}</TaskName>\n {date ? <div>{date}</div> : null}\n </TaskLabel>} onChange={() => {\n setChecked((s: boolean) => {\n onClickCheckbox && onClickCheckbox(!s);\n return !s;\n });\n }} />\n <TaskBody>{taskBody}</TaskBody>\n <div className=\"task-metadata\">\n {typeof assignee !== \"undefined\" ? \"for \" + assignee! : null}\n {typeof assignee !== \"undefined\" ? \"on \" : null}\n </div>\n </StyledTask>\n );\n}\n\nconst StyledCalendarTaskBody = styled.span`\n font-size: 13px;\n font-family: 'skufont-regular',sans-serif,Roboto;\n`;\n\nconst StyledCalendarTaskWrapper = styled(StyledTask)<{backgroundColor?: string;}>`\nborder-radius: 5px;\n${p => p.backgroundColor ? `background-color: ${p.backgroundColor};` : ''}\npadding: 5px;\nmargin: 0;\nheight: 100%;\nmargin-bottom: 7px;\n`;\n\nexport type CalendarTaskProps = {\n id?: string;\n title: string;\n description: string | React.ReactNode;\n date?: Date;\n completed?: boolean;\n colorType?: string;\n assignee?: string;\n checked?: boolean;\n overdue?: boolean;\n order?: number;\n onClickCheckbox?: (checked: boolean) => any;\n isDescriptionHtml?: boolean;\n draggable?: boolean;\n hideCheckbox?: boolean;\n Icon?: React.ReactNode;\n};\n\ntype CalendarTaskHtmlProps = CalendarTaskProps\n & SharedStyleTypes\n & React.InputHTMLAttributes<HTMLInputElement>;\nconst CalendarTask = React.forwardRef<HTMLInputElement, CalendarTaskHtmlProps>((\n {\n title,\n description,\n date,\n completed=false,\n assignee,\n onClickCheckbox,\n colorType='light-green',\n isDescriptionHtml=false,\n hideCheckbox=false,\n Icon=null,\n ...props\n },\n ref\n) => {\n const [checked, setChecked] = useState<boolean>(completed);\n\n useEffect(() => {\n setChecked(completed);\n }, [completed, title, date]);\n\n const checkboxStyles = React.useMemo(() => {\n const styles: React.CSSProperties = {};\n if (!checked) {\n if (colorType === 'light-red') {\n styles['borderColor'] = 'rgba(209, 69, 121, 0.24)';\n } else {\n styles['borderColor'] = '#BEF1DA';\n }\n } else {\n styles['filter'] = 'saturate(0)';\n }\n return styles;\n }, [checked, colorType]);\n\n const RenderTaskLabel = React.useCallback(() => {\n let DateElem: React.ReactNode = null;\n if (date) {\n DateElem = <div>{_.isDate(date) ? format(date, 'yyyy-mm-dd') : date}</div>;\n }\n\n return (\n <TaskLabel\n onClick={e => { e.preventDefault(); }}\n style={{fontWeight: 'bold' }}\n hasCheckbox={!hideCheckbox}\n >\n <TaskName style={{width: hideCheckbox && Icon ? '80%' : '100%'}}>{title}</TaskName>\n {DateElem}\n {hideCheckbox && Icon ? Icon : null}\n </TaskLabel>\n );\n }, [date, title, hideCheckbox, Icon]);\n\n return (\n <StyledCalendarTaskWrapper\n backgroundColor={colorType === 'light-red' ? '#ffebf2' : '#01d37417'}\n {...props}\n style={{\n ...(props.style || {}),\n ...(checked ? { filter: 'saturate(0)' } : {}),\n }}\n >\n {!hideCheckbox ? <LabeledCheckbox ref={ref}\n stopPropagation\n checked={checked}\n checkboxPosition=\"top-right\"\n checkboxStyle={checkboxStyles}\n hoverByLabel={false}\n labelStyle={{width: '100%', paddingLeft: 0, paddingRight: 0, marginRight: 0, marginLeft: 0, margin: 0,}}\n label={RenderTaskLabel()}\n onClick={(e: React.MouseEvent<HTMLInputElement>) => {\n e && e.preventDefault();\n e && e.stopPropagation();\n }}\n onChange={(e: React.ChangeEvent<HTMLInputElement>) => {\n e && e.preventDefault();\n e && e.stopPropagation();\n setChecked((s: boolean) => {\n onClickCheckbox && onClickCheckbox(!s);\n return !s;\n });\n }}\n style={{\n padding: 0,\n margin: 0,\n marginLeft: 20,\n }}\n /> : RenderTaskLabel()}\n <StyledCalendarTaskBody\n {...(isDescriptionHtml && typeof description === 'string'\n ? { dangerouslySetInnerHTML: { __html: description } }\n : { children: description })}\n />\n <div className=\"task-metadata\">\n {assignee ? \"for \" + assignee : null}\n {assignee ? \"on \" : null}\n </div>\n </StyledCalendarTaskWrapper>\n );\n});\n\nexport {\n Task,\n StyledTask,\n TaskLabel,\n TaskName,\n TaskBody,\n StyledCalendarTaskBody,\n CalendarTask,\n};\n","import styled from 'styled-components'\nimport React from 'react'\nimport {Textarea} from './Textarea'\nimport {Avatar} from './Avatar'\nimport { getThemeColor, colors } from './Theme';\nimport { SharedStyles, SharedStyleTypes } from './SharedStyles';\n\nconst PublisherWrapper = styled.div`background: ${props => getThemeColor(props, \"bgblue\", colors.bgblue)}; border-radius:5px; padding: 1em; margin-bottom: 1em;`\nexport const Publisher = (props: React.PropsWithChildren<{}>) => {\n return <PublisherWrapper>\n <Textarea placeholder=\"Post a note about this project\"/>\n </PublisherWrapper>\n}\n\nconst PostWrapper = styled.div<SharedStyleTypes>`display:flex; margin-bottom: 1em; line-height: 1.5em; ${SharedStyles}`\nconst WidePart = styled.div`flex-grow:1;`\nconst Date = styled.span`color: ${props => getThemeColor(props, \"textbody\", colors.textbody)}; display: inline-block;`\nconst Action = styled.a`display: inline-block; margin-left: 10px;`\nconst Author = styled.div`flex-grow: 1; color: ${props => getThemeColor(props, \"texttitle\", colors.texttitle)}; font-size: 18px; font-family: \"skufont-medium\", sans-serif; `\nconst Subject = styled.div`color:${props => getThemeColor(props, \"textbody\", colors.textbody)}; font-size: 14px; font-family: \"skufont-medium\", sans-serif; `\nconst TopLine = styled.div`display:flex;`\nconst PostFooter = styled.div`font-size:.9em;`\nconst Comments = styled.div`margin-top: 1em;`\n\nexport const FeedPost = (props: React.PropsWithChildren<{author: any, subject?: string, body: React.ReactNode, date: string, comments?: React.ReactNode[]}&SharedStyleTypes>) => {\n return <PostWrapper {...props}>\n <Avatar pic={props.author.avatar}/>\n <WidePart>\n <TopLine>\n <Author>{props.author.name}</Author>\n <Subject>{props.subject}</Subject>\n </TopLine>\n {props.body}\n <PostFooter>\n <Date>{props.date}</Date>\n <Action href=\"#\">Comment</Action>\n </PostFooter>\n {props.comments && props.comments.length > 0 ?\n <Comments>\n {props.comments}\n </Comments> : null }\n </WidePart>\n </PostWrapper>\n}\n","import React, { Component } from 'react'\nimport styled from 'styled-components';\nimport { getThemeColor, colors } from './Theme';\nimport { SharedStyles, SharedStyleTypes } from './SharedStyles'\n\nconst Wrapper = styled.div<SharedStyleTypes>`\n background: ${props => getThemeColor(props, 'bgblue', colors.bgblue)};\n text-align: center;\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n ${SharedStyles}\n`;\n\nconst ErrorTextContainer = styled.div`\n background: white;\n max-width: 450px;\n text-align: center;\n border-radius: 10px;\n font-size: 2em;\n margin-left: auto;\n padding: 100px 50px;\n margin-top: auto;\n margin-bottom: auto;\n\n @media only screen and (max-width: 700px) {\n margin-right: auto;\n }\n\n @media only screen and (min-width: 701px) {\n margin-right: 10px;\n }\n`;\n\nconst BotContainer = styled.div`\n max-width: 450px;\n text-align: center;\n border-radius: 10px;\n font-size: 2em;\n padding: 40px;\n\n margin-right: auto;\n @media only screen and (max-width: 700px) {\n margin-left: auto;\n margin-top: 20px;\n }\n\n @media only screen and (min-width: 701px) {\n margin-left: 5px;\n }\n`;\n\nconst BotImg = styled.img`\n margin-top: 20px;\n padding: 0;\n margin: 0;\n max-width: 450px;\n`;\n\ntype StateType = { hasError: boolean };\n\nexport class ErrorBoundary extends Component<object, StateType> {\n constructor(props: StateType) {\n super(props);\n this.state = { hasError: false }\n }\n\n componentDidCatch(error: Error | any, info: string | any) {\n this.setState({ hasError: true })\n console.log({ error, info })\n }\n\n render() {\n if (this.state.hasError) {\n return (\n <Wrapper {...this.props}>\n <div style={{ display: 'flex', flexWrap: 'wrap', position: 'fixed', width: '100%', }}>\n <ErrorTextContainer>\n I'm sorry... this page cannot be loaded.<br /><br /><a href=\"/\">Back to home</a>\n </ErrorTextContainer>\n <BotContainer>\n <BotImg src=\"https://login.commonsku.com/images/repairbot.png\" alt=\"SKU Bot\" />\n </BotContainer>\n </div>\n </Wrapper>\n );\n }\n return this.props.children;\n }\n}\n\nexport default ErrorBoundary;\n","import React from 'react';\nimport { default as BaseDatePicker, ReactDatePickerProps } from 'react-datepicker';\nimport { Input, InputProps } from './Input';\nimport { CalendarIcon } from './icons';\n\ntype CustomInputProps = InputProps & {isClearable?: boolean};\nexport const CustomDateInput = React.forwardRef<HTMLInputElement, CustomInputProps>((\n { error, noMargin, onClick, isClearable, ...props },\n ref\n) => {\n return (<>\n <Input\n ref={ref}\n noMargin={noMargin}\n error={error}\n style={{ marginRight: '2rem', display: 'inline-block' }}\n className=\"react-datepicker-ignore-onclickoutside\" \n type=\"text\"\n autoComplete=\"off\"\n {...props}\n />\n <span style={{ fontStyle: 'normal', cursor: 'pointer', position: 'absolute', top: '8px', right: '5px' }} onClick={onClick}>\n {!isClearable ? <CalendarIcon style={{ width: '1.9rem', verticalAlign: 'middle', }} /> : null}\n </span>\n </>);\n});\n\nexport type DatepickerPorps = Omit<ReactDatePickerProps, 'value'>\n & Omit<InputProps, 'value'>\n & {\n value?: Date | null;\n placeholder?: string;\n };\nexport const Datepicker = React.forwardRef((\n {\n error,\n value,\n customInput,\n locale='en',\n todayButton='Today',\n placeholder='yyyy-MM-dd',\n placeholderText='yyyy-MM-dd',\n dateFormat='yyyy-MM-dd',\n isClearable=false,\n peekNextMonth=true,\n showMonthDropdown=true,\n showYearDropdown=true,\n showPopperArrow=false,\n dropdownMode=\"select\",\n nextMonthButtonLabel=\"\",\n nextYearButtonLabel=\"\",\n previousMonthButtonLabel=\"\",\n previousYearButtonLabel=\"\",\n popperClassName,\n wrapperClassName,\n ...props\n }: DatepickerPorps,\n ref: React.Ref<BaseDatePicker>\n) => {\n return (\n <BaseDatePicker\n locale={locale}\n selected={value || props.selected}\n todayButton={todayButton}\n customInput={customInput || <CustomDateInput noMargin error={error} isClearable={isClearable} />}\n dateFormat={dateFormat}\n placeholderText={placeholder || placeholderText}\n isClearable={isClearable}\n showMonthDropdown={showMonthDropdown}\n showYearDropdown={showYearDropdown}\n nextMonthButtonLabel={nextMonthButtonLabel}\n nextYearButtonLabel={nextYearButtonLabel}\n previousMonthButtonLabel={previousMonthButtonLabel}\n previousYearButtonLabel={previousYearButtonLabel}\n dropdownMode={dropdownMode}\n peekNextMonth={peekNextMonth}\n popperClassName={`commonsku-styles-datepicker ${popperClassName || ''}`}\n wrapperClassName={`commonsku-styles-datepicker ${wrapperClassName || ''}`}\n showPopperArrow={showPopperArrow}\n {...props}\n ref={ref}\n />\n )\n})\n\n","import React, { ReactNode, useEffect, useState, useRef, useCallback } from 'react';\nimport styled, { CSSObject } from 'styled-components'\nimport { getColor } from './Theme';\nimport { Button, ButtonVariant, TSize } from './Button';\nimport { ChevronIcon } from './icons';\nimport { document, stripUnit, window } from '../utils';\n\nexport const StyledDropdown = styled.div`\n&&& {\n position: relative;\n display: inline-block;\n}\n`;\n\ntype DropdownContentProps = {\n primary?: boolean,\n underlined?: boolean,\n text?: string,\n width?: string | number,\n bordered?: boolean,\n}\n\ntype DropdownItemProps = {\n primary?: boolean,\n underlined?: boolean,\n}\n\nexport const DropdownItem = styled.div<DropdownItemProps>`\n&&& {\n color: ${p => getColor('primary')};\n padding: 8px 8px;\n text-decoration: none;\n display: block;\n ${p => p.underlined && \n `border-bottom: 1px solid ${getColor(p.primary ? 'primary' : 'white')};`\n }\n :last-child {\n border-bottom: none;\n }\n\n &:hover {\n background-color: ${p => getColor('bgblue')};\n border-radius: 5px;\n cursor: pointer;\n }\n}\n`;\n\nexport const DropDownContent = styled.div<DropdownContentProps>`\n&&& {\n display: block;\n position: absolute;\n background-color: ${p => getColor('white')};\n min-width: ${p => typeof p.width === 'number' ? p.width+'px' : p.width || '160px'};\n ${p => p.bordered ? `border: 2px solid ${getColor(!p.primary || p.primary ? 'teal.main' : 'pink.main')};` : ''}\n box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);\n padding: 8px 8px;\n border-radius: 5px;\n text-align: left;\n z-index: 105;\n/*\n a {\n color: ${p => getColor(p.primary ? 'primary' : 'cta')};\n padding: 8px 8px;\n text-decoration: none;\n display: block;\n ${p => p.underlined && \n `border-bottom: 1px solid ${getColor(p.primary ? 'primary' : 'white')};`\n }\n font-weight: bold;\n :last-child {\n border-bottom: none;\n }\n\n &:hover {\n background-color: ${p => getColor(p.primary ? 'primary0' : 'cta')};\n color: ${p => getColor(p.primary ? 'texttitle' : 'white')};\n border-radius: 5px;\n cursor: pointer;\n }\n }\n*/\n}\n`;\n\nexport type TDropdownItem = {\n onClick?: Function|VoidFunction|null;\n props?: {\n [key: string]: any;\n underlined?:boolean;\n };\n content: ReactNode|string|any;\n};\nexport type DropdownProps = {\n items?: Array<TDropdownItem>;\n icon?: ReactNode;\n openMenu?: boolean;\n mouseLeaveCallback?: any;\n size?: TSize;\n style?: CSSObject;\n buttonVariant?: ButtonVariant;\n width?: string | number;\n bordered?: boolean;\n hideOnMouseLeave?: boolean;\n onToggleMenu?: (value: boolean) => void;\n};\n\nconst getContentStyle = (width: string| number, rootElem: HTMLSpanElement | null, buttonElem: HTMLButtonElement | null) => {\n if (!rootElem || !buttonElem) { return {}; }\n const rect = rootElem.getBoundingClientRect();\n const buttonRect = buttonElem.getBoundingClientRect();\n const offset = window.innerWidth - (rect.x + rect.width);\n if (offset < stripUnit(width)) {\n return {\n marginLeft: '-' + Math.abs(stripUnit(width) - buttonRect.width) + 'px',\n };\n }\n return {};\n};\n\nexport const Dropdown = ({\n items,\n children=undefined,\n underlined,\n primary,\n text,\n icon,\n openMenu=false,\n onToggleMenu,\n mouseLeaveCallback,\n size,\n style={},\n buttonVariant,\n width=160,\n bordered=false,\n hideOnMouseLeave=true,\n ...props\n}: React.PropsWithChildren<DropdownProps & DropdownContentProps>) => {\n const rootRef = useRef<HTMLSpanElement>(null);\n const buttonRef = useRef<HTMLButtonElement>(null);\n const [showMenu, setShowMenu] = useState(openMenu);\n const iconProps = {\n color: getColor(primary ? 'primary100' : 'white'),\n style: {verticalAlign: 'middle', transitionDuration: '.3s', transform: 'rotate(' + ( showMenu ? 0 : 180 ) + 'deg)'},\n };\n\n const handleToggleMenu = useCallback((value = null) => {\n setShowMenu(s => {\n const newValue = value !== null ? value : !s;\n onToggleMenu && onToggleMenu(newValue);\n return newValue;\n });\n }, [onToggleMenu]);\n\n const handleClick = useCallback((e: Event) => {\n if (rootRef.current?.contains(e.target as Node)) {\n return;\n }\n handleToggleMenu(false);\n }, [handleToggleMenu]);\n\n useEffect(() => {\n if(items) {\n document.addEventListener(\"mousedown\", handleClick);\n\n return () => {\n document.removeEventListener(\"mousedown\", handleClick);\n };\n }\n }, [items, handleClick]);\n\n const contentStyle = getContentStyle(width, rootRef.current, buttonRef.current);\n return (\n <span ref={rootRef} {...props} style={style} onMouseLeave={() => { \n if (!hideOnMouseLeave) { return; }\n handleToggleMenu(false);\n if(mouseLeaveCallback) {\n mouseLeaveCallback()\n }\n }}>\n <StyledDropdown>\n {icon ?\n <span onClick={() => handleToggleMenu(!showMenu)}>\n {icon}\n </span>\n :\n <Button\n size={size}\n cta={Boolean(!primary)}\n variant={buttonVariant}\n onClick={() => handleToggleMenu(!showMenu)}\n ref={buttonRef}\n >\n {text ? text : \"Actions\"} <ChevronIcon direction=\"up\" {...iconProps} />\n </Button>\n }\n {showMenu && <DropDownContent style={contentStyle} underlined={underlined} primary={primary} width={width} bordered={bordered}>\n {items && items.map((item, i) => {\n return item && <DropdownItem key={'dropdown-item-'+i}\n {...item.props}\n primary={primary}\n underlined={item.props && item.props.underlined ? item.props.underlined : underlined}\n onClick={() => {\n setShowMenu(false);\n item.onClick && item.onClick()\n }}\n >{item.content}</DropdownItem>\n })}\n {children ? children : null}\n </DropDownContent>}\n </StyledDropdown>\n </span>\n );\n}\n","import styled from 'styled-components'\nimport { colors } from './Theme'\nimport { SharedStyleTypes, SharedStyles } from './SharedStyles'\n\nexport const Badge = styled.span<{color?:string} & SharedStyleTypes>`\n display: inline-block;\n min-width: 10px;\n padding: 3px 7px;\n font-size: 12px;\n font-weight: 700;\n line-height: 1;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n background-color: ${p => p.color === 'cta' ? colors.cta : p.color==='grey' ? colors.primary0 : colors.primary};\n color: ${p => p.color==='grey' ? colors.primary100 : colors.white};\n border-radius: 10px;\n ${SharedStyles}\n`;\n\n","import { document } from '../utils';\n\nconst verticalScrollbarWidth = () => {\n // thanks too https://davidwalsh.name/detect-scrollbar-width\n const scrollDiv = document.createElement('div')\n scrollDiv.setAttribute('style', 'width: 100px; height: 100px; overflow: scroll; position:absolute; top:-9999px;')\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n}\n\nexport default verticalScrollbarWidth","//@ts-nocheck\nimport React, { \n memo, useRef, useState, useEffect, useCallback, useLayoutEffect, createContext, forwardRef, useMemo \n} from 'react';\nimport { partial } from 'lodash';\nimport styled from 'styled-components'\nimport { SizerCss, SizerTypes } from './Sizer';\nimport { useTable, useSortBy, useBlockLayout, usePagination, useColumnOrder } from 'react-table'\nimport { useSticky } from 'react-table-sticky';\nimport { FixedSizeList as List, areEqual } from 'react-window';\nimport verticalScrollbarWidth from './verticalScrollbarWidth';\n\nimport { SharedStyles, SharedStyleTypes } from './SharedStyles'\nimport { Button } from './Button'\nimport { FilledChevronIcon } from './icons';\nimport { getColor } from './Theme';\nimport { document } from '../utils';\n\nconst PADDING_SIZE = 60\n\nconst Styles = styled.div<{minHeight?: number, pagination?: boolean}>`\n overflow-x: ${props => props.pagination ? 'scroll' : 'hidden'};\n min-height: ${props => props.minHeight ? props.minHeight : \"600\"}px;\n /* -ms-overflow-style: none;\n ::-webkit-scrollbar {\n display: none;\n }\n .headless-table-list::-webkit-scrollbar {\n display: none;\n } */\n\n .th,\n .td {\n padding: 5px;\n background-color: #fff;\n overflow: hidden;\n border: none !important;\n text-align: center;\n }\n .react-table {\n .th,\n .td {\n background: '#fff'\n }\n &.react-table-sticky {\n overflow: scroll;\n .header,\n .footer {\n position: sticky;\n z-index: 1;\n width: fit-content;\n }\n .header {\n top: 0;\n //box-shadow: 0px 3px 3px #ccc;\n }\n .footer {\n bottom: 0;\n box-shadow: 0px -3px 3px #ccc;\n }\n .body {\n position: relative;\n z-index: 0;\n }\n [data-sticky-td] {\n position: sticky;\n }\n [data-sticky-last-left-td] {\n box-shadow: 2px 0px 0px #ccc;\n }\n [data-sticky-first-right-td] {\n box-shadow: -2px 0px 0px #ccc;\n }\n }\n\n .sticky {\n position: sticky !important;\n position: -webkit-sticky !important;\n z-index: 100 !important;\n }\n\n .row,\n .sticky {\n display: flex;\n align-items: center;\n background-color: white;\n border-bottom: 1px solid #eee;\n box-sizing: border-box;\n }\n }\n .react-table-wrapper {\n margin-top: 15px;\n position: absolute;\n text-align: center;\n width: 100%;\n left: 0;\n }\n .react-table-pagination {\n padding: 0.5rem;\n margin: auto;\n button {\n font-family: 'skufont-regular', sans-serif;\n font-size: 18px;\n padding: 5px 15px;\n border-radius: 4px;\n background: transparent; \n text-align: center;\n border: 2px solid #02c0da;\n color: #02c0da;\n cursor: pointer;\n }\n button:hover {\n color: #02c0da;\n background: #E6EFF2;\n }\n button:focus {\n border: 2px solid #02c0da;\n outline-color: #02c0da;\n }\n input {\n border: 1px solid #ABC7D1;\n border-radius: 5px;\n font-family: 'skufont-regular', sans-serif;\n font-size: 18px;\n padding: 5px 15px;\n color: #52585c;\n background-color: white;\n width: 40px;\n text-align: center;\n margin-right: 5px;\n }\n input:focus{\n border: 2px solid #02c0da;\n outline-color: #02c0da;\n }\n .page-select {\n margin: 0 20px;\n }\n }\n`\nconst TD= styled.td<{clickable?: boolean, backgroundColor?: String}&SharedStyleTypes|SizerTypes>`\n &&& {\n border: 0 !important;\n color: #52585c;\n font-size: .875rem;\n line-height: 1.75rem;\n display: table-cell;\n padding: 0.5625rem 0.625rem;\n overflow: visible !important;\n background-color: ${props => props.backgroundColor ? props.backgroundColor : \"#fff\"};\n &:hover {\n cursor: ${props => props.clickable ? \"pointer\" : \"normal\"};\n }\n ${SizerCss}\n ${SharedStyles}\n }\n`;\n\nconst TABLEDIV = styled.div<{clickable?: boolean, backgroundColor?: String}&SharedStyleTypes|SizerTypes>`\n &&& {\n border: 0 !important;\n color: #52585c;\n font-size: .875rem;\n line-height: 1.75rem;\n display: table-cell;\n padding: 0.5625rem 0.625rem;\n overflow: visible !important;\n background-color: ${props => props.backgroundColor ? props.backgroundColor : \"#fff\"};\n &:hover {\n cursor: ${props => props.clickable ? \"pointer\" : \"normal\"};\n }\n ${SizerCss}\n ${SharedStyles}\n }\n`;\n\ntype HeadlessTableProps = React.PropsWithChildren<{\n columns: any,\n data: object[],\n rowIdField: string,\n selectedRowId?: string | null,\n defaultSort?: { id: string, desc: boolean },\n defaultPageSize?: number,\n defaultPageIndex?: number,\n defaultScrollOffset?: number,\n defaultHorizontalOffset ?: number,\n scrollOffsetDivRef?: any,\n horizontalOffsetDivRef?: any,\n pageIndexDivRef?:any,\n onChangeSelected?:any,\n onChangeSortOrColumns?: any,\n sortDirectionDivRef?: any, \n currentColumnsDivRef?: any,\n minHeight?: any,\n pagination?: boolean\n} & SharedStyleTypes>;\n\nconst StickyListContext = createContext({});\nStickyListContext.displayName = \"StickyListContext\"\n\nconst DivCell = ({ row, cell, rowIdField, selectedId, onSelectRow, isHoverRow }) => {\n const [isHover, setIsHover] = useState(false);\n const backgroundColor = (row.original[rowIdField] === selectedId) ? '#F4F7FF' : '#FFF';\n\n return <TABLEDIV\n className=\"td\" {...cell.getCellProps()} \n width={cell.column.width} \n backgroundColor={backgroundColor}\n onMouseEnter={() => setIsHover(true)}\n onMouseLeave={() => setIsHover(false)}\n >\n {cell.column.isRowId \n ? ((isHoverRow || isHover || (row.original[rowIdField] === selectedId)) && <div \n onClick={() => onSelectRow(row.original[rowIdField] !== selectedId ? row.original[rowIdField] : null)}>\n <Button secondary size=\"tiny\">+</Button>\n </div>)\n : <>\n {cell.render('Cell')}\n {cell.column.hasTooltip && isHover && cell.column.tooltipContent(row.original)}\n </>}\n </TABLEDIV>\n}\n\nconst RenderDivRow = memo(({ data, index, style }) => {\n const [isHover, setIsHover] = useState(false);\n const row = data[index];\n return <StickyListContext.Consumer>\n {({ width, prepareRow, rowIdField, selectedId, onSelectRow }) => {\n prepareRow(row);\n return <div \n {...row.getRowProps({\n style: {\n ...style,\n position: \"absolute\",\n width,\n top: `${parseFloat(style.top) + PADDING_SIZE}px`,\n }\n })} \n onMouseEnter={() => setIsHover(true)}\n onMouseLeave={() => setIsHover(false)}\n className=\"tr\"\n > \n {row.cells.map((cell: any, c: any) => {\n return <DivCell key={c} row={row} cell={cell} c={c} \n rowIdField={rowIdField} selectedId={selectedId} onSelectRow={onSelectRow} isHoverRow={isHover}\n />\n })}\n </div>\n }}\n </StickyListContext.Consumer>\n}, areEqual);\n\nconst iconProps = {\n // width: '10px',\n color: getColor('primary100')\n}\n\nconst iconStyle = (up: boolean) => {\n return {\n verticalAlign: 'middle', \n transitionDuration: '.3s', \n transform: 'rotate(' + ( up ? 0 : 180 ) + 'deg)',\n marginLeft: '5px'\n }\n}\n\nconst StickyRow = ({ style, headerGroups, onColumnClick, onDragStart, onDrop }) => (\n <div className=\"row sticky\" style={style}>\n {headerGroups.map((headerGroup: any, h: any) => (\n <div key={h} {...headerGroup.getHeaderGroupProps()} className=\"tr\">\n {headerGroup.headers.map((column: any, i: any) => (\n <div key={i} {...column.getHeaderProps(column.getSortByToggleProps())}\n data-column-index={i}\n draggable={column.noDrag ? false : true}\n onDragStart={column.noDrag ? undefined : onDragStart}\n onDragOver={e => {\n e.preventDefault()\n }}\n onDrop={column.noDrag ? undefined : onDrop}\n className=\"th\"\n width={column.width}\n onClick={() => {\n onColumnClick(column);\n }}\n >\n {column.render('Header')}\n <span>\n {column.isSorted\n ? column.isSortedDesc\n ? <FilledChevronIcon direction=\"up\" {...iconProps} style={iconStyle(false)} />\n : <FilledChevronIcon direction=\"up\" {...iconProps} style={iconStyle(true)} />\n : ''}\n </span>\n </div>\n ))}\n </div>\n ))}\n </div>\n)\n\nconst StickyContainer = forwardRef(({ children, style, ...props }, ref) => {\n return <StickyListContext.Consumer>\n {({ stickyIndices, width, onHeaderColumnClick, headerGroups, onDragStart, onDrop }) => (\n <div ref={ref} \n style={{\n ...style,\n width, height: `${parseFloat(style.height) + PADDING_SIZE * 2}px`,\n }} \n {...props}\n >\n {stickyIndices.map(index => (\n <StickyRow key={index}\n style={{ top: index * 60, left: 0, width: \"100%\", height: '60px' }}\n headerGroups={headerGroups}\n onColumnClick={onHeaderColumnClick}\n onDragStart={onDragStart} onDrop={onDrop}\n />\n ))}\n {children}\n </div>\n )}\n </StickyListContext.Consumer>\n});\n\nconst StickyList = ({ \n children, itemData, rowIdField, selectedId, onSelectRow, headerGroups, onDragStart, onDrop,\n prepareRow, stickyIndices, width, onHeaderColumnClick, ...rest \n}) => {\n return <StickyListContext.Provider value={{ \n stickyIndices, onHeaderColumnClick, width, rowIdField, selectedId, onSelectRow, prepareRow, headerGroups, \n onDragStart, onDrop\n }}>\n <List itemData={itemData} className=\"headless-table-list\" {...rest}>\n {children}\n </List>\n </StickyListContext.Provider>\n}\n\nexport function HeadlessTable({ \n columns, data, rowIdField, defaultSort, defaultPageSize=200, defaultPageIndex=0, defaultScrollOffset=0, defaultHorizontalOffset=0,\n pageIndexDivRef, onChangeSelected, onChangeSortOrColumns, scrollOffsetDivRef, horizontalOffsetDivRef, selectedRowId,\n sortDirectionDivRef, currentColumnsDivRef, minHeight, pagination=true\n}: HeadlessTableProps) {\n //@ts-ignore\n const initialState: any = { \n pageIndex: defaultPageIndex, \n pageSize: defaultPageSize\n }\n if(defaultSort) {\n initialState.sortBy = [defaultSort]\n }\n\n const table: any = useTable(\n {\n columns,\n data,\n initialState,\n },\n useSortBy,\n usePagination,\n useColumnOrder,\n useSticky,\n useBlockLayout\n )\n\n const {\n getTableProps,\n getTableBodyProps,\n headerGroups,\n rows,\n totalColumnsWidth,\n visibleColumns,\n prepareRow,\n setColumnOrder,\n page,\n canPreviousPage,\n canNextPage,\n pageOptions,\n pageCount,\n gotoPage,\n nextPage,\n previousPage,\n state: { pageIndex },\n } = table\n\n const [sortDirection, _setSortDirection] = useState(defaultSort ? { accessor: defaultSort.id, direction: defaultSort.desc ? 'DESC' : 'ASC' } : {})\n const [currentColumns, _setCurrentColumns] = useState(visibleColumns.map((c: any) => c.id))\n const [hoverId, setHoverId] = useState(null)\n const [selectedId, _setSelectedId] = useState(selectedRowId)\n const [scrollbarWidth, setScrollbarWidth] = useState(0)\n const [scrollOffset, setScrollOffset] = useState(defaultScrollOffset)\n const [horizontalOffset, setHorizontalOffset] = useState(defaultHorizontalOffset)\n const setSelectedId = (selectedId) => {\n _setSelectedId(selectedId);\n onChangeSelected(selectedId)\n };\n\n const setSortDirection = (sortDirection) => {\n _setSortDirection(sortDirection);\n onChangeSortOrColumns(sortDirection, currentColumns);\n };\n\n const setCurrentColumns = (currentColumns) => {\n _setCurrentColumns(currentColumns);\n onChangeSortOrColumns(sortDirection, currentColumns);\n };\n\n useEffect(() => {\n setSelectedId(selectedRowId);\n /* eslint-disable react-hooks/exhaustive-deps */\n }, [selectedRowId]);\n\n useEffect(() => {\n if(defaultScrollOffset !== 0) {\n setScrollOffset(defaultScrollOffset)\n }\n }, [defaultScrollOffset])\n\n useEffect(() => {\n if(defaultHorizontalOffset !== 0) {\n setHorizontalOffset(defaultHorizontalOffset)\n }\n }, [defaultHorizontalOffset])\n\n useEffect(() => {\n if(defaultSort) {\n _setSortDirection({ accessor: defaultSort.id, direction: defaultSort.desc ? 'DESC' : 'ASC' });\n }else{\n _setSortDirection({});\n }\n }, [defaultSort])\n\n useEffect(() => {\n _setCurrentColumns(visibleColumns.map((c: any) => c.id))\n }, [visibleColumns])\n\n let columnBeingDragged: any = null;\n\n const onDragStart = (e: any) => {\n columnBeingDragged = e.target.dataset.columnIndex;\n };\n\n const onDrop = (e: any) => {\n e.preventDefault();\n const newPosition = e.target.dataset.columnIndex;\n if(newPosition) {\n const currentCols = visibleColumns.map((c: any) => c.id);\n const colToBeMoved = currentCols.splice(columnBeingDragged, 1);\n currentCols.splice(newPosition, 0, colToBeMoved[0]);\n setCurrentColumns(currentCols);\n setColumnOrder(currentCols);\n }\n };\n\n const tableRef = useRef(null);\n const listContainerRef = useRef(null);\n\n useEffect(() => {\n if (listContainerRef.current) {\n listContainerRef.current.scrollLeft = horizontalOffset;\n }\n }, [listContainerRef, horizontalOffset, rows])\n\n //Extra horizontal scrollbar on the bottom of the page\n const topScrollRef = useRef(null)\n\n //Method for syncing horizontal scrollbar movements when we need one at the bottom of the page\n const handleHorizontalScroll = useCallback(\n placement => {\n let scrollNode = listContainerRef.current\n if (pagination) {\n scrollNode = tableRef.current?.parentNode\n }\n\n if(placement === 'top') {\n scrollNode.scrollLeft = topScrollRef.current.scrollLeft\n return\n }\n\n if(placement === 'bottom' && topScrollRef.current) {\n topScrollRef.current.scrollLeft = scrollNode.scrollLeft\n return\n }\n },\n [listContainerRef, tableRef, pagination]\n );\n\n useEffect(() => {\n const ref = topScrollRef.current;\n const handleHorizontalScrollTop = partial(handleHorizontalScroll, 'top');\n if(ref) {\n ref.addEventListener('scroll', handleHorizontalScrollTop);\n \n return () => ref.removeEventListener('scroll', handleHorizontalScrollTop);\n }\n }, [topScrollRef, handleHorizontalScroll])\n\n useEffect(() => {\n const ref = tableRef.current;\n if(pagination) {\n if(ref) {\n setScrollbarWidth(ref.offsetWidth + 200)\n }\n }else{\n if(listContainerRef) {\n setScrollbarWidth(listContainerRef.current.firstChild.offsetWidth + 200)\n }\n }\n }, [tableRef, listContainerRef, pagination])\n\n useEffect(() => {\n if(pagination) {\n if(tableRef) {\n setScrollbarWidth(tableRef.current.offsetWidth + 200)\n }\n }else{\n if(listContainerRef) {\n setScrollbarWidth(listContainerRef.current.firstChild.offsetWidth + 200)\n }\n }\n }, [columns, pagination])\n\n useLayoutEffect(() => {\n const ref = tableRef.current;\n const handleHorizontalScrollBottom = partial(handleHorizontalScroll, 'bottom');\n if(ref) {\n ref.parentNode.addEventListener('scroll', handleHorizontalScrollBottom);\n \n return () => ref.parentNode.removeEventListener('scroll', handleHorizontalScrollBottom)\n }\n }, [tableRef, handleHorizontalScroll])\n\n useEffect(() => {\n const listScroll = (e) => { \n if(e.target.className === 'headless-table-list') {\n //handleHorizontalScroll('bottom')\n if(horizontalOffsetDivRef && listContainerRef.current && listContainerRef.current.scrollLeft !== 0) {\n horizontalOffsetDivRef.current.innerText = listContainerRef.current.scrollLeft\n }\n }\n }\n\n if(listContainerRef) {\n document.addEventListener('scroll', listScroll, true)\n \n return () => document.removeEventListener('scroll', listScroll)\n }\n }, [listContainerRef, horizontalOffsetDivRef])\n\n\n //infinite scroll\n const scrollBarSize = useMemo(() => verticalScrollbarWidth(), [])\n return (\n <Styles minHeight={minHeight}>\n <>\n {pagination ?\n <div ref={topScrollRef} style={{ \n position:'fixed', height: '20px', \n width: '100%', bottom: 0, zIndex: 100,\n overflowX: 'scroll', overflowY: 'hidden' \n }}>\n <div style={{ height: '20px', width: scrollbarWidth }}></div>\n </div>\n : null}\n {horizontalOffsetDivRef && <div ref={horizontalOffsetDivRef} style={{ display: 'none' }}>0</div>}\n {scrollOffsetDivRef && <div ref={scrollOffsetDivRef} style={{ display: 'none' }}>0</div>}\n {pageIndexDivRef && <div ref={pageIndexDivRef} style={{ display: 'none' }}>{pageIndex}</div>}\n {sortDirectionDivRef && <div ref={sortDirectionDivRef} style={{ display: 'none' }}>{JSON.stringify(sortDirection)}</div>}\n {currentColumnsDivRef && <div ref={currentColumnsDivRef} style={{ display: 'none' }}>{JSON.stringify(currentColumns)}</div>}\n {pagination ?\n <table ref={tableRef} {...getTableProps()} className=\"react-table react-table-sticky\">\n <thead className=\"header\">\n {headerGroups.map((headerGroup: any, h: any) => (\n <tr key={h} {...headerGroup.getHeaderGroupProps()} className=\"tr\">\n {headerGroup.headers.map((column: any, i: any) => (\n <th key={i} {...column.getHeaderProps(column.getSortByToggleProps())}\n data-column-index={i}\n draggable={column.noDrag ? false : true}\n onDragStart={column.noDrag ? undefined : onDragStart}\n onDragOver={e => {\n e.preventDefault()\n /* const draggable = e.currentTarget.getAttribute('draggable')\n if(draggable === 'false') {\n _.throttle(() => {\n //@ts-ignore\n tableRef.current.parentNode.scroll(tableRef.current.getBoundingClientRect().x + 1, tableRef.current.getBoundingClientRect().y)\n }, 1000, { 'trailing': true })\n } */\n }}\n onDrop={column.noDrag ? undefined : onDrop}\n className=\"th\"\n width={column.width}\n onClick={() => {\n column.isSorted\n ? column.isSortedDesc\n ? column.clearSortBy()\n : column.toggleSortBy(true)\n : column.toggleSortBy(false)\n let direction\n if(column.isSorted) {\n if(column.isSortedDesc) {\n direction = ''\n }else{\n direction = 'DESC'\n }\n }else{\n direction = 'ASC'\n }\n let sortDirectionState\n if(direction === '') {\n sortDirectionState = {}\n }else{\n sortDirectionState = { accessor: column.id, direction }\n }\n setSortDirection(sortDirectionState)\n }}\n >\n {column.render('Header')}\n <span>\n {column.isSorted\n ? column.isSortedDesc\n ? <FilledChevronIcon direction=\"up\" {...iconProps} style={iconStyle(false)} />\n : <FilledChevronIcon direction=\"up\" {...iconProps} style={iconStyle(true)} />\n : ''}\n </span>\n </th>\n ))}\n </tr>\n ))}\n </thead>\n <tbody {...getTableBodyProps()} className=\"body\">\n {page.map((row: any, r: any) => {\n prepareRow(row)\n\n return (\n <tr key={r} {...row.getRowProps()} onMouseEnter={() => setHoverId(row.original[rowIdField])} onMouseLeave={() => setHoverId(null)}>\n {row.cells.map((cell: any, c: any) => {\n if(cell.column.isRowId) {\n return (\n <TD key={c} {...cell.getCellProps()} className=\"td\" width={cell.column.width} backgroundColor={row.original[rowIdField] === selectedId ? '#F4F7FF' : '#fff' }>\n {(hoverId === row.original[rowIdField]) || (row.original[rowIdField] === selectedId) ?\n <div onClick={() => row.original[rowIdField] !== selectedId ? setSelectedId(row.original[rowIdField]) : setSelectedId(null)}>\n <Button secondary size=\"tiny\">+</Button>\n </div> \n : null}\n </TD>\n )\n }\n\n return (\n <TD key={c} {...cell.getCellProps()} className=\"td\" width={cell.column.width} backgroundColor={row.original[rowIdField] === selectedId ? '#F4F7FF' : '#fff' }>\n {cell.render('Cell')}\n </TD>\n )\n })}\n </tr>\n )\n })}\n </tbody>\n </table>\n : \n <div ref={tableRef} {...getTableProps()} className=\"react-table react-table-sticky\" style={{ overflow: 'hidden'}}>\n <div {...getTableBodyProps()} className=\"body\"> \n <StickyList\n width={totalColumnsWidth + scrollBarSize}\n height={minHeight}\n innerElementType={StickyContainer}\n itemCount={rows.length}\n itemSize={70}\n itemData={rows}\n headerGroups={headerGroups}\n rowIdField={rowIdField}\n selectedId={selectedId}\n prepareRow={prepareRow}\n onSelectRow={(id) => {\n setScrollOffset(parseInt(scrollOffsetDivRef.current.innerText) || 0);\n setSelectedId(id);\n }}\n stickyIndices={[0]} //sticky header\n outerRef={listContainerRef}\n initialScrollOffset={scrollOffset}\n onScroll={({ scrollOffset, }) => {\n if(scrollOffset !== 0) {\n scrollOffsetDivRef.current.innerText = scrollOffset\n }\n }}\n onDragStart={onDragStart}\n onDrop={onDrop}\n onHeaderColumnClick={(column) => {\n let sortDirectionState = {};\n if (column.isSorted) {\n if (column.isSortedDesc) {\n column.clearSortBy();\n } else {\n column.toggleSortBy(true);\n sortDirectionState = { accessor: column.id, direction: 'DESC' };\n }\n } else {\n column.toggleSortBy(false);\n sortDirectionState = { accessor: column.id, direction: 'ASC' };\n }\n setSortDirection(sortDirectionState);\n setHorizontalOffset(horizontalOffsetDivRef.current.innerText);\n if(listContainerRef.current) {\n listContainerRef.current.scrollLeft = horizontalOffset\n }\n }}\n >\n {RenderDivRow}\n </StickyList>\n </div>\n </div>\n }\n {pagination && pageOptions.length > 1 ?\n <div className=\"react-table-wrapper\">\n <div className=\"react-table-pagination\">\n <button style={{opacity: pageIndex === 0 ? 0 : 1}} onClick={() => gotoPage(0)} disabled={!canPreviousPage}>\n {'◀◀'}\n </button>{' '}\n <button style={{opacity: pageIndex === 0 ? 0 : 1}} onClick={() => previousPage()} disabled={!canPreviousPage}>\n {'◀'}\n </button>{' '}\n <span className=\"page-select\">\n <input\n defaultValue={pageIndex + 1}\n value={pageIndex + 1}\n onChange={(e: any) => {\n const page = e.target.value ? Number(e.target.value) - 1 : 0\n gotoPage(page)\n }}\n />\n of {pageOptions.length}\n </span>\n <button style={{opacity: !canNextPage ? 0 : 1}} onClick={() => nextPage()} disabled={!canNextPage}>\n {'▶'}\n </button>{' '}\n <button style={{opacity: !canNextPage ? 0 : 1}} onClick={() => gotoPage(pageCount - 1)} disabled={!canNextPage}>\n {'▶▶'}\n </button>{' '}\n {/* <select\n value={pageSize}\n onChange={(e: any) => {\n setPageSize(Number(e.target.value))\n }}\n >\n {[10, 20, 30, 40, 50].map(pageSize => (\n <option key={pageSize} value={pageSize}>\n Show {pageSize}\n </option>\n ))}\n </select> */}\n </div>\n </div>\n : null}\n </>\n </Styles>\n )\n}\n","import React from 'react';\nimport { window } from '../../utils';\n\nconst QUERY = '(prefers-reduced-motion: no-preference)';\nconst isRenderingOnServer = typeof window === 'undefined';\nconst getInitialState = () => {\n // For our initial server render, we won't know if the user\n // prefers reduced motion, but it doesn't matter. This value\n // will be overwritten on the client, before any animations\n // occur.\n return isRenderingOnServer ? true : !window.matchMedia(QUERY).matches;\n};\n\nexport const usePrefersReducedMotion = () => {\n const [prefersReducedMotion, setPrefersReducedMotion] = React.useState(\n getInitialState\n );\n React.useEffect(() => {\n const mediaQueryList = window.matchMedia(QUERY);\n const listener = (event: { matches: boolean}) => {\n setPrefersReducedMotion(!event.matches);\n };\n mediaQueryList.addListener(listener);\n return () => {\n mediaQueryList.removeListener(listener);\n };\n }, []);\n return prefersReducedMotion;\n};\n\nexport default usePrefersReducedMotion;\n","import React from 'react';\nimport { random } from '../../utils';\n\nexport const useRandomInterval = (callback: () => void, minDelay?: number, maxDelay?: number) => {\n const timeoutId = React.useRef<ReturnType<typeof setTimeout> | null>(null);\n const savedCallback = React.useRef(callback);\n React.useEffect(() => {\n savedCallback.current = callback;\n });\n React.useEffect(() => {\n let isEnabled =\n typeof minDelay === 'number' && typeof maxDelay === 'number';\n if (isEnabled) {\n const handleTick = () => {\n const nextTickAt = random(minDelay!, maxDelay!);\n timeoutId.current = setTimeout(() => {\n savedCallback.current();\n handleTick();\n }, nextTickAt);\n };\n handleTick();\n }\n return () => {\n if (!!timeoutId.current) {\n clearTimeout(timeoutId.current);\n }\n }\n }, [minDelay, maxDelay]);\n const cancel = React.useCallback(function () {\n if (!!timeoutId.current) {\n clearTimeout(timeoutId.current);\n }\n }, []);\n return cancel;\n};\n\nexport default useRandomInterval;\n","import { useState } from 'react';\nimport {\n subMonths,\n addMonths,\n addDays,\n isSameDay,\n getWeek,\n addWeeks,\n subWeeks,\n getMonth,\n getYear\n} from \"date-fns\";\n\nconst today = new Date();\nexport const getDatesBetween = (startDt: Date, endDt: Date) => {\n const result: Array<Date> = [];\n let currentDt = startDt;\n while (currentDt <= endDt) {\n result.push(currentDt);\n currentDt = addDays(currentDt, 1);\n }\n return result;\n};\nexport type onChangeWeekFunc = (obj: {date: Date, week: number, month: number, year: number, action: string}) => void;\nexport type onChangeMonthFunc = (obj: {date: Date, month: number, year: number, action: string}) => void;\nexport type changeWeekFunc = (action: string, value?: Date | undefined) => void;\nexport type changeDateFunc = (value: Date) => void;\nexport type useCalendarProps = {\n onChangeWeek?: onChangeWeekFunc,\n onChangeMonth?: onChangeMonthFunc,\n};\nconst useCalendar = ({\n onChangeWeek,\n onChangeMonth,\n}: useCalendarProps) => {\n const [currentMonth, setCurrentMonth] = useState(today);\n const [currentWeek, setCurrentWeek] = useState(getWeek(currentMonth));\n const [selectedDate, setSelectedDate] = useState(today);\n\n const changeMonth = (action: string) => {\n let dt = currentMonth;\n if (action === \"prev\") {\n dt = subMonths(currentMonth, 1);\n } else if (action === \"next\") {\n dt = addMonths(currentMonth, 1);\n } else if (action === \"reset\") {\n dt = today;\n }\n setCurrentMonth(dt);\n onChangeMonth && onChangeMonth({\n action,\n date: dt,\n month: getMonth(dt),\n year: getYear(dt),\n });\n }\n\n const changeWeek = (action: string, value?: Date) => {\n let dt = currentMonth;\n if (action === \"prev\") {\n dt = subWeeks(currentMonth, 1);\n\n } else if (action === \"next\") {\n dt = addWeeks(currentMonth, 1);\n } else if (action === \"reset\") {\n dt = today;\n } else if (action === \"custom\" && value) {\n dt = value;\n }\n setCurrentMonth(dt);\n const week = getWeek(dt);\n setCurrentWeek(week);\n onChangeWeek && onChangeWeek({\n action,\n date: dt,\n week: week,\n month: getMonth(dt),\n year: getYear(dt),\n });\n }\n\n const changeDate = (value: Date) => {\n setCurrentMonth(value);\n const week = getWeek(value);\n setCurrentWeek(week);\n onChangeWeek && onChangeWeek({\n action: 'change-date',\n date: value,\n week: week,\n month: getMonth(value),\n year: getYear(value),\n });\n }\n\n const onClickDay = (day: Date) => {\n if (isSameDay(day, selectedDate)) {\n setSelectedDate(today);\n } else {\n setSelectedDate(day);\n }\n };\n\n // reset to today's date\n const resetToToday = () => {\n setSelectedDate(today);\n changeWeek('reset');\n };\n\n const onNextWeek = () => changeWeek(\"next\");\n const onPrevWeek = () => changeWeek(\"prev\");\n const onNextMonth = () => changeMonth(\"next\");\n const onPrevMonth = () => changeMonth(\"prev\");\n\n return {\n currentMonth,\n currentWeek,\n selectedDate,\n\n setSelectedDate,\n setCurrentWeek,\n setCurrentMonth,\n\n onClickDay,\n onNextWeek,\n onPrevWeek,\n onNextMonth,\n onPrevMonth,\n\n changeWeek,\n changeDate,\n\n getDatesBetween,\n onReset: resetToToday,\n };\n}\n\nexport default useCalendar;\n","import { useState, useEffect } from 'react';\n\nconst useWindowSize = () => {\n const [size, setSize] = useState([0, 0]); // [width, height]\n\n useEffect(() => {\n function updateSize() {\n setSize([window.innerWidth, window.innerHeight]);\n }\n\n window.addEventListener('resize', updateSize);\n updateSize();\n\n return () => window.removeEventListener('resize', updateSize);\n }, []);\n\n return size;\n}\n\nexport default useWindowSize;\n","import { useCallback, useEffect, useState } from 'react';\n\nexport default function useLongPress(callback = () => {}, ms = 300) {\n const [startLongPress, setStartLongPress] = useState(false);\n \n useEffect(() => {\n let timeoutId: null | ReturnType<typeof setTimeout> = null;\n if (startLongPress) {\n timeoutId = setTimeout(callback, ms);\n } else {\n if (timeoutId !== undefined && timeoutId !== null) {\n clearTimeout(timeoutId);\n }\n }\n\n return () => {\n if (timeoutId !== undefined && timeoutId !== null) {\n clearTimeout(timeoutId);\n }\n };\n }, [callback, ms, startLongPress]);\n \n const start = useCallback(() => {\n setStartLongPress(true);\n }, []);\n\n const stop = useCallback(() => {\n setStartLongPress(false);\n }, []);\n \n return {\n onMouseDown: start,\n onMouseUp: stop,\n onMouseLeave: stop,\n onTouchStart: start,\n onTouchEnd: stop,\n };\n}\n","/*\n Code from https://www.joshwcomeau.com/react/animated-sparkles-in-react/\n Check out his site. It's awesome\n*/\n\nimport React from 'react';\nimport styled, { keyframes } from 'styled-components';\n\nimport { random, range } from '../utils';\nimport { usePrefersReducedMotion } from './hooks';\nimport { useRandomInterval } from './hooks';\n\nconst DEFAULT_COLOR = '#FFC700';\n\nconst generateSparkle = (color: string) => {\n const sparkle = {\n id: String(random(10000, 99999)),\n createdAt: Date.now(),\n color,\n size: random(10, 20),\n style: {\n top: random(0, 100) + '%',\n left: random(0, 100) + '%',\n },\n };\n return sparkle;\n};\n\nexport const Sparkles: React.FC<{ color: string }> = ({ color = DEFAULT_COLOR, children, ...delegated }) => {\n const [sparkles, setSparkles] = React.useState(() => {\n return range(3).map(() => generateSparkle(color));\n });\n const prefersReducedMotion = usePrefersReducedMotion();\n useRandomInterval(\n () => {\n const sparkle = generateSparkle(color);\n const now = Date.now();\n const nextSparkles = sparkles.filter(sp => {\n const delta = now - sp.createdAt;\n return delta < 750;\n });\n nextSparkles.push(sparkle);\n setSparkles(nextSparkles);\n },\n prefersReducedMotion ? undefined : 50,\n prefersReducedMotion ? undefined : 450\n );\n return (\n <Wrapper {...delegated}>\n {sparkles.map(sparkle => (\n <Sparkle\n key={sparkle.id}\n color={sparkle.color}\n size={sparkle.size}\n style={sparkle.style}\n />\n ))}\n <ChildWrapper>{children}</ChildWrapper>\n </Wrapper>\n );\n};\nconst Sparkle: React.FC<{ size: number, color: string, style: React.CSSProperties }> = ({ size, color, style }) => {\n const path =\n 'M26.5 25.5C19.0043 33.3697 0 34 0 34C0 34 19.1013 35.3684 26.5 43.5C33.234 50.901 34 68 34 68C34 68 36.9884 50.7065 44.5 43.5C51.6431 36.647 68 34 68 34C68 34 51.6947 32.0939 44.5 25.5C36.5605 18.2235 34 0 34 0C34 0 33.6591 17.9837 26.5 25.5Z';\n return (\n <SparkleWrapper style={style}>\n <SparkleSvg width={size} height={size} viewBox=\"0 0 68 68\" fill=\"none\">\n <path d={path} fill={color} />\n </SparkleSvg>\n </SparkleWrapper>\n );\n};\nconst comeInOut = keyframes`\n 0% {\n transform: scale(0);\n }\n 50% {\n transform: scale(1);\n }\n 100% {\n transform: scale(0);\n }\n`;\nconst spin = keyframes`\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(180deg);\n }\n`;\nconst Wrapper = styled.span`\n display: inline-block;\n position: relative;\n`;\nconst SparkleWrapper = styled.span`\n position: absolute;\n display: block;\n @media (prefers-reduced-motion: no-preference) {\n animation: ${comeInOut} 700ms forwards;\n }\n`;\nconst SparkleSvg = styled.svg`\n display: block;\n @media (prefers-reduced-motion: no-preference) {\n animation: ${spin} 1000ms linear;\n }\n`;\nconst ChildWrapper = styled.strong`\n position: relative;\n z-index: 1;\n font-weight: bold;\n`;\nexport default Sparkles;\n","import React, { ReactNode, useEffect, useState, useRef } from 'react';\nimport styled from 'styled-components'\nimport { getColor } from './Theme';\nimport { document } from '../utils';\n\nconst StyledDropdown = styled.div`\n position: relative;\n display: block;\n width: 100%;\n`;\n\ntype DropdownContentProps = {\n text?: string,\n color?: string,\n active?: boolean,\n rounded?: boolean,\n}\n\nconst DropdownItem = styled.div<DropdownContentProps>`\n color: white;\n padding: 8px 8px;\n text-decoration: none;\n display: block;\n text-align: center;\n background-color: ${p => p.color ? p.color : \"#F4F7FF\"};\n border-radius: ${p => p.rounded ? \"100px\" : 0};\n opacity: ${p => p.active ? 0.85 : 1};\n &:hover {\n opacity: .85;\n cursor: pointer;\n }\n`;\n\nconst DropDownContent = styled.div<DropdownContentProps>`\n display: block;\n position: absolute;\n background-color: ${p => getColor('white')};\n width: 100%;\n box-shadow: 0px 0px 16px 0px rgba(0,0,0,0.5);\n z-index: 4;\n border-radius: 10px;\n text-align: left;\n overflow: hidden;\n`;\n\nexport const StatusDropdown = ({ items, text, value, row, setMenuIsOpen, disabled=false, ...props }: {\n items: Array<{onClick?: any, props?:{[key: string]: any}, content: ReactNode|string|any, value: string, color: string}>,\n value: {onClick?: any, props?:{[key: string]: any}, content: ReactNode|string|any, value: string, color: string},\n row: any,\n setMenuIsOpen?: any,\n disabled?: boolean\n} & DropdownContentProps) => {\n\n const node = useRef();\n const [showMenu, setShowMenu] = useState(false);\n const [value2, setValue] = useState(value);\n\n const handleClick = (e: Event) => {\n // @ts-ignore\n if (node.current?.contains(e.target)) {\n return;\n }\n setShowMenu(false);\n };\n\n useEffect(() => {\n document.addEventListener(\"mousedown\", handleClick);\n\n return () => {\n document.removeEventListener(\"mousedown\", handleClick);\n };\n }, []);\n\n useEffect(() => {\n setValue(value)\n }, [value])\n\n useEffect(() => {\n if(setMenuIsOpen) {\n setMenuIsOpen(showMenu)\n }\n }, [showMenu, setMenuIsOpen])\n\n return (\n // @ts-ignore\n <StyledDropdown ref={node} {...props}>\n <DropdownItem rounded color={value2.color} active={showMenu} onClick={() => !disabled ? setShowMenu(!showMenu) : null}>{value2.content}</DropdownItem>\n {showMenu && <DropDownContent>\n {items.map((item, i) => {\n return item && <DropdownItem key={'dropdown-item-'+i} color={item.color}\n {...item.props}\n onClick={e => {\n e.stopPropagation()\n setShowMenu(false);\n setValue(item)\n item.onClick && item.onClick(item, row)\n }}\n >{item.content}</DropdownItem>\n })}\n </DropDownContent>}\n </StyledDropdown>\n );\n}\n","import React, { ReactNode, useEffect, useState, useRef } from 'react';\nimport styled from 'styled-components'\nimport { getColor } from './Theme';\nimport { document, truncate } from '../utils';\n\nconst StyledCircles = styled.div`\n line-height: 0;\n margin-bottom: 9px;\n`;\n\nconst Circle = styled.div<{disabled?:boolean}>`\n background: #005B8C;\n opacity: ${p => p.disabled ? 0.1 : 1};\n width: 5px;\n height: 5px;\n border-radius: 10px;\n margin-right: 2px;\n display: inline-block;\n`;\n\nconst StyledDropdown = styled.div`\n position: relative;\n display: block;\n width: 100%;\n`;\n\ntype DropdownContentProps = {\n text?: string,\n active?: boolean,\n rounded?: boolean,\n showCircles?: boolean,\n scrollContentHeight?: string,\n background?: string,\n}\n\nconst DropdownDisplay = styled.div<DropdownContentProps>`\n color: black;\n padding: 8px 8px;\n text-decoration: none;\n display: block;\n text-align: center;\n background-color: ${p => p.background || '#F4F7FF'};\n line-height: 1em;\n min-height: 28px;\n display: ${p => p.showCircles ? \"inherit\" : \"flex\"};\n justify-content: center;\n align-items: center;\n border-radius: ${p => p.rounded ? \"100px\" : 0};\n opacity: ${p => p.active ? 0.85 : 1};\n &:hover {\n opacity: .85;\n cursor: pointer;\n }\n`;\n\nconst DropdownItem = styled.div<DropdownContentProps>`\n color: black;\n padding: 8px 8px;\n text-decoration: none;\n display: block;\n text-align: center;\n background-color: ${p => p.background || '#F4F7FF'};\n line-height: 1em;\n min-height: 30px;\n border-radius: ${p => p.rounded ? \"100px\" : 0};\n opacity: ${p => p.active ? 0.85 : 1};\n &:hover {\n opacity: .85;\n cursor: pointer;\n }\n word-wrap: break-word;\n`;\n\nconst DropDownContent = styled.div<DropdownContentProps>`\n display: block;\n position: absolute;\n background-color: ${p => getColor('white')};\n width: 100%;\n box-shadow: 0px 0px 16px 0px rgba(0,0,0,0.5);\n z-index: 10;\n border-radius: 10px;\n text-align: left;\n overflow: hidden;\n ${p => p.scrollContentHeight ? `max-height: ${p.scrollContentHeight}; overflow-y: auto;` : ''}\n`;\n\nconst Circles = ({val, max}:{val: number, max: number}) => {\n return <StyledCircles>\n {val > 0 ? [...Array(val)].map((item, i) => {\n return <Circle key={i}/>\n }) : null}\n {max - val > 0 ? [...Array(max - val)].map((item, i) => {\n return <Circle key={i} disabled/>\n }) : null}\n </StyledCircles>\n}\n\ntype StateDropdownItemProps = {\n onClick?: any;\n props?:{[key: string]: any};\n content: ReactNode|string|any;\n value: string;\n order: number;\n};\ntype StateDropdownProps = {\n items: Array<StateDropdownItemProps>;\n value: StateDropdownItemProps;\n row: any;\n showCircles?: boolean;\n maxCircles?: number;\n dataTip?: any;\n dataFor?: string;\n background?: string,\n} & DropdownContentProps;\nexport const StateDropdown = ({\n items,\n text,\n value,\n row,\n showCircles=true,\n maxCircles,\n dataTip=false,\n dataFor='',\n background = '#F4F7FF',\n ...props\n}: StateDropdownProps) => {\n\n const node = useRef<HTMLDivElement>(null);\n const [showMenu, setShowMenu] = useState(false);\n const [value2, setValue] = useState(value);\n\n const handleClick = (e: Event) => {\n if (node.current?.contains(e.target as Node)) {\n return;\n }\n setShowMenu(false);\n };\n\n useEffect(() => {\n document.addEventListener(\"mousedown\", handleClick);\n\n return () => {\n document.removeEventListener(\"mousedown\", handleClick);\n };\n }, []);\n\n useEffect(() => {\n setValue(value)\n }, [value])\n\n const content = value2?.content || '';\n\n return (\n <StyledDropdown ref={node} {...props}>\n <DropdownDisplay\n rounded \n active={showMenu} \n onClick={e => { e.stopPropagation(); setShowMenu(!showMenu) }}\n showCircles={showCircles}\n background={background}\n >\n {showCircles && <Circles max={maxCircles || items.length} val={value2?.order || 0}/>}\n {dataTip ? <span data-tip={dataTip} data-for={dataFor}>{truncate(content, 20)}</span> : content}\n </DropdownDisplay>\n {showMenu && <DropDownContent scrollContentHeight={props.scrollContentHeight}>\n {items.map((item, i) => {\n return item && <DropdownItem key={'dropdown-item-'+i} \n {...item.props}\n onClick={e => {\n e.stopPropagation()\n setShowMenu(false)\n setValue(item)\n item.onClick && item.onClick(item, row)\n }}\n >{showCircles && <Circles max={maxCircles || items.length} val={item.order}/>} {item.content} </DropdownItem> \n })}\n </DropDownContent>}\n </StyledDropdown>\n );\n}\n","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}","export default {\n disabled: false\n};","import React from 'react';\nexport default React.createContext(null);","export var forceReflow = function forceReflow(node) {\n return node.scrollTop;\n};","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport config from './config';\nimport { timeoutsShape } from './utils/PropTypes';\nimport TransitionGroupContext from './TransitionGroupContext';\nimport { forceReflow } from './utils/reflow';\nexport var UNMOUNTED = 'unmounted';\nexport var EXITED = 'exited';\nexport var ENTERING = 'entering';\nexport var ENTERED = 'entered';\nexport var EXITING = 'exiting';\n/**\n * The Transition component lets you describe a transition from one component\n * state to another _over time_ with a simple declarative API. Most commonly\n * it's used to animate the mounting and unmounting of a component, but can also\n * be used to describe in-place transition states as well.\n *\n * ---\n *\n * **Note**: `Transition` is a platform-agnostic base component. If you're using\n * transitions in CSS, you'll probably want to use\n * [`CSSTransition`](https://reactcommunity.org/react-transition-group/css-transition)\n * instead. It inherits all the features of `Transition`, but contains\n * additional features necessary to play nice with CSS transitions (hence the\n * name of the component).\n *\n * ---\n *\n * By default the `Transition` component does not alter the behavior of the\n * component it renders, it only tracks \"enter\" and \"exit\" states for the\n * components. It's up to you to give meaning and effect to those states. For\n * example we can add styles to a component when it enters or exits:\n *\n * ```jsx\n * import { Transition } from 'react-transition-group';\n *\n * const duration = 300;\n *\n * const defaultStyle = {\n * transition: `opacity ${duration}ms ease-in-out`,\n * opacity: 0,\n * }\n *\n * const transitionStyles = {\n * entering: { opacity: 1 },\n * entered: { opacity: 1 },\n * exiting: { opacity: 0 },\n * exited: { opacity: 0 },\n * };\n *\n * const Fade = ({ in: inProp }) => (\n * <Transition in={inProp} timeout={duration}>\n * {state => (\n * <div style={{\n * ...defaultStyle,\n * ...transitionStyles[state]\n * }}>\n * I'm a fade Transition!\n * </div>\n * )}\n * </Transition>\n * );\n * ```\n *\n * There are 4 main states a Transition can be in:\n * - `'entering'`\n * - `'entered'`\n * - `'exiting'`\n * - `'exited'`\n *\n * Transition state is toggled via the `in` prop. When `true` the component\n * begins the \"Enter\" stage. During this stage, the component will shift from\n * its current transition state, to `'entering'` for the duration of the\n * transition and then to the `'entered'` stage once it's complete. Let's take\n * the following example (we'll use the\n * [useState](https://reactjs.org/docs/hooks-reference.html#usestate) hook):\n *\n * ```jsx\n * function App() {\n * const [inProp, setInProp] = useState(false);\n * return (\n * <div>\n * <Transition in={inProp} timeout={500}>\n * {state => (\n * // ...\n * )}\n * </Transition>\n * <button onClick={() => setInProp(true)}>\n * Click to Enter\n * </button>\n * </div>\n * );\n * }\n * ```\n *\n * When the button is clicked the component will shift to the `'entering'` state\n * and stay there for 500ms (the value of `timeout`) before it finally switches\n * to `'entered'`.\n *\n * When `in` is `false` the same thing happens except the state moves from\n * `'exiting'` to `'exited'`.\n */\n\nvar Transition = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(Transition, _React$Component);\n\n function Transition(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n var parentGroup = context; // In the context of a TransitionGroup all enters are really appears\n\n var appear = parentGroup && !parentGroup.isMounting ? props.enter : props.appear;\n var initialStatus;\n _this.appearStatus = null;\n\n if (props.in) {\n if (appear) {\n initialStatus = EXITED;\n _this.appearStatus = ENTERING;\n } else {\n initialStatus = ENTERED;\n }\n } else {\n if (props.unmountOnExit || props.mountOnEnter) {\n initialStatus = UNMOUNTED;\n } else {\n initialStatus = EXITED;\n }\n }\n\n _this.state = {\n status: initialStatus\n };\n _this.nextCallback = null;\n return _this;\n }\n\n Transition.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) {\n var nextIn = _ref.in;\n\n if (nextIn && prevState.status === UNMOUNTED) {\n return {\n status: EXITED\n };\n }\n\n return null;\n } // getSnapshotBeforeUpdate(prevProps) {\n // let nextStatus = null\n // if (prevProps !== this.props) {\n // const { status } = this.state\n // if (this.props.in) {\n // if (status !== ENTERING && status !== ENTERED) {\n // nextStatus = ENTERING\n // }\n // } else {\n // if (status === ENTERING || status === ENTERED) {\n // nextStatus = EXITING\n // }\n // }\n // }\n // return { nextStatus }\n // }\n ;\n\n var _proto = Transition.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.updateStatus(true, this.appearStatus);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var nextStatus = null;\n\n if (prevProps !== this.props) {\n var status = this.state.status;\n\n if (this.props.in) {\n if (status !== ENTERING && status !== ENTERED) {\n nextStatus = ENTERING;\n }\n } else {\n if (status === ENTERING || status === ENTERED) {\n nextStatus = EXITING;\n }\n }\n }\n\n this.updateStatus(false, nextStatus);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.cancelNextCallback();\n };\n\n _proto.getTimeouts = function getTimeouts() {\n var timeout = this.props.timeout;\n var exit, enter, appear;\n exit = enter = appear = timeout;\n\n if (timeout != null && typeof timeout !== 'number') {\n exit = timeout.exit;\n enter = timeout.enter; // TODO: remove fallback for next major\n\n appear = timeout.appear !== undefined ? timeout.appear : enter;\n }\n\n return {\n exit: exit,\n enter: enter,\n appear: appear\n };\n };\n\n _proto.updateStatus = function updateStatus(mounting, nextStatus) {\n if (mounting === void 0) {\n mounting = false;\n }\n\n if (nextStatus !== null) {\n // nextStatus will always be ENTERING or EXITING.\n this.cancelNextCallback();\n\n if (nextStatus === ENTERING) {\n if (this.props.unmountOnExit || this.props.mountOnEnter) {\n var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this); // https://github.com/reactjs/react-transition-group/pull/749\n // With unmountOnExit or mountOnEnter, the enter animation should happen at the transition between `exited` and `entering`.\n // To make the animation happen, we have to separate each rendering and avoid being processed as batched.\n\n if (node) forceReflow(node);\n }\n\n this.performEnter(mounting);\n } else {\n this.performExit();\n }\n } else if (this.props.unmountOnExit && this.state.status === EXITED) {\n this.setState({\n status: UNMOUNTED\n });\n }\n };\n\n _proto.performEnter = function performEnter(mounting) {\n var _this2 = this;\n\n var enter = this.props.enter;\n var appearing = this.context ? this.context.isMounting : mounting;\n\n var _ref2 = this.props.nodeRef ? [appearing] : [ReactDOM.findDOMNode(this), appearing],\n maybeNode = _ref2[0],\n maybeAppearing = _ref2[1];\n\n var timeouts = this.getTimeouts();\n var enterTimeout = appearing ? timeouts.appear : timeouts.enter; // no enter animation skip right to ENTERED\n // if we are mounting and running this it means appear _must_ be set\n\n if (!mounting && !enter || config.disabled) {\n this.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode);\n });\n return;\n }\n\n this.props.onEnter(maybeNode, maybeAppearing);\n this.safeSetState({\n status: ENTERING\n }, function () {\n _this2.props.onEntering(maybeNode, maybeAppearing);\n\n _this2.onTransitionEnd(enterTimeout, function () {\n _this2.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode, maybeAppearing);\n });\n });\n });\n };\n\n _proto.performExit = function performExit() {\n var _this3 = this;\n\n var exit = this.props.exit;\n var timeouts = this.getTimeouts();\n var maybeNode = this.props.nodeRef ? undefined : ReactDOM.findDOMNode(this); // no exit animation skip right to EXITED\n\n if (!exit || config.disabled) {\n this.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n return;\n }\n\n this.props.onExit(maybeNode);\n this.safeSetState({\n status: EXITING\n }, function () {\n _this3.props.onExiting(maybeNode);\n\n _this3.onTransitionEnd(timeouts.exit, function () {\n _this3.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n });\n });\n };\n\n _proto.cancelNextCallback = function cancelNextCallback() {\n if (this.nextCallback !== null) {\n this.nextCallback.cancel();\n this.nextCallback = null;\n }\n };\n\n _proto.safeSetState = function safeSetState(nextState, callback) {\n // This shouldn't be necessary, but there are weird race conditions with\n // setState callbacks and unmounting in testing, so always make sure that\n // we can cancel any pending setState callbacks after we unmount.\n callback = this.setNextCallback(callback);\n this.setState(nextState, callback);\n };\n\n _proto.setNextCallback = function setNextCallback(callback) {\n var _this4 = this;\n\n var active = true;\n\n this.nextCallback = function (event) {\n if (active) {\n active = false;\n _this4.nextCallback = null;\n callback(event);\n }\n };\n\n this.nextCallback.cancel = function () {\n active = false;\n };\n\n return this.nextCallback;\n };\n\n _proto.onTransitionEnd = function onTransitionEnd(timeout, handler) {\n this.setNextCallback(handler);\n var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this);\n var doesNotHaveTimeoutOrListener = timeout == null && !this.props.addEndListener;\n\n if (!node || doesNotHaveTimeoutOrListener) {\n setTimeout(this.nextCallback, 0);\n return;\n }\n\n if (this.props.addEndListener) {\n var _ref3 = this.props.nodeRef ? [this.nextCallback] : [node, this.nextCallback],\n maybeNode = _ref3[0],\n maybeNextCallback = _ref3[1];\n\n this.props.addEndListener(maybeNode, maybeNextCallback);\n }\n\n if (timeout != null) {\n setTimeout(this.nextCallback, timeout);\n }\n };\n\n _proto.render = function render() {\n var status = this.state.status;\n\n if (status === UNMOUNTED) {\n return null;\n }\n\n var _this$props = this.props,\n children = _this$props.children,\n _in = _this$props.in,\n _mountOnEnter = _this$props.mountOnEnter,\n _unmountOnExit = _this$props.unmountOnExit,\n _appear = _this$props.appear,\n _enter = _this$props.enter,\n _exit = _this$props.exit,\n _timeout = _this$props.timeout,\n _addEndListener = _this$props.addEndListener,\n _onEnter = _this$props.onEnter,\n _onEntering = _this$props.onEntering,\n _onEntered = _this$props.onEntered,\n _onExit = _this$props.onExit,\n _onExiting = _this$props.onExiting,\n _onExited = _this$props.onExited,\n _nodeRef = _this$props.nodeRef,\n childProps = _objectWithoutPropertiesLoose(_this$props, [\"children\", \"in\", \"mountOnEnter\", \"unmountOnExit\", \"appear\", \"enter\", \"exit\", \"timeout\", \"addEndListener\", \"onEnter\", \"onEntering\", \"onEntered\", \"onExit\", \"onExiting\", \"onExited\", \"nodeRef\"]);\n\n return (\n /*#__PURE__*/\n // allows for nested Transitions\n React.createElement(TransitionGroupContext.Provider, {\n value: null\n }, typeof children === 'function' ? children(status, childProps) : React.cloneElement(React.Children.only(children), childProps))\n );\n };\n\n return Transition;\n}(React.Component);\n\nTransition.contextType = TransitionGroupContext;\nTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * A React reference to DOM element that need to transition:\n * https://stackoverflow.com/a/51127130/4671932\n *\n * - When `nodeRef` prop is used, `node` is not passed to callback functions\n * (e.g. `onEnter`) because user already has direct access to the node.\n * - When changing `key` prop of `Transition` in a `TransitionGroup` a new\n * `nodeRef` need to be provided to `Transition` with changed `key` prop\n * (see\n * [test/CSSTransition-test.js](https://github.com/reactjs/react-transition-group/blob/13435f897b3ab71f6e19d724f145596f5910581c/test/CSSTransition-test.js#L362-L437)).\n */\n nodeRef: PropTypes.shape({\n current: typeof Element === 'undefined' ? PropTypes.any : function (propValue, key, componentName, location, propFullName, secret) {\n var value = propValue[key];\n return PropTypes.instanceOf(value && 'ownerDocument' in value ? value.ownerDocument.defaultView.Element : Element)(propValue, key, componentName, location, propFullName, secret);\n }\n }),\n\n /**\n * A `function` child can be used instead of a React element. This function is\n * called with the current transition status (`'entering'`, `'entered'`,\n * `'exiting'`, `'exited'`), which can be used to apply context\n * specific props to a component.\n *\n * ```jsx\n * <Transition in={this.state.in} timeout={150}>\n * {state => (\n * <MyComponent className={`fade fade-${state}`} />\n * )}\n * </Transition>\n * ```\n */\n children: PropTypes.oneOfType([PropTypes.func.isRequired, PropTypes.element.isRequired]).isRequired,\n\n /**\n * Show the component; triggers the enter or exit states\n */\n in: PropTypes.bool,\n\n /**\n * By default the child component is mounted immediately along with\n * the parent `Transition` component. If you want to \"lazy mount\" the component on the\n * first `in={true}` you can set `mountOnEnter`. After the first enter transition the component will stay\n * mounted, even on \"exited\", unless you also specify `unmountOnExit`.\n */\n mountOnEnter: PropTypes.bool,\n\n /**\n * By default the child component stays mounted after it reaches the `'exited'` state.\n * Set `unmountOnExit` if you'd prefer to unmount the component after it finishes exiting.\n */\n unmountOnExit: PropTypes.bool,\n\n /**\n * By default the child component does not perform the enter transition when\n * it first mounts, regardless of the value of `in`. If you want this\n * behavior, set both `appear` and `in` to `true`.\n *\n * > **Note**: there are no special appear states like `appearing`/`appeared`, this prop\n * > only adds an additional enter transition. However, in the\n * > `<CSSTransition>` component that first enter transition does result in\n * > additional `.appear-*` classes, that way you can choose to style it\n * > differently.\n */\n appear: PropTypes.bool,\n\n /**\n * Enable or disable enter transitions.\n */\n enter: PropTypes.bool,\n\n /**\n * Enable or disable exit transitions.\n */\n exit: PropTypes.bool,\n\n /**\n * The duration of the transition, in milliseconds.\n * Required unless `addEndListener` is provided.\n *\n * You may specify a single timeout for all transitions:\n *\n * ```jsx\n * timeout={500}\n * ```\n *\n * or individually:\n *\n * ```jsx\n * timeout={{\n * appear: 500,\n * enter: 300,\n * exit: 500,\n * }}\n * ```\n *\n * - `appear` defaults to the value of `enter`\n * - `enter` defaults to `0`\n * - `exit` defaults to `0`\n *\n * @type {number | { enter?: number, exit?: number, appear?: number }}\n */\n timeout: function timeout(props) {\n var pt = timeoutsShape;\n if (!props.addEndListener) pt = pt.isRequired;\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return pt.apply(void 0, [props].concat(args));\n },\n\n /**\n * Add a custom transition end trigger. Called with the transitioning\n * DOM node and a `done` callback. Allows for more fine grained transition end\n * logic. Timeouts are still used as a fallback if provided.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * ```jsx\n * addEndListener={(node, done) => {\n * // use the css transitionend event to mark the finish of a transition\n * node.addEventListener('transitionend', done, false);\n * }}\n * ```\n */\n addEndListener: PropTypes.func,\n\n /**\n * Callback fired before the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEnter: PropTypes.func,\n\n /**\n * Callback fired after the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntering: PropTypes.func,\n\n /**\n * Callback fired after the \"entered\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEntered: PropTypes.func,\n\n /**\n * Callback fired before the \"exiting\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExit: PropTypes.func,\n\n /**\n * Callback fired after the \"exiting\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExiting: PropTypes.func,\n\n /**\n * Callback fired after the \"exited\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExited: PropTypes.func\n} : {}; // Name the function so it is clearer in the documentation\n\nfunction noop() {}\n\nTransition.defaultProps = {\n in: false,\n mountOnEnter: false,\n unmountOnExit: false,\n appear: false,\n enter: true,\n exit: true,\n onEnter: noop,\n onEntering: noop,\n onEntered: noop,\n onExit: noop,\n onExiting: noop,\n onExited: noop\n};\nTransition.UNMOUNTED = UNMOUNTED;\nTransition.EXITED = EXITED;\nTransition.ENTERING = ENTERING;\nTransition.ENTERED = ENTERED;\nTransition.EXITING = EXITING;\nexport default Transition;","import _ from 'lodash';\nimport React from 'react';\nimport styled from 'styled-components';\nimport { colors } from './Theme';\nimport { Transition } from 'react-transition-group';\n\nexport type CollapseStyledProps = {\n duration?: number;\n height?: null|number;\n}\nexport type CollapseWrapperProps = CollapseStyledProps\nexport type CollapsiblePanelTitleProps = {}\nexport type CollapsibleProps = CollapseWrapperProps & CollapsiblePanelTitleProps & {\n style?: React.CSSProperties,\n isOpen?: boolean;\n padded?: boolean;\n onEntering?: Function;\n onEntered?: Function;\n onExit?: Function;\n onExiting?: Function;\n onExited?: Function;\n}\nexport type CollapsiblePanelProps = React.PropsWithChildren<Omit<\nCollapsibleProps & {onClick?: null | ((i?: number|null) => void);}, \"isOpen\"> & {\n title?: string;\n isDefaultOpen?: boolean;\n components?: { [key in string]: any };\n titleProps?: { [key in string]: any };\n}>\n\nexport type CollapsiblePanelsProps = {\n panels?: Array<CollapsiblePanelProps & {wrapperProps?: { [key in string]: any }}>;\n spaceBetween?: boolean; // space between panels\n onClickPanel?: null | ((i?: number|null) => void);\n}\n\nexport const CollapseStyled = styled.div<CollapseStyledProps>`\n&&& {\n .collapsed:not(.show) {\n display: none;\n }\n\n .collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n transition: height ${p => p.duration ? p.duration/1000 : '0.35'}s ease;\n }\n\n @media (prefers-reduced-motion: reduce) {\n .collapsing {\n transition: none;\n }\n }\n}\n`;\n\nexport const CollapseWrapper = styled.div<CollapseWrapperProps>`\n&&& {\n border: 1px solid ${colors.primary0};\n border-radius: 5px;\n}\n`;\n\nexport const CollapsiblePanelTitle = styled.div<CollapsiblePanelTitleProps>`\n&&& {\n background: #f3f6f7;\n border-bottom: 1px solid ${colors.primary0};\n color: ${colors.primary};\n padding: 20px;\n cursor: pointer;\n}\n`\n\nconst transitionStatusToClass = {\n entering: 'collapsing',\n entered: 'collapsed show',\n exiting: 'collapsing',\n exited: 'collapsed',\n unmounted: 'collapsed',\n};\n\nfunction getTransitionClass(status: \"entering\" | \"entered\" | \"exiting\" | \"exited\" | \"unmounted\") {\n return transitionStatusToClass[status];\n}\n\nfunction getNodeHeight(node: HTMLElement) {\n return node.scrollHeight;\n}\n\nexport function Collapsible({\n onEntering, onEntered, onExit, onExiting, onExited,\n duration=300, isOpen=false, children, style={}, padded=false, ...props\n}: React.PropsWithChildren<CollapsibleProps>) {\n const [height, setHeight] = React.useState<null | number>(null);\n const onHandleEnters = (type: string) => (node: HTMLElement, isAppearing: boolean) => {\n switch (type) {\n case 'onEntering':\n const h = getNodeHeight(node);\n setHeight(padded ? Math.abs(h-40) : h);\n onEntering && onEntering(node, isAppearing);\n break;\n case 'onEntered':\n setHeight(null);\n onEntered && onEntered(node, isAppearing);\n break;\n default:\n break;\n }\n }\n const onHandleExits = (type: string) => (node: HTMLElement) => {\n switch (type) {\n case 'onExit':\n const h = getNodeHeight(node);\n setHeight(padded ? Math.abs(h-40) : h);\n onExit && onExit(node);\n break;\n case 'onExiting':\n setHeight(0);\n onExiting && onExiting(node);\n break;\n case 'onExited':\n setHeight(null);\n onExited && onExited(node);\n break;\n default:\n break;\n }\n }\n\n const bodyStyles = _.omit(style, ['padding', 'paddingTop', 'paddingBottom']);\n return (<CollapseStyled duration={duration}>\n <Transition in={isOpen} timeout={duration}\n onEntering={onHandleEnters('onEntering')}\n onEntered={onHandleEnters('onEntered')}\n onExit={onHandleExits('onExit')}\n onExiting={onHandleExits('onExiting')}\n onExited={onHandleExits('onExited')}\n >\n {status => (\n <div {...props}\n className={getTransitionClass(status)}\n style={{\n ...(height !== null ? { height } : {}),\n ...bodyStyles,\n }}>{children}</div>\n )}\n </Transition>\n </CollapseStyled>);\n}\n\n\nexport function CollapsiblePanel({\n title, duration=300, isDefaultOpen=false, components, children, titleProps={}, ...props\n}: React.PropsWithChildren<CollapsiblePanelProps>) {\n const [open, setOpen] = React.useState(isDefaultOpen);\n const togglePanel = (e: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n e && e.preventDefault();\n setOpen(!open);\n }\n const _titleProps = {\n isOpen: open,\n onClick: togglePanel,\n ...titleProps\n }\n return (<CollapseWrapper duration={duration}>\n {components && components.Title\n ? <components.Title {..._titleProps} />\n : <CollapsiblePanelTitle {..._titleProps}>{title}</CollapsiblePanelTitle>}\n <Collapsible {...props} duration={duration} isOpen={open}>{children}</Collapsible>\n </CollapseWrapper>);\n}\n\nexport function CollapsiblePanels({panels=[], spaceBetween=false, onClickPanel=null}: CollapsiblePanelsProps) {\n const [openIndex, setOpenIndex] = React.useState<number | null>(null);\n const updatePanelIndex = (i: number | null) => {\n let idx: number|null = null;\n if (i !== openIndex) {\n idx = i;\n }\n setOpenIndex(idx);\n onClickPanel && onClickPanel(idx);\n return idx;\n }\n\n return (<>\n {panels.map((v, i) => {\n const {\n duration=300,\n components={},\n title=\"\",\n children,\n titleProps={},\n wrapperProps={},\n onClick=null,\n ...panelProps\n } = v;\n const togglePanel = (e: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n e && e.preventDefault();\n const idx = updatePanelIndex(i);\n onClick && onClick(idx);\n }\n const _titleProps = {\n isOpen: i === openIndex,\n onClick: togglePanel,\n ...titleProps,\n }\n const { style={}, ..._wrapperProps } = wrapperProps;\n return (\n <CollapseWrapper key={`CSKU_CollapsiblePanels_${i}`} duration={duration} style={{\n ...(spaceBetween ? {marginBottom: 10} : {}),\n ...style,\n }} {..._wrapperProps}>\n {components && components.Title\n ? <components.Title {..._titleProps} />\n : <CollapsiblePanelTitle {..._titleProps}>{title}</CollapsiblePanelTitle>}\n <Collapsible {...panelProps} duration={duration} isOpen={_titleProps.isOpen}>{children}</Collapsible>\n </CollapseWrapper>\n );\n })}\n </>);\n}\n","import styled from 'styled-components'\nimport React, { useCallback, useState } from 'react'\nimport { SharedStyles, SharedStyleTypes } from './SharedStyles'\nimport {Text, Number} from './Text'\nimport { useWindowSize } from './hooks'\nimport { Label } from './Label'\n\nconst ProgressWrapper = styled.div<SharedStyleTypes>`\n max-width: 100%;\n width: 100%;\n height: 48px;\n background: linear-gradient(180deg, rgba(1, 211, 116, 0.051) 0%, rgba(1, 211, 116, 0.1) 100%);\n box-shadow: 0px 4px 5px rgba(72, 78, 86, 0.1);\n border-radius: 50px;\n \n ${SharedStyles}\n`\n\ntype ProgressBarValue = {\n value: number;\n text?: (v?: string | number | Object) => string | number;\n color?: string;\n textColor?: string;\n};\ntype ProgressBarsProps = React.PropsWithChildren<{\n values: ProgressBarValue[],\n max: number,\n color?: string,\n error?: string,\n title?: string,\n} & SharedStyleTypes>;\n\ntype ProgressBarProps = Omit<ProgressBarsProps, 'values'> & {\n value: number;\n left?: number;\n};\n\nconst ProgressBar = styled.div<ProgressBarProps>`\n max-width: 100%;\n width: ${p => `calc(${100 * (!p.max ? 1 : (p.value / p.max))}% - (${p.left || 0}px + 17px))`};\n height: 48px;\n background: ${props => props.error ? \"#B21154\" : (\n props.color || \"#00d374\"\n )};\n border-radius: 50px;\n display: inline-block;\n position: absolute;\n`\n\ntype LabeledBarprops = ProgressBarProps & {\n text?: string | number,\n textColor?: string,\n};\nconst LabeledBar = (props: LabeledBarprops) => {\n const [width,] = useWindowSize();\n const [size, setSize] = useState({height: 0, width: 0, x: 0, y: 0,});\n const measureRef = useCallback(node => {\n const rect: DOMRect | undefined = node?.getBoundingClientRect() as DOMRect;\n setSize(s => (rect ? {\n ...s,\n height: rect.height,\n x: rect.x,\n y: rect.y,\n width: (rect.width > width ? width : rect.width)-rect.x,\n } : {...s, height: 0, width: 0, x: 0, y: 0,}));\n /* eslint-disable react-hooks/exhaustive-deps */\n }, [width, props.text, props.value]);\n const text = (props.text || '') + '';\n\n return (\n <>\n <Text style={{\n position: 'absolute',\n display: 'inline-block',\n textAlign: width >= 990 ? 'right' : 'center',\n zIndex: 9,\n marginTop: -24,\n color: '#00d374',\n // width: `calc(${100 * props.value / props.max}% - (${size.x || 0}px + 17px))`,\n }}>{text}</Text>\n <ProgressBar ref={measureRef} {...props} left={size.x} />\n </>\n );\n}\n\nconst MultiProgress = ({\n labeled,\n error,\n values,\n max: maxVal,\n ...props\n}: ProgressBarsProps & {labeled?: boolean, style?: React.CSSProperties}) => {\n const max = typeof maxVal === 'number'\n ? maxVal\n : !isNaN(maxVal) ? parseInt(maxVal) : 0;\n\n return <ProgressWrapper {...props}>\n {values.map((v: ProgressBarValue, i) => {\n const color = v.color || (i%2 === 0 ? 'rgba(1, 211, 116, 0.2)' : '#00d374');\n const val = typeof v.value === 'number' ? v.value : !isNaN(v.value) ? parseInt(v.value) : 0;\n return (\n labeled ? <LabeledBar\n value={val < max ? val : max}\n max={max}\n error={error}\n color={color}\n text={v.text ? v.text(val) : val}\n key={`multiprogress-bar-${val}-${i}`}\n textColor={v.textColor}\n /> : <ProgressBar\n value={val < max ? val : max}\n max={max}\n error={error}\n color={color}\n key={`multiprogress-bar-${val}-${i}`}\n />\n );\n })}\n {error ? <Text color=\"error\" bold>{error}</Text> : null}\n </ProgressWrapper>\n}\n\nconst LabeledMultiProgress = ({\n title,\n ...props\n}: ProgressBarsProps & { style?: React.CSSProperties }) => {\n return <div>\n {title ? <Label style={{fontWeight: 'bold', fontSize: 18, }}>{title}</Label> : null}\n <span style={{\n float: 'right',\n paddingRight: 8,\n paddingTop: 40,\n }}>Target $<Number commas decimalPoints={0} num={props.max}/></span>\n <MultiProgress\n {...props}\n labeled\n style={{ marginTop: 40, ...(props.style || {}) }}\n />\n </div>\n}\n\nexport { MultiProgress, LabeledMultiProgress };\n","import React, { useCallback, useRef, useState } from 'react';\nimport styled from 'styled-components';\nimport { Text, Number } from './Text';\nimport { SharedStyles, SharedStyleTypes } from './SharedStyles';\nimport { colors } from './Theme';\n\n\nconst ProgressWrapper = styled.div<SharedStyleTypes>`\n max-width: 100%;\n width: 100%;\n height: 48px;\n box-shadow: 0px 4px 5px rgba(72, 78, 86, 0.1);\n border-radius: 50px;\n\n ${SharedStyles}\n`\n\n\nconst ProgressBar = styled.div<{\n target: number;\n value: number;\n color?: string;\n offset?: number;\n elementWidth?: number;\n}>`\n max-width: 100%;\n width: ${p => {\n if (p.offset) {\n return `${p.offset}px`;\n }\n const val = (p.value / p.target);\n const offset = p.elementWidth || 100;\n return `calc(${(val > 1 ? 1 : val) * 100}% - ${offset}px)`;\n }};\n height: 48px;\n background: ${p => p.color || \"#00d374\"};\n border-radius: 50px;\n display: inline-block;\n position: absolute;\n`\n\nexport type ThermometerProps = {\n style?: React.CSSProperties;\n title?: string;\n target: number;\n value1: number,\n value1Label?: string | ((v: number) => string),\n\tbarColor?: string;\n\tlabelTextColor?: string;\n\tisSecondary?: boolean;\n};\nexport default function Thermometer({\n title,\n target,\n value1,\n value1Label,\n\tbarColor,\n\tlabelTextColor,\n\tisSecondary,\n ...props\n}: ThermometerProps) {\n const targetRef = useRef<HTMLSpanElement | null>(null);\n const val1Ref = useRef<HTMLSpanElement | null>(null);\n const containerRef = useRef<HTMLDivElement | null>(null);\n const [containerWidth, setContainerWidth] = useState(0);\n const [targetWidth, setTargetWidth] = useState(0);\n const [value1Width, setValue1Width] = useState(0);\n\n const calcTargetWidth = () => {\n const result = 1 * containerWidth;\n return result > containerWidth ? containerWidth : result;\n };\n const calcVal1Width = () => {\n const result = (target <= value1 ? 1 : value1/target) * containerWidth;\n return result > containerWidth ? containerWidth : result;\n };\n\n const measureContainerRef = useCallback((node: HTMLDivElement) => {\n containerRef.current = node;\n setContainerWidth(node?.clientWidth || 0);\n }, []);\n const measureTargetRef = useCallback((node: HTMLSpanElement) => {\n targetRef.current = node;\n setTargetWidth(node?.clientWidth || 0);\n }, []);\n const measureValue1Ref = useCallback((node: HTMLSpanElement) => {\n val1Ref.current = node;\n setValue1Width(node?.clientWidth || 0);\n }, []);\n\n return (\n <div {...props}>\n {title ? <Text\n style={{fontWeight: 'bold', fontSize: 18, color: colors.neutrals.bodyText}}\n >{title}</Text> : null}\n <div style={{ paddingBottom: 20, paddingTop: 5}}>\n <span ref={measureTargetRef} style={{\n position: 'absolute',\n paddingRight: 5,\n paddingLeft: `${calcTargetWidth() - (targetWidth || 100)}px`,\n }}>\n Target $<Number commas decimalPoints={0} num={target}/>\n </span>\n <span ref={measureValue1Ref} style={{\n position: 'absolute',\n paddingRight: 5,\n color: labelTextColor || colors.secondary3.main,\n }}>\n\t\t\t\t{value1Label+\" $\"}<Number commas decimalPoints={0} num={value1}/>\n </span>\n </div>\n <div ref={measureContainerRef}>\n <ProgressWrapper style={{ marginTop: 10, background : isSecondary ? '#FFF9C5' : '#C9FDE5' }}>\n <ProgressBar\n target={target}\n value={value1}\n color={barColor || colors.secondary3.main}\n offset={calcVal1Width()}\n elementWidth={value1Width}\n />\n </ProgressWrapper>\n </div>\n </div>\n );\n}\n","import React from 'react';\nimport { uniqueId } from 'lodash';\nimport styled from 'styled-components'\nimport { themeOptions } from './Theme';\nimport { SharedStyles, SharedStyleTypes } from './SharedStyles';\nimport { SizerCss, SizerTypes } from './Sizer';\nimport colors from './colors';\nimport SVG, { SVGIconProps } from './icons/SvgIcon';\n\ntype LightIndicatorLightProps = SVGIconProps & { lit?: boolean; large?: boolean; };\nexport default function LightIndicatorLight({\n width = 10,\n height = 10,\n lit = false,\n large = false,\n ...props\n}: LightIndicatorLightProps) {\n\n const size = large ? 16 : 10;\n const circleSize = large ? 8 : 10;\n const gradientTransform = large ? \"matrix(0 8 -8 0 8 8)\" : \"matrix(0 10 -10 0 10 10)\";\n\n const lightID = uniqueId(\"LightIndicatorLight\");\n\n const fillOpacity =\n lit ? 1 : 0.6;\n\n const litOrNot =\n lit ? <><stop stopColor=\"#01D374\" stopOpacity={0.39} /><stop offset={1} stopColor=\"#01D374\" /></>\n : <><stop stopColor=\"#E4E4E4\" stopOpacity={0.39} /><stop offset={1} stopColor=\"#9D9D9D\" /></>;\n\n return <SVG width={size} height={size} {...props} >\n <circle cx={circleSize} cy={circleSize} r={circleSize} fill={`url(#${lightID})`} fillOpacity={fillOpacity} />\n <defs>\n <radialGradient\n id={lightID}\n cx={0}\n cy={0}\n r={1}\n gradientUnits=\"userSpaceOnUse\"\n gradientTransform={gradientTransform}\n >\n {litOrNot}\n </radialGradient>\n </defs>\n </SVG>\n}\n\ntype LightIndicatorTextType = {\n LightIndicatorTextColor: boolean;\n large?: boolean;\n}\nconst LightIndicatorText = styled.p<LightIndicatorTextType>`\n &&& {\n font-size: ${props => props.large ? themeOptions.fontStyles.p.medium.fontSize : themeOptions.fontStyles.p.small.fontSize};\n font-family: ${themeOptions.fontStyles.p.small.fontFamily};\n line-height: ${themeOptions.fontStyles.p.small.lineHeight};\n color: ${props => props.LightIndicatorTextColor ? colors.neutrals.bodyText : colors.neutrals[70]};\n margin-top:0;\n margin-bottom:0;\n };\n`;\n\nconst LightIndicatorContainer = styled.div<SharedStyleTypes & SizerTypes>`\n &&& {\n display: flex;\n vertical-align: middle;\n align-items: top;\n max-width: 100%;\n margin-bottom: 8px;\n margin-right: 16px;\n ${SharedStyles}\n ${SizerCss}\n }\n`;\n\ntype LightIndicatorProps = {\n name: string;\n on?: boolean;\n large?: boolean;\n textProps?: React.HTMLAttributes<HTMLParagraphElement>;\n}\n\nexport function LightIndicator({\n name = \"Name this Indicator\",\n on = false,\n large = false,\n textProps = {},\n ...props\n}: LightIndicatorProps) {\n return (\n <LightIndicatorContainer {...props}>\n <LightIndicatorLight large={large} lit={on} mr={8} mt={8} />\n <LightIndicatorText {...textProps} large={large} LightIndicatorTextColor={on} >{name}</LightIndicatorText>\n </LightIndicatorContainer>\n );\n}\n","import React, { useState } from 'react';\nimport styled from 'styled-components';\nimport { themeOptions } from './Theme';\nimport { SharedStyles, SharedStyleTypes } from './SharedStyles';\nimport { SizerCss, SizerTypes } from './Sizer';\nimport colors, { teal } from './colors';\nimport StarIcon from './icons/StarIcon';\n\ntype DefaultStarTextProps = {\n hover?: boolean;\n clicked?: boolean;\n hoverText: string;\n color?: string;\n};\n\nconst DefaultStarText = styled.p<DefaultStarTextProps>`\n &&& {\n opacity: ${props => props.clicked ? 1 : props.hover ? 0.8 : 0};\n font-size: ${themeOptions.fontStyles.p.medium.fontSize};\n font-family: ${themeOptions.fontStyles.p.medium.fontFamily};\n line-height: ${themeOptions.fontStyles.p.medium.lineHeight};\n color: ${props => props.clicked ? props.color : colors.neutrals[60]};\n max-width: 180px;\n margin-top:0;\n margin-bottom:0;\n };\n`;\n\ntype DefaultStarContainerProps = {\n noText?: boolean;\n width?: string | number;\n};\n\nconst DefaultStarContainer = styled.div<SharedStyleTypes & SizerTypes & DefaultStarContainerProps>`\n &&& {\n display: flex;\n vertical-align: middle;\n align-items: top;\n width: ${props => props.width ? props.width : props.noText ? '24px' : '128px'};\n margin-bottom: 16px;\n margin-right: 16px;\n cursor: pointer;\n ${SharedStyles}\n ${SizerCss}\n }\n`;\n\ntype DefaultStarProps = React.PropsWithChildren<{\n initialSelected ?: boolean;\n forceSelected?: boolean;\n hoverText?: any;\n noText?: boolean;\n width?: string | number;\n color?: string;\n}>\n\nexport default function DefaultStar({\n initialSelected=false,\n forceSelected=false,\n hoverText,\n noText=false,\n children=\"Default\",\n width,\n color=teal.main,\n ...props\n}: DefaultStarProps ) {\n\n if(!hoverText) {\n hoverText = children\n }\n\n const [isHover, setHover] = useState(initialSelected);\n const [isClicked, setClicked] = useState(initialSelected);\n\n return (\n <DefaultStarContainer \n onClick={() => setClicked(!isClicked)} \n onMouseEnter={() => setHover(true)} \n onMouseLeave={() => setHover(false)} \n noText={noText} \n width={width}>\n <StarIcon \n hover={isHover} \n filled={isHover || isClicked || forceSelected}\n color={color} \n mr={noText ? 0 : 8}\n />\n {noText ? null : \n <DefaultStarText \n hoverText={hoverText} \n hover={isHover} \n clicked={isClicked || forceSelected}\n color={color}\n >\n {!isClicked && isHover ? hoverText : children}\n\n </ DefaultStarText>\n }\n </DefaultStarContainer>\n );\n}\n \n ","import React from 'react';\nimport { SharedStyleTypes } from './SharedStyles';\nimport { SizerTypes } from './Sizer';\nimport { Button, TSize, ButtonVariant } from './Button';\n\n\nexport type CancelButtonProps = {\n size?: TSize;\n style?: React.CSSProperties;\n variant?: ButtonVariant;\n} & SharedStyleTypes & SizerTypes;\n\nexport default function CancelButton({\n size=\"medium\",\n variant=\"error\",\n style={},\n ...Props\n}: CancelButtonProps){\n return (\n <Button variant={variant} size={size} {...Props} >Cancel</Button>\n )\n};","import React from 'react';\nimport { SharedStyleTypes } from './SharedStyles';\nimport { SizerTypes } from './Sizer';\nimport { Button, TSize, ButtonVariant } from './Button';\n\n\nexport type DoneButtonProps = {\n size?: TSize;\n style?: React.CSSProperties;\n variant?: ButtonVariant;\n} & SharedStyleTypes & SizerTypes;\n\nexport default function DoneButton({\n size=\"medium\",\n variant=\"primary\",\n style={},\n ...Props\n}: DoneButtonProps){\n return (\n <Button variant={variant} size={size} {...Props}>Done</Button>\n )\n};","import React, { useState } from \"react\";\nimport styled from \"styled-components\";\nimport colors from './colors';\nimport { fontStyles } from \"./Theme\";\nimport { SharedStyleTypes, SharedStyles } from './SharedStyles';\nimport { SizerCss, SizerTypes } from './Sizer';\nimport { TButtonIcon } from \"./Button\";\n\nconst StyledLink = styled.a<{alertType?: string, color?: string, hoverColor?: string, flexShrink?: boolean}>`\n &&& {\n font-size: ${fontStyles.p.medium.fontSize};\n font-family: ${fontStyles.p.medium.fontFamily};\n line-height: ${fontStyles.p.medium.lineHeight};\n color: ${props => props.color || colors.teal.main};\n text-decoration: none;\n cursor: pointer;\n display: flex;\n ${props => props.flexShrink ? `flex-shrink: 0;` : null};\n ${SharedStyles}\n ${SizerCss}\n &:hover {\n color: ${props => props.hoverColor ? props.hoverColor : colors.teal.dark};\n }\n } \n`;\n\ntype IconFuncProps = { color: string; [key: string]: any };\n\nexport type LinkWithIconProps = React.PropsWithChildren<{\n Icon?: TButtonIcon | React.ReactElement<IconFuncProps>;\n href?: string; \n color?: string;\n hoverColor?: string;\n flexShrink?: boolean;\n iconProps?: {[key: string]: any};\n style?: React.CSSProperties;\n} & SharedStyleTypes & SizerTypes>;\n\nexport default function LinkWithIcon({\n Icon,\n href,\n children,\n color=colors.teal.main,\n hoverColor=colors.teal.dark,\n flexShrink=false,\n iconProps,\n style={},\n ...props\n}: LinkWithIconProps){\n\n const [isHover, setHover] = useState(false);\n\n const RenderIcon = React.useMemo(() => {\n if (!Icon) { return null; }\n\n if (typeof Icon !== 'function') {\n return React.cloneElement(Icon, iconProps);\n }\n \n return (\n <Icon \n color={isHover ? hoverColor : color} \n mr={8} \n style={{flexShrink: \"0\"}}\n {...iconProps} \n />\n );\n }, [Icon, color, hoverColor, iconProps, isHover]);\n\n return(\n <StyledLink \n href={href} \n color={color} \n hoverColor={hoverColor} \n flexShrink={flexShrink}\n onMouseEnter={() => setHover(true)} \n onMouseLeave={() => setHover(false)} \n style={style}\n {...props}\n >\n {RenderIcon}\n {children}\n </StyledLink>\n )\n}","import React from \"react\";\nimport styled, { CSSObject } from \"styled-components\";\nimport colors from './colors';\nimport { fontStyles } from \"./Theme\";\nimport { InfoIcon, AlertIcon, CompletedCheckmarkIcon } from \"./icons\";\nimport LinkWithIcon from \"./LinkWithIcon\";\nimport { SharedStyleTypes, SharedStyles } from './SharedStyles';\nimport { SizerCss, SizerTypes } from './Sizer';\n\ntype AlertNotificationProps = React.PropsWithChildren<{\n alertType?: \"neutral\" | \"success\" | \"error\",\n style?: React.CSSProperties;\n learnMore ?: boolean;\n href?: string;\n linkText?: string;\n}> & SharedStyleTypes & SizerTypes;\n\n\nconst NotificationVariantStyles = (alertType: string): CSSObject => {\n \n switch(alertType){\n case \"neutral\":\n return {\n backgroundColor: colors.navy.lightest,\n color: colors.navy.dark,\n };\n \n case \"success\":\n return {\n backgroundColor: colors.green.lightest,\n color: colors.green.darkest,\n };\n case \"error\":\n return {\n backgroundColor: colors.errors.lightest,\n color: colors.errors.dark,\n };\n default: \n return {};\n }\n};\n\nconst StyledNotification = styled.div<{alertType?: string }>`\n &&& {\n font-size: ${fontStyles.p.medium.fontSize};\n font-family: ${fontStyles.p.medium.fontFamily};\n line-height: ${fontStyles.p.medium.lineHeight};\n width: fit-container;\n border-radius: 5px;\n padding: 24px 16px;\n display:flex;\n flex-direction: row;\n ${props => props.alertType ? NotificationVariantStyles(props.alertType): {}};\n ${SharedStyles}\n ${SizerCss}\n }\n`;\n\nexport default function AlertNotification({\n alertType=\"neutral\",\n learnMore=false,\n href,\n linkText,\n children, \n style={},\n ...props\n}: AlertNotificationProps){\n\n function notificationIcon(){\n if(alertType === \"success\") {\n return <CompletedCheckmarkIcon color={colors.green.dark} mr={8} style={{flexShrink: 0}}/> \n } else if (alertType === \"error\") {\n return <AlertIcon color={colors.errors.dark} mr={8} style={{flexShrink: 0}}/>\n } else {\n return <InfoIcon color={colors.navy.dark} mr={8} style={{flexShrink: 0}}/>\n }\n };\n\n NotificationVariantStyles(alertType);\n \n return (\n <StyledNotification alertType={alertType} {...props}>\n {notificationIcon()}\n {children}\n {learnMore ? \n <LinkWithIcon href={href} style={{marginLeft: \"auto\"}} pl={24} flexShrink={true}>Learn More</LinkWithIcon> \n : \n linkText ? \n <LinkWithIcon href={href} style={{marginLeft: \"auto\"}} pl={24} flexShrink={true}>{linkText}</LinkWithIcon>\n : null\n }\n </StyledNotification>\n )\n};\n","import React, { useEffect, useRef, useState } from \"react\";\nimport { Input, InputProps, LabeledInput } from \"./Input\";\nimport { onChangeNumber } from \"../utils\";\n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/NumberFormat\nexport type LocaleOptions = {\n maximumFractionDigits ?: number,\n minimumSignificantDigits?: number,\n maximumSignificantDigits?: number,\n numberingSystem ?: string,\n currencySign ?: string,\n currency ?: string,\n unit ?: string,\n style ?: 'decimal' | 'currency' | 'percent' | 'unit',\n unitDisplay ?: 'long' | 'short' | 'narrow',\n currencyDisplay ?: 'symbol' | 'narrowSymbol' | 'code' | 'name',\n notation ?: 'standard' | 'scientific' | 'engineering' | 'compact',\n signDisplay ?: 'auto' | 'never' | 'always' | 'exceptZero',\n localeMatcher ?: string,\n useGrouping ?: boolean,\n minimumIntegerDigits ?: number,\n minimumFractionDigits ?: number,\n};\n\nexport type NumberInputProps = Omit<InputProps, 'onChange'> & {\n defaultValue?: string | number;\n label?: string;\n icon?: (props: object) => React.ReactElement;\n onClickIcon?: (value: string | number) => string | undefined | void;\n iconStyles?: {};\n labelStyle?: React.CSSProperties;\n onChange?: (value: number | string | null, action?: string) => void;\n localeOptions?: LocaleOptions,\n inputMode?: \"none\" | \"text\" | \"numeric\" | \"decimal\";\n};\n\ntype useNumberInputProps = {\n defaultValue?: string | number;\n onChange?: ((value: string | number | null, action?: string | undefined) => void);\n onFocus?: React.FocusEventHandler<HTMLInputElement>;\n onBlur?: React.FocusEventHandler<HTMLInputElement>;\n inputMode?: \"none\" | \"text\" | \"numeric\" | \"decimal\";\n localeOptions?: LocaleOptions,\n}\n\nexport function useNumberInput(props: useNumberInputProps) {\n const {\n defaultValue = \"\",\n onChange,\n onFocus,\n onBlur,\n inputMode,\n localeOptions={},\n } = props;\n const inputRef = useRef<HTMLInputElement>(null);\n const [state, setState] = useState({\n last_value: +defaultValue || '',\n value: +defaultValue || '',\n type: 'number',\n });\n\n useEffect(() => {\n numToStr(+defaultValue);\n }, []);\n\n function strToNum() {\n setState(s => ({\n ...s,\n type: 'number',\n value: +s.last_value,\n }));\n }\n\n function numToStr(num = state.value) {\n setState(s => ({\n ...s,\n type: '',\n last_value: num || '',\n value: num === '' ? '' : (+num).toLocaleString(undefined, localeOptions),\n }));\n }\n\n const updateValue = (val: number | string | null) => {\n if (val === null) { return; }\n const new_val = onChangeNumber(val);\n if(new_val !== null) {\n setState(s => ({...s, value: new_val, last_value: new_val }));\n onChange && onChange(new_val);\n }\n };\n\n const handleChange = () => {\n const inputElem = inputRef.current;\n if (inputElem === null) { return; }\n updateValue(inputElem?.value);\n };\n\n function handleBlur(e: React.FocusEvent<HTMLInputElement>) {\n numToStr();\n onBlur && onBlur(e);\n }\n\n function handleFocus(e: React.FocusEvent<HTMLInputElement>) {\n strToNum();\n onFocus && onFocus(e);\n }\n\n function clearInput() {\n setState(s => ({...s, value: '0', last_value: 0,}));\n onChange && onChange(0);\n }\n\n return {\n ref: inputRef,\n value: state.value,\n inputMode: inputMode || 'decimal',\n type: state.type,\n onChange: handleChange,\n onBlur: handleBlur,\n onFocus: handleFocus,\n updateValue,\n clearInput,\n strToNum,\n };\n}\n\nfunction NumberInput(props: NumberInputProps) {\n const {\n defaultValue = \"\",\n label=null,\n localeOptions={},\n icon=null,\n onClickIcon=null,\n iconStyles={},\n ...rest\n } = props;\n const {\n ref,\n value,\n inputMode,\n type,\n onChange,\n onBlur,\n onFocus,\n clearInput,\n } = useNumberInput({\n defaultValue,\n onChange: props.onChange,\n onFocus: props.onFocus,\n onBlur: props.onBlur,\n inputMode: props.inputMode,\n localeOptions,\n });\n\n const inputProps = {\n ...rest,\n // type: type,\n value,\n inputMode: inputMode || 'decimal',\n onChange,\n onBlur,\n onFocus,\n };\n\n const iconWrapperStyles: React.CSSProperties = {\n fontStyle: 'normal',\n cursor: 'pointer',\n position: 'absolute',\n marginLeft: '-35px',\n marginTop: '5px',\n ...(iconStyles)\n };\n\n const handleClickIcon = () => {\n if (onClickIcon) {\n const action = onClickIcon(value);\n if (action && action === 'clear') {\n clearInput();\n }\n }\n };\n\n return (\n <>\n {label\n ? <LabeledInput {...inputProps} label={label} ref={ref} />\n : <Input {...inputProps} ref={ref} />}\n {icon && type !== 'number'\n ? <span style={iconWrapperStyles} onClick={handleClickIcon}>{icon}</span>\n : null}\n </>\n );\n}\n\nexport default NumberInput;\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport { debounce } from \"lodash\";\nimport { IconButton } from './Button';\nimport { fontStyles } from './Theme';\nimport { neutrals } from \"./colors\";\nimport { AddIcon, SubtractIcon } from \"./icons\";\nimport { SharedStyles, SharedStyleTypes } from './SharedStyles';\nimport { SizerCss, SizerTypes } from './Sizer';\nimport { NumberInputProps, useNumberInput } from './NumberInput';\nimport { Input } from \"./Input\";\nimport { useLongPress } from \"./hooks\";\n\ntype InputStepperProps = Omit<NumberInputProps, 'value'> & {\n min?: number;\n max?: number;\n initialValue?: number | string;\n width?: string;\n label?: string;\n labelStyle?: React.CSSProperties;\n inputDisabled?: boolean;\n};\n\nconst InputStepperOuterContainer = styled.div<{ width?: string } & SharedStyleTypes & SizerTypes>`\n &&&{\n width: ${props => props.width ? props.width : `160px`};\n ${SharedStyles}\n ${SizerCss}\n }\n`;\n\nconst InputStepperInnerContainer = styled.div<SharedStyleTypes & SizerTypes>`\n &&&{\n display: flex;\n width: 100%;\n flex-direction: row;\n justify-content: space-between;\n border-radius: 5px;\n background-color: white;\n ${SharedStyles}\n ${SizerCss}\n }\n`;\n\nconst InputStepperLabel = styled.label<SharedStyleTypes & SizerTypes>`\n &&&{\n font-size: ${fontStyles.label.fontSize};\n font-family: ${fontStyles.label.fontFamily};\n line-height: ${fontStyles.label.lineHeight};\n margin-bottom: 8px;\n color: ${neutrals.bodyText}\n ${SharedStyles}\n ${SizerCss}\n }\n`;\n\nconst CurrentNumber = styled.div<SharedStyleTypes & SizerTypes>`\n &&&{\n display:flex;\n justify-content: center;\n align-items: center;\n height:38px;\n width:100%;\n border-top: 1px solid ${neutrals['60']};\n border-bottom: 1px solid ${neutrals['60']};\n color: ${neutrals.bodyText};\n text-align:center;\n vertical-align:middle;\n }\n`;\n\nexport const canIncrement = (value: number, max?: number) =>\n (max !== undefined && value < max) || max === undefined;\nexport const canDecrement = (value: number, min?: number) =>\n (min !== undefined && value > min) || min === undefined;\n\nexport default function InputStepper(props: InputStepperProps) {\n const {\n min = 0,\n max,\n width,\n label,\n labelStyle = {},\n style = {},\n disabled=false,\n inputDisabled=false,\n localeOptions,\n initialValue,\n ...rest\n } = props;\n\n const {\n ref,\n value,\n inputMode,\n onChange,\n onBlur,\n onFocus,\n updateValue,\n strToNum,\n } = useNumberInput({\n defaultValue: initialValue,\n onChange: rest.onChange,\n onFocus: rest.onFocus,\n onBlur: rest.onBlur,\n inputMode: rest.inputMode,\n localeOptions,\n });\n const {\n onMouseDown: onIncrementMouseDown,\n onMouseLeave: onIncrementMouseLeave,\n onMouseUp: onIncrementMouseUp,\n onTouchEnd: onIncrementTouchEnd,\n onTouchStart: onIncrementTouchStart,\n } = useLongPress(() => {\n handleIncrement();\n });\n\n const {\n onMouseDown: onDecrementMouseDown,\n onMouseLeave: onDecrementMouseLeave,\n onMouseUp: onDecrementMouseUp,\n onTouchEnd: onDecrementTouchEnd,\n onTouchStart: onDecrementTouchStart,\n } = useLongPress(() => {\n handleDecrement();\n });\n\n const valueNumber = typeof value === 'string' ? parseFloat(value) : value;\n const decrementButtonVariant = disabled || !canDecrement(valueNumber, min)\n ? \"disabled\" : \"primary\";\n const incrementButtonVariant = disabled || !canIncrement(valueNumber, max)\n ? \"disabled\" : \"primary\";\n\n function handleIncrement() {\n const newValue = valueNumber + 1;\n if (disabled || !canIncrement(valueNumber, max)) { return; }\n updateValue(newValue)\n }\n\n function handleDecrement() {\n const newValue = valueNumber - 1;\n if (disabled || !canDecrement(valueNumber, min)) { return; }\n updateValue(newValue);\n }\n\n // check and update value by min and max\n const delayChange = debounce(React.useCallback(() => {\n const val = ref.current?.value;\n if (val === null || val === undefined) { return; }\n if (!canIncrement(parseInt(val), max) && max !== undefined) {\n updateValue(max);\n } else if (!canDecrement(parseInt(val), min) && min !== undefined) {\n updateValue(min);\n }\n }, [ref, min, max, updateValue]), 1000);\n\n return (\n <InputStepperOuterContainer width={width}>\n <InputStepperLabel style={labelStyle}>{label}</InputStepperLabel>\n <InputStepperInnerContainer style={style}>\n <IconButton\n Icon={SubtractIcon}\n variant={decrementButtonVariant}\n onClick={handleDecrement}\n style={{ borderRadius: \"5px 0 0 5px\" }}\n onMouseDown={e => {\n if (e.button !== 0) { return; }\n onDecrementMouseDown();\n }}\n onMouseOut={onDecrementMouseLeave}\n onMouseUp={onDecrementMouseUp}\n onTouchEnd={onDecrementTouchEnd}\n onTouchStart={onDecrementTouchStart}\n />\n <Input\n {...rest}\n style={{ width: '100%', margin: 0, borderRadius: 0, textAlign: \"center\" }}\n value={value}\n inputMode={inputMode}\n onChange={onChange}\n onBlur={onBlur}\n onFocus={onFocus}\n disabled={inputDisabled}\n ref={ref}\n onKeyUp={delayChange}\n />\n <IconButton\n Icon={AddIcon}\n variant={incrementButtonVariant}\n onClick={handleIncrement}\n style={{ borderRadius: \"0 5px 5px 0\" }}\n onMouseDown={e => {\n if (e.button !== 0) { return; }\n onIncrementMouseDown();\n }}\n onMouseOut={onIncrementMouseLeave}\n onMouseUp={onIncrementMouseUp}\n onTouchEnd={onIncrementTouchEnd}\n onTouchStart={onIncrementTouchStart}\n />\n </InputStepperInnerContainer>\n </InputStepperOuterContainer>\n )\n}","import React, { useRef, useLayoutEffect, useMemo, useCallback, } from 'react';\nimport {\n useTable,\n useSortBy,\n useFlexLayout,\n SortingRule,\n Column,\n Cell,\n useExpanded,\n} from 'react-table';\nimport { VariableSizeList, ListOnScrollProps } from 'react-window';\nimport { BaseSortByHeaderGroup, SortByHeaderGroup } from './types';\nimport {\n Row,\n ColumnInstance,\n TableInstance,\n TableOptions,\n} from './table-types';\nimport { FilledChevronIcon } from '../icons';\nimport scrollbarWidth from './scrollbarWidth';\nimport { useWindowSize } from '../hooks';\n\nexport type VirtualTableProps = {\n columns: Column<object>[];\n data: object[];\n itemSize?: (value: { index: number; row: Row }) => number;\n height?: number;\n minWidth?: number;\n maxWidth?: number;\n defaultSort?: SortingRule<string>;\n onClickRow?: (\n row?: object,\n index?: number,\n data?: {\n isScrolling: boolean;\n cell: Cell<Record<string, unknown>, any>;\n resetList: (index?: number) => void;\n toggleAllRowsExpanded: (value?: boolean | undefined) => void;\n }\n ) => void;\n onScroll?: ((props: ListOnScrollProps) => any);\n onUpdateData?: (...args: any) => void;\n useTableProps?: object;\n tableHeaderProps?: {\n className?: string;\n style?: React.CSSProperties;\n };\n tableFooterProps?: {\n className?: string;\n style?: React.CSSProperties;\n };\n TableFooter?: (props: React.PropsWithChildren<{ [key: string]: any }>) => React.ReactElement;\n customTableFooterProps?: object;\n className?: string;\n hideFooter?: boolean;\n hideHeader?: boolean;\n NoRowsFound?: (props: React.PropsWithChildren<{ [key: string]: any }>) => React.ReactElement;\n renderRowSubComponent?: (props: React.PropsWithChildren<{ [key: string]: any }>) => React.ReactElement;\n onSort?: (value: { column: ColumnInstance }) => void;\n onResize?: VoidFunction;\n rowGroupStyles?: (value: {row: Row, style: React.CSSProperties }) => React.CSSProperties;\n rowStyles?: (value: {row: Row, style: React.CSSProperties }) => React.CSSProperties;\n gutterSize?: number;\n};\n\nconst VirtualTable = (props: VirtualTableProps) => {\n const {\n columns,\n data,\n itemSize,\n height=500,\n minWidth = 140,\n maxWidth = 500,\n defaultSort,\n onClickRow,\n onScroll,\n onUpdateData,\n useTableProps = {},\n tableHeaderProps = {},\n tableFooterProps = {},\n hideFooter = true,\n hideHeader = false,\n className = '',\n NoRowsFound,\n renderRowSubComponent,\n onSort,\n onResize,\n rowGroupStyles,\n rowStyles,\n gutterSize=0,\n customTableFooterProps={},\n TableFooter,\n } = props;\n\n const defaultColumn = useMemo(\n () => ({\n minWidth: minWidth,\n maxWidth: maxWidth,\n expanded: false,\n }),\n [minWidth, maxWidth]\n );\n\n const {\n getTableProps,\n getTableBodyProps,\n headerGroups,\n footerGroups,\n totalColumnsWidth,\n prepareRow,\n toggleAllRowsExpanded,\n ...tableData\n } = useTable(\n {\n columns,\n data,\n defaultColumn,\n initialState: {\n ...(defaultSort ? { sortBy: [defaultSort] } : {}),\n },\n onUpdateData,\n ...useTableProps,\n } as TableOptions,\n useFlexLayout,\n useSortBy,\n useExpanded\n ) as TableInstance;\n\n const rows = useMemo(() => (tableData.rows as Row[]), [tableData.rows]);\n const windowSize = useWindowSize();\n\n const headerRef = useRef<HTMLDivElement | null>(null);\n const footerRef = useRef<HTMLDivElement | null>(null);\n const rowsRef = useRef<HTMLDivElement | HTMLSpanElement>(null);\n const listRef = useRef<VariableSizeList | null>(null);\n\n function resetList(index: number = 0) {\n listRef.current && listRef.current.resetAfterIndex(index);\n }\n\n const tableWidth = useMemo(() => {\n if (rowsRef.current) {\n const rect = rowsRef.current.getBoundingClientRect();\n return windowSize[0]-30-rect.left;\n }\n return '100%';\n }, [windowSize, rowsRef]);\n\n const handleSort = useCallback(column => {\n listRef.current && listRef.current.resetAfterIndex(0);\n column.toggleSortBy();\n onSort && onSort({ column });\n }, [onSort]);\n\n function onListScroll(e: Event) {\n if (headerRef.current && e && e.target) {\n const target = e.target as HTMLDivElement | HTMLSpanElement;\n headerRef.current.scrollLeft = target.scrollLeft;\n }\n\n if (footerRef.current && e && e.target) {\n const target = e.target as HTMLDivElement | HTMLSpanElement;\n footerRef.current.scrollLeft = target.scrollLeft;\n }\n }\n\n useLayoutEffect(() => {\n const rowsElem = rowsRef.current;\n if (rowsElem) {\n rowsElem.addEventListener('scroll', onListScroll);\n }\n return () => {\n if (rowsElem) {\n rowsElem.removeEventListener('scroll', onListScroll);\n }\n };\n }, [rowsRef]);\n\n const RenderRow = useCallback(\n ({ index, isScrolling, style }) => {\n const row = rows[index];\n\n prepareRow(row);\n\n return (\n <div\n className=\"tr-group\"\n {...row.getRowProps()}\n style={{\n ...style,\n ...(rowGroupStyles ? rowGroupStyles({row, style}) : {}),\n minWidth: totalColumnsWidth,\n width: '100%',\n }}\n >\n <div className=\"tr\" style={rowStyles ? rowStyles({row, style}) : {}}>\n {row.cells.map((cell) => {\n const cellProps = cell.getCellProps();\n return (\n <div\n {...{...cellProps}}\n onClick={() => (onClickRow ? onClickRow(cell.row.original, index, { cell, isScrolling, resetList, toggleAllRowsExpanded }) : null)}\n className=\"td\"\n >\n {cell.render(\"Cell\", { isScrolling, resetList, toggleAllRowsExpanded })}\n </div>\n );\n })}\n </div>\n {row.isExpanded && renderRowSubComponent\n ? <div className='tr-sub'>{renderRowSubComponent({ row, resetList, })}</div>\n : null}\n </div>\n );\n },\n [\n prepareRow,\n rows,\n onClickRow,\n renderRowSubComponent,\n rowStyles,\n rowGroupStyles,\n totalColumnsWidth,\n toggleAllRowsExpanded,\n ]\n );\n\n const getHeaderProps = (column: BaseSortByHeaderGroup<object>, isFooter = false) => {\n let headerProps = column.getHeaderProps({\n ...column.getSortByToggleProps(),\n ...(column.containerProps || {}),\n });\n if (isFooter) {\n headerProps = column.getFooterProps({\n ...column.getSortByToggleProps(),\n ...(column.containerProps || {}),\n });\n }\n const headerStyles = {\n ...(headerProps.style || {}),\n ...(column.style || {}),\n };\n const headerClassNames = [\n 'th',\n ...(headerProps.className || \"\").split(' '),\n ...(column.className || \"\").split(' '),\n ].filter(v => v).join(' ');\n\n return {\n ...headerProps,\n style: headerStyles,\n className: headerClassNames,\n };\n };\n\n const getHeaderGroupProps = (headerGroup: SortByHeaderGroup<object>, isFooter = false) => {\n let headerGroupProps = headerGroup.getHeaderGroupProps({\n ...(headerGroup.containerProps || {}),\n });\n if (isFooter) {\n headerGroupProps = headerGroup.getFooterGroupProps({\n ...(headerGroup.containerProps || {}),\n });\n }\n const headerStyles = {\n ...(headerGroupProps.style || {}),\n ...(headerGroup.style || {}),\n };\n const headerClassNames = [\n isFooter ? 'footer tr' : 'header tr',\n ...(headerGroupProps.className || \"\").split(' '),\n ...(headerGroup.className || \"\").split(' '),\n ].filter(v => v).join(' ');\n\n return {\n ...headerGroupProps,\n style: headerStyles,\n className: headerClassNames,\n };\n };\n\n return (\n <div {...getTableProps()} className={`table ${className || ''}`}>\n <div\n {...tableHeaderProps}\n className={`thead ${tableHeaderProps.className || ''}`}\n style={{\n ...(tableHeaderProps.style || {}),\n ...(hideHeader ? { display: 'none' } : {}),\n }}\n >\n {headerGroups.map((headerGroup) => (\n <div {...getHeaderGroupProps(headerGroup, false)} ref={headerRef} style={{width: tableWidth,}}>\n {headerGroup.headers.map((column) => (\n <div\n {...getHeaderProps(column, false)}\n className=\"th\"\n onClick={() => handleSort(column)}\n >\n {column.render(\"Header\")}\n <span>\n {column.isSorted ? <FilledChevronIcon\n direction={sortDirection(column)}\n size=\"medium\"\n style={{ verticalAlign: 'middle' }}\n /> : null}\n </span>\n </div>\n ))}\n </div>\n ))}\n </div>\n\n <div className=\"tbody\" {...getTableBodyProps()}>\n {rows.length === 0 && NoRowsFound ? <NoRowsFound /> :\n <VariableSizeList\n useIsScrolling\n className=\"table-list-rows\"\n height={height}\n itemCount={rows.length}\n itemSize={i => {\n if (itemSize) {\n return itemSize({ row: rows[i], index: i });\n }\n return (rows[i] && rows[i].isExpanded ? 300 : 50) + gutterSize;\n }}\n width={tableWidth}\n onScroll={onScroll}\n ref={listRef}\n outerRef={rowsRef}\n >\n {RenderRow}\n </VariableSizeList>\n }\n </div>\n\n {!hideFooter ? <div {...tableFooterProps}\n className={`table-footer-wrapper ${tableFooterProps.className || ''}`}\n >\n {footerGroups.map((footerGroup) => (\n <div {...getHeaderGroupProps(footerGroup, true)} className=\"table-footer tr\" ref={footerRef}>\n {footerGroup.headers.map((column) => (\n <div {...getHeaderProps(column, true)}>\n {column.render(\"Footer\")}\n </div>\n ))}\n </div>\n ))}\n </div> : null}\n {TableFooter ? <TableFooter {...customTableFooterProps} /> : null}\n </div>\n );\n};\n\nfunction sortDirection(col: BaseSortByHeaderGroup<object>) {\n if (col.isSorted) {\n if (col.isSortedDesc) {\n return \"down\";\n }\n return \"up\";\n }\n return \"updown\";\n}\n\nexport default VirtualTable;\n","import styled, { CSSObject } from 'styled-components';\n\nconst VirtualTableStyles = styled.div<{\n tableHeight?: number | string;\n bordered?: boolean | string;\n rowClickable?: boolean;\n hoverRowBg?: string | boolean;\n selectedRowIndex?: number;\n selectedRowStyle?: boolean | CSSObject; // if true, then set bg same as hoverRowBg\n}>`\npadding: 1rem;\n\n.table-list-rows {\n ${p => p.rowClickable ? `\n .tr {\n cursor: pointer;\n }\n ` : ''}\n}\n\n.table {\n display: inline-flex;\n flex-direction: column;\n ${p => p.bordered ? `\n border-spacing: 0;\n border: 1px solid black;\n ` : ''}\n width: 100% !important;\n min-width: 100% !important;\n ${p => p.tableHeight ? `height: ${p.tableHeight}${typeof p.tableHeight === 'number' ? 'px' : '' };` : ''}\n\n .thead {\n padding-right: 15px;\n ${p => p.bordered ? 'border-bottom: 1px solid #000;' : ''}\n\n .tr {\n overflow-x: hidden;\n min-width: 100%;\n }\n }\n\n .tbody {\n flex: 1 1 auto;\n height: 80vh;\n }\n\n .tr-group {\n display: flex;\n flex-direction: column;\n\n .tr, .tr-sub {\n width: 99%;\n }\n }\n\n .tr {\n display: flex;\n\n ${p => p.bordered ? `\n :last-child {\n .td {\n border-bottom: 0;\n }\n }\n ` : ''}\n }\n\n .tr.header {\n position: sticky;\n }\n\n .th,\n .td {\n margin: 0;\n padding: 0.5rem;\n ${p => p.bordered ? `\n border-bottom: 1px solid black;\n border-right: 1px solid black;\n :last-child {\n border-right: 0;\n }\n ` : ''}\n }\n}`;\n\nexport default VirtualTableStyles;\n","import React from 'react';\nimport { CSSObject, FlattenSimpleInterpolation, SimpleInterpolation } from 'styled-components';\nimport { sizes, sizeMedia, TSize } from './sizes';\n\nexport type ResponsiveValue<T = string | number> = T\n | Array<T | null>\n | {\n xs?: T;\n sm?: T;\n md?: T;\n lg?: T;\n xl?: T;\n };\n\nexport const isSizeObj = (val: any) => typeof val === 'object' && (\n val['xs'] || val['sm'] || val['md'] || val['lg'] || val['xl']\n);\n\nexport const parseResponsiveValue = (\n value: ResponsiveValue<any>,\n transform: ((v: any) => any),\n): (React.CSSProperties | CSSObject | (SimpleInterpolation | FlattenSimpleInterpolation)[]) => {\n if (typeof value === 'number' || typeof value === 'string' || typeof value === 'boolean') {\n return transform(value);\n } else if (Array.isArray(value)) {\n return value.map((v, i) => {\n if (i >= sizes.length) { return {}; }\n const size = sizes[i];\n if (v === null || v === undefined) { return {}; }\n return { [sizeMedia[size]]: transform(v) };\n }).reduce((acc, v) => ({ ...acc, ...v }), {});\n } else if (typeof value === 'object') {\n if (!isSizeObj(value)) {\n return value;\n }\n return Object.keys(value)\n .filter((k) => sizes.includes(k as TSize))\n .map((k) => ({ [sizeMedia[k]]: transform(value[k]) }))\n .reduce((acc, v) => ({ ...acc, ...v }), {})\n }\n\n return {};\n};\n","import styled, { CSSObject, SimpleInterpolation, StyledComponent } from 'styled-components';\nimport { parseMeasurement, stripUnit } from '../utils';\nimport { isSizeObj, parseResponsiveValue, ResponsiveValue } from '../utils/styled';\n\nexport const createMeasurementStyle = (v: string | number, keys: string[]) => {\n const value = typeof v === 'string' && ['auto', 'none'].includes(v)\n ? v\n : parseMeasurement(v);\n return keys.reduce((acc: object, k) => ({ ...acc, [k]: value }), {});\n};\n\nconst styleKeys = [\n 'pr', 'pl', 'pt', 'pb', 'px', 'py',\n 'mr', 'ml', 'mt', 'mb', 'mx', 'my',\n 'width', 'height',\n 'color', 'bg', 'background', 'backgroundColor',\n 'colSpan',\n 'style', 'sx',\n];\nconst stylesTransformMap = {\n mr: (v: string | number) => createMeasurementStyle(v, ['marginRight']),\n ml: (v: string | number) => createMeasurementStyle(v, ['marginLeft']),\n mt: (v: string | number) => createMeasurementStyle(v, ['marginTop']),\n mb: (v: string | number) => createMeasurementStyle(v, ['marginBottom']),\n mx: (v: string | number) => createMeasurementStyle(v, ['marginLeft', 'marginRight']),\n my: (v: string | number) => createMeasurementStyle(v, ['marginTop', 'marginBottom']),\n pr: (v: string | number) => createMeasurementStyle(v, ['paddingRight']),\n pl: (v: string | number) => createMeasurementStyle(v, ['paddingLeft']),\n pt: (v: string | number) => createMeasurementStyle(v, ['paddingTop']),\n pb: (v: string | number) => createMeasurementStyle(v, ['paddingBottom']),\n px: (v: string | number) => createMeasurementStyle(v, ['paddingLeft', 'paddingRight']),\n py: (v: string | number) => createMeasurementStyle(v, ['paddingTop', 'paddingBottom']),\n width: (v: string | number) => createMeasurementStyle(v, ['width']),\n height: (v: string | number) => createMeasurementStyle(v, ['height']),\n color: (v: string) => ({ color: v }),\n bg: (v: string) => ({ background: v }),\n background: (v: string) => ({ background: v }),\n backgroundColor: (v: string) => ({ backgroundColor: v }),\n hidden: (v?: boolean) => (v ? { display: 'none' } : {}),\n block: (v?: boolean) => (v ? { display: 'block' } : {}),\n inline_block: (v?: boolean) => (v ? { display: 'inline-block' } : {}),\n flex: (v?: boolean) => (v ? { display: 'flex' } : {}),\n inline_flex: (v?: boolean) => (v ? { display: 'inline-flex' } : {}),\n grid: (v?: boolean) => (v ? { display: 'grid' } : {}),\n float: (v: string) => (v === 'clearfix'\n ? {'&::after': {\n content: '',\n display: 'table',\n clear: 'both',\n }}\n : {float: v}\n ), // left, right, none, clearfix\n colSpan: (v: string | number | boolean) => {\n if (v === 'auto' || v === true) {\n return { gridColumn: 'auto' };\n } else if (v === false) {\n return { display: 'none' };\n }\n const colSpan = stripUnit(v);\n return {gridColumn: `span ${colSpan} / span ${colSpan}`};\n },\n style: (v: CSSObject) => v,\n sx: (v: CSSObject) => v,\n};\n\nexport type BaseCskuProps = {\n pr?: ResponsiveValue<string | number>;\n pl?: ResponsiveValue<string | number>;\n pt?: ResponsiveValue<string | number>;\n pb?: ResponsiveValue<string | number>;\n px?: ResponsiveValue<string | number>;\n py?: ResponsiveValue<string | number>;\n mr?: ResponsiveValue<string | number>;\n ml?: ResponsiveValue<string | number>;\n mt?: ResponsiveValue<string | number>;\n mb?: ResponsiveValue<string | number>;\n mx?: ResponsiveValue<string | number>;\n my?: ResponsiveValue<string | number>;\n width?: ResponsiveValue<string | number>;\n height?: ResponsiveValue<string | number>;\n color?: ResponsiveValue<string>;\n bg?: ResponsiveValue<string>;\n background?: ResponsiveValue<string>;\n backgroundColor?: ResponsiveValue<string>;\n hidden?: ResponsiveValue<boolean>;\n block?: ResponsiveValue<boolean>;\n inline_block?: ResponsiveValue<boolean>;\n flex?: ResponsiveValue<boolean>;\n inline_flex?: ResponsiveValue<boolean>;\n grid?: ResponsiveValue<boolean>;\n float?: ResponsiveValue<string>;\n colSpan?: ResponsiveValue<string | number | boolean>;\n style?: ResponsiveValue<CSSObject>;\n sx?: ResponsiveValue<CSSObject>;\n};\n\nexport const parseCskuStyles = (p: BaseCskuProps) => {\n let sizeStylesObj: {[key: string]: CSSObject} = {};\n let stylesObj: CSSObject = {};\n const stylesArr: SimpleInterpolation[] = [];\n Object.keys(p)\n .filter(k => styleKeys.includes(k))\n .forEach(k => {\n const parsedStyles = parseResponsiveValue(\n p[k], stylesTransformMap[k]\n );\n if (Array.isArray(parsedStyles)) {\n parsedStyles.forEach(v => {\n stylesArr.push(v);\n })\n } else {\n if (isSizeObj(p[k]) || Array.isArray(p[k])) {\n Object.keys(parsedStyles).forEach(sk => {\n sizeStylesObj[sk] = {\n ...(sizeStylesObj[sk] || {}),\n ...parsedStyles[sk],\n };\n });\n } else {\n stylesObj = {\n ...stylesObj,\n ...parsedStyles,\n };\n }\n }\n });\n return [ stylesObj, sizeStylesObj, ...stylesArr ];\n};\n\nexport type CskuProps = StyledComponent<\"div\", any, BaseCskuProps, never>;\nconst Csku = styled.div<BaseCskuProps>(parseCskuStyles);\n\nexport default Csku;\n","import { parseResponsiveValue, ResponsiveValue } from '../utils/styled';\nimport React from 'react';\nimport styled, { CSSObject, FlattenSimpleInterpolation, SimpleInterpolation } from 'styled-components';\nimport { parseMeasurement, stripUnit } from '../utils';\n\ntype BaseGridProps = {\n columns?: number;\n gap?: number | string;\n};\nexport type GridProps = React.HTMLAttributes<HTMLDivElement & BaseGridProps>;\nexport const Grid = styled.div<BaseGridProps>(\n p => {\n const params: CSSObject = {\n display: 'grid',\n gridTemplateColumns: `repeat(${p.columns || 12}, minmax(0px, 1fr))`,\n };\n if (p.gap) {\n params['gap'] = parseMeasurement(p.gap);\n }\n\n return params;\n },\n);\n\ntype BaseGridItemProps = {\n colSpan?: ResponsiveValue<string | number | boolean>;\n style?: ResponsiveValue<CSSObject>;\n};\n\nexport type GridItemProps = Omit<React.HTMLAttributes<HTMLDivElement>, 'style'> & BaseGridItemProps;\nexport const GridItem = styled.div<BaseGridItemProps>(\n p => {\n let params: CSSObject = {gridColumn: 'auto'};\n const styles: (FlattenSimpleInterpolation | SimpleInterpolation | CSSObject)[] = [];\n if (p.colSpan) {\n const colStyles = parseResponsiveValue(\n p.colSpan,\n (v) => {\n if (v === 'auto') {\n return { gridColumn: 'auto' };\n }\n const colSpan = stripUnit(v);\n return {gridColumn: `span ${colSpan} / span ${colSpan}`};\n }\n );\n if (Array.isArray(colStyles)) {\n colStyles.forEach(v => { styles.push(v) });\n } else {\n params = {\n ...params,\n ...colStyles,\n };\n }\n }\n return [...styles, params];\n },\n);\n","import React, { useState } from 'react';\nimport { colors, fontFamilies } from './Theme';\nimport { Col, Row } from './FlexboxGrid';\nimport { ChevronIcon } from './icons';\nimport { useRef } from 'react';\nimport { useEffect } from 'react';\n\ntype TReactNode = React.ReactChild | React.ReactPortal | null | undefined;\ntype BaseCollapsibleProps = React.PropsWithChildren<{\n style?: React.CSSProperties;\n label: TReactNode;\n controls?: TReactNode;\n isOpen?: boolean;\n handleToggle?: React.MouseEventHandler<HTMLDivElement>;\n}>;\nexport const BaseCollapsible = (props: BaseCollapsibleProps) => {\n const {\n children,\n style,\n label,\n controls,\n isOpen=false,\n handleToggle,\n } = props;\n\n const [height, setHeight] = useState<number | undefined>(\n isOpen ? undefined : 0\n );\n const ref = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (!height || !isOpen || !ref.current) return undefined;\n const resizeObserver = new ResizeObserver((el) => {\n setHeight(el[0].contentRect.height);\n });\n resizeObserver.observe(ref.current);\n\n return () => {\n resizeObserver.disconnect();\n };\n }, [height, isOpen]);\n\n useEffect(() => {\n if (isOpen) setHeight(ref.current?.getBoundingClientRect().height);\n else setHeight(0);\n }, [isOpen]);\n\n return (\n <div style={style}>\n <Row style={{\n alignItems: 'center',\n padding: 10,\n paddingTop: 12,\n paddingBottom: 8,\n background: isOpen ? colors.white : colors.teal[20],\n borderRadius: isOpen ? 25 : 2000,\n flex: 'none',\n order: 1,\n flexGrow: 0,\n ...(isOpen\n ? { border: `3px solid ${colors.teal.main}` }\n : {}),\n }}>\n <Col xs\n sm={5.9}\n style={{ cursor: 'pointer', }}\n onClick={handleToggle}\n >\n <CollapsibleLabel isOpen={isOpen}>{label}</CollapsibleLabel>\n </Col>\n <Col xs\n sm={5.9}\n style={{ cursor: 'pointer', }}\n smStyle={`text-align: right;`}\n xsStyle={`text-align: center;`}\n onClick={handleToggle}\n >\n <CollapsibleControls isOpen={isOpen}>{controls}</CollapsibleControls>\n </Col>\n <Col xs\n style={{\n overflow: 'hidden',\n transition: 'height 0.2s ease-in-out',\n height: height,\n }}\n >\n <div ref={ref}>{children}</div>\n </Col>\n </Row>\n </div>\n );\n};\n\ntype CollapsibleProps = React.PropsWithChildren<{\n style?: React.CSSProperties;\n label: TReactNode;\n controls?: TReactNode;\n open?: boolean;\n onToggleOpen?: (v: boolean) => void;\n}>;\n\nconst Collapsible = (props: CollapsibleProps) => {\n const {\n children,\n open,\n onToggleOpen,\n ...rest\n } = props;\n\n const [isOpen, setIsOpen] = useState(open);\n const handleToggle = () => {\n setIsOpen(prev => {\n const val = !prev;\n onToggleOpen && onToggleOpen(val);\n return val;\n });\n };\n\n return (\n <BaseCollapsible isOpen={isOpen} handleToggle={handleToggle} {...rest}>\n {children}\n </BaseCollapsible>\n );\n};\n\ntype CollapsibleLabelProps = {\n children?: TReactNode;\n isOpen?: boolean;\n};\nexport const CollapsibleLabel = (props: CollapsibleLabelProps) => {\n const { children, isOpen } = props;\n\n if (children === undefined || children === null) {\n return null;\n }\n if (typeof children === 'string' || typeof children === 'number' || typeof children === 'boolean') {\n return <span\n style={{\n color: colors.teal.main,\n fontFamily: fontFamilies.bold,\n fontStyle: 'normal',\n fontWeight: 500,\n fontSize: 16,\n }}>{children}</span>;\n }\n return React.cloneElement(children, { isOpen });\n};\n\ntype CollapsibleArrowIconProps = {\n isOpen?: boolean;\n};\nexport const CollapsibleArrowIcon = (props: CollapsibleArrowIconProps) => {\n const { isOpen } = props;\n\n return <ChevronIcon\n size='medium'\n direction={'down'}\n altText={isOpen ? 'Close' : 'Open'}\n style={{\n transition: 'all 0.2s linear',\n MozTransition: 'all 0.2s linear',\n WebkitTransition: 'all 0.2s linear',\n ...(isOpen ? {\n transform: 'rotate(180deg)',\n MozTransform: 'rotate(180deg)',\n WebkitTransform: 'rotate(180deg)',\n } : {\n transform: 'rotate(360deg)',\n MozTransform: 'rotate(360deg)',\n WebkitTransform: 'rotate(360deg)',\n }),\n }}\n />;\n};\n\ntype CollapsibleControlsProps = {\n children?: TReactNode;\n isOpen?: boolean;\n};\nconst CollapsibleControls = (props: CollapsibleControlsProps) => {\n const { children, isOpen=false, } = props;\n if (children === undefined || children === null) {\n return <CollapsibleArrowIcon isOpen={isOpen} />;\n }\n\n if (typeof children === 'string' || typeof children === 'number' || typeof children === 'boolean') {\n return <span\n style={{\n color: colors.teal.main,\n fontFamily: fontFamilies.bold,\n fontStyle: 'normal',\n fontWeight: 500,\n fontSize: 16,\n }}>{children}</span>;\n }\n return React.cloneElement(children, { isOpen });\n};\n\ntype CollapsiblesProps = {\n list: CollapsibleProps[];\n controls?: TReactNode;\n};\nexport function Collapsibles(props: CollapsiblesProps) {\n const { list, controls } = props;\n const [open, setOpen] = useState(-1);\n const handleOpen = (i: number) => setOpen(s => s === i ? -1 : i);\n\n return (\n <div>{\n list.map((v, i) => (\n <BaseCollapsible\n key={`Collapsible-key-${i}`}\n label={v.label}\n style={{ paddingBottom: 10, ...v.style }}\n controls={controls || v.controls}\n isOpen={open === i}\n handleToggle={() => {\n handleOpen(i);\n }}\n >{v.children}</BaseCollapsible>\n ))\n }</div>\n );\n}\n\nexport default Collapsible;\n","import React from 'react';\nimport { Popup } from './Popup';\nimport { Button } from './Button';\nimport { fontStyles } from './Theme';\nimport colors from './colors';\n\nexport type ConfirmPopupProps = {\n disableDelete?: boolean;\n confirmText?: string;\n onDelete?: () => void;\n onClose?: () => void;\n};\nconst ConfirmPopup = (props: ConfirmPopupProps) => {\n const {\n confirmText='Are you sure you want to delete?',\n disableDelete = false,\n onDelete,\n onClose,\n } = props;\n\n return (\n <Popup\n width={'auto'}\n height={'auto'}\n padding={'36px'}\n noHeader\n noCloseButton\n >\n <p style={{\n fontFamily: fontStyles.p.medium.fontFamily,\n fontSize: fontStyles.p.medium.fontSize,\n lineHeight: fontStyles.p.medium.lineHeight,\n color: colors.neutrals.bodyText\n }}>{confirmText}</p>\n <div style={{ display: 'flex', flexDirection: 'row', justifyContent: 'center' }}>\n <Button\n size=\"medium\"\n variant='secondary'\n mr={24}\n onClick={() => {\n onClose && onClose();\n }}\n >\n Cancel\n </Button>\n <Button\n size=\"medium\"\n variant={disableDelete ? 'disabled' : 'error'}\n onClick={() => {\n onDelete && onDelete();\n }}\n disabled={disableDelete}\n >\n Delete\n </Button>\n </div>\n </Popup>\n );\n};\n\nexport default ConfirmPopup;\n","import styled from 'styled-components';\nimport { Col } from '../FlexboxGrid';\n\nconst StyledDayBody = styled(Col) <{ selected?: boolean; today?: boolean; row?: boolean; disabled?: boolean; }>`\n position: relative;\n height: auto;\n border-right: 1px solid #eee;\n overflow: hidden;\n cursor: pointer;\n background: #fff;\n transition: 0.25s ease-out;\n font-size: 1em;\n overflow-y: auto;\n\n &:last-child {\n border-right: none;\n }\n\n &:hover {\n background: #f9f9f9;\n transition: 0.5s ease-out;\n }\n\n ${p => p.selected ? `\n background: #f9f9f9;\n ` : ''}\n\n ${p => p.today ? `\n background: #f9f9f9;\n ` : ''}\n\n ${p => p.row ? `\n border-bottom: 1px solid #eee;\n ` : ''}\n\n ${p => p.disabled ? `\n color: #ccc;\n pointer-events: none;\n ` : ''}\n`;\n\nexport default StyledDayBody;","import React from 'react';\nimport { format, isSameDay } from \"date-fns\";\nimport StyledDayBody from './StyledDayBody';\n\ntype CalendarDayBodyProps = React.PropsWithChildren<{\n day: Date,\n selectedDate: Date,\n onClick: React.MouseEventHandler<HTMLDivElement>,\n weekend?: boolean\n}>;\n\nconst CalendarDayBody = ({ day, selectedDate, onClick, children, weekend, ...props }: CalendarDayBodyProps) => {\n const formattedDay = format(day, \"d\");\n const isToday = isSameDay(day, new Date());\n const isSelected = isSameDay(day, selectedDate);\n const classNames = [\n \"day-body-\"+formattedDay,\n isToday ? 'day-body-today' : '',\n isSelected ? 'day-body-selected' : '',\n ].filter(v => v).join(' ');\n return (\n <StyledDayBody\n padded\n totalCols={weekend ? 7 : 5}\n xs={1}\n selected={isSelected}\n today={isToday}\n onClick={onClick}\n className={classNames}\n {...props}\n >{children || <span style={{padding: 10,}}>{formattedDay}</span>}</StyledDayBody>\n );\n}\n\nexport default CalendarDayBody;","import styled from 'styled-components';\n\nconst DaysBodyWrapper = styled.div`\n font-size: 1em;\n font-weight: 300;\n line-height: 1;\n color: #777;\n background: #f9f9f9;\n position: relative;\n border-bottom: 1px solid #eee;\n`;\n\nexport default DaysBodyWrapper;","import React from 'react';\nimport { CSSObject } from 'styled-components';\nimport { getWeek } from 'date-fns';\nimport { Row } from '../FlexboxGrid';\nimport CalendarDayBody from './CalendarDayBody';\nimport DaysBodyWrapper from './DaysBodyWrapper';\n\ntype CalendarDaysBodyProps = {\n days: Array<{__id__: string, day: Date}>;\n currentMonth: Date,\n selectedDate: Date,\n onClickDay?: (day: Date) => any,\n dayBodyProps?: CSSObject | { [key: string]: any },\n weekend?: boolean,\n components?: {\n DayBody?: (props: React.PropsWithChildren<{day: Date; selectedDate: Date; onClick: React.MouseEventHandler; [key: string]: any}>) => React.ReactElement;\n },\n};\n\nconst CalendarDaysBody = ({ days=[], currentMonth, selectedDate, onClickDay, components, dayBodyProps={}, weekend=true, ...props }: CalendarDaysBodyProps) => {\n return (\n <DaysBodyWrapper className=\"days-body-wrapper\" {...props}>\n <Row className=\"day-body-wrapper-row\">\n {days.map(({day, __id__}, i) => (\n <CalendarDayBody\n key={`day-body-${getWeek(day)}-${i}`}\n day={day}\n selectedDate={selectedDate}\n onClick={() => {onClickDay && onClickDay(day);}}\n weekend={weekend}\n children={components?.DayBody\n ? <components.DayBody\n key={`day-body-${getWeek(day)}-${i}`}\n day={day}\n selectedDate={selectedDate}\n onClick={() => {onClickDay && onClickDay(day);}}\n id={__id__}\n {...dayBodyProps}\n /> : null}\n />\n ))}\n </Row>\n </DaysBodyWrapper>\n );\n}\n\nexport default CalendarDaysBody;","import styled from 'styled-components';\nimport { Row } from '../FlexboxGrid';\n\nconst DaysHeaderWrapper = styled(Row)`\n text-transform: uppercase;\n font-weight: 400;\n color: #ccc;\n font-size: 70%;\n padding: 0.75em 0 !important;\n border-bottom: 1px solid #eee;\n`;\n\nexport default DaysHeaderWrapper;","import styled from 'styled-components';\nimport { colors } from '../Theme';\nimport { Text } from '../Text';\n\nconst StyledDayText = styled(Text) <{ selected?: boolean; }>`\n ${props => props.selected ? `\n border-radius: 15px;\n background: ${colors.cta};\n color: white;\n font-weight: bold;\n padding: 0 5px;\n ` : ''}\n`;\n\nexport default StyledDayText;","import React from 'react';\nimport { format, isSameDay, addDays, startOfWeek, getWeek, } from \"date-fns\";\nimport { Text } from '../Text';\nimport { Col } from '../FlexboxGrid';\nimport DaysHeaderWrapper from './DaysHeaderWrapper';\nimport StyledDayText from './StyledDayText';\n\nconst CalendarDaysHeader = ({\n currentMonth,\n selectedDate,\n weekend\n}: { currentMonth: Date; selectedDate: Date; weekend: boolean; [key: string]: any }) => {\n const startDate = startOfWeek(currentMonth, { weekStartsOn: 1 });\n return (\n <DaysHeaderWrapper className=\"days-header-wrapper\" style={{ fontSize: '1rem' }}>\n {Array.from(Array(weekend ? 7 : 5).keys()).map(i => {\n const day = addDays(startDate, i);\n const isToday = isSameDay(day, new Date());\n const className = isToday ? 'day-today' : (\n isSameDay(day, selectedDate) ? 'day-selected' : ''\n );\n return (\n <Col center key={`day-${getWeek(day)}-${i}`} className={className}>\n <Text style={{ paddingRight: 10, }}>{format(day, \"EEE\")}</Text>\n <StyledDayText selected={isToday}>\n {format(day, 'd')}\n </StyledDayText>\n </Col>\n );\n })}\n </DaysHeaderWrapper>\n );\n}\n\nexport default CalendarDaysHeader;","import styled from 'styled-components';\n\nconst CalendarWrapper = styled.div`\n display: block;\n position: relative;\n width: 100%;\n background: #fff;\n .calendar-scroll {\n overflow-x: scroll;\n }\n .days-body-wrapper, .days-header-wrapper {\n min-width: 900px;\n }\n`;\n\nexport default CalendarWrapper;\n\n","import styled from 'styled-components';\nimport { Row } from '../FlexboxGrid';\n\nconst HeaderWrapper = styled(Row)`\n width: 100%;\n padding: 1.75em 0 !important;\n border-bottom: 1px solid #eee;\n background: #fff;\n font-weight: 700;\n font-size: 100%;\n`;\n\nexport default HeaderWrapper;\n\n","import React from 'react';\nimport { Col } from '../FlexboxGrid';\nimport HeaderWrapper from './HeaderWrapper';\n\nconst DefaultCalendarFooter = ({\n currentWeek\n}: { currentWeek: number }) => {\n return (\n <HeaderWrapper middle>\n <Col center>Week {currentWeek}</Col>\n </HeaderWrapper>\n );\n}\n\nexport default DefaultCalendarFooter;","import React from 'react';\nimport { format } from \"date-fns\";\nimport { colors } from '../Theme';\nimport { Col, Row } from '../FlexboxGrid';\nimport HeaderWrapper from './HeaderWrapper';\nimport { GearIcon } from '../icons';\nimport {Dropdown} from '../Dropdown';\nimport {LabeledCheckbox} from '../Input';\n\nconst DefaultCalendarHeader = ({\n onPrevWeek,\n onNextWeek,\n currentMonth,\n}: {\n onPrevWeek: React.MouseEventHandler,\n onNextWeek: React.MouseEventHandler,\n currentMonth: Date,\n}) => {\n return (\n <HeaderWrapper middle>\n <Col start padded>\n <Dropdown icon={<GearIcon width=\"40px\" />}>\n <Row>\n <LabeledCheckbox label=\"Weekends\" checked={true}/>\n </Row>\n </Dropdown>\n </Col>\n <Col padded>\n <div style={{cursor: 'pointer', color: colors.primary, }} onClick={onPrevWeek}>< Prev Week</div>\n </Col>\n <Col center padded>\n <span style={{ color: colors.disabledButton }}>\n {format(currentMonth, \"MMM yyyy\")}\n </span>\n </Col>\n <Col end padded>\n <div style={{cursor: 'pointer', color: colors.primary, }} onClick={onNextWeek}>Next Week ></div>\n </Col>\n </HeaderWrapper>\n );\n}\n\nexport default DefaultCalendarHeader;","import React from 'react';\nimport { isSameDay } from 'date-fns';\nimport { Row, Col, } from '../FlexboxGrid';\nimport { CalendarTask, CalendarTaskProps } from '../Task';\n\nexport const TasksCalendarDayBody = ({day, tasks=[]}: {day: Date; selectedDate: Date; [key: string]: any}) => {\n return (\n <Row>\n {tasks\n .filter((t: CalendarTaskProps) => t.date ? isSameDay(day, typeof t.date !== 'string' ? t.date : new Date(t.date)) : true)\n .map((t: CalendarTaskProps) => (<Col xs padded><CalendarTask {...t} date={undefined} /></Col>))}\n </Row>\n );\n};\n\n\nexport default TasksCalendarDayBody;\n","import React, { ReactNode } from 'react';\nimport styled from 'styled-components';\nimport { format, getWeek, isDate } from 'date-fns';\nimport { colors, themeOptions, } from '../Theme';\nimport { Row, Col, } from '../FlexboxGrid';\nimport HeaderWrapper from './HeaderWrapper';\nimport { Tabs, TTab } from '../Tabs';\nimport { Text, Link } from '../Text';\nimport { GearIcon, ChevronIcon, CalendarIcon } from '../icons';\nimport {Dropdown} from '../Dropdown';\nimport { Button, IconButton, TSize, ButtonVariant } from '../Button';\nimport { H5 } from '../Headings';\nimport { TCalendarView, onClickViewFunc } from './types';\nimport { Datepicker } from '../Datepicker';\nimport { changeDateFunc, changeWeekFunc } from '../hooks/useCalendar';\n\nconst WeekNav = styled(Text)`\n display: inline-block;\n padding: 0;\n`;\n\ntype TextDatePickerProps = {\n value?: string | null,\n onClick?: React.MouseEventHandler<HTMLElement>,\n};\nconst CalendarIconDatePicker = React.forwardRef(({ value, onClick }: TextDatePickerProps, ref: React.Ref<HTMLElement>) => {\n return (\n <span ref={ref} onClick={onClick}>\n <CalendarIcon\n style={{\n display: 'block',\n textAlign: 'center',\n borderRadius: 5,\n cursor: 'pointer',\n color: colors.disabledButton,\n }}\n />\n </span>\n );\n});\n\nexport type TasksCalendarHeaderProps = {\n onNextWeek: VoidFunction;\n onPrevWeek: VoidFunction;\n changeDate: changeDateFunc;\n changeWeek: changeWeekFunc;\n onNextMonth: VoidFunction;\n onPrevMonth: VoidFunction;\n onResetDate: VoidFunction;\n currentMonth: Date;\n currentWeek: number;\n selectedDate: Date;\n weekendsCheckbox: ReactNode;\n showAddTaskBtn?: boolean;\n onClickAddTask?: VoidFunction;\n tabs?: TTab[],\n views?: TCalendarView[],\n onClickView?: onClickViewFunc;\n};\nexport const TasksCalendarHeader = ({\n onPrevWeek,\n onNextWeek,\n currentMonth,\n currentWeek,\n changeDate,\n onResetDate,\n selectedDate,\n tabs=[],\n views=[],\n weekendsCheckbox,\n showAddTaskBtn=true,\n onClickAddTask,\n onClickView,\n}: React.PropsWithChildren<TasksCalendarHeaderProps>) => {\n const isCurrentWeek = currentWeek === getWeek(selectedDate);\n return (\n <HeaderWrapper style={{padding: \"0.5rem\"}}>\n <Col xs md={3} padded start={1}>\n <H5 style={{marginTop: 15}}>\n {format(currentMonth, \"MMMM yyyy\")}\n </H5>\n </Col>\n <Col xs md={6} lg={6} xl={7} end={1}>\n <div style={{ display: 'inline-block', paddingLeft: 10, verticalAlign: 'middle', }}>\n {views && views.length ? <>\n {views.map((v, i) => {\n const btnProps = {\n mr: 10,\n variant: (v.selected ? 'secondary' : 'primary-light') as ButtonVariant,\n size: \"medium\" as TSize,\n onClick: () => {\n onClickView && onClickView(v.type, v);\n },\n children: v.title,\n };\n if (v.Icon) {\n return <IconButton\n key={'calendar-header-button-'+i}\n {...btnProps} Icon={v.Icon}\n />\n }\n return (\n <Button\n key={'calendar-header-button-'+i}\n {...btnProps}\n />\n );\n })}\n </> : null}\n </div>\n </Col>\n <Col end={1} xs sm md={3} lg={3} xl={2} xsStyle={`\n @media only screen and (min-width: 760px) and (max-width: 860px) {\n width: 100%;\n max-width: 100%;\n }\n `}>\n <Dropdown\n style={{verticalAlign: 'middle'}}\n icon={<GearIcon pointer mr={5} />}\n >\n <Row>{weekendsCheckbox}</Row>\n </Dropdown>\n <span style={{\n verticalAlign: 'middle',\n paddingLeft: 5,\n display: 'inline-block',\n fontFamily: [themeOptions.fontFamilies.regular].concat(themeOptions.fontFamilies.fallbacks).join(','),\n fontWeight: 500,\n height: 30,\n }}>\n <Datepicker\n value={currentMonth}\n customInput={<CalendarIconDatePicker />}\n popperPlacement={'bottom-end'}\n onChange={(value: any) => {\n if (value instanceof Date && isDate(value)) {\n changeDate(value);\n }\n }}\n />\n </span>\n <span>\n <WeekNav\n style={{cursor: 'pointer', color: colors.primary, verticalAlign: 'middle'}}\n onClick={onPrevWeek}\n ><ChevronIcon direction=\"left\" size='large'/></WeekNav>\n <WeekNav\n as={Button}\n variant=\"text\"\n size=\"primary-light\"\n style={{verticalAlign: \"middle\", padding: \"10px 0px\",}}\n py={5}\n onClick={() => {\n if (isCurrentWeek) {\n return;\n }\n onResetDate();\n }}\n >Today</WeekNav>\n <WeekNav\n style={{cursor: 'pointer', color: colors.primary1.main, verticalAlign: 'middle'}}\n onClick={onNextWeek}\n ><ChevronIcon size=\"large\" /></WeekNav>\n </span>\n </Col>\n <Col start={1} xs md={8} padded>\n <Tabs size=\"medium\" tabs={tabs} />\n </Col>\n <Col end={1} xs md={4} padded>\n {showAddTaskBtn ?\n <Link\n as=\"span\"\n onClick={onClickAddTask}\n style={{\n marginRight: 10,\n verticalAlign: 'bottom',\n color: colors.primary1.main,\n fontFamily: [themeOptions.fontFamilies.regular].concat(themeOptions.fontFamilies.fallbacks).join(','),\n fontWeight: 600,\n }}\n >+ Add Task</Link>\n : null}\n </Col>\n </HeaderWrapper>\n );\n};\n\nexport default TasksCalendarHeader;\n","import React from 'react';\nimport { getWeek } from 'date-fns';\nimport { Row, Col, } from '../FlexboxGrid';\nimport HeaderWrapper from './HeaderWrapper';\nimport { CalendarTask, CalendarTaskProps } from '../Task';\n\nexport type TasksCalendarFooterProps = {\n onNextWeek: VoidFunction;\n onPrevWeek: VoidFunction;\n onNextMonth: VoidFunction;\n onPrevMonth: VoidFunction;\n currentMonth: Date;\n currentWeek: number;\n selectedDate: Date;\n [key: string]: any;\n};\nexport const TasksCalendarFooter = ({\n currentWeek,\n tasks=[],\n}: React.PropsWithChildren<TasksCalendarFooterProps>) => {\n return (\n <HeaderWrapper>\n <Col start xs>\n <span style={{display: 'inline-flex'}}>Overdue: </span>\n <span style={{display: 'inline-flex'}}>\n <Row>\n {tasks\n /* eslint-disable eqeqeq */\n .filter((t: CalendarTaskProps) => t.date ? currentWeek == getWeek(t.date) : true)\n .map((t: CalendarTaskProps) => (<Col xs md={3} padded><CalendarTask {...t} date={undefined} /></Col>))}\n </Row> \n </span>\n </Col>\n </HeaderWrapper>\n );\n};\n\nexport default TasksCalendarFooter;\n","import React, { useState } from 'react';\nimport { CSSObject } from 'styled-components';\nimport { startOfWeek, lastDayOfWeek, getWeek, } from 'date-fns';\nimport { useCalendar } from '../hooks';\nimport CalendarWrapper from './CalendarWrapper';\nimport DefaultCalendarHeader from './DefaultCalendarHeader';\nimport DefaultCalendarFooter from './DefaultCalendarFooter';\nimport CalendarDaysHeader from './CalendarDaysHeader';\nimport CalendarDaysBody from './CalendarDaysBody';\nimport { getDatesBetween } from '../hooks/useCalendar';\n\nexport type CalendarHeaderComponentProps = {\n onNextWeek: VoidFunction;\n onPrevWeek: VoidFunction;\n onNextMonth: VoidFunction;\n onPrevMonth: VoidFunction;\n currentMonth: Date;\n currentWeek: number;\n selectedDate: Date;\n [key: string]: any;\n};\n\nexport type CalendarProps = {\n components?: {\n Header?: (props: React.PropsWithChildren<CalendarHeaderComponentProps>) => React.ReactElement;\n Footer?: (props: React.PropsWithChildren<CalendarHeaderComponentProps>) => React.ReactElement;\n DayBody?: (props: React.PropsWithChildren<{ [key: string]: any }>) => React.ReactElement;\n };\n showHeader?: boolean;\n showFooter?: boolean;\n extraProps?: {\n dayBody?: CSSObject | { [key: string]: any };\n header?: CSSObject | { [key: string]: any };\n footer?: CSSObject | { [key: string]: any };\n };\n};\nconst Calendar = ({ components = {}, extraProps, ...props }: CalendarProps) => {\n const {\n currentMonth,\n currentWeek,\n selectedDate,\n onNextWeek,\n onPrevWeek,\n onNextMonth,\n onPrevMonth,\n onClickDay,\n } = useCalendar({});\n\n /* eslint-disable @typescript-eslint/no-unused-vars */\n const [days, setDays] = useState(getDatesBetween(\n startOfWeek(currentMonth, { weekStartsOn: 1 }), lastDayOfWeek(currentMonth, { weekStartsOn: 1 })\n ).map((day, i) => ({ __id__: `day-${getWeek(day)}-${i}`, day, })));\n\n const headerProps = {\n onNextWeek,\n onPrevWeek,\n onNextMonth,\n onPrevMonth,\n currentMonth,\n currentWeek,\n selectedDate,\n };\n\n const renderHeader = () => {\n if (props.showHeader === false) {\n return;\n }\n if (components.Header) {\n return <components.Header\n {...headerProps}\n {...extraProps?.header}\n />\n }\n return (\n <DefaultCalendarHeader\n {...headerProps}\n {...extraProps?.header}\n />\n );\n }\n\n const renderFooter = () => {\n if (props.showFooter === false) {\n return;\n }\n if (components.Footer) {\n return <components.Footer\n {...headerProps}\n {...extraProps?.footer}\n />\n }\n return <DefaultCalendarFooter {...headerProps} {...extraProps?.footer} />;\n };\n\n return (\n <CalendarWrapper>\n <CalendarDaysHeader currentMonth={currentMonth} selectedDate={selectedDate} weekendsCheckbox={<div></div>} weekend={true} />\n {renderHeader()}\n <CalendarDaysBody\n currentMonth={currentMonth}\n selectedDate={selectedDate}\n onClickDay={onClickDay}\n dayBodyProps={extraProps?.dayBody}\n components={{ DayBody: components?.DayBody, }}\n days={days}\n />\n {renderFooter()}\n </CalendarWrapper>\n );\n}\n\nexport default Calendar;\n","import React, { useState } from 'react';\nimport { isSameDay, getWeek, startOfWeek, lastDayOfWeek } from 'date-fns';\nimport { CalendarTaskProps, } from '../Task';\nimport { CalendarProps } from './Calendar';\nimport { TTab } from '../Tabs';\nimport { useCalendar } from '../hooks';\nimport { getDatesBetween } from '../hooks/useCalendar';\nimport CalendarDaysBody from './CalendarDaysBody';\nimport CalendarDaysHeader from './CalendarDaysHeader';\nimport CalendarWrapper from './CalendarWrapper';\nimport TasksCalendarDayBody from './TasksCalendarDayBody';\nimport TasksCalendarHeader from './TasksCalendarHeader';\nimport TasksCalendarFooter from './TasksCalendarFooter';\nimport _ from 'lodash';\n\n\nexport function convertTasksToDays({ currentMonth, currentWeek, tasks, }: { currentMonth: Date, currentWeek?: number, tasks: CalendarTaskProps[], }) {\n return getDatesBetween(\n startOfWeek(currentMonth, { weekStartsOn: 1 }),\n lastDayOfWeek(currentMonth, { weekStartsOn: 1 })\n ).map((day, i) => {\n const newTasks = tasks\n .filter(t => t.date ? isSameDay(day, t.date) : false)\n .map((t, j) => ({\n ...t,\n coordinates: [i, j],\n __id__: `day-${i}-${getWeek(day)}-task-${j}`})\n );\n return {\n __id__: `day-${i}-${getWeek(day)}`,\n day,\n tasks: _.orderBy(\n newTasks,\n [v => {\n if (v.order === undefined) {\n return v.checked || v.completed ? 0 : 1;\n }\n return v.order;\n }],\n ['desc']\n ),\n };\n });\n}\n\ntype TasksCalendarProps = CalendarProps & {\n tasks: Array<CalendarTaskProps>;\n headerTabs?: Array<TTab>;\n footerTasks?: Array<CalendarTaskProps>;\n components?: {\n Header?: (props: React.PropsWithChildren<{ [key: string]: any }>) => React.ReactElement;\n Footer?: (props: React.PropsWithChildren<{ [key: string]: any }>) => React.ReactElement;\n },\n};\n\nconst TasksCalendar = ({\n tasks,\n headerTabs=[],\n footerTasks=[],\n components={},\n ...props\n}: TasksCalendarProps) => {\n const {\n currentMonth,\n currentWeek,\n selectedDate,\n onNextWeek,\n onPrevWeek,\n onNextMonth,\n onPrevMonth,\n onClickDay,\n onReset,\n changeDate,\n changeWeek\n } = useCalendar({});\n\n /* eslint-disable @typescript-eslint/no-unused-vars */\n const [days, setDays] = useState(\n convertTasksToDays({currentMonth, currentWeek, tasks,})\n );\n\n const headerProps = {\n onNextWeek,\n onPrevWeek,\n onNextMonth,\n onPrevMonth,\n currentMonth,\n currentWeek,\n selectedDate,\n changeDate,\n changeWeek\n };\n\n return (\n <CalendarWrapper>\n <TasksCalendarHeader {...headerProps} onResetDate={onReset} tabs={headerTabs} weekendsCheckbox={<div></div>} />\n <CalendarDaysHeader currentMonth={currentMonth} selectedDate={selectedDate} weekendsCheckbox={<div></div>} weekend={true} />\n <CalendarDaysBody\n currentMonth={currentMonth}\n selectedDate={selectedDate}\n onClickDay={onClickDay}\n dayBodyProps={{ tasks }}\n components={{ DayBody: TasksCalendarDayBody, }}\n days={days}\n />\n <TasksCalendarFooter {...headerProps} tasks={footerTasks} />\n </CalendarWrapper>\n );\n}\n\nexport default TasksCalendar;\n","import { DraggableProvided, DraggableStateSnapshot, DroppableProvided, DroppableStateSnapshot } from \"react-beautiful-dnd\";\n\nexport const draggableChildWrapperProps = (provided: DraggableProvided, snapshot: DraggableStateSnapshot, props: {[key: string]: any;}={}) => {\n const { style, ...rest } = props;\n return {\n style: {\n userSelect: \"none\",\n padding: 16,\n margin: \"0 0 8px 0\",\n minHeight: \"50px\",\n backgroundColor: snapshot.isDragging\n ? \"#263B4A\"\n : \"#456C86\",\n color: \"white\",\n ...provided.draggableProps.style,\n ...style,\n },\n ref: provided.innerRef,\n ...provided.draggableProps,\n ...provided.dragHandleProps,\n ...rest,\n };\n};\n\nexport const droppableChildWrapperProps = (provided: DroppableProvided, snapshot: DroppableStateSnapshot, props: {[key: string]: any;}={}) => {\n const { style, ...rest } = props;\n return {\n style: {\n background: snapshot.isDraggingOver\n ? \"lightblue\"\n : \"unset\",\n padding: 4,\n width: '100%',\n minHeight: 500,\n maxHeight: 500,\n ...style,\n },\n ref: provided.innerRef,\n ...provided.droppableProps,\n ...rest,\n };\n};\n","import React from 'react';\nimport { Draggable } from \"react-beautiful-dnd\";\nimport { Row, Col, } from '../FlexboxGrid';\nimport { CalendarTask, CalendarTaskProps } from '../Task';\nimport HeaderWrapper from './HeaderWrapper';\nimport { draggableChildWrapperProps } from './styles';\nimport { onUpdateTaskFunc, onClickTaskFunc } from './types';\n\nexport type DraggableCalendarFooterTasksProps = {\n onNextWeek: VoidFunction;\n onPrevWeek: VoidFunction;\n onNextMonth: VoidFunction;\n onPrevMonth: VoidFunction;\n currentMonth: Date;\n currentWeek: number;\n selectedDate: Date;\n onClickTask?: onClickTaskFunc;\n onUpdateTask?: onUpdateTaskFunc;\n tasks: Array<CalendarTaskProps>;\n};\nexport const DraggableCalendarFooterTasks = ({\n onClickTask,\n onUpdateTask,\n tasks = [],\n}: React.PropsWithChildren<DraggableCalendarFooterTasksProps>) => {\n return (\n <HeaderWrapper>\n <Col start={1} xs>Overdue: </Col>\n <Col xs>\n <Row>\n {tasks\n .map((t: CalendarTaskProps, j: number) => (\n <Draggable key={'footer-task-' + j}\n draggableId={'footer-task-' + j}\n index={j}\n >\n {(provided, snapshot) => (\n <Col xs md={3} padded\n {...draggableChildWrapperProps(provided, snapshot)}\n onClick={(e: React.MouseEvent) => { onClickTask && onClickTask(t); }}\n >\n <CalendarTask\n {...t}\n date={undefined}\n onClickCheckbox={(completed: boolean) => {\n if (onUpdateTask) {\n onUpdateTask({ ...t, completed, }, {\n index: j,\n action: 'TOGGLE_CHECKBOX',\n oldTask: t,\n updatedFields: ['completed'],\n });\n } else if (t.onClickCheckbox) {\n t.onClickCheckbox(completed);\n }\n }}\n />\n </Col>\n )}\n </Draggable>\n ))}\n </Row>\n </Col>\n </HeaderWrapper>\n );\n};\n\nexport default DraggableCalendarFooterTasks;\n","import React from 'react';\nimport { Droppable } from \"react-beautiful-dnd\";\nimport { CalendarTaskProps, } from '../Task';\nimport DraggableCalendarFooterTasks from './DraggableCalendarFooterTasks';\nimport { droppableChildWrapperProps } from './styles';\nimport { onClickTaskFunc, onUpdateTaskFunc } from './types';\n\ntype DroppableFooterProps = {\n onNextWeek: () => void;\n onPrevWeek: () => void;\n onNextMonth: () => void;\n onPrevMonth: () => void;\n currentMonth: Date;\n currentWeek: number;\n selectedDate: Date;\n onClickTask?: onClickTaskFunc;\n onUpdateTask?: onUpdateTaskFunc;\n tasks: Array<CalendarTaskProps>;\n};\nconst DroppableFooter = ({tasks, ...props}: DroppableFooterProps) => {\n return (\n <Droppable droppableId={'footer-droppable'} key={'footer-droppable'} isDropDisabled>\n {(provided, snapshot) => (\n <div {...droppableChildWrapperProps(provided, snapshot, {\n style: { minHeight: 0, maxHeight: 300, overflow: 'auto' }\n })}>\n {provided.placeholder}\n <DraggableCalendarFooterTasks {...props} tasks={tasks} />\n </div>\n )}\n </Droppable>\n );\n};\n\nexport default DroppableFooter;\n","import React from 'react';\nimport { Draggable } from \"react-beautiful-dnd\";\nimport { Col } from '../FlexboxGrid';\nimport { CalendarTask, } from '../Task';\nimport { draggableChildWrapperProps } from './styles';\nimport { NewCalendarTaskProps, onClickTaskFunc, onUpdateTaskFunc } from './types';\n\nexport type DraggableTaskBodyProps = {\n index: number;\n onClickTask?: onClickTaskFunc;\n onUpdateTask?: onUpdateTaskFunc;\n task: NewCalendarTaskProps;\n};\nconst DraggableTaskBody = ({\n index, task, onUpdateTask, onClickTask,\n}: DraggableTaskBodyProps) => {\n return (\n <Draggable\n key={task.__id__}\n draggableId={task.__id__}\n index={index}\n >\n {(provided, snapshot) => (\n <div {...draggableChildWrapperProps(provided, snapshot)}>\n <Col onClick={(e: React.MouseEvent) => { onClickTask && onClickTask(task); }}>\n <CalendarTask {...task}\n date={undefined}\n onClickCheckbox={(completed: boolean) => {\n if (onUpdateTask) {\n onUpdateTask({ ...task, completed, }, {\n index,\n action: 'TOGGLE_CHECKBOX',\n oldTask: task,\n updatedFields: ['completed'],\n });\n } else if (task.onClickCheckbox) {\n task.onClickCheckbox(completed);\n }\n }}\n />\n </Col>\n </div>\n )}\n </Draggable>\n );\n};\n\nexport default DraggableTaskBody;\n","import React from 'react';\nimport { Droppable } from \"react-beautiful-dnd\";\nimport { Row } from '../FlexboxGrid';\nimport CalendarDayBody from './CalendarDayBody';\nimport DaysBodyWrapper from './DaysBodyWrapper';\nimport DraggableTaskBody from './DraggableTaskBody';\nimport { droppableChildWrapperProps } from './styles';\nimport { DaysObject, onClickTaskFunc, onUpdateTaskFunc } from './types';\n\nexport type DroppableDaysProps = { days: DaysObject; selectedDate: Date; onClickTask?: onClickTaskFunc; onUpdateTask?: onUpdateTaskFunc; onClickDay: (day: any) => void; [key: string]: any; weekend?: boolean; };\nconst DroppableDays = ({days, selectedDate, onUpdateTask, onClickDay, onClickTask, weekend, ...props}: DroppableDaysProps) => {\n return (\n <DaysBodyWrapper className=\"days-body-wrapper\" {...props}>\n <Row className=\"day-body-wrapper-row\">\n {Object.entries(days).map(([__id__, d], i) => (\n (!(!weekend && (d.day.getDay() === 6 || d.day.getDay() === 0)) ?\n <CalendarDayBody\n key={__id__}\n day={d.day}\n selectedDate={selectedDate}\n weekend={weekend}\n onClick={() => { onClickDay && onClickDay(d.day); }}\n >\n <Row>\n <Droppable droppableId={__id__} key={__id__}>\n {(provided, snapshot) => (\n <div {...droppableChildWrapperProps(provided, snapshot)}>\n {provided.placeholder}\n {d.tasks.map((t, j) => (\n <DraggableTaskBody key={t.__id__} index={j} task={t} onClickTask={onClickTask} onUpdateTask={onUpdateTask ? (newData, otherData) => {\n onUpdateTask(newData, { ...otherData, day__id: __id__, task__id: t.__id__ });\n } : undefined} />\n ))}\n </div>\n )}\n </Droppable>\n </Row>\n </CalendarDayBody> : \"\")\n ))}\n </Row>\n </DaysBodyWrapper>\n );\n};\n\nexport default DroppableDays;\n","import _ from 'lodash';\nimport React, { useEffect, useState } from 'react';\nimport { DragDropContext, DropResult } from \"react-beautiful-dnd\";\nimport { getWeek, getYear } from 'date-fns'\nimport { CalendarTaskProps, } from '../Task';\nimport { CalendarProps } from './Calendar';\nimport { TTab } from '../Tabs';\nimport { useCalendar } from '../hooks';\nimport CalendarDaysHeader from './CalendarDaysHeader';\nimport CalendarWrapper from './CalendarWrapper';\nimport TasksCalendarHeader from './TasksCalendarHeader';\nimport DroppableFooter from './DroppableFooter';\nimport DroppableDays from './DroppableDays';\nimport { convertTasksToDays } from './TasksCalendar';\nimport {LabeledCheckbox} from '../Input';\nimport { useCalendarProps } from '../hooks/useCalendar';\nimport Loading from '../icons/Loading';\nimport { DaysObject, onClickTaskFunc, onUpdateTaskFunc, TCalendarView, onClickViewFunc } from './types';\n\nexport type DraggableTasksCalendarProps = CalendarProps & {\n tasks: Array<CalendarTaskProps>;\n onUpdateTask: onUpdateTaskFunc;\n onClickTask?: onClickTaskFunc;\n headerTabs?: Array<TTab>;\n footerTasks?: Array<CalendarTaskProps>;\n weekend?: boolean;\n components?: {\n Header?: (props: React.PropsWithChildren<{ [key: string]: any }>) => React.ReactElement;\n Footer?: (props: React.PropsWithChildren<{ [key: string]: any }>) => React.ReactElement;\n },\n onToggleWeekend?: (weekend: boolean) => void;\n showAddTaskBtn?: boolean;\n onClickAddTask?: VoidFunction;\n loading?: boolean;\n views?: Array<TCalendarView>;\n onClickView?: onClickViewFunc;\n showFooterTasks?: boolean;\n} & useCalendarProps;\n\ntype State = {\n days: DaysObject,\n footerTasks: Array<CalendarTaskProps>,\n};\n\nconst DraggableTasksCalendar = ({\n views = [],\n tasks = [],\n onUpdateTask,\n onClickTask,\n headerTabs = [],\n footerTasks = [],\n components = {},\n weekend=false,\n onChangeWeek,\n onChangeMonth,\n onToggleWeekend,\n showAddTaskBtn=true,\n onClickAddTask,\n onClickView,\n loading=false,\n showFooterTasks=true,\n ...props\n}: DraggableTasksCalendarProps) => {\n const {\n currentMonth,\n currentWeek,\n selectedDate,\n onNextWeek,\n onPrevWeek,\n onNextMonth,\n onPrevMonth,\n onClickDay,\n onReset,\n changeDate,\n changeWeek\n } = useCalendar({onChangeWeek, onChangeMonth});\n\n const [state, setState] = useState<State>({\n days: convertTasksToDays({ currentMonth, currentWeek, tasks, }).reduce(\n (acc, v) => ({ ...acc, [v.__id__]: v }), {}\n ),\n footerTasks: footerTasks.filter(\n t => t.date\n ? (getWeek(t.date) < currentWeek && getYear(t.date) === getYear(currentMonth))\n || getYear(t.date) < getYear(currentMonth)\n : false\n ),\n });\n const [showWeekend, setShowWeekend] = useState(weekend);\n\n useEffect(() => {\n setShowWeekend(weekend);\n }, [weekend]);\n\n useEffect(() => {\n setState(s => ({\n ...s,\n days: convertTasksToDays({ currentMonth, currentWeek, tasks, })\n .reduce((acc, v) => ({ ...acc, [v.__id__]: v }), {}),\n }));\n }, [currentMonth, currentWeek, tasks]);\n\n useEffect(() => {\n setState(s => ({\n ...s,\n footerTasks: footerTasks.filter(\n t => t.date\n ? (getWeek(t.date) < currentWeek && getYear(t.date) === getYear(currentMonth))\n || getYear(t.date) < getYear(currentMonth)\n : false\n ),\n }));\n }, [footerTasks, currentWeek, currentMonth]);\n\n const headerProps = {\n onNextWeek,\n onPrevWeek,\n onNextMonth,\n onPrevMonth,\n currentMonth,\n currentWeek,\n selectedDate,\n showAddTaskBtn,\n onClickAddTask,\n changeWeek,\n changeDate,\n };\n\n const onDragEnd = (result: DropResult) => {\n if (!result.destination) return;\n const { draggableId, source, destination, reason } = result;\n if (reason === 'DROP' && destination.droppableId === 'footer-droppable') {\n return; // don't drop to footer\n }\n if (draggableId.startsWith('footer-task-')) {\n // drag from footer into the columns\n setState(s => {\n const days = s.days;\n const destColumn = days[destination.droppableId];\n\n const sourceTasks = s.footerTasks;\n if (sourceTasks[source.index].draggable === false) {\n return s;\n }\n const [removed] = sourceTasks.splice(source.index, 1);\n const newTask = {...removed,\n __id__: `day-${getWeek(destColumn.day)}-${destColumn.day.getDate()}-task-${destination.index}`,\n date: new Date(\n destColumn.day.getFullYear(),\n destColumn.day.getMonth(),\n destColumn.day.getDate(),\n removed.date?.getHours(),\n removed.date?.getMinutes(),\n removed.date?.getSeconds(),\n removed.date?.getMilliseconds(),\n ),\n };\n\n const destItems = [...destColumn.tasks];\n destItems.splice(destination.index, 0, newTask);\n onUpdateTask(newTask, {\n action: 'DROP',\n oldTask: removed,\n sourceType: 'FOOTER',\n index: destination.index,\n updatedFields: ['date'],\n });\n return { ...s,\n days: { ...days, [destination.droppableId]: { ...destColumn, tasks: destItems, } },\n footerTasks: [ ...sourceTasks ],\n };\n });\n return;\n }\n\n if (source.droppableId !== destination.droppableId) {\n setState(s => {\n const days = s.days;\n const sourceColumn = days[source.droppableId];\n const destColumn = days[destination.droppableId];\n\n if (sourceColumn.tasks[source.index].draggable === false) {\n return s;\n }\n\n const sourceItems = [...sourceColumn.tasks];\n const destItems = [...destColumn.tasks];\n const [removed] = sourceItems.splice(source.index, 1);\n const newTask = {\n ...removed,\n date: new Date(\n destColumn.day.getFullYear(),\n destColumn.day.getMonth(),\n destColumn.day.getDate(),\n removed.date?.getHours(),\n removed.date?.getMinutes(),\n removed.date?.getSeconds(),\n removed.date?.getMilliseconds(),\n ),\n };\n\n destItems.splice(destination.index, 0, newTask);\n onUpdateTask(newTask, {\n action: 'DROP',\n oldTask: removed,\n sourceType: 'COLUMN',\n index: destination.index,\n updatedFields: ['date'],\n });\n return { ...s,\n days: { ...days,\n [source.droppableId]: { ...sourceColumn, tasks: sourceItems, },\n [destination.droppableId]: { ...destColumn, tasks: destItems, }\n },\n };\n });\n } else {\n setState(s => {\n const days = s.days;\n const column = days[source.droppableId];\n if (column.tasks[source.index].draggable === false) {\n return s;\n }\n\n const copiedItems = [...column.tasks];\n const [removed] = copiedItems.splice(source.index, 1);\n copiedItems.splice(destination.index, 0, removed);\n onUpdateTask(removed, {\n action: 'DROP',\n oldTask: removed,\n sourceType: 'COLUMN',\n index: destination.index,\n });\n return { ...s,\n days: { ...days, [source.droppableId]: { ...column, tasks: copiedItems, }}\n };\n });\n }\n };\n\n var weekendsCheckbox = <LabeledCheckbox label=\"Weekends\"\n checked={showWeekend}\n mb={0}\n onChange={() => setShowWeekend(s => {\n onToggleWeekend && onToggleWeekend(!s);\n return !s;\n })}\n />\n\n return (\n <DragDropContext\n onDragEnd={result => onDragEnd(result)}\n >\n <CalendarWrapper>\n <TasksCalendarHeader\n {...headerProps}\n onResetDate={onReset}\n tabs={headerTabs}\n weekendsCheckbox={weekendsCheckbox}\n views={views}\n onClickView={onClickView}\n />\n <div className=\"calendar-scroll\">\n <CalendarDaysHeader currentMonth={currentMonth} selectedDate={selectedDate} weekendsCheckbox={weekendsCheckbox} weekend={showWeekend} />\n {loading ? <div style={{height: 400, paddingTop: 30,}}>\n <Loading />\n </div> : <DroppableDays\n days={state.days}\n selectedDate={selectedDate}\n onClickDay={onClickDay}\n onClickTask={onClickTask}\n weekend={showWeekend}\n onUpdateTask={(newData, {day__id, task__id, ...otherData}) => {\n if (!day__id) {return;}\n _.flowRight(() => {\n onUpdateTask(newData, otherData);\n }, () => {\n setState(s => {\n return { ...s,\n days: { ...s.days,\n [day__id]: { ...s.days[day__id],\n tasks: [\n ...s.days[day__id].tasks.slice(0, otherData.index),\n {...s.days[day__id].tasks[otherData.index], ...newData},\n ...s.days[day__id].tasks.slice(otherData.index+1),\n ],\n }\n },\n };\n });\n })();\n }}\n />}\n </div>\n {showFooterTasks ? <DroppableFooter\n tasks={state.footerTasks}\n onClickTask={onClickTask}\n onUpdateTask={(newData, {day__id, task__id, ...otherData}) => {\n _.flowRight(() => {\n onUpdateTask(newData, otherData);\n }, () => {\n if (!day__id) { return; }\n setState(s => {\n return { ...s,\n days: { ...s.days,\n [day__id]: { ...s.days[day__id],\n tasks: [\n ...s.days[day__id].tasks.slice(0, otherData.index),\n {...s.days[day__id].tasks[otherData.index], ...newData},\n ...s.days[day__id].tasks.slice(otherData.index+1),\n ],\n }\n },\n };\n });\n })();\n }}\n {...headerProps}\n /> : null}\n </CalendarWrapper>\n </DragDropContext>\n );\n}\n\nexport default DraggableTasksCalendar;\n","import { document } from '../../utils';\n\nconst scrollbarWidth = () => {\n // thanks to https://davidwalsh.name/detect-scrollbar-width\n const scrollDiv = document.createElement('div');\n scrollDiv.setAttribute('style', 'width: 100px; height: 100px; overflow: scroll; position:absolute; top:-9999px;');\n document.body.appendChild(scrollDiv);\n const scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth;\n document.body.removeChild(scrollDiv);\n return scrollbarWidth;\n};\n\nexport default scrollbarWidth;\n","import styled, { css, CSSObject } from 'styled-components';\nimport React, { useRef, useLayoutEffect } from 'react';\nimport {\n useTable,\n useSortBy,\n useFlexLayout,\n SortingRule,\n Column,\n} from 'react-table';\nimport { FixedSizeList, ListOnScrollProps } from 'react-window';\nimport { BaseSortByHeaderGroup, SortByHeaderGroup, SortByTableInstance, SortByTableOptions } from './types';\nimport { colors, getThemeColor } from '../Theme';\nimport { FilledChevronIcon} from '../icons';\nimport scrollbarWidth from './scrollbarWidth';\n\nexport const SimpleWindowedTableStyles = styled.div<{\n bordered?: boolean | string;\n rowClickable?: boolean;\n hoverRowBg?: string | boolean;\n selectedRowIndex?: number;\n selectedRowStyle?: boolean | CSSObject; // if true, then set bg same as hoverRowBg\n}>`\npadding: 1rem;\n\n.table-list-rows {\n width: 100% !important;\n\n ${p => p.rowClickable ? `\n .tr {\n cursor: pointer;\n }\n ` : ''}\n}\n\n.table {\n display: inline-block;\n border-spacing: 0;\n width: 100%;\n min-width: 100% !important;\n\n ${p => p.bordered ?\n `border: ${typeof p.bordered === 'string'\n ? p.bordered\n : `1px solid ${getThemeColor(p, 'tableBorder', '#edf2f5')}`};`\n : ''}\n\n .header.tr, .table-footer.tr {\n width: 100% !important;\n min-width: 100% !important;\n overflow-x: hidden;\n }\n\n .tr {\n :last-child {\n .td {\n border-bottom: 0;\n }\n }\n }\n\n .th {\n border-bottom: 2px solid ${colors.disabledButtonBorder};\n\n div {\n display: inline-block;\n }\n }\n\n .td {\n border-bottom: 1px solid ${colors.disabledButtonBorder};\n }\n\n /* set hover styles */\n ${p => p.hoverRowBg ?\n `.tr:not(.header.tr, .table-footer.tr):hover {\n background: ${typeof p.hoverRowBg === 'string'\n ? p.hoverRowBg\n : getThemeColor(p, 'tableHeaderBg', '#F6FEFF')\n };\n }` : ''}\n\n /* row selected => if selectedRowStyle === true then set background color else set given styles */\n ${p => p.selectedRowIndex && p.selectedRowStyle ?\n `.tr:nth-child(${p.selectedRowIndex}) {\n ${typeof p.selectedRowStyle === 'boolean'\n ? `background: ${getThemeColor(p, 'tableHeaderBg', '#F6FEFF')};`\n : css(p.selectedRowStyle)\n }\n }` : ''}\n\n .th,\n .td {\n margin: 0;\n padding: 0.5rem;\n }\n}\n`;\n\nexport type SimpleWindowedTableProps = {\n columns: Column<object>[];\n data: object[];\n itemSize?: number;\n height?: number;\n minWidth?: number;\n maxWidth?: number;\n defaultSort?: SortingRule<string>;\n onClickRow?: (row?: object, index?: number) => void;\n onScroll?: ((props: ListOnScrollProps) => any);\n onUpdateData?: (...args: any) => void;\n useTableProps?: object;\n tableHeaderProps?: {\n className?: string;\n style?: React.CSSProperties;\n };\n tableFooterProps?: {\n className?: string;\n style?: React.CSSProperties;\n };\n TableFooter?: React.ReactNode;\n className?: string;\n hideFooter?: boolean;\n NoRowsFound?: (props: React.PropsWithChildren<{ [key: string]: any }>) => React.ReactElement;\n};\n\nfunction SimpleWindowedTable({\n columns,\n data,\n itemSize=80,\n height=500,\n minWidth = 140,\n maxWidth = 500,\n defaultSort,\n onClickRow,\n onScroll,\n onUpdateData,\n useTableProps={},\n tableHeaderProps={},\n tableFooterProps={},\n hideFooter=true,\n className='',\n NoRowsFound,\n}: SimpleWindowedTableProps) {\n const defaultColumn = React.useMemo(\n () => ({\n minWidth: minWidth,\n maxWidth: maxWidth,\n }),\n [minWidth, maxWidth]\n );\n\n const scrollBarSize = React.useMemo(() => scrollbarWidth(), []);\n\n const {\n getTableProps,\n getTableBodyProps,\n headerGroups,\n footerGroups,\n rows,\n totalColumnsWidth,\n prepareRow,\n } = useTable(\n {\n columns,\n data,\n defaultColumn,\n initialState: {\n ...(defaultSort ? { sortBy: [defaultSort] } : {}),\n },\n onUpdateData,\n ...useTableProps,\n } as SortByTableOptions,\n useSortBy,\n useFlexLayout\n ) as SortByTableInstance;\n const headerRef = useRef<HTMLDivElement | null>(null);\n const footerRef = useRef<HTMLDivElement | null>(null);\n const rowsRef = useRef<HTMLDivElement | HTMLSpanElement>();\n\n const onListScroll = (e: Event) => {\n if (headerRef.current && e && e.target) {\n const target = e.target as HTMLDivElement | HTMLSpanElement;\n headerRef.current.scrollLeft = target.scrollLeft;\n }\n\n if (footerRef.current && e && e.target) {\n const target = e.target as HTMLDivElement | HTMLSpanElement;\n footerRef.current.scrollLeft = target.scrollLeft;\n }\n };\n\n useLayoutEffect(() => {\n const rowsElem = rowsRef.current;\n rowsElem && rowsElem.addEventListener('scroll', onListScroll);\n return () => {\n rowsElem && rowsElem.removeEventListener('scroll', onListScroll);\n };\n }, [rowsRef]);\n\n const RenderRow = React.useCallback(\n ({ index, isScrolling, style }) => {\n const row = rows[index];\n prepareRow(row);\n return (\n <div\n {...row.getRowProps({\n style\n })}\n className=\"tr\"\n >\n {row.cells.map((cell) => {\n const cellProps = cell.getCellProps();\n return (\n <div\n {...cellProps}\n onClick={() => onClickRow ? onClickRow(cell.row.original, index) : null}\n className={`td ${cellProps.className || ''}`}\n >{cell.render(\"Cell\", { isScrolling })}</div>\n );\n })}\n </div>\n );\n },\n [prepareRow, rows, onClickRow]\n );\n\n const getHeaderProps = (column: BaseSortByHeaderGroup<object>, isFooter = false) => {\n let headerProps = column.getHeaderProps({\n ...column.getSortByToggleProps(),\n ...(column.containerProps || {}),\n });\n if (isFooter) {\n headerProps = column.getFooterProps({\n ...column.getSortByToggleProps(),\n ...(column.containerProps || {}),\n });\n }\n const headerStyles = {\n ...(headerProps.style || {}),\n ...(column.style || {}),\n };\n const headerClassNames = [\n 'th',\n ...(headerProps.className || \"\").split(' '),\n ...(column.className || \"\").split(' '),\n ].filter(v => v).join(' ');\n\n return {\n ...headerProps,\n style: headerStyles,\n className: headerClassNames,\n };\n };\n\n const getHeaderGroupProps = (headerGroup: SortByHeaderGroup<object>, isFooter=false) => {\n let headerGroupProps = headerGroup.getHeaderGroupProps({\n ...(headerGroup.containerProps || {}),\n });\n if (isFooter) {\n headerGroupProps = headerGroup.getFooterGroupProps({\n ...(headerGroup.containerProps || {}),\n });\n }\n const headerStyles = {\n ...(headerGroupProps.style || {}),\n ...(headerGroup.style || {}),\n };\n const headerClassNames = [\n isFooter ? 'footer tr' : 'header tr',\n ...(headerGroupProps.className || \"\").split(' '),\n ...(headerGroup.className || \"\").split(' '),\n ].filter(v => v).join(' ');\n\n return {\n ...headerGroupProps,\n style: headerStyles,\n className: headerClassNames,\n };\n };\n\n return (\n <div {...getTableProps()} className={`table ${className || ''}`}>\n <div {...tableHeaderProps}\n className={`header-wrapper ${tableHeaderProps.className || ''}`}\n >\n {headerGroups.map((headerGroup) => (\n <div {...getHeaderGroupProps(headerGroup, false)} className=\"header tr\" ref={headerRef}>\n {headerGroup.headers.map((column) => (\n <div {...getHeaderProps(column, false)}>\n {column.render(\"Header\")}\n {column.canSort ? <span style={{ display: 'inline-block', paddingLeft: 5, verticalAlign: 'text-top' }}>\n {column.isSorted ? (\n column.isSortedDesc ? <FilledChevronIcon direction=\"down\" width=\"15px\" /> : <FilledChevronIcon direction=\"up\" width=\"15px\" />\n ) : <FilledChevronIcon direction=\"updown\" width=\"15px\" />}\n </span> : null}\n </div>\n ))}\n </div>\n ))}\n </div>\n\n <div {...getTableBodyProps()}>\n {rows.length === 0 && NoRowsFound ? <NoRowsFound /> :<FixedSizeList\n height={height}\n itemCount={rows.length}\n itemSize={itemSize}\n width={totalColumnsWidth + scrollBarSize}\n className=\"table-list-rows\"\n outerRef={rowsRef}\n onScroll={onScroll}\n useIsScrolling\n >{RenderRow}</FixedSizeList>}\n </div>\n\n {!hideFooter ? <div {...tableFooterProps}\n className={`table-footer-wrapper ${tableFooterProps.className || ''}`}\n >\n {footerGroups.map((footerGroup) => (\n <div {...getHeaderGroupProps(footerGroup, true)} className=\"table-footer tr\" ref={footerRef}>\n {footerGroup.headers.map((column) => (\n <div {...getHeaderProps(column, true)}>\n {column.render(\"Footer\")}\n </div>\n ))}\n </div>\n ))}\n </div> : null}\n </div>\n );\n}\n\nexport default SimpleWindowedTable;\n"],"names":["window","document","React","SVG","placeholder","getColor","sizes","getSizeStyle","Number","Wrapper","img","gearsSmall","gears","star_light","star_dark","defineProperty","setPrototypeOf","assertThisInitialized","isNativeReflectConstruct","getPrototypeOf","possibleConstructorReturn","LOADING_IMG_SRC","NOT_FOUND_IMG_SRC","DEFAULT_MAX_ATTEMPTS","DEFAULT_ATTEMPT_INTERVAL","Img","props","state","src","attempts","onError","bind","nextProps","setState","retryId","clearTimeout","max_attempts","attempt_interval","setTimeout","Component","truncate","Date","verticalScrollbarWidth","scrollDiv","createElement","setAttribute","body","appendChild","scrollbarWidth","offsetWidth","clientWidth","removeChild","TD","List","StyledDropdown","DropdownItem","DropDownContent","ProgressWrapper","ProgressBar","Collapsible"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.es.js","sources":["../node_modules/tslib/tslib.es6.js","../src/@commonsku/styles/img/avatar-placeholder.png","../src/@commonsku/utils/ssr.ts","../src/@commonsku/utils/sizes.ts","../src/@commonsku/utils/generateColor.ts","../src/@commonsku/utils/index.ts","../src/@commonsku/styles/SharedStyles.tsx","../src/@commonsku/styles/colors.ts","../src/@commonsku/styles/icons/SvgIcon.tsx","../src/@commonsku/styles/icons/TableIcon.tsx","../src/@commonsku/styles/icons/FileIcon.tsx","../src/@commonsku/styles/icons/CouponIcon.tsx","../src/@commonsku/styles/icons/AwaitingProofIcon.tsx","../src/@commonsku/styles/icons/ProofReceivedIcon.tsx","../src/@commonsku/styles/icons/PendingApprovalIcon.tsx","../src/@commonsku/styles/icons/ChangeRequestedIcon.tsx","../src/@commonsku/styles/icons/ClientApprovedIcon.tsx","../src/@commonsku/styles/icons/ProofingCompleteIcon.tsx","../src/@commonsku/styles/icons/ChatIcon.tsx","../src/@commonsku/styles/icons/ColumnSelectIcon.tsx","../src/@commonsku/styles/icons/NavConnectIcon.tsx","../src/@commonsku/styles/icons/NavSalesIcon.tsx","../src/@commonsku/styles/icons/NavProdIcon.tsx","../src/@commonsku/styles/icons/NavFinanceIcon.tsx","../src/@commonsku/styles/icons/NavResourcesIcon.tsx","../src/@commonsku/styles/icons/NavManagementIcon.tsx","../src/@commonsku/styles/icons/TrashIcon.tsx","../src/@commonsku/styles/icons/PinIcon.tsx","../src/@commonsku/styles/icons/TaskIcon.tsx","../src/@commonsku/styles/icons/AddTaskIcon.tsx","../src/@commonsku/styles/icons/NoteIcon.tsx","../src/@commonsku/styles/icons/AddNoteIcon.tsx","../src/@commonsku/styles/icons/LockIcon.tsx","../src/@commonsku/styles/icons/InfoIcon.tsx","../src/@commonsku/styles/icons/DownloadIcon.tsx","../src/@commonsku/styles/icons/MarketingStatusIcon.tsx","../src/@commonsku/styles/icons/GearIcon.tsx","../src/@commonsku/styles/datepickerStyles.ts","../src/@commonsku/styles/globalStyles.ts","../src/@commonsku/styles/Theme.tsx","../src/@commonsku/styles/icons/CircleProgressIcon.tsx","../src/@commonsku/styles/icons/SVG.tsx","../src/@commonsku/styles/icons/Loading.tsx","../src/@commonsku/styles/icons/SalesArrowIcon.tsx","../src/@commonsku/styles/icons/AlertIcon.tsx","../src/@commonsku/styles/icons/CompletedCheckmarkIcon.tsx","../src/@commonsku/styles/icons/BulletIcon.tsx","../src/@commonsku/styles/icons/UsersIcon.tsx","../src/@commonsku/styles/icons/ReceiptLongIcon.tsx","../src/@commonsku/styles/icons/FolderIcon.tsx","../src/@commonsku/styles/icons/CalendarIcon.tsx","../src/@commonsku/styles/icons/PromostandardsIcon.tsx","../src/@commonsku/styles/icons/XIcon.tsx","../src/@commonsku/styles/icons/OpportunityCircleIcon.tsx","../src/@commonsku/styles/icons/PresentationCircleIcon.tsx","../src/@commonsku/styles/icons/EstimateCircleIcon.tsx","../src/@commonsku/styles/icons/SalesOrderCircleIcon.tsx","../src/@commonsku/styles/icons/DollarIcon.tsx","../src/@commonsku/styles/icons/BotIcon.tsx","../src/@commonsku/styles/icons/GalleryIcon.tsx","../src/@commonsku/styles/icons/ListIcon.tsx","../src/@commonsku/styles/icons/TilesIcon.tsx","../src/@commonsku/styles/icons/UserIcon.tsx","../src/@commonsku/styles/icons/ArrowIcon.tsx","../src/@commonsku/styles/icons/ChevronIcon.tsx","../src/@commonsku/styles/icons/FilledChevronIcon.tsx","../src/@commonsku/styles/icons/CheckmarkIcon.tsx","../src/@commonsku/styles/icons/AddIcon.tsx","../src/@commonsku/styles/icons/SubtractIcon.tsx","../src/@commonsku/styles/icons/SearchIcon.tsx","../src/@commonsku/styles/icons/ClockIcon.tsx","../src/@commonsku/styles/icons/ClipboardIcon.tsx","../src/@commonsku/styles/icons/RadioIcon.tsx","../src/@commonsku/styles/icons/CheckboxIcon.tsx","../src/@commonsku/styles/icons/EditIcon.tsx","../src/@commonsku/styles/icons/GridIcon.tsx","../src/@commonsku/styles/icons/TemplateIcon.tsx","../src/@commonsku/styles/icons/PercentIcon.tsx","../src/@commonsku/styles/icons/TargetIcon.tsx","../src/@commonsku/styles/icons/IntegrationsIcon.tsx","../src/@commonsku/styles/icons/MailIcon.tsx","../src/@commonsku/styles/icons/EpsIcon.tsx","../src/@commonsku/styles/icons/StarIcon.tsx","../src/@commonsku/styles/icons/EyeIcon.tsx","../src/@commonsku/styles/icons/MenuIcon.tsx","../src/@commonsku/styles/icons/CommentIcon.tsx","../src/@commonsku/styles/icons/EllipsisIcon.tsx","../src/@commonsku/styles/icons/DragIcon.tsx","../src/@commonsku/styles/icons/CreditCardIcon.tsx","../src/@commonsku/styles/icons/ShopIcon.tsx","../src/@commonsku/styles/icons/HistoryIcon.tsx","../src/@commonsku/styles/icons/HandleIcon.tsx","../src/@commonsku/styles/Avatar.tsx","../src/@commonsku/styles/Sizer.tsx","../src/@commonsku/styles/FlexboxGrid.tsx","../src/@commonsku/styles/Headings.tsx","../src/@commonsku/styles/Box.tsx","../src/@commonsku/styles/Background.tsx","../src/@commonsku/styles/DropArea.tsx","../src/@commonsku/styles/Button.tsx","../src/@commonsku/styles/Label.tsx","../src/@commonsku/styles/Input.tsx","../src/@commonsku/styles/Padding.tsx","../src/@commonsku/styles/Page.tsx","../src/@commonsku/styles/Text.tsx","../src/@commonsku/styles/Progress.tsx","../src/@commonsku/styles/Select.tsx","../src/@commonsku/styles/Backdrop.tsx","../src/@commonsku/styles/SidePanel.tsx","../src/@commonsku/styles/Table.tsx","../src/@commonsku/styles/Popup.tsx","../src/@commonsku/styles/GridTable.tsx","../src/@commonsku/styles/Tabs.tsx","../src/@commonsku/styles/Toggle.tsx","../src/@commonsku/styles/Textarea.tsx","../src/@commonsku/styles/gears.gif","../src/@commonsku/styles/gears-small.gif","../src/@commonsku/styles/Spinner.tsx","../src/@commonsku/styles/StarRating.tsx","../src/@commonsku/styles/Product.tsx","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/@babel/runtime/helpers/esm/objectSpread2.js","../node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../node_modules/@babel/runtime/helpers/esm/createClass.js","../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/inherits.js","../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../node_modules/@babel/runtime/helpers/esm/createSuper.js","../src/@commonsku/styles/Img.js","../src/@commonsku/styles/Artwork.tsx","../src/@commonsku/styles/Task.tsx","../src/@commonsku/styles/Feed.tsx","../src/@commonsku/styles/ErrorBoundary.tsx","../src/@commonsku/styles/Datepicker.tsx","../src/@commonsku/styles/Dropdown.tsx","../src/@commonsku/styles/Badge.tsx","../src/@commonsku/styles/verticalScrollbarWidth.js","../src/@commonsku/styles/HeadlessTable.tsx","../src/@commonsku/styles/hooks/usePrefersReducedMotion.ts","../src/@commonsku/styles/hooks/useRandomInterval.ts","../src/@commonsku/styles/hooks/useCalendar.ts","../src/@commonsku/styles/hooks/useWindowSize.ts","../src/@commonsku/styles/hooks/useLongPress.ts","../src/@commonsku/styles/Sparkles.tsx","../src/@commonsku/styles/StatusDropdown.tsx","../src/@commonsku/styles/StateDropdown.tsx","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","../node_modules/react-transition-group/esm/config.js","../node_modules/react-transition-group/esm/TransitionGroupContext.js","../node_modules/react-transition-group/esm/utils/reflow.js","../node_modules/react-transition-group/esm/Transition.js","../src/@commonsku/styles/Collapsible.tsx","../src/@commonsku/styles/MultiProgress.tsx","../src/@commonsku/styles/Thermometer.tsx","../src/@commonsku/styles/LightIndicator.tsx","../src/@commonsku/styles/DefaultStar.tsx","../src/@commonsku/styles/CancelButton.tsx","../src/@commonsku/styles/DoneButton.tsx","../src/@commonsku/styles/LinkWithIcon.tsx","../src/@commonsku/styles/AlertNotification.tsx","../src/@commonsku/styles/NumberInput.tsx","../src/@commonsku/styles/InputStepper.tsx","../src/@commonsku/styles/tables/VirtualTable.tsx","../src/@commonsku/styles/tables/VirtualTableStyles.ts","../src/@commonsku/utils/styled.ts","../src/@commonsku/styles/Csku.tsx","../src/@commonsku/styles/Grid.tsx","../src/@commonsku/styles/CollapsibleV2.tsx","../src/@commonsku/styles/ConfirmPopup.tsx","../src/@commonsku/styles/calendar/StyledDayBody.tsx","../src/@commonsku/styles/calendar/CalendarDayBody.tsx","../src/@commonsku/styles/calendar/DaysBodyWrapper.tsx","../src/@commonsku/styles/calendar/CalendarDaysBody.tsx","../src/@commonsku/styles/calendar/DaysHeaderWrapper.tsx","../src/@commonsku/styles/calendar/StyledDayText.tsx","../src/@commonsku/styles/calendar/CalendarDaysHeader.tsx","../src/@commonsku/styles/calendar/CalendarWrapper.tsx","../src/@commonsku/styles/calendar/HeaderWrapper.tsx","../src/@commonsku/styles/calendar/DefaultCalendarFooter.tsx","../src/@commonsku/styles/calendar/DefaultCalendarHeader.tsx","../src/@commonsku/styles/calendar/TasksCalendarDayBody.tsx","../src/@commonsku/styles/calendar/TasksCalendarHeader.tsx","../src/@commonsku/styles/calendar/TasksCalendarFooter.tsx","../src/@commonsku/styles/calendar/Calendar.tsx","../src/@commonsku/styles/calendar/TasksCalendar.tsx","../src/@commonsku/styles/calendar/styles.tsx","../src/@commonsku/styles/calendar/DraggableCalendarFooterTasks.tsx","../src/@commonsku/styles/calendar/DroppableFooter.tsx","../src/@commonsku/styles/calendar/DraggableTaskBody.tsx","../src/@commonsku/styles/calendar/DroppableDays.tsx","../src/@commonsku/styles/calendar/DraggableTasksCalendar.tsx","../src/@commonsku/styles/tables/scrollbarWidth.ts","../src/@commonsku/styles/tables/SimpleWindowedTable.tsx"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","var img = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAAB4CAIAAAC2BqGFAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAAB6hJREFUeNrsnVtT2zwQhq2zjyFpSPP//1rv2pJpWkJsybL8XWzxMHwtBaKVpeC9ggxD5Merd1erE/ny5Uu2GL7RBcECegG92AJ6Ab2AXmwBvYBebAG9gP7gxqNt2fhoL/xBlmWEkOln+JUxtoB+Fd9hGCillFLOOXm03x2QUqBJKQWg8IlzLsuyYRi01l3XRYg7LtDWWsZY0zR5nj+lPIGefnjmy9Pnzrnz+fzr16++7znnC+jnNgzDOI5VVa1WKyklIJsEARz2NUYIgfd0PB4fHh7A95++ng8K2jkHEKWUq9WqqqpxHK21lyhP3/eMse12m+f56XTq+34YhtmJzwZ6HEfnnJRSCCGEqKqKMXYJ4mf9gxBS13VRFMYYrbUxxhhjrQX1/yigIeLVdb3ZbOCxh2HwRXn6CmstISTP86IonHN932ut7+/vrbXh5ZvPQtlau16vN5uNd75/fKOg3VLKPM/LsjwcDl3XBWZNZ/HlzWazXq+tta+Pcl6+F1KR3W6nlEJ9wTODHobBOffp06ebmxtIM2bJIAkht7e3QoiQrAOBBolkjN3e3jZNMxfl6X0zxna7XUjWNMyDUUpXq9V+vy/L0lo7I+WpSUKIz58/B9MQHsCXm6ZpmoZz7pwLrIz/HIXudru7u7sAsZFiU+ac39zccM5Dhr43dTWIjZCcpC0dzjnsx7iQ9Xq9JoSgChouaEKItRYCfRarWWshv0b1BhrAXzjns0e/f2bZdV0zxvDaSVEpc8632y2lNHLQwzAopVCdmuI1XQix3+/zPI8tBv7NqaGwheQTFKnRWZat1+vAo6+YnZoiNbooijzP+77P0jFUp6YYzaWUNk2TpWbg1HmeYzi1f9DW2rIskZobwMqyxEhGqXd3ZoxVVZWlacMwSCmllN69xDNo55xSCqOhwWSaMaaU8i7T/qVDCBF/4vzyaFYp5V09/EtHVKsp3tcphRDecw/PoGEBUbruDKAZY1JKv+Ms6tedn64qStcopVLKqD36OmwcRyml3+UfC+i/RhqYElpAoyd5fqu7PkFfgTo/fRa/j+N/wALr3lIHDasvPT6I/zw6ierzP90ZljXFCxqamHQeDemd1trvVKf/YJholeOZbrRtG7VGw7R30jJNKe373hgTdR59HaC11t4fgWL0O1hYn3QeHXv1Dtb7pDVV+H9HKYrC77AQxaNBPdJN8mBY6H2bIgrovu/9Zvuz4E4AtLXWe9QOGQwx1guigH55D3f8w8Lz+ZxG1sE59144D+nObdt6744ooJVSQogU4yEhpG1bDN1DkQ6lVLoxkHOO4SX+y6QYM5uBk+jdbud9A4D/MinGXH1Ig2Xd3p3av3RwzpNeQJM9rtOMXaOTrnKkNGBJveqfPW4cjz2PjmFj7IVZE+xZjxo0pXQ6fyRd0BgldZTCf9d1SYM2xqRRVGrbNt3qHRzEEHvhf1IPrXWKTo1UusPyaOecMWYRaFzQU+6RbsqRwJwhaoYUxpDSUyzQT89hTMid8dYOYkkHgE7OozHGhIigKaXDMCS3jAZSDozcDtejk8vwKKUYs4W4oCml9/f34Q9MfLcJIdq2PZ1OSAdPI4J2zh0Oh77vhRCRU+acG2MOhwNeXKGorbfWfv369XQ6wanb0VLWWn/79g0OaMP6FtQIzhhzzt3d3Vlr4WCJ2HI+znnXdd+/f8fe84serGAv7fF4xFgs4WVg9ePHD5hTxuUQ5nmytxwfH8wYYw8PD1rrABGbBvOdOMeBwfpZINB4I65LNA2OpL8q0Fl8c4mEEK11sMoXDeY+0+0RkYCGonmw9oQDDTMXkSQeU1kjWHtoSA+Cy5UiAR24h9GQz4axrezdwVlrHfTVhgw+cOvM7OoB4xStdchXHhQ01E5n92jQjcCnWtPArmSMmX0ucZZmhAY9+wHp02qIwG2ggfss3Nk0L+hZ2jDPFU6zR8Lwyc8MCcC8A/G5zl+YwaPnBQ0FfsZY3/chWxJ0ZAhD8HmnEOHg4v1+3zQNXPgXBjcP4EEgykKIuq7LshRCzCvTsLd3u91WVXU6nc7nM8y6oYoJx+MLi5UYY2VZwpH/cGRfDIcuQRvgoPmu606nU9u2MDmLNHDl3p0Fpqw450VRKKVguzKsPohtiSngzvNcKWWMOZ/PbdvCSiXvU4jcI19CyDO+MDqY6Mdp8PqllEqpuq7btm3bVmsNuw19OTi/nC9c0gRwpZSwhCPmi8he8G7G2Gq1quu66zrADccWXa7g/BK+QoiJL/S1SCT48q5ZFEVZlnDxMhCHweS7Lxfn72iEEAJ0DfwX4t4VnCv4/0yJMVbXdVVVxpiu67TWU0n9rcT5a74V8gfOOVywopSa+Ca6heKtsR36LlSj9KO9iTh/jUTkjwbxDfsy75iJQ0Y4Ee+6biptv0ycv9Bx4MZycGHIz65JHy6JmXD4S57nTdNMPg5bhv9GnD/7L38cYly9RLxbxCfisA0UdPyPxPnTKCelBL5SSkjRFr6vJD5l4n9UFcYYt9YKIaqqAomAw2MWibhcVeq6hlN7z+ezMYYcj0eIcpN0LMi82CQdzrmfP3/+3nl5BefFx0ycEMIXFQ6g4+M4LvewBLIF9AJ6Ab3YAnoB/eHtvwEAK9kBvZqrs88AAAAASUVORK5CYII=\";\n export default img;","class El {\n parentNode = null;\n children = [];\n childNodes = [];\n style = {};\n\n setAttribute() {}\n\n getElementsByTagName() {\n return [];\n }\n\n click() {}\n\n appendChild(el: Element) {\n return el;\n }\n\n removeChild(el: Element) {}\n}\n\nconst createElement = (): HTMLElement => {\n if (typeof HTMLElement !== 'undefined') {\n return new HTMLElement();\n } else {\n const el: any = new El();\n return el as HTMLElement;\n }\n}\n\nconst doc = typeof document !== 'undefined' ? document : {\n body: createElement(),\n hidden: false,\n addEventListener() {},\n removeEventListener() {},\n activeElement: {\n blur() {},\n nodeName: '',\n },\n querySelector() {\n return null;\n },\n querySelectorAll() {\n return [];\n },\n getElementById() {\n return null;\n },\n createEvent() {\n return {\n initEvent() {},\n };\n },\n createElement() {\n return createElement();\n },\n createElementNS() {\n return {};\n },\n importNode() {\n return null;\n },\n location: {\n hash: '',\n host: '',\n hostname: '',\n href: '',\n origin: '',\n pathname: '',\n protocol: '',\n search: '',\n },\n};\n\nconst win = typeof window !== 'undefined' ? window : {\n innerWidth: 0,\n innerHeight: 0,\n document: doc,\n navigator: {\n userAgent: '',\n },\n location: {\n hash: '',\n host: '',\n hostname: '',\n href: '',\n origin: '',\n pathname: '',\n protocol: '',\n search: '',\n },\n history: {\n replaceState() {},\n pushState() {},\n go() {},\n back() {},\n },\n CustomEvent: function CustomEvent() {\n return this;\n },\n addEventListener() {},\n removeEventListener() {},\n getComputedStyle() {\n return {\n getPropertyValue() {\n return '';\n },\n };\n },\n Image() {},\n Date() {},\n screen: {},\n setTimeout: setTimeout,\n clearTimeout: clearTimeout,\n matchMedia() {\n return {\n matches: false, media: '',\n onchange: () => null,\n addListener: () => null,\n removeListener: () => null,\n addEventListener: () => null,\n removeEventListener: () => null,\n };\n },\n};\n\nconst ssr = {\n window: win,\n document: doc,\n};\n\nexport default ssr;\n","import { CSSObject, css } from \"styled-components\";\n\nexport const media: {[key: string]: ((value: string | CSSObject) => string)} = {\n xs: (styles: string | CSSObject) => `\n @media only screen and (min-width: 0px) {\n ${typeof styles === 'string' ? css`${styles}` : css(styles)}\n }\n `,\n sm: (styles: string | CSSObject) => `\n @media only screen and (min-width: 640px) {\n ${typeof styles === 'string' ? css`${styles}` : css(styles)}\n }\n `,\n md: (styles: string | CSSObject) => `\n @media only screen and (min-width: 768px) {\n ${typeof styles === 'string' ? css`${styles}` : css(styles)}\n }\n `,\n lg: (styles: string | CSSObject) => `\n @media only screen and (min-width: 1024px) {\n ${typeof styles === 'string' ? css`${styles}` : css(styles)}\n }\n `,\n xl: (styles: string | CSSObject) => `\n @media only screen and (min-width: 1280px) {\n ${typeof styles === 'string' ? css`${styles}` : css(styles)}\n }\n `,\n};\n\nexport const sizeMediaWidth = {\n xs: '0px',\n sm: '640px',\n md: '768px',\n lg: '1024px',\n xl: '1280px',\n};\n\nexport const sizeMedia = {\n xs: `@media only screen and (min-width: ${sizeMediaWidth.xs})`,\n sm: `@media only screen and (min-width: ${sizeMediaWidth.sm})`,\n md: `@media only screen and (min-width: ${sizeMediaWidth.md})`,\n lg: `@media only screen and (min-width: ${sizeMediaWidth.lg})`,\n xl: `@media only screen and (min-width: ${sizeMediaWidth.xl})`,\n};\n\nexport type TSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';\nexport const sizes: TSize[] = ['xs', 'sm', 'md', 'lg', 'xl'];\n","\nfunction hex(c: number) {\n const s = \"0123456789abcdef\";\n let i = parseInt(c + '');\n if (i === 0 || isNaN(c)) return \"00\";\n i = Math.round(Math.min(Math.max(0, i), 255));\n return s.charAt((i - (i % 16)) / 16) + s.charAt(i % 16);\n}\n\n/* Convert an RGB triplet to a hex string */\nfunction convertToHex(rgb: number[]) {\n return hex(rgb[0]) + hex(rgb[1]) + hex(rgb[2]);\n}\n\n/* Remove '#' in color hex string */\nfunction trim(s: string) {\n return s.charAt(0) === \"#\" ? s.substring(1, 7) : s;\n}\n\n/* Convert a hex string to an RGB triplet */\nfunction convertToRGB(hex: string) {\n const color = [] as number[];\n color[0] = parseInt(trim(hex).substring(0, 2), 16);\n color[1] = parseInt(trim(hex).substring(2, 4), 16);\n color[2] = parseInt(trim(hex).substring(4, 6), 16);\n return color;\n}\n\nfunction generateColor(colorStart: string, colorEnd: string, colorCount: number) {\n // The beginning of your gradient\n const start = convertToRGB(colorStart);\n // The end of your gradient\n const end = convertToRGB(colorEnd);\n // The number of colors to compute\n const len = colorCount;\n //Alpha blending amount\n let alpha = 0.0;\n const saida = [] as string[];\n for (let i = 0; i < len; i++) {\n var c = [] as number[];\n alpha += 1.0 / len;\n c[0] = start[0] * alpha + (1 - alpha) * end[0];\n c[1] = start[1] * alpha + (1 - alpha) * end[1];\n c[2] = start[2] * alpha + (1 - alpha) * end[2];\n saida.push(convertToHex(c));\n }\n return saida;\n}\n\nexport default generateColor\n","import ssr from './ssr';\nexport * from './sizes';\nexport { default as generateColor } from './generateColor';\n\nexport const valIsValid = (val: any) => val !== null && val !== undefined && val !== ''; // not checking for 0\n\nexport const aeval = (obj:{[key: string]: any}, key: string, def: any) => {\n return obj && obj[key] ? obj[key] : def;\n}\n\nexport const truncate = (value: string, length: number) => {\n if(typeof value !== 'string') {\n return value\n }\n if(value.length < length) {\n return value\n }\n \n return `${value.slice(0, length)}...`\n}\n\nexport const random = (min: number, max: number) => Math.floor(Math.random() * (max - min)) + min;\n\nexport const range = (start: number, end?: number, step: number = 1) => {\n let output = [] as number[];\n if (typeof end === 'undefined') {\n end = start;\n start = 0;\n }\n for (let i = start; i < end; i += step) {\n output.push(i);\n }\n return output;\n};\n\nexport const window = ssr.window;\nexport const document = ssr.document;\n\n/**\n * Handle on input change number\n *\n * Example:\n * <Input\n * value={state.toLocaleString(undefined, { maximumFractionDigits: 4 })}\n * onChange={e => {\n * const value = onChangeNumber(e.target.value);\n * if (value === null) { return; }\n * setState(value);\n * }}\n * />\n *\n */\n export const onChangeNumber = (value?: string | number | null): (null | number | string) => {\n let val = value;\n if (val === undefined || val === null) {\n val = '';\n }\n val = val + '';\n val = val.replaceAll(',', '');\n val = val.replaceAll(' ', '');\n\n const dotIndex = val.indexOf('.');\n const dotLastIndex = val.lastIndexOf('.');\n // if adding float num, then allow to add '.'\n const hasLastDot = dotIndex === val.length - 1;\n const hasFirstDot = dotIndex === 0;\n if ((hasLastDot || hasFirstDot) && dotLastIndex === dotIndex) {\n if (isNaN(+(val.replace('.', '')))) {\n return null;\n }\n return val;\n }\n\n // if adding minus num, then allow to add '-'\n const hasFirstdash = val.indexOf('-') === 0;\n if (hasFirstdash) {\n if (isNaN(+(val.replace('-', '')))) {\n return null;\n }\n return val;\n }\n\n val = +val;\n if (isNaN(val)) { return null; }\n return val;\n};\n\n// (+|-)100(px|em|rem|...) => px|em|rem|...\nexport const getUnit = (measurement: string|number) => {\n if (typeof measurement !== \"string\") {\n return \"px\";\n }\n const matchedMeasurement = measurement.match(/^([+-]?(?:\\d+|\\d*\\.\\d+))([a-z]*|%)$/);\n return matchedMeasurement ? matchedMeasurement[2] : \"px\";\n};\n\nexport const stripUnit = (measurement: string|number) =>\n (typeof measurement === \"number\") ? measurement : parseFloat(measurement);\n\nexport const parseMeasurement = (measurement: string|number) => stripUnit(measurement) + getUnit(measurement);\n","import { map, pick, keys, isUndefined } from 'lodash';\nimport styled, { css } from 'styled-components';\nimport { valIsValid } from '../utils';\n\nexport type SharedStyleTypes = {\n // [key: string]: any,\n pr?: boolean | number,\n pl?: boolean | number,\n pt?: boolean | number,\n pb?: boolean | number,\n px?: boolean | number,\n py?: boolean | number,\n mr?: boolean | number,\n ml?: boolean | number,\n mt?: boolean | number,\n mb?: boolean | number,\n mx?: boolean | number,\n my?: boolean | number,\n hidden?: boolean,\n block?: boolean,\n inline_block?: boolean,\n flex?: boolean,\n inline_flex?: boolean,\n grid?: boolean,\n custom?: string,\n bg?: string,\n float?: string,\n}\n\nexport const SharedStyles = css<SharedStyleTypes>`\n box-sizing: border-box;\n ${p => map(pick(p, keys(SHARED_STYLE_MAPS)), (v, k) => {\n return isUndefined(v) ? '' : SHARED_STYLE_MAPS[k](v);\n }).join('')}\n`;\n\nexport const SHARED_STYLE_MAPS: { [key: string]: Function } = {\n // Padding\n pr: (val?: string | number) => `padding-right: ${valIsValid(val) ? val : '5'}px;`,\n pl: (val?: string | number) => `padding-left: ${valIsValid(val) ? val : '5'}px;`,\n pt: (val?: string | number) => `padding-top: ${valIsValid(val) ? val : '5'}px;`,\n pb: (val?: string | number) => `padding-bottom: ${valIsValid(val) ? val : '5'}px;`,\n px: (val?: string | number) => `\n padding-left: ${valIsValid(val) ? val : '5'}px;\n padding-right: ${valIsValid(val) ? val : '5'}px;\n `,\n py: (val?: string | number) => `\n padding-top: ${valIsValid(val) ? val : '5'}px;\n padding-bottom: ${valIsValid(val) ? val : '5'}px;\n `,\n // Margin\n mr: (val?: string | number) => `margin-right: ${valIsValid(val) ? val : '5'}px;`,\n ml: (val?: string | number) => `margin-left: ${valIsValid(val) ? val : '5'}px;`,\n mt: (val?: string | number) => `margin-top: ${valIsValid(val) ? val : '5'}px;`,\n mb: (val?: string | number) => `margin-bottom: ${valIsValid(val) ? val : '5'}px;`,\n mx: (val?: string | number) => `\n margin-left: ${valIsValid(val) ? val : '5'}px;\n margin-right: ${valIsValid(val) ? val : '5'}px;\n `,\n my: (val?: string | number) => `\n margin-top: ${valIsValid(val) ? val : '5'}px;\n margin-bottom: ${valIsValid(val) ? val : '5'}px;\n `,\n // Background\n bg: (val: string) => `background: ${val};`,\n // Display\n hidden: () => `display: none;`,\n block: () => `display: block;`,\n inline_block: () => `display: inline-block;`,\n 'inline-block': () => `display: inline-block;`,\n inline: () => `display: inline;`,\n flex: () => `display: flex;`,\n 'inline-flex': () => `display: inline-flex;`,\n inline_flex: () => `display: inline-flex;`,\n grid: () => `display: grid;`,\n // Float\n float: (val: string) => `${val === 'clearfix' ? `\n &::after {\n content: \"\";\n display: table;\n clear: both;\n }` : `float: ${val}`};`, // left, right, none, clearfix\n // Position\n pos: (val: string) => `position: ${val}`,\n position: (val: string) => `position: ${val}`,\n // Overflow\n overflow: (val: string) => `overflow: ${val}`,\n // z-index\n z: (val: string | number) => `z-index: ${val}`,\n // Custom Styles\n custom: (val?: string) => `${val}`,\n};\n\nexport const Wrapper = styled.div`${SharedStyles}`;\n","\nexport const primary1 = {\n '10': '#F6FEFF',\n '20': '#E1F7FA',\n '30': '#A6F4FF',\n '40': '#5FE6FA',\n '50': '#28D5EE',\n '60': '#02C0DA',\n '65': '#00B1C8',\n '70': '#00A0B6',\n '75': '#008EA0',\n '80': '#00788A',\n '85': '#006672',\n '90': '#004D59',\n 'main': '',\n 'main-hover': '',\n 'mainHover': '',\n 'light': '',\n 'lightest': '',\n 'dark': '',\n 'dark-hover': '',\n 'darkHover': '',\n 'darkest': '',\n\n};\nprimary1['main'] = primary1['70'];\nprimary1['main-hover'] = primary1['75'];\nprimary1['lightest'] = primary1['10'];\nprimary1['light'] = primary1['30'];\nprimary1['dark'] = primary1['80'];\nprimary1['dark-hover'] = primary1['85'];\nprimary1['darkest'] = primary1['90'];\n\nprimary1.mainHover = primary1['main-hover'];\nprimary1.darkHover = primary1['dark-hover'];\n\n\nexport const teal = primary1;\n\nexport const primary2 = {\n main: '#FFFFFF',\n border: {\n main: '#0C5A88',\n },\n};\n\nexport const white = primary2;\n\nexport const secondary1 = {\n '10': '#FFEDF4',\n '20': '#FDC5DB',\n '30': '#FC9DC2',\n '40': '#F55393',\n '50': '#EB1D6E',\n '60': '#DB0057',\n '70': '#C4004E',\n '80': '#A70043',\n '90': '#870036',\n 'main': '',\n 'lightest': '',\n 'light': '',\n 'dark': '',\n 'darkest': '',\n};\nsecondary1['main'] = secondary1['60'];\nsecondary1['lightest'] = secondary1['10'];\nsecondary1['light'] = secondary1['30'];\nsecondary1['dark'] = secondary1['80'];\nsecondary1['darkest'] = secondary1['90'];\n\nexport const pink = secondary1;\n\nexport const secondary2 = {\n '10': '#FFFDF5',\n '20': '#FFF9C5',\n '30': '#FFF597',\n '40': '#FFE544',\n '50': '#FFD302',\n '60': '#E6BA00',\n '70': '#C69B00',\n '80': '#9E7800',\n '90': '#735400',\n 'main': '',\n 'lightest': '',\n 'light': '',\n 'dark': '',\n 'darkest': '',\n};\nsecondary2['main'] = secondary2['50'];\nsecondary2['lightest'] = secondary2['10'];\nsecondary2['light'] = secondary2['30'];\nsecondary2['dark'] = secondary2['70'];\nsecondary2['darkest'] = secondary2['90'];\n\nexport const yellow = secondary2;\n\nexport const secondary3 = {\n '10': '#F2FFF9',\n '20': '#C9FDE5',\n '30': '#A1FBD2',\n '40': '#59F3AE',\n '50': '#23E68E',\n '60': '#00D374',\n '70': '#00B966',\n '80': '#009853',\n '90': '#00733F',\n 'main': '',\n 'lightest': '',\n 'light': '',\n 'dark': '',\n 'darkest': '',\n};\nsecondary3['main'] = secondary3['60'];\nsecondary3['lightest'] = secondary3['10'];\nsecondary3['light'] = secondary3['30'];\nsecondary3['dark'] = secondary3['80'];\nsecondary3['darkest'] = secondary3['90'];\n\nexport const green = secondary3;\n\nexport const secondary4 = {\n '10': '#EDF4F7',\n '20': '#C6E8F7',\n '30': '#A1DAF4',\n '40': '#5BBDEC',\n '50': '#249AD4',\n '60': '#0F6EA6',\n '70': '#0C5A88',\n '80': '#05476E',\n '90': '#003C5E',\n 'main': '',\n 'lightest': '',\n 'light': '',\n 'dark': '',\n 'darkest': '',\n};\nsecondary4['main'] = secondary4['70'];\nsecondary4['lightest'] = secondary4['10'];\nsecondary4['light'] = secondary4['30'];\nsecondary4['dark'] = secondary4['80'];\nsecondary4['darkest'] = secondary4['90'];\n\nexport const navy = secondary4;\n\nexport const neutrals = {\n '10': '#FFFFFF',\n '20': '#EDF4F7',\n '30': '#E6EFF2',\n '40': '#DAE9EE',\n '50': '#D0D7DC',\n '60': '#B8C4CB',\n '70': '#899CA9',\n '80': '#597486',\n '90': '#2A4D63',\n '100': '#123952',\n 'main': '',\n 'darkest': '',\n 'dark': '',\n 'bodyText': '',\n 'bg1': '',\n 'white': '',\n};\nneutrals['main'] = neutrals['100'];\nneutrals['white'] = neutrals['10'];\nneutrals['bg1'] = neutrals['20'];\nneutrals['bodyText'] = neutrals['90'];\nneutrals['dark'] = neutrals['90'];\nneutrals['darkest'] = neutrals['100'];\n\nexport const errors = {\n '10': '#FFF2F3',\n '20': '#FDCACD',\n '30': '#FBA3A9',\n '40': '#F35C66',\n '50': '#E52633',\n '60': '#D10411',\n '70': '#B4000C',\n '80': '#8F000A',\n '90': '#660007',\n 'main': '',\n 'lightest': '',\n 'light': '',\n 'dark': '',\n 'darkest': '',\n};\nerrors['main'] = errors['50'];\nerrors['lightest'] = errors['10'];\nerrors['light'] = errors['30'];\nerrors['dark'] = errors['70'];\nerrors['darkest'] = errors['90'];\n\nconst colors = {\n primary1,\n secondary1,\n secondary2,\n secondary3,\n secondary4,\n\n teal: teal,\n pink: pink,\n yellow: yellow,\n green: green,\n navy: navy,\n\n neutrals,\n errors,\n orders: {\n 'OPPORTUNITY': {\n main: primary1['80'],\n },\n 'PRESENTATION': {\n main: primary1['70'],\n },\n 'ESTIMATE': {\n main: primary1['50'],\n },\n 'PRE-SALES': {\n main: primary1['60'],\n },\n 'SALES ORDER': {\n main: secondary2['50'],\n current: secondary2['50'],\n previous: neutrals['60']\n },\n 'INVOICE': {\n main: secondary3['60'],\n },\n 'TARGET': {\n main: secondary1['60'],\n },\n },\n notes: {\n main: secondary1['50'],\n },\n calls: {\n main: secondary4['40'],\n },\n meetings: {\n main: secondary4['80'],\n },\n left_nav: {\n main: primary1['70'],\n sub_menu: {\n bg: primary1['80'],\n link: {\n bg: primary1['90'],\n text: primary2.main,\n },\n },\n link: {\n text: primary2.main,\n },\n },\n text: {\n main: neutrals['90'],\n bold: neutrals['100'],\n body: neutrals['90'],\n title: neutrals['100'],\n label: neutrals['100'],\n placeholder: {\n default: neutrals['60'],\n hover: neutrals['70']\n }\n },\n white: '#fff',\n black: '#000',\n primary: '#02c0da',\n cta: '#fa237c',\n primary0: '#DAE9EE', // lighter\n primary10: '#C9E8F2', // light\n primary100: '#00889B', // dark\n disabledButton: '#DAE9EE',\n disabledButtonBorder: '#C9E8F2',\n texttitle: '#123952', // a dark blue text\n textlabel: '#123952',\n textbody: '#52585C',\n textplaceholder: '#A4ABAE',\n bggray: '#EDF2F4',\n bgblue: '#ECF4F7',\n inputBorder: '#ABC7D1',\n special1: '#ffd302', // yellow\n special2: '#00d374', // green\n special3: '#ff297c', // red\n primaryBg: '#EAF2F6',\n special2Bg: '#E7FFE9',\n transparent: 'transparent',\n error: '#B21154',\n\n primary2: '#00A0B6',\n primary20: '#00788A',\n primary200: '#004D59',\n\n tableHeaderBg: '#F6FEFF',\n tableBorder: '#edf2f5',\n input: {\n background: '#fff',\n border: neutrals['60'],\n text: neutrals['90'],\n placeholder: neutrals['60'],\n active: {\n border: primary1['60'],\n text: neutrals['90'],\n },\n hover: {\n border: primary1['50'],\n placeholder: neutrals['70'],\n },\n error: {\n border: errors['main'],\n },\n disabled: {\n text: neutrals['70'],\n background: neutrals['40'],\n },\n iconWrapper: {\n background: neutrals['50'],\n active: {\n background: neutrals['20'],\n },\n hover: {\n background: primary1['20'],\n },\n disabled: {\n background: neutrals['50'],\n },\n },\n icon: {\n fill: '#fff',\n active: {\n fill: primary1['60'],\n },\n hover: {\n fill: primary1['50'],\n },\n disabled: {\n fill: '#fff',\n },\n },\n },\n select: {\n background: '#fff',\n border: neutrals['60'],\n text: neutrals['90'],\n placeholder: neutrals['60'],\n active: {\n border: primary1['60'],\n text: neutrals['90'],\n },\n hover: {\n border: primary1['50'],\n placeholder: neutrals['70'],\n },\n error: {\n border: errors['main'],\n },\n disabled: {\n background: neutrals['40'],\n border: neutrals['40'],\n },\n dropdownIcon: {\n color: primary1['60'],\n error: {\n color: errors['main'],\n },\n disabled: neutrals['60'],\n },\n clearIcon: {\n color: errors['60'],\n },\n },\n};\n\nexport default colors;\n","import styled, { css, CSSObject } from 'styled-components';\nimport { SharedStyles, SharedStyleTypes } from '../SharedStyles';\n\n\nexport const iconSize = {\n tiny: {\n width: 14,\n height: 14,\n viewBox: \"0 0 24 24\",\n },\n small: {\n width: 16,\n height: 16,\n viewBox: \"0 0 24 24\",\n },\n medium: {\n width: 24,\n height:24,\n viewBox: \"0 0 24 24\",\n },\n large: {\n width: 32,\n height:32,\n viewBox: \"0 0 24 24\",\n },\n huge: {\n width: 48,\n height:48,\n viewBox: \"0 0 24 24\",\n },\n default: {\n height: 24,\n width: 24,\n viewBox: \"0 0 24 24\",\n },\n // orderStageUnselected: {\n // width: 64,\n // height: 64,\n // viewBox: \"0 0 64 64\"\n // },\n // orderStageSelected: {\n // width: 72,\n // height: 72,\n // viewBox: \"0 0 80 80\"\n // }\n};\n\nexport type TIconSizeObj = typeof iconSize;\nexport type TIconSize = keyof typeof iconSize;\n\ntype BaseSVGIconProps = {\n size?: TIconSize;\n width?: string | number;\n height?: string | number;\n altText?: string;\n pointer?: boolean;\n iconSizes?: TIconSizeObj;\n disabled?: boolean;\n} & SharedStyleTypes;\n\nexport type SVGIconProps = React.SVGAttributes<SVGElement> & BaseSVGIconProps;\n\nconst SVG = styled.svg.attrs<BaseSVGIconProps>(p => {\n const iconSizes = p.iconSizes || iconSize;\n const size = p.size ? iconSizes[p.size] : null;\n if (size) {\n return {\n viewBox: size.viewBox,\n };\n }\n const defaultSize = iconSizes['default'];\n return {\n viewBox: p.viewBox || defaultSize.viewBox,\n };\n})<BaseSVGIconProps>(\n p => {\n return css`\n ${SharedStyles}\n `;\n },\n p => {\n const styles: CSSObject = {};\n const iconSizes = p.iconSizes || iconSize;\n let size = p.size ? iconSizes[p.size] : null;\n \n const defaultSize = iconSizes['default'];\n\n if(!size) {\n size = defaultSize;\n }\n \n styles['height'] = p.height !== undefined && p.height !== '' ? p.height : size.height;\n styles['width'] = p.width !== undefined && p.width !== '' ? p.width : size.width;\n styles['cursor'] = p.pointer ? 'pointer' : undefined; \n \n return styles;\n },\n);\n\nexport default SVG;\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype TableIconProps = SVGIconProps;\nexport default function TableIcon({\n color=teal.main,\n size=\"medium\",\n altText=\"Calculate\",\n ...props\n}: TableIconProps) {\n return <SVG size={size} aria-labelledby=\"TableIcon\" {...props}>\n <title id=\"TableIcon\" >{altText}</title>\n <path\n d=\"M19 7H9c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2V9c0-1.1-.9-2-2-2Zm0 3c0 .55-.45 1-1 1h-8c-.55 0-1-.45-1-1s.45-1 1-1h8c.55 0 1 .45 1 1Zm-6 5v-2h2v2h-2Zm2 2v2h-2v-2h2Zm-4-2H9v-2h2v2Zm6-2h2v2h-2v-2Zm-8 4h2v2H9v-2Zm8 2v-2h2v2h-2ZM6 17H5c-1.1 0-2-.9-2-2V5c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2v1h-2V5H5v10h1v2Z\"\n fill={color}\n />\n </SVG>\n}\n\n","import React from \"react\"\n\nconst BlankFile = ({color=\"#000000\"}: {color?:string}) => {\n return (\n <g>\n <path\n d=\"M36.884 1.171l14.632 14.631V54.79a5.913 5.913 0 01-5.914 5.913H7.43a5.914 5.914 0 01-5.914-5.913V7.085A5.914 5.914 0 017.43 1.171h29.454z\"\n fill=\"#fff\"\n stroke={color}\n strokeWidth={3}\n />\n <path d=\"M36.09.307v17.539h16.093L36.091.307z\" fill={color} />\n </g>\n )\n}\n\nexport const IconDoc = ({ext, ...props}: {[key: string]: any, ext?:string}) => {\n return (\n <svg\n viewBox=\"0 0 53 62\"\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeMiterlimit={1.5}\n {...props}\n >\n { ext === \"csv\" ?\n <g>\n <BlankFile color=\"#a4abae\"/>\n <path\n d=\"M20.276 47.653c-.208.24-.448.448-.72.624-.24.176-.528.32-.864.448a3.131 3.131 0 01-1.136.192c-.4 0-.768-.064-1.104-.208a2.7 2.7 0 01-.896-.576 2.65 2.65 0 01-.576-.848 2.68 2.68 0 010-2.144c.144-.336.336-.624.576-.864.24-.24.544-.416.896-.56a2.77 2.77 0 011.104-.208c.432 0 .8.064 1.12.192.32.128.592.272.832.432.256.192.48.4.688.64l2.16-2.32a6.047 6.047 0 00-1.2-1.088c-.416-.272-.928-.512-1.52-.736-.608-.224-1.328-.336-2.16-.336-.912 0-1.744.16-2.512.464a6.167 6.167 0 00-2.016 1.264 5.506 5.506 0 00-1.312 1.872 5.946 5.946 0 00-.464 2.32c0 .816.16 1.584.464 2.304a5.57 5.57 0 001.312 1.888c.56.528 1.232.96 2.016 1.264.768.304 1.6.464 2.512.464.816 0 1.536-.112 2.16-.336.624-.224 1.136-.464 1.552-.736.496-.32.912-.688 1.248-1.088l-2.16-2.32zM22.756 50.197c.352.368.768.704 1.232.992.384.24.864.448 1.472.656.592.192 1.264.288 2.032.288.72 0 1.36-.096 1.936-.288.56-.208 1.056-.48 1.456-.832.4-.336.704-.736.928-1.184a3.28 3.28 0 00.32-1.392c0-.592-.128-1.104-.384-1.504a3.788 3.788 0 00-.944-1.008 5.901 5.901 0 00-1.2-.672c-.432-.176-.848-.336-1.216-.48a5.077 5.077 0 01-.928-.432c-.256-.128-.384-.32-.384-.528 0-.08.032-.16.08-.24.048-.064.096-.128.176-.176.08-.048.176-.08.288-.112.112-.016.256-.032.432-.032a2.058 2.058 0 011.248.416c.16.112.304.24.432.384l2.08-2.16a4.323 4.323 0 00-1.008-.816c-.352-.208-.784-.384-1.296-.544-.528-.16-1.136-.24-1.856-.24-.72 0-1.344.096-1.904.272-.56.192-1.024.448-1.408.784a3.514 3.514 0 00-.88 1.136 2.987 2.987 0 00-.304 1.328c0 .592.128 1.104.384 1.504.24.4.56.736.928 1.008s.784.496 1.216.672c.432.176.832.336 1.2.48.368.144.688.288.944.432.24.144.368.32.368.528a.548.548 0 01-.064.288.532.532 0 01-.192.224 1.014 1.014 0 01-.352.144 1.555 1.555 0 01-.496.064c-.336 0-.624-.048-.896-.176a3.787 3.787 0 01-.72-.368 3.531 3.531 0 01-.624-.56l-2.096 2.144z\"\n fill=\"#52585c\"\n fillRule=\"nonzero\"\n />\n <path\n d=\"M39.077 51.813l3.84-11.2H39.06l-1.984 7.6h-.08l-1.984-7.6h-3.856l3.824 11.2h4.096z\"\n fill=\"#52585c\"\n fillRule=\"nonzero\"\n />\n <path\n d=\"M17.061 26.82c0-.828-.672-1.501-1.5-1.501h-7a1.501 1.501 0 000 3h7c.828 0 1.5-.672 1.5-1.5zM29.061 26.82c0-.828-.672-1.501-1.5-1.501h-7a1.501 1.501 0 000 3h7c.828 0 1.5-.672 1.5-1.5zM45.061 26.82c0-.828-.672-1.501-1.5-1.501h-11a1.501 1.501 0 000 3h11a1.5 1.5 0 001.5-1.5zM21.061 31.82c0-.828-.672-1.501-1.5-1.501h-11a1.501 1.501 0 000 3h11a1.5 1.5 0 001.5-1.5z\"\n fill=\"#a4abae\"\n />\n <path\n d=\"M32.062 31.82c0-.828-.672-1.501-1.5-1.501h-6a1.501 1.501 0 000 3h6c.828 0 1.5-.672 1.5-1.5z\"\n fill=\"#a4abae\"\n />\n <path\n d=\"M44.061 31.82c0-.828-.672-1.501-1.5-1.501h-7a1.501 1.501 0 000 3h7c.828 0 1.5-.672 1.5-1.5z\"\n fill=\"#a4abae\"\n />\n </g>\n : ext === \"doc\" || ext === \"docx\" ?\n <g>\n <BlankFile color=\"#bedbe5\"/>\n <path\n d=\"M8.892 51.813h4.48c.88 0 1.68-.144 2.416-.448a6.234 6.234 0 001.92-1.216 5.445 5.445 0 001.728-3.936c0-.752-.16-1.472-.464-2.16a5.688 5.688 0 00-1.264-1.792 6.506 6.506 0 00-1.92-1.2c-.736-.304-1.536-.448-2.416-.448h-4.48v11.2zm3.584-3.04v-5.12h.816c.368 0 .72.064 1.04.176.304.128.576.304.8.528.224.224.4.496.528.8.112.32.176.672.176 1.056 0 .368-.064.72-.192 1.024-.128.32-.304.592-.512.816a2.49 2.49 0 01-.8.528c-.32.128-.672.192-1.04.192h-.816zM26.573 52.133c.912 0 1.76-.16 2.528-.464a6.264 6.264 0 002-1.264 6.057 6.057 0 001.312-1.888c.304-.72.464-1.488.464-2.304 0-.816-.16-1.6-.464-2.32a5.987 5.987 0 00-1.312-1.872 6.264 6.264 0 00-2-1.264 6.832 6.832 0 00-2.528-.464c-.912 0-1.76.16-2.528.464a6.167 6.167 0 00-2.016 1.264 5.506 5.506 0 00-1.312 1.872 5.946 5.946 0 00-.464 2.32c0 .816.16 1.584.464 2.304a5.57 5.57 0 001.312 1.888c.56.528 1.232.96 2.016 1.264a6.832 6.832 0 002.528.464zm-.016-3.216c-.368 0-.72-.064-1.056-.208a2.724 2.724 0 01-.864-.576 2.65 2.65 0 01-.576-.848 2.68 2.68 0 01-.224-1.072c0-.384.064-.736.208-1.072a2.84 2.84 0 01.576-.848c.24-.24.528-.432.864-.576a2.669 2.669 0 011.072-.208c.384 0 .736.064 1.072.208.336.144.624.32.864.56.24.24.432.528.576.864.144.336.208.688.208 1.072 0 .384-.064.736-.208 1.072a2.724 2.724 0 01-.576.864c-.24.24-.528.432-.864.56a2.669 2.669 0 01-1.072.208zM42.797 47.653c-.208.24-.448.448-.72.624-.24.176-.528.32-.864.448a3.131 3.131 0 01-1.136.192c-.4 0-.768-.064-1.104-.208a2.7 2.7 0 01-.896-.576 2.65 2.65 0 01-.576-.848 2.68 2.68 0 010-2.144c.144-.336.336-.624.576-.864.24-.24.544-.416.896-.56a2.77 2.77 0 011.104-.208c.432 0 .8.064 1.12.192.32.128.592.272.832.432.256.192.48.4.688.64l2.16-2.32a6.047 6.047 0 00-1.2-1.088c-.416-.272-.928-.512-1.52-.736-.608-.224-1.328-.336-2.16-.336-.912 0-1.744.16-2.512.464a6.167 6.167 0 00-2.016 1.264 5.506 5.506 0 00-1.312 1.872 5.946 5.946 0 00-.464 2.32c0 .816.16 1.584.464 2.304a5.57 5.57 0 001.312 1.888c.56.528 1.232.96 2.016 1.264.768.304 1.6.464 2.512.464.816 0 1.536-.112 2.16-.336.624-.224 1.136-.464 1.552-.736.496-.32.912-.688 1.248-1.088l-2.16-2.32z\"\n fill=\"#2276a7\"\n fillRule=\"nonzero\"\n />\n <path\n d=\"M46.364 26.82a1.5 1.5 0 00-1.5-1.501H8.563c-.828 0-1.5.673-1.5 1.5 0 .828.672 1.5 1.5 1.5h36.3a1.5 1.5 0 001.501-1.5z\"\n fill=\"#bedbe5\"\n />\n <path\n d=\"M34.061 31.82c0-.828-.672-1.501-1.5-1.501h-24a1.501 1.501 0 000 3h24c.828 0 1.5-.672 1.5-1.5z\"\n fill=\"#bedbe5\"\n />\n </g>\n : ext === \"ppt\" || ext === \"pptx\" ?\n <g>\n <BlankFile color=\"#db3d24\"/>\n <path\n d=\"M12.772 51.813h3.584v-3.04h1.68c.64 0 1.232-.096 1.76-.304a4.188 4.188 0 001.376-.864c.368-.368.672-.8.88-1.296.208-.496.304-1.04.304-1.632 0-.576-.096-1.12-.304-1.616s-.512-.912-.88-1.296c-.384-.368-.848-.64-1.376-.848-.528-.208-1.12-.304-1.76-.304h-5.264v11.2zm3.584-6.08v-2.08h1.296c.16 0 .304.032.448.08.128.048.24.128.336.224.08.096.16.208.224.336.048.128.08.256.08.4 0 .144-.032.272-.08.4-.064.128-.144.24-.224.336a.953.953 0 01-.336.224c-.144.048-.288.08-.448.08h-1.296zM23.172 51.813h3.584v-3.04h1.68c.64 0 1.232-.096 1.76-.304a4.188 4.188 0 001.376-.864c.368-.368.672-.8.88-1.296.208-.496.304-1.04.304-1.632 0-.576-.096-1.12-.304-1.616s-.512-.912-.88-1.296c-.384-.368-.848-.64-1.376-.848-.528-.208-1.12-.304-1.76-.304h-5.264v11.2zm3.584-6.08v-2.08h1.296c.16 0 .304.032.448.08.128.048.24.128.336.224.08.096.16.208.224.336.048.128.08.256.08.4 0 .144-.032.272-.08.4-.064.128-.144.24-.224.336a.953.953 0 01-.336.224c-.144.048-.288.08-.448.08h-1.296z\"\n fill=\"#db3d24\"\n fillRule=\"nonzero\"\n />\n <path\n d=\"M35.62 51.813h3.616v-7.92h2.976v-3.28h-9.536v3.28h2.944v7.92z\"\n fill=\"#db3d24\"\n fillRule=\"nonzero\"\n />\n </g>\n : ext === \"xls\" || ext === \"xlsx\" ?\n <g>\n <BlankFile color=\"#00d374\"/>\n <path\n d=\"M17.877 48.07l1.84 3.743h3.92l-3.44-5.84 3.12-5.36h-3.92l-1.52 3.264h-.08l-1.52-3.264h-3.92l3.104 5.36-3.424 5.84h3.92l1.84-3.744h.08zM23.812 51.813h8.24v-3.36h-4.656v-7.84h-3.584v11.2z\"\n fill=\"#00d374\"\n fillRule=\"nonzero\"\n />\n <path\n d=\"M31.716 50.197c.352.368.768.704 1.232.992.384.24.864.448 1.472.656.592.192 1.264.288 2.032.288.72 0 1.36-.096 1.936-.288.56-.208 1.056-.48 1.456-.832.4-.336.704-.736.928-1.184a3.28 3.28 0 00.32-1.392c0-.592-.128-1.104-.384-1.504a3.788 3.788 0 00-.944-1.008 5.901 5.901 0 00-1.2-.672c-.432-.176-.848-.336-1.216-.48a5.077 5.077 0 01-.928-.432c-.256-.128-.384-.32-.384-.528 0-.08.032-.16.08-.24.048-.064.096-.128.176-.176.08-.048.176-.08.288-.112.112-.016.256-.032.432-.032a2.058 2.058 0 011.248.416c.16.112.304.24.432.384l2.08-2.16a4.323 4.323 0 00-1.008-.816c-.352-.208-.784-.384-1.296-.544-.528-.16-1.136-.24-1.856-.24-.72 0-1.344.096-1.904.272-.56.192-1.024.448-1.408.784a3.514 3.514 0 00-.88 1.136 2.987 2.987 0 00-.304 1.328c0 .592.128 1.104.384 1.504.24.4.56.736.928 1.008s.784.496 1.216.672c.432.176.832.336 1.2.48.368.144.688.288.944.432.24.144.368.32.368.528a.548.548 0 01-.064.288.532.532 0 01-.192.224 1.014 1.014 0 01-.352.144 1.555 1.555 0 01-.496.064c-.336 0-.624-.048-.896-.176a3.787 3.787 0 01-.72-.368 3.531 3.531 0 01-.624-.56l-2.096 2.144z\"\n fill=\"#00d374\"\n fillRule=\"nonzero\"\n />\n <path\n fill=\"#00d374\"\n stroke=\"#00d374\"\n strokeWidth={3}\n d=\"M7.762 24.087h36.754v9.726H7.762z\"\n />\n <path\n d=\"M19.138 36.886c.828 0 1.5-.671 1.5-1.5v-14a1.501 1.501 0 00-3 0v14a1.5 1.5 0 001.5 1.5zM33.138 36.886c.828 0 1.5-.671 1.5-1.5v-14a1.501 1.501 0 00-3 0v14a1.5 1.5 0 001.5 1.5z\"\n fill=\"#fff\"\n />\n <path\n d=\"M3.825 28.95c0 .827.672 1.5 1.5 1.5h40a1.501 1.501 0 000-3h-40a1.5 1.5 0 00-1.5 1.5z\"\n fill=\"#fff\"\n />\n </g>\n :\n <BlankFile color=\"#a4abae\"/>\n }\n </svg>\n )\n}","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype CouponIconProps = SVGIconProps;\nexport default function CouponIcon({\n color=teal.main,\n size=\"medium\",\n altText=\"Coupon\",\n ...props\n}: CouponIconProps) {\n return <SVG size={size} aria-labelledby=\"CouponIcon\" {...props}>\n <title id=\"CouponIcon\" >{altText}</title>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M4 6a1 1 0 0 0-1 1v.468a4.5 4.5 0 0 1 0 8.064V16a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1V7a1 1 0 0 0-1-1H4Zm-3 8a2.5 2.5 0 0 0 0-5V7a3 3 0 0 1 3-3h16a3 3 0 0 1 3 3v9a3 3 0 0 1-3 3H4a3 3 0 0 1-3-3v-2Zm13 1 2.857-5 .65-1.138L18 8h-2l-2.857 5-.65 1.139L12 15h2Zm3-1.5a.5.5 0 1 1 1 0 .5.5 0 0 1-1 0Zm2 0a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0ZM12.5 9a.5.5 0 1 0 0 1 .5.5 0 0 0 0-1Zm0 2a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM9 8H8v1h1V8Zm-1 3h1v1H8v-1Zm1 3H8v1h1v-1Z\"\n fill={color}\n />\n </SVG>\n}\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { yellow } from '../colors';\n\ntype AwaitingProofIconProps = SVGIconProps;\nexport default function AwaitingProofIcon({\n color=yellow[60],\n size=\"medium\",\n altText=\"Awaiting Proof\",\n ...props\n}: AwaitingProofIconProps) {\n return <SVG size={size} aria-labelledby=\"AwaitingProofIcon\" {...props}>\n <title id=\"AwaitingProofIcon\" >{altText}</title>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M4.686 2.725A1 1 0 0 1 5.647 2h12.176a1 1 0 0 1 .946.675L22 12.09V20a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-7.883l2.686-9.392ZM6.4 4 4 12h5v3h6v-3h5l-2.89-8H6.4ZM20 14h-3v3H7v-3H4v6h16v-6Z\"\n fill={color}\n />\n </SVG>\n}\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype ProofReceivedIconProps = SVGIconProps;\nexport default function ProofReceivedIcon({\n color=teal[60],\n size=\"medium\",\n altText=\"Proof Received\",\n ...props\n}: ProofReceivedIconProps) {\n return <SVG size={size} aria-labelledby=\"ProofReceivedIcon\" {...props}>\n <title id=\"ProofReceivedIcon\" >{altText}</title>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M4 3a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v6.333l.445-.297A1 1 0 0 1 22 9.87V20a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9.869a1 1 0 0 1 1.555-.833L4 9.333V3Zm0 8.737V20h16v-8.263l-6.89 4.594a2 2 0 0 1-2.22 0L4 11.737Zm14-1.07V4H6v6.667l6 4 6-4Z\"\n fill={color}\n />\n </SVG>\n}\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype PendingApprovalIconProps = SVGIconProps;\nexport default function PendingApprovalIcon({\n color=teal[60],\n size=\"medium\",\n altText=\"Pending Approval\",\n ...props\n}: PendingApprovalIconProps) {\n return <SVG size={size} aria-labelledby=\"PendingApprovalIcon\" {...props}>\n <title id=\"PendingApprovalIcon\" >{altText}</title>\n <path\n d=\"M4 17.17 5.17 16H20V4H4v13.17ZM4 2h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H6l-4 4V4c0-1.1.9-2 2-2Z\"\n fill={color}\n />\n <circle cx={7} cy={10} r={1} fill={color} />\n <circle cx={12} cy={10} r={1} fill={color} />\n <circle cx={17} cy={10} r={1} fill={color} />\n </SVG>\n}\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { pink } from '../colors';\n\ntype ChangeRequestedIconProps = SVGIconProps;\nexport default function ChangeRequestedIcon({\n color=pink.main,\n size=\"medium\",\n altText=\"Change Requested\",\n ...props\n}: ChangeRequestedIconProps) {\n return <SVG size={size} aria-labelledby=\"ChangeRequestedIcon\" {...props}>\n <title id=\"ChangeRequestedIcon\" >{altText}</title>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M10.593 12 3.39 4.797 3.292 4.7A.995.995 0 0 1 4.699 3.29l.099.099L12 10.592l7.203-7.202.098-.099A.995.995 0 1 1 20.71 4.7l-.099.098L13.408 12l7.202 7.203.099.098A.995.995 0 0 1 19.3 20.71l-.098-.099L12 13.407 4.797 20.61l-.098.099A.995.995 0 1 1 3.29 19.3l.099-.098L10.593 12Z\"\n fill={color}\n />\n </SVG>\n}\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype ClientApprovedIconProps = SVGIconProps;\nexport default function ClientApprovedIcon({\n color=teal[60],\n size=\"medium\",\n altText=\"Client Approved\",\n ...props\n}: ClientApprovedIconProps) {\n return <SVG size={size} aria-labelledby=\"ClientApprovedIcon\" {...props}>\n <title id=\"ClientApprovedIcon\" >{altText}</title>\n <path\n d=\"m13.11 6.72-.57 2.89c-.12.59.04 1.2.42 1.66.38.46.94.73 1.54.73H20v1.08L17.43 19H9.34a.35.35 0 0 1-.34-.34v-7.84l4.11-4.1ZM14 3 7.59 9.41c-.38.38-.59.89-.59 1.42v7.83C7 19.95 8.05 21 9.34 21h8.1c.71 0 1.36-.37 1.72-.97l2.67-6.15c.11-.25.17-.52.17-.8V12c0-1.1-.9-2-2-2h-5.5l.92-4.65c.05-.22.02-.46-.08-.66a4.8 4.8 0 0 0-.88-1.22L14 3ZM4 10H2v11h2c.55 0 1-.45 1-1v-9c0-.55-.45-1-1-1Z\"\n fill={color}\n />\n </SVG>\n}\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { green } from '../colors';\n\ntype ProofingCompleteIconProps = SVGIconProps;\nexport default function ProofingCompleteIcon({\n color=green.main,\n size=\"medium\",\n altText=\"Proofing Complete\",\n ...props\n}: ProofingCompleteIconProps) {\n return <SVG size={size} aria-labelledby=\"ProofingCompleteIcon\" {...props}>\n <title id=\"ProofingCompleteIcon\" >{altText}</title>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M17.322 5.712a.983.983 0 0 1 0 1.378L6.588 18l-3.91-3.974a.983.983 0 0 1 1.401-1.378l2.51 2.55 9.332-9.486a.983.983 0 0 1 1.401 0ZM21.338 10.714a.972.972 0 0 1 0 1.358L15.56 18l-2.898-2.973a.973.973 0 0 1 1.393-1.357l1.505 1.544 4.386-4.5a.973.973 0 0 1 1.392 0Z\"\n fill={color}\n />\n </SVG>\n}\n","import React from \"react\"\n\nexport function ChatIcon({\n color=\"#000000\", \n width, \n mr,\n mt,\n notifs\n}: React.PropsWithChildren<{\n color?:string, \n width?:string, \n mr?:number,\n mt?:number,\n notifs?:number\n}>) {\n return (\n <svg\n viewBox=\"0 0 23 24\"\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n strokeLinejoin=\"round\"\n strokeMiterlimit={2}\n width={width}\n style={{display:\"inline-block\", verticalAlign: \"top\", marginRight: mr, marginTop: mt }}\n >\n <path fill=\"none\" d=\"M0 0h22.964v23.004H0z\" />\n <path\n d=\"M22.541 8.754c0-4.643-3.77-8.41-8.41-8.41H8.573c-4.64 0-8.41 3.767-8.41 8.41a8.41 8.41 0 005.449 7.869l-1.564 3.142a1.998 1.998 0 00.626 2.512 1.998 1.998 0 002.578-.206l4.907-4.914h1.972c4.64 0 8.41-3.767 8.41-8.403zm-12.59 4.958a2.02 2.02 0 00-1.378-.553 4.409 4.409 0 01-4.41-4.405 4.414 4.414 0 014.41-4.411h5.558a4.414 4.414 0 014.41 4.411 4.409 4.409 0 01-4.41 4.405H11.33c-.517 0-1.009.2-1.379.553z\"\n fill={color}\n />\n <path\n d=\"M20.538 8.7c0-3.503-2.872-6.35-6.407-6.35H8.573c-3.535 0-6.407 2.847-6.407 6.35 0 3.503 2.872 6.35 6.407 6.35l-2.731 5.443 5.488-5.444h2.8c3.536 0 6.408-2.846 6.408-6.349z\"\n fill=\"#fff\"\n />\n <text\n x={\"50%\"}\n y={\"42%\"}\n fontFamily=\"'Arial-BoldMT','Arial',sans-serif\"\n fontWeight={700}\n fontSize={notifs && notifs > 99 ? 8 : 11}\n fill={color}\n dominantBaseline=\"middle\"\n textAnchor=\"middle\"\n >\n {notifs ? (notifs > 99 ? \"99+\" : notifs) : \"\"}\n </text>\n </svg>\n\n\n )\n}\n\nexport default ChatIcon","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype ColumnSelectIconProps = SVGIconProps;\nexport default function ColumnSelectIcon({\n color=teal.main,\n size=\"medium\",\n altText=\"Select Columns\",\n ...props\n}: ColumnSelectIconProps) {\n return <SVG size={size} aria-labelledby=\"ColumnSelectIcon\" {...props}>\n <title id=\"ColumnSelectIcon\" >{altText}</title>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M9.325 20.959V3.09h11.131c.26 0 .47.21.47.47v16.929c0 .26-.21.47-.47.47H9.325Zm5.008-.94V6.654H9.638v13.365h4.695Zm5.653-13.365h-4.695v13.365h4.695V6.654ZM9.638 4.03v1.684h4.695V4.03H9.638Zm5.653 0v1.684h4.693V4.03h-4.693Z\"\n fill=\"#02C0DA\"\n />\n <path\n d=\"M9.167 3.565h-5.65v16.93h5.65V3.564Z\"\n fill=\"#E91B70\"\n fillOpacity={0.25}\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M3.01 6.368c-.023-.057 0-.119 0-.184V3.56c0-.26.21-.47.47-.47h6.156v17.874H3.518c-.26 0-.507-.21-.507-.47V6.368Zm5.687.286h-4.71v13.37h4.71V6.655Z\"\n fill=\"#E91B70\"\n />\n </SVG>\n}\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { white } from '../colors';\n\ntype NavConnectIconProps = SVGIconProps & {filled?: boolean};\nexport default function NavConnectIcon({\n color=white.main,\n size=\"medium\",\n filled=false,\n altText=\"Connect\",\n ...props\n}: NavConnectIconProps) {\n const renderPath = filled ? \"M16.67 13.13C18.04 14.06 19 15.32 19 17v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1v-2c0-2.18-3.57-3.47-6.33-3.87ZM15 12c2.21 0 4-1.79 4-4s-1.79-4-4-4c-.47 0-.91.1-1.33.24a5.98 5.98 0 0 1 0 7.52c.42.14.86.24 1.33.24ZM9 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4ZM9 13c-2.67 0-8 1.34-8 4v2a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1v-2c0-2.66-5.33-4-8-4Z\"\n : \n \"M16.67 13.13C18.04 14.06 19 15.32 19 17v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1v-2c0-2.18-3.57-3.47-6.33-3.87ZM15 12c2.21 0 4-1.79 4-4s-1.79-4-4-4c-.47 0-.91.1-1.33.24a5.98 5.98 0 0 1 0 7.52c.42.14.86.24 1.33.24ZM9 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4Zm0-6c1.1 0 2 .9 2 2s-.9 2-2 2-2-.9-2-2 .9-2 2-2ZM9 13c-2.67 0-8 1.34-8 4v2a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1v-2c0-2.66-5.33-4-8-4Zm6 5H3v-.99C3.2 16.29 6.3 15 9 15s5.8 1.29 6 2v1Z\"\n ;\n\n return <SVG size={size} aria-labelledby=\"NavConnectIcon\" {...props} >\n \n <title id=\"NavConnectIcon\" >{altText}</title>\n <path fill=\"none\" d=\"M0 0h24v24H0z\" />\n <path\n d={renderPath}\n fill={color}\n />\n </SVG>\n}\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { white } from '../colors';\n\ntype NavSalesIconProps = SVGIconProps & {filled?: boolean};\nexport default function NavSalesIcon({\n color=white.main,\n size=\"medium\",\n filled=false,\n altText=\"Sales\",\n ...props\n}: NavSalesIconProps) {\n const renderPath = filled ? \n <>\n <rect x={1} y={12} width={6} height={9} rx={1} fill={color} />\n <rect x={9} y={3} width={6} height={18} rx={1} fill={color} />\n <rect x={17} y={9} width={6} height={12} rx={1} fill={color} />\n </>\n : \n <>\n <mask id=\"nav-sales-icon-a\" fill=\"#fff\">\n <rect x={1} y={12} width={6} height={9} rx={1} />\n </mask>\n <rect\n x={1}\n y={12}\n width={6}\n height={9}\n rx={1}\n stroke={color}\n strokeWidth={4}\n mask=\"url(#nav-sales-icon-a)\"\n />\n <mask id=\"nav-sales-icon-b\" fill=\"#fff\">\n <rect x={9} y={3} width={6} height={18} rx={1} />\n </mask>\n <rect\n x={9}\n y={3}\n width={6}\n height={18}\n rx={1}\n stroke={color}\n strokeWidth={4}\n mask=\"url(#nav-sales-icon-b)\"\n />\n <mask id=\"nav-sales-icon-c\" fill=\"#fff\">\n <rect x={17} y={9} width={6} height={12} rx={1} />\n </mask>\n <rect\n x={17}\n y={9}\n width={6}\n height={12}\n rx={1}\n stroke={color}\n strokeWidth={4}\n mask=\"url(#nav-sales-icon-c)\"\n />\n </>\n ;\n\n return <SVG size={size} fill=\"none\" aria-labelledby=\"NavSalesIcon\" {...props} >\n \n <title id=\"NavSalesIcon\" >{altText}</title>\n {renderPath}\n </SVG>\n}\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { white } from '../colors';\n\ntype NavProdIconProps = SVGIconProps & {filled?: boolean};\nexport default function NavProdIcon({\n color=white.main,\n size=\"medium\",\n filled=false,\n altText=\"Production\",\n ...props\n}: NavProdIconProps) {\n const renderPath = filled ? <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M20 3H4c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2ZM9 17H6c-.55 0-1-.45-1-1s.45-1 1-1h3c.55 0 1 .45 1 1s-.45 1-1 1Zm0-4H6c-.55 0-1-.45-1-1s.45-1 1-1h3c.55 0 1 .45 1 1s-.45 1-1 1Zm0-4H6c-.55 0-1-.45-1-1s.45-1 1-1h3c.55 0 1 .45 1 1s-.45 1-1 1Zm9.7 2.12-3.17 3.17c-.39.39-1.03.39-1.42 0l-1.41-1.42a.996.996 0 1 1 1.41-1.41l.71.71 2.47-2.47a.996.996 0 0 1 1.41 0l.01.01c.38.39.38 1.03-.01 1.41Z\"\n fill={color}\n />\n : \n <>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M20 3H4c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2Zm0 16H4V5h16v14Z\"\n fill={color}\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M18.701 11.127a1.003 1.003 0 0 0-1.418-1.42L14.82 12.17l-.705-.71a.997.997 0 0 0-1.415 1.405L14.82 15l3.881-3.873Z\"\n fill={color}\n />\n <path\n d=\"M10 8a1 1 0 0 0-1-1H6a1 1 0 0 0 0 2h3a1 1 0 0 0 1-1ZM10 12a1 1 0 0 0-1-1H6a1 1 0 1 0 0 2h3a1 1 0 0 0 1-1ZM10 16a1 1 0 0 0-1-1H6a1 1 0 1 0 0 2h3a1 1 0 0 0 1-1Z\"\n fill={color}\n />\n </>\n ;\n\n return <SVG size={size} aria-labelledby=\"NavProdIcon\" {...props} >\n \n <title id=\"NavProdIcon\" >{altText}</title>\n {renderPath}\n </SVG>\n}\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { white } from '../colors';\n\ntype NavFinanceIconProps = SVGIconProps & {filled?: boolean};\nexport default function NavFinanceIcon({\n color=white.main,\n size=\"medium\",\n filled=false,\n altText=\"Finance\",\n ...props\n}: NavFinanceIconProps) {\n \n const renderPath = filled ? \"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2Zm1.41 16.09v.58c0 .73-.6 1.33-1.33 1.33h-.01c-.73 0-1.33-.6-1.33-1.33v-.6c-1.33-.28-2.51-1.01-3.01-2.24-.23-.55.2-1.16.8-1.16h.24c.37 0 .67.25.81.6.29.75 1.05 1.27 2.51 1.27 1.96 0 2.4-.98 2.4-1.59 0-.83-.44-1.61-2.67-2.14-2.48-.6-4.18-1.62-4.18-3.67 0-1.72 1.39-2.84 3.11-3.21v-.6c0-.73.6-1.33 1.33-1.33h.01c.73 0 1.33.6 1.33 1.33v.62c1.38.34 2.25 1.2 2.63 2.26.2.55-.22 1.13-.81 1.13h-.26c-.37 0-.67-.26-.77-.62-.23-.76-.86-1.25-2.12-1.25-1.5 0-2.4.68-2.4 1.64 0 .84.65 1.39 2.67 1.91s4.18 1.39 4.18 3.91c-.02 1.83-1.39 2.83-3.13 3.16Z\"\n : \n \"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2Zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8Zm.31-8.86c-1.77-.45-2.34-.94-2.34-1.67 0-.84.79-1.43 2.1-1.43.96 0 1.504.32 1.76.844.2.413.543.796 1.002.796.485 0 .885-.41.739-.873-.307-.975-1.083-1.786-2.341-2.097v-.545a1.165 1.165 0 0 0-2.33 0v.525c-1.51.32-2.72 1.3-2.72 2.81 0 1.79 1.49 2.69 3.66 3.21 1.95.46 2.34 1.15 2.34 1.87 0 .53-.39 1.39-2.1 1.39-1.126 0-1.772-.357-2.087-.889-.229-.387-.576-.751-1.026-.751-.503 0-.917.433-.745.906.416 1.142 1.469 1.814 2.678 2.064v.53a1.17 1.17 0 1 0 2.34 0v-.5c1.52-.29 2.72-1.16 2.73-2.77-.01-2.2-1.9-2.96-3.66-3.42Z\"\n ;\n\n return <SVG size={size} aria-labelledby=\"NavFinanceIcon\" {...props} >\n \n <title id=\"NavFinanceIcon\" >{altText}</title>\n <path fill=\"none\" d=\"M0 0h24v24H0z\" />\n <path\n d={renderPath}\n fill={color}\n />\n </SVG>\n}\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { white } from '../colors';\n\ntype NavResourcesIconProps = SVGIconProps & {filled?: boolean};\nexport default function NavResourcesIcon({\n color=white.main,\n size=\"medium\",\n filled=false,\n altText=\"Resources\",\n ...props\n}: NavResourcesIconProps) {\n const renderPath = filled ? \n \"M17.508 4c-1.951 0-4.052.409-5.503 1.532C10.555 4.409 8.453 4 6.502 4c-1.45 0-2.99.225-4.281.807A2.083 2.083 0 0 0 1 6.697v11.52c0 1.328 1.22 2.308 2.481 1.981.98-.255 2.021-.367 3.022-.367 1.56 0 3.221.265 4.562.94.6.306 1.28.306 1.87 0 1.341-.685 3.002-.94 4.562-.94 1.001 0 2.041.112 3.022.367 1.26.337 2.481-.643 2.481-1.981V6.697c0-.828-.49-1.553-1.22-1.89C20.498 4.225 18.957 4 17.506 4Zm3.501 13.002c0 .643-.58 1.113-1.2 1-.75-.143-1.531-.204-2.302-.204-1.7 0-4.151.664-5.502 1.532V7.575c1.35-.868 3.802-1.532 5.502-1.532.92 0 1.831.092 2.702.286.46.102.8.52.8 1v9.672Z\"\n : \n \"M23 6.696c0-.827-.49-1.552-1.22-1.89C20.498 4.226 18.957 4 17.506 4c-1.95 0-4.051.409-5.502 1.532C10.555 4.409 8.453 4 6.502 4c-1.45 0-2.99.225-4.281.807A2.083 2.083 0 0 0 1 6.697v11.52c0 1.328 1.22 2.308 2.481 1.981.98-.255 2.021-.367 3.022-.367 1.56 0 3.221.265 4.562.94.6.306 1.28.306 1.87 0 1.341-.685 3.002-.94 4.562-.94 1.001 0 2.041.112 3.022.367 1.26.337 2.481-.643 2.481-1.981V6.697Zm-11.995.625-.21-.162c-.945-.732-2.528-1.116-4.292-1.116-1.275 0-2.51.2-3.462.627a.106.106 0 0 0-.04.031v11.514a14.08 14.08 0 0 1 3.502-.427c1.43 0 3.03.196 4.502.74V7.322Zm2 11.2c1.477-.548 3.075-.733 4.492-.733 1.136 0 2.34.126 3.502.427V6.701a.107.107 0 0 0-.041-.032c-.939-.424-2.173-.626-3.45-.626-1.765 0-3.348.384-4.294 1.116l-.209.162v11.2Z\"\n ;\n\n return <SVG size={size} aria-labelledby=\"NavResourcesIcon\" {...props} >\n \n <title id=\"NavResourcesIcon\" >{altText}</title>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d={renderPath}\n fill={color}\n />\n </SVG>\n}\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { white } from '../colors';\n\ntype NavManagementIconProps = SVGIconProps & {filled?: boolean};\nexport default function NavManagementIcon({\n color=white.main,\n size=\"medium\",\n filled=false,\n altText=\"Management\",\n ...props\n}: NavManagementIconProps) {\n const renderPath = filled ? \n <>\n <path d=\"M16 12h2v2h-2v-2ZM16 16h2v2h-2v-2Z\" fill={color} /><path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M12 8V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V10a2 2 0 0 0-2-2h-8Zm0 2h8v10h-8v-2h2v-2h-2v-2h2v-2h-2v-2ZM8 6H6v2h2V6Zm-2 8h2v2H6v-2Zm2 4H6v2h2v-2Zm-2-8h2v2H6v-2Z\"\n fill={color} />\n </>\n : \n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M20 8a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h6a2 2 0 0 1 2 2v2h8ZM10 20H8v-2H6v2H4V6h2v2h2V6h2v14Zm2-4v-2h2v-2h-2v-2h8v10h-8v-2h2v-2h-2Zm-4-2v2H6v-2h2Zm0-4v2H6v-2h2Zm8 2v2h2v-2h-2Zm2 4v2h-2v-2h2Z\"\n fill={color}\n />\n ;\n\n return <SVG size={size} aria-labelledby=\"NavManagementIcon\" {...props} >\n \n <title id=\"NavManagementIcon\" >{altText}</title>\n {renderPath}\n </SVG>\n}\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype TrashIconProps = SVGIconProps & {filled?: boolean, pinned?: boolean;};\nexport default function TrashIcon({\n color=teal.main,\n size=\"medium\",\n filled=false,\n pinned,\n altText=\"Delete\",\n ...props\n}: TrashIconProps) {\n const renderPath = filled ? \"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12ZM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4Z\"\n : \n \"M16 9v10H8V9h8Zm-1.5-6h-5l-1 1H5v2h14V4h-3.5l-1-1ZM18 7H6v12c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7Z\";\n\n return <SVG size={size} aria-labelledby=\"TrashIcon\" {...props} >\n \n <title id=\"TrashIcon\" >{altText}</title>\n <path fill=\"none\" d=\"M0 0h24v24H0z\" />\n <path\n d={renderPath}\n fill={color}\n />\n </SVG>\n}\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype PinIconProps = SVGIconProps & {filled?: boolean, pinned?: boolean; unpin?: boolean;};\nexport default function PinIcon({\n color=teal.main,\n size=\"medium\",\n filled=false,\n unpin=false,\n pinned,\n altText=\"Pin\",\n ...props\n}: PinIconProps) {\n \n\n let renderPath;\n \n if(unpin) {\n altText=\"Unpin\";\n renderPath = \n filled ? \n <>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"m21.313 2.658-1.288-1.53-2.038 1.714a.792.792 0 0 0-.002-.016L16.59 4h.02l-.61.514v-.018L5 13.75v.018L3 15.45l1.288 1.53L7.83 14h3.139v7l1 1 1-1v-7H19v-2c-1.66 0-3-1.34-3-3V7.127l5.313-4.469ZM7 2h8.86L8 8.613V4H7c-.55 0-1-.45-1-1s.45-1 1-1Z\"\n fill={color}\n />\n </> \n : \n <>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"m21.313 2.658-1.288-1.53-2.038 1.714a.792.792 0 0 0-.002-.016L16.59 4h.02l-.61.514v-.018L14 6.18v.017L9.966 9.59l.002-.02L5 13.75v.018L3 15.45l1.288 1.53L7.83 14h3.139v7l1 1 1-1v-7H19v-2c-1.66 0-3-1.34-3-3V7.127l5.313-4.469ZM14 8.81 10.208 12H15c-.63-.84-1-1.88-1-3v-.19Z\"\n fill={color}\n />\n <path\n d=\"M7 2h8.86l-2.377 2H10v2.93L8 8.613V4H7c-.55 0-1-.45-1-1s.45-1 1-1Z\"\n fill={color}\n />\n </>\n ;\n } else {\n renderPath = \n filled ? \n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M16 9V4h1c.55 0 1-.45 1-1s-.45-1-1-1H7c-.55 0-1 .45-1 1s.45 1 1 1h1v5c0 1.66-1.34 3-3 3v2h5.97v7l1 1 1-1v-7H19v-2c-1.66 0-3-1.34-3-3Z\"\n fill={color}\n /> \n :\n <path\n d=\"M14 4v5c0 1.12.37 2.16 1 3H9c.65-.86 1-1.9 1-3V4h4Zm3-2H7c-.55 0-1 .45-1 1s.45 1 1 1h1v5c0 1.66-1.34 3-3 3v2h5.97v7l1 1 1-1v-7H19v-2c-1.66 0-3-1.34-3-3V4h1c.55 0 1-.45 1-1s-.45-1-1-1Z\"\n fill={color}\n />\n ;\n };\n\n\n return <SVG size={size} aria-labelledby=\"PinIcon\" {...props}>\n \n <title id=\"PinIcon\" >{altText}</title>\n {renderPath}\n </SVG>\n}\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype TaskIconProps = SVGIconProps;\nexport default function TaskIcon({\n color=teal.main,\n size=\"medium\",\n altText=\"Tasks\",\n ...props\n}: TaskIconProps) {\n return <SVG size={size} aria-labelledby=\"TaskIcon\" {...props}>\n <title id=\"TaskIcon\" >{altText}</title>\n <path\n d=\"M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6Zm4 18H6V4h7v5h5v11Zm-9.18-6.95L7.4 14.46 10.94 18l5.66-5.66-1.41-1.41-4.24 4.24-2.13-2.12Z\"\n fill={color}\n />\n </SVG>\n}\n\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype AddTaskIconProps = SVGIconProps;\nexport default function AddTaskIcon({\n color=teal.main,\n size=\"medium\",\n altText=\"Add Task\",\n ...props\n}: AddTaskIconProps) {\n return <SVG size={size} aria-labelledby=\"AddTaskIcon\" {...props}>\n <title id=\"AddTaskIcon\" >{altText}</title>\n <path\n d=\"M6 2h8l6 6v4h-2V9h-5V4H6v16h6v2H5.99C4.89 22 4 21.1 4 20l.01-16c0-1.1.89-2 1.99-2Zm1.4 12.46 1.42-1.41 2.13 2.12 4.24-4.24 1.41 1.41L10.94 18 7.4 14.46ZM18 16a1 1 0 1 1 2 0v2h2a1 1 0 1 1 0 2h-2v2a1 1 0 1 1-2 0v-2h-2a1 1 0 1 1 0-2h2v-2Z\"\n fill={color}\n />\n </SVG>\n}\n\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype NoteIconProps = SVGIconProps;\nexport default function NoteIcon({\n color=teal.main,\n size=\"medium\",\n altText=\"Notes\",\n ...props\n}: NoteIconProps) {\n return <SVG size={size} aria-labelledby=\"NoteIcon\" {...props}>\n <title id=\"NoteIcon\" >{altText}</title>\n <path\n d=\"M8 16h8v2H8v-2Zm0-4h8v2H8v-2Zm6-10H6c-1.1 0-2 .9-2 2v16c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6Zm4 18H6V4h7v5h5v11Z\"\n fill={color}\n />\n </SVG>\n}\n\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype AddNoteIconProps = SVGIconProps;\nexport default function AddNoteIcon({\n color=teal.main,\n size=\"medium\",\n altText=\"Add Note\",\n ...props\n}: AddNoteIconProps) {\n return <SVG size={size} aria-labelledby=\"AddNoteIcon\" {...props}>\n <title id=\"AddNoteIcon\" >{altText}</title>\n <path\n d=\"M6 2h8l6 6v4h-2V9h-5V4H6v16h6v2H5.99C4.89 22 4 21.1 4 20V4c0-1.1.9-2 2-2Zm2 10h8v2H8v-2Zm0 4h4v2H8v-2Zm10 0a1 1 0 1 1 2 0v2h2a1 1 0 1 1 0 2h-2v2a1 1 0 1 1-2 0v-2h-2a1 1 0 1 1 0-2h2v-2Z\"\n fill={color}\n />\n </SVG>\n}\n\n","import React from 'react';\nimport { teal } from '../colors';\nimport SVG, { SVGIconProps } from './SvgIcon';\n\ntype LockIconProps = SVGIconProps & {locked?: boolean};\nexport default function LockIcon({\n color=teal.main,\n size=\"medium\",\n locked=false,\n altText=\"Lock\",\n ...props\n}: LockIconProps) {\n\n locked ? altText=\"Unlock\" : altText=\"Lock\";\n\n const renderPath = React.useMemo(() => {\n if (locked === true) {\n return <path\n d=\"M18 8.5h-1v-2c0-2.76-2.24-5-5-5s-5 2.24-5 5v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2v-10c0-1.1-.9-2-2-2Zm-6 9c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2Zm3.1-9H8.9v-2c0-1.71 1.39-3.1 3.1-3.1 1.71 0 3.1 1.39 3.1 3.1v2Z\"\n fill={color}\n />\n }\n // default to unselected\n return <path\n d=\"M12 13.5c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2Zm6-5h-1v-2c0-2.76-2.24-5-5-5-2.28 0-4.27 1.54-4.84 3.75-.14.54.18 1.08.72 1.22a1 1 0 0 0 1.22-.72A2.996 2.996 0 0 1 12 3.5c1.65 0 3 1.35 3 3v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2v-10c0-1.1-.9-2-2-2Zm0 11c0 .55-.45 1-1 1H7c-.55 0-1-.45-1-1v-8c0-.55.45-1 1-1h10c.55 0 1 .45 1 1v8Z\"\n fill={color}/>\n }, [locked, color]);\n \n return <SVG size={size} aria-labelledby=\"LockIcon\" {...props}>\n <title id=\"LockIcon\">{altText}</title>\n <path fill=\"none\" d=\"M0 0h24v24H0z\" />\n {renderPath}\n </SVG>;\n\n}\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype InfoIconProps = SVGIconProps & {filled?: boolean, pinned?: boolean;};\nexport default function InfoIcon({\n color=teal.main,\n size=\"medium\",\n filled=false,\n pinned,\n altText=\"Information\",\n ...props\n}: InfoIconProps) {\n const renderPath = filled ? \"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2Zm1 15h-2v-6h2v6Zm0-8h-2V7h2v2Z\"\n : \n \"M11 7h2v2h-2V7Zm0 4h2v6h-2v-6Zm1-9C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2Zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8Z\"\n\n return <SVG size={size} aria-labelledby=\"InfoIcon\" {...props} >\n \n <title id=\"InfoIcon\" >{altText}</title>\n <path fill=\"none\" d=\"M0 0h24v24H0z\" />\n <path\n d={renderPath}\n fill={color}\n />\n </SVG>\n}\n\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype DownloadIconProps = SVGIconProps;\nexport default function DownloadIcon({\n color=teal.main,\n size=\"medium\",\n altText=\"Download\",\n ...props\n}: DownloadIconProps) {\n return <SVG size={size} aria-labelledby=\"DownloadIcon\" {...props}>\n <title id=\"DownloadIcon\" >{altText}</title>\n <path\n d=\"M18 15v3H6v-3H4v3c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2v-3h-2Zm-1-4-1.41-1.41L13 12.17V4h-2v8.17L8.41 9.59 7 11l5 5 5-5Z\"\n fill={color}\n />\n </SVG>\n}\n\n","import React from 'react';\nimport {errors, teal, green } from '../colors';\nimport SVG, { SVGIconProps } from './SvgIcon';\n\ntype MarketingStatusIconProps = SVGIconProps & {approved?: boolean};\nexport default function MarketingStatusIcon({\n color=teal.main,\n size=\"medium\",\n approved=false,\n altText=\"Marketing not allowed\",\n ...props\n}: MarketingStatusIconProps) {\n\n approved ? altText=\"Marketing allowed\" : altText=\"Marketing not allowed\";\n\n const finalPath = React.useMemo(() => {\n if (approved === true) {\n return <><path\n d=\"M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h8v-2H4V8l8 5 8-5v4h2V6c0-1.1-.9-2-2-2Zm-8 7L4 6h16l-8 5Z\"\n fill={color}\n />\n <path\n d=\"m17.04 21.07-2.835-2.835a.997.997 0 1 1 1.41-1.41l1.415 1.415 3.535-3.535a1.004 1.004 0 1 1 1.42 1.42L17.04 21.07Z\"\n fill={green.main}\n /></>\n }\n // default to unselected\n return <><path\n d=\"M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h9v-2H4V8l8 5 8-5v4h2V6c0-1.1-.9-2-2-2Zm-8 7L4 6h16l-8 5Z\"\n fill={color}\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M16.345 20.29a1.004 1.004 0 0 0 1.42 0l1.402-1.403 1.403 1.402a1.004 1.004 0 1 0 1.42-1.42l-1.403-1.402 1.398-1.398a1.004 1.004 0 1 0-1.42-1.42l-1.398 1.398-1.397-1.398a1.004 1.004 0 1 0-1.42 1.42l1.397 1.398-1.402 1.402a1.004 1.004 0 0 0 0 1.42Z\"\n fill={errors.main}\n /></>\n }, [approved, color]);\n \n return <SVG size={size} aria-labelledby=\"MarketingStatusIcon\" {...props}>\n <title id=\"MarketingStatusIcon\" >{altText}</title>\n <path fill=\"none\" d=\"M0 0h24v24H0z\" />\n {finalPath}\n </SVG>;\n\n}\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype GearIconProps = SVGIconProps & {filled?: boolean};\nexport default function GearIcon({\n color=teal.main,\n filled=false,\n size=\"medium\",\n altText=\"Settings\",\n ...props\n}: GearIconProps) {\n const renderPath = React.useMemo(() => {\n if (filled) {\n return \"M19.5 12c0-.23-.01-.45-.03-.68l1.86-1.41c.4-.3.51-.86.26-1.3l-1.87-3.23a.987.987 0 0 0-1.25-.42l-2.15.91c-.37-.26-.76-.49-1.17-.68l-.29-2.31c-.06-.5-.49-.88-.99-.88h-3.73c-.51 0-.94.38-1 .88l-.29 2.31c-.41.19-.8.42-1.17.68l-2.15-.91c-.46-.2-1-.02-1.25.42L2.41 8.62c-.25.44-.14.99.26 1.3l1.86 1.41a7.343 7.343 0 0 0 0 1.35l-1.86 1.41c-.4.3-.51.86-.26 1.3l1.87 3.23c.25.44.79.62 1.25.42l2.15-.91c.37.26.76.49 1.17.68l.29 2.31c.06.5.49.88.99.88h3.73c.5 0 .93-.38.99-.88l.29-2.31c.41-.19.8-.42 1.17-.68l2.15.91c.46.2 1 .02 1.25-.42l1.87-3.23c.25-.44.14-.99-.26-1.3l-1.86-1.41c.03-.23.04-.45.04-.68Zm-7.46 3.5c-1.93 0-3.5-1.57-3.5-3.5s1.57-3.5 3.5-3.5 3.5 1.57 3.5 3.5-1.57 3.5-3.5 3.5Z\";\n }\n return \"M19.432 12.98c.04-.32.07-.64.07-.98 0-.34-.03-.66-.07-.98l2.11-1.65c.19-.15.24-.42.12-.64l-2-3.46a.5.5 0 0 0-.61-.22l-2.49 1c-.52-.4-1.08-.73-1.69-.98l-.38-2.65a.488.488 0 0 0-.49-.42h-4c-.25 0-.46.18-.49.42l-.38 2.65c-.61.25-1.17.59-1.69.98l-2.49-1a.566.566 0 0 0-.18-.03c-.17 0-.34.09-.43.25l-2 3.46c-.13.22-.07.49.12.64l2.11 1.65c-.04.32-.07.65-.07.98 0 .33.03.66.07.98l-2.11 1.65c-.19.15-.24.42-.12.64l2 3.46a.5.5 0 0 0 .61.22l2.49-1c.52.4 1.08.73 1.69.98l.38 2.65c.03.24.24.42.49.42h4c.25 0 .46-.18.49-.42l.38-2.65c.61-.25 1.17-.59 1.69-.98l2.49 1c.06.02.12.03.18.03.17 0 .34-.09.43-.25l2-3.46c.12-.22.07-.49-.12-.64l-2.11-1.65Zm-1.98-1.71c.04.31.05.52.05.73 0 .21-.02.43-.05.73l-.14 1.13.89.7 1.08.84-.7 1.21-1.27-.51-1.04-.42-.9.68c-.43.32-.84.56-1.25.73l-1.06.43-.16 1.13-.2 1.35h-1.4l-.35-2.48-1.06-.43c-.43-.18-.83-.41-1.23-.71l-.91-.7-1.06.43-1.27.51-.7-1.21 1.08-.84.89-.7-.14-1.13c-.03-.31-.05-.54-.05-.74 0-.2.02-.43.05-.73l.14-1.13-.89-.7-1.08-.84.7-1.21 1.27.51 1.04.42.9-.68c.43-.32.84-.56 1.25-.73l1.06-.43.16-1.13.2-1.35h1.39l.35 2.48 1.06.43c.43.18.83.41 1.23.71l.91.7 1.06-.43 1.27-.51.7 1.21-1.07.85-.89.7.14 1.13ZM12.002 8c-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4Zm0 6c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2Z\";\n }, [filled]);\n\n return <SVG size={size} aria-labelledby=\"GearIcon\" {...props}>\n <title id=\"GearIcon\">{altText}</title>\n <path fill=\"none\" d=\"M0 0h24v24H0z\" />\n <path\n d={renderPath}\n fill={color}\n />\n </SVG>\n}\n","const datepickerStyles = `\n.commonsku-styles-datepicker {\n &.react-datepicker-wrapper {\n width: 100%;\n }\n\n .react-datepicker__input-container {\n display: block;\n width: 100%;\n }\n\n .react-datepicker {\n border: 1px solid var(--color-primary1-60);\n outline: none;\n box-shadow: 1px 1px 0px var(--color-primary1-60),\n -1px -1px 0px var(--color-primary1-60),\n 1px -1px 0px var(--color-primary1-60),\n -1px 1px 0px var(--color-primary1-60);\n }\n\n .react-datepicker__current-month,\n .react-datepicker-time__header,\n .react-datepicker-year-header,\n .react-datepicker__header {\n padding-top: 8px;\n padding-bottom: 8px;\n }\n\n .react-datepicker__header,\n .react-datepicker__today-button {\n background: var(--color-neutrals-20);\n padding-top: 8px;\n padding-bottom: 8px;\n }\n\n .react-datepicker__header {\n border-bottom: none;\n }\n\n .react-datepicker__today-button {\n border-top: none;\n }\n\n .react-datepicker__day {\n outline: none;\n }\n\n .react-datepicker__day :not(\n .react-datepicker__day--outside-month,\n .react-datepicker__day--selected\n ) {\n color: var(--color-neutrals-90);\n }\n\n .react-datepicker__day:hover :not(.react-datepicker__day--selected),\n .react-datepicker__month-text:hover,\n .react-datepicker__quarter-text:hover,\n .react-datepicker__year-text:hover {\n background-color: var(--color-neutrals-20);\n }\n\n .react-datepicker__day--outside-month {\n color: var(--color-neutrals-70);\n }\n\n .react-datepicker__day--weekend {\n color: var(--color-errors-main);\n }\n\n .react-datepicker__day--selected,\n .react-datepicker__day--keyboard-selected,\n .react-datepicker__month-text--keyboard-selected,\n .react-datepicker__quarter-text--keyboard-selected,\n .react-datepicker__year-text--keyboard-selected\n {\n background-color: var(--color-primary1-60);\n color: #fff;\n }\n\n .react-datepicker__triangle {\n border-bottom-color: var(--color-neutrals-20) !important;\n }\n\n .react-datepicker__triangle::before {\n border-bottom-color: var(--color-primary1-60) !important;\n border-top-color: var(--color-primary1-60) !important;\n }\n\n .react-datepicker__month-select,\n .react-datepicker__year-select {\n height: 30px;\n border: 2px solid var(--color-primary1-60);\n padding: 3px;\n border-radius: 5px;\n outline: none;\n }\n\n .react-datepicker__navigation {\n border: 0.45rem solid transparent;\n\n &.react-datepicker__navigation--next {\n border-left: 7px solid var(--color-primary1-60);\n margin-top: 8px;\n }\n \n &.react-datepicker__navigation--previous {\n border-right: 7px solid var(--color-primary1-60);\n margin-top: 8px;\n }\n }\n}\n`;\n\nexport default datepickerStyles;\n","import _ from 'lodash';\nimport { createGlobalStyle, CSSObject, DefaultTheme, ThemedStyledProps, ThemeProps } from 'styled-components';\nimport datepickerStyles from './datepickerStyles';\n\ntype ColorObj = {[key: string]: string | ColorObj};\nconst parseColorVars = (colors: ColorObj, prefix: string = ''): string => {\n return Object.keys(colors).map(k => {\n const v = colors[k];\n const key = (prefix ? `${prefix}-` : '') + k.replaceAll(' ', '_');\n\n if (typeof v === 'string') {\n return `\n --color-${key}: ${v};\n `;\n }\n\n return parseColorVars(v, key);\n }).join('\\n');\n};\n\nexport type AdditionalStyles = CSSObject | string\n | ((p: ThemeProps<DefaultTheme>) => CSSObject | string | undefined | null);\n\nfunction createFontStyles(p: ThemedStyledProps<{additionalStyles?: AdditionalStyles;}, DefaultTheme>) {\n const fontFamilies = _.get(p, ['theme', 'fontFamilies'], {});\n return Object.keys(fontFamilies).map(\n k => {\n if (Array.isArray(fontFamilies[k])) {\n return `\n --font-family-${k}: ${fontFamilies[k].join(',')};\n `;\n }\n return `\n --skufont-${k}: ${fontFamilies[k]};\n --font-family-${k}: ${[fontFamilies[k]].concat(fontFamilies['fallbacks']).join(',')};\n `;\n }\n ).join('');\n}\n\nconst GlobalStyle = createGlobalStyle<{ additionalStyles?: AdditionalStyles }>`\n:root {\n ${p => createFontStyles(p)}\n ${p => parseColorVars(_.get(p, ['theme', 'colors'], {}), '')}\n ${p => {\n if (!p.additionalStyles) { return null; }\n\n switch (typeof p.additionalStyles) {\n case 'function':\n return p.additionalStyles(p);\n case 'object':\n case 'string':\n return p.additionalStyles;\n default:\n return null;\n }\n }}\n}\n&&& {\n .commonsku-styles-select__input {\n input {\n height: auto;\n }\n }\n ${datepickerStyles}\n}\n`;\n\nexport default GlobalStyle;\n","import React from \"react\";\nimport { ThemeProvider } from \"styled-components\";\nimport GlobalStyle, { AdditionalStyles } from \"./globalStyles\";\nimport _ from 'lodash'\nimport colors from \"./colors\";\nimport { sizeMedia, sizeMediaWidth } from \"../utils\";\n\nexport {colors}; \n\n\nexport const fontFamilies = {\n skuFontRegular: \"'skufont-regular'\",\n skuFontDemibold: \"'skufont-demibold'\",\n skuFontBold: \"'skufont-demibold'\",\n skuFontMedium: \"'skufont-medium'\",\n regular: '',\n demibold: '',\n bold: '',\n medium: '',\n fallbacks: [\n '\"museo-sans\"',\n '\"Helvetica Neue\"',\n 'Helvetica',\n 'Roboto',\n 'Arial',\n 'sans-serif',\n ],\n}\nfontFamilies.regular = [fontFamilies.skuFontRegular, ...fontFamilies.fallbacks].join(',');\nfontFamilies.demibold = [fontFamilies.skuFontDemibold, ...fontFamilies.fallbacks].join(',');\nfontFamilies.bold = [fontFamilies.skuFontBold, ...fontFamilies.fallbacks].join(',');\nfontFamilies.medium = [fontFamilies.skuFontMedium, ...fontFamilies.fallbacks].join(',');\n\nexport const fonts = [fontFamilies.skuFontDemibold, ...fontFamilies.fallbacks];\n\nexport const fontStyles = {\n h1: {\n fontSize: '2rem',\n lineHeight: '3rem',\n fontFamily: fontFamilies.demibold\n },\n h2: {\n fontSize: '1.5rem',\n lineHeight: '2.5rem',\n fontFamily: fontFamilies.demibold\n },\n h3: {\n fontSize: '1.25rem',\n lineHeight: '2rem',\n fontFamily: fontFamilies.bold\n },\n h4: {\n fontSize: '1rem',\n lineHeight: '1.5rem',\n fontFamily: fontFamilies.bold\n },\n p: {\n large: {\n fontSize: '1.125rem',\n lineHeight: '1.75rem',\n fontFamily: fontFamilies.regular\n },\n medium: {\n fontSize: '1rem',\n lineHeight: '1.5rem',\n fontFamily: fontFamilies.regular\n },\n small: {\n fontSize: '0.875rem',\n lineHeight: '1.5rem', \n fontFamily: fontFamilies.regular\n }\n }, \n button: {\n huge: {\n fontSize: '1.125rem',\n lineHeight: '1.5rem',\n fontFamily: fontFamilies.demibold\n },\n large: {\n fontSize: '1rem',\n lineHeight: '1.5rem',\n fontFamily: fontFamilies.demibold\n },\n medium: {\n fontSize: '0.875rem',\n lineHeight: '1.5rem',\n fontFamily: fontFamilies.demibold\n },\n small: {\n fontSize: '0.75rem',\n lineHeight: '1rem',\n fontFamily: fontFamilies.demibold\n },\n tiny: {\n fontSize: '0.625rem',\n lineHeight: '1rem',\n fontFamily: fontFamilies.demibold\n }\n },\n label: {\n fontSize: '1rem',\n lineHeight: '1.5rem',\n fontFamily: fontFamilies.medium\n }\n};\n\nexport const themeOptions = {\n colors,\n fonts,\n fontFamily: `${fonts.join(\",\")}`,\n fontFamilies,\n fontStyles,\n space: {\n '0': '0px',\n '1': '8px',\n '2': '16px',\n '3': '24px',\n '4': '32px',\n '5': '40px',\n '6': '48px',\n '7': '56px',\n '8': '64px',\n '9': '72px',\n '10': '80px',\n },\n mediaQueries: {\n sizeMediaWidth: sizeMediaWidth,\n sizeMedia: sizeMedia,\n },\n}\n\nexport function getColor(color?: string, def?: string): string {\n if (!color) { return ''; }\n return _.get(colors, color, _.get(colors, def || '', def));\n}\n\nexport function getFontStyle(value?: string, def?: string): string {\n if (!value) { return ''; }\n return _.get(fontStyles, value, _.get(fontStyles, def || '', def));\n}\n\nexport function getThemeColor(props: {[key: string]: any}, color: string, fallbackColor?: string): string {\n return getThemeProperty(props, 'colors', color, fallbackColor);\n}\n\nexport function getThemeFontStyle(props: {[key: string]: any}, value: string, fallbackValue?: string): string {\n return getThemeProperty(props, 'fontStyles', value, fallbackValue);\n}\n\nexport function getThemeFontSize(props: {[key: string]: any}, value: string, fallbackValue?: string): string {\n return getThemeFontStyle(props, `${value}.fontSize`, fallbackValue);\n}\n\nexport function getThemeFontFamily(props: {[key: string]: any}, fallbackValue = \"\"): string {\n return getThemeProperty(props, 'fontFamily', fallbackValue);\n}\n\nexport function getThemeProperty(props: {[key: string]: any}, prop: string, value?: string, fallbackValue?: string): string {\n if (_.get(props, `theme.${prop}`, null)) {\n if (_.isObject(props.theme[prop]) && _.get(props.theme, `${prop}.${value}`, null)) {\n return _.get(props.theme, `${prop}.${value}`, null);\n } else {\n return props.theme[prop];\n }\n } else if (_.get(themeOptions, `${prop}.${value}`, null)) {\n return _.get(themeOptions, `${prop}.${value}`, null);\n }\n\n switch (prop) {\n case 'fontStyles':\n return getFontStyle(value, fallbackValue);\n case 'fontSizes':\n return getFontStyle(value, fallbackValue);\n case 'colors':\n return getColor(value, fallbackValue);\n case 'fontFamily':\n return _.get(\n themeOptions.fontFamilies,\n `${value}.fontFamily`,\n fallbackValue || themeOptions.fontFamily\n );\n default:\n return '';\n }\n}\n\n\nconst Theme = ({ theme={}, globalStyles=false, additionalGlobalStyles, children }: React.PropsWithChildren<{\n theme?: object,\n globalStyles?: boolean,\n additionalGlobalStyles?: AdditionalStyles,\n}>) => {\n const mergedTheme = _.merge(themeOptions, theme);\n return (\n <ThemeProvider theme={mergedTheme}>\n {globalStyles ? <GlobalStyle theme={mergedTheme} additionalStyles={additionalGlobalStyles} /> : null}\n {children}\n </ThemeProvider>\n );\n};\n\nexport default Theme;","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\nimport { colors } from '../Theme';\n\ntype CircleProgressIconProps = SVGIconProps & {\n sqSize?: number,\n strokeWidth?: number,\n percentage?: number,\n strokeColor?: string,\n textColor?: string,\n text?: string,\n viewBox?: string,\n textStyle?: React.CSSProperties,\n};\nexport default function CircleProgressIcon({\n sqSize,\n strokeWidth,\n percentage = 0,\n strokeColor = teal.main,\n textColor = teal.main,\n text = '',\n textStyle = {},\n color=teal.main,\n size=\"medium\",\n altText=\"Progress level\",\n ...props\n\n}: CircleProgressIconProps) {\n\n const iconSizes = {\n tiny: {\n width: 32,\n height: 32,\n viewBox: \"0 0 32 32\",\n },\n small: {\n width: 40,\n height: 40,\n viewBox: \"0 0 40 40\",\n },\n medium: {\n width: 48,\n height:48,\n viewBox: \"0 0 48 48\",\n },\n large: {\n width: 72,\n height: 72,\n viewBox: \"0 0 72 72\",\n },\n huge: {\n width: 96,\n height: 96,\n viewBox: \"0 0 96 96\",\n },\n default: {\n height: 48,\n width: 48,\n viewBox: \"0 0 48 48\",\n },\n };\n\n sqSize=iconSizes[size][\"width\"]\n strokeWidth = size === \"tiny\" || size === \"small\" ? 3 : 5;\n\n const radius = (sqSize - strokeWidth) / 2;\n // const viewBox = `0 0 ${sqSize} ${sqSize}`;\n const dashArray = radius * Math.PI * 2;\n const dashOffset = dashArray - dashArray * percentage / 100;\n\n return <SVG size={size} iconSizes={iconSizes} aria-labelledby=\"CircleProgressIcon\" {...props}>\n <title id=\"CircleProgressIcon\" >{ text !== '' ? `${text} stage` : percentage ? `${percentage}% completed` : altText}</title>\n <circle\n className=\"circle-background\"\n cx={sqSize / 2}\n cy={sqSize / 2}\n r={radius}\n strokeWidth={`${strokeWidth}px`}\n style={{ fill: 'none', stroke: colors.disabledButtonBorder, }}\n />\n <circle\n className=\"circle-progress\"\n cx={sqSize / 2}\n cy={sqSize / 2}\n r={radius}\n strokeWidth={`${strokeWidth}px`}\n transform={`rotate(-90 ${sqSize / 2} ${sqSize / 2})`}\n style={{\n strokeDasharray: dashArray,\n strokeDashoffset: dashOffset,\n fill: 'none',\n stroke: strokeColor,\n strokeLinecap: 'round',\n strokeLinejoin: 'round',\n }}\n />\n <text\n className=\"circle-text\"\n x=\"50%\"\n y=\"50%\"\n dy=\".3em\"\n textAnchor=\"middle\"\n style={{\n fontSize: size === \"small\" || size === \"tiny\" ? \".6em\" : size === \"medium\" ? \".8em\" : \"1em\",\n fontWeight: 'bold',\n fill: textColor,\n ...textStyle\n }}\n >{text || `${percentage}%`}</text>\n </SVG>\n}\n\n","import { SharedStyles, SharedStyleTypes } from '../SharedStyles'\nimport styled from \"styled-components\"\n\nconst SVG = styled.svg<SharedStyleTypes>`\n ${SharedStyles}\n`;\n\nexport default SVG;\n","import React from 'react';\nimport { generateColor } from \"../../utils\";\nimport { colors } from \"../Theme\";\nimport { SharedStyleTypes } from \"../SharedStyles\";\nimport SVG from \"./SVG\";\n\nfunction Loading({\n height = 50,\n width,\n animationDuration = 1000,\n barWidth = 14,\n barRadius = 2,\n colorful = false,\n bars = 4,\n viewBox = \"10 0 51 50\",\n rotate=false,\n startColor,\n endColor,\n ...props\n}: {\n height?: number,\n width?: number,\n animationDuration?: number,\n barWidth?: number,\n barRadius?: number,\n colorful?: boolean,\n bars?: number,\n viewBox?: string,\n startColor?: string,\n endColor?: string,\n rotate?: boolean,\n} & SharedStyleTypes) {\n const colorGradient = colorful\n ? generateColor(startColor || colors.special1, endColor || colors.primary, bars)\n : generateColor(startColor || colors.primary, endColor || colors.primary0, bars);\n\n const generateBar = (v: number) => {\n return (\n <rect\n key={`bar_${v}`}\n x={19 * v}\n y=\"0\"\n width={barWidth || 14}\n height={height}\n fill={`#${colorGradient[v]}`}\n rx={barRadius}\n >\n <animate\n attributeName=\"height\"\n values=\"50;10;50\"\n begin={`${v * 0.2}s`}\n dur={`${animationDuration / 1000}s`}\n repeatCount=\"indefinite\"\n />\n </rect>\n );\n };\n\n const generateBars = () => {\n const result = [] as any[];\n for (let i = 0; i < bars; i++) {\n result.push(generateBar(i));\n }\n return result;\n };\n\n return (\n <SVG\n width={width ? `${width}px` : \"100%\"}\n height={height ? `${height}px` : \"100%\"}\n viewBox={viewBox}\n transform=\"scale(1, -1) translate(0, -1)\"\n {...props}\n >{generateBars()}</SVG>\n );\n}\n\nexport default Loading;\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport {green, errors} from '../colors';\n\ntype SalesArrowIconDirection = 'up' | 'down';\n\ntype SalesArrowIconProps = SVGIconProps & {direction?: SalesArrowIconDirection};\nexport default function SalesArrowIcon({\n color=green.main,\n size=\"medium\",\n direction=\"up\",\n altText=\"Up\",\n ...props\n}: SalesArrowIconProps) {\n\n if(direction === \"down\") {\n color=errors.main;\n altText=\"Down\";\n } else {\n color = green.main;\n altText=\"Up\"\n }\n\n const renderPath = direction === \"up\" ? \"m12 4 9 15H3l9-15Z\" : \"M12 19 3 4h18l-9 15Z\" ;\n\n return <SVG size={size} aria-labelledby=\"SalesArrowIcon\" {...props}>\n <title id=\"SalesArrowIcon\" >{altText}</title>\n <path\n d={renderPath}\n fill={color}\n />\n </SVG>\n}\n\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { errors } from '../colors';\n\ntype AlertIconProps = SVGIconProps & {filled?: boolean;};\nexport default function AlertIcon({\n color=errors.main,\n size=\"medium\",\n filled=false,\n altText=\"Alert\",\n ...props\n}: AlertIconProps) {\n const renderPath = filled ? \"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2Zm0 11c-.55 0-1-.45-1-1V8c0-.55.45-1 1-1s1 .45 1 1v4c0 .55-.45 1-1 1Zm1 4h-2v-2h2v2Z\"\n : \n \"M12 7c.55 0 1 .45 1 1v4c0 .55-.45 1-1 1s-1-.45-1-1V8c0-.55.45-1 1-1Zm-.01-5C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2ZM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8Zm1-3h-2v-2h2v2Z\";\n\n return <SVG size={size} aria-labelledby=\"AlertIcon\" {...props}>\n <title id=\"AlertIcon\" >{altText}</title>\n <path fill=\"none\" d=\"M0 0h24v24H0z\" />\n <path\n d={renderPath}\n fill={color}\n />\n </SVG>\n}\n\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { green } from '../colors';\n\ntype AddIconProps = SVGIconProps;\nexport default function CompletedCheckmarkIcon({\n color=green.main,\n size=\"medium\",\n altText=\"Completed checkmark\",\n ...props\n}: AddIconProps) {\n return <SVG size={size} aria-labelledby=\"CompletedCheckmarkIcon\" {...props}>\n <title id=\"CompletedCheckmarkIcon\">{altText}</title>\n <path fill=\"none\" d=\"M0 0h24v24H0z\" />\n <path\n d=\"m21.284 5.89-10 10a.996.996 0 0 1-1.41 0l-2.83-2.83a.996.996 0 1 1 1.41-1.41l2.12 2.12 9.29-9.29a.996.996 0 0 1 1.41 0c.4.39.4 1.02.01 1.41Zm-5.52-3.15c-1.69-.69-3.61-.93-5.61-.57-4.07.73-7.32 4.01-8.01 8.08a10.009 10.009 0 0 0 11.19 11.66c3.96-.51 7.28-3.46 8.32-7.31.4-1.47.44-2.89.21-4.22-.13-.8-1.12-1.11-1.7-.54-.23.23-.33.57-.27.89.22 1.33.12 2.75-.52 4.26-1.16 2.71-3.68 4.7-6.61 4.97-5.1.47-9.33-3.85-8.7-8.98.43-3.54 3.28-6.42 6.81-6.91 1.73-.24 3.37.09 4.77.81a1.003 1.003 0 0 0 .93-1.78c-.27-.12-.54-.25-.81-.36Z\"\n fill={color}\n />\n </SVG>\n}\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype BulletIconProps = SVGIconProps;\nexport default function BulletIcon({\n color=teal.main,\n size=\"medium\",\n ...props\n}: BulletIconProps) {\n return <SVG size={size} {...props}>\n <circle cx={12} cy={12} r={7} fill={color} />\n </SVG>\n}\n\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport {teal} from '../colors';\n\ntype UsersIconProps = SVGIconProps;\nexport default function UsersIcon({\n color=teal.main,\n size=\"medium\",\n altText=\"Users\",\n ...props\n}: UsersIconProps) {\n return <SVG size={size} aria-labelledby=\"UsersIcon\" {...props}>\n <title id=\"UsersIcon\" >{altText}</title>\n <path fill=\"none\" d=\"M0 0h24v24H0z\" />\n <path\n d=\"M16.67 13.13C18.04 14.06 19 15.32 19 17v2a1 1 0 0 0 1 1h2a1 1 0 0 0 1-1v-2c0-2.18-3.57-3.47-6.33-3.87ZM15 12c2.21 0 4-1.79 4-4s-1.79-4-4-4c-.47 0-.91.1-1.33.24a5.98 5.98 0 0 1 0 7.52c.42.14.86.24 1.33.24ZM9 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4ZM9 13c-2.67 0-8 1.34-8 4v2a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1v-2c0-2.66-5.33-4-8-4Z\"\n fill={color}\n />\n </SVG>\n}","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype ReceiptLongIconProps = SVGIconProps;\nexport default function ReceiptLongIcon({\n color=teal.main,\n size=\"medium\",\n altText=\"POs\",\n ...props\n}: ReceiptLongIconProps) {\n return <SVG size={size} aria-labelledby=\"ReceiptLongIcon\" {...props}>\n <title id=\"ReceiptLongIcon\" >{altText}</title>\n <path\n d=\"M19.5 3.5 18 2l-1.5 1.5L15 2l-1.5 1.5L12 2l-1.5 1.5L9 2 7.5 3.5 6 2v14H3v3c0 1.66 1.34 3 3 3h12c1.66 0 3-1.34 3-3V2l-1.5 1.5ZM15 20H6c-.55 0-1-.45-1-1v-1h10v2Zm4-1c0 .55-.45 1-1 1s-1-.45-1-1v-3H8V5h11v14Z\"\n fill={color}\n />\n <path\n d=\"M15 7H9v2h6V7ZM18 7h-2v2h2V7ZM15 10H9v2h6v-2ZM18 10h-2v2h2v-2Z\"\n fill={color}\n />\n </SVG>\n}\n\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { primary1 } from '../colors';\n\ntype FolderIconProps = SVGIconProps;\nexport default function FolderIcon({\n color=primary1.main,\n size=\"medium\",\n ...props\n}: FolderIconProps) {\n return <SVG size={size} {...props}>\n <path fill=\"none\" d=\"M0 0h24v24H0z\" />\n <path\n d=\"m7.934 3 2.167 2.167h9.566V16H2.333V3h5.601Zm.9-2.167h-6.5A2.164 2.164 0 0 0 .176 3l-.01 13c0 1.192.975 2.167 2.166 2.167h17.334A2.173 2.173 0 0 0 21.833 16V5.167A2.173 2.173 0 0 0 19.667 3H11L8.833.833Z\"\n fill={color}\n />\n </SVG>\n}\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype CalendarIconProps = SVGIconProps;\nexport default function CalendarIcon({\n color=teal.main,\n size=\"medium\",\n altText=\"Date picker\",\n ...props\n}: CalendarIconProps) {\n return <SVG size={size} aria-labelledby=\"CalendarIcon\" {...props}>\n <title id=\"CalendarIcon\">{altText}</title>\n <path\n d=\"M19 4h-1V3c0-.55-.45-1-1-1s-1 .45-1 1v1H8V3c0-.55-.45-1-1-1s-1 .45-1 1v1H5c-1.11 0-1.99.9-1.99 2L3 20a2 2 0 0 0 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2Zm-1 16H6c-.55 0-1-.45-1-1V9h14v10c0 .55-.45 1-1 1ZM8 11h3c.55 0 1 .45 1 1v3c0 .55-.45 1-1 1H8c-.55 0-1-.45-1-1v-3c0-.55.45-1 1-1Z\"\n fill={color}\n />\n </SVG>\n}\n\n\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\n\ntype PromostandardsIconProps = SVGIconProps;\nexport default function PromostandardsIcon({\n size=\"medium\",\n altText=\"Promostandards\",\n ...props\n}: PromostandardsIconProps) {\n return <SVG size={size} aria-labelledby=\"PromostandardsIcon\" {...props}>\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M18.783 11.42h-4.67c-.104 0-.201 0-.284-.016a3.388 3.388 0 0 1-.538 1.699c.18.015.366.022.568.022h4.67c.314 0 .545.045.688.143.15.097.217.254.217.47 0 .225-.068.39-.217.487-.143.098-.374.142-.689.142h-6.487l-1.706 2.208h7.984c.65 0 1.212-.06 1.676-.195.464-.127.845-.307 1.145-.546.299-.24.516-.539.658-.89.135-.345.202-.741.202-1.175 0-.786-.277-1.377-.823-1.766-.546-.39-1.347-.584-2.394-.584Zm-8.38-2.043c.18-.412.448-.756.8-1.033.008 0 .008-.007.015-.007-.097-.038-.194-.068-.3-.105C10.404 8.075 9.805 8 9.139 8H3.751L2 10.23h7.385c.314 0 .576.052.778.157.03-.352.105-.689.24-1.01Z\"\n fill=\"#26387F\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M10.388 11.876a.325.325 0 0 1-.053.045c-.224.18-.546.269-.95.269H2v4.385h2.641v-2.193h4.482c.666 0 1.265-.075 1.788-.232.517-.15.958-.366 1.325-.636.037-.03.067-.06.104-.082.15-.127.285-.262.397-.404.127-.157.24-.33.322-.509.187-.389.284-.823.284-1.302-.09-.09-.135-.224-.135-.396 0-.12.015-.225.06-.3a.351.351 0 0 1 .165-.164.798.798 0 0 1 .277-.097c.112-.023.247-.03.404-.03h5.948L21.768 8h-7.445c-.65 0-1.212.06-1.676.187a4.555 4.555 0 0 0-.381.127 3.097 3.097 0 0 0-.756.412c-.3.232-.516.516-.659.845-.142.33-.209.689-.209 1.093 0 .127.008.247.022.366 0 .015.008.038.008.06 0 .038.007.075.007.112a.857.857 0 0 1-.291.674Z\"\n fill=\"#A1CAE8\"\n />\n </SVG>\n}\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype XIconProps = SVGIconProps;\nexport default function XIcon({\n color=teal.main,\n size=\"medium\",\n altText=\"X\",\n ...props\n}: XIconProps) {\n return <SVG size={size} aria-labelledby=\"XIcon\" {...props}>\n <title id=\"XIcon\" >{altText}</title>\n <path fill=\"none\" d=\"M0 0h24v24H0z\" />\n <path\n d=\"M18.3 5.71a.996.996 0 0 0-1.41 0L12 10.59 7.11 5.7A.996.996 0 1 0 5.7 7.11L10.59 12 5.7 16.89a.996.996 0 1 0 1.41 1.41L12 13.41l4.89 4.89a.996.996 0 1 0 1.41-1.41L13.41 12l4.89-4.89c.38-.38.38-1.02 0-1.4Z\"\n fill={color}\n />\n </SVG>\n}\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal, pink } from '../colors';\n\ntype IconVariants = 'primary' | 'cta';\n\ntype OpportunityCircleIconProps = SVGIconProps &{variant?: IconVariants, selected?: boolean};\nexport default function OpportunityCircleIcon({\n variant=\"primary\",\n selected=false,\n size,\n altText=\"Opportunity order stage\",\n style={},\n ...props\n}: OpportunityCircleIconProps) {\n\n const iconSizes = {\n tiny: {\n width: 24,\n height: 24,\n viewBox: \"0 0 72 72\",\n },\n small: {\n width: 40,\n height: 40,\n viewBox: \"0 0 72 72\",\n },\n medium: {\n width: 72,\n height:72,\n viewBox: \"0 0 72 72\",\n },\n large: {\n width: 96,\n height: 96,\n viewBox: \"0 0 72 72\",\n },\n huge: {\n width: 120,\n height: 120,\n viewBox: \"0 0 72 72\",\n },\n default: {\n height: 72,\n width: 72,\n viewBox: \"0 0 72 72\",\n },\n };\n\n const iconColors = React.useMemo(() => {\n if (variant === 'cta' && selected) {\n return {\n fill: 'none',\n stroke: pink.main,\n textColor: pink.main,\n };\n } else if (variant === 'primary' && selected) {\n return {\n fill: 'none',\n stroke: teal.main,\n textColor: teal.main,\n };\n } else if (variant === 'cta' && selected === false ) {\n return {\n fill: pink['20'],\n stroke: pink['30'],\n textColor: pink.main,\n };\n }\n return {\n fill: teal['20'],\n stroke: teal['30'],\n textColor: teal.main,\n };\n }, [variant, selected]);\n \n\n return <SVG \n fill=\"none\"\n style={style}\n {...props}\n size = {size}\n aria-labelledby=\"OpportunityCircleIcon\"\n iconSizes={iconSizes}\n >\n <title id=\"OpportunityCircleIcon\" >{altText}</title>\n {selected ? <>\n <path\n d=\"M28.334 35.1c0-1.96 1.47-3.43 3.43-3.43 1.96 0 3.43 1.47 3.43 3.43 0 1.96-1.47 3.43-3.43 3.43-1.96 0-3.43-1.47-3.43-3.43Zm-1.82 0c0 2.8 2.31 5.11 5.25 5.11s5.25-2.31 5.25-5.11c0-2.8-2.31-5.11-5.25-5.11s-5.25 2.31-5.25 5.11Zm12.175 7.84h1.61v-3.92h.07s.63 1.12 2.24 1.12c1.61 0 3.08-1.47 3.08-3.57 0-2.1-1.47-3.57-3.08-3.57s-2.24 1.12-2.24 1.12h-.07v-.98h-1.61v9.8Zm3.5-4.41c-1.05 0-1.89-.84-1.89-1.96s.84-1.96 1.89-1.96c1.05 0 1.89.84 1.89 1.96s-.84 1.96-1.89 1.96Z\"\n fill={iconColors.textColor}\n />\n <circle cx={36} cy={36} r={34} stroke={iconColors.stroke} strokeWidth={4} />\n </> : <>\n <circle cx={36} cy={36} r={32} fill={iconColors.fill} />\n <path\n d=\"M28.334 35.1c0-1.96 1.47-3.43 3.43-3.43 1.96 0 3.43 1.47 3.43 3.43 0 1.96-1.47 3.43-3.43 3.43-1.96 0-3.43-1.47-3.43-3.43Zm-1.82 0c0 2.8 2.31 5.11 5.25 5.11s5.25-2.31 5.25-5.11c0-2.8-2.31-5.11-5.25-5.11s-5.25 2.31-5.25 5.11Zm12.175 7.84h1.61v-3.92h.07s.63 1.12 2.24 1.12c1.61 0 3.08-1.47 3.08-3.57 0-2.1-1.47-3.57-3.08-3.57s-2.24 1.12-2.24 1.12h-.07v-.98h-1.61v9.8Zm3.5-4.41c-1.05 0-1.89-.84-1.89-1.96s.84-1.96 1.89-1.96c1.05 0 1.89.84 1.89 1.96s-.84 1.96-1.89 1.96Z\"\n fill={iconColors.textColor}\n />\n \n </>}\n </SVG>\n}","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal, pink } from '../colors';\n\ntype IconVariants = 'primary' | 'cta';\n\ntype PresentationCircleIconProps = SVGIconProps &{variant?: IconVariants, selected?: boolean};\nexport default function PresentationCircleIcon({\n variant=\"primary\",\n selected=false,\n size,\n altText=\"Presentation order stage\",\n style={},\n ...props\n}: PresentationCircleIconProps) {\n\n const iconSizes = {\n tiny: {\n width: 24,\n height: 24,\n viewBox: \"0 0 72 72\",\n },\n small: {\n width: 40,\n height: 40,\n viewBox: \"0 0 72 72\",\n },\n medium: {\n width: 72,\n height:72,\n viewBox: \"0 0 72 72\",\n },\n large: {\n width: 96,\n height: 96,\n viewBox: \"0 0 72 72\",\n },\n huge: {\n width: 120,\n height: 120,\n viewBox: \"0 0 72 72\",\n },\n default: {\n height: 72,\n width: 72,\n viewBox: \"0 0 72 72\",\n },\n };\n\n const iconColors = React.useMemo(() => {\n if (variant === 'cta' && selected) {\n return {\n fill: 'none',\n stroke: pink.main,\n textColor: pink.main,\n };\n } else if (variant === 'primary' && selected) {\n return {\n fill: 'none',\n stroke: teal.main,\n textColor: teal.main,\n };\n } else if (variant === 'cta' && selected === false ) {\n return {\n fill: pink['20'],\n stroke: pink['30'],\n textColor: pink.main,\n };\n }\n return {\n fill: teal['20'],\n stroke: teal['30'],\n textColor: teal.main,\n };\n }, [variant, selected]);\n \n\n return <SVG \n fill=\"none\"\n style={style}\n {...props}\n size = {size}\n aria-labelledby=\"PresentationCircleIcon\"\n iconSizes={iconSizes}\n >\n <title id=\"PresentationCircleIcon\">{altText}</title>\n {selected ? <>\n <circle cx={36} cy={36} r={34} stroke={iconColors.stroke} strokeWidth={4} />\n <path\n d=\"M36 10.262c0-2.354 1.917-4.293 4.247-3.96.804.115 1.602.263 2.393.442 2.296.521 3.394 3.017 2.553 5.216l-.121.317c-.774 2.023-3.041 2.997-5.172 2.603-2.13-.393-3.9-2.113-3.9-4.279v-.34ZM32.675 40h1.75v-3.36h2.31c1.96 0 3.36-1.4 3.36-3.22 0-1.82-1.4-3.22-3.36-3.22h-4.06V40Zm1.75-4.97v-3.22h2.24c.91 0 1.61.7 1.61 1.61 0 .91-.7 1.61-1.61 1.61h-2.24Z\"\n fill={iconColors.textColor}\n />\n </> \n : \n <> \n <circle cx={36} cy={36} r={32} fill={iconColors.fill} />\n <path\n d=\"M36 10.262c0-2.354 1.917-4.293 4.247-3.96.804.115 1.602.263 2.393.442 2.296.521 3.394 3.017 2.553 5.216l-.121.317c-.774 2.023-3.041 2.997-5.172 2.603-2.13-.393-3.9-2.113-3.9-4.279v-.34Z\"\n fill={iconColors.stroke}\n />\n <path\n d=\"M32.675 40h1.75v-3.36h2.31c1.96 0 3.36-1.4 3.36-3.22 0-1.82-1.4-3.22-3.36-3.22h-4.06V40Zm1.75-4.97v-3.22h2.24c.91 0 1.61.7 1.61 1.61 0 .91-.7 1.61-1.61 1.61h-2.24Z\"\n fill={iconColors.textColor}\n /> \n </>}\n </SVG>\n}","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal, pink } from '../colors';\n\ntype IconVariants = 'primary' | 'cta';\n\ntype EstimateCircleIconProps = SVGIconProps &{variant?: IconVariants, selected?: boolean};\nexport default function EstimateCircleIcon({\n variant=\"primary\",\n selected=false,\n size,\n altText=\"Estimate order stage\",\n style={},\n ...props\n}: EstimateCircleIconProps) {\n\n const iconSizes = {\n tiny: {\n width: 24,\n height: 24,\n viewBox: \"0 0 72 72\",\n },\n small: {\n width: 40,\n height: 40,\n viewBox: \"0 0 72 72\",\n },\n medium: {\n width: 72,\n height:72,\n viewBox: \"0 0 72 72\",\n },\n large: {\n width: 96,\n height: 96,\n viewBox: \"0 0 72 72\",\n },\n huge: {\n width: 120,\n height: 120,\n viewBox: \"0 0 72 72\",\n },\n default: {\n height: 72,\n width: 72,\n viewBox: \"0 0 72 72\",\n },\n };\n\n const iconColors = React.useMemo(() => {\n if (variant === 'cta' && selected) {\n return {\n fill: 'none',\n stroke: pink.main,\n textColor: pink.main,\n };\n } else if (variant === 'primary' && selected) {\n return {\n fill: 'none',\n stroke: teal.main,\n textColor: teal.main,\n };\n } else if (variant === 'cta' && selected === false ) {\n return {\n fill: pink['20'],\n stroke: pink['30'],\n textColor: pink.main,\n };\n }\n return {\n fill: teal['20'],\n stroke: teal['30'],\n textColor: teal.main,\n };\n }, [variant, selected]);\n \n\n return <SVG \n fill=\"none\"\n style={style}\n {...props}\n size = {size}\n aria-labelledby=\"EstimateCircleIcon\"\n iconSizes={iconSizes}\n >\n <title id=\"EstimateCircleIcon\">{altText}</title>\n {selected ? <>\n <path\n d=\"M36 10.262c0-2.354 1.917-4.293 4.247-3.96a30 30 0 0 1 25.45 25.45c.334 2.33-1.605 4.248-3.959 4.248-2.353 0-4.219-1.926-4.683-4.234a21.476 21.476 0 0 0-16.821-16.821C37.926 14.48 36 12.615 36 10.262Z\"\n fill={iconColors.stroke}\n />\n <circle cx={36} cy={36} r={34} stroke={iconColors.stroke} strokeWidth={4} />\n <path\n d=\"M32.743 40h7.21v-1.68h-5.46V35.8h4.2v-1.68h-4.2v-2.24h5.32V30.2h-7.07V40Z\"\n fill={iconColors.textColor}\n />\n </> : <>\n \n <circle cx={36} cy={36} r={32} fill={iconColors.fill} />\n <path\n d=\"M36 10.262c0-2.354 1.917-4.293 4.247-3.96a30 30 0 0 1 25.45 25.45c.334 2.33-1.605 4.248-3.959 4.248-2.353 0-4.219-1.926-4.683-4.234a21.476 21.476 0 0 0-16.821-16.821C37.926 14.48 36 12.615 36 10.262Z\"\n fill={iconColors.stroke}\n />\n <path\n d=\"M32.743 40h7.21v-1.68h-5.46V35.8h4.2v-1.68h-4.2v-2.24h5.32V30.2h-7.07V40Z\"\n fill={iconColors.textColor}\n />\n \n </>}\n </SVG>\n}","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal, pink } from '../colors';\n\ntype IconVariants = 'primary' | 'cta';\n\ntype SalesOrderCircleIconProps = SVGIconProps &{variant?: IconVariants, selected?: boolean};\nexport default function SalesOrderCircleIcon({\n variant=\"primary\",\n selected=false,\n size,\n altText=\"Sales Order stage\",\n style={},\n ...props\n}: SalesOrderCircleIconProps) {\n\n const iconSizes = {\n tiny: {\n width: 24,\n height: 24,\n viewBox: \"0 0 72 72\",\n },\n small: {\n width: 40,\n height: 40,\n viewBox: \"0 0 72 72\",\n },\n medium: {\n width: 72,\n height:72,\n viewBox: \"0 0 72 72\",\n },\n large: {\n width: 96,\n height: 96,\n viewBox: \"0 0 72 72\",\n },\n huge: {\n width: 120,\n height: 120,\n viewBox: \"0 0 72 72\",\n },\n default: {\n height: 72,\n width: 72,\n viewBox: \"0 0 72 72\",\n },\n };\n\n const iconColors = React.useMemo(() => {\n if (variant === 'cta' && selected) {\n return {\n fill: 'none',\n stroke: pink.main,\n textColor: pink.main,\n };\n } else if (variant === 'primary' && selected) {\n return {\n fill: 'none',\n stroke: teal.main,\n textColor: teal.main,\n };\n } else if (variant === 'cta' && selected === false ) {\n return {\n fill: pink['20'],\n stroke: pink['30'],\n textColor: pink.main,\n };\n }\n return {\n fill: teal['20'],\n stroke: teal['30'],\n textColor: teal.main,\n };\n }, [variant, selected]);\n \n\n return <SVG \n fill=\"none\"\n style={style}\n {...props}\n size = {size}\n aria-labelledby=\"SalesOrderCircleIcon\"\n iconSizes={iconSizes}\n >\n <title id=\"SalesOrderCircleIcon\" >{altText}</title>\n {selected ? <>\n <path\n d=\"M36 10.262c0-2.354 1.918-4.293 4.248-3.96a30 30 0 0 1 0 59.396c-2.33.333-4.248-1.606-4.248-3.96 0-2.353 1.926-4.219 4.234-4.683a21.477 21.477 0 0 0 0-42.11C37.926 14.48 36 12.615 36 10.262Z\"\n fill={iconColors.stroke}\n />\n <circle cx={36} cy={36} r={34} stroke={iconColors.stroke} strokeWidth={4} />\n <path\n d=\"M26.376 38.67s1.19 1.54 3.64 1.54c2.17 0 3.57-1.4 3.57-2.94 0-3.57-5.04-2.52-5.04-4.48 0-.63.56-1.19 1.61-1.19 1.26 0 1.96.91 1.96.91l1.19-1.19s-1.05-1.33-3.15-1.33c-2.1 0-3.43 1.33-3.43 2.8 0 3.57 5.04 2.52 5.04 4.48 0 .7-.63 1.33-1.75 1.33-1.61 0-2.45-1.12-2.45-1.12l-1.19 1.19ZM36.6 35.1c0-1.96 1.47-3.43 3.43-3.43 1.96 0 3.43 1.47 3.43 3.43 0 1.96-1.47 3.43-3.43 3.43-1.96 0-3.43-1.47-3.43-3.43Zm-1.82 0c0 2.8 2.31 5.11 5.25 5.11s5.25-2.31 5.25-5.11c0-2.8-2.31-5.11-5.25-5.11s-5.25 2.31-5.25 5.11Z\"\n fill={iconColors.textColor}\n />\n </> \n : \n <> \n <circle cx={36} cy={36} r={32} fill={iconColors.fill}/>\n <path\n d=\"M36 10.262c0-2.354 1.918-4.293 4.248-3.96a30 30 0 0 1 0 59.396c-2.33.333-4.248-1.606-4.248-3.96 0-2.353 1.926-4.219 4.234-4.683a21.477 21.477 0 0 0 0-42.11C37.926 14.48 36 12.615 36 10.262Z\"\n fill={iconColors.stroke}\n />\n <path\n d=\"M26.376 38.67s1.19 1.54 3.64 1.54c2.17 0 3.57-1.4 3.57-2.94 0-3.57-5.04-2.52-5.04-4.48 0-.63.56-1.19 1.61-1.19 1.26 0 1.96.91 1.96.91l1.19-1.19s-1.05-1.33-3.15-1.33c-2.1 0-3.43 1.33-3.43 2.8 0 3.57 5.04 2.52 5.04 4.48 0 .7-.63 1.33-1.75 1.33-1.61 0-2.45-1.12-2.45-1.12l-1.19 1.19ZM36.6 35.1c0-1.96 1.47-3.43 3.43-3.43 1.96 0 3.43 1.47 3.43 3.43 0 1.96-1.47 3.43-3.43 3.43-1.96 0-3.43-1.47-3.43-3.43Zm-1.82 0c0 2.8 2.31 5.11 5.25 5.11s5.25-2.31 5.25-5.11c0-2.8-2.31-5.11-5.25-5.11s-5.25 2.31-5.25 5.11Z\"\n fill={iconColors.textColor}\n /> \n </>}\n </SVG>\n}","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype DollarIconProps = SVGIconProps;\nexport default function DollarIcon({\n color=teal.main,\n size=\"medium\",\n altText=\"Dollar amount\",\n ...props\n}: DollarIconProps) {\n return <SVG size={size} aria-labelledby=\"DollarIcon\" {...props}>\n <title id=\"DollarIcon\">{altText}</title>\n <path fill=\"none\" d=\"M0 0h24v24H0z\" />\n <path\n d=\"M12.3 10.9c-2.27-.59-3-1.2-3-2.15 0-1.09 1.01-1.85 2.7-1.85 1.42 0 2.13.54 2.39 1.4.12.4.45.7.87.7h.3c.66 0 1.13-.65.9-1.27-.42-1.18-1.4-2.16-2.96-2.54V4.5c0-.83-.67-1.5-1.5-1.5s-1.5.67-1.5 1.5v.66C8.56 5.58 7 6.84 7 8.77c0 2.31 1.91 3.46 4.7 4.13 2.5.6 3 1.48 3 2.41 0 .69-.49 1.79-2.7 1.79-1.65 0-2.5-.59-2.83-1.43-.15-.39-.49-.67-.9-.67h-.28c-.67 0-1.14.68-.89 1.3.57 1.39 1.9 2.21 3.4 2.53v.67c0 .83.67 1.5 1.5 1.5s1.5-.67 1.5-1.5v-.65c1.95-.37 3.5-1.5 3.5-3.55 0-2.84-2.43-3.81-4.7-4.4Z\"\n fill={color}\n />\n </SVG>\n}\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype BotIconProps = SVGIconProps;\nexport default function BotIcon({\n color=teal.main,\n size=\"medium\",\n altText=\"Smart Gallery\",\n ...props\n}: BotIconProps) {\n return <SVG size={size} aria-labelledby=\"BotIcon\" {...props}>\n <title id=\"BotIcon\">{altText}</title>\n <path fill=\"none\" d=\"M0 0h24v24H0z\" />\n <path\n d=\"M20 9.5v-2c0-1.1-.9-2-2-2h-3c0-1.66-1.34-3-3-3s-3 1.34-3 3H6c-1.1 0-2 .9-2 2v2c-1.66 0-3 1.34-3 3s1.34 3 3 3v4c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2v-4c1.66 0 3-1.34 3-3s-1.34-3-3-3Zm-2 10H6v-12h12v12Zm-9-6c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5Zm7.5-1.5c0 .83-.67 1.5-1.5 1.5s-1.5-.67-1.5-1.5.67-1.5 1.5-1.5 1.5.67 1.5 1.5ZM8 15.5h8v2H8v-2Z\"\n fill={color}\n />\n </SVG>\n}\n\n\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype GalleryIconProps = SVGIconProps;\nexport default function GalleryIcon({\n color=teal.main,\n size=\"medium\",\n altText=\"Gallery\",\n ...props\n}: GalleryIconProps) {\n return <SVG size={size} aria-labelledby=\"GalleryIcon\" {...props}>\n <title id=\"GalleryIcon\" >{altText}</title>\n <path fill=\"none\" d=\"M0 0h24v24H0z\" />\n <path\n d=\"M20 4v12H8V4h12Zm0-2H8c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2Zm-8.5 9.67 1.69 2.26 2.48-3.1L19 15H9l2.5-3.33ZM2 6v14c0 1.1.9 2 2 2h14v-2H4V6H2Z\"\n fill={color}\n />\n </SVG>\n}\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype ListIconProps = SVGIconProps;\nexport default function ListIcon({\n color=teal.main,\n size=\"medium\",\n altText=\"List\",\n ...props\n}: ListIconProps) {\n return <SVG size={size} aria-labelledby=\"ListIcon\" {...props}>\n <title id=\"ListIcon\">{altText}</title>\n <path fill=\"none\" d=\"M0 0h24v24H0z\" />\n <path\n d=\"M4 13c.55 0 1-.45 1-1s-.45-1-1-1-1 .45-1 1 .45 1 1 1Zm0 4c.55 0 1-.45 1-1s-.45-1-1-1-1 .45-1 1 .45 1 1 1Zm0-8c.55 0 1-.45 1-1s-.45-1-1-1-1 .45-1 1 .45 1 1 1Zm4 4h12c.55 0 1-.45 1-1s-.45-1-1-1H8c-.55 0-1 .45-1 1s.45 1 1 1Zm0 4h12c.55 0 1-.45 1-1s-.45-1-1-1H8c-.55 0-1 .45-1 1s.45 1 1 1ZM7 8c0 .55.45 1 1 1h12c.55 0 1-.45 1-1s-.45-1-1-1H8c-.55 0-1 .45-1 1Zm-3 5c.55 0 1-.45 1-1s-.45-1-1-1-1 .45-1 1 .45 1 1 1Zm0 4c.55 0 1-.45 1-1s-.45-1-1-1-1 .45-1 1 .45 1 1 1Zm0-8c.55 0 1-.45 1-1s-.45-1-1-1-1 .45-1 1 .45 1 1 1Zm4 4h12c.55 0 1-.45 1-1s-.45-1-1-1H8c-.55 0-1 .45-1 1s.45 1 1 1Zm0 4h12c.55 0 1-.45 1-1s-.45-1-1-1H8c-.55 0-1 .45-1 1s.45 1 1 1ZM7 8c0 .55.45 1 1 1h12c.55 0 1-.45 1-1s-.45-1-1-1H8c-.55 0-1 .45-1 1Z\"\n fill={color}\n />\n </SVG>\n}\n\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype TilesIconProps = SVGIconProps & {filled?: boolean;};\nexport default function TilesIcon({\n color=teal.main,\n size=\"medium\",\n filled=false,\n altText=\"Tiles\",\n ...props\n}: TilesIconProps) {\n const renderPath = filled ? \"M5 11h4c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2H5c-1.1 0-2 .9-2 2v4c0 1.1.9 2 2 2ZM5 21h4c1.1 0 2-.9 2-2v-4c0-1.1-.9-2-2-2H5c-1.1 0-2 .9-2 2v4c0 1.1.9 2 2 2ZM13 5v4c0 1.1.9 2 2 2h4c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2h-4c-1.1 0-2 .9-2 2ZM15 21h4c1.1 0 2-.9 2-2v-4c0-1.1-.9-2-2-2h-4c-1.1 0-2 .9-2 2v4c0 1.1.9 2 2 2Z\" \n : \n \"M3 3v8h8V3H3Zm6 6H5V5h4v4Zm-6 4v8h8v-8H3Zm6 6H5v-4h4v4Zm4-16v8h8V3h-8Zm6 6h-4V5h4v4Zm-6 4v8h8v-8h-8Zm6 6h-4v-4h4v4Z\";\n\n return <SVG size={size} aria-labelledby=\"TilesIcon\" {...props}>\n <title id=\"TilesIcon\" >{altText}</title>\n <path fill=\"none\" d=\"M0 0h24v24H0z\" />\n <path\n d={renderPath}\n fill={color}\n />\n </SVG>\n}\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport {teal} from '../colors';\n\ntype UserIconProps = SVGIconProps;\nexport default function UserIcon({\n color=teal.main,\n size=\"medium\",\n altText=\"User\",\n ...props\n}: UserIconProps) {\n return <SVG size={size} aria-labelledby=\"UserIcon\" {...props}>\n <title id=\"UserIcon\" >{altText}</title>\n <path fill=\"none\" d=\"M0 0h24v24H0z\" />\n <path\n d=\"M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4Zm0 2c-2.67 0-8 1.34-8 4v1c0 .55.45 1 1 1h14c.55 0 1-.45 1-1v-1c0-2.66-5.33-4-8-4Z\"\n fill={color}\n />\n </SVG>\n}\n","import React from 'react';\nimport { teal } from '../colors';\nimport SVG, { SVGIconProps } from './SvgIcon';\n\ntype ArrowIconDirection = 'up' | 'right' | 'down' | 'left';\n\ntype ArrowIconProps = SVGIconProps & {direction?: ArrowIconDirection};\nexport default function ArrowIcon({\n color=teal.main,\n direction=\"right\",\n altText=\"Next\",\n size=\"medium\",\n ...props\n}: ArrowIconProps) {\n\n switch (direction) {\n case \"up\":\n altText=\"Up\";\n break;\n case \"right\":\n altText=\"Next\";\n break;\n case \"down\":\n altText=\"Down\";\n break;\n case \"left\":\n altText=\"Previous\";\n break;\n default:\n altText=\"Next\";\n };\n \n\n const directionPath = React.useMemo(() => {\n if (direction === \"right\") {\n return \"M5.209 13h11.17l-4.88 4.88c-.39.39-.39 1.03 0 1.42.39.39 1.02.39 1.41 0l6.59-6.59a.996.996 0 0 0 0-1.41l-6.58-6.6a.996.996 0 1 0-1.41 1.41l4.87 4.89H5.209c-.55 0-1 .45-1 1s.45 1 1 1Z\";\n } else if (direction === \"down\") {\n return \"M11.005 5.209v11.17l-4.88-4.88c-.39-.39-1.03-.39-1.42 0a.996.996 0 0 0 0 1.41l6.59 6.59c.39.39 1.02.39 1.41 0l6.59-6.59a.996.996 0 1 0-1.41-1.41l-4.88 4.88V5.209c0-.55-.45-1-1-1s-1 .45-1 1Z\";\n } else if (direction === \"left\") {\n return \"M18.791 11.005H7.621l4.88-4.88c.39-.39.39-1.03 0-1.42a.996.996 0 0 0-1.41 0l-6.59 6.59a.996.996 0 0 0 0 1.41l6.59 6.59a.996.996 0 1 0 1.41-1.41l-4.88-4.88h11.17c.55 0 1-.45 1-1s-.45-1-1-1Z\";\n } else if (direction === \"up\") {\n return \"M13 18.791V7.621l4.88 4.88c.39.39 1.03.39 1.42 0a.996.996 0 0 0 0-1.41l-6.59-6.59a.996.996 0 0 0-1.41 0l-6.6 6.58a.996.996 0 1 0 1.41 1.41L11 7.621v11.17c0 .55.45 1 1 1s1-.45 1-1Z\";\n }\n\n // default to right\n return \"M5.209 13h11.17l-4.88 4.88c-.39.39-.39 1.03 0 1.42.39.39 1.02.39 1.41 0l6.59-6.59a.996.996 0 0 0 0-1.41l-6.58-6.6a.996.996 0 1 0-1.41 1.41l4.87 4.89H5.209c-.55 0-1 .45-1 1s.45 1 1 1Z\";\n }, [direction]);\n \n return <SVG size={size} aria-labelledby=\"ArrowIcon\" {...props}>\n <title id=\"ArrowIcon\" >{altText}</title>\n <path fill=\"none\" d=\"M0 0h24v24H0z\" />\n <path\n d={directionPath}\n fill={color}\n />\n </SVG>;\n}\n","import React from 'react';\nimport { teal } from '../colors';\nimport SVG, { SVGIconProps } from './SvgIcon';\n\ntype ChevronIconDirection = 'up' | 'right' | 'down' | 'left' | 'updown' | 'leftright';\n\ntype ChevronIconProps = SVGIconProps & {direction?: ChevronIconDirection};\nexport default function ChevronIcon({\n color=teal.main,\n direction=\"right\",\n altText=\"Next\",\n size=\"medium\",\n ...props\n}: ChevronIconProps) {\n\n switch (direction) {\n case \"up\":\n altText=\"Up\";\n break;\n case \"right\":\n altText=\"Next\";\n break;\n case \"down\":\n altText=\"Down\";\n break;\n case \"left\":\n altText=\"Previous\";\n break;\n case \"updown\":\n altText=\"Up / Down\";\n break;\n case \"leftright\":\n altText=\"Next / Previous\";\n break;\n default:\n altText=\"Next\";\n };\n\n const directionPath = React.useMemo(() => {\n if (direction === \"right\") {\n return \"M9 6.71a.996.996 0 0 0 0 1.41L12.88 12 9 15.88a.996.996 0 1 0 1.41 1.41L15 12.7a.996.996 0 0 0 0-1.41L10.41 6.7c-.38-.38-1.02-.38-1.41.01Z\";\n } else if (direction === \"down\") {\n return \"m15.875 9-3.88 3.88L8.115 9a.996.996 0 1 0-1.41 1.41l4.59 4.59c.39.39 1.02.39 1.41 0l4.59-4.59a.996.996 0 0 0 0-1.41c-.39-.38-1.03-.39-1.42 0Z\";\n } else if (direction === \"left\") {\n return \"M15 6.705a.996.996 0 0 0-1.41 0L9 11.295a.996.996 0 0 0 0 1.41l4.59 4.59a.996.996 0 1 0 1.41-1.41l-3.88-3.89L15 8.115c.39-.39.38-1.03 0-1.41Z\";\n } else if (direction === \"up\") {\n return \"m11.295 9-4.59 4.59A.996.996 0 1 0 8.115 15l3.89-3.88 3.88 3.88a.996.996 0 1 0 1.41-1.41L12.705 9a.996.996 0 0 0-1.41 0Z\";\n } else if (direction === \"updown\") {\n return \"m12.705 19.707 4.59-4.59a.996.996 0 1 0-1.41-1.41l-3.89 3.88-3.88-3.88a.996.996 0 1 0-1.41 1.41l4.59 4.59c.38.39 1.02.39 1.41 0ZM11.295 4.293l-4.59 4.59a.996.996 0 1 0 1.41 1.41l3.89-3.88 3.88 3.88a.996.996 0 1 0 1.41-1.41l-4.59-4.59a.996.996 0 0 0-1.41 0Z\";\n } else if (direction === \"leftright\") {\n return \"m4.293 12.705 4.59 4.59a.996.996 0 1 0 1.41-1.41l-3.88-3.89 3.88-3.88a.996.996 0 1 0-1.41-1.41l-4.59 4.59a.996.996 0 0 0 0 1.41ZM19.707 11.295l-4.59-4.59a.996.996 0 1 0-1.41 1.41l3.88 3.89-3.88 3.88a.996.996 0 1 0 1.41 1.41l4.59-4.59a.996.996 0 0 0 0-1.41Z\";\n }\n // default to right\n return \"M9 6.71a.996.996 0 0 0 0 1.41L12.88 12 9 15.88a.996.996 0 1 0 1.41 1.41L15 12.7a.996.996 0 0 0 0-1.41L10.41 6.7c-.38-.38-1.02-.38-1.41.01Z\";\n }, [direction]);\n \n return <SVG size={size} aria-labelledby=\"ChevronIcon\" {...props}>\n <title id=\"ChevronIcon\">{altText}</title>\n <path fill=\"none\" d=\"M0 0h24v24H0z\" />\n <path\n d={directionPath}\n fill={color}\n />\n </SVG>;\n\n}\n","import React from 'react';\nimport { teal } from '../colors';\nimport SVG, { SVGIconProps } from './SvgIcon';\n\ntype FilledChevronIconDirection = 'up' | 'right' | 'down' | 'left' | 'updown' | 'leftright';\n\ntype FilledChevronIconProps = SVGIconProps & {direction?: FilledChevronIconDirection};\nexport default function FilledChevronIcon({\n color=teal.main,\n direction=\"right\",\n altText=\"Next\",\n size=\"medium\",\n ...props\n}: FilledChevronIconProps) {\n\n switch (direction) {\n case \"up\":\n altText=\"Sort ascending\";\n break;\n case \"right\":\n altText=\"Next\";\n break;\n case \"down\":\n altText=\"Sort descending\";\n break;\n case \"left\":\n altText=\"Previous\";\n break;\n case \"updown\":\n altText=\"Sort by\";\n break;\n case \"leftright\":\n altText=\"Next / Previous\";\n break;\n default:\n altText=\"Next\";\n };\n\n const directionPath = React.useMemo(() => {\n if (direction === \"right\") {\n return \"m9.5 17 5-5-5-5v10Z\";\n } else if (direction === \"down\") {\n return \"m7 9.5 5 5 5-5H7Z\";\n } else if (direction === \"left\") {\n return \"m14.5 7-5 5 5 5V7Z\";\n } else if (direction === \"up\") {\n return \"m7 14.5 5-5 5 5H7Z\";\n } else if (direction === \"updown\") {\n return \"m7 13 5 5 5-5H7ZM7 11l5-5 5 5H7Z\";\n } else if (direction === \"leftright\") {\n return \"m11 7-5 5 5 5V7ZM13 7l5 5-5 5V7Z\";\n }\n // default to right\n return \"m9.5 17 5-5-5-5v10Z\";\n }, [direction]);\n \n return <SVG size={size} aria-labelledby=\"FilledChevronIcon\" {...props}>\n <title id=\"FilledChevronIcon\">{altText}</title>\n <path fill=\"none\" d=\"M0 0h24v24H0z\" />\n <path\n d={directionPath}\n fill={color}\n />\n </SVG>;\n\n}\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype CheckmarkIconProps = SVGIconProps;\nexport default function CheckmarkIcon({\n color=teal.main,\n size=\"medium\",\n altText=\"Checkmark\",\n ...props\n}: CheckmarkIconProps) {\n return <SVG size={size} aria-labelledby=\"CheckmarkIcon\" {...props}>\n <title id=\"CheckmarkIcon\" >{altText}</title>\n <path fill=\"none\" d=\"M0 0h24v24H0z\" />\n <path\n d=\"m8.795 15.875-3.47-3.47a.996.996 0 1 0-1.41 1.41l4.18 4.18c.39.39 1.02.39 1.41 0l10.58-10.58a.996.996 0 1 0-1.41-1.41l-9.88 9.87Z\"\n fill={color}\n />\n </SVG>\n}\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype AddIconProps = SVGIconProps;\nexport default function AddIcon({\n color=teal.main,\n size=\"medium\",\n altText=\"Add\",\n ...props\n}: AddIconProps) {\n return <SVG size={size} aria-labelledby=\"AddIcon\" {...props}>\n <path fill=\"none\" d=\"M0 0h24v24H0z\" />\n <title id=\"AddIcon\" >{altText}</title>\n <path\n d=\"M18 13h-5v5c0 .55-.45 1-1 1s-1-.45-1-1v-5H6c-.55 0-1-.45-1-1s.45-1 1-1h5V6c0-.55.45-1 1-1s1 .45 1 1v5h5c.55 0 1 .45 1 1s-.45 1-1 1Z\"\n fill={color}\n />\n </SVG>\n}\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype SubtractIconProps = SVGIconProps;\nexport default function SubtractIcon({\n color=teal.main,\n size=\"medium\",\n altText=\"Remove\",\n ...props\n}: SubtractIconProps) {\n return <SVG size={size} aria-labelledby=\"SubtractIcon\" {...props}>\n <title id=\"SubtractIcon\">{altText}</title>\n <path fill=\"none\" d=\"M0 0h24v24H0z\" />\n <path\n d=\"M18 13H6c-.55 0-1-.45-1-1s.45-1 1-1h12c.55 0 1 .45 1 1s-.45 1-1 1Z\"\n fill={color}\n />\n </SVG>\n}\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype SearchIconProps = SVGIconProps;\nexport default function SearchIcon({\n color=teal.main,\n size=\"medium\",\n altText=\"Search\",\n ...props\n}: SearchIconProps) {\n return <SVG size={size} aria-labelledby=\"SearchIcon\" {...props}>\n <title id=\"SearchIcon\" >{altText}</title>\n <path fill=\"none\" d=\"M0 0h24v24H0z\" />\n <path\n d=\"M15.977 14.472h-.79l-.28-.27a6.5 6.5 0 0 0 1.48-5.34c-.47-2.78-2.79-5-5.59-5.34a6.505 6.505 0 0 0-7.27 7.27c.34 2.8 2.56 5.12 5.34 5.59a6.5 6.5 0 0 0 5.34-1.48l.27.28v.79l4.25 4.25c.41.41 1.08.41 1.49 0 .41-.41.41-1.08 0-1.49l-4.24-4.26Zm-6 0c-2.49 0-4.5-2.01-4.5-4.5s2.01-4.5 4.5-4.5 4.5 2.01 4.5 4.5-2.01 4.5-4.5 4.5Z\"\n fill={color}\n />\n </SVG>\n}\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { primary1 } from '../colors';\n\ntype ClockIconProps = SVGIconProps;\nexport default function ClockIcon({\n color=primary1.main,\n size=\"medium\",\n ...props\n}: ClockIconProps) {\n return <SVG size={size} {...props}>\n <path fill=\"none\" d=\"M0 0h24v24H0z\" />\n <path\n d=\"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2ZM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8Zm-.22-13h-.06c-.4 0-.72.32-.72.72v4.72c0 .35.18.68.49.86l4.15 2.49c.34.2.78.1.98-.24a.71.71 0 0 0-.25-.99l-3.87-2.3V7.72c0-.4-.32-.72-.72-.72Z\"\n fill={color}\n />\n </SVG>\n}\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { primary1 } from '../colors';\n\ntype ClipboardIconProps = SVGIconProps;\nexport default function ClipboardIcon({\n color=primary1.main,\n size=\"medium\",\n ...props\n}: ClipboardIconProps) {\n return <SVG size={size} {...props}>\n <path fill=\"none\" d=\"M0 0h24v24H0z\" />\n <path\n d=\"M19 3h-4.18C14.4 1.84 13.3 1 12 1c-1.3 0-2.4.84-2.82 2H5c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2Zm-7 0c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1Zm6 18H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h1v1c0 1.1.9 2 2 2h6c1.1 0 2-.9 2-2V5h1c.55 0 1 .45 1 1v14c0 .55-.45 1-1 1Z\"\n fill={color}\n />\n </SVG>\n}\n","import React from 'react';\nimport { teal, neutrals } from '../colors';\nimport SVG, { SVGIconProps } from './SvgIcon';\n\nexport type RadioIconProps = SVGIconProps & {\n selected?: boolean, \n hover?: boolean, \n hoverColor?: string,\n disabled?: boolean,\n disabledColor?: string\n};\n\nexport default function RadioIcon({\n color=teal.main,\n hoverColor=teal.light,\n disabledColor=neutrals['70'],\n size=\"medium\",\n hover=false,\n selected=false,\n disabled=false,\n altText=\"Select\",\n ...props\n}: RadioIconProps) {\n\n selected ? altText=\"Unselect\" : altText=\"Select\";\n\n const renderPath = React.useMemo(() => {\n if (selected === true) {\n return <><path d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2Zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8Z\" fill={disabled ? disabledColor : color} /><path d=\"M12 17a5 5 0 1 0 0-10 5 5 0 0 0 0 10Z\" fill={disabled ? disabledColor : color} /></>\n } else if (hover === true && !disabled ) {\n return<><path\n d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2Zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8Z\"\n fill={color} />\n <circle cx={12} cy={12} r={7} fill={hoverColor} /></>\n }\n // default to unselected\n return <path d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2Zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8Z\" fill={disabled ? disabledColor : color} />\n }, [selected, hover, hoverColor, disabled, disabledColor, color]);\n \n return <SVG size={size} aria-labelledby=\"RadioIcon\" {...props}>\n <title id=\"RadioIcon\">{altText}</title>\n <path fill=\"none\" d=\"M0 0h24v24H0z\" />\n {renderPath}\n </SVG>;\n\n}\n","import React from 'react';\nimport { teal, neutrals } from '../colors';\nimport SVG, { SVGIconProps } from './SvgIcon';\n\ntype BaseCheckboxIconProps = {\n selected?: boolean,\n hover?: boolean,\n hoverColor?: string,\n disabled?: boolean,\n disabledColor?: string,\n indeterminate?: boolean\n};\nexport type CheckboxIconProps = SVGIconProps & BaseCheckboxIconProps;\n\nexport default function CheckboxIcon({\n color = teal.main,\n hoverColor = teal.light,\n disabledColor = neutrals['60'],\n size = \"medium\",\n hover = false,\n selected = false,\n disabled = false,\n indeterminate = false,\n altText = \"Select\",\n ...props\n}: CheckboxIconProps) {\n return <SVG size={size} aria-labelledby=\"CheckboxIcon\" {...props}>\n <title id=\"CheckboxIcon\">{selected && (altText === \"Select\" || !altText) ? \"Unselect\" : altText}</title>\n <path fill=\"none\" d=\"M0 0h24v24H0z\" />\n <IconPath\n indeterminate={indeterminate}\n selected={selected}\n hover={hover}\n disabled={disabled}\n color={color}\n hoverColor={hoverColor}\n disabledColor={disabledColor}\n />\n </SVG>;\n}\n\ntype IconPathProps = BaseCheckboxIconProps & { color?: string | undefined; };\nconst IconPath = React.memo((props: IconPathProps) => {\n const {\n indeterminate,\n selected,\n hover,\n disabled,\n color,\n hoverColor,\n disabledColor,\n } = props;\n\n if (indeterminate) {\n return <path d=\"M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3ZM16 13H8C7.45 13 7 12.55 7 12C7 11.45 7.45 11 8 11H16C16.55 11 17 11.45 17 12C17 12.55 16.55 13 16 13Z\" fill={disabled ? disabledColor : color} />\n } else if (selected) {\n return <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2Zm-8.29 13.29a.996.996 0 0 1-1.41 0L5.71 12.7a.996.996 0 1 1 1.41-1.41L10 14.17l6.88-6.88a.996.996 0 1 1 1.41 1.41l-7.58 7.59Z\" fill={disabled ? disabledColor : color} />\n } else if (hover === true && !disabled) {\n return <><path\n d=\"M18 19H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1Zm1-16H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2Z\"\n fill={color} />\n <rect x={6} y={6} width={12} height={12} rx={1} fill={hoverColor} /></>\n }\n return <path d=\"M18 19H6c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h12c.55 0 1 .45 1 1v12c0 .55-.45 1-1 1Zm1-16H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2Z\" fill={disabled ? disabledColor : color} />\n});\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype EditIconProps = SVGIconProps & {filled?: boolean};\nexport default function EditIcon({\n color=teal.main,\n size=\"medium\",\n filled=false,\n altText=\"Edit\",\n ...props\n}: EditIconProps) {\n const renderPath = filled ? \"M2.999 17.251v3.75h3.75l11.06-11.06-3.75-3.75-11.06 11.06ZM20.709 5.631l-2.34-2.34a.996.996 0 0 0-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83a.996.996 0 0 0 0-1.41Z\"\n : \n \"m14.059 9.02.92.92L5.919 19h-.92v-.92l9.06-9.06Zm3.6-6.02c-.25 0-.51.1-.7.29l-1.83 1.83 3.75 3.75 1.83-1.83a.996.996 0 0 0 0-1.41l-2.34-2.34c-.2-.2-.45-.29-.71-.29Zm-3.6 3.19L2.999 17.25V21h3.75l11.06-11.06-3.75-3.75Z\"\n\n return <SVG size={size} aria-labelledby=\"EditIcon\" {...props} >\n \n <title id=\"EditIcon\" >{altText}</title>\n <path\n d={renderPath}\n fill={color}\n />\n </SVG>\n}\n\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype GridIconProps = SVGIconProps;\nexport default function GridIcon({\n color=teal.main,\n size=\"medium\",\n altText=\"Grid\",\n ...props\n}: GridIconProps) {\n return <SVG size={size} aria-labelledby=\"GridIcon\" {...props}>\n <title id=\"GridIcon\" >{altText}</title>\n <path\n d=\"M20 2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2ZM8 20H4v-4h4v4Zm0-6H4v-4h4v4Zm0-6H4V4h4v4Zm6 12h-4v-4h4v4Zm0-6h-4v-4h4v4Zm0-6h-4V4h4v4Zm6 12h-4v-4h4v4Zm0-6h-4v-4h4v4Zm0-6h-4V4h4v4Z\"\n fill={color}\n />\n </SVG>\n}\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype TemplateIconProps = SVGIconProps & {filled?: boolean};\nexport default function TemplateIcon({\n color=teal.main,\n size=\"medium\",\n filled=false,\n altText=\"Template\",\n ...props\n}: TemplateIconProps) {\n const renderPath = filled ? \"M15 3H5c-1.1 0-1.99.9-1.99 2L3 19c0 1.1.89 2 1.99 2H19c1.1 0 2-.9 2-2V9l-6-6ZM8 17c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1Zm0-4c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1Zm0-4c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1Zm6 1V4.5l5.5 5.5H14Z\"\n : \n \"M15 3H5c-1.1 0-1.99.9-1.99 2L3 19c0 1.1.89 2 1.99 2H19c1.1 0 2-.9 2-2V9l-6-6ZM5 19V5h9v5h5v9H5ZM9 8c0 .55-.45 1-1 1s-1-.45-1-1 .45-1 1-1 1 .45 1 1Zm0 4c0 .55-.45 1-1 1s-1-.45-1-1 .45-1 1-1 1 .45 1 1Zm0 4c0 .55-.45 1-1 1s-1-.45-1-1 .45-1 1-1 1 .45 1 1Z\"\n\n return <SVG size={size} aria-labelledby=\"TemplateIcon\" {...props} >\n \n <title id=\"TemplateIcon\" >{altText}</title>\n <path\n d={renderPath}\n fill={color}\n />\n </SVG>\n}\n\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype PercentIconProps = SVGIconProps;\nexport default function PercentIcon({\n color=teal.main,\n size=\"medium\",\n altText=\"Percent\",\n ...props\n}: PercentIconProps) {\n return <SVG size={size} aria-labelledby=\"PercentIcon\" {...props}>\n <title id=\"PercentIcon\" >{altText}</title>\n <path\n d=\"M7.5 4C5.57 4 4 5.57 4 7.5S5.57 11 7.5 11 11 9.43 11 7.5 9.43 4 7.5 4Zm0 5C6.67 9 6 8.33 6 7.5S6.67 6 7.5 6 9 6.67 9 7.5 8.33 9 7.5 9Zm9 4c-1.93 0-3.5 1.57-3.5 3.5s1.57 3.5 3.5 3.5 3.5-1.57 3.5-3.5-1.57-3.5-3.5-3.5Zm0 5c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5ZM5.41 20 4 18.59 18.59 4 20 5.41 5.41 20Z\"\n fill={color}\n />\n </SVG>\n}\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype TargetIconProps = SVGIconProps;\nexport default function TargetIcon({\n color=teal.main,\n size=\"medium\",\n altText=\"Target\",\n ...props\n}: TargetIconProps) {\n return <SVG size={size} aria-labelledby=\"TargetIcon\" {...props}>\n <title id=\"TargetIcon\" >{altText}</title>\n <path\n d=\"M15 13V5c0-1.66-1.34-3-3-3S9 3.34 9 5v8c-1.21.91-2 2.37-2 4 0 2.76 2.24 5 5 5s5-2.24 5-5c0-1.63-.79-3.09-2-4Zm-4-8c0-.55.45-1 1-1s1 .45 1 1h-1v1h1v2h-1v1h1v2h-2V5Z\"\n fill={color}\n />\n </SVG>\n}\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype IntegrationsIconProps = SVGIconProps & {filled?: boolean};\nexport default function IntegrationsIcon({\n color=teal.main,\n size=\"medium\",\n filled=false,\n altText=\"Integrations\",\n ...props\n}: IntegrationsIconProps) {\n const renderPath = filled ? \"M20 11.5h-1.5v-4c0-1.1-.9-2-2-2h-4V4a2.5 2.5 0 0 0-5 0v1.5h-4c-1.1 0-1.99.9-1.99 2v3.8H3c1.49 0 2.7 1.21 2.7 2.7 0 1.49-1.21 2.7-2.7 2.7H1.5v3.8c0 1.1.9 2 2 2h3.8V21c0-1.49 1.21-2.7 2.7-2.7 1.49 0 2.7 1.21 2.7 2.7v1.5h3.8c1.1 0 2-.9 2-2v-4H20a2.5 2.5 0 0 0 0-5Z\"\n : \n \"M10.75 4.25c.28 0 .5.22.5.5v2h6v6h2c.28 0 .5.22.5.5s-.22.5-.5.5h-2v6h-2.12a4.71 4.71 0 0 0-4.38-3 4.71 4.71 0 0 0-4.38 3H4.25v-2.12c1.75-.68 3-2.39 3-4.38 0-1.99-1.24-3.7-2.99-4.38l-.01-2.12h6v-2c0-.28.22-.5.5-.5Zm0-2a2.5 2.5 0 0 0-2.5 2.5h-4c-1.1 0-1.99.9-1.99 2v3.8h.29c1.49 0 2.7 1.21 2.7 2.7 0 1.49-1.21 2.7-2.7 2.7h-.3v3.8c0 1.1.9 2 2 2h3.8v-.3c0-1.49 1.21-2.7 2.7-2.7 1.49 0 2.7 1.21 2.7 2.7v.3h3.8c1.1 0 2-.9 2-2v-4a2.5 2.5 0 0 0 0-5v-4c0-1.1-.9-2-2-2h-4a2.5 2.5 0 0 0-2.5-2.5Z\"\n\n return <SVG size={size} aria-labelledby=\"IntegrationsIcon\" {...props} >\n \n <title id=\"IntegrationsIcon\" >{altText}</title>\n <path\n d={renderPath}\n fill={color}\n />\n </SVG>\n}\n\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype MailIconProps = SVGIconProps & {filled?: boolean};\nexport default function MailIcon({\n color=teal.main,\n size=\"medium\",\n filled=false,\n altText=\"Mail\",\n ...props\n}: MailIconProps) {\n const renderPath = filled ? \"M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2Zm0 4-8 5-8-5V6l8 5 8-5v2Z\"\n : \n \"M22 6c0-1.1-.9-2-2-2H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6Zm-2 0-8 5-8-5h16Zm0 12H4V8l8 5 8-5v10Z\"\n\n return <SVG size={size} aria-labelledby=\"MailIcon\" {...props} >\n \n <title id=\"MailIcon\" >{altText}</title>\n <path\n d={renderPath}\n fill={color}\n />\n </SVG>\n}\n\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype EpsIconProps = SVGIconProps;\nexport default function EpsIcon({\n color=teal.main,\n size=\"medium\",\n altText=\"Eps\",\n ...props\n}: EpsIconProps) {\n return <SVG size={size} aria-labelledby=\"EpsIcon\" {...props}>\n <path fill=\"none\" d=\"M0 0h24v24H0z\" />\n <title id=\"EpsIcon\" >{altText}</title>\n <path\n d=\"M19.445 13.535c-3.677 2.602-7.243 4.951-11.597 4.806-4.353-.145-6.378-2.834-6.378-2.834s2.038 6.66 9.858 6.49c7.82-.17 11.672-5.55 11.672-5.55s-1.616-1.371-3.555-2.912Zm-14.9 3.187c-1.036-1.364-3.333-5.025 3.052-8.977 6.385-3.953 9.186-.914 4.862 2.464-3.337 2.607-7.125 3.073-7.125 3.073s2.134 3.845 3.25 3.865c8.634-1.509 12.253-8.842 9.47-12.744C15.555.894 9.024 1.139 4.06 5.726c-4.962 4.587-3.22 8.939.485 10.996Z\"\n fill={color}\n />\n </SVG>\n}\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype StarIconProps = SVGIconProps & {hover?:boolean, filled?: boolean;};\nexport default function StarIcon({\n color=teal.main,\n size=\"medium\",\n hover=false,\n filled=false,\n altText=\"Star\",\n ...props\n}: StarIconProps) {\n\n filled ? altText=\"Unstar\" : altText=\"Star\";\n\n const renderPath = filled ? \"m12 17.52 4.15 2.51c.76.46 1.69-.22 1.49-1.08l-1.1-4.72 3.67-3.18c.67-.58.31-1.68-.57-1.75l-4.83-.41-1.89-4.46c-.34-.81-1.5-.81-1.84 0L9.19 8.88l-4.83.41c-.88.07-1.24 1.17-.57 1.75l3.67 3.18-1.1 4.72c-.2.86.73 1.54 1.49 1.08l4.15-2.5Z\"\n : \n \"m19.648 9.295-4.84-.42-1.89-4.45c-.34-.81-1.5-.81-1.84 0l-1.89 4.46-4.83.41c-.88.07-1.24 1.17-.57 1.75l3.67 3.18-1.1 4.72c-.2.86.73 1.54 1.49 1.08l4.15-2.5 4.15 2.51c.76.46 1.69-.22 1.49-1.08l-1.1-4.73 3.67-3.18c.67-.58.32-1.68-.56-1.75Zm-7.65 6.36-3.76 2.27 1-4.28-3.32-2.88 4.38-.38 1.7-4.03 1.71 4.04 4.38.38-3.32 2.88 1 4.28-3.77-2.28Z\"\n\n return <SVG size={size} aria-labelledby=\"StarIcon\" {...props} >\n \n <title id=\"StarIcon\" >{altText}</title>\n <path fill=\"none\" d=\"M0 0h24v24H0z\" />\n <path\n d={renderPath}\n fill={color}\n />\n </SVG>\n}\n\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype EyeIconProps = SVGIconProps & {hide?: boolean;};\nexport default function EyeIcon({\n color=teal.main,\n size=\"medium\",\n hide=false,\n altText=\"EyeIcon\",\n ...props\n}: EyeIconProps) {\n const renderPath = hide ? \"M12 5.975a9.77 9.77 0 0 1 8.82 5.5 9.647 9.647 0 0 1-2.41 3.12l1.41 1.41c1.39-1.23 2.49-2.77 3.18-4.53-1.73-4.39-6-7.5-11-7.5-1.27 0-2.49.2-3.64.57l1.65 1.65c.65-.13 1.31-.22 1.99-.22Zm-1.07 1.14L13 9.185c.57.25 1.03.71 1.28 1.28l2.07 2.07c.08-.34.14-.7.14-1.07.01-2.48-2.01-4.49-4.49-4.49-.37 0-.72.05-1.07.14Zm-8.92-3.27 2.68 2.68A11.738 11.738 0 0 0 1 11.475c1.73 4.39 6 7.5 11 7.5 1.52 0 2.98-.29 4.32-.82l3.42 3.42 1.41-1.41L3.42 2.425l-1.41 1.42Zm7.5 7.5 2.61 2.61c-.04.01-.08.02-.12.02a2.5 2.5 0 0 1-2.5-2.5c0-.05.01-.08.01-.13Zm-3.4-3.4 1.75 1.75a4.6 4.6 0 0 0-.36 1.78 4.507 4.507 0 0 0 6.27 4.14l.98.98c-.88.24-1.8.38-2.75.38a9.77 9.77 0 0 1-8.82-5.5c.7-1.43 1.72-2.61 2.93-3.53Z\"\n : \n \"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5ZM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5Zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3Z\"\n\n return <SVG size={size} aria-labelledby=\"EyeIcon\" {...props}>\n <title id=\"EyeIcon\">{altText}</title>\n <path fill=\"none\" d=\"M0 0h24v24H0z\" />\n <path\n d={renderPath}\n fill={color}\n />\n </SVG>\n}\n\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype MenuIconProps = SVGIconProps;\nexport default function MenuIcon({\n color=teal.main,\n size=\"medium\",\n altText=\"Menu\",\n ...props\n}: MenuIconProps) {\n return <SVG size={size} aria-labelledby=\"MenuIcon\" {...props}>\n <path fill=\"none\" d=\"M0 0h24v24H0z\" />\n <title id=\"MenuIcon\" >{altText}</title>\n <path\n d=\"M4 18h16c.55 0 1-.45 1-1s-.45-1-1-1H4c-.55 0-1 .45-1 1s.45 1 1 1Zm0-5h16c.55 0 1-.45 1-1s-.45-1-1-1H4c-.55 0-1 .45-1 1s.45 1 1 1ZM3 7c0 .55.45 1 1 1h16c.55 0 1-.45 1-1s-.45-1-1-1H4c-.55 0-1 .45-1 1Z\"\n fill={color}\n />\n </SVG>\n}\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\nimport { fontStyles } from '../Theme';\nimport styled from 'styled-components';\nimport { get } from 'lodash';\n\nexport const iconSizes = {\n tiny: {\n 'font-size': fontStyles.button.small.fontSize,\n },\n small: {\n 'font-size': fontStyles.button.small.fontSize,\n },\n medium: {\n 'font-size': fontStyles.button.medium.fontSize,\n },\n large: {\n 'font-size': fontStyles.button.large.fontSize,\n },\n huge: {\n 'font-size': fontStyles.button.huge.fontSize,\n },\n default: {\n 'font-size': fontStyles.button.medium.fontSize,\n },\n };\n \n type iconSize = keyof typeof iconSizes;\n \n const getSizeStyle = (style: string, defaults: string) => {\n return ({ size }: CommentIconProps) => {\n if (size) {\n return get(iconSizes, [size, style]) || defaults;\n }\n return defaults;\n };\n }\n\ntype CommentIconProps = {\n number?: number;\n} & SVGIconProps;\n\nconst OuterContainer = styled.div`\n display:inline-flex;\n flex-direction: row;\n align-items: top;\n`;\n\nconst CommentNumber = styled.p<{number?: number | string, color: string, size?: iconSize}>`\n display:block;\n font-family: ${fontStyles.p.small.fontFamily};\n font-size: ${ props => getSizeStyle('font-size', fontStyles.button.medium.fontSize)({size: props.size})};\n color: ${props => props.color};\n margin-top: 0;\n margin-bottom: 0;\n`;\nexport default function CommentIcon({\n color=teal.main,\n size=\"medium\",\n altText=\"Comments\",\n number,\n ...props\n}: CommentIconProps) {\n const numberToShow = number !== undefined && number <= 99 ? number : '99+';\n\n const showNumber = number ? <CommentNumber color={color} number={number} size={size}>{numberToShow}</CommentNumber> : null;\n\n return (\n <>\n <OuterContainer>\n <SVG size={size} aria-labelledby=\"CommentIcon\" mr={4} {...props}>\n <title id=\"CommentIcon\">{altText}</title>\n <path\n d=\"M21.99 4c0-1.1-.89-2-1.99-2H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h14l4 4-.01-18ZM20 4v13.17L18.83 16H4V4h16ZM6 12h12v2H6v-2Zm0-3h12v2H6V9Zm0-3h12v2H6V6Z\"\n fill={color} />\n </SVG>\n {showNumber}\n </OuterContainer> \n </>\n )\n}\n\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype EllipsisIconProps = SVGIconProps;\nexport default function EllipsisIcon({\n color=teal.main,\n size=\"medium\",\n altText=\"More\",\n ...props\n}: EllipsisIconProps) {\n return <SVG size={size} aria-labelledby=\"EllipsisIcon\" {...props}>\n <path fill=\"none\" d=\"M0 0h24v24H0z\" />\n <title id=\"EllipsisIcon\" >{altText}</title>\n <path\n d=\"M6 10c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2Zm12 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2Zm-6 0c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2Z\"\n fill={color}\n />\n </SVG>\n}\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype DragIconProps = SVGIconProps;\nexport default function DragIcon({\n color=teal.main,\n size=\"medium\",\n altText=\"Drag\",\n ...props\n}: DragIconProps) {\n return <SVG size={size} aria-labelledby=\"DragIcon\" {...props}>\n <path fill=\"none\" d=\"M0 0h24v24H0z\" />\n <title id=\"DragIcon\" >{altText}</title>\n <path\n d=\"M11 18c0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2 2 .9 2 2Zm-2-8c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2Zm0-6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2Zm6 4c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2Zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2Zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2Z\"\n fill={color}\n />\n </SVG>\n}\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype CreditCardIcon = SVGIconProps;\nexport default function CreditCardIcon({\n color=teal.main,\n size=\"medium\",\n altText=\"Credit Card\",\n ...props\n}: CreditCardIcon) {\n return <SVG size={size} aria-labelledby=\"CreditCardIcon\" {...props}>\n <title id=\"CreditCardIcon\" >{altText}</title>\n <path\n d=\"M20 4H4C2.89 4 2.01 4.89 2.01 6L2 18C2 19.11 2.89 20 4 20H20C21.11 20 22 19.11 22 18V6C22 4.89 21.11 4 20 4ZM20 18H4V12H20V18ZM20 8H4V6H20V8Z\" \n fill={color}\n />\n </SVG>\n}","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype ShopIcon = SVGIconProps;\nexport default function ShopIcon({\n color=teal.main,\n size=\"medium\",\n altText=\"Credit Card\",\n ...props\n}: ShopIcon) {\n return <SVG size={size} aria-labelledby=\"ShopIcon\" {...props}>\n <path fill=\"none\" d=\"M0 0h24v24H0z\" />\n <title id=\"ShopIcon\" >{altText}</title>\n <path\n d=\"M21.8978 8.89L20.8478 4.52C20.6278 3.62 19.8478 3 18.9378 3H5.04781C4.14781 3 3.35781 3.63 3.14781 4.52L2.09781 8.89C1.85781 9.91 2.07781 10.95 2.71781 11.77C2.79781 11.88 2.90781 11.96 2.99781 12.06V19C2.99781 20.1 3.89781 21 4.99781 21H18.9978C20.0978 21 20.9978 20.1 20.9978 19V12.06C21.0878 11.97 21.1978 11.88 21.2778 11.78C21.9178 10.96 22.1478 9.91 21.8978 8.89ZM18.9078 4.99L19.9578 9.36C20.0578 9.78 19.9678 10.2 19.7078 10.53C19.5678 10.71 19.2678 11 18.7678 11C18.1578 11 17.6278 10.51 17.5578 9.86L16.9778 5L18.9078 4.99ZM12.9978 5H14.9578L15.4978 9.52C15.5478 9.91 15.4278 10.3 15.1678 10.59C14.9478 10.85 14.6278 11 14.2178 11C13.5478 11 12.9978 10.41 12.9978 9.69V5ZM8.48781 9.52L9.03781 5H10.9978V9.69C10.9978 10.41 10.4478 11 9.70781 11C9.36781 11 9.05781 10.85 8.81781 10.59C8.56781 10.3 8.44781 9.91 8.48781 9.52ZM4.03781 9.36L5.04781 5H7.01781L6.43781 9.86C6.35781 10.51 5.83781 11 5.22781 11C4.73781 11 4.42781 10.71 4.29781 10.53C4.02781 10.21 3.93781 9.78 4.03781 9.36ZM4.99781 19V12.97C5.07781 12.98 5.14781 13 5.22781 13C6.09781 13 6.88781 12.64 7.46781 12.05C8.06781 12.65 8.86781 13 9.77781 13C10.6478 13 11.4278 12.64 12.0078 12.07C12.5978 12.64 13.3978 13 14.2978 13C15.1378 13 15.9378 12.65 16.5378 12.05C17.1178 12.64 17.9078 13 18.7778 13C18.8578 13 18.9278 12.98 19.0078 12.97V19H4.99781Z\"\n fill={color}\n />\n </SVG>\n}\n\n\n\n\n\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype HistoryIcon = SVGIconProps;\nexport default function HistoryIcon({\n color=teal.main,\n size=\"medium\",\n altText=\"Credit Card\",\n ...props\n}: HistoryIcon) {\n return <SVG size={size} aria-labelledby=\"HistoryIcon\" {...props}>\n <title id=\"HistoryIcon\" >{altText}</title>\n <path\n d=\"M13.5 3C8.53 3 4.5 7.03 4.5 12H1.5L5.39 15.89L5.46 16.03L9.5 12H6.5C6.5 8.13 9.63 5 13.5 5C17.37 5 20.5 8.13 20.5 12C20.5 15.87 17.37 19 13.5 19C11.57 19 9.82 18.21 8.56 16.94L7.14 18.36C8.77 19.99 11.01 21 13.5 21C18.47 21 22.5 16.97 22.5 12C22.5 7.03 18.47 3 13.5 3ZM12.5 8V13L16.75 15.52L17.52 14.24L14 12.15V8H12.5Z\"\n fill={color}\n />\n </SVG>\n}\n\n\n\n\n","import React from 'react';\nimport SVG, { SVGIconProps } from './SvgIcon';\nimport { teal } from '../colors';\n\ntype HandleIcon = SVGIconProps;\nexport default function HandleIcon({\n color=teal.main,\n size=\"medium\",\n altText=\"Credit Card\",\n ...props\n}: HandleIcon) {\n return <SVG size={size} aria-labelledby=\"HandleIcon\" {...props}>\n <title id=\"HandleIcon\" >{altText}</title>\n <path\n d=\"M11 18C11 19.1 10.1 20 9 20C7.9 20 7 19.1 7 18C7 16.9 7.9 16 9 16C10.1 16 11 16.9 11 18ZM9 10C7.9 10 7 10.9 7 12C7 13.1 7.9 14 9 14C10.1 14 11 13.1 11 12C11 10.9 10.1 10 9 10ZM9 4C7.9 4 7 4.9 7 6C7 7.1 7.9 8 9 8C10.1 8 11 7.1 11 6C11 4.9 10.1 4 9 4ZM15 8C16.1 8 17 7.1 17 6C17 4.9 16.1 4 15 4C13.9 4 13 4.9 13 6C13 7.1 13.9 8 15 8ZM15 10C13.9 10 13 10.9 13 12C13 13.1 13.9 14 15 14C16.1 14 17 13.1 17 12C17 10.9 16.1 10 15 10ZM15 16C13.9 16 13 16.9 13 18C13 19.1 13.9 20 15 20C16.1 20 17 19.1 17 18C17 16.9 16.1 16 15 16Z\"\n fill={color}\n />\n </SVG>\n}\n\n\n\n\n\n\n\n","import { get } from 'lodash';\nimport styled from 'styled-components'\nimport React from 'react'\nimport placeholder from './img/avatar-placeholder.png'\nimport { SharedStyles, SharedStyleTypes } from './SharedStyles';\nimport { neutrals, primary1, secondary1, secondary2, secondary3, secondary4 } from './colors';\nimport { UserIcon } from './icons';\n\n\nconst avatarSizes = {\n tiny: {\n size: '24px',\n fontSize: '10px'\n },\n small: {\n size: '32px',\n fontSize: '12px'\n },\n medium: {\n size: '40px',\n fontSize: '16px'\n },\n large: {\n size: '48px',\n fontSize: '16px'\n },\n huge: {\n size: '56px',\n fontSize: '20px'\n }\n};\n\nexport type AvatarSize = keyof typeof avatarSizes;\n\nconst avatarShapes = {\n square: '5px',\n circle: '50%'\n}\n\nexport type AvatarShape = keyof typeof avatarShapes;\n\nconst avatarColors = {\n teal: {\n backgroundColor: primary1['30'],\n textColor: primary1['60']\n },\n green: {\n backgroundColor: secondary3['30'],\n textColor: secondary3['60']\n },\n yellow: {\n backgroundColor: secondary2['30'],\n textColor: secondary2['60']\n },\n navy: {\n backgroundColor: secondary4['30'],\n textColor: secondary4['50']\n },\n pink: {\n backgroundColor: secondary1['20'],\n textColor: secondary1['40']\n }\n}\n\nexport type AvatarColor = keyof typeof avatarColors;\n\n\n// const avatarColorKeys = Object.keys(avatarColors);\n\n// const randomAvatarColor = avatarColorKeys[Math.floor(Math.random() * avatarColorKeys.length)];\n\ntype _AvatarProps = {size: AvatarSize, shape?: AvatarShape, color?: AvatarColor, hasPic?: boolean, initials?: string, icon?: boolean} & React.HTMLAttributes<HTMLDivElement> & SharedStyleTypes;\nconst AvatarWrapper = styled.div<_AvatarProps>`\n &&& {\n display: inline-block;\n vertical-align: top;\n overflow: hidden;\n margin: 0;\n ${SharedStyles}\n\n width: ${props => props.size};\n height: ${props => props.size};\n border-radius: ${props => props.shape};\n text-align: center;\n ${props => props.hasPic ? '' : `background: ${get(avatarColors, [props.color ?? 'teal', 'backgroundColor'], props.color)};`}\n ${props => props.hasPic ? '' : `color: ${get(avatarColors, [props.color ?? 'teal', 'textColor'], props.color)};`}\n }\n`\n\nconst AvatarPic = styled.img<_AvatarProps>`\n &&& {\n width: 100%;\n height: 100%;\n }\n`\nconst AvatarInitials = styled.p<_AvatarProps>`\n &&& {\n margin: 0;\n position: relative;\n top: 50%;\n transform: translate(0, -50%);\n font-family: 'skufont-bold', sans-serif;\n font-size: ${props => get(avatarSizes, [props.size ?? 'small', 'fontSize'], props.size)}\n`\n\nconst Avatar: React.FC<\n Omit<_AvatarProps, 'size'> & {pic?: string, size?: AvatarSize, shape?: AvatarShape, color?: AvatarColor, initials?: string, icon?: boolean}\n> = ({ pic, size='small', shape='square', color, initials, icon, children, ...props }) => {\n if(pic) {\n return <AvatarWrapper hasPic={true} size={get(avatarSizes, [size ?? 'small', 'size'], size) as AvatarSize} shape={get(avatarShapes, shape ?? 'square', shape) as AvatarShape} {...props}>\n <AvatarPic src={pic ?? placeholder } size={size}/>\n </AvatarWrapper>\n } else if (!pic && icon){\n return <AvatarWrapper size={get(avatarSizes, [size ?? 'small', 'size'], size) as AvatarSize} shape={get(avatarShapes, shape ?? 'square', shape) as AvatarShape} style={{backgroundColor: neutrals['50']}} {...props}><UserIcon color={neutrals[70]} size={size} style={{position:'relative', top: '50%', transform: 'translate(0, -50%)'}}/>\n </AvatarWrapper>\n } else {\n return <AvatarWrapper size={get(avatarSizes, [size ?? 'small', 'size'], size) as AvatarSize} shape={get(avatarShapes, shape ?? 'square', shape) as AvatarShape} color={color} initials={initials} {...props}>\n <AvatarInitials size={size}>{initials ?? children}</AvatarInitials>\n </AvatarWrapper>\n }\n \n}\n\nexport { Avatar }\n","import styled, { css, CSSObject } from 'styled-components';\nimport { sizes, media, TSize } from '../utils';\n\nexport type TSizeOffset = 'xsOffset' | 'smOffset' | 'mdOffset' | 'lgOffset' | 'xlOffset';\nexport type TSizeOffsetRight = 'xsOffsetRight' | 'smOffsetRight' | 'mdOffsetRight' | 'lgOffsetRight' | 'xlOffsetRight';\nexport type TSizeStyle = 'xsStyle' | 'smStyle' | 'mdStyle' | 'lgStyle' | 'xlStyle';\n\nexport type SizerTypes = {\n // [key: string]: any,\n collapse?: TSize | Array<TSize>, // hide for size(s)\n offset?: number,\n first?: string,\n last?: string,\n padded?: boolean,\n xs?: string|number|boolean|CSSObject,\n sm?: string|number|boolean|CSSObject,\n md?: string|number|boolean|CSSObject,\n lg?: string|number|boolean|CSSObject,\n xl?: string|number|boolean|CSSObject,\n xsOffset?: number,\n smOffset?: number,\n mdOffset?: number,\n lgOffset?: number,\n xlOffset?: number,\n xsOffsetRight?: number,\n smOffsetRight?: number,\n mdOffsetRight?: number,\n lgOffsetRight?: number,\n xlOffsetRight?: number,\n xsStyle?: string|CSSObject,\n smStyle?: string|CSSObject,\n mdStyle?: string|CSSObject,\n lgStyle?: string|CSSObject,\n xlStyle?: string|CSSObject,\n\n start?: boolean|number,\n end?: boolean|number,\n center?: boolean,\n totalCols?: number;\n};\n\nconst getTotalCols = (p: SizerTypes) => p.totalCols || 12;\n\nexport const SizerCss = css<SizerTypes>`\n ${(props) => props.start ? `\n justify-content: flex-start;\n text-align: left;\n ` : ''}\n ${(props) => props.center ? `\n justify-content: center;\n text-align: center;\n ` : ''}\n ${(props) => props.end ? `\n justify-content: flex-end;\n text-align: right;\n ` : ''}\n\n ${(props) => props.offset && `margin-left: ${props.offset/getTotalCols(props) * 100}%;`}\n ${(props) => props.collapse && typeof(props.collapse) === 'string' && media[props.collapse](`\n display: none;\n `)};\n ${(props: SizerTypes) => {\n let styles = '';\n\n if (props.collapse) {\n if (typeof(props.collapse) === 'string') {\n styles += media[props.collapse]('display: none;');\n } else if (typeof(props.collapse) === 'object' && Array.isArray(props.collapse)) {\n props.collapse.forEach((s: string) => {\n styles += media[s]('display: none;');\n });\n }\n }\n\n sizes.forEach((s) => {\n const val = props[s];\n if(val !== null && val !== undefined) {\n if (typeof(val) === 'boolean' || (typeof(val) === 'number' && !isNaN(val))) {\n if (val === false) {\n styles += media[s]('display: none;');\n } else {\n styles += media[s](`\n flex-basis: ${(typeof(val) === 'boolean' ? getTotalCols(props) : val)/getTotalCols(props) * 100}%;\n max-width: ${(typeof(val) === 'boolean' ? getTotalCols(props) : val)/getTotalCols(props) * 100}%;\n display: initial;\n `);\n }\n } else if (typeof(val) === 'string') {\n styles += media[s](val);\n }\n }\n\n const offset = props[`${s}Offset` as TSizeOffset];\n const offsetRight = props[`${s}OffsetRight` as TSizeOffsetRight];\n const customStyles = props[`${s}Style` as TSizeStyle];\n if(offset) {\n styles += media[s](`margin-left: ${(offset / getTotalCols(props) * 100)}%;`);\n }\n if(offsetRight) {\n styles += media[s](`margin-right: ${(offsetRight/getTotalCols(props) * 100)}%;`);\n }\n if(customStyles) {\n styles += media[s](customStyles);\n }\n });\n\n return styles;\n }}\n`;\n\nexport const SizerWrapper = styled.div<SizerTypes>`\n ${SizerCss}\n`;\n","import styled from 'styled-components';\nimport { SizerCss, SizerTypes } from './Sizer';\nimport { SharedStyles, SharedStyleTypes } from './SharedStyles'\n\nexport type RowPropTypes = {\n justify ?: string,\n wrap ?: string, // 'wrap', 'nowrap', 'wrap-reverse', ...\n align ?: string,\n padded ?: boolean,\n start ?: boolean,\n end ?: boolean,\n middle?: boolean,\n} & SharedStyleTypes;\n\nexport const Row = styled.div<RowPropTypes>`\n &&& {\n display: flex;\n box-sizing: border-box;\n flex-direction: row;\n flex: 0 1 auto;\n justify-content: ${(props) => props.justify || 'left' };\n flex-wrap: ${(props) => props.wrap ? props.wrap : 'wrap' };\n align-items: ${(props) => props.align || 'stretch' };\n padding: ${(props) => props.padded ? '0.5rem' : 'initial'};\n ${props => props.start ? 'place-content: flex-start;' : ''}\n ${props => props.end ? 'place-content: flex-end;' : ''}\n ${props => props.middle ? 'align-items: center;' : ''}\n ${SharedStyles}\n }\n`;\n\nexport type ColPropTypes = SizerTypes & SharedStyleTypes;\n\nexport const Col = styled.div<ColPropTypes>`\n &&& {\n padding: ${(props) => props.padded ? '0.5rem' : 'initial'};\n flex: 12;\n flex-grow: 1;\n box-sizing: border-box;\n ${SizerCss}\n ${SharedStyles}\n }\n`;\n","import styled, {css} from 'styled-components'\nimport { getThemeColor, colors } from './Theme';\nimport { SharedStyles, SharedStyleTypes } from './SharedStyles'\n\nconst headingStyle = css`\n font-family: \"skufont-demibold\", sans-serif;\n color: ${props => getThemeColor(props, 'texttitle', colors.texttitle)};\n font-weight: bold;\n`\n\nconst H1= styled.h1<{underlined?:boolean} & SharedStyleTypes>`\n &&& {\n font-size: 30px;\n border-bottom: ${props => props.underlined ? \"1px solid #ccc\" : \"none\"};\n ${headingStyle}\n ${SharedStyles}\n }\n`;\n\nconst H2= styled.h2<{underlined?:boolean} & SharedStyleTypes>`\n &&& {\n font-size: 25px;\n border-bottom: ${props => props.underlined ? \"1px solid #ccc\" : \"none\"};\n ${headingStyle}\n ${SharedStyles}\n }\n`;\n\nconst H3= styled.h3<{underlined?:boolean} & SharedStyleTypes>`\n &&& {\n font-size: 25px;\n border-bottom: ${props => props.underlined ? \"1px solid #ccc\" : \"none\"};\n ${headingStyle}\n ${SharedStyles}\n }\n`;\n\nconst H4= styled.h4<{underlined?:boolean} & SharedStyleTypes>`\n &&& {\n font-size: 23px;\n border-bottom: ${props => props.underlined ? \"1px solid #ccc\" : \"none\"};\n ${headingStyle}\n ${SharedStyles}\n }\n`;\n\nconst H5= styled.h5<{underlined?:boolean} & SharedStyleTypes>`\n &&& {\n font-size: 20px;\n border-bottom: ${props => props.underlined ? \"1px solid #ccc\" : \"none\"};\n ${headingStyle}\n ${SharedStyles}\n }\n`;\n\nconst H6= styled.h6<{underlined?:boolean} & SharedStyleTypes>`\n &&& {\n font-size: 18px;\n border-bottom: ${props => props.underlined ? \"1px solid #ccc\" : \"none\"};\n ${headingStyle}\n ${SharedStyles}\n }\n`;\n\nexport { H1, H2, H3, H4, H5, H6 };\n","import styled from 'styled-components'\nimport React from 'react'\nimport { Row, Col } from './FlexboxGrid'\nimport { H2 } from './Headings'\nimport { SharedStyles, SharedStyleTypes } from './SharedStyles';\n\nconst StyledBox = styled.div<{ borderless?: boolean, padded?: boolean } & SharedStyleTypes>`\n background: white;\n margin-top: 20px;\n box-shadow: ${props => props.borderless ? 0 : `0 2px 4px rgba(0, 0, 0, 0.07)`};\n border-radius: 5px;\n padding: 20px ${props => props.padded ? 20 : 0}px;\n ${SharedStyles}\n`\ntype BoxProps = React.PropsWithChildren<{\n borderless?: boolean,\n padded?: boolean,\n title?: string | React.ReactNode,\n controls?: React.ReactNode\n} & SharedStyleTypes>;\nconst Box = ({\n title,\n controls,\n children,\n ...props\n}: BoxProps) => {\n\n return (<StyledBox padded={props.padded} borderless={props.borderless} {...props}>\n {title || controls ?\n <Row>\n <Col xs={8}>\n {title ? <H2>{title}</H2> : null}\n </Col>\n <Col xs style={{ textAlign: \"right\" }}>\n {controls ? controls : null}\n </Col>\n </Row>\n : null}\n {children}\n </StyledBox>\n )\n}\n\nexport { Box }\n","import styled from 'styled-components'\nimport { getThemeColor, colors } from './Theme';\nimport { SharedStyles, SharedStyleTypes } from './SharedStyles'\n\nexport const Background = styled.div<{padded?: boolean, fillWindow?:boolean}&SharedStyleTypes>`\n &&& {\n background: ${props => getThemeColor(props, 'bggray', colors.bggray)};\n padding: 20px ${props => props.padded ? 20 : 0}px;\n min-height: ${props => props.fillWindow ? \"100vh\" : 0};\n ${SharedStyles}\n }\n`","import React, { useState, useEffect, Fragment } from 'react';\nimport { useDropzone, DropzoneOptions, DropEvent } from 'react-dropzone';\nimport styled from 'styled-components';\nimport { getThemeColor, colors } from './Theme';\nimport { SharedStyles, SharedStyleTypes } from './SharedStyles';\n\nexport const StyledDropArea = styled.div<{isDragAccept?: boolean, isDragReject?: boolean, isDragActive?: boolean}&SharedStyleTypes>`\n &&& {\n padding: 20px;\n border: 2px dashed ${props => getThemeColor(props, 'primary', colors.primary)}; \n cursor: pointer;\n border-radius: 5px;\n &:hover {\n background-color: ${props => getThemeColor(props, 'bgblue', colors.bgblue)};\n }\n border-color: ${props => getColor(props)};\n outline: none;\n transition: border .24s ease-in-out;\n width: 100%;\n ${SharedStyles}\n }\n`;\n\nconst PlaceHolder = styled.label`\n &&& {\n color: ${props => getThemeColor(props, 'primary', colors.primary)};\n text-align: center;\n width: 100%;\n display: block;\n }\n`\nconst ThumbsContainer = styled.aside`\n &&& {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n margin-top: 16px;\n }\n`;\n\nconst Thumb = styled.div`\n &&& {\n display: inline-flex;\n border-radius: 2px;\n border: 1px solid #eaeaea ${props => getThemeColor(props, 'bggray', colors.bggray)};\n margin-bottom: 8px;\n margin-right: 8px;\n width: 100px;\n height: 100px;\n padding: 4px;\n box-sizing: border-box;\n }\n`;\n\nconst ThumbInner = styled.div`\n &&& {\n display: flex;\n min-width: 0px;\n overflow: hidden;\n }\n`;\n\nconst ImgPreview = styled.img`\n &&& {\n display: block;\n width: auto;\n height: 100%;\n }\n`;\n\nexport type DropAreaProps = React.PropsWithChildren<{\n placeholder?: string | React.ReactNode;\n} & SharedStyleTypes>\nexport const DropArea = ({\n children,\n placeholder,\n ...props\n}: DropAreaProps) => {\n return <StyledDropArea {...props}>\n {children ? children : <PlaceHolder>{placeholder}</PlaceHolder>}\n </StyledDropArea>\n}\n\n\nconst getColor = (props: {isDragAccept?: boolean, isDragReject?: boolean, isDragActive?: boolean}) => {\n if (props.isDragAccept) {\n return '#00e676';\n }\n if (props.isDragReject) {\n return '#ff1744';\n }\n if (props.isDragActive) {\n return '#2196f3';\n }\n return '#02c0da';\n}\n\nexport type DropzoneTypes = { \n placeholder ?: string|React.ReactNode,\n showDroppedFiles ?: boolean,\n} & DropzoneOptions\n\nexport function Dropzoned({\n placeholder=\"Drop Here\",\n accept,\n showDroppedFiles=false,\n ...props\n}: DropzoneTypes) {\n const {\n acceptedFiles,\n getRootProps,\n getInputProps,\n isDragActive,\n isDragAccept,\n isDragReject,\n } = useDropzone({accept, ...props});\n\n const files = showDroppedFiles && acceptedFiles.map((file: File&{path?: string}) => (\n <li key={file.path}>\n {file.path} - {file.size} bytes\n </li>\n ));\n\n return (\n <Fragment>\n <StyledDropArea {...getRootProps({isDragActive, isDragAccept, isDragReject})}>\n <input {...getInputProps()} />\n <PlaceHolder>{placeholder}</PlaceHolder>\n </StyledDropArea>\n {showDroppedFiles && <aside>\n <h4>Files</h4>\n <ul>{files}</ul>\n </aside>}\n </Fragment>\n )\n}\n\nexport function DropzonedPreviews({\n placeholder=\"Drop Here\",\n accept,\n onDrop,\n ...props\n}: DropzoneTypes) {\n const [files, setFiles] = useState([]);\n const {\n getRootProps,\n getInputProps,\n isDragActive,\n isDragAccept,\n isDragReject,\n } = useDropzone({\n accept,\n onDrop: (acceptedFiles: File[], rejectedFiles: File[], event: DropEvent) => {\n onDrop && onDrop(acceptedFiles, rejectedFiles, event);\n // @ts-ignore\n setFiles(acceptedFiles.map((file: File) => Object.assign(file, {\n preview: URL.createObjectURL(file)\n })));\n },\n ...props\n });\n\n const thumbs = files.map((file: {preview: string}&File) => (\n <Thumb key={file.name}>\n <ThumbInner>\n <ImgPreview alt={'Preview Img'} src={file.preview} />\n </ThumbInner>\n </Thumb>\n ));\n\n useEffect(() => () => {\n // Make sure to revoke the data uris to avoid memory leaks\n files.forEach((file: {preview: string}&File) => URL.revokeObjectURL(file.preview));\n }, [files]);\n\n return (\n <section className=\"dropzoned-container\">\n <StyledDropArea {...getRootProps({isDragActive, isDragAccept, isDragReject})}>\n <input {...getInputProps()} />\n {thumbs.length \n ? <ThumbsContainer>{thumbs}</ThumbsContainer>\n : <PlaceHolder>{placeholder}</PlaceHolder>}\n </StyledDropArea>\n {/* <ThumbsContainer>{thumbs}</ThumbsContainer> */}\n </section>\n );\n}\n\n","import React, { useState } from 'react';\nimport { get } from 'lodash';\nimport styled, { CSSObject } from 'styled-components'\nimport { getThemeColor, themeOptions } from './Theme';\nimport { SharedStyles, SharedStyleTypes } from './SharedStyles';\nimport { SizerCss, SizerTypes } from './Sizer';\nimport colors from './colors';\nimport { EditIcon, TrashIcon, AddIcon, SubtractIcon, XIcon, DragIcon } from './icons';\n\n/*\n\n PASS THE BUTTON TYPE AS A PROP:\n - primary (default)\n - secondary\n - cta\n - link\n\n PASS A SIZE AS A PROP:\n - xl\n - large\n - medium (default)\n - small\n - tiny\n \n OPTIONAL PROPS:\n - disabled\n\n*/\n\nexport const sizes = {\n tiny: {\n 'font-family': themeOptions.fontStyles.button.tiny.fontFamily,\n 'font-size': themeOptions.fontStyles.button.tiny.fontSize,\n 'line-height': themeOptions.fontStyles.button.tiny.lineHeight,\n padding: '3px 9px', // 6px 12px minus 3px each for border\n iconOnlyPadding: '3px', // 6px minus 3px each for border\n borderRadius: '3px',\n iconSize: '16px',\n },\n small: {\n 'font-family': themeOptions.fontStyles.button.small.fontFamily,\n 'font-size': themeOptions.fontStyles.button.small.fontSize,\n 'line-height': themeOptions.fontStyles.button.small.lineHeight,\n padding: '5px 13px', //8px 16px minus 3px each for border\n iconOnlyPadding: '5px', //8px minus 3px each for border\n borderRadius: '4px',\n iconSize: '16px'\n\n },\n medium: {\n 'font-family': themeOptions.fontStyles.button.medium.fontFamily,\n 'font-size': themeOptions.fontStyles.button.medium.fontSize,\n 'line-height': themeOptions.fontStyles.button.medium.lineHeight,\n padding: '5px 21px', //8px 24px minus 3px each for border\n iconOnlyPadding: '5px', //5px minus 3px each for border\n borderRadius: '4px',\n iconSize: '24px'\n\n },\n large: {\n 'font-family': themeOptions.fontStyles.button.large.fontFamily,\n 'font-size': themeOptions.fontStyles.button.large.fontSize,\n 'line-height': themeOptions.fontStyles.button.large.lineHeight,\n padding: '9px 21px', //12px 24px minus 3px each for border\n iconOnlyPadding: '9px', //12px minus 3px each for border\n borderRadius: '4px',\n iconSize: '32px'\n },\n huge: {\n 'font-family': themeOptions.fontStyles.button.huge.fontFamily,\n 'font-size': themeOptions.fontStyles.button.huge.fontSize,\n 'line-height': themeOptions.fontStyles.button.huge.lineHeight,\n padding: '13px 29px', // 16px 32px minus 3px each for border\n iconOnlyPadding: '13px', //16px minus 3px each for border\n borderRadius: '5px',\n iconSize: '48px'\n\n },\n};\nexport type TSize = keyof typeof sizes;\n\nexport type ButtonPreset = 'edit'\n| 'delete'\n| 'add' \n| 'remove'\n| 'close'\n| 'drag'\n;\n\nexport type ButtonVariant = 'primary'\n | 'secondary'\n | 'cta'\n | 'error'\n | 'disabled'\n | 'text'\n | 'primary-light'\n | 'text-error'\n // | 'cta-outline'\n // | 'error-outline'\n // | 'disabled-outline';\n\ntype ButtonProps = {\n secondary?: boolean;\n cta?: boolean;\n size?: TSize;\n variant?: ButtonVariant\n} & SharedStyleTypes & SizerTypes;\n\nconst getSizeStyle = (style: string, defaults: string) => {\n return ({ size }: ButtonProps) => {\n if (size) {\n return get(sizes, [size, style]) || defaults;\n }\n return defaults;\n };\n}\n\nconst getVariantStyles = (props: ButtonProps, variant: ButtonVariant): CSSObject => {\n const white = getThemeColor(props, 'neutrals.white', colors.neutrals.white);\n const disabled = getThemeColor(props, 'neutrals.50', colors.errors['50']);\n const disabledText = getThemeColor(props, 'neutrals.70', colors.errors['70']);\n\n const primary = getThemeColor(props, 'primary1.main', colors.primary1.main);\n const primaryDark = getThemeColor(props, 'primary1.75', colors.primary1['75']);\n const primaryLight = getThemeColor(props, 'primary1.20', colors.primary1['20']);\n\n const cta = getThemeColor(props, 'secondary1.main', colors.secondary1.main);\n const ctaDark = getThemeColor(props, 'secondary1.80', colors.secondary1['80']);\n // const ctaLight = getThemeColor(props, 'secondary1.20', colors.secondary1['20']);\n\n const error = getThemeColor(props, 'errors.main', colors.errors.main);\n const errorDark = getThemeColor(props, 'errors.70', colors.errors['70']);\n\n switch (variant) {\n case 'primary':\n return {\n borderWidth: 3,\n borderStyle: 'solid',\n borderColor: primary,\n background: primary,\n color: white,\n ':hover': {\n borderWidth: 3,\n borderStyle: 'solid',\n borderColor: primaryDark,\n background: primaryDark,\n color: white,\n },\n ':focus-visible': {\n outlineColor: primary,\n },\n };\n case 'secondary':\n return {\n borderWidth: 3,\n borderStyle: 'solid',\n borderColor: primary,\n background: white,\n color: primary,\n ':hover': {\n borderWidth: 3,\n borderStyle: 'solid',\n borderColor: primary,\n background: primaryLight,\n color: primary,\n },\n ':focus-visible': {\n outlineColor: primary,\n },\n };\n case 'primary-light':\n return {\n borderWidth: 3,\n borderStyle: 'solid',\n borderColor: primaryLight,\n background: primaryLight,\n color: primary,\n ':hover': {\n borderWidth: 3,\n borderStyle: 'solid',\n borderColor: primaryLight,\n background: white,\n color: primary,\n },\n ':focus-visible': {\n outlineColor: primaryLight,\n },\n };\n case 'cta':\n return {\n borderWidth: 3,\n borderStyle: 'solid',\n borderColor: cta,\n background: cta,\n color: white,\n ':hover': {\n borderWidth: 3,\n borderStyle: 'solid',\n borderColor: ctaDark,\n background: ctaDark,\n color: white,\n },\n ':focus-visible': {\n outlineColor: cta,\n },\n };\n case 'error':\n return {\n borderWidth: 3,\n borderStyle: 'solid',\n borderColor: error,\n background: error,\n color: white,\n ':hover': {\n borderWidth: 3,\n borderStyle: 'solid',\n borderColor: errorDark,\n background: errorDark,\n color: white,\n },\n ':focus-visible': {\n outlineColor: error,\n },\n };\n case 'disabled':\n return {\n borderWidth: 3,\n borderStyle: 'solid',\n borderColor: disabled,\n background: disabled,\n color: disabledText,\n cursor: 'default',\n ':focus-visible': {\n outlineColor: disabled,\n },\n };\n case 'text':\n return {\n borderWidth: 3,\n borderStyle: 'solid',\n borderColor: white,\n background: white,\n color: primary,\n ':hover': {\n borderWidth: 3,\n borderStyle: 'solid',\n borderColor: primaryLight,\n background: primaryLight,\n color: primary,\n },\n ':focus-visible': {\n outlineColor: white,\n },\n };\n case 'text-error':\n return {\n borderWidth: 3,\n borderStyle: 'solid',\n borderColor: 'transparent',\n background: 'transparent',\n color: error,\n ':hover': {\n borderWidth: 3,\n borderStyle: 'solid',\n borderColor: error,\n background: error,\n color: white,\n },\n ':focus-visible': {\n outlineColor: 'transparent',\n },\n };\n default:\n return {};\n }\n};\n\nconst Button = styled.button<ButtonProps>`\n &&& {\n border: 3px solid white;\n border-radius: ${props => props.size && sizes[props.size] ? sizes[props.size].borderRadius : '4px'};\n background: ${({ secondary, cta, ...props }) => \n secondary ? \"transparent\" : \n cta ? getThemeColor(props, 'cta', colors.cta) : getThemeColor(props, 'primary', colors.teal.main)\n };\n color: ${props => props.secondary ? getThemeColor(props, 'primary', colors.primary) : \"white\"};\n border-color: ${props => props.cta ? getThemeColor(props, 'cta', colors.cta) : getThemeColor(props, 'primary', colors.teal.main)};\n font-size: ${getSizeStyle('font-size', '1rem')};\n line-height: ${getSizeStyle('line-height', '1.5rem')};\n padding: ${p => getSizeStyle('padding', '12px 25px')};\n font-family: ${getSizeStyle('font-family', \"'skufont-demibold', sans-serif\")};\n cursor: pointer;\n vertical-align: top;\n /*\n &:focus {\n outline: none;\n opacity: .9;\n box-shadow: 0 0 8px ${({ secondary, cta, ...props }) => \n secondary ? getThemeColor(props, 'primary', colors.primary): \n cta ? getThemeColor(props, 'cta', colors.cta) : getThemeColor(props, 'primary', colors.primary)\n };\n }\n */\n &:disabled {\n background-color: ${props => getThemeColor(props, 'disabledButton', colors.disabledButton)};\n border-color: ${props => getThemeColor(props, 'disabledButtonBorder', colors.disabledButtonBorder)};\n color: ${props => getThemeColor(props, 'primary', colors.primary)};\n cursor: default;\n opacity: 0.5;\n }\n ${p => getVariantStyles(p, p.variant || 'primary')}\n ${SharedStyles}\n ${SizerCss}\n }\n`;\n\nexport const ButtonsGroup = styled.div<SharedStyleTypes & SizerTypes>`\n &&& {\n display: inline-block;\n max-width: 100%;\n margin-bottom: 10px;\n margin-right: 100px;\n ${SharedStyles}\n ${SizerCss}\n }\n`;\n\nconst presets: {[key: string]: IconButtonProps} = {\n edit: {\n size: \"medium\",\n Icon: EditIcon,\n variant: \"primary\"\n },\n delete: {\n Icon: TrashIcon, \n variant: 'error'\n },\n add: {\n Icon: AddIcon,\n variant: 'secondary'\n },\n remove: {\n Icon: SubtractIcon,\n variant: 'secondary'\n },\n close: {\n Icon: XIcon,\n variant: 'secondary'\n },\n drag: {\n Icon: DragIcon,\n variant: 'text',\n style: {\n cursor: 'grab',\n }\n }\n};\n\nfunction getPropsByPresets(props: IconButtonProps, preset?: ButtonPreset) {\n\n const presetProps = get(presets, [preset || \"\"]) || {};\n return { ...presetProps, ...props }\n}\n\ntype IconFuncProps = { color: string; [key: string]: any };\nexport type TButtonIcon = ((props: IconFuncProps) => React.ReactElement);\nexport type IconButtonProps = React.PropsWithChildren<ButtonProps & {\n Icon?: TButtonIcon | React.ReactElement<IconFuncProps>;\n iconProps?: {[key: string]: any};\n iconPosition?: 'left' | 'right' | 'top' | 'bottom';\n preset?: ButtonPreset;\n style?: React.CSSProperties;\n}> & React.ButtonHTMLAttributes<HTMLButtonElement>;\nexport const IconButton = React.forwardRef<HTMLButtonElement, IconButtonProps>((props, ref) => {\n const {\n Icon,\n children,\n iconPosition='left',\n size=\"medium\",\n iconProps={},\n ...newProps\n } = getPropsByPresets(props, props.preset);\n const [hovering, setHovering] = useState(false);\n\n const variantStyles = React.useMemo(() => {\n return newProps.variant\n ? getVariantStyles(props, newProps.variant)\n : { color: '#fff' };\n }, [newProps, props]);\n\n const hasChildren = (\n (children && children !== null && children !== undefined)\n || (children && Array.isArray(children) && children.length > 0\n && children[0] !== null && children[0] !== undefined)\n );\n\n const buttonPadding = !hasChildren\n ? getSizeStyle('iconOnlyPadding', '12px')\n : getSizeStyle('padding', '12px');\n\n return (\n <Button\n ref={ref}\n size={size}\n {...newProps}\n style={{\n ...(newProps.style || {}),\n padding: buttonPadding({ ...newProps, size: size }),\n ...(iconPosition === \"top\" || iconPosition === \"bottom\" ? {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n\n } : {}),\n }}\n onMouseOver={() => setHovering(true)}\n onMouseLeave={() => setHovering(false)}\n >\n {['left', 'top'].includes(iconPosition) && <ButtonIcon\n Icon={Icon}\n size={size}\n variantStyles={variantStyles}\n iconProps={iconProps}\n iconPosition={iconPosition}\n hasChildren={!!hasChildren}\n isHovering={hovering}\n />}\n {children}\n {['right', 'bottom'].includes(iconPosition) && <ButtonIcon\n Icon={Icon}\n size={size}\n variantStyles={variantStyles}\n iconProps={iconProps}\n iconPosition={iconPosition}\n hasChildren={!!hasChildren}\n isHovering={hovering}\n />}\n </Button>\n );\n});\n\ntype ButtonIconProps = {\n Icon?: TButtonIcon | React.ReactElement<IconFuncProps>;\n iconProps?: {[key: string]: any};\n iconPosition?: 'left' | 'right' | 'top' | 'bottom';\n size?: TSize;\n variantStyles: CSSObject;\n hasChildren?: boolean;\n isHovering?: boolean;\n};\nconst ButtonIcon = React.forwardRef<SVGElement, ButtonIconProps>((props, ref) => {\n const {\n Icon,\n size,\n variantStyles,\n iconProps={},\n iconPosition,\n hasChildren,\n isHovering,\n } = props;\n if (!Icon) { return null; }\n\n let btnSize = \"small\";\n if (size !== \"tiny\" && size !== \"small\") {\n btnSize = \"medium\";\n }\n const hoverColor = get(variantStyles, [':hover', 'color']) || '';\n const iconNewProps = {\n ...iconProps,\n size: btnSize,\n color: hoverColor && isHovering ? hoverColor : (iconProps?.color || variantStyles.color || '#fff'),\n style: {\n verticalAlign: 'top',\n paddingRight: hasChildren && iconPosition === \"left\" ? '5px' : '0px',\n paddingLeft: hasChildren && iconPosition === \"right\" ? '5px' : '0px',\n boxSizing: 'content-box',\n ...(iconProps?.style || {}),\n },\n };\n\n if (typeof Icon !== 'function') {\n return React.cloneElement(Icon, iconNewProps);\n }\n\n return (\n <Icon {...iconNewProps} ref={ref} />\n );\n});\n\nexport {Button};\n","import styled from 'styled-components'\nimport { getThemeColor } from './Theme';\nimport { SharedStyles, SharedStyleTypes } from './SharedStyles';\n\nconst Label = styled.label<{error?: boolean} & SharedStyleTypes>`\n &&& {\n font-family: 'skufont-medium', sans-serif;\n color: ${props => props.error ? getThemeColor(props, 'special3') : getThemeColor(props, 'textlabel')};\n font-size: 1rem;\n font-weight: 400;\n width: 100%;\n ${SharedStyles}\n }\n`;\n\nexport {Label};\n","import { map } from 'lodash';\nimport React, { useState, useRef, CSSProperties, useEffect } from 'react'\nimport styled, { CSSObject } from 'styled-components'\nimport { getThemeColor, colors, fontStyles } from './Theme';\nimport { SharedStyles, SharedStyleTypes } from './SharedStyles';\nimport {Label} from './Label'\nimport { document } from '../utils';\nimport { RadioIcon, CheckboxIcon } from './icons';\nimport { neutrals, teal } from './colors';\nimport { RadioIconProps } from './icons/RadioIcon';\nimport { CheckboxIconProps } from './icons/CheckboxIcon';\n\ntype CommonInputProp = {\n noMargin?: boolean,\n error?:boolean,\n};\n\ntype BaseInputProps = CommonInputProp\n & { hasIcon?: boolean; }\n & SharedStyleTypes;\nexport type InputProps = BaseInputProps\n & React.InputHTMLAttributes<HTMLInputElement>;\n\ntype BaseInputIconLabelProps = CommonInputProp & {\n isActive?: boolean;\n isDisabled?: boolean;\n isHover?: boolean;\n iconPosition?: 'left' | 'right';\n};\n\nexport const InputIconLabel = styled.div<BaseInputIconLabelProps>`\n&&& {\n box-sizing: border-box;\n width: 40px;\n height: ${p => p.error ? 38 : 36}px;\n background-color: ${p =>\n p.error\n ? getThemeColor(p, 'errors.main', colors.errors.main)\n : getThemeColor(p, 'input.iconWrapper.background', colors.input.iconWrapper.background)\n };\n border-radius: ${p => p.iconPosition === 'right' ? '0 3px 3px 0' : '3px 0 0 3px'};\n margin-bottom: 1rem;\n color: white;\n font-size: 18px;\n text-align: center;\n line-height: 1.5rem;\n padding: 6px;\n\n :hover {\n background: ${p => getThemeColor(p, 'input.iconWrapper.hover.background')};\n }\n\n ${p => p.isHover\n ? `background: ${getThemeColor(p, 'input.iconWrapper.hover.background')};`\n : ''}\n\n ${p => p.isActive\n ? `background: ${getThemeColor(p, 'input.iconWrapper.active.background')};`\n : ''}\n\n ${p => p.isDisabled\n ? `background: ${getThemeColor(p, 'input.iconWrapper.disabled.background')};`\n : ''}\n}\n`\n\nexport const InputIconLabelContainer = styled.div`\n display: flex;\n justify-content: flex-start;\n align-items: center;\n\n ${p => {\n return {\n fontSize: '1rem',\n fontFamily: \"'skufont-regular', sans-serif\",\n boxSizing: 'border-box',\n backgroundColor: getThemeColor(p, 'input.background'),\n boxShadow: 'inset 0 1px 2px rgba(0, 0, 0, 0.1)',\n width: '100%',\n border: `1px solid ${getThemeColor(p, 'input.border')}`,\n borderRadius: 5,\n padding: 0,\n color: getThemeColor(p, 'input.text'),\n ':hover': {\n borderColor: getThemeColor(p, 'input.hover.border'),\n },\n };\n }}\n`\n\nexport const Input = styled.input<BaseInputProps>`\n &&& {\n ${p => {\n const styles: CSSObject = {\n marginBottom: p.noMargin ? 0 : \"1rem\",\n fontSize: '1rem',\n fontFamily: \"'skufont-regular', sans-serif\",\n boxSizing: 'border-box',\n backgroundColor: getThemeColor(p, 'input.background'),\n boxShadow: 'inset 0 1px 2px rgba(0, 0, 0, 0.1)',\n width: '100%',\n border: `1px solid ${getThemeColor(p, 'input.border')}`,\n borderRadius: 5,\n padding: '8px 8px 8px 8px',\n color: getThemeColor(p, 'input.text'),\n \"::placeholder\": {\n color: getThemeColor(p, 'input.placeholder'),\n },\n ':hover': p.disabled ? undefined : {\n borderColor: getThemeColor(p, 'input.hover.border'),\n \"::placeholder\": {\n color: getThemeColor(p, 'input.hover.placeholder'),\n },\n },\n ':focus': {\n borderColor: getThemeColor(p, 'input.active.border'),\n color: getThemeColor(p, 'input.active.text'),\n outline: 'none',\n boxShadow: `1px 1px 0px ${getThemeColor(p, 'input.active.border')},\n -1px -1px 0px ${getThemeColor(p, 'input.active.border')},\n 1px -1px 0px ${getThemeColor(p, 'input.active.border')},\n -1px 1px 0px ${getThemeColor(p, 'input.active.border')};`,\n },\n ':disabled': {\n border: 'none',\n boxShadow: 'none',\n outline: 'none',\n color: getThemeColor(p, 'input.disabled.text'),\n backgroundColor: getThemeColor(p, 'input.disabled.background'),\n },\n };\n\n if (p.error) {\n styles['borderColor'] = getThemeColor(p, 'input.error.border');\n styles[':hover'] = {\n ...(styles[':hover'] || {}),\n borderColor: getThemeColor(p, 'input.error.border'),\n };\n styles[':focus'] = {\n color: getThemeColor(p, 'input.active.text'),\n outline: 'none',\n borderColor: getThemeColor(p, 'input.error.border'),\n boxShadow: `1px 1px 0px ${getThemeColor(p, 'input.error.border')},\n -1px -1px 0px ${getThemeColor(p, 'input.error.border')},\n 1px -1px 0px ${getThemeColor(p, 'input.error.border')},\n -1px 1px 0px ${getThemeColor(p, 'input.error.border')}`,\n }\n }\n\n if (p.hasIcon) {\n styles['border'] = 'none';\n styles['borderColor'] = 'none';\n styles['boxShadow'] = 'none';\n styles['outline'] = 'none';\n styles[':focus'] = undefined;\n styles[':hover'] = undefined;\n }\n\n return styles;\n }}\n }\n ${SharedStyles}\n`;\n\n\ntype BaseLabelInputProps = InputProps & {\n label: string,\n name?: string,\n labelOnTop?: boolean,\n wrapperProps?: React.HTMLAttributes<HTMLDivElement>,\n} & SharedStyleTypes;\ntype LabeledInputPropType = React.InputHTMLAttributes<HTMLInputElement> & BaseLabelInputProps;\nexport const LabeledInput =\n React.forwardRef<HTMLInputElement, LabeledInputPropType>(\n ({label, name, required, labelOnTop=false, wrapperProps={}, ...props}, ref) => (\n <div {...wrapperProps}>\n <Label\n htmlFor={name}\n style={{\n ...(!labelOnTop ? {} : {display: 'block'}),\n fontFamily: \"'skufont-medium', sans-serif\",\n lineHeight: '24px',\n fontSize: '16px',\n color: getThemeColor(props, 'neutrals.100'),\n }}\n >{label} {required && '*'}</Label>\n <Input ref={ref} name={name} required={required} {...props}></Input>\n </div>\n )\n );\n\ntype BaseLabeledIconInputProps = InputProps & {\n label?: string,\n name?: string,\n labelOnTop?: boolean,\n Icon: React.ReactElement,\n iconPosition?: 'left' | 'right',\n iconLabelStyles?: React.CSSProperties,\n} & SharedStyleTypes;\ntype LabeledIconInputProps = React.InputHTMLAttributes<HTMLInputElement> & BaseLabeledIconInputProps;\nexport const LabeledIconInput = React.forwardRef<HTMLInputElement, LabeledIconInputProps>(\n (\n {\n label,\n name,\n value,\n defaultValue,\n placeholder,\n required,\n labelOnTop=false,\n Icon,\n noMargin,\n error,\n disabled,\n onFocus,\n onChange,\n onBlur,\n iconPosition = 'left',\n iconLabelStyles = {},\n ...props\n },\n ref\n ) => {\n const containerRef = useRef<HTMLDivElement>(null);\n const [isActive, setIsActive] = useState(false);\n const [isHovering, setIsHovering] = useState(false);\n\n const activeBorderColor = getThemeColor(props, 'input.active.border', colors.input.active.border);\n const activeTextColor = colors.input.active.text;\n const errorBorderColor = getThemeColor(props, 'input.error.border', colors.input.error.border);\n const disabledBackground = colors.input.disabled.background;\n const disabledTextColor = colors.input.disabled.text;\n const activeStyles = !isActive ? {} : {\n borderColor: error ? errorBorderColor : activeBorderColor,\n color: getThemeColor(props, 'input.active.text', activeTextColor),\n outline: 'none',\n boxShadow: `1px 1px 0px ${error ? errorBorderColor : activeBorderColor},\n -1px -1px 0px ${error ? errorBorderColor : activeBorderColor},\n 1px -1px 0px ${error ? errorBorderColor : activeBorderColor},\n -1px 1px 0px ${error ? errorBorderColor : activeBorderColor}`,\n };\n const errorStyles = !error ? {} : {\n borderColor: errorBorderColor,\n };\n const disabledStyles = !disabled ? {} : {\n border: 'none',\n borderColor: 'none',\n boxShadow: 'none',\n outline: 'none',\n color: getThemeColor(props, 'input.disabled.text', disabledTextColor),\n backgroundColor: getThemeColor(props, 'input.disabled.background', disabledBackground),\n };\n\n const NewIcon = React.useMemo(() => {\n const iconProps = {\n fill: '#fff',\n color: '#fff',\n };\n if (error) {\n iconProps['fill'] = errorBorderColor;\n iconProps['color'] = errorBorderColor;\n } else if (disabled) {\n iconProps['fill'] = colors.input.icon.disabled.fill;\n iconProps['color'] = colors.input.icon.disabled.fill;\n } else if (isHovering) {\n iconProps['fill'] = colors.input.icon.hover.fill;\n iconProps['color'] = colors.input.icon.hover.fill;\n } else if (isActive) {\n iconProps['fill'] = colors.input.icon.active.fill;\n iconProps['color'] = colors.input.icon.active.fill;\n }\n return React.cloneElement(Icon, iconProps);\n }, [Icon, error, disabled, errorBorderColor, isActive, isHovering]);\n\n const onClickOutside = (e: Event) => {\n if (containerRef.current && !containerRef.current.contains(e.target as Node)) {\n setIsActive(false);\n }\n };\n\n useEffect(() => {\n document.addEventListener('click', onClickOutside);\n\n return () => {\n document.removeEventListener('click', onClickOutside);\n };\n }, []);\n\n return (\n <div>\n {label ? <Label\n htmlFor={name}\n style={{\n ...(!labelOnTop ? {} : {display: 'block'}),\n fontFamily: \"'skufont-medium', sans-serif\",\n lineHeight: '24px',\n fontSize: '16px',\n color: getThemeColor(props, 'neutrals.100'),\n }}\n >{label} {required && '*'}</Label> : null}\n <InputIconLabelContainer\n {...props}\n ref={containerRef}\n onClick={() => {\n if (isActive) { return; }\n setIsActive(!isActive);\n }}\n style={{\n ...activeStyles,\n ...errorStyles,\n ...disabledStyles,\n ...(props.style || {}),\n }}\n onMouseOver={() => setIsHovering(true)}\n onMouseLeave={() => setIsHovering(false)}\n >\n {iconPosition !== 'right' ? <InputIconLabel\n style={{ marginBottom: 0, ...iconLabelStyles }}\n isActive={isActive}\n isDisabled={disabled}\n isHover={isHovering}\n >{NewIcon}</InputIconLabel> : null}\n <Input\n hasIcon\n ref={ref}\n name={name}\n value={value}\n defaultValue={defaultValue}\n placeholder={placeholder}\n required={required}\n style={{ marginBottom: 0, }}\n noMargin={noMargin}\n error={error}\n disabled={disabled}\n onFocus={onFocus}\n onChange={onChange}\n onBlur={onBlur}\n />\n {iconPosition === 'right' ? <InputIconLabel\n style={{ marginBottom: 0, padding: 6, }}\n isActive={isActive}\n isDisabled={disabled}\n isHover={isHovering}\n iconPosition={iconPosition}\n >{NewIcon}</InputIconLabel> : null}\n </InputIconLabelContainer>\n </div>\n );\n }\n);\n\nexport const CheckboxLabel = styled.label<{disabled?: boolean}>`\n &&& {\n display: inline-flex;\n position: relative;\n margin-bottom: 12px;\n margin-right: 24px;\n cursor: ${props => props.disabled ? 'default' : 'pointer'};\n font-size: ${fontStyles.label.fontSize};\n color: ${neutrals.darkest};\n font-family: ${fontStyles.label.fontFamily};\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n font-weight: normal;\n line-height: ${fontStyles.label.lineHeight};\n box-sizing: border-box;\n opacity: ${(props) => props.disabled ? 0.7 : 1};\n &:focus {\n outline: 0;\n }\n }\n`;\n\nexport const RadioLabel = styled(CheckboxLabel)`\n &&& {\n padding-left: 32px;\n }\n`;\n\ntype BaseRadioProps = {isHovering?: boolean};\nexport type RadioProps = React.InputHTMLAttributes<HTMLInputElement> & BaseRadioProps;\nexport const Radio = styled.input<BaseRadioProps>`\n &&& {\n position: absolute;\n opacity: 0;\n cursor: pointer;\n box-sizing: border-box;\n &:focus {\n outline: 0;\n }\n &:checked {\n background-color: white;\n display: block;\n }\n &:hover {\n background-color: #02c0da;\n }\n ${props => props.isHovering && `background-color: #02c0da;`}\n ${SharedStyles}\n }\n`;\n\nexport const CheckMark = styled.span<{checked?: boolean, isHovering?: boolean, disabled?: boolean}&SharedStyleTypes>`\n position: absolute;\n top: 0;\n left: 0;\n height: 23px;\n width: 23px;\n background-color: ${(props) => ((props.isHovering || props.checked) && !props.disabled) ? '#02c0da' : 'white'};\n opacity: ${(props) => props.disabled ? 0.7 : 1};\n filter: ${(props) => props.disabled ? \"grayscale(100%)\" : \"none\"};\n border: 2px solid #02c0da;\n border-radius: 4px;\n box-sizing: border-box;\n &:focus {\n outline: 0;\n }\n &:hover {\n background-color: ${(props) => props.disabled ? \"white\" : \"#02c0da\"};\n }\n &::after {\n content: \"\";\n position: absolute;\n left: 9px;\n top: 5px;\n width: 5px;\n height: 10px;\n border: solid white;\n border-width: 0 3px 3px 0;\n -webkit-transform: rotate(45deg);\n -ms-transform: rotate(45deg);\n transform: rotate(45deg);\n box-sizing: border-box;\n display: ${(props) => props.checked ? 'block' : 'none'};\n }\n ${SharedStyles}\n`\n\nexport const Dot = styled.span<{checked?: boolean, isHovering?: boolean, disabled?: boolean}&SharedStyleTypes>`\n &&& {\n position: absolute;\n top: 0;\n left: 0;\n height: 23px;\n width: 23px;\n opacity: ${(props) => props.disabled ? 0.7 : 1};\n filter: ${(props) => props.disabled ? \"grayscale(100%)\" : \"none\"};\n background-color: ${(props) => (props.isHovering && !props.checked && !props.disabled) ? '#02c0da' : 'white'};\n border: 2px solid #02c0da;\n border-radius: 50%;\n box-sizing: border-box;\n &:focus {\n outline: 0;\n }\n &:hover {\n background-color: ${(props) => !props.checked && !props.disabled ? '#02c0da' : 'white'};\n }\n &::after {\n top: 5px;\n left: 5px;\n width: 9px;\n height: 9px;\n border-radius: 50%;\n background: #02c0da;\n content: \"\";\n position: absolute;\n display: none;\n ${(props) => props.checked && `display: block;`}\n }\n ${SharedStyles}\n`;\n\nDot.defaultProps = {\n checked: false,\n}\n\nCheckMark.defaultProps = {\n checked: false,\n}\n\nexport type LabeledRadioProps = RadioProps & {\n label: string;\n labelStyle?: React.CSSProperties;\n radioIconStyle?: React.CSSProperties;\n radioColor?: string;\n radioHoverColor?: string;\n labelProps?: React.LabelHTMLAttributes<HTMLLabelElement>;\n radioIconProps?: RadioIconProps;\n};\n\nexport const LabeledRadio: React.FC<LabeledRadioProps> = ({ \n label,\n name,\n checked,\n disabled,\n labelStyle,\n radioIconStyle,\n radioColor,\n radioHoverColor,\n onChange,\n labelProps={},\n radioIconProps={},\n ...props \n}) => {\n const [ isHovering, updateHover ] = useState(false);\n const radio = useRef<HTMLInputElement>(null);\n\n return (\n <RadioLabel\n {...labelProps}\n htmlFor={name}\n onMouseOver={(e) => updateHover(true)}\n onMouseLeave={(e) => updateHover(false)}\n disabled={disabled}\n style={{...labelStyle, ...(labelProps.style || {})}}\n onClick={() => {\n radio.current?.click();\n }}\n >\n <RadioIcon \n {...radioIconProps}\n selected={checked} \n hover={isHovering} \n disabled={disabled} \n color={radioColor}\n hoverColor={radioHoverColor}\n mr={8} \n style={{\n ...(radioIconProps.style || {}),\n ...(radioIconStyle ? radioIconStyle : {position: 'absolute', left: 0}),\n }}/>\n {label}\n <Radio ref={radio} name={name} type=\"radio\" checked={checked} isHovering={isHovering} onChange={disabled? undefined : onChange} {...props} />\n </RadioLabel>\n );\n}\n\nexport const LabeledRadioInButton: React.FC<LabeledRadioProps & {flexGrow?: boolean} > = ({ \n label,\n name,\n checked,\n disabled,\n labelStyle,\n radioIconStyle,\n flexGrow,\n onChange,\n ...props \n}) => {\n return(\n <LabeledRadio \n label={label}\n checked={checked}\n disabled={disabled}\n onChange={onChange}\n labelStyle={{\n padding: \"13px 40px\",\n backgroundColor: disabled ? neutrals['40'] : checked ? colors.white : teal['20'],\n border: disabled ? `solid 3px ${neutrals['40']}` : checked ? `solid 3px ${teal.main}` : `solid 3px ${teal['20']}`,\n borderRadius: \"200px\",\n color: disabled ? neutrals['70'] : teal.main,\n flexGrow: flexGrow ? 1 : undefined, \n justifyContent: 'center',\n }}\n radioIconStyle={{\n }}\n />\n )\n}\n\nexport const LabeledRadioGroup: React.FC<LabeledRadioProps & {name: string, radios: [{label: string, value: any}]}> = ({ \n name, value, radios, onChange, ...props \n}) => {\n return <>\n {map(radios, (radioProps, i) => {\n return <LabeledRadio key={i} name={name} checked={value === radioProps.value} onChange={onChange} \n {...radioProps}\n />\n })}\n </>\n}\n\nexport const LabeledRadioInButtonGroup: React.FC<LabeledRadioProps & {name: string, radios: [{label: string, value: any}]}> = ({ \n name, value, radios, onChange, ...props \n}) => {\n return <>\n {map(radios, (radioProps, i) => {\n return <LabeledRadioInButton key={i} name={name} checked={value === radioProps.value} onChange={onChange} \n {...radioProps}\n />\n })}\n </>\n}\n\nexport type LabeledCheckboxProps = {\n checked?: boolean;\n disabled?: boolean;\n label: string|React.ReactNode;\n name?: string;\n labelStyle?: CSSProperties;\n checkboxStyle?: React.CSSProperties;\n checkboxColor?: string;\n checkboxHoverColor?: string;\n hoverByLabel?: boolean;\n stopPropagation?: boolean;\n labelProps?: React.LabelHTMLAttributes<HTMLLabelElement>;\n checkboxIconProps?: CheckboxIconProps;\n indeterminate?: boolean;\n [key: string]: any;\n} & React.InputHTMLAttributes<HTMLInputElement>;\n\nexport const LabeledCheckbox: React.ForwardRefExoticComponent<LabeledCheckboxProps> =\n React.forwardRef<HTMLInputElement, LabeledCheckboxProps>((\n {\n label,\n name,\n checked,\n disabled,\n onChange,\n checkboxColor,\n checkboxHoverColor,\n hoverByLabel=true,\n stopPropagation=false,\n indeterminate=false,\n labelStyle={},\n checkboxStyle={},\n labelProps={},\n checkboxIconProps={},\n ...props\n },\n ref\n ) => {\n const [isHovering, updateHover] = useState(false);\n\n const onMouseOver = (e: React.MouseEvent<HTMLLabelElement, MouseEvent>) => updateHover(true);\n const onMouseLeave = (e: React.MouseEvent<HTMLLabelElement, MouseEvent>) => updateHover(false);\n\n return (\n <CheckboxLabel\n htmlFor={name}\n onMouseOver={hoverByLabel ? onMouseOver : undefined}\n onMouseLeave={hoverByLabel ? onMouseLeave : undefined}\n disabled={disabled}\n {...labelProps}\n style={labelStyle}\n >\n <CheckboxIcon \n {...checkboxIconProps}\n hover={isHovering} \n selected={checked} \n disabled={disabled} \n color={checkboxColor} \n hoverColor={checkboxHoverColor} \n indeterminate={indeterminate}\n mr={8}\n style={{...checkboxStyle}}\n />\n {label}\n <Radio ref={ref} name={name} type=\"checkbox\" checked={checked} isHovering={isHovering} onChange={disabled? undefined : onChange} {...props} />\n </CheckboxLabel>\n );\n });\n","import styled from 'styled-components'\nimport { SharedStyles, SharedStyleTypes } from './SharedStyles';\n\nconst Padding = styled.div<SharedStyleTypes>`\n padding: 20px;\n ${SharedStyles}\n`;\n\nexport {Padding};\n","import styled from 'styled-components'\nimport React from 'react'\nimport { SharedStyles, SharedStyleTypes } from './SharedStyles';\n\n/* \n\n Styles common for every commonsku page\n\n*/\n\nconst StyledPage = styled.div<SharedStyleTypes>`\n font-family: 'skufont-regular', sans-serif;\n ${SharedStyles}\n`;\n\nfunction Page (props: React.PropsWithChildren<SharedStyleTypes>) {\n return <StyledPage {...props}>\n {props.children}\n </StyledPage>\n}\n\nexport {Page};\n","import { toNumber } from 'lodash';\nimport React from 'react';\nimport styled from 'styled-components'\nimport { colors, fonts, getThemeColor } from './Theme';\nimport { SharedStyles, SharedStyleTypes } from './SharedStyles';\n\nexport type TextProp = {\n color?: keyof typeof colors;\n bold?: boolean;\n} & SharedStyleTypes;\nexport const Text = styled.span<TextProp>`\n font-family: ${fonts.join(', ')};\n ${p => p.bold ? ({ fontWeight: 'bold' }) : ({})}\n color: ${props => getThemeColor(props, props.color ?? 'textbody', 'textbody') || 'textbody'};\n background-color: ${props => props.bg ? getThemeColor(props, `${props.color || 'transparent'}Bg`, 'transparent') : 'transparent'};\n border-radius: ${props => props.bg ? '5px' : '0px'};\n padding: ${props => props.bg ? '5px' : '0px'};\n ${SharedStyles}\n`;\ntype TextProps = React.ComponentProps<typeof Text>;\n\nconst _Link: React.FC<{highlight?: boolean} & TextProps & SharedStyleTypes> = ({ highlight, ...props }) => {\n return <Text color={highlight ? 'special2' : 'primary'} {...props}/>;\n}\nexport const Link = styled(_Link)`\n cursor: pointer;\n ${SharedStyles}\n`;\n\nfunction numberWithCommas(num: string) {\n return num.replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,')\n}\n\nexport const Number: React.FC<{num: number, commas?: boolean, decimalPoints?:number} & SharedStyleTypes> = ({\n num, commas, decimalPoints = 2, ...props\n}) => {\n let fixedNum = (toNumber(num) || 0).toFixed(decimalPoints)\n return <span {...props}>\n { commas ? numberWithCommas(fixedNum) : fixedNum }\n </span>\n}","import styled from 'styled-components'\nimport React from 'react'\nimport { SharedStyles, SharedStyleTypes } from './SharedStyles'\nimport {Text, Number} from './Text'\n\n\nconst ProgressWrapper = styled.div<SharedStyleTypes>`\n max-width: 100%;\n width: 100%;\n height: 20px;\n background: #ECF4F7;\n ${SharedStyles}\n`\ntype ProgressBarProps = React.PropsWithChildren<{value: number, max: number, error?: string} & SharedStyleTypes>;\n\nconst ProgressBar = styled.div<ProgressBarProps>`\n max-width: 100%;\n width: ${props => 100 * props.value / props.max}%;\n height: 100%;\n background: ${props => props.error ? \"#B21154\" : \"#00d374\"};\n`\n\nconst Progress = (props: ProgressBarProps) => {\n const val = typeof props.value === 'number'\n ? props.value\n : !isNaN(props.value) ? parseInt(props.value) : 0;\n const max = typeof props.max === 'number'\n ? props.max\n : !isNaN(props.max) ? parseInt(props.max) : 0;\n\n return <ProgressWrapper {...props}>\n <ProgressBar value={val < max ? val : max} max={max} error={props.error} />\n {props.error ? <Text color=\"error\" bold>{props.error}</Text> : null}\n </ProgressWrapper>\n}\n\nconst LabeledProgress = (props: ProgressBarProps) => {\n return <div>\n <strong>\n <span style={{ color: \"#00a259\" }}>\n $<Number commas decimalPoints={0} num={props.value}/>\n </span>\n </strong> / $<Number commas decimalPoints={0} num={props.max}/> \n <br />\n <Progress value={props.value} max={props.max} error={props.error}/>\n </div>\n}\n\nexport { Progress, LabeledProgress };\n","import { get } from 'lodash';\nimport React from 'react'\nimport BaseSelect, { Props as SelectProps, SelectInstance, GroupBase, StylesConfig, Theme, components, createFilter, mergeStyles } from 'react-select'\nimport BaseCreatableSelect, { CreatableProps } from 'react-select/creatable'\nimport BaseAsyncSelect, { AsyncProps } from 'react-select/async'\nimport { getThemeColor, colors } from './Theme';\nimport {Label} from './Label'\nimport { document } from '../utils';\n\ntype AdditionalSKUSelectProps = {\n noMargin?: boolean,\n error?: boolean,\n menuRelative?: boolean, // fix for scroll menu inside scroll container like popup\n inPopup?:boolean,\n}\n\ntype SKUSelectProps = AdditionalSKUSelectProps & SelectProps\ntype SKUAsyncSelectProps<Option = unknown, IsMulti extends boolean = false, Group extends GroupBase<Option> = GroupBase<Option>> = AdditionalSKUSelectProps & AsyncProps<Option, IsMulti, Group>\ntype SKUCreatableSelectProps<Option = unknown, IsMulti extends boolean = false, Group extends GroupBase<Option> = GroupBase<Option>> = AdditionalSKUSelectProps & CreatableProps<Option, IsMulti, Group>\n\ntype SKUSelectStylesProps = SKUSelectProps\n | SKUAsyncSelectProps\n | SKUCreatableSelectProps\n\nconst popupStyles = {\n menuPlacement: 'auto',\n menuPosition: 'fixed',\n menuPortalTarget: document.body,\n}\n\nfunction skuSelectStyles<Option = unknown, IsMulti extends boolean = boolean, Group extends GroupBase<Option> = GroupBase<Option>>\n(props: SKUSelectStylesProps): StylesConfig<Option, IsMulti, Group> {\n return {\n clearIndicator: (provided, state) => {\n return {\n ...provided,\n color: getThemeColor(props, 'select.clearIcon.color', colors.select.clearIcon.color),\n ':hover': {\n color: getThemeColor(props, 'select.clearIcon.color', colors.select.clearIcon.color),\n },\n };\n },\n dropdownIndicator: (provided, state) => {\n const styles = {\n color: props.error\n ? getThemeColor(props, 'select.dropdownIcon.error.color', colors.select.dropdownIcon.error.color)\n : getThemeColor(props, 'select.dropdownIcon.color', colors.select.dropdownIcon.color),\n ':hover': {\n color: props.error\n ? getThemeColor(props, 'select.dropdownIcon.error.color', colors.select.dropdownIcon.error.color)\n : getThemeColor(props, 'select.dropdownIcon.color', colors.select.dropdownIcon.color),\n },\n };\n if (state.isDisabled) {\n styles['color'] = getThemeColor(props, 'select.dropdownIcon.disabled', colors.select.dropdownIcon.disabled);\n }\n return {\n ...provided,\n ...styles,\n };\n },\n indicatorSeparator: (provided, state) => ({\n ...provided,\n display: 'none'\n }),\n\n option: (provided, state) => {\n return ({\n ...provided,\n ...(get(state.data, 'styles') || {}),\n borderBottom: 'none',\n padding: 10,\n });\n },\n input: (provided, state) => {\n return {\n ...provided,\n height: 'auto',\n borderColor: props.error\n ? getThemeColor(props, 'select.error.border', colors.select.error.border)\n : getThemeColor(props, 'select.border', colors.select.border)\n }},\n control: (provided, state) => {\n const styles: React.CSSProperties = {\n marginBottom: (props.noMargin ? 0 : '1rem'),\n };\n\n if (state.menuIsOpen && state.isFocused) {\n styles['borderWidth'] = '1px';\n styles['borderStyle'] = 'solid';\n styles['borderColor'] = props.error\n ? getThemeColor(props, 'select.error.border', colors.select.error.border)\n : getThemeColor(props, 'select.active.border', colors.select.active.border);\n styles['boxShadow'] = `\n 1px 1px 0px ${styles['borderColor']},\n -1px -1px 0px ${styles['borderColor']},\n 1px -1px 0px ${styles['borderColor']},\n -1px 1px 0px ${styles['borderColor']}\n `;\n\n if (state.selectProps.menuPlacement === 'bottom') {\n styles['borderBottomRightRadius'] = 0;\n styles['borderBottomLeftRadius'] = 0;\n } else if (state.selectProps.menuPlacement === 'top') {\n styles['borderTopRightRadius'] = 0;\n styles['borderTopLeftRadius'] = 0;\n }\n }\n else if (!state.menuIsOpen && state.isFocused) {\n styles['borderWidth'] = '1px';\n styles['borderColor'] = props.error\n ? getThemeColor(props, 'select.error.border', colors.select.error.border)\n : getThemeColor(props, 'select.active.border', colors.select.active.border);\n styles['boxShadow'] = `0 0 0 1px ${\n props.error\n ? getThemeColor(props, 'select.error.border', colors.select.error.border)\n : getThemeColor(props, 'select.active.border', colors.select.active.border)\n }`;\n }\n else if (state.isDisabled) {\n styles['backgroundColor'] = getThemeColor(props, 'select.disabled.background', colors.select.disabled.background);\n styles['borderColor'] = getThemeColor(props, 'select.disabled.border', colors.select.disabled.border);\n }\n else {\n styles['borderColor'] = props.error\n ? getThemeColor(props, 'select.error.border', colors.select.error.border)\n : provided.borderColor as (string | undefined)\n ;\n }\n return ({\n ...provided,\n ...styles,\n ':hover': {\n borderColor: props.error\n ? getThemeColor(props, 'select.error.border', colors.select.error.border)\n : getThemeColor(props, 'select.active.border', colors.select.active.border),\n },\n });\n },\n menu: (provided, state) => {\n const borderColor = props.error\n ? getThemeColor(props, 'select.error.border', colors.select.error.border)\n : getThemeColor(props, 'select.active.border', colors.select.active.border);\n const styles = {\n zIndex: 10,\n position: props.menuRelative ? 'relative' : provided.position,\n borderRadius: '5px',\n border: `1px solid ${borderColor}`,\n boxShadow: `\n 1px 1px 0px ${borderColor},\n -1px -1px 0px ${borderColor},\n 1px -1px 0px ${borderColor},\n -1px 1px 0px ${borderColor}\n `\n } as React.CSSProperties;\n\n if (state.selectProps.menuPlacement === 'top') {\n styles['borderBottomRightRadius'] = 0;\n styles['borderBottomLeftRadius'] = 0;\n styles['borderBottom'] = 'none';\n styles['marginBottom'] = '1px';\n } else if (state.selectProps.menuPlacement === 'bottom') {\n styles['borderTopRightRadius'] = 0;\n styles['borderTopLeftRadius'] = 0;\n styles['borderTop'] = 'none';\n styles['marginTop'] = '1px';\n } else {\n styles['marginTop'] = '0px';\n styles['marginBottom'] = '0px';\n }\n\n return ({\n ...provided,\n ...styles,\n });\n },\n menuList: (provided, state) => {\n return {\n ...provided,\n paddingBottom: 0,\n };\n },\n menuPortal: (provided, state) => {\n return {\n ...provided,\n zIndex: 9999,\n };\n },\n singleValue: (provided, state) => {\n const opacity = state.isDisabled ? 0.5 : 1;\n const transition = 'opacity 300ms';\n return { ...provided, opacity, transition };\n },\n valueContainer: (provided, state) => {\n return {\n ...provided,\n padding: '2px 8px',\n };\n },\n };\n}\n\nconst skuSelectTheme = (theme: Theme) => ({\n ...theme,\n borderRadius: 5,\n colors: {\n ...theme.colors,\n primary25: colors.primary0,\n primary75: colors.primary0,\n primary50: colors.primary10,\n primary: colors.primary,\n neutral20: colors.select.border,\n neutral30: colors.select.border,\n neutral80: colors.textbody,\n neutral90: colors.textbody\n },\n})\n\n// duplicate styles to overide .resku global styles\n// : React.ForwardRefExoticComponent<SKUSelectProps & React.RefAttributes<BaseSelect>>\n// React.ForwardRefExoticComponent<AdditionalSKUSelectProps & Omit<Pick<Props<unknown, boolean, GroupBase<unknown>>, \"aria-errormessage\" | \"aria-invalid\" | \"aria-label\" | ... 27 more ... | \"form\"> & InexactPartial<...> & InexactPartial<...>, StateManagedPropKeys> & Partial<...> & StateManagerAdditionalProps<...> & React.RefAttributes<...>>\nconst SKUSelect = React.forwardRef<SelectInstance<unknown, boolean, GroupBase<unknown>>, SKUSelectProps>((\n {noMargin, menuRelative, inPopup, error, ...props},\n ref\n) => {\n const classNamePrefix = `${error ? 'select-error' : ''} commonsku-styles-select`;\n const selectStyleProps = {\n ...props,\n noMargin: noMargin,\n menuRelative: menuRelative,\n inPopup: inPopup,\n error: error,\n classNamePrefix: classNamePrefix,\n theme: skuSelectTheme,\n };\n return <BaseSelect\n ref={ref}\n classNamePrefix={classNamePrefix}\n {...(inPopup ? popupStyles as SelectProps : {})}\n styles={skuSelectStyles(selectStyleProps)}\n theme={skuSelectTheme}\n {...props}\n />\n});\n\ntype LabeledSelectProp = SKUSelectProps & {parentStyle?: React.CSSProperties, label?: string, required?: boolean};\nconst LabeledSelect = React.forwardRef<SelectInstance<unknown, boolean, GroupBase<unknown>>, LabeledSelectProp>(\n ({ parentStyle, ...props }, ref) => (\n <div style={parentStyle}>\n <Label htmlFor={props.name}>{props.label} {props.required && '*'}</Label>\n <SKUSelect {...props} ref={ref} />\n </div>\n )\n);\n\nconst SKUCreatableSelect = React.forwardRef<SelectInstance, SKUCreatableSelectProps>(\n ({noMargin, menuRelative, inPopup, error, ...props}, ref) => {\n const classNamePrefix = `${error ? 'select-error' : ''} commonsku-styles-select`;\n const selectStyleProps = {\n ...props,\n noMargin: noMargin,\n menuRelative: menuRelative,\n inPopup: inPopup,\n error: error,\n classNamePrefix: classNamePrefix,\n theme: skuSelectTheme,\n };\n\n return (\n <BaseCreatableSelect\n ref={ref}\n classNamePrefix={classNamePrefix}\n styles={skuSelectStyles(selectStyleProps)}\n theme={skuSelectTheme}\n {...props}\n {...(inPopup ? popupStyles as CreatableProps<unknown, false, GroupBase<unknown>> : {})}\n />\n );\n }\n);\n\ntype LabeledCreatableSelectProps = SKUCreatableSelectProps & {parentStyle?: React.CSSProperties, label?: string, required?: boolean};\nconst LabeledCreatableSelect = React.forwardRef<SelectInstance, LabeledCreatableSelectProps>(\n ({ parentStyle, ...props }, ref) => (\n <div style={parentStyle}>\n <Label htmlFor={props.name}>{props.label} {props.required && '*'}</Label>\n <SKUCreatableSelect {...props} ref={ref} />\n </div>\n )\n);\n\n\nconst SKUAsyncSelect = React.forwardRef<SelectInstance, SKUAsyncSelectProps>(\n ({noMargin, menuRelative, inPopup, error, ...props}, ref) => {\n const classNamePrefix = `${error ? 'select-error' : ''} commonsku-styles-select`;\n const selectStyleProps = {\n ...props,\n noMargin: noMargin,\n menuRelative: menuRelative,\n inPopup: inPopup,\n error: error,\n classNamePrefix: classNamePrefix,\n theme: skuSelectTheme,\n };\n\n return (\n <BaseAsyncSelect \n ref={ref}\n classNamePrefix={classNamePrefix}\n styles={skuSelectStyles(selectStyleProps)}\n theme={skuSelectTheme}\n {...props}\n {...(inPopup ? popupStyles as AsyncProps<unknown, false, GroupBase<unknown>> : {})}\n />\n );\n }\n);\n\ntype LabeledAsyncSelectProps = SKUAsyncSelectProps & {parentStyle?: React.CSSProperties, label?: string, required?: boolean};\nconst LabeledAsyncSelect = React.forwardRef<SelectInstance, LabeledAsyncSelectProps>(\n ({ parentStyle, ...props }, ref) => (\n <div style={parentStyle}>\n <Label htmlFor={props.name}>{props.label} {props.required && '*'}</Label>\n <SKUAsyncSelect {...props} ref={ref} />\n </div>\n )\n);\n\nexport {\n SKUSelect as Select,\n LabeledSelect,\n SKUCreatableSelect as CreatableSelect,\n LabeledCreatableSelect,\n SKUAsyncSelect as AsyncSelect,\n LabeledAsyncSelect,\n components,\n createFilter,\n mergeStyles,\n};\n","import styled from 'styled-components';\n\ntype BackdropTypes = {\n animationDuration?: number,\n}\n\nexport const Backdrop = styled.div<BackdropTypes>`\n position: fixed;\n width: 100%;\n height: 100%;\n background-color: rgba(67, 83, 91, .3);\n z-index: 100;\n transition: all ${p => ((p.animationDuration || 300)/1000)}s ease-in-out;\n -moz-transition: all ${p => ((p.animationDuration || 300)/1000)}s ease-in-out;\n -webkit-transition: all ${p => ((p.animationDuration || 300)/1000)}s ease-in-out;\n opacity: 0.8;\n`;\n","import React from 'react'\nimport styled from 'styled-components';\nimport { Row, Col } from './FlexboxGrid';\nimport { H2 } from './Headings'\nimport { valIsValid, document } from '../utils';\nimport { SharedStyles, SharedStyleTypes } from './SharedStyles'\nimport { SizerTypes, SizerCss } from './Sizer'\nimport { Backdrop } from './Backdrop'\n\n\ntype SidePanelType = {\n animationDuration?: number;\n visible?: boolean;\n from?: \"left\" | \"right\" | \"bottom\" | \"top\";\n height?: number;\n width?: number;\n};\n\nfunction getSlideStyles(from:\"left\"|\"right\"|\"bottom\"|\"top\"=\"right\", visible:boolean=false, height:number=50) {\n if (from === \"right\") {\n return `left: auto; right: 0; top: 0; bottom: 0; transform: translateX(${visible ? '0%' : '100%'});`;\n } else if (from === \"left\") {\n return `right: auto; left: 0; top: 0; bottom: 0; transform: translateX(${visible ? '0%' : '-100%'});`;\n } else if (from === \"bottom\") {\n return `height: ${height}vh; right: 0; left: 0; top: ${100 - height}vh; bottom: 0; transform: translateY(${visible ? '0%' : '100%'});`;\n } else if (from === \"top\") {\n return `height: ${height}vh; right: 0; left: 0; bottom: ${100 - height}vh; top: 0; transform: translateY(${visible ? '0%' : '-100%'});`;\n }\n return '';\n}\n\nexport const StyledPanel = styled.div<SidePanelType>`\n height: ${p => valIsValid(p.height) ? p.height : p.from === \"bottom\" || p.from === \"top\" ? 50 : 100}vh;\n background: white;\n position: fixed;\n width: ${p => valIsValid(p.width) ? p.width : p.from === \"bottom\" || p.from === \"top\" ? '100%' : '560px'};\n z-index: 300;\n box-shadow: 0 0 10px rgba(61, 79, 90, 0.27);\n padding: 1em;\n overflow: scroll;\n @media only screen and (max-width: 640px) {\n width: 100% !important;\n }\n ${p => getSlideStyles(p.from, p.visible, p.height)}\n transition: transform ${p => (\n //@ts-ignore\n (valIsValid(p.animationDuration) ? p.animationDuration : 300) / 1000\n )}s ease-out;\n ${SharedStyles}\n ${SizerCss}\n`;\nStyledPanel.defaultProps = {\n animationDuration: 300,\n visible: false,\n from: \"right\",\n};\n\nconst SidePanel = ({\n from = \"right\", visible = false, animationDuration = 300, fullWidthTitle = false,\n bodyScrollable=true, backdrop=false, controls, header, title,\n children,\n ...props }: React.PropsWithChildren<{\n header?: React.ReactNode,\n title: string,\n controls: React.ReactNode,\n fullWidthTitle?: boolean,\n backdrop?: boolean,\n bodyScrollable?: boolean,\n } & SidePanelType & SharedStyleTypes & SizerTypes>) => {\n if(!bodyScrollable && visible) {\n document.body.style.overflow = 'hidden';\n } else {\n document.body.style.overflow = 'auto';\n }\n return <>\n <StyledPanel animationDuration={animationDuration} visible={visible} from={from} {...props}>\n {header || <div>\n {!fullWidthTitle\n ? <Row>\n <Col><H2>{title}</H2></Col>\n <Col style={{ textAlign: \"right\" }}>{controls}</Col>\n </Row>\n : <div>\n <Row><Col style={{ textAlign: \"right\" }}>{controls}</Col></Row>\n <Row><Col><H2>{title}</H2></Col></Row>\n </div>}\n </div>}\n {children}\n </StyledPanel>\n {backdrop && visible ? <Backdrop /> : null}\n </>\n}\n\n\nconst NameAndPosition = styled.div`\n display: inline-block;\n width: 90%;\n`\n\nconst Name = styled.div`\n font-weight: bold;\n`\n\nconst Position = styled.div`\n font-size: .8em;\n`\nconst Email = styled.a`\n font-size: .8em;\n overflow-wrap: break-word;\n word-wrap: break-word;\n -ms-word-break: break-all;\n word-break: break-word;\n`\n\nconst Contact = styled.div<SizerTypes>`\n &&& {\n display: flex;\n flex-basis: 50%;\n margin-bottom: 15px;\n ${SizerCss}\n }\n`\n\nconst PanelContact = ({avatar, name, position, email, ...props}: { name:string, position?:string, email?:string, phone?:string, avatar?:React.ReactNode } & SizerTypes) => {\n return (\n <Contact {...props}>\n <Col xs>\n { avatar ? avatar : null }\n <NameAndPosition style={{ width: avatar ? '77%' : '95%' }}>\n <Name>{name}</Name>\n { position ? <Position>{position}</Position> : null }\n </NameAndPosition>\n </Col>\n { email ? <Col xs>\n <Email href={\"mailto:\" + email}>{email}</Email>\n </Col> : null }\n </Contact>\n )\n}\n\nconst PHONE_TYPES: {[key: string]: string} = {\n 'WORK': 'W',\n 'HOME': 'H',\n 'CELL': 'C',\n 'FAX': 'F',\n};\n\ntype PhoneType = {\n phone_number?: string,\n phone_type?: string,\n phone_extension?: string,\n}\n\nconst PanelTileContact = ({avatar, name, position, email, phones, ...props}: { name:string, position?:string, email?:string, phones?:Array<PhoneType>, avatar?:React.ReactNode } & SizerTypes) => {\n return (\n <Contact {...props}>\n { avatar ? avatar : null }\n <NameAndPosition style={ avatar ? { width: '74%', marginLeft: '3%' } : {width: '95%'}}>\n <Name>{name}</Name>\n { position ? <Position>{position}</Position> : null }\n { email ? <Email href={\"mailto:\" + email}>{email}</Email> : null }\n { phones && phones.length>0 ? phones.map((p, i) =>\n p.phone_number ? <div key={'PHONE-' + p.phone_type + i}>\n {p.phone_type ? (PHONE_TYPES[p.phone_type] || p.phone_type) : 'Ph'} {p.phone_number} {p.phone_extension && 'x'+p.phone_extension}\n </div> : ''\n ) : null }\n </NameAndPosition>\n </Contact>\n )\n}\n\nexport { SidePanel, PanelContact, PanelTileContact };\n\n","import React from 'react';\nimport styled, {css} from 'styled-components'\nimport { SizerCss, SizerTypes } from './Sizer';\nimport { FilledChevronIcon} from './icons';\nimport { SharedStyles, SharedStyleTypes } from './SharedStyles'\n\nconst sharedStyle = css`\n line-height: 1.125rem;\n box-sizing: border-box;\n`\n\nconst optionalPadding = css<{padded?: boolean}>`\n &:first-child {\n padding-left: ${props => props.padded ? \"20px\" : \"inherit\"};\n }\n\n &:last-child {\n padding-right: ${props => props.padded ? \"20px\" : \"inherit\"};\n }\n`\n\nconst Table= styled.table.attrs(() => ({ cellPadding: 0, cellSpacing: 0 }))<SharedStyleTypes>`\n &&& {\n background-color: white;\n border: none;\n border-spacing: 0;\n width: 100%;\n table-layout: auto;\n display: table;\n font-family: 'skufont-regular', sans-serif;\n ${sharedStyle}\n ${SizerCss}\n ${SharedStyles}\n }\n`;\n\nconst TH= styled.th<{clickable?: boolean, sticky?: boolean, stickyTop?: number}&SharedStyleTypes&SizerTypes>`\n &&& {\n background-color: #dae9ee;\n border: none;\n border-spacing: 0;\n color: ${props => props.clickable ? \"#00889B\" : \"#123952\"};\n font-size: 1rem;\n padding: 0.5rem 0.625rem 0.625rem;\n display: table-cell;\n text-align: left;\n font-family: \"skufont-demibold\", sans-serif;\n ${props => props.sticky ? `position: sticky; top: ${props.stickyTop ? props.stickyTop : 0};` : null}\n &:hover {\n background-color: ${props => props.clickable ? \"#d2e6ec\" : \"#dae9ee\"};\n cursor: ${props => props.clickable ? \"pointer\" : \"normal\"};\n }\n ${optionalPadding}\n ${sharedStyle}\n ${SizerCss}\n ${SharedStyles}\n }\n`;\n\nconst TD= styled.td<{clickable?: boolean}&SharedStyleTypes&SizerTypes>`\n &&& {\n border: 0;\n color: #52585c;\n font-size: .875rem;\n line-height: 1.75rem;\n display: table-cell;\n padding: 0.5625rem 0.625rem;\n &:hover {\n cursor: ${props => props.clickable ? \"pointer\" : \"normal\"};\n }\n ${optionalPadding}\n ${sharedStyle}\n ${SizerCss}\n ${SharedStyles}\n }\n`;\n\nconst TR= styled.tr<SizerTypes&{selected?: boolean}>`\n &&& {\n ${SizerCss}\n &:hover {\n background: #EDF2F4;\n }\n ${p => p.selected && 'background: #EDF2F4;'}\n }\n`;\n\nconst THead= styled.thead<SizerTypes>`\n &&& {\n ${SizerCss}\n }\n`;\n\nconst TBody= styled.tbody<SizerTypes>`\n &&& {\n ${SizerCss}\n }\n`;\n\nconst THContentWrapper = styled.span<SizerTypes>`\n &&& {\n ${SizerCss}\n }\n`;\n\nconst ResponsiveTable = ({parentProps, children, ...props}: React.PropsWithChildren<{parentProps?: {[key: string]: any, style?:object}} & SharedStyleTypes>) => {\n return (\n <div style={{overflowX: 'auto'}} {...parentProps}>\n <Table style={{borderCollapse: 'collapse', borderSpacing: 0, width: '100%'}} {...props}>{children}</Table>\n </div>\n );\n}\n\nconst THSorted = ({children, order, iconHeight=15, iconStyles, hideIconOnMobile, ...props}: React.PropsWithChildren<{order?: string, iconHeight?: number, iconStyles?: object, hideIconOnMobile?:boolean}>) => {\n return (\n <TH {...props}>\n <THContentWrapper\n xs={`display: ${hideIconOnMobile ? 'none': 'inline-block'};`}\n sm={\"display: inline-block;\"}\n >{order==='desc' \n ? <FilledChevronIcon direction=\"down\" height={iconHeight} style={{ width: 'auto', verticalAlign: 'middle', ...iconStyles}} />\n : order==='asc'\n ? <FilledChevronIcon direction=\"up\" height={iconHeight} style={{ width: 'auto', verticalAlign: 'middle', ...iconStyles}} />\n : <FilledChevronIcon direction=\"updown\" style={{ width: 'auto', verticalAlign: 'middle', ...iconStyles}} />\n }</THContentWrapper> {children}\n </TH>\n );\n}\n\n\nexport { Table, TD, TH, TR, THead, TBody, ResponsiveTable, THSorted };\n","import React, { useState, useEffect } from 'react';\nimport ReactDOM from 'react-dom';\nimport styled from 'styled-components';\nimport { Button } from './Button';\nimport { Col } from './FlexboxGrid';\nimport { SharedStyles, SharedStyleTypes } from './SharedStyles'\nimport { SizerCss, SizerTypes } from './Sizer'\nimport { document } from '../utils';\n\nexport const Overlay = styled.div<{ zIndex?: number; }>`\n &&& {\n position: fixed;\n top: 0px;\n bottom: 0px;\n left: 0px;\n right: 0px;\n background: rgba(42, 56, 63, 0.45);\n display: flex;\n z-index: ${p => p.zIndex || 999};\n margin-left: auto;\n margin-right: auto;\n }\n`;\n\nconst PopupWindow = styled.div<SharedStyleTypes & SizerTypes & {width?: string, height?: string, padding?: string; zIndex?: number;}>`\n &&& {\n width: ${props => props.width ?? '90%'};\n height: ${props => props.height ?? '75%'}; \n margin: 0 !important;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n position: fixed;\n ${props => props.height ? '' : 'max-height: 700px;'}\n overflow-y: hidden;\n display: block;\n z-index: ${p => p.zIndex || 1006};\n\n padding: ${props => props.padding ?? '1rem'};\n border: 1px solid #CCD5DA;\n background-color: #fefefe;\n border-radius: 3px;\n\n &:last-child {\n margin-bottom: 0;\n }\n .popup-content {\n overflow-y: auto;\n height: 90%;\n }\n ${SharedStyles}\n ${SizerCss}\n }\n`;\n\nexport const PopupHeader = styled.div<SharedStyleTypes & SizerTypes>`\n &&& {\n position: sticky;\n top: 0;\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n background: white;\n padding: 3px;\n z-index: 99;\n .title {\n font-size: 1.8rem;\n font-weight: 500;\n text-align: left;\n align-self: center;\n padding-top: 3px;\n padding-left: 3px;\n border-bottom: none;\n font-family: \"skufont-demibold\",sans-serif;\n color: #123952;\n }\n ${SharedStyles}\n ${SizerCss}\n }\n`;\n\nconst PopupContainer: React.FC<{}> = ({ children }) => {\n const ref = React.useRef(document.createElement('div'));\n\n useEffect(() => {\n const current = ref.current;\n document.body.appendChild(current);\n return () => {\n document.body.removeChild(current);\n }\n }, []);\n\n return ReactDOM.createPortal(children, ref.current);\n}\n\nexport type PopupProps = React.PropsWithChildren<{ \n header?: React.Component,\n noHeader?: boolean,\n title?: string|React.Component,\n controls?: Array<React.ReactNode>,\n onClose?: (event?: React.MouseEvent) => void,\n noCloseButton?: boolean,\n closeOnClickOutside?: boolean,\n closeOnEsc?: boolean,\n width?: string,\n height?: string,\n padding?: string,\n zIndex?: number,\n overlayZIndex?: number;\n} & SharedStyleTypes> & React.HTMLAttributes<HTMLDivElement>;\n\nexport const Popup = ({ header, noHeader=false, title, controls, children, onClose, noCloseButton=false, closeOnEsc=true, closeOnClickOutside=false, overlayZIndex, ...props }: PopupProps) => {\n const ref = React.useRef<HTMLDivElement | null>(null);\n\n /* there is a bug where this closes popup involuntarily\n const handleClick = (e: Event) => {\n // @ts-ignore\n if (ref.current?.contains(e.target)) {\n return;\n }\n onClose && onClose();\n };\n */\n\n useEffect(() => {\n const handleKeyDown = (e: Event) => {\n // @ts-ignore\n if (e.key === \"Escape\") {\n e.stopPropagation();\n onClose && onClose();\n }\n };\n\n if(closeOnClickOutside) {\n //document.addEventListener(\"mousedown\", handleClick);\n }\n if (closeOnEsc) {\n document.addEventListener(\"keyup\", handleKeyDown);\n }\n\n return () => {\n if(closeOnClickOutside) {\n //document.removeEventListener(\"mousedown\", handleClick);\n }\n if (closeOnEsc) {\n document.removeEventListener(\"keyup\", handleKeyDown);\n }\n }\n }, [closeOnClickOutside, closeOnEsc, onClose]);\n\n return <PopupContainer>\n <Overlay zIndex={overlayZIndex}>\n <PopupWindow className=\"popup\" {...props} ref={ref}>\n {noHeader ? null :\n header ? header : (\n <PopupHeader className=\"popup-header\" xsStyle=\"flex-wrap: wrap-reverse;\" smStyle=\"flex-wrap: wrap;\">\n <Col style={{textAlign: 'left', alignSelf: 'center'}}>\n <span className=\"title\">{title}</span>\n </Col>\n <Col style={{textAlign: 'right', alignSelf: 'center'}}>\n { noCloseButton ? null :\n controls || <Button onClick={onClose}>Close</Button>}\n </Col>\n </PopupHeader>\n )}\n <div className=\"popup-content\">{children}</div>\n </PopupWindow>\n </Overlay>\n </PopupContainer>\n}\n\nexport const ShowPopup: React.FC<Omit<PopupProps, 'onClose'> & {\n popup: React.ComponentType<PopupProps>,\n autoOpen?: boolean,\n render?: React.FC<{onClick: () => void}>\n}> = ({ autoOpen = false, popup: PopupComponent, render, closeOnEsc=true, closeOnClickOutside=false, ...props }) => {\n const [showPopup, setShowPopup] = useState(autoOpen);\n return <>\n {showPopup && <PopupComponent onClose={() => setShowPopup(false)} closeOnEsc={closeOnEsc} closeOnClickOutside={closeOnClickOutside} {...props}/>}\n {render && render({onClick: () => setShowPopup(!showPopup)})}\n </>\n}\n\nexport default Popup;\n","import React, { useState, useEffect } from \"react\";\nimport styled from \"styled-components\";\nimport { Button, IconButton } from './Button';\nimport { SizerTypes } from './Sizer';\nimport { AddIcon, CheckmarkIcon, DragIcon } from './icons';\nimport { SharedStyles, SharedStyleTypes } from './SharedStyles'\nimport { errors, green, neutrals } from \"./colors\";\nimport { fontStyles, themeOptions } from \"./Theme\";\nimport { DragDropContext, Droppable, Draggable, DropResult, ResponderProvided } from \"react-beautiful-dnd\";\nimport { Popup } from \"./Popup\";\n\nconst GridTableContainer = styled.div<{\n width?: string,\n gridTemplateRows?: string,\n gridTemplateColumns: string,\n gridRowGap?: string;\n gridColumnGap?: string;\n} & SharedStyleTypes>`\n display:grid;\n grid-template-rows: ${props => props.gridTemplateRows ? props.gridTemplateRows : 'auto'};\n grid-gap: ${props => props.gridRowGap ? props.gridRowGap : \"16px\"};\n width:${props => props.width ? props.width : '100%'};\n margin-top: 24px;\n margin-bottom: 24px;\n background: white;\n overflow: scroll;\n .droppable {\n display:grid;\n grid-template-rows: ${props => props.gridTemplateRows ? props.gridTemplateRows : 'auto'};\n grid-gap: ${props => props.gridRowGap ? props.gridRowGap : \"16px\"};\n }\n ${SharedStyles}\n`;\n\nconst GridRow = styled.div<{ gridTemplateColumns: string, gridColumnGap?: string } & SharedStyleTypes>`\n display:grid;\n grid-template-columns: ${props => props.gridTemplateColumns};\n grid-gap: ${props => props.gridColumnGap ? props.gridColumnGap : \"16px\"};\n width:100%;\n background: white;\n ${SharedStyles}\n`;\n\n\nconst GridCell = styled.div<{ width?: string, header?: boolean, centerContent?: boolean; } & SharedStyleTypes>` \n background: white;\n width: ${props => props.width ? props.width : 'auto'};\n font-family: ${props => props.header ? themeOptions.fontFamilies.bold : fontStyles.p.medium};\n color: ${props => props.header ? errors.main : neutrals.bodyText};\n text-align: ${props => props.centerContent ? 'center' : 'left'};\n`;\n\nconst FieldError = styled.p`\n font-family: ${fontStyles.p.small.fontFamily};\n font-size: ${fontStyles.p.small.fontSize};\n color: ${errors['40']};\n margin:0;\n`;\n\ntype TValue = string | number | object;\n\ntype TransformFunction = (value: any | { label: string; value: string }) => TValue;\n\ntype TChild = React.ReactElement<any, string | React.JSXElementConstructor<any>>;\n\ntype ColumnProps = {\n name: string,\n title: React.ReactNode,\n children: TChild,\n centerContent?: boolean,\n transform?: TransformFunction,\n}\n\ntype CellProps = {\n defaultValue: TValue;\n onUpdate?: (value: TValue) => void;\n validate?: (data: any) => false | string;\n transform: TransformFunction;\n children: React.ReactElement<any, string | React.JSXElementConstructor<any>>;\n centerContent?: boolean;\n};\n\ntype GridTableProps = {\n data: { id: number | string;[key: string]: any }[];\n idField?: string;\n children: TChild | TChild[];\n onUpdate?: (value: object) => void;\n onDelete?: (id: number | string) => void;\n onAdd?: (data: any) => void;\n onSort?: (id: number | string, index: number | string) => void;\n validate?: (data: any) => { [key: string]: false | string };\n gridTemplateRows?: string;\n gridTemplateColumns?: string;\n gridRowGap?: string;\n gridColumnGap?: string;\n} & SharedStyleTypes & SizerTypes;\n\nconst defaultTransform = (v: any) => v.target ? v.target.value : v.currentTarget ? v.currentTarget.value : v.value;\n\nconst Column = ({\n name,\n title,\n children,\n centerContent,\n transform = defaultTransform,\n}: ColumnProps) => <GridCell centerContent={centerContent}>{title}</GridCell>;\n\n\nconst Cell = ({\n defaultValue,\n onUpdate,\n children,\n validate,\n centerContent,\n transform = (v) => v\n}: CellProps) => {\n const [value, setValue] = useState(defaultValue);\n const [error, setError] = useState<string>('');\n\n useEffect(() => {\n setValue(defaultValue);\n }, [defaultValue]);\n\n const handleOnChange: (v: Event | { label: string; value: string }) => void = (newValue) => {\n const errors = validate && validate(transform(newValue));\n if (errors) {\n setError(errors);\n } else {\n setError('');\n }\n setValue(transform(newValue));\n }\n\n const handleOnBlur: () => void = () => {\n if (!onUpdate) {\n return;\n }\n if (error) {\n setValue(defaultValue);\n setError('');\n return;\n }\n onUpdate(value);\n }\n\n let cell = React.cloneElement(\n React.Children.only(children),\n {\n value,\n onChange: handleOnChange,\n onBlur: handleOnBlur,\n }\n );\n return (\n <GridCell centerContent={centerContent}>{cell} {<FieldError>{error}</FieldError>}</GridCell>\n );\n}\n\nfunction GridTable({\n data,\n idField = \"id\",\n onUpdate,\n onDelete,\n onAdd,\n onSort,\n validate,\n children,\n gridTemplateRows,\n gridTemplateColumns,\n gridRowGap,\n gridColumnGap,\n ...props\n}: GridTableProps) {\n\n const [NewData, setNewData] = useState({});\n const [Adding, setAdding] = useState(false);\n const [newRowError, setNewRowError] = useState({});\n const [showPopupWithRowId, setShowPopupWithRowId] = useState<number | string>(0);\n\n const hasNewRowError = Object.keys(newRowError).length === 0 || Object.values(newRowError).filter(v => v).length > 0;\n\n const handleColumnsDefault = () => {\n if (gridTemplateColumns) {\n if (onSort && onDelete) {\n return `auto ${gridTemplateColumns} auto`;\n } else if (onSort && !onDelete) {\n return `auto ${gridTemplateColumns}`;\n } else if (onSort && onDelete) {\n return `${gridTemplateColumns} auto`;\n }\n\n return gridTemplateColumns;\n } else {\n let columnsDefault = '';\n\n React.Children.map(children, (child, index) => {\n columnsDefault += \"minmax(136px, 1fr) \"\n });\n\n if (onSort) {\n columnsDefault = \"auto \" + columnsDefault;\n }\n\n if (onDelete) {\n columnsDefault += \"auto\"\n }\n\n return columnsDefault;\n }\n\n };\n\n let gridColumns = handleColumnsDefault();\n\n const handleAdd = () => {\n const Errors = (validate && validate(NewData)) || {};\n console.log(Errors);\n if (Object.values(Errors).some(v => v)) {\n return\n }\n\n onAdd && onAdd(NewData);\n setNewData({});\n setAdding(false);\n };\n\n function handleOnDragEnd(result: DropResult, provided: ResponderProvided): void {\n if (!result.destination) return;\n if (!onSort) return;\n\n const item = data[result.source.index];\n onSort(item[idField], result.destination.index);\n }\n\n const Header = <GridRow gridTemplateColumns={gridColumns} gridColumnGap={gridColumnGap}>\n {onSort && <GridCell><div style={{ width: '24px' }}></div></GridCell>}\n {React.Children.map(children, (child, child_index) => {\n return (\n <GridCell key={child.props.name} centerContent={child.props.centerContent}\n >\n {child.props.title}\n </GridCell>\n );\n })}\n {onDelete && <GridCell><div style={{ width: '40px' }}></div></GridCell>}\n </GridRow>;\n\n const Rows = () => {\n return (\n <DragDropContext onDragEnd={handleOnDragEnd}>\n <Droppable droppableId=\"draggable-rows\">\n {(provided) => (\n <div\n className=\"droppable\"\n {...provided.droppableProps}\n ref={provided.innerRef}>\n {data.map((d, index) => {\n return (\n <Draggable\n key={d[idField]}\n draggableId={d[idField].toString()}\n index={index}\n isDragDisabled={!onSort}\n >\n {(provided) => (\n <GridRow\n {...provided.draggableProps}\n {...provided.dragHandleProps}\n ref={provided.innerRef}\n gridTemplateColumns={gridColumns}\n gridColumnGap={gridColumnGap}>\n {onSort && <GridCell style={{ display: \"flex\", flexDirection: 'column', justifyContent: 'center', height: '40px' }}><DragIcon color={neutrals['60']} style={{ cursor: 'grab', verticalAlign: 'middle' }} /></GridCell>}\n {React.Children.map(children, child => {\n if (!child) {\n return null;\n }\n const validateCell = (value: any) => (validate && validate({ [child.props.name]: value })[child.props.name]) ?? false;\n\n return <Cell\n key={child.props.name}\n defaultValue={d[child.props.name]}\n onUpdate={(value) => setNewData(s => ({ ...s, [child.props.name]: value }))}\n transform={child.props.transform || defaultTransform}\n validate={validate && validateCell}\n centerContent={child.props.centerContent}\n >\n {child.props.children}\n\n </Cell>\n })}\n {onDelete && <GridCell><IconButton preset=\"delete\" onClick={() => setShowPopupWithRowId(d[idField])} /></GridCell>}\n </GridRow>\n )}\n </Draggable>\n );\n })}\n {provided.placeholder}\n </div>\n )}\n </Droppable>\n </DragDropContext>\n );\n };\n\n const NewRow = (\n <GridRow\n gridTemplateColumns={gridColumns}\n gridColumnGap={gridColumnGap}\n >\n {onSort &&\n <GridCell >\n <div style={{ width: '24px' }}></div>\n </GridCell>}\n {React.Children.map(children, child => {\n if (!child) {\n return null;\n }\n\n const validateCell = (value: any) => {\n const validation = validate && validate({ ...NewData, [child.props.name]: value });\n if (!validation) { return false; }\n setNewRowError(validation);\n return validation[child.props.name];\n }\n\n return <Cell\n key={child.props.name}\n defaultValue={NewData[child.props.name]}\n onUpdate={(value) => setNewData(s => ({ ...s, [child.props.name]: value }))}\n transform={child.props.transform || defaultTransform}\n validate={validateCell}\n centerContent={child.props.centerContent}\n >\n {child.props.children}\n </Cell>\n })}\n <GridCell>\n <IconButton Icon={CheckmarkIcon} iconProps={{ color: green.main }} variant={hasNewRowError ? \"disabled\" : \"text\"} onClick={() => handleAdd()}\n disabled={hasNewRowError}\n />\n </GridCell>\n </GridRow>\n );\n\n const AddNew = onAdd ?\n <GridRow gridTemplateColumns={\"auto\"} gridColumnGap={gridColumnGap}\n >\n <GridCell centerContent>\n <IconButton Icon={AddIcon} variant=\"text\" size=\"small\" onClick={() => setAdding(true)}>Add New</IconButton>\n </GridCell>\n </GridRow>\n : null;\n\n return (\n <>\n {showPopupWithRowId !== 0 ?\n <Popup\n width={'auto'}\n height={'auto'}\n padding={'36px'}\n noHeader\n noCloseButton\n >\n <p style={{\n fontFamily: fontStyles.p.medium.fontFamily,\n fontSize: fontStyles.p.medium.fontSize,\n lineHeight: fontStyles.p.medium.lineHeight,\n color: neutrals.bodyText\n }}>Are you sure you want to delete?</p>\n <div style={{ display: 'flex', flexDirection: 'row', justifyContent: 'center' }}>\n <Button\n size=\"medium\"\n variant='secondary'\n mr={24}\n onClick={() => {\n setShowPopupWithRowId(0);\n }}\n >\n Cancel\n </Button>\n <Button\n size=\"medium\"\n variant='error'\n onClick={() => {\n onDelete && onDelete(showPopupWithRowId);\n setShowPopupWithRowId(0);\n }}\n >\n Delete\n </Button>\n </div>\n\n </Popup> : null}\n\n <GridTableContainer\n gridTemplateRows={gridTemplateRows}\n gridTemplateColumns={gridColumns}\n gridRowGap={gridRowGap}\n gridColumnGap={gridColumnGap}\n {...props}\n >\n {Header}\n {Rows()}\n {Adding && NewRow}\n {onAdd && !Adding && AddNew}\n </GridTableContainer></>\n );\n}\n\nexport { GridTableContainer, GridTable, GridRow, GridCell, Column };\n\n\n\n\n\n\n\n","import _ from 'lodash'\nimport styled, { css } from 'styled-components'\nimport React, { Component } from 'react'\nimport { SharedStyles, SharedStyleTypes } from './SharedStyles'\nimport colors from './colors';\n\nconst tabSizes = {\n small: css`\n font-size: 0.9rem;\n padding: 0.5rem 5px;\n margin: 0;\n `,\n medium: css`\n font-size: inherit;\n padding: 1rem 12px;\n margin: 0 15px 0 0;\n `,\n};\n\nconst TabBar = styled.ul<{padded?: boolean} & SharedStyleTypes>`\n &&& {\n display: block;\n font-size: 16px;\n font-family: 'skufont-demibold', sans-serif;\n margin: 0;\n margin-bottom: ${props => props.padded ? \"20px\" : 0};\n padding: 0;\n ${SharedStyles}\n }\n`\n\ntype Tabprops = {\n selected?: boolean;\n size?: keyof typeof tabSizes;\n variant?: 'primary' | 'secondary';\n} & SharedStyleTypes;\nconst Tab = styled.li<Tabprops>`\n &&& {\n cursor: pointer;\n display: inline-block;\n border-bottom: ${props => props.selected\n ? `5px solid ${props.variant === 'secondary' ? colors.secondary1.main : colors.primary1.main}`\n : \"none\"};\n color: #222222;\n opacity: ${props => props.selected ? \"1\" : \".5\"};\n list-style: none;\n margin-bottom: 0 !important;\n position: relative;\n padding: 1rem 12px;\n margin-right: 15px;\n ${SharedStyles}\n\n ${props => tabSizes[props.size ?? 'medium']}\n }\n`\n\n/* \n\nHere's how you use this:\n\n<Tabs tabs={[\n { name: \"abc\", label: \"ABC\", content: <div>abc</div> },\n { name: \"xyz\", label: \"XYZ\", content: <div>xyz</div> },\n ]}\n/>\n\n*/\n\n// const Tabs = ({ tabs }: { tabs: {label: string, content: React.ReactNode}[], }) => {\n// /* add state, onclick event */\n// const [state, setState] = useState({ \n// selectedTabIndex: 0,\n// selectedTab: tabs[0]\n// });\n// return <div>\n// <TabBar>\n// {tabs.map((tab, index) => <Tab key={index}\n// selected={index == state.selectedTabIndex}\n// onClick={() => setState({ ...state, selectedTabIndex: index })}>\n// {tab.label}\n// </Tab>)}\n// </TabBar>\n// {tabs[state.selectedTabIndex].content}\n// </div>\n// }\n\nexport type TTab = {label: string, content: React.ReactNode, onClick?: Function|VoidFunction};\nexport type TabsProps = { tabs: TTab[], selectedTabIndex?: number, padded?: boolean, size?: keyof typeof tabSizes };\ntype TabsState = {selectedTabIndex: number};\n\nclass Tabs extends Component<TabsProps, TabsState> {\n constructor(props: TabsProps) {\n super(props);\n this.state = {\n selectedTabIndex: this.props.selectedTabIndex || 0,\n };\n }\n\n getTab(tabs: TTab[], tabIndex=0): null | TTab {\n if (!tabs.length || tabs.length-1 < tabIndex) {\n return null;\n }\n return tabs[tabIndex];\n }\n\n componentDidMount() {\n const selectedTab = this.getTab(this.props.tabs, this.state.selectedTabIndex);\n if (!selectedTab) {\n return;\n }\n\n const callback = selectedTab.onClick;\n if(callback) { callback(); }\n }\n\n componentDidUpdate(prevProps: Readonly<TabsProps>, prevState: Readonly<TabsState>) {\n const sameTabs = prevProps.tabs.length !== this.props.tabs.length\n || (\n prevProps.tabs.length === this.props.tabs.length\n && prevProps.tabs.every((e, i) =>\n e.label === this.props.tabs[i].label\n && (e.onClick || \"null\").toString() === (this.props.tabs[i].onClick || 'null').toString()\n )\n );\n if (!sameTabs) {\n this.setState({\n selectedTabIndex: 0,\n });\n }\n }\n\n render () {\n const { tabs, size } = this.props;\n const selectedTab = this.getTab(tabs, this.state.selectedTabIndex);\n return <div>\n <TabBar padded={this.props.padded === true}>\n {tabs.map((tab, index) => <Tab \n key={index} size={size}\n selected={index === this.state.selectedTabIndex}\n onClick={() => {\n this.setState({ selectedTabIndex: index })\n let callback = tabs[index].onClick;\n if(callback) { callback(); }\n }}>\n {tab.label}\n </Tab>)}\n </TabBar>\n {_.get(selectedTab, ['content'], '')}\n </div>\n }\n}\n\nexport {TabBar, Tab, Tabs};\n","import styled from 'styled-components';\nimport React from 'react';\nimport { get } from 'lodash';\nimport { getThemeColor, fontStyles, colors} from './Theme';\nimport { SharedStyles, SharedStyleTypes } from './SharedStyles';\n\nexport const toggleSizes = {\n small: {\n 'font-family': fontStyles.button.small.fontFamily,\n 'font-size': fontStyles.button.small.fontSize,\n 'line-height': fontStyles.button.small.lineHeight,\n padding: '8px 12px',\n borderRadius: '4px',\n height: '32px',\n\n },\n medium: {\n 'font-family': fontStyles.button.medium.fontFamily,\n 'font-size': fontStyles.button.medium.fontSize,\n 'line-height': fontStyles.button.medium.lineHeight,\n padding: '8px 16px',\n borderRadius: '4px',\n height: '40px',\n\n },\n large: {\n 'font-family': fontStyles.button.large.fontFamily,\n 'font-size': fontStyles.button.large.fontSize,\n 'line-height': fontStyles.button.large.lineHeight,\n padding: '12px 24px',\n borderRadius: '4px',\n height: '56px',\n }\n};\n\ntype ToggleSize = keyof typeof toggleSizes;\n\nconst getSizeStyle = (style: string, defaults: string) => {\n return ({ size }: ToggleProps) => {\n if (size) {\n return get(toggleSizes, [size, style]) || defaults;\n }\n return defaults;\n };\n}\n\nconst Wrapper = styled.div<{size?: ToggleSize}>`\n &&& {\n display: inline-flex;\n max-width: 600px;\n justify-content: flex-start;\n width: 100%; \n }`\n\nconst Container = styled.div<{stretch?:boolean, size?: ToggleSize }&SharedStyleTypes>`\n &&& {\n background: ${props => getThemeColor(props, 'teal.20', colors.teal['20'])};\n border-radius: 50px;\n display: flex;\n justify-content: space-between;\n width: ${props => props.stretch ? \"100%\" : \"auto\"};\n ${SharedStyles}\n }`\n\nconst ToggleLink = styled.a<{selected?: boolean, stretch?:boolean, size?: ToggleSize }&SharedStyleTypes>`\n &&& {\n font-family: 'skufont-medium', sans-serif;\n font-size: ${ props => getSizeStyle('font-size', '1rem')({size: props.size})};\n border-radius: 30px;\n display: flex;\n align-content: center;\n padding: ${ props => getSizeStyle('padding', '8px 16px')({size: props.size})};\n height: auto;\n line-height: ${ props => getSizeStyle('line-height', '24px')({size: props.size})};\n width: ${props => props.stretch? \"50%\" : \"auto\"};\n justify-content: center;\n cursor: pointer;\n background-color: ${props => props.selected ? getThemeColor(props, 'teal.main', colors.teal.main) : getThemeColor(props, 'teal.20', colors.teal['20']) };\n color: ${props => props.selected ? \"white\" : getThemeColor(props, 'teal.main', colors.teal.main) };\n ${SharedStyles}\n }`\n\ntype ToggleProps = React.PropsWithChildren<{\n stretch?: boolean;\n onClick?: React.MouseEventHandler<HTMLDivElement>;\n size?: ToggleSize;\n} & SharedStyleTypes>;\n\nconst Toggle = ({ size='medium', ...props }: ToggleProps) => {\n return <Wrapper size={size} {...props}>\n <Container stretch={props.stretch} size={size} {...props}>\n {\n React.Children.map(props.children, (child:any, index) => {\n return React.cloneElement(child, { size: size });\n })\n }\n </Container>\n </Wrapper>\n}\n\nexport { Toggle, ToggleLink }\n","import React from 'react'\nimport styled, { CSSObject } from 'styled-components'\nimport {Label} from './Label'\nimport { getThemeColor } from './Theme';\nimport { SharedStyles, SharedStyleTypes } from './SharedStyles'\n\ntype BaseTextareaProps = {\n noMargin?: boolean;\n error?: boolean;\n hasIcon?: boolean;\n} & SharedStyleTypes;\nexport const Textarea = styled.textarea<BaseTextareaProps>`\n ${p => {\n const styles: CSSObject = {\n marginBottom: p.noMargin ? 0 : \"1rem\",\n fontSize: '1rem',\n fontFamily: \"'skufont-regular', sans-serif\",\n boxSizing: 'border-box',\n backgroundColor: getThemeColor(p, 'input.background'),\n boxShadow: 'inset 0 1px 2px rgba(0, 0, 0, 0.1)',\n width: '100%',\n border: `1px solid ${getThemeColor(p, 'input.border')}`,\n borderRadius: '5px',\n padding: '8px 8px 8px 8px',\n color: getThemeColor(p, 'input.text'),\n \"::placeholder\": {\n color: getThemeColor(p, 'input.placeholder'),\n },\n ':hover': p.disabled ? undefined : {\n borderColor: getThemeColor(p, 'input.hover.border'),\n \"::placeholder\": {\n color: getThemeColor(p, 'input.hover.placeholder'),\n },\n },\n ':focus': {\n borderColor: getThemeColor(p, 'input.active.border'),\n color: getThemeColor(p, 'input.active.text'),\n outline: 'none',\n boxShadow: `1px 1px 0px ${getThemeColor(p, 'input.active.border')},\n -1px -1px 0px ${getThemeColor(p, 'input.active.border')},\n 1px -1px 0px ${getThemeColor(p, 'input.active.border')},\n -1px 1px 0px ${getThemeColor(p, 'input.active.border')};`,\n },\n ':disabled': {\n border: 'none',\n boxShadow: 'none',\n outline: 'none',\n color: getThemeColor(p, 'input.disabled.text'),\n backgroundColor: getThemeColor(p, 'input.disabled.background'),\n },\n };\n\n if (p.error) {\n styles['borderColor'] = getThemeColor(p, 'input.error.border');\n styles[':hover'] = {\n ...(styles[':hover'] || {}),\n borderColor: getThemeColor(p, 'input.error.border'),\n };\n styles[':focus'] = {\n color: getThemeColor(p, 'input.active.text'),\n outline: 'none',\n borderColor: getThemeColor(p, 'input.error.border'),\n boxShadow: `1px 1px 0px ${getThemeColor(p, 'input.error.border')},\n -1px -1px 0px ${getThemeColor(p, 'input.error.border')},\n 1px -1px 0px ${getThemeColor(p, 'input.error.border')},\n -1px 1px 0px ${getThemeColor(p, 'input.error.border')}`,\n }\n }\n\n if (p.hasIcon) {\n styles['border'] = 'none';\n styles['borderColor'] = 'none';\n styles['boxShadow'] = 'none';\n styles['outline'] = 'none';\n styles[':focus'] = undefined;\n styles[':hover'] = undefined;\n }\n\n return styles;\n }}\n\n ${SharedStyles}\n`;\n\ntype TextareaProps = React.TextareaHTMLAttributes<HTMLTextAreaElement>\n & BaseTextareaProps\n & {\n label: string,\n name?: string,\n noMargin?: boolean\n } & SharedStyleTypes;\nexport const LabeledTextarea: React.FC<TextareaProps> = React.forwardRef(\n ({ label, name, ...props}: TextareaProps, ref: React.Ref<HTMLTextAreaElement>) => {\n return <div>\n <Label htmlFor={name}>{label}</Label>\n <Textarea name={name} {...props}></Textarea>\n </div>\n }\n);\n","var img = \"data:image/gif;base64,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\";\n export default img;","var img = \"data:image/gif;base64,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\";\n export default img;","import styled from 'styled-components'\nimport React from 'react'\n\nimport gears from './gears.gif'\nimport gearsSmall from './gears-small.gif'\nimport { SharedStyles, SharedStyleTypes } from './SharedStyles'\n\nconst Wrapper = styled.div<SharedStyleTypes>`\n width: 100%;\n height: 100%;\n display: flex;\n justify-content: center;\n align-items: center;\n ${SharedStyles}\n`\n\nexport const Spinner = ( props : React.PropsWithChildren<{small?:boolean} & SharedStyleTypes>) => {\n return <Wrapper {...props}>\n <img alt=\"Loading...\" src={props.small ? gearsSmall : gears}/>\n </Wrapper>\n}\n","import styled from 'styled-components'\nimport React from 'react'\n\nimport star_dark from './star_dark.svg'\nimport star_light from './star_light.svg'\n\nimport { SharedStyles, SharedStyleTypes } from './SharedStyles'\n\nconst StyledStar = styled.img`\n width: 13px;\n height: 13px;\n vertical-align: top;\n`\nconst StyledRating = styled.div<SharedStyleTypes>`\n ${SharedStyles}\n`\n\nexport const StarRating = (props: {rating:number} & SharedStyleTypes) => {\n return <StyledRating {...props}>\n {[1,2,3,4,5].map((x,i) => i < props.rating ? <StyledStar key={`star${i}`} src={star_light}/> : <StyledStar key={`star${i}`} src={star_dark}/>)}\n </StyledRating>\n}\n","import React from 'react'\nimport styled from 'styled-components'\nimport {StarRating} from './StarRating'\nimport { SharedStyles, SharedStyleTypes } from './SharedStyles'\n\n\nconst ProductInfo = styled.div`\n width: 100%;\n background: rgba(0, 0, 0, 0.55) !important;\n position: absolute;\n left: 0;\n bottom: 0;\n opacity: 1;\n color: #fff;\n padding: 10px;\n font-size: 14px;\n box-sizing: border-box;\n -moz-box-sizing: border-box;\n height: 110px;\n -webkit-transition: height .2s ease;\n -moz-transition: height .2s ease;\n transition: height .2s ease;\n z-index: 1;\n text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.5);\n -moz-text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.5);\n background: -moz-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.55) 100%);\n background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.55) 100%);\n background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.55) 100%);\n filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00000000', endColorstr='#b0000000',GradientType=0 );\n`\n\nconst ProductName = styled.div`\n font-size: 1.2rem;\n font-weight: bold;\n display: none;\n`\n\nconst SupplierName = styled.div`\n font-size: .9rem;\n font-weight: bold;\n width: 100%;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n`\n\nconst ProductWrapper = styled.div<{picture:string} & SharedStyleTypes >`\n width: 100%;\n height: 17rem;\n overflow: hidden;\n background-image: url(\"${props => props.picture}\");\n background-repeat: no-repeat;\n background-position: center top;\n background-size: cover;\n position: relative;\n line-height: 1.5em;\n cursor: pointer;\n &:hover ${ProductInfo} {\n height: 100%;\n }\n &:hover ${ProductName} {\n display: block;\n }\n &:hover ${SupplierName} {\n overflow: visible;\n white-space: normal;\n }\n ${SharedStyles}\n`\n\nexport const Product = (props: {sku:string, picture:string, supplier:string, name:string, price?:number, currency?:string, rating?:number} & SharedStyleTypes) => {\n return <ProductWrapper {...props}>\n <ProductInfo>\n <SupplierName>{props.supplier}</SupplierName>\n <ProductName>{props.name}</ProductName>\n {props.sku}<br/>\n {props.price && props.currency ? props.currency + \"$\" + props.price : null}\n {props.rating ? <StarRating rating={props.rating}/> : null}\n </ProductInfo>\n </ProductWrapper>\n}\n","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","import defineProperty from \"./defineProperty.js\";\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n}\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","export default function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nimport possibleConstructorReturn from \"./possibleConstructorReturn.js\";\nexport default function _createSuper(Derived) {\n var hasNativeReflectConstruct = isNativeReflectConstruct();\n return function _createSuperInternal() {\n var Super = getPrototypeOf(Derived),\n result;\n if (hasNativeReflectConstruct) {\n var NewTarget = getPrototypeOf(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n return possibleConstructorReturn(this, result);\n };\n}","import React, { Component } from 'react';\nconst LOADING_IMG_SRC = '/images/gears.gif';\nconst NOT_FOUND_IMG_SRC = '/images/404.png';\nconst DEFAULT_MAX_ATTEMPTS = 3;\nconst DEFAULT_ATTEMPT_INTERVAL = 10000;\nclass Img extends Component {\n constructor(props) {\n super(props);\n this.state = {\n src: this.props.src,\n attempts: 0\n };\n this.onError = this.onError.bind(this);\n }\n UNSAFE_componentWillReceiveProps(nextProps) {\n if (nextProps.src !== this.props.src) {\n this.setState({\n src: nextProps.src,\n attempts: 0\n });\n }\n }\n componentWillUnmount() {\n if (this.retryId) {\n clearTimeout(this.retryId);\n }\n }\n onError() {\n if (NOT_FOUND_IMG_SRC === this.state.src) {\n return;\n }\n const max_attempts = this.props.max_attempts || DEFAULT_MAX_ATTEMPTS;\n const attempt_interval = this.props.attempt_interval || DEFAULT_ATTEMPT_INTERVAL;\n if (this.state.attempts >= max_attempts) {\n this.setState({\n src: NOT_FOUND_IMG_SRC\n });\n return;\n }\n this.setState({\n src: LOADING_IMG_SRC,\n attempts: this.state.attempts + 1\n });\n this.retryId = setTimeout(() => {\n this.setState({\n src: this.props.src\n });\n }, attempt_interval * (this.state.attempts + 1) * (this.state.attempts + 1));\n }\n render() {\n const props = {\n onError: this.onError,\n ...this.props,\n src: this.state.src,\n };\n return (\n <img alt=\"\" {...props} />\n );\n }\n}\nexport {Img};\n","import React from 'react'\nimport styled from 'styled-components'\nimport {Button} from './Button'\nimport {Img} from './Img'\nimport {Input, InputProps} from './Input'\nimport {IconDoc, DownloadIcon} from './icons'\nimport { getThemeColor, getThemeFontSize, colors } from './Theme';\nimport { SharedStyles, SharedStyleTypes } from './SharedStyles';\n\n\nconst ArtworkName = styled.div`\n font-size: .9rem;\n font-weight: bold;\n`\n\nconst UpdateDate = styled.div`\n font-size: ${props => getThemeFontSize(props, 'tiny')};\n color: ${props => getThemeColor(props, 'textbody', colors.textbody)};\n`\n\nconst ArtworkControls = styled.div`\n text-align: right;\n position: absolute;\n top: 0;\n left: 0;\n z-index: 2;\n padding: 10px;\n width: 100%;\n box-sizing: border-box;\n opacity: 0;\n transition: .3s all;\n`\n\nconst ArtworkInfo = styled.div<{withPicture?:boolean}>`\n padding-left: ${props => props.withPicture ? 0 : \"4vw !important\"};\n width: 100%;\n position: absolute;\n height: 3rem;\n left: 0;\n ${props=>props.withPicture ? \"bottom\" : \"top\"} : 0;\n opacity: 1;\n color: black;\n font-size: 14px;\n box-sizing: border-box;\n word-wrap: break-word;\n -moz-box-sizing: border-box;\n -webkit-transition: height .2s ease;\n -moz-transition: height .2s ease;\n transition: height .2s ease;\n z-index: 1;\n`\n\nconst ArtworkWrapper = styled.div<{cssHeight:number}&SharedStyleTypes>`\n width: 100%;\n height: ${props => props.cssHeight > 0 ? props.cssHeight + \"vw\": \"auto\"};\n min-height: 4rem;\n position: relative;\n line-height: 1.5em;\n cursor: pointer;\n\n &:hover ${ArtworkControls} {\n opacity: 1;\n }\n ${SharedStyles}\n`\n\nconst ArtworkPicture = styled.div<{cssHeight:number} >`\n width: 100%;\n height: calc(${props => props.cssHeight}vw - 3.5rem);\n overflow: hidden;\n position: relative;\n line-height: 1.5em;\n cursor: pointer;\n box-shadow: 0 2px 4px 0 rgba(0,0,0,0.2);\n\n &:hover ${ArtworkControls} {\n opacity: 1;\n }\n`\nfunction truncate(filename:string, max:number) {\n var extension = filename.substring(filename.lastIndexOf('.') + 1, filename.length);\n var base_name = filename.replace('.' + extension, '');\n return base_name.substr(0, max) + (filename.length > max ? '..' : '') + '.' + extension;\n}\n\nfunction extension(filename:string) {\n return filename.substring(filename.lastIndexOf('.') + 1, filename.length);\n}\n\nexport type ArtworkProps = {\n picture?:string,\n icon?:string,\n name:string,\n cssHeight?:number,\n date?:string,\n edit?:boolean,\n noTruncate?:boolean,\n onClick?:React.MouseEventHandler<HTMLDivElement>,\n onEdit?:Function|VoidFunction,\n onDelete?:Function|VoidFunction,\n onSave?:Function|VoidFunction,\n onError?:Function|VoidFunction,\n onDownload?:Function|VoidFunction,\n inputProps?: InputProps,\n inputEl?:React.ReactNode,\n};\n\nexport const Artwork = ({\n inputProps={},\n ...props\n }: ArtworkProps & SharedStyleTypes) => {\n /* TODO: 20 is arbitrary; ideally a component should know its width, and that should be used to compute the max length */\n return <ArtworkWrapper cssHeight={props.cssHeight ? props.cssHeight : props.picture ? 17 : 0} onClick={!props.picture && props.onClick ? props.onClick : undefined}>\n {props.picture?\n <ArtworkPicture onClick={(e) => props.onClick ? props.onClick(e) : null} cssHeight={props.cssHeight ? props.cssHeight : 17}>\n <Img src={props.picture} style={{objectFit:\"contain\", width:\"100%\", height: \"100%\"}} onError={props.onError}/>\n </ArtworkPicture>\n :\n <IconDoc ext={extension(props.name)} style={{width:\"3vw\"}} />\n }\n {!props.edit ?\n <ArtworkControls>\n {props.onEdit ? <Button size=\"small\" onClick={() => props.onEdit!()}>Edit</Button> : null}\n {props.onDelete ? <Button size=\"small\" onClick={() => props.onDelete!()} style={{marginLeft: 10}}>Delete</Button> : null}\n {props.onDownload ? <Button size=\"small\" onClick={() => props.onDownload!()} style={{marginLeft: 10, padding: 4}}><DownloadIcon style={{height: \"20px\"}}/></Button> : null}\n </ArtworkControls>\n : null}\n <ArtworkInfo withPicture={props.picture?true:false} >\n {props.edit && props.onSave ?\n <div style={{display:\"flex\"}}>\n {props.inputEl || <Input // Custom or default Input Element\n style={{flexGrow:1, marginBottom: 0, fontSize: \".8rem\", padding: \".3rem\"}}\n value={props.name}\n onChange={inputProps.onChange || (() => {})}\n \n {...inputProps} // Add onChange/onBlur to update name\n />}\n <Button size=\"small\" style={{height:\"100%\", marginLeft: 10, paddingRight: 4, paddingLeft: 4}} onClick={() => props.onSave!()}>Save</Button>\n </div> : props.name ?\n <ArtworkName>{props.noTruncate ? props.name : truncate(props.name, 20)}</ArtworkName> : null}\n {!props.edit && props.date ?\n <UpdateDate>Updated {props.date}</UpdateDate> : null}\n </ArtworkInfo>\n </ArtworkWrapper>\n}\n","import _ from 'lodash'\nimport styled from 'styled-components'\nimport React, { useEffect, useState } from 'react'\nimport { format } from 'date-fns'\nimport { LabeledCheckbox } from './Input'\nimport { SharedStyles, SharedStyleTypes } from './SharedStyles'\n\nconst TaskLabel = styled.div<{hasCheckbox?: boolean;}>`display: flex; min-height: 25px; ${p => p.hasCheckbox ? `width: calc(100% - 24px);` : ''}`\nconst TaskName = styled.div`flex-grow: 1; font-size:13px;`\nconst StyledTask = styled.div<SharedStyleTypes>`margin-bottom: 1.5em; ${SharedStyles}`\nconst TaskBody = styled.div`margin-left:34px;`\n\nexport type TaskProps = {\n taskName: string,\n date?: string,\n done?: boolean,\n assignee?: string,\n taskBody: string | React.ReactNode,\n checked?: boolean,\n initialChecked?: boolean;\n onClickCheckbox?: (checked?: boolean) => any,\n};\nconst Task = ({\n taskName,\n date,\n done,\n assignee,\n taskBody,\n initialChecked=false,\n onClickCheckbox,\n ...props\n}: React.PropsWithChildren<TaskProps & SharedStyleTypes>) => {\n const [checked, setChecked] = useState<boolean>(initialChecked);\n return (\n <StyledTask {...props}>\n <LabeledCheckbox checked={checked} label={\n <TaskLabel>\n <TaskName>{taskName}</TaskName>\n {date ? <div>{date}</div> : null}\n </TaskLabel>} onChange={() => {\n setChecked((s: boolean) => {\n onClickCheckbox && onClickCheckbox(!s);\n return !s;\n });\n }} />\n <TaskBody>{taskBody}</TaskBody>\n <div className=\"task-metadata\">\n {typeof assignee !== \"undefined\" ? \"for \" + assignee! : null}\n {typeof assignee !== \"undefined\" ? \"on \" : null}\n </div>\n </StyledTask>\n );\n}\n\nconst StyledCalendarTaskBody = styled.span`\n font-size: 13px;\n font-family: 'skufont-regular',sans-serif,Roboto;\n`;\n\nconst StyledCalendarTaskWrapper = styled(StyledTask)<{backgroundColor?: string;}>`\nborder-radius: 5px;\n${p => p.backgroundColor ? `background-color: ${p.backgroundColor};` : ''}\npadding: 5px;\nmargin: 0;\nheight: 100%;\nmargin-bottom: 7px;\n`;\n\nexport type CalendarTaskProps = {\n id?: string;\n title: string;\n description: string | React.ReactNode;\n date?: Date;\n completed?: boolean;\n colorType?: string;\n assignee?: string;\n checked?: boolean;\n overdue?: boolean;\n order?: number;\n onClickCheckbox?: (checked: boolean) => any;\n isDescriptionHtml?: boolean;\n draggable?: boolean;\n hideCheckbox?: boolean;\n Icon?: React.ReactNode;\n};\n\ntype CalendarTaskHtmlProps = CalendarTaskProps\n & SharedStyleTypes\n & React.InputHTMLAttributes<HTMLInputElement>;\nconst CalendarTask = React.forwardRef<HTMLInputElement, CalendarTaskHtmlProps>((\n {\n title,\n description,\n date,\n completed=false,\n assignee,\n onClickCheckbox,\n colorType='light-green',\n isDescriptionHtml=false,\n hideCheckbox=false,\n Icon=null,\n ...props\n },\n ref\n) => {\n const [checked, setChecked] = useState<boolean>(completed);\n\n useEffect(() => {\n setChecked(completed);\n }, [completed, title, date]);\n\n const checkboxStyles = React.useMemo(() => {\n const styles: React.CSSProperties = {};\n if (!checked) {\n if (colorType === 'light-red') {\n styles['borderColor'] = 'rgba(209, 69, 121, 0.24)';\n } else {\n styles['borderColor'] = '#BEF1DA';\n }\n } else {\n styles['filter'] = 'saturate(0)';\n }\n return styles;\n }, [checked, colorType]);\n\n const RenderTaskLabel = React.useCallback(() => {\n let DateElem: React.ReactNode = null;\n if (date) {\n DateElem = <div>{_.isDate(date) ? format(date, 'yyyy-mm-dd') : date}</div>;\n }\n\n return (\n <TaskLabel\n onClick={e => { e.preventDefault(); }}\n style={{fontWeight: 'bold' }}\n hasCheckbox={!hideCheckbox}\n >\n <TaskName style={{width: hideCheckbox && Icon ? '80%' : '100%'}}>{title}</TaskName>\n {DateElem}\n {hideCheckbox && Icon ? Icon : null}\n </TaskLabel>\n );\n }, [date, title, hideCheckbox, Icon]);\n\n return (\n <StyledCalendarTaskWrapper\n backgroundColor={colorType === 'light-red' ? '#ffebf2' : '#01d37417'}\n {...props}\n style={{\n ...(props.style || {}),\n ...(checked ? { filter: 'saturate(0)' } : {}),\n }}\n >\n {!hideCheckbox ? <LabeledCheckbox ref={ref}\n stopPropagation\n checked={checked}\n checkboxPosition=\"top-right\"\n checkboxStyle={checkboxStyles}\n hoverByLabel={false}\n labelStyle={{width: '100%', paddingLeft: 0, paddingRight: 0, marginRight: 0, marginLeft: 0, margin: 0,}}\n label={RenderTaskLabel()}\n onClick={(e: React.MouseEvent<HTMLInputElement>) => {\n e && e.preventDefault();\n e && e.stopPropagation();\n }}\n onChange={(e: React.ChangeEvent<HTMLInputElement>) => {\n e && e.preventDefault();\n e && e.stopPropagation();\n setChecked((s: boolean) => {\n onClickCheckbox && onClickCheckbox(!s);\n return !s;\n });\n }}\n style={{\n padding: 0,\n margin: 0,\n marginLeft: 20,\n }}\n /> : RenderTaskLabel()}\n <StyledCalendarTaskBody\n {...(isDescriptionHtml && typeof description === 'string'\n ? { dangerouslySetInnerHTML: { __html: description } }\n : { children: description })}\n />\n <div className=\"task-metadata\">\n {assignee ? \"for \" + assignee : null}\n {assignee ? \"on \" : null}\n </div>\n </StyledCalendarTaskWrapper>\n );\n});\n\nexport {\n Task,\n StyledTask,\n TaskLabel,\n TaskName,\n TaskBody,\n StyledCalendarTaskBody,\n CalendarTask,\n};\n","import styled from 'styled-components'\nimport React from 'react'\nimport {Textarea} from './Textarea'\nimport {Avatar} from './Avatar'\nimport { getThemeColor, colors } from './Theme';\nimport { SharedStyles, SharedStyleTypes } from './SharedStyles';\n\nconst PublisherWrapper = styled.div`background: ${props => getThemeColor(props, \"bgblue\", colors.bgblue)}; border-radius:5px; padding: 1em; margin-bottom: 1em;`\nexport const Publisher = (props: React.PropsWithChildren<{}>) => {\n return <PublisherWrapper>\n <Textarea placeholder=\"Post a note about this project\"/>\n </PublisherWrapper>\n}\n\nconst PostWrapper = styled.div<SharedStyleTypes>`display:flex; margin-bottom: 1em; line-height: 1.5em; ${SharedStyles}`\nconst WidePart = styled.div`flex-grow:1;`\nconst Date = styled.span`color: ${props => getThemeColor(props, \"textbody\", colors.textbody)}; display: inline-block;`\nconst Action = styled.a`display: inline-block; margin-left: 10px;`\nconst Author = styled.div`flex-grow: 1; color: ${props => getThemeColor(props, \"texttitle\", colors.texttitle)}; font-size: 18px; font-family: \"skufont-medium\", sans-serif; `\nconst Subject = styled.div`color:${props => getThemeColor(props, \"textbody\", colors.textbody)}; font-size: 14px; font-family: \"skufont-medium\", sans-serif; `\nconst TopLine = styled.div`display:flex;`\nconst PostFooter = styled.div`font-size:.9em;`\nconst Comments = styled.div`margin-top: 1em;`\n\nexport const FeedPost = (props: React.PropsWithChildren<{author: any, subject?: string, body: React.ReactNode, date: string, comments?: React.ReactNode[]}&SharedStyleTypes>) => {\n return <PostWrapper {...props}>\n <Avatar pic={props.author.avatar}/>\n <WidePart>\n <TopLine>\n <Author>{props.author.name}</Author>\n <Subject>{props.subject}</Subject>\n </TopLine>\n {props.body}\n <PostFooter>\n <Date>{props.date}</Date>\n <Action href=\"#\">Comment</Action>\n </PostFooter>\n {props.comments && props.comments.length > 0 ?\n <Comments>\n {props.comments}\n </Comments> : null }\n </WidePart>\n </PostWrapper>\n}\n","import React, { Component } from 'react'\nimport styled from 'styled-components';\nimport { getThemeColor, colors } from './Theme';\nimport { SharedStyles, SharedStyleTypes } from './SharedStyles'\n\nconst Wrapper = styled.div<SharedStyleTypes>`\n background: ${props => getThemeColor(props, 'bgblue', colors.bgblue)};\n text-align: center;\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n ${SharedStyles}\n`;\n\nconst ErrorTextContainer = styled.div`\n background: white;\n max-width: 450px;\n text-align: center;\n border-radius: 10px;\n font-size: 2em;\n margin-left: auto;\n padding: 100px 50px;\n margin-top: auto;\n margin-bottom: auto;\n\n @media only screen and (max-width: 700px) {\n margin-right: auto;\n }\n\n @media only screen and (min-width: 701px) {\n margin-right: 10px;\n }\n`;\n\nconst BotContainer = styled.div`\n max-width: 450px;\n text-align: center;\n border-radius: 10px;\n font-size: 2em;\n padding: 40px;\n\n margin-right: auto;\n @media only screen and (max-width: 700px) {\n margin-left: auto;\n margin-top: 20px;\n }\n\n @media only screen and (min-width: 701px) {\n margin-left: 5px;\n }\n`;\n\nconst BotImg = styled.img`\n margin-top: 20px;\n padding: 0;\n margin: 0;\n max-width: 450px;\n`;\n\ntype StateType = { hasError: boolean };\n\nexport class ErrorBoundary extends Component<object, StateType> {\n constructor(props: StateType) {\n super(props);\n this.state = { hasError: false }\n }\n\n componentDidCatch(error: Error | any, info: string | any) {\n this.setState({ hasError: true })\n console.log({ error, info })\n }\n\n render() {\n if (this.state.hasError) {\n return (\n <Wrapper {...this.props}>\n <div style={{ display: 'flex', flexWrap: 'wrap', position: 'fixed', width: '100%', }}>\n <ErrorTextContainer>\n I'm sorry... this page cannot be loaded.<br /><br /><a href=\"/\">Back to home</a>\n </ErrorTextContainer>\n <BotContainer>\n <BotImg src=\"https://login.commonsku.com/images/repairbot.png\" alt=\"SKU Bot\" />\n </BotContainer>\n </div>\n </Wrapper>\n );\n }\n return this.props.children;\n }\n}\n\nexport default ErrorBoundary;\n","import React from 'react';\nimport { default as BaseDatePicker, ReactDatePickerProps } from 'react-datepicker';\nimport { Input, InputProps } from './Input';\nimport { CalendarIcon } from './icons';\n\ntype CustomInputProps = InputProps & {isClearable?: boolean};\nexport const CustomDateInput = React.forwardRef<HTMLInputElement, CustomInputProps>((\n { error, noMargin, onClick, isClearable, ...props },\n ref\n) => {\n return (<>\n <Input\n ref={ref}\n noMargin={noMargin}\n error={error}\n style={{ marginRight: '2rem', display: 'inline-block' }}\n className=\"react-datepicker-ignore-onclickoutside\" \n type=\"text\"\n autoComplete=\"off\"\n {...props}\n />\n <span style={{ fontStyle: 'normal', cursor: 'pointer', position: 'absolute', top: '8px', right: '5px' }} onClick={onClick}>\n {!isClearable ? <CalendarIcon style={{ width: '1.9rem', verticalAlign: 'middle', }} /> : null}\n </span>\n </>);\n});\n\nexport type DatepickerPorps = Omit<ReactDatePickerProps, 'value'>\n & Omit<InputProps, 'value'>\n & {\n value?: Date | null;\n placeholder?: string;\n };\nexport const Datepicker = React.forwardRef((\n {\n error,\n value,\n customInput,\n locale='en',\n todayButton='Today',\n placeholder='yyyy-MM-dd',\n placeholderText='yyyy-MM-dd',\n dateFormat='yyyy-MM-dd',\n isClearable=false,\n peekNextMonth=true,\n showMonthDropdown=true,\n showYearDropdown=true,\n showPopperArrow=false,\n dropdownMode=\"select\",\n nextMonthButtonLabel=\"\",\n nextYearButtonLabel=\"\",\n previousMonthButtonLabel=\"\",\n previousYearButtonLabel=\"\",\n popperClassName,\n wrapperClassName,\n ...props\n }: DatepickerPorps,\n ref: React.Ref<BaseDatePicker>\n) => {\n return (\n <BaseDatePicker\n locale={locale}\n selected={value || props.selected}\n todayButton={todayButton}\n customInput={customInput || <CustomDateInput noMargin error={error} isClearable={isClearable} />}\n dateFormat={dateFormat}\n placeholderText={placeholder || placeholderText}\n isClearable={isClearable}\n showMonthDropdown={showMonthDropdown}\n showYearDropdown={showYearDropdown}\n nextMonthButtonLabel={nextMonthButtonLabel}\n nextYearButtonLabel={nextYearButtonLabel}\n previousMonthButtonLabel={previousMonthButtonLabel}\n previousYearButtonLabel={previousYearButtonLabel}\n dropdownMode={dropdownMode}\n peekNextMonth={peekNextMonth}\n popperClassName={`commonsku-styles-datepicker ${popperClassName || ''}`}\n wrapperClassName={`commonsku-styles-datepicker ${wrapperClassName || ''}`}\n showPopperArrow={showPopperArrow}\n {...props}\n ref={ref}\n />\n )\n})\n\n","import React, { ReactNode, useEffect, useState, useRef, useCallback } from 'react';\nimport styled, { CSSObject } from 'styled-components'\nimport { getColor } from './Theme';\nimport { Button, ButtonVariant, TSize } from './Button';\nimport { ChevronIcon } from './icons';\nimport { document, stripUnit, window } from '../utils';\n\nexport const StyledDropdown = styled.div`\n&&& {\n position: relative;\n display: inline-block;\n}\n`;\n\ntype DropdownContentProps = {\n primary?: boolean,\n underlined?: boolean,\n text?: string,\n width?: string | number,\n bordered?: boolean,\n}\n\ntype DropdownItemProps = {\n primary?: boolean,\n underlined?: boolean,\n}\n\nexport const DropdownItem = styled.div<DropdownItemProps>`\n&&& {\n color: ${p => getColor('primary')};\n padding: 8px 8px;\n text-decoration: none;\n display: block;\n ${p => p.underlined && \n `border-bottom: 1px solid ${getColor(p.primary ? 'primary' : 'white')};`\n }\n :last-child {\n border-bottom: none;\n }\n\n &:hover {\n background-color: ${p => getColor('bgblue')};\n border-radius: 5px;\n cursor: pointer;\n }\n}\n`;\n\nexport const DropDownContent = styled.div<DropdownContentProps>`\n&&& {\n display: block;\n position: absolute;\n background-color: ${p => getColor('white')};\n min-width: ${p => typeof p.width === 'number' ? p.width+'px' : p.width || '160px'};\n ${p => p.bordered ? `border: 2px solid ${getColor(!p.primary || p.primary ? 'teal.main' : 'pink.main')};` : ''}\n box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);\n padding: 8px 8px;\n border-radius: 5px;\n text-align: left;\n z-index: 105;\n/*\n a {\n color: ${p => getColor(p.primary ? 'primary' : 'cta')};\n padding: 8px 8px;\n text-decoration: none;\n display: block;\n ${p => p.underlined && \n `border-bottom: 1px solid ${getColor(p.primary ? 'primary' : 'white')};`\n }\n font-weight: bold;\n :last-child {\n border-bottom: none;\n }\n\n &:hover {\n background-color: ${p => getColor(p.primary ? 'primary0' : 'cta')};\n color: ${p => getColor(p.primary ? 'texttitle' : 'white')};\n border-radius: 5px;\n cursor: pointer;\n }\n }\n*/\n}\n`;\n\nexport type TDropdownItem = {\n onClick?: Function|VoidFunction|null;\n props?: {\n [key: string]: any;\n underlined?:boolean;\n };\n content: ReactNode|string|any;\n};\nexport type DropdownProps = {\n items?: Array<TDropdownItem>;\n icon?: ReactNode;\n openMenu?: boolean;\n mouseLeaveCallback?: any;\n size?: TSize;\n style?: CSSObject;\n buttonVariant?: ButtonVariant;\n width?: string | number;\n bordered?: boolean;\n hideOnMouseLeave?: boolean;\n onToggleMenu?: (value: boolean) => void;\n};\n\nconst getContentStyle = (width: string| number, rootElem: HTMLSpanElement | null, buttonElem: HTMLButtonElement | null) => {\n if (!rootElem || !buttonElem) { return {}; }\n const rect = rootElem.getBoundingClientRect();\n const buttonRect = buttonElem.getBoundingClientRect();\n const offset = window.innerWidth - (rect.x + rect.width);\n if (offset < stripUnit(width)) {\n return {\n marginLeft: '-' + Math.abs(stripUnit(width) - buttonRect.width) + 'px',\n };\n }\n return {};\n};\n\nexport const Dropdown = ({\n items,\n children=undefined,\n underlined,\n primary,\n text,\n icon,\n openMenu=false,\n onToggleMenu,\n mouseLeaveCallback,\n size,\n style={},\n buttonVariant,\n width=160,\n bordered=false,\n hideOnMouseLeave=true,\n ...props\n}: React.PropsWithChildren<DropdownProps & DropdownContentProps>) => {\n const rootRef = useRef<HTMLSpanElement>(null);\n const buttonRef = useRef<HTMLButtonElement>(null);\n const [showMenu, setShowMenu] = useState(openMenu);\n const iconProps = {\n color: getColor(primary ? 'primary100' : 'white'),\n style: {verticalAlign: 'middle', transitionDuration: '.3s', transform: 'rotate(' + ( showMenu ? 0 : 180 ) + 'deg)'},\n };\n\n const handleToggleMenu = useCallback((value = null) => {\n setShowMenu(s => {\n const newValue = value !== null ? value : !s;\n onToggleMenu && onToggleMenu(newValue);\n return newValue;\n });\n }, [onToggleMenu]);\n\n const handleClick = useCallback((e: Event) => {\n if (rootRef.current?.contains(e.target as Node)) {\n return;\n }\n handleToggleMenu(false);\n }, [handleToggleMenu]);\n\n useEffect(() => {\n if(items) {\n document.addEventListener(\"mousedown\", handleClick);\n\n return () => {\n document.removeEventListener(\"mousedown\", handleClick);\n };\n }\n }, [items, handleClick]);\n\n const contentStyle = getContentStyle(width, rootRef.current, buttonRef.current);\n return (\n <span ref={rootRef} {...props} style={style} onMouseLeave={() => { \n if (!hideOnMouseLeave) { return; }\n handleToggleMenu(false);\n if(mouseLeaveCallback) {\n mouseLeaveCallback()\n }\n }}>\n <StyledDropdown>\n {icon ?\n <span onClick={() => handleToggleMenu(!showMenu)}>\n {icon}\n </span>\n :\n <Button\n size={size}\n cta={Boolean(!primary)}\n variant={buttonVariant}\n onClick={() => handleToggleMenu(!showMenu)}\n ref={buttonRef}\n >\n {text ? text : \"Actions\"} <ChevronIcon direction=\"up\" {...iconProps} />\n </Button>\n }\n {showMenu && <DropDownContent style={contentStyle} underlined={underlined} primary={primary} width={width} bordered={bordered}>\n {items && items.map((item, i) => {\n return item && <DropdownItem key={'dropdown-item-'+i}\n {...item.props}\n primary={primary}\n underlined={item.props && item.props.underlined ? item.props.underlined : underlined}\n onClick={() => {\n setShowMenu(false);\n item.onClick && item.onClick()\n }}\n >{item.content}</DropdownItem>\n })}\n {children ? children : null}\n </DropDownContent>}\n </StyledDropdown>\n </span>\n );\n}\n","import styled from 'styled-components'\nimport { colors } from './Theme'\nimport { SharedStyleTypes, SharedStyles } from './SharedStyles'\n\nexport const Badge = styled.span<{color?:string} & SharedStyleTypes>`\n display: inline-block;\n min-width: 10px;\n padding: 3px 7px;\n font-size: 12px;\n font-weight: 700;\n line-height: 1;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n background-color: ${p => p.color === 'cta' ? colors.cta : p.color==='grey' ? colors.primary0 : colors.primary};\n color: ${p => p.color==='grey' ? colors.primary100 : colors.white};\n border-radius: 10px;\n ${SharedStyles}\n`;\n\n","import { document } from '../utils';\n\nconst verticalScrollbarWidth = () => {\n // thanks too https://davidwalsh.name/detect-scrollbar-width\n const scrollDiv = document.createElement('div')\n scrollDiv.setAttribute('style', 'width: 100px; height: 100px; overflow: scroll; position:absolute; top:-9999px;')\n document.body.appendChild(scrollDiv)\n const scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth\n document.body.removeChild(scrollDiv)\n return scrollbarWidth\n}\n\nexport default verticalScrollbarWidth","//@ts-nocheck\nimport React, { \n memo, useRef, useState, useEffect, useCallback, useLayoutEffect, createContext, forwardRef, useMemo \n} from 'react';\nimport { partial } from 'lodash';\nimport styled from 'styled-components'\nimport { SizerCss, SizerTypes } from './Sizer';\nimport { useTable, useSortBy, useBlockLayout, usePagination, useColumnOrder } from 'react-table'\nimport { useSticky } from 'react-table-sticky';\nimport { FixedSizeList as List, areEqual } from 'react-window';\nimport verticalScrollbarWidth from './verticalScrollbarWidth';\n\nimport { SharedStyles, SharedStyleTypes } from './SharedStyles'\nimport { Button } from './Button'\nimport { FilledChevronIcon } from './icons';\nimport { getColor } from './Theme';\nimport { document } from '../utils';\n\nconst PADDING_SIZE = 60\n\nconst Styles = styled.div<{minHeight?: number, pagination?: boolean}>`\n overflow-x: ${props => props.pagination ? 'scroll' : 'hidden'};\n min-height: ${props => props.minHeight ? props.minHeight : \"600\"}px;\n /* -ms-overflow-style: none;\n ::-webkit-scrollbar {\n display: none;\n }\n .headless-table-list::-webkit-scrollbar {\n display: none;\n } */\n\n .th,\n .td {\n padding: 5px;\n background-color: #fff;\n overflow: hidden;\n border: none !important;\n text-align: center;\n }\n .react-table {\n .th,\n .td {\n background: '#fff'\n }\n &.react-table-sticky {\n overflow: scroll;\n .header,\n .footer {\n position: sticky;\n z-index: 1;\n width: fit-content;\n }\n .header {\n top: 0;\n //box-shadow: 0px 3px 3px #ccc;\n }\n .footer {\n bottom: 0;\n box-shadow: 0px -3px 3px #ccc;\n }\n .body {\n position: relative;\n z-index: 0;\n }\n [data-sticky-td] {\n position: sticky;\n }\n [data-sticky-last-left-td] {\n box-shadow: 2px 0px 0px #ccc;\n }\n [data-sticky-first-right-td] {\n box-shadow: -2px 0px 0px #ccc;\n }\n }\n\n .sticky {\n position: sticky !important;\n position: -webkit-sticky !important;\n z-index: 100 !important;\n }\n\n .row,\n .sticky {\n display: flex;\n align-items: center;\n background-color: white;\n border-bottom: 1px solid #eee;\n box-sizing: border-box;\n }\n }\n .react-table-wrapper {\n margin-top: 15px;\n position: absolute;\n text-align: center;\n width: 100%;\n left: 0;\n }\n .react-table-pagination {\n padding: 0.5rem;\n margin: auto;\n button {\n font-family: 'skufont-regular', sans-serif;\n font-size: 18px;\n padding: 5px 15px;\n border-radius: 4px;\n background: transparent; \n text-align: center;\n border: 2px solid #02c0da;\n color: #02c0da;\n cursor: pointer;\n }\n button:hover {\n color: #02c0da;\n background: #E6EFF2;\n }\n button:focus {\n border: 2px solid #02c0da;\n outline-color: #02c0da;\n }\n input {\n border: 1px solid #ABC7D1;\n border-radius: 5px;\n font-family: 'skufont-regular', sans-serif;\n font-size: 18px;\n padding: 5px 15px;\n color: #52585c;\n background-color: white;\n width: 40px;\n text-align: center;\n margin-right: 5px;\n }\n input:focus{\n border: 2px solid #02c0da;\n outline-color: #02c0da;\n }\n .page-select {\n margin: 0 20px;\n }\n }\n`\nconst TD= styled.td<{clickable?: boolean, backgroundColor?: String}&SharedStyleTypes|SizerTypes>`\n &&& {\n border: 0 !important;\n color: #52585c;\n font-size: .875rem;\n line-height: 1.75rem;\n display: table-cell;\n padding: 0.5625rem 0.625rem;\n overflow: visible !important;\n background-color: ${props => props.backgroundColor ? props.backgroundColor : \"#fff\"};\n &:hover {\n cursor: ${props => props.clickable ? \"pointer\" : \"normal\"};\n }\n ${SizerCss}\n ${SharedStyles}\n }\n`;\n\nconst TABLEDIV = styled.div<{clickable?: boolean, backgroundColor?: String}&SharedStyleTypes|SizerTypes>`\n &&& {\n border: 0 !important;\n color: #52585c;\n font-size: .875rem;\n line-height: 1.75rem;\n display: table-cell;\n padding: 0.5625rem 0.625rem;\n overflow: visible !important;\n background-color: ${props => props.backgroundColor ? props.backgroundColor : \"#fff\"};\n &:hover {\n cursor: ${props => props.clickable ? \"pointer\" : \"normal\"};\n }\n ${SizerCss}\n ${SharedStyles}\n }\n`;\n\ntype HeadlessTableProps = React.PropsWithChildren<{\n columns: any,\n data: object[],\n rowIdField: string,\n selectedRowId?: string | null,\n defaultSort?: { id: string, desc: boolean },\n defaultPageSize?: number,\n defaultPageIndex?: number,\n defaultScrollOffset?: number,\n defaultHorizontalOffset ?: number,\n scrollOffsetDivRef?: any,\n horizontalOffsetDivRef?: any,\n pageIndexDivRef?:any,\n onChangeSelected?:any,\n onChangeSortOrColumns?: any,\n sortDirectionDivRef?: any, \n currentColumnsDivRef?: any,\n minHeight?: any,\n pagination?: boolean\n} & SharedStyleTypes>;\n\nconst StickyListContext = createContext({});\nStickyListContext.displayName = \"StickyListContext\"\n\nconst DivCell = ({ row, cell, rowIdField, selectedId, onSelectRow, isHoverRow }) => {\n const [isHover, setIsHover] = useState(false);\n const backgroundColor = (row.original[rowIdField] === selectedId) ? '#F4F7FF' : '#FFF';\n\n return <TABLEDIV\n className=\"td\" {...cell.getCellProps()} \n width={cell.column.width} \n backgroundColor={backgroundColor}\n onMouseEnter={() => setIsHover(true)}\n onMouseLeave={() => setIsHover(false)}\n >\n {cell.column.isRowId \n ? ((isHoverRow || isHover || (row.original[rowIdField] === selectedId)) && <div \n onClick={() => onSelectRow(row.original[rowIdField] !== selectedId ? row.original[rowIdField] : null)}>\n <Button secondary size=\"tiny\">+</Button>\n </div>)\n : <>\n {cell.render('Cell')}\n {cell.column.hasTooltip && isHover && cell.column.tooltipContent(row.original)}\n </>}\n </TABLEDIV>\n}\n\nconst RenderDivRow = memo(({ data, index, style }) => {\n const [isHover, setIsHover] = useState(false);\n const row = data[index];\n return <StickyListContext.Consumer>\n {({ width, prepareRow, rowIdField, selectedId, onSelectRow }) => {\n prepareRow(row);\n return <div \n {...row.getRowProps({\n style: {\n ...style,\n position: \"absolute\",\n width,\n top: `${parseFloat(style.top) + PADDING_SIZE}px`,\n }\n })} \n onMouseEnter={() => setIsHover(true)}\n onMouseLeave={() => setIsHover(false)}\n className=\"tr\"\n > \n {row.cells.map((cell: any, c: any) => {\n return <DivCell key={c} row={row} cell={cell} c={c} \n rowIdField={rowIdField} selectedId={selectedId} onSelectRow={onSelectRow} isHoverRow={isHover}\n />\n })}\n </div>\n }}\n </StickyListContext.Consumer>\n}, areEqual);\n\nconst iconProps = {\n // width: '10px',\n color: getColor('primary100')\n}\n\nconst iconStyle = (up: boolean) => {\n return {\n verticalAlign: 'middle', \n transitionDuration: '.3s', \n transform: 'rotate(' + ( up ? 0 : 180 ) + 'deg)',\n marginLeft: '5px'\n }\n}\n\nconst StickyRow = ({ style, headerGroups, onColumnClick, onDragStart, onDrop }) => (\n <div className=\"row sticky\" style={style}>\n {headerGroups.map((headerGroup: any, h: any) => (\n <div key={h} {...headerGroup.getHeaderGroupProps()} className=\"tr\">\n {headerGroup.headers.map((column: any, i: any) => (\n <div key={i} {...column.getHeaderProps(column.getSortByToggleProps())}\n data-column-index={i}\n draggable={column.noDrag ? false : true}\n onDragStart={column.noDrag ? undefined : onDragStart}\n onDragOver={e => {\n e.preventDefault()\n }}\n onDrop={column.noDrag ? undefined : onDrop}\n className=\"th\"\n width={column.width}\n onClick={() => {\n onColumnClick(column);\n }}\n >\n {column.render('Header')}\n <span>\n {column.isSorted\n ? column.isSortedDesc\n ? <FilledChevronIcon direction=\"up\" {...iconProps} style={iconStyle(false)} />\n : <FilledChevronIcon direction=\"up\" {...iconProps} style={iconStyle(true)} />\n : ''}\n </span>\n </div>\n ))}\n </div>\n ))}\n </div>\n)\n\nconst StickyContainer = forwardRef(({ children, style, ...props }, ref) => {\n return <StickyListContext.Consumer>\n {({ stickyIndices, width, onHeaderColumnClick, headerGroups, onDragStart, onDrop }) => (\n <div ref={ref} \n style={{\n ...style,\n width, height: `${parseFloat(style.height) + PADDING_SIZE * 2}px`,\n }} \n {...props}\n >\n {stickyIndices.map(index => (\n <StickyRow key={index}\n style={{ top: index * 60, left: 0, width: \"100%\", height: '60px' }}\n headerGroups={headerGroups}\n onColumnClick={onHeaderColumnClick}\n onDragStart={onDragStart} onDrop={onDrop}\n />\n ))}\n {children}\n </div>\n )}\n </StickyListContext.Consumer>\n});\n\nconst StickyList = ({ \n children, itemData, rowIdField, selectedId, onSelectRow, headerGroups, onDragStart, onDrop,\n prepareRow, stickyIndices, width, onHeaderColumnClick, ...rest \n}) => {\n return <StickyListContext.Provider value={{ \n stickyIndices, onHeaderColumnClick, width, rowIdField, selectedId, onSelectRow, prepareRow, headerGroups, \n onDragStart, onDrop\n }}>\n <List itemData={itemData} className=\"headless-table-list\" {...rest}>\n {children}\n </List>\n </StickyListContext.Provider>\n}\n\nexport function HeadlessTable({ \n columns, data, rowIdField, defaultSort, defaultPageSize=200, defaultPageIndex=0, defaultScrollOffset=0, defaultHorizontalOffset=0,\n pageIndexDivRef, onChangeSelected, onChangeSortOrColumns, scrollOffsetDivRef, horizontalOffsetDivRef, selectedRowId,\n sortDirectionDivRef, currentColumnsDivRef, minHeight, pagination=true\n}: HeadlessTableProps) {\n //@ts-ignore\n const initialState: any = { \n pageIndex: defaultPageIndex, \n pageSize: defaultPageSize\n }\n if(defaultSort) {\n initialState.sortBy = [defaultSort]\n }\n\n const table: any = useTable(\n {\n columns,\n data,\n initialState,\n },\n useSortBy,\n usePagination,\n useColumnOrder,\n useSticky,\n useBlockLayout\n )\n\n const {\n getTableProps,\n getTableBodyProps,\n headerGroups,\n rows,\n totalColumnsWidth,\n visibleColumns,\n prepareRow,\n setColumnOrder,\n page,\n canPreviousPage,\n canNextPage,\n pageOptions,\n pageCount,\n gotoPage,\n nextPage,\n previousPage,\n state: { pageIndex },\n } = table\n\n const [sortDirection, _setSortDirection] = useState(defaultSort ? { accessor: defaultSort.id, direction: defaultSort.desc ? 'DESC' : 'ASC' } : {})\n const [currentColumns, _setCurrentColumns] = useState(visibleColumns.map((c: any) => c.id))\n const [hoverId, setHoverId] = useState(null)\n const [selectedId, _setSelectedId] = useState(selectedRowId)\n const [scrollbarWidth, setScrollbarWidth] = useState(0)\n const [scrollOffset, setScrollOffset] = useState(defaultScrollOffset)\n const [horizontalOffset, setHorizontalOffset] = useState(defaultHorizontalOffset)\n const setSelectedId = (selectedId) => {\n _setSelectedId(selectedId);\n onChangeSelected(selectedId)\n };\n\n const setSortDirection = (sortDirection) => {\n _setSortDirection(sortDirection);\n onChangeSortOrColumns(sortDirection, currentColumns);\n };\n\n const setCurrentColumns = (currentColumns) => {\n _setCurrentColumns(currentColumns);\n onChangeSortOrColumns(sortDirection, currentColumns);\n };\n\n useEffect(() => {\n setSelectedId(selectedRowId);\n /* eslint-disable react-hooks/exhaustive-deps */\n }, [selectedRowId]);\n\n useEffect(() => {\n if(defaultScrollOffset !== 0) {\n setScrollOffset(defaultScrollOffset)\n }\n }, [defaultScrollOffset])\n\n useEffect(() => {\n if(defaultHorizontalOffset !== 0) {\n setHorizontalOffset(defaultHorizontalOffset)\n }\n }, [defaultHorizontalOffset])\n\n useEffect(() => {\n if(defaultSort) {\n _setSortDirection({ accessor: defaultSort.id, direction: defaultSort.desc ? 'DESC' : 'ASC' });\n }else{\n _setSortDirection({});\n }\n }, [defaultSort])\n\n useEffect(() => {\n _setCurrentColumns(visibleColumns.map((c: any) => c.id))\n }, [visibleColumns])\n\n let columnBeingDragged: any = null;\n\n const onDragStart = (e: any) => {\n columnBeingDragged = e.target.dataset.columnIndex;\n };\n\n const onDrop = (e: any) => {\n e.preventDefault();\n const newPosition = e.target.dataset.columnIndex;\n if(newPosition) {\n const currentCols = visibleColumns.map((c: any) => c.id);\n const colToBeMoved = currentCols.splice(columnBeingDragged, 1);\n currentCols.splice(newPosition, 0, colToBeMoved[0]);\n setCurrentColumns(currentCols);\n setColumnOrder(currentCols);\n }\n };\n\n const tableRef = useRef(null);\n const listContainerRef = useRef(null);\n\n useEffect(() => {\n if (listContainerRef.current) {\n listContainerRef.current.scrollLeft = horizontalOffset;\n }\n }, [listContainerRef, horizontalOffset, rows])\n\n //Extra horizontal scrollbar on the bottom of the page\n const topScrollRef = useRef(null)\n\n //Method for syncing horizontal scrollbar movements when we need one at the bottom of the page\n const handleHorizontalScroll = useCallback(\n placement => {\n let scrollNode = listContainerRef.current\n if (pagination) {\n scrollNode = tableRef.current?.parentNode\n }\n\n if(placement === 'top') {\n scrollNode.scrollLeft = topScrollRef.current.scrollLeft\n return\n }\n\n if(placement === 'bottom' && topScrollRef.current) {\n topScrollRef.current.scrollLeft = scrollNode.scrollLeft\n return\n }\n },\n [listContainerRef, tableRef, pagination]\n );\n\n useEffect(() => {\n const ref = topScrollRef.current;\n const handleHorizontalScrollTop = partial(handleHorizontalScroll, 'top');\n if(ref) {\n ref.addEventListener('scroll', handleHorizontalScrollTop);\n \n return () => ref.removeEventListener('scroll', handleHorizontalScrollTop);\n }\n }, [topScrollRef, handleHorizontalScroll])\n\n useEffect(() => {\n const ref = tableRef.current;\n if(pagination) {\n if(ref) {\n setScrollbarWidth(ref.offsetWidth + 200)\n }\n }else{\n if(listContainerRef) {\n setScrollbarWidth(listContainerRef.current.firstChild.offsetWidth + 200)\n }\n }\n }, [tableRef, listContainerRef, pagination])\n\n useEffect(() => {\n if(pagination) {\n if(tableRef) {\n setScrollbarWidth(tableRef.current.offsetWidth + 200)\n }\n }else{\n if(listContainerRef) {\n setScrollbarWidth(listContainerRef.current.firstChild.offsetWidth + 200)\n }\n }\n }, [columns, pagination])\n\n useLayoutEffect(() => {\n const ref = tableRef.current;\n const handleHorizontalScrollBottom = partial(handleHorizontalScroll, 'bottom');\n if(ref) {\n ref.parentNode.addEventListener('scroll', handleHorizontalScrollBottom);\n \n return () => ref.parentNode.removeEventListener('scroll', handleHorizontalScrollBottom)\n }\n }, [tableRef, handleHorizontalScroll])\n\n useEffect(() => {\n const listScroll = (e) => { \n if(e.target.className === 'headless-table-list') {\n //handleHorizontalScroll('bottom')\n if(horizontalOffsetDivRef && listContainerRef.current && listContainerRef.current.scrollLeft !== 0) {\n horizontalOffsetDivRef.current.innerText = listContainerRef.current.scrollLeft\n }\n }\n }\n\n if(listContainerRef) {\n document.addEventListener('scroll', listScroll, true)\n \n return () => document.removeEventListener('scroll', listScroll)\n }\n }, [listContainerRef, horizontalOffsetDivRef])\n\n\n //infinite scroll\n const scrollBarSize = useMemo(() => verticalScrollbarWidth(), [])\n return (\n <Styles minHeight={minHeight}>\n <>\n {pagination ?\n <div ref={topScrollRef} style={{ \n position:'fixed', height: '20px', \n width: '100%', bottom: 0, zIndex: 100,\n overflowX: 'scroll', overflowY: 'hidden' \n }}>\n <div style={{ height: '20px', width: scrollbarWidth }}></div>\n </div>\n : null}\n {horizontalOffsetDivRef && <div ref={horizontalOffsetDivRef} style={{ display: 'none' }}>0</div>}\n {scrollOffsetDivRef && <div ref={scrollOffsetDivRef} style={{ display: 'none' }}>0</div>}\n {pageIndexDivRef && <div ref={pageIndexDivRef} style={{ display: 'none' }}>{pageIndex}</div>}\n {sortDirectionDivRef && <div ref={sortDirectionDivRef} style={{ display: 'none' }}>{JSON.stringify(sortDirection)}</div>}\n {currentColumnsDivRef && <div ref={currentColumnsDivRef} style={{ display: 'none' }}>{JSON.stringify(currentColumns)}</div>}\n {pagination ?\n <table ref={tableRef} {...getTableProps()} className=\"react-table react-table-sticky\">\n <thead className=\"header\">\n {headerGroups.map((headerGroup: any, h: any) => (\n <tr key={h} {...headerGroup.getHeaderGroupProps()} className=\"tr\">\n {headerGroup.headers.map((column: any, i: any) => (\n <th key={i} {...column.getHeaderProps(column.getSortByToggleProps())}\n data-column-index={i}\n draggable={column.noDrag ? false : true}\n onDragStart={column.noDrag ? undefined : onDragStart}\n onDragOver={e => {\n e.preventDefault()\n /* const draggable = e.currentTarget.getAttribute('draggable')\n if(draggable === 'false') {\n _.throttle(() => {\n //@ts-ignore\n tableRef.current.parentNode.scroll(tableRef.current.getBoundingClientRect().x + 1, tableRef.current.getBoundingClientRect().y)\n }, 1000, { 'trailing': true })\n } */\n }}\n onDrop={column.noDrag ? undefined : onDrop}\n className=\"th\"\n width={column.width}\n onClick={() => {\n column.isSorted\n ? column.isSortedDesc\n ? column.clearSortBy()\n : column.toggleSortBy(true)\n : column.toggleSortBy(false)\n let direction\n if(column.isSorted) {\n if(column.isSortedDesc) {\n direction = ''\n }else{\n direction = 'DESC'\n }\n }else{\n direction = 'ASC'\n }\n let sortDirectionState\n if(direction === '') {\n sortDirectionState = {}\n }else{\n sortDirectionState = { accessor: column.id, direction }\n }\n setSortDirection(sortDirectionState)\n }}\n >\n {column.render('Header')}\n <span>\n {column.isSorted\n ? column.isSortedDesc\n ? <FilledChevronIcon direction=\"up\" {...iconProps} style={iconStyle(false)} />\n : <FilledChevronIcon direction=\"up\" {...iconProps} style={iconStyle(true)} />\n : ''}\n </span>\n </th>\n ))}\n </tr>\n ))}\n </thead>\n <tbody {...getTableBodyProps()} className=\"body\">\n {page.map((row: any, r: any) => {\n prepareRow(row)\n\n return (\n <tr key={r} {...row.getRowProps()} onMouseEnter={() => setHoverId(row.original[rowIdField])} onMouseLeave={() => setHoverId(null)}>\n {row.cells.map((cell: any, c: any) => {\n if(cell.column.isRowId) {\n return (\n <TD key={c} {...cell.getCellProps()} className=\"td\" width={cell.column.width} backgroundColor={row.original[rowIdField] === selectedId ? '#F4F7FF' : '#fff' }>\n {(hoverId === row.original[rowIdField]) || (row.original[rowIdField] === selectedId) ?\n <div onClick={() => row.original[rowIdField] !== selectedId ? setSelectedId(row.original[rowIdField]) : setSelectedId(null)}>\n <Button secondary size=\"tiny\">+</Button>\n </div> \n : null}\n </TD>\n )\n }\n\n return (\n <TD key={c} {...cell.getCellProps()} className=\"td\" width={cell.column.width} backgroundColor={row.original[rowIdField] === selectedId ? '#F4F7FF' : '#fff' }>\n {cell.render('Cell')}\n </TD>\n )\n })}\n </tr>\n )\n })}\n </tbody>\n </table>\n : \n <div ref={tableRef} {...getTableProps()} className=\"react-table react-table-sticky\" style={{ overflow: 'hidden'}}>\n <div {...getTableBodyProps()} className=\"body\"> \n <StickyList\n width={totalColumnsWidth + scrollBarSize}\n height={minHeight}\n innerElementType={StickyContainer}\n itemCount={rows.length}\n itemSize={70}\n itemData={rows}\n headerGroups={headerGroups}\n rowIdField={rowIdField}\n selectedId={selectedId}\n prepareRow={prepareRow}\n onSelectRow={(id) => {\n setScrollOffset(parseInt(scrollOffsetDivRef.current.innerText) || 0);\n setSelectedId(id);\n }}\n stickyIndices={[0]} //sticky header\n outerRef={listContainerRef}\n initialScrollOffset={scrollOffset}\n onScroll={({ scrollOffset, }) => {\n if(scrollOffset !== 0) {\n scrollOffsetDivRef.current.innerText = scrollOffset\n }\n }}\n onDragStart={onDragStart}\n onDrop={onDrop}\n onHeaderColumnClick={(column) => {\n let sortDirectionState = {};\n if (column.isSorted) {\n if (column.isSortedDesc) {\n column.clearSortBy();\n } else {\n column.toggleSortBy(true);\n sortDirectionState = { accessor: column.id, direction: 'DESC' };\n }\n } else {\n column.toggleSortBy(false);\n sortDirectionState = { accessor: column.id, direction: 'ASC' };\n }\n setSortDirection(sortDirectionState);\n setHorizontalOffset(horizontalOffsetDivRef.current.innerText);\n if(listContainerRef.current) {\n listContainerRef.current.scrollLeft = horizontalOffset\n }\n }}\n >\n {RenderDivRow}\n </StickyList>\n </div>\n </div>\n }\n {pagination && pageOptions.length > 1 ?\n <div className=\"react-table-wrapper\">\n <div className=\"react-table-pagination\">\n <button style={{opacity: pageIndex === 0 ? 0 : 1}} onClick={() => gotoPage(0)} disabled={!canPreviousPage}>\n {'◀◀'}\n </button>{' '}\n <button style={{opacity: pageIndex === 0 ? 0 : 1}} onClick={() => previousPage()} disabled={!canPreviousPage}>\n {'◀'}\n </button>{' '}\n <span className=\"page-select\">\n <input\n defaultValue={pageIndex + 1}\n value={pageIndex + 1}\n onChange={(e: any) => {\n const page = e.target.value ? Number(e.target.value) - 1 : 0\n gotoPage(page)\n }}\n />\n of {pageOptions.length}\n </span>\n <button style={{opacity: !canNextPage ? 0 : 1}} onClick={() => nextPage()} disabled={!canNextPage}>\n {'▶'}\n </button>{' '}\n <button style={{opacity: !canNextPage ? 0 : 1}} onClick={() => gotoPage(pageCount - 1)} disabled={!canNextPage}>\n {'▶▶'}\n </button>{' '}\n {/* <select\n value={pageSize}\n onChange={(e: any) => {\n setPageSize(Number(e.target.value))\n }}\n >\n {[10, 20, 30, 40, 50].map(pageSize => (\n <option key={pageSize} value={pageSize}>\n Show {pageSize}\n </option>\n ))}\n </select> */}\n </div>\n </div>\n : null}\n </>\n </Styles>\n )\n}\n","import React from 'react';\nimport { window } from '../../utils';\n\nconst QUERY = '(prefers-reduced-motion: no-preference)';\nconst isRenderingOnServer = typeof window === 'undefined';\nconst getInitialState = () => {\n // For our initial server render, we won't know if the user\n // prefers reduced motion, but it doesn't matter. This value\n // will be overwritten on the client, before any animations\n // occur.\n return isRenderingOnServer ? true : !window.matchMedia(QUERY).matches;\n};\n\nexport const usePrefersReducedMotion = () => {\n const [prefersReducedMotion, setPrefersReducedMotion] = React.useState(\n getInitialState\n );\n React.useEffect(() => {\n const mediaQueryList = window.matchMedia(QUERY);\n const listener = (event: { matches: boolean}) => {\n setPrefersReducedMotion(!event.matches);\n };\n mediaQueryList.addListener(listener);\n return () => {\n mediaQueryList.removeListener(listener);\n };\n }, []);\n return prefersReducedMotion;\n};\n\nexport default usePrefersReducedMotion;\n","import React from 'react';\nimport { random } from '../../utils';\n\nexport const useRandomInterval = (callback: () => void, minDelay?: number, maxDelay?: number) => {\n const timeoutId = React.useRef<ReturnType<typeof setTimeout> | null>(null);\n const savedCallback = React.useRef(callback);\n React.useEffect(() => {\n savedCallback.current = callback;\n });\n React.useEffect(() => {\n let isEnabled =\n typeof minDelay === 'number' && typeof maxDelay === 'number';\n if (isEnabled) {\n const handleTick = () => {\n const nextTickAt = random(minDelay!, maxDelay!);\n timeoutId.current = setTimeout(() => {\n savedCallback.current();\n handleTick();\n }, nextTickAt);\n };\n handleTick();\n }\n return () => {\n if (!!timeoutId.current) {\n clearTimeout(timeoutId.current);\n }\n }\n }, [minDelay, maxDelay]);\n const cancel = React.useCallback(function () {\n if (!!timeoutId.current) {\n clearTimeout(timeoutId.current);\n }\n }, []);\n return cancel;\n};\n\nexport default useRandomInterval;\n","import { useState } from 'react';\nimport {\n subMonths,\n addMonths,\n addDays,\n isSameDay,\n getWeek,\n addWeeks,\n subWeeks,\n getMonth,\n getYear\n} from \"date-fns\";\n\nconst today = new Date();\nexport const getDatesBetween = (startDt: Date, endDt: Date) => {\n const result: Array<Date> = [];\n let currentDt = startDt;\n while (currentDt <= endDt) {\n result.push(currentDt);\n currentDt = addDays(currentDt, 1);\n }\n return result;\n};\nexport type onChangeWeekFunc = (obj: {date: Date, week: number, month: number, year: number, action: string}) => void;\nexport type onChangeMonthFunc = (obj: {date: Date, month: number, year: number, action: string}) => void;\nexport type changeWeekFunc = (action: string, value?: Date | undefined) => void;\nexport type changeDateFunc = (value: Date) => void;\nexport type useCalendarProps = {\n onChangeWeek?: onChangeWeekFunc,\n onChangeMonth?: onChangeMonthFunc,\n};\nconst useCalendar = ({\n onChangeWeek,\n onChangeMonth,\n}: useCalendarProps) => {\n const [currentMonth, setCurrentMonth] = useState(today);\n const [currentWeek, setCurrentWeek] = useState(getWeek(currentMonth));\n const [selectedDate, setSelectedDate] = useState(today);\n\n const changeMonth = (action: string) => {\n let dt = currentMonth;\n if (action === \"prev\") {\n dt = subMonths(currentMonth, 1);\n } else if (action === \"next\") {\n dt = addMonths(currentMonth, 1);\n } else if (action === \"reset\") {\n dt = today;\n }\n setCurrentMonth(dt);\n onChangeMonth && onChangeMonth({\n action,\n date: dt,\n month: getMonth(dt),\n year: getYear(dt),\n });\n }\n\n const changeWeek = (action: string, value?: Date) => {\n let dt = currentMonth;\n if (action === \"prev\") {\n dt = subWeeks(currentMonth, 1);\n\n } else if (action === \"next\") {\n dt = addWeeks(currentMonth, 1);\n } else if (action === \"reset\") {\n dt = today;\n } else if (action === \"custom\" && value) {\n dt = value;\n }\n setCurrentMonth(dt);\n const week = getWeek(dt);\n setCurrentWeek(week);\n onChangeWeek && onChangeWeek({\n action,\n date: dt,\n week: week,\n month: getMonth(dt),\n year: getYear(dt),\n });\n }\n\n const changeDate = (value: Date) => {\n setCurrentMonth(value);\n const week = getWeek(value);\n setCurrentWeek(week);\n onChangeWeek && onChangeWeek({\n action: 'change-date',\n date: value,\n week: week,\n month: getMonth(value),\n year: getYear(value),\n });\n }\n\n const onClickDay = (day: Date) => {\n if (isSameDay(day, selectedDate)) {\n setSelectedDate(today);\n } else {\n setSelectedDate(day);\n }\n };\n\n // reset to today's date\n const resetToToday = () => {\n setSelectedDate(today);\n changeWeek('reset');\n };\n\n const onNextWeek = () => changeWeek(\"next\");\n const onPrevWeek = () => changeWeek(\"prev\");\n const onNextMonth = () => changeMonth(\"next\");\n const onPrevMonth = () => changeMonth(\"prev\");\n\n return {\n currentMonth,\n currentWeek,\n selectedDate,\n\n setSelectedDate,\n setCurrentWeek,\n setCurrentMonth,\n\n onClickDay,\n onNextWeek,\n onPrevWeek,\n onNextMonth,\n onPrevMonth,\n\n changeWeek,\n changeDate,\n\n getDatesBetween,\n onReset: resetToToday,\n };\n}\n\nexport default useCalendar;\n","import { useState, useEffect } from 'react';\n\nconst useWindowSize = () => {\n const [size, setSize] = useState([0, 0]); // [width, height]\n\n useEffect(() => {\n function updateSize() {\n setSize([window.innerWidth, window.innerHeight]);\n }\n\n window.addEventListener('resize', updateSize);\n updateSize();\n\n return () => window.removeEventListener('resize', updateSize);\n }, []);\n\n return size;\n}\n\nexport default useWindowSize;\n","import { useCallback, useEffect, useState } from 'react';\n\nexport default function useLongPress(callback = () => {}, ms = 300) {\n const [startLongPress, setStartLongPress] = useState(false);\n \n useEffect(() => {\n let timeoutId: null | ReturnType<typeof setTimeout> = null;\n if (startLongPress) {\n timeoutId = setTimeout(callback, ms);\n } else {\n if (timeoutId !== undefined && timeoutId !== null) {\n clearTimeout(timeoutId);\n }\n }\n\n return () => {\n if (timeoutId !== undefined && timeoutId !== null) {\n clearTimeout(timeoutId);\n }\n };\n }, [callback, ms, startLongPress]);\n \n const start = useCallback(() => {\n setStartLongPress(true);\n }, []);\n\n const stop = useCallback(() => {\n setStartLongPress(false);\n }, []);\n \n return {\n onMouseDown: start,\n onMouseUp: stop,\n onMouseLeave: stop,\n onTouchStart: start,\n onTouchEnd: stop,\n };\n}\n","/*\n Code from https://www.joshwcomeau.com/react/animated-sparkles-in-react/\n Check out his site. It's awesome\n*/\n\nimport React from 'react';\nimport styled, { keyframes } from 'styled-components';\n\nimport { random, range } from '../utils';\nimport { usePrefersReducedMotion } from './hooks';\nimport { useRandomInterval } from './hooks';\n\nconst DEFAULT_COLOR = '#FFC700';\n\nconst generateSparkle = (color: string) => {\n const sparkle = {\n id: String(random(10000, 99999)),\n createdAt: Date.now(),\n color,\n size: random(10, 20),\n style: {\n top: random(0, 100) + '%',\n left: random(0, 100) + '%',\n },\n };\n return sparkle;\n};\n\nexport const Sparkles: React.FC<{ color: string }> = ({ color = DEFAULT_COLOR, children, ...delegated }) => {\n const [sparkles, setSparkles] = React.useState(() => {\n return range(3).map(() => generateSparkle(color));\n });\n const prefersReducedMotion = usePrefersReducedMotion();\n useRandomInterval(\n () => {\n const sparkle = generateSparkle(color);\n const now = Date.now();\n const nextSparkles = sparkles.filter(sp => {\n const delta = now - sp.createdAt;\n return delta < 750;\n });\n nextSparkles.push(sparkle);\n setSparkles(nextSparkles);\n },\n prefersReducedMotion ? undefined : 50,\n prefersReducedMotion ? undefined : 450\n );\n return (\n <Wrapper {...delegated}>\n {sparkles.map(sparkle => (\n <Sparkle\n key={sparkle.id}\n color={sparkle.color}\n size={sparkle.size}\n style={sparkle.style}\n />\n ))}\n <ChildWrapper>{children}</ChildWrapper>\n </Wrapper>\n );\n};\nconst Sparkle: React.FC<{ size: number, color: string, style: React.CSSProperties }> = ({ size, color, style }) => {\n const path =\n 'M26.5 25.5C19.0043 33.3697 0 34 0 34C0 34 19.1013 35.3684 26.5 43.5C33.234 50.901 34 68 34 68C34 68 36.9884 50.7065 44.5 43.5C51.6431 36.647 68 34 68 34C68 34 51.6947 32.0939 44.5 25.5C36.5605 18.2235 34 0 34 0C34 0 33.6591 17.9837 26.5 25.5Z';\n return (\n <SparkleWrapper style={style}>\n <SparkleSvg width={size} height={size} viewBox=\"0 0 68 68\" fill=\"none\">\n <path d={path} fill={color} />\n </SparkleSvg>\n </SparkleWrapper>\n );\n};\nconst comeInOut = keyframes`\n 0% {\n transform: scale(0);\n }\n 50% {\n transform: scale(1);\n }\n 100% {\n transform: scale(0);\n }\n`;\nconst spin = keyframes`\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(180deg);\n }\n`;\nconst Wrapper = styled.span`\n display: inline-block;\n position: relative;\n`;\nconst SparkleWrapper = styled.span`\n position: absolute;\n display: block;\n @media (prefers-reduced-motion: no-preference) {\n animation: ${comeInOut} 700ms forwards;\n }\n`;\nconst SparkleSvg = styled.svg`\n display: block;\n @media (prefers-reduced-motion: no-preference) {\n animation: ${spin} 1000ms linear;\n }\n`;\nconst ChildWrapper = styled.strong`\n position: relative;\n z-index: 1;\n font-weight: bold;\n`;\nexport default Sparkles;\n","import React, { ReactNode, useEffect, useState, useRef } from 'react';\nimport styled from 'styled-components'\nimport { getColor } from './Theme';\nimport { document } from '../utils';\n\nconst StyledDropdown = styled.div`\n position: relative;\n display: block;\n width: 100%;\n`;\n\ntype DropdownContentProps = {\n text?: string,\n color?: string,\n active?: boolean,\n rounded?: boolean,\n}\n\nconst DropdownItem = styled.div<DropdownContentProps>`\n color: white;\n padding: 8px 8px;\n text-decoration: none;\n display: block;\n text-align: center;\n background-color: ${p => p.color ? p.color : \"#F4F7FF\"};\n border-radius: ${p => p.rounded ? \"100px\" : 0};\n opacity: ${p => p.active ? 0.85 : 1};\n &:hover {\n opacity: .85;\n cursor: pointer;\n }\n`;\n\nconst DropDownContent = styled.div<DropdownContentProps>`\n display: block;\n position: absolute;\n background-color: ${p => getColor('white')};\n width: 100%;\n box-shadow: 0px 0px 16px 0px rgba(0,0,0,0.5);\n z-index: 4;\n border-radius: 10px;\n text-align: left;\n overflow: hidden;\n`;\n\nexport const StatusDropdown = ({ items, text, value, row, setMenuIsOpen, disabled=false, ...props }: {\n items: Array<{onClick?: any, props?:{[key: string]: any}, content: ReactNode|string|any, value: string, color: string}>,\n value: {onClick?: any, props?:{[key: string]: any}, content: ReactNode|string|any, value: string, color: string},\n row: any,\n setMenuIsOpen?: any,\n disabled?: boolean\n} & DropdownContentProps) => {\n\n const node = useRef();\n const [showMenu, setShowMenu] = useState(false);\n const [value2, setValue] = useState(value);\n\n const handleClick = (e: Event) => {\n // @ts-ignore\n if (node.current?.contains(e.target)) {\n return;\n }\n setShowMenu(false);\n };\n\n useEffect(() => {\n document.addEventListener(\"mousedown\", handleClick);\n\n return () => {\n document.removeEventListener(\"mousedown\", handleClick);\n };\n }, []);\n\n useEffect(() => {\n setValue(value)\n }, [value])\n\n useEffect(() => {\n if(setMenuIsOpen) {\n setMenuIsOpen(showMenu)\n }\n }, [showMenu, setMenuIsOpen])\n\n return (\n // @ts-ignore\n <StyledDropdown ref={node} {...props}>\n <DropdownItem rounded color={value2.color} active={showMenu} onClick={() => !disabled ? setShowMenu(!showMenu) : null}>{value2.content}</DropdownItem>\n {showMenu && <DropDownContent>\n {items.map((item, i) => {\n return item && <DropdownItem key={'dropdown-item-'+i} color={item.color}\n {...item.props}\n onClick={e => {\n e.stopPropagation()\n setShowMenu(false);\n setValue(item)\n item.onClick && item.onClick(item, row)\n }}\n >{item.content}</DropdownItem>\n })}\n </DropDownContent>}\n </StyledDropdown>\n );\n}\n","import React, { ReactNode, useEffect, useState, useRef } from 'react';\nimport styled from 'styled-components'\nimport { getColor } from './Theme';\nimport { document, truncate } from '../utils';\n\nconst StyledCircles = styled.div`\n line-height: 0;\n margin-bottom: 9px;\n`;\n\nconst Circle = styled.div<{disabled?:boolean}>`\n background: #005B8C;\n opacity: ${p => p.disabled ? 0.1 : 1};\n width: 5px;\n height: 5px;\n border-radius: 10px;\n margin-right: 2px;\n display: inline-block;\n`;\n\nconst StyledDropdown = styled.div`\n position: relative;\n display: block;\n width: 100%;\n`;\n\ntype DropdownContentProps = {\n text?: string,\n active?: boolean,\n rounded?: boolean,\n showCircles?: boolean,\n scrollContentHeight?: string,\n background?: string,\n}\n\nconst DropdownDisplay = styled.div<DropdownContentProps>`\n color: black;\n padding: 8px 8px;\n text-decoration: none;\n display: block;\n text-align: center;\n background-color: ${p => p.background || '#F4F7FF'};\n line-height: 1em;\n min-height: 28px;\n display: ${p => p.showCircles ? \"inherit\" : \"flex\"};\n justify-content: center;\n align-items: center;\n border-radius: ${p => p.rounded ? \"100px\" : 0};\n opacity: ${p => p.active ? 0.85 : 1};\n &:hover {\n opacity: .85;\n cursor: pointer;\n }\n`;\n\nconst DropdownItem = styled.div<DropdownContentProps>`\n color: black;\n padding: 8px 8px;\n text-decoration: none;\n display: block;\n text-align: center;\n background-color: ${p => p.background || '#F4F7FF'};\n line-height: 1em;\n min-height: 30px;\n border-radius: ${p => p.rounded ? \"100px\" : 0};\n opacity: ${p => p.active ? 0.85 : 1};\n &:hover {\n opacity: .85;\n cursor: pointer;\n }\n word-wrap: break-word;\n`;\n\nconst DropDownContent = styled.div<DropdownContentProps>`\n display: block;\n position: absolute;\n background-color: ${p => getColor('white')};\n width: 100%;\n box-shadow: 0px 0px 16px 0px rgba(0,0,0,0.5);\n z-index: 10;\n border-radius: 10px;\n text-align: left;\n overflow: hidden;\n ${p => p.scrollContentHeight ? `max-height: ${p.scrollContentHeight}; overflow-y: auto;` : ''}\n`;\n\nconst Circles = ({val, max}:{val: number, max: number}) => {\n return <StyledCircles>\n {val > 0 ? [...Array(val)].map((item, i) => {\n return <Circle key={i}/>\n }) : null}\n {max - val > 0 ? [...Array(max - val)].map((item, i) => {\n return <Circle key={i} disabled/>\n }) : null}\n </StyledCircles>\n}\n\ntype StateDropdownItemProps = {\n onClick?: any;\n props?:{[key: string]: any};\n content: ReactNode|string|any;\n value: string;\n order: number;\n};\ntype StateDropdownProps = {\n items: Array<StateDropdownItemProps>;\n value: StateDropdownItemProps;\n row: any;\n showCircles?: boolean;\n maxCircles?: number;\n dataTip?: any;\n dataFor?: string;\n background?: string,\n} & DropdownContentProps;\nexport const StateDropdown = ({\n items,\n text,\n value,\n row,\n showCircles=true,\n maxCircles,\n dataTip=false,\n dataFor='',\n background = '#F4F7FF',\n ...props\n}: StateDropdownProps) => {\n\n const node = useRef<HTMLDivElement>(null);\n const [showMenu, setShowMenu] = useState(false);\n const [value2, setValue] = useState(value);\n\n const handleClick = (e: Event) => {\n if (node.current?.contains(e.target as Node)) {\n return;\n }\n setShowMenu(false);\n };\n\n useEffect(() => {\n document.addEventListener(\"mousedown\", handleClick);\n\n return () => {\n document.removeEventListener(\"mousedown\", handleClick);\n };\n }, []);\n\n useEffect(() => {\n setValue(value)\n }, [value])\n\n const content = value2?.content || '';\n\n return (\n <StyledDropdown ref={node} {...props}>\n <DropdownDisplay\n rounded \n active={showMenu} \n onClick={e => { e.stopPropagation(); setShowMenu(!showMenu) }}\n showCircles={showCircles}\n background={background}\n >\n {showCircles && <Circles max={maxCircles || items.length} val={value2?.order || 0}/>}\n {dataTip ? <span data-tip={dataTip} data-for={dataFor}>{truncate(content, 20)}</span> : content}\n </DropdownDisplay>\n {showMenu && <DropDownContent scrollContentHeight={props.scrollContentHeight}>\n {items.map((item, i) => {\n return item && <DropdownItem key={'dropdown-item-'+i} \n {...item.props}\n onClick={e => {\n e.stopPropagation()\n setShowMenu(false)\n setValue(item)\n item.onClick && item.onClick(item, row)\n }}\n >{showCircles && <Circles max={maxCircles || items.length} val={item.order}/>} {item.content} </DropdownItem> \n })}\n </DropDownContent>}\n </StyledDropdown>\n );\n}\n","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}","export default {\n disabled: false\n};","import React from 'react';\nexport default React.createContext(null);","export var forceReflow = function forceReflow(node) {\n return node.scrollTop;\n};","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport config from './config';\nimport { timeoutsShape } from './utils/PropTypes';\nimport TransitionGroupContext from './TransitionGroupContext';\nimport { forceReflow } from './utils/reflow';\nexport var UNMOUNTED = 'unmounted';\nexport var EXITED = 'exited';\nexport var ENTERING = 'entering';\nexport var ENTERED = 'entered';\nexport var EXITING = 'exiting';\n/**\n * The Transition component lets you describe a transition from one component\n * state to another _over time_ with a simple declarative API. Most commonly\n * it's used to animate the mounting and unmounting of a component, but can also\n * be used to describe in-place transition states as well.\n *\n * ---\n *\n * **Note**: `Transition` is a platform-agnostic base component. If you're using\n * transitions in CSS, you'll probably want to use\n * [`CSSTransition`](https://reactcommunity.org/react-transition-group/css-transition)\n * instead. It inherits all the features of `Transition`, but contains\n * additional features necessary to play nice with CSS transitions (hence the\n * name of the component).\n *\n * ---\n *\n * By default the `Transition` component does not alter the behavior of the\n * component it renders, it only tracks \"enter\" and \"exit\" states for the\n * components. It's up to you to give meaning and effect to those states. For\n * example we can add styles to a component when it enters or exits:\n *\n * ```jsx\n * import { Transition } from 'react-transition-group';\n *\n * const duration = 300;\n *\n * const defaultStyle = {\n * transition: `opacity ${duration}ms ease-in-out`,\n * opacity: 0,\n * }\n *\n * const transitionStyles = {\n * entering: { opacity: 1 },\n * entered: { opacity: 1 },\n * exiting: { opacity: 0 },\n * exited: { opacity: 0 },\n * };\n *\n * const Fade = ({ in: inProp }) => (\n * <Transition in={inProp} timeout={duration}>\n * {state => (\n * <div style={{\n * ...defaultStyle,\n * ...transitionStyles[state]\n * }}>\n * I'm a fade Transition!\n * </div>\n * )}\n * </Transition>\n * );\n * ```\n *\n * There are 4 main states a Transition can be in:\n * - `'entering'`\n * - `'entered'`\n * - `'exiting'`\n * - `'exited'`\n *\n * Transition state is toggled via the `in` prop. When `true` the component\n * begins the \"Enter\" stage. During this stage, the component will shift from\n * its current transition state, to `'entering'` for the duration of the\n * transition and then to the `'entered'` stage once it's complete. Let's take\n * the following example (we'll use the\n * [useState](https://reactjs.org/docs/hooks-reference.html#usestate) hook):\n *\n * ```jsx\n * function App() {\n * const [inProp, setInProp] = useState(false);\n * return (\n * <div>\n * <Transition in={inProp} timeout={500}>\n * {state => (\n * // ...\n * )}\n * </Transition>\n * <button onClick={() => setInProp(true)}>\n * Click to Enter\n * </button>\n * </div>\n * );\n * }\n * ```\n *\n * When the button is clicked the component will shift to the `'entering'` state\n * and stay there for 500ms (the value of `timeout`) before it finally switches\n * to `'entered'`.\n *\n * When `in` is `false` the same thing happens except the state moves from\n * `'exiting'` to `'exited'`.\n */\n\nvar Transition = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(Transition, _React$Component);\n\n function Transition(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n var parentGroup = context; // In the context of a TransitionGroup all enters are really appears\n\n var appear = parentGroup && !parentGroup.isMounting ? props.enter : props.appear;\n var initialStatus;\n _this.appearStatus = null;\n\n if (props.in) {\n if (appear) {\n initialStatus = EXITED;\n _this.appearStatus = ENTERING;\n } else {\n initialStatus = ENTERED;\n }\n } else {\n if (props.unmountOnExit || props.mountOnEnter) {\n initialStatus = UNMOUNTED;\n } else {\n initialStatus = EXITED;\n }\n }\n\n _this.state = {\n status: initialStatus\n };\n _this.nextCallback = null;\n return _this;\n }\n\n Transition.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) {\n var nextIn = _ref.in;\n\n if (nextIn && prevState.status === UNMOUNTED) {\n return {\n status: EXITED\n };\n }\n\n return null;\n } // getSnapshotBeforeUpdate(prevProps) {\n // let nextStatus = null\n // if (prevProps !== this.props) {\n // const { status } = this.state\n // if (this.props.in) {\n // if (status !== ENTERING && status !== ENTERED) {\n // nextStatus = ENTERING\n // }\n // } else {\n // if (status === ENTERING || status === ENTERED) {\n // nextStatus = EXITING\n // }\n // }\n // }\n // return { nextStatus }\n // }\n ;\n\n var _proto = Transition.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.updateStatus(true, this.appearStatus);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var nextStatus = null;\n\n if (prevProps !== this.props) {\n var status = this.state.status;\n\n if (this.props.in) {\n if (status !== ENTERING && status !== ENTERED) {\n nextStatus = ENTERING;\n }\n } else {\n if (status === ENTERING || status === ENTERED) {\n nextStatus = EXITING;\n }\n }\n }\n\n this.updateStatus(false, nextStatus);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.cancelNextCallback();\n };\n\n _proto.getTimeouts = function getTimeouts() {\n var timeout = this.props.timeout;\n var exit, enter, appear;\n exit = enter = appear = timeout;\n\n if (timeout != null && typeof timeout !== 'number') {\n exit = timeout.exit;\n enter = timeout.enter; // TODO: remove fallback for next major\n\n appear = timeout.appear !== undefined ? timeout.appear : enter;\n }\n\n return {\n exit: exit,\n enter: enter,\n appear: appear\n };\n };\n\n _proto.updateStatus = function updateStatus(mounting, nextStatus) {\n if (mounting === void 0) {\n mounting = false;\n }\n\n if (nextStatus !== null) {\n // nextStatus will always be ENTERING or EXITING.\n this.cancelNextCallback();\n\n if (nextStatus === ENTERING) {\n if (this.props.unmountOnExit || this.props.mountOnEnter) {\n var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this); // https://github.com/reactjs/react-transition-group/pull/749\n // With unmountOnExit or mountOnEnter, the enter animation should happen at the transition between `exited` and `entering`.\n // To make the animation happen, we have to separate each rendering and avoid being processed as batched.\n\n if (node) forceReflow(node);\n }\n\n this.performEnter(mounting);\n } else {\n this.performExit();\n }\n } else if (this.props.unmountOnExit && this.state.status === EXITED) {\n this.setState({\n status: UNMOUNTED\n });\n }\n };\n\n _proto.performEnter = function performEnter(mounting) {\n var _this2 = this;\n\n var enter = this.props.enter;\n var appearing = this.context ? this.context.isMounting : mounting;\n\n var _ref2 = this.props.nodeRef ? [appearing] : [ReactDOM.findDOMNode(this), appearing],\n maybeNode = _ref2[0],\n maybeAppearing = _ref2[1];\n\n var timeouts = this.getTimeouts();\n var enterTimeout = appearing ? timeouts.appear : timeouts.enter; // no enter animation skip right to ENTERED\n // if we are mounting and running this it means appear _must_ be set\n\n if (!mounting && !enter || config.disabled) {\n this.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode);\n });\n return;\n }\n\n this.props.onEnter(maybeNode, maybeAppearing);\n this.safeSetState({\n status: ENTERING\n }, function () {\n _this2.props.onEntering(maybeNode, maybeAppearing);\n\n _this2.onTransitionEnd(enterTimeout, function () {\n _this2.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(maybeNode, maybeAppearing);\n });\n });\n });\n };\n\n _proto.performExit = function performExit() {\n var _this3 = this;\n\n var exit = this.props.exit;\n var timeouts = this.getTimeouts();\n var maybeNode = this.props.nodeRef ? undefined : ReactDOM.findDOMNode(this); // no exit animation skip right to EXITED\n\n if (!exit || config.disabled) {\n this.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n return;\n }\n\n this.props.onExit(maybeNode);\n this.safeSetState({\n status: EXITING\n }, function () {\n _this3.props.onExiting(maybeNode);\n\n _this3.onTransitionEnd(timeouts.exit, function () {\n _this3.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(maybeNode);\n });\n });\n });\n };\n\n _proto.cancelNextCallback = function cancelNextCallback() {\n if (this.nextCallback !== null) {\n this.nextCallback.cancel();\n this.nextCallback = null;\n }\n };\n\n _proto.safeSetState = function safeSetState(nextState, callback) {\n // This shouldn't be necessary, but there are weird race conditions with\n // setState callbacks and unmounting in testing, so always make sure that\n // we can cancel any pending setState callbacks after we unmount.\n callback = this.setNextCallback(callback);\n this.setState(nextState, callback);\n };\n\n _proto.setNextCallback = function setNextCallback(callback) {\n var _this4 = this;\n\n var active = true;\n\n this.nextCallback = function (event) {\n if (active) {\n active = false;\n _this4.nextCallback = null;\n callback(event);\n }\n };\n\n this.nextCallback.cancel = function () {\n active = false;\n };\n\n return this.nextCallback;\n };\n\n _proto.onTransitionEnd = function onTransitionEnd(timeout, handler) {\n this.setNextCallback(handler);\n var node = this.props.nodeRef ? this.props.nodeRef.current : ReactDOM.findDOMNode(this);\n var doesNotHaveTimeoutOrListener = timeout == null && !this.props.addEndListener;\n\n if (!node || doesNotHaveTimeoutOrListener) {\n setTimeout(this.nextCallback, 0);\n return;\n }\n\n if (this.props.addEndListener) {\n var _ref3 = this.props.nodeRef ? [this.nextCallback] : [node, this.nextCallback],\n maybeNode = _ref3[0],\n maybeNextCallback = _ref3[1];\n\n this.props.addEndListener(maybeNode, maybeNextCallback);\n }\n\n if (timeout != null) {\n setTimeout(this.nextCallback, timeout);\n }\n };\n\n _proto.render = function render() {\n var status = this.state.status;\n\n if (status === UNMOUNTED) {\n return null;\n }\n\n var _this$props = this.props,\n children = _this$props.children,\n _in = _this$props.in,\n _mountOnEnter = _this$props.mountOnEnter,\n _unmountOnExit = _this$props.unmountOnExit,\n _appear = _this$props.appear,\n _enter = _this$props.enter,\n _exit = _this$props.exit,\n _timeout = _this$props.timeout,\n _addEndListener = _this$props.addEndListener,\n _onEnter = _this$props.onEnter,\n _onEntering = _this$props.onEntering,\n _onEntered = _this$props.onEntered,\n _onExit = _this$props.onExit,\n _onExiting = _this$props.onExiting,\n _onExited = _this$props.onExited,\n _nodeRef = _this$props.nodeRef,\n childProps = _objectWithoutPropertiesLoose(_this$props, [\"children\", \"in\", \"mountOnEnter\", \"unmountOnExit\", \"appear\", \"enter\", \"exit\", \"timeout\", \"addEndListener\", \"onEnter\", \"onEntering\", \"onEntered\", \"onExit\", \"onExiting\", \"onExited\", \"nodeRef\"]);\n\n return (\n /*#__PURE__*/\n // allows for nested Transitions\n React.createElement(TransitionGroupContext.Provider, {\n value: null\n }, typeof children === 'function' ? children(status, childProps) : React.cloneElement(React.Children.only(children), childProps))\n );\n };\n\n return Transition;\n}(React.Component);\n\nTransition.contextType = TransitionGroupContext;\nTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * A React reference to DOM element that need to transition:\n * https://stackoverflow.com/a/51127130/4671932\n *\n * - When `nodeRef` prop is used, `node` is not passed to callback functions\n * (e.g. `onEnter`) because user already has direct access to the node.\n * - When changing `key` prop of `Transition` in a `TransitionGroup` a new\n * `nodeRef` need to be provided to `Transition` with changed `key` prop\n * (see\n * [test/CSSTransition-test.js](https://github.com/reactjs/react-transition-group/blob/13435f897b3ab71f6e19d724f145596f5910581c/test/CSSTransition-test.js#L362-L437)).\n */\n nodeRef: PropTypes.shape({\n current: typeof Element === 'undefined' ? PropTypes.any : function (propValue, key, componentName, location, propFullName, secret) {\n var value = propValue[key];\n return PropTypes.instanceOf(value && 'ownerDocument' in value ? value.ownerDocument.defaultView.Element : Element)(propValue, key, componentName, location, propFullName, secret);\n }\n }),\n\n /**\n * A `function` child can be used instead of a React element. This function is\n * called with the current transition status (`'entering'`, `'entered'`,\n * `'exiting'`, `'exited'`), which can be used to apply context\n * specific props to a component.\n *\n * ```jsx\n * <Transition in={this.state.in} timeout={150}>\n * {state => (\n * <MyComponent className={`fade fade-${state}`} />\n * )}\n * </Transition>\n * ```\n */\n children: PropTypes.oneOfType([PropTypes.func.isRequired, PropTypes.element.isRequired]).isRequired,\n\n /**\n * Show the component; triggers the enter or exit states\n */\n in: PropTypes.bool,\n\n /**\n * By default the child component is mounted immediately along with\n * the parent `Transition` component. If you want to \"lazy mount\" the component on the\n * first `in={true}` you can set `mountOnEnter`. After the first enter transition the component will stay\n * mounted, even on \"exited\", unless you also specify `unmountOnExit`.\n */\n mountOnEnter: PropTypes.bool,\n\n /**\n * By default the child component stays mounted after it reaches the `'exited'` state.\n * Set `unmountOnExit` if you'd prefer to unmount the component after it finishes exiting.\n */\n unmountOnExit: PropTypes.bool,\n\n /**\n * By default the child component does not perform the enter transition when\n * it first mounts, regardless of the value of `in`. If you want this\n * behavior, set both `appear` and `in` to `true`.\n *\n * > **Note**: there are no special appear states like `appearing`/`appeared`, this prop\n * > only adds an additional enter transition. However, in the\n * > `<CSSTransition>` component that first enter transition does result in\n * > additional `.appear-*` classes, that way you can choose to style it\n * > differently.\n */\n appear: PropTypes.bool,\n\n /**\n * Enable or disable enter transitions.\n */\n enter: PropTypes.bool,\n\n /**\n * Enable or disable exit transitions.\n */\n exit: PropTypes.bool,\n\n /**\n * The duration of the transition, in milliseconds.\n * Required unless `addEndListener` is provided.\n *\n * You may specify a single timeout for all transitions:\n *\n * ```jsx\n * timeout={500}\n * ```\n *\n * or individually:\n *\n * ```jsx\n * timeout={{\n * appear: 500,\n * enter: 300,\n * exit: 500,\n * }}\n * ```\n *\n * - `appear` defaults to the value of `enter`\n * - `enter` defaults to `0`\n * - `exit` defaults to `0`\n *\n * @type {number | { enter?: number, exit?: number, appear?: number }}\n */\n timeout: function timeout(props) {\n var pt = timeoutsShape;\n if (!props.addEndListener) pt = pt.isRequired;\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return pt.apply(void 0, [props].concat(args));\n },\n\n /**\n * Add a custom transition end trigger. Called with the transitioning\n * DOM node and a `done` callback. Allows for more fine grained transition end\n * logic. Timeouts are still used as a fallback if provided.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * ```jsx\n * addEndListener={(node, done) => {\n * // use the css transitionend event to mark the finish of a transition\n * node.addEventListener('transitionend', done, false);\n * }}\n * ```\n */\n addEndListener: PropTypes.func,\n\n /**\n * Callback fired before the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEnter: PropTypes.func,\n\n /**\n * Callback fired after the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntering: PropTypes.func,\n\n /**\n * Callback fired after the \"entered\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEntered: PropTypes.func,\n\n /**\n * Callback fired before the \"exiting\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExit: PropTypes.func,\n\n /**\n * Callback fired after the \"exiting\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExiting: PropTypes.func,\n\n /**\n * Callback fired after the \"exited\" status is applied.\n *\n * **Note**: when `nodeRef` prop is passed, `node` is not passed\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExited: PropTypes.func\n} : {}; // Name the function so it is clearer in the documentation\n\nfunction noop() {}\n\nTransition.defaultProps = {\n in: false,\n mountOnEnter: false,\n unmountOnExit: false,\n appear: false,\n enter: true,\n exit: true,\n onEnter: noop,\n onEntering: noop,\n onEntered: noop,\n onExit: noop,\n onExiting: noop,\n onExited: noop\n};\nTransition.UNMOUNTED = UNMOUNTED;\nTransition.EXITED = EXITED;\nTransition.ENTERING = ENTERING;\nTransition.ENTERED = ENTERED;\nTransition.EXITING = EXITING;\nexport default Transition;","import _ from 'lodash';\nimport React from 'react';\nimport styled from 'styled-components';\nimport { colors } from './Theme';\nimport { Transition } from 'react-transition-group';\n\nexport type CollapseStyledProps = {\n duration?: number;\n height?: null|number;\n}\nexport type CollapseWrapperProps = CollapseStyledProps\nexport type CollapsiblePanelTitleProps = {}\nexport type CollapsibleProps = CollapseWrapperProps & CollapsiblePanelTitleProps & {\n style?: React.CSSProperties,\n isOpen?: boolean;\n padded?: boolean;\n onEntering?: Function;\n onEntered?: Function;\n onExit?: Function;\n onExiting?: Function;\n onExited?: Function;\n}\nexport type CollapsiblePanelProps = React.PropsWithChildren<Omit<\nCollapsibleProps & {onClick?: null | ((i?: number|null) => void);}, \"isOpen\"> & {\n title?: string;\n isDefaultOpen?: boolean;\n components?: { [key in string]: any };\n titleProps?: { [key in string]: any };\n}>\n\nexport type CollapsiblePanelsProps = {\n panels?: Array<CollapsiblePanelProps & {wrapperProps?: { [key in string]: any }}>;\n spaceBetween?: boolean; // space between panels\n onClickPanel?: null | ((i?: number|null) => void);\n}\n\nexport const CollapseStyled = styled.div<CollapseStyledProps>`\n&&& {\n .collapsed:not(.show) {\n display: none;\n }\n\n .collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n transition: height ${p => p.duration ? p.duration/1000 : '0.35'}s ease;\n }\n\n @media (prefers-reduced-motion: reduce) {\n .collapsing {\n transition: none;\n }\n }\n}\n`;\n\nexport const CollapseWrapper = styled.div<CollapseWrapperProps>`\n&&& {\n border: 1px solid ${colors.primary0};\n border-radius: 5px;\n}\n`;\n\nexport const CollapsiblePanelTitle = styled.div<CollapsiblePanelTitleProps>`\n&&& {\n background: #f3f6f7;\n border-bottom: 1px solid ${colors.primary0};\n color: ${colors.primary};\n padding: 20px;\n cursor: pointer;\n}\n`\n\nconst transitionStatusToClass = {\n entering: 'collapsing',\n entered: 'collapsed show',\n exiting: 'collapsing',\n exited: 'collapsed',\n unmounted: 'collapsed',\n};\n\nfunction getTransitionClass(status: \"entering\" | \"entered\" | \"exiting\" | \"exited\" | \"unmounted\") {\n return transitionStatusToClass[status];\n}\n\nfunction getNodeHeight(node: HTMLElement) {\n return node.scrollHeight;\n}\n\nexport function Collapsible({\n onEntering, onEntered, onExit, onExiting, onExited,\n duration=300, isOpen=false, children, style={}, padded=false, ...props\n}: React.PropsWithChildren<CollapsibleProps>) {\n const [height, setHeight] = React.useState<null | number>(null);\n const onHandleEnters = (type: string) => (node: HTMLElement, isAppearing: boolean) => {\n switch (type) {\n case 'onEntering':\n const h = getNodeHeight(node);\n setHeight(padded ? Math.abs(h-40) : h);\n onEntering && onEntering(node, isAppearing);\n break;\n case 'onEntered':\n setHeight(null);\n onEntered && onEntered(node, isAppearing);\n break;\n default:\n break;\n }\n }\n const onHandleExits = (type: string) => (node: HTMLElement) => {\n switch (type) {\n case 'onExit':\n const h = getNodeHeight(node);\n setHeight(padded ? Math.abs(h-40) : h);\n onExit && onExit(node);\n break;\n case 'onExiting':\n setHeight(0);\n onExiting && onExiting(node);\n break;\n case 'onExited':\n setHeight(null);\n onExited && onExited(node);\n break;\n default:\n break;\n }\n }\n\n const bodyStyles = _.omit(style, ['padding', 'paddingTop', 'paddingBottom']);\n return (<CollapseStyled duration={duration}>\n <Transition in={isOpen} timeout={duration}\n onEntering={onHandleEnters('onEntering')}\n onEntered={onHandleEnters('onEntered')}\n onExit={onHandleExits('onExit')}\n onExiting={onHandleExits('onExiting')}\n onExited={onHandleExits('onExited')}\n >\n {status => (\n <div {...props}\n className={getTransitionClass(status)}\n style={{\n ...(height !== null ? { height } : {}),\n ...bodyStyles,\n }}>{children}</div>\n )}\n </Transition>\n </CollapseStyled>);\n}\n\n\nexport function CollapsiblePanel({\n title, duration=300, isDefaultOpen=false, components, children, titleProps={}, ...props\n}: React.PropsWithChildren<CollapsiblePanelProps>) {\n const [open, setOpen] = React.useState(isDefaultOpen);\n const togglePanel = (e: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n e && e.preventDefault();\n setOpen(!open);\n }\n const _titleProps = {\n isOpen: open,\n onClick: togglePanel,\n ...titleProps\n }\n return (<CollapseWrapper duration={duration}>\n {components && components.Title\n ? <components.Title {..._titleProps} />\n : <CollapsiblePanelTitle {..._titleProps}>{title}</CollapsiblePanelTitle>}\n <Collapsible {...props} duration={duration} isOpen={open}>{children}</Collapsible>\n </CollapseWrapper>);\n}\n\nexport function CollapsiblePanels({panels=[], spaceBetween=false, onClickPanel=null}: CollapsiblePanelsProps) {\n const [openIndex, setOpenIndex] = React.useState<number | null>(null);\n const updatePanelIndex = (i: number | null) => {\n let idx: number|null = null;\n if (i !== openIndex) {\n idx = i;\n }\n setOpenIndex(idx);\n onClickPanel && onClickPanel(idx);\n return idx;\n }\n\n return (<>\n {panels.map((v, i) => {\n const {\n duration=300,\n components={},\n title=\"\",\n children,\n titleProps={},\n wrapperProps={},\n onClick=null,\n ...panelProps\n } = v;\n const togglePanel = (e: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n e && e.preventDefault();\n const idx = updatePanelIndex(i);\n onClick && onClick(idx);\n }\n const _titleProps = {\n isOpen: i === openIndex,\n onClick: togglePanel,\n ...titleProps,\n }\n const { style={}, ..._wrapperProps } = wrapperProps;\n return (\n <CollapseWrapper key={`CSKU_CollapsiblePanels_${i}`} duration={duration} style={{\n ...(spaceBetween ? {marginBottom: 10} : {}),\n ...style,\n }} {..._wrapperProps}>\n {components && components.Title\n ? <components.Title {..._titleProps} />\n : <CollapsiblePanelTitle {..._titleProps}>{title}</CollapsiblePanelTitle>}\n <Collapsible {...panelProps} duration={duration} isOpen={_titleProps.isOpen}>{children}</Collapsible>\n </CollapseWrapper>\n );\n })}\n </>);\n}\n","import styled from 'styled-components'\nimport React, { useCallback, useState } from 'react'\nimport { SharedStyles, SharedStyleTypes } from './SharedStyles'\nimport {Text, Number} from './Text'\nimport { useWindowSize } from './hooks'\nimport { Label } from './Label'\n\nconst ProgressWrapper = styled.div<SharedStyleTypes>`\n max-width: 100%;\n width: 100%;\n height: 48px;\n background: linear-gradient(180deg, rgba(1, 211, 116, 0.051) 0%, rgba(1, 211, 116, 0.1) 100%);\n box-shadow: 0px 4px 5px rgba(72, 78, 86, 0.1);\n border-radius: 50px;\n \n ${SharedStyles}\n`\n\ntype ProgressBarValue = {\n value: number;\n text?: (v?: string | number | Object) => string | number;\n color?: string;\n textColor?: string;\n};\ntype ProgressBarsProps = React.PropsWithChildren<{\n values: ProgressBarValue[],\n max: number,\n color?: string,\n error?: string,\n title?: string,\n} & SharedStyleTypes>;\n\ntype ProgressBarProps = Omit<ProgressBarsProps, 'values'> & {\n value: number;\n left?: number;\n};\n\nconst ProgressBar = styled.div<ProgressBarProps>`\n max-width: 100%;\n width: ${p => `calc(${100 * (!p.max ? 1 : (p.value / p.max))}% - (${p.left || 0}px + 17px))`};\n height: 48px;\n background: ${props => props.error ? \"#B21154\" : (\n props.color || \"#00d374\"\n )};\n border-radius: 50px;\n display: inline-block;\n position: absolute;\n`\n\ntype LabeledBarprops = ProgressBarProps & {\n text?: string | number,\n textColor?: string,\n};\nconst LabeledBar = (props: LabeledBarprops) => {\n const [width,] = useWindowSize();\n const [size, setSize] = useState({height: 0, width: 0, x: 0, y: 0,});\n const measureRef = useCallback(node => {\n const rect: DOMRect | undefined = node?.getBoundingClientRect() as DOMRect;\n setSize(s => (rect ? {\n ...s,\n height: rect.height,\n x: rect.x,\n y: rect.y,\n width: (rect.width > width ? width : rect.width)-rect.x,\n } : {...s, height: 0, width: 0, x: 0, y: 0,}));\n /* eslint-disable react-hooks/exhaustive-deps */\n }, [width, props.text, props.value]);\n const text = (props.text || '') + '';\n\n return (\n <>\n <Text style={{\n position: 'absolute',\n display: 'inline-block',\n textAlign: width >= 990 ? 'right' : 'center',\n zIndex: 9,\n marginTop: -24,\n color: '#00d374',\n // width: `calc(${100 * props.value / props.max}% - (${size.x || 0}px + 17px))`,\n }}>{text}</Text>\n <ProgressBar ref={measureRef} {...props} left={size.x} />\n </>\n );\n}\n\nconst MultiProgress = ({\n labeled,\n error,\n values,\n max: maxVal,\n ...props\n}: ProgressBarsProps & {labeled?: boolean, style?: React.CSSProperties}) => {\n const max = typeof maxVal === 'number'\n ? maxVal\n : !isNaN(maxVal) ? parseInt(maxVal) : 0;\n\n return <ProgressWrapper {...props}>\n {values.map((v: ProgressBarValue, i) => {\n const color = v.color || (i%2 === 0 ? 'rgba(1, 211, 116, 0.2)' : '#00d374');\n const val = typeof v.value === 'number' ? v.value : !isNaN(v.value) ? parseInt(v.value) : 0;\n return (\n labeled ? <LabeledBar\n value={val < max ? val : max}\n max={max}\n error={error}\n color={color}\n text={v.text ? v.text(val) : val}\n key={`multiprogress-bar-${val}-${i}`}\n textColor={v.textColor}\n /> : <ProgressBar\n value={val < max ? val : max}\n max={max}\n error={error}\n color={color}\n key={`multiprogress-bar-${val}-${i}`}\n />\n );\n })}\n {error ? <Text color=\"error\" bold>{error}</Text> : null}\n </ProgressWrapper>\n}\n\nconst LabeledMultiProgress = ({\n title,\n ...props\n}: ProgressBarsProps & { style?: React.CSSProperties }) => {\n return <div>\n {title ? <Label style={{fontWeight: 'bold', fontSize: 18, }}>{title}</Label> : null}\n <span style={{\n float: 'right',\n paddingRight: 8,\n paddingTop: 40,\n }}>Target $<Number commas decimalPoints={0} num={props.max}/></span>\n <MultiProgress\n {...props}\n labeled\n style={{ marginTop: 40, ...(props.style || {}) }}\n />\n </div>\n}\n\nexport { MultiProgress, LabeledMultiProgress };\n","import React, { useCallback, useRef, useState } from 'react';\nimport styled from 'styled-components';\nimport { Text, Number } from './Text';\nimport { SharedStyles, SharedStyleTypes } from './SharedStyles';\nimport { colors } from './Theme';\n\n\nconst ProgressWrapper = styled.div<SharedStyleTypes>`\n max-width: 100%;\n width: 100%;\n height: 48px;\n box-shadow: 0px 4px 5px rgba(72, 78, 86, 0.1);\n border-radius: 50px;\n\n ${SharedStyles}\n`\n\n\nconst ProgressBar = styled.div<{\n target: number;\n value: number;\n color?: string;\n offset?: number;\n elementWidth?: number;\n}>`\n max-width: 100%;\n width: ${p => {\n if (p.offset) {\n return `${p.offset}px`;\n }\n const val = (p.value / p.target);\n const offset = p.elementWidth || 100;\n return `calc(${(val > 1 ? 1 : val) * 100}% - ${offset}px)`;\n }};\n height: 48px;\n background: ${p => p.color || \"#00d374\"};\n border-radius: 50px;\n display: inline-block;\n position: absolute;\n`\n\nexport type ThermometerProps = {\n style?: React.CSSProperties;\n title?: string;\n target: number;\n value1: number,\n value1Label?: string | ((v: number) => string),\n\tbarColor?: string;\n\tlabelTextColor?: string;\n\tisSecondary?: boolean;\n};\nexport default function Thermometer({\n title,\n target,\n value1,\n value1Label,\n\tbarColor,\n\tlabelTextColor,\n\tisSecondary,\n ...props\n}: ThermometerProps) {\n const targetRef = useRef<HTMLSpanElement | null>(null);\n const val1Ref = useRef<HTMLSpanElement | null>(null);\n const containerRef = useRef<HTMLDivElement | null>(null);\n const [containerWidth, setContainerWidth] = useState(0);\n const [targetWidth, setTargetWidth] = useState(0);\n const [value1Width, setValue1Width] = useState(0);\n\n const calcTargetWidth = () => {\n const result = 1 * containerWidth;\n return result > containerWidth ? containerWidth : result;\n };\n const calcVal1Width = () => {\n const result = (target <= value1 ? 1 : value1/target) * containerWidth;\n return result > containerWidth ? containerWidth : result;\n };\n\n const measureContainerRef = useCallback((node: HTMLDivElement) => {\n containerRef.current = node;\n setContainerWidth(node?.clientWidth || 0);\n }, []);\n const measureTargetRef = useCallback((node: HTMLSpanElement) => {\n targetRef.current = node;\n setTargetWidth(node?.clientWidth || 0);\n }, []);\n const measureValue1Ref = useCallback((node: HTMLSpanElement) => {\n val1Ref.current = node;\n setValue1Width(node?.clientWidth || 0);\n }, []);\n\n return (\n <div {...props}>\n {title ? <Text\n style={{fontWeight: 'bold', fontSize: 18, color: colors.neutrals.bodyText}}\n >{title}</Text> : null}\n <div style={{ paddingBottom: 20, paddingTop: 5}}>\n <span ref={measureTargetRef} style={{\n position: 'absolute',\n paddingRight: 5,\n paddingLeft: `${calcTargetWidth() - (targetWidth || 100)}px`,\n }}>\n Target $<Number commas decimalPoints={0} num={target}/>\n </span>\n <span ref={measureValue1Ref} style={{\n position: 'absolute',\n paddingRight: 5,\n color: labelTextColor || colors.secondary3.main,\n }}>\n\t\t\t\t{value1Label+\" $\"}<Number commas decimalPoints={0} num={value1}/>\n </span>\n </div>\n <div ref={measureContainerRef}>\n <ProgressWrapper style={{ marginTop: 10, background : isSecondary ? '#FFF9C5' : '#C9FDE5' }}>\n <ProgressBar\n target={target}\n value={value1}\n color={barColor || colors.secondary3.main}\n offset={calcVal1Width()}\n elementWidth={value1Width}\n />\n </ProgressWrapper>\n </div>\n </div>\n );\n}\n","import React from 'react';\nimport { uniqueId } from 'lodash';\nimport styled from 'styled-components'\nimport { themeOptions } from './Theme';\nimport { SharedStyles, SharedStyleTypes } from './SharedStyles';\nimport { SizerCss, SizerTypes } from './Sizer';\nimport colors from './colors';\nimport SVG, { SVGIconProps } from './icons/SvgIcon';\n\ntype LightIndicatorLightProps = SVGIconProps & { lit?: boolean; large?: boolean; };\nexport default function LightIndicatorLight({\n width = 10,\n height = 10,\n lit = false,\n large = false,\n ...props\n}: LightIndicatorLightProps) {\n\n const size = large ? 16 : 10;\n const circleSize = large ? 8 : 10;\n const gradientTransform = large ? \"matrix(0 8 -8 0 8 8)\" : \"matrix(0 10 -10 0 10 10)\";\n\n const lightID = uniqueId(\"LightIndicatorLight\");\n\n const fillOpacity =\n lit ? 1 : 0.6;\n\n const litOrNot =\n lit ? <><stop stopColor=\"#01D374\" stopOpacity={0.39} /><stop offset={1} stopColor=\"#01D374\" /></>\n : <><stop stopColor=\"#E4E4E4\" stopOpacity={0.39} /><stop offset={1} stopColor=\"#9D9D9D\" /></>;\n\n return <SVG width={size} height={size} {...props} >\n <circle cx={circleSize} cy={circleSize} r={circleSize} fill={`url(#${lightID})`} fillOpacity={fillOpacity} />\n <defs>\n <radialGradient\n id={lightID}\n cx={0}\n cy={0}\n r={1}\n gradientUnits=\"userSpaceOnUse\"\n gradientTransform={gradientTransform}\n >\n {litOrNot}\n </radialGradient>\n </defs>\n </SVG>\n}\n\ntype LightIndicatorTextType = {\n LightIndicatorTextColor: boolean;\n large?: boolean;\n}\nconst LightIndicatorText = styled.p<LightIndicatorTextType>`\n &&& {\n font-size: ${props => props.large ? themeOptions.fontStyles.p.medium.fontSize : themeOptions.fontStyles.p.small.fontSize};\n font-family: ${themeOptions.fontStyles.p.small.fontFamily};\n line-height: ${themeOptions.fontStyles.p.small.lineHeight};\n color: ${props => props.LightIndicatorTextColor ? colors.neutrals.bodyText : colors.neutrals[70]};\n margin-top:0;\n margin-bottom:0;\n };\n`;\n\nconst LightIndicatorContainer = styled.div<SharedStyleTypes & SizerTypes>`\n &&& {\n display: flex;\n vertical-align: middle;\n align-items: top;\n max-width: 100%;\n margin-bottom: 8px;\n margin-right: 16px;\n ${SharedStyles}\n ${SizerCss}\n }\n`;\n\ntype LightIndicatorProps = {\n name: string;\n on?: boolean;\n large?: boolean;\n textProps?: React.HTMLAttributes<HTMLParagraphElement>;\n}\n\nexport function LightIndicator({\n name = \"Name this Indicator\",\n on = false,\n large = false,\n textProps = {},\n ...props\n}: LightIndicatorProps) {\n return (\n <LightIndicatorContainer {...props}>\n <LightIndicatorLight large={large} lit={on} mr={8} mt={8} />\n <LightIndicatorText {...textProps} large={large} LightIndicatorTextColor={on} >{name}</LightIndicatorText>\n </LightIndicatorContainer>\n );\n}\n","import React, { useState } from 'react';\nimport styled from 'styled-components';\nimport { themeOptions } from './Theme';\nimport { SharedStyles, SharedStyleTypes } from './SharedStyles';\nimport { SizerCss, SizerTypes } from './Sizer';\nimport colors, { teal } from './colors';\nimport StarIcon from './icons/StarIcon';\n\ntype DefaultStarTextProps = {\n hover?: boolean;\n clicked?: boolean;\n hoverText: string;\n color?: string;\n};\n\nconst DefaultStarText = styled.p<DefaultStarTextProps>`\n &&& {\n opacity: ${props => props.clicked ? 1 : props.hover ? 0.8 : 0};\n font-size: ${themeOptions.fontStyles.p.medium.fontSize};\n font-family: ${themeOptions.fontStyles.p.medium.fontFamily};\n line-height: ${themeOptions.fontStyles.p.medium.lineHeight};\n color: ${props => props.clicked ? props.color : colors.neutrals[60]};\n max-width: 180px;\n margin-top:0;\n margin-bottom:0;\n };\n`;\n\ntype DefaultStarContainerProps = {\n noText?: boolean;\n width?: string | number;\n};\n\nconst DefaultStarContainer = styled.div<SharedStyleTypes & SizerTypes & DefaultStarContainerProps>`\n &&& {\n display: flex;\n vertical-align: middle;\n align-items: top;\n width: ${props => props.width ? props.width : props.noText ? '24px' : '128px'};\n margin-bottom: 16px;\n margin-right: 16px;\n cursor: pointer;\n ${SharedStyles}\n ${SizerCss}\n }\n`;\n\ntype DefaultStarProps = React.PropsWithChildren<{\n initialSelected ?: boolean;\n forceSelected?: boolean;\n hoverText?: any;\n noText?: boolean;\n width?: string | number;\n color?: string;\n}>\n\nexport default function DefaultStar({\n initialSelected=false,\n forceSelected=false,\n hoverText,\n noText=false,\n children=\"Default\",\n width,\n color=teal.main,\n ...props\n}: DefaultStarProps ) {\n\n if(!hoverText) {\n hoverText = children\n }\n\n const [isHover, setHover] = useState(initialSelected);\n const [isClicked, setClicked] = useState(initialSelected);\n\n return (\n <DefaultStarContainer \n onClick={() => setClicked(!isClicked)} \n onMouseEnter={() => setHover(true)} \n onMouseLeave={() => setHover(false)} \n noText={noText} \n width={width}>\n <StarIcon \n hover={isHover} \n filled={isHover || isClicked || forceSelected}\n color={color} \n mr={noText ? 0 : 8}\n />\n {noText ? null : \n <DefaultStarText \n hoverText={hoverText} \n hover={isHover} \n clicked={isClicked || forceSelected}\n color={color}\n >\n {!isClicked && isHover ? hoverText : children}\n\n </ DefaultStarText>\n }\n </DefaultStarContainer>\n );\n}\n \n ","import React from 'react';\nimport { SharedStyleTypes } from './SharedStyles';\nimport { SizerTypes } from './Sizer';\nimport { Button, TSize, ButtonVariant } from './Button';\n\n\nexport type CancelButtonProps = {\n size?: TSize;\n style?: React.CSSProperties;\n variant?: ButtonVariant;\n} & SharedStyleTypes & SizerTypes;\n\nexport default function CancelButton({\n size=\"medium\",\n variant=\"error\",\n style={},\n ...Props\n}: CancelButtonProps){\n return (\n <Button variant={variant} size={size} {...Props} >Cancel</Button>\n )\n};","import React from 'react';\nimport { SharedStyleTypes } from './SharedStyles';\nimport { SizerTypes } from './Sizer';\nimport { Button, TSize, ButtonVariant } from './Button';\n\n\nexport type DoneButtonProps = {\n size?: TSize;\n style?: React.CSSProperties;\n variant?: ButtonVariant;\n} & SharedStyleTypes & SizerTypes;\n\nexport default function DoneButton({\n size=\"medium\",\n variant=\"primary\",\n style={},\n ...Props\n}: DoneButtonProps){\n return (\n <Button variant={variant} size={size} {...Props}>Done</Button>\n )\n};","import React, { useState } from \"react\";\nimport styled from \"styled-components\";\nimport colors from './colors';\nimport { fontStyles } from \"./Theme\";\nimport { SharedStyleTypes, SharedStyles } from './SharedStyles';\nimport { SizerCss, SizerTypes } from './Sizer';\nimport { TButtonIcon } from \"./Button\";\n\nconst StyledLink = styled.a<{alertType?: string, color?: string, hoverColor?: string, flexShrink?: boolean}>`\n &&& {\n font-size: ${fontStyles.p.medium.fontSize};\n font-family: ${fontStyles.p.medium.fontFamily};\n line-height: ${fontStyles.p.medium.lineHeight};\n color: ${props => props.color || colors.teal.main};\n text-decoration: none;\n cursor: pointer;\n display: flex;\n ${props => props.flexShrink ? `flex-shrink: 0;` : null};\n ${SharedStyles}\n ${SizerCss}\n &:hover {\n color: ${props => props.hoverColor ? props.hoverColor : colors.teal.dark};\n }\n } \n`;\n\ntype IconFuncProps = { color: string; [key: string]: any };\n\nexport type LinkWithIconProps = React.PropsWithChildren<{\n Icon?: TButtonIcon | React.ReactElement<IconFuncProps>;\n href?: string; \n color?: string;\n hoverColor?: string;\n flexShrink?: boolean;\n iconProps?: {[key: string]: any};\n style?: React.CSSProperties;\n} & SharedStyleTypes & SizerTypes>;\n\nexport default function LinkWithIcon({\n Icon,\n href,\n children,\n color=colors.teal.main,\n hoverColor=colors.teal.dark,\n flexShrink=false,\n iconProps,\n style={},\n ...props\n}: LinkWithIconProps){\n\n const [isHover, setHover] = useState(false);\n\n const RenderIcon = React.useMemo(() => {\n if (!Icon) { return null; }\n\n if (typeof Icon !== 'function') {\n return React.cloneElement(Icon, iconProps);\n }\n \n return (\n <Icon \n color={isHover ? hoverColor : color} \n mr={8} \n style={{flexShrink: \"0\"}}\n {...iconProps} \n />\n );\n }, [Icon, color, hoverColor, iconProps, isHover]);\n\n return(\n <StyledLink \n href={href} \n color={color} \n hoverColor={hoverColor} \n flexShrink={flexShrink}\n onMouseEnter={() => setHover(true)} \n onMouseLeave={() => setHover(false)} \n style={style}\n {...props}\n >\n {RenderIcon}\n {children}\n </StyledLink>\n )\n}","import React from \"react\";\nimport styled, { CSSObject } from \"styled-components\";\nimport colors from './colors';\nimport { fontStyles } from \"./Theme\";\nimport { InfoIcon, AlertIcon, CompletedCheckmarkIcon } from \"./icons\";\nimport LinkWithIcon from \"./LinkWithIcon\";\nimport { SharedStyleTypes, SharedStyles } from './SharedStyles';\nimport { SizerCss, SizerTypes } from './Sizer';\n\ntype AlertNotificationProps = React.PropsWithChildren<{\n alertType?: \"neutral\" | \"success\" | \"error\",\n style?: React.CSSProperties;\n learnMore ?: boolean;\n href?: string;\n linkText?: string;\n}> & SharedStyleTypes & SizerTypes;\n\n\nconst NotificationVariantStyles = (alertType: string): CSSObject => {\n \n switch(alertType){\n case \"neutral\":\n return {\n backgroundColor: colors.navy.lightest,\n color: colors.navy.dark,\n };\n \n case \"success\":\n return {\n backgroundColor: colors.green.lightest,\n color: colors.green.darkest,\n };\n case \"error\":\n return {\n backgroundColor: colors.errors.lightest,\n color: colors.errors.dark,\n };\n default: \n return {};\n }\n};\n\nconst StyledNotification = styled.div<{alertType?: string }>`\n &&& {\n font-size: ${fontStyles.p.medium.fontSize};\n font-family: ${fontStyles.p.medium.fontFamily};\n line-height: ${fontStyles.p.medium.lineHeight};\n width: fit-container;\n border-radius: 5px;\n padding: 24px 16px;\n display:flex;\n flex-direction: row;\n ${props => props.alertType ? NotificationVariantStyles(props.alertType): {}};\n ${SharedStyles}\n ${SizerCss}\n }\n`;\n\nexport default function AlertNotification({\n alertType=\"neutral\",\n learnMore=false,\n href,\n linkText,\n children, \n style={},\n ...props\n}: AlertNotificationProps){\n\n function notificationIcon(){\n if(alertType === \"success\") {\n return <CompletedCheckmarkIcon color={colors.green.dark} mr={8} style={{flexShrink: 0}}/> \n } else if (alertType === \"error\") {\n return <AlertIcon color={colors.errors.dark} mr={8} style={{flexShrink: 0}}/>\n } else {\n return <InfoIcon color={colors.navy.dark} mr={8} style={{flexShrink: 0}}/>\n }\n };\n\n NotificationVariantStyles(alertType);\n \n return (\n <StyledNotification alertType={alertType} {...props}>\n {notificationIcon()}\n {children}\n {learnMore ? \n <LinkWithIcon href={href} style={{marginLeft: \"auto\"}} pl={24} flexShrink={true}>Learn More</LinkWithIcon> \n : \n linkText ? \n <LinkWithIcon href={href} style={{marginLeft: \"auto\"}} pl={24} flexShrink={true}>{linkText}</LinkWithIcon>\n : null\n }\n </StyledNotification>\n )\n};\n","import React, { useEffect, useRef, useState } from \"react\";\nimport { Input, InputProps, LabeledInput } from \"./Input\";\nimport { onChangeNumber } from \"../utils\";\n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/NumberFormat\nexport type LocaleOptions = {\n maximumFractionDigits ?: number,\n minimumSignificantDigits?: number,\n maximumSignificantDigits?: number,\n numberingSystem ?: string,\n currencySign ?: string,\n currency ?: string,\n unit ?: string,\n style ?: 'decimal' | 'currency' | 'percent' | 'unit',\n unitDisplay ?: 'long' | 'short' | 'narrow',\n currencyDisplay ?: 'symbol' | 'narrowSymbol' | 'code' | 'name',\n notation ?: 'standard' | 'scientific' | 'engineering' | 'compact',\n signDisplay ?: 'auto' | 'never' | 'always' | 'exceptZero',\n localeMatcher ?: string,\n useGrouping ?: boolean,\n minimumIntegerDigits ?: number,\n minimumFractionDigits ?: number,\n};\n\nexport type NumberInputProps = Omit<InputProps, 'onChange'> & {\n defaultValue?: string | number;\n label?: string;\n icon?: (props: object) => React.ReactElement;\n onClickIcon?: (value: string | number) => string | undefined | void;\n iconStyles?: {};\n labelStyle?: React.CSSProperties;\n onChange?: (value: number | string | null, action?: string) => void;\n localeOptions?: LocaleOptions,\n inputMode?: \"none\" | \"text\" | \"numeric\" | \"decimal\";\n};\n\ntype useNumberInputProps = {\n defaultValue?: string | number;\n onChange?: ((value: string | number | null, action?: string | undefined) => void);\n onFocus?: React.FocusEventHandler<HTMLInputElement>;\n onBlur?: React.FocusEventHandler<HTMLInputElement>;\n inputMode?: \"none\" | \"text\" | \"numeric\" | \"decimal\";\n localeOptions?: LocaleOptions,\n}\n\nexport function useNumberInput(props: useNumberInputProps) {\n const {\n defaultValue = \"\",\n onChange,\n onFocus,\n onBlur,\n inputMode,\n localeOptions={},\n } = props;\n const inputRef = useRef<HTMLInputElement>(null);\n const [state, setState] = useState({\n last_value: +defaultValue || '',\n value: +defaultValue || '',\n type: 'number',\n });\n\n useEffect(() => {\n numToStr(+defaultValue);\n }, []);\n\n function strToNum() {\n setState(s => ({\n ...s,\n type: 'number',\n value: +s.last_value,\n }));\n }\n\n function numToStr(num = state.value) {\n setState(s => ({\n ...s,\n type: '',\n last_value: num || '',\n value: num === '' ? '' : (+num).toLocaleString(undefined, localeOptions),\n }));\n }\n\n const updateValue = (val: number | string | null) => {\n if (val === null) { return; }\n const new_val = onChangeNumber(val);\n if(new_val !== null) {\n setState(s => ({...s, value: new_val, last_value: new_val }));\n onChange && onChange(new_val);\n }\n };\n\n const handleChange = () => {\n const inputElem = inputRef.current;\n if (inputElem === null) { return; }\n updateValue(inputElem?.value);\n };\n\n function handleBlur(e: React.FocusEvent<HTMLInputElement>) {\n numToStr();\n onBlur && onBlur(e);\n }\n\n function handleFocus(e: React.FocusEvent<HTMLInputElement>) {\n strToNum();\n onFocus && onFocus(e);\n }\n\n function clearInput() {\n setState(s => ({...s, value: '0', last_value: 0,}));\n onChange && onChange(0);\n }\n\n return {\n ref: inputRef,\n value: state.value,\n inputMode: inputMode || 'decimal',\n type: state.type,\n onChange: handleChange,\n onBlur: handleBlur,\n onFocus: handleFocus,\n updateValue,\n clearInput,\n strToNum,\n };\n}\n\nfunction NumberInput(props: NumberInputProps) {\n const {\n defaultValue = \"\",\n label=null,\n localeOptions={},\n icon=null,\n onClickIcon=null,\n iconStyles={},\n ...rest\n } = props;\n const {\n ref,\n value,\n inputMode,\n type,\n onChange,\n onBlur,\n onFocus,\n clearInput,\n } = useNumberInput({\n defaultValue,\n onChange: props.onChange,\n onFocus: props.onFocus,\n onBlur: props.onBlur,\n inputMode: props.inputMode,\n localeOptions,\n });\n\n const inputProps = {\n ...rest,\n // type: type,\n value,\n inputMode: inputMode || 'decimal',\n onChange,\n onBlur,\n onFocus,\n };\n\n const iconWrapperStyles: React.CSSProperties = {\n fontStyle: 'normal',\n cursor: 'pointer',\n position: 'absolute',\n marginLeft: '-35px',\n marginTop: '5px',\n ...(iconStyles)\n };\n\n const handleClickIcon = () => {\n if (onClickIcon) {\n const action = onClickIcon(value);\n if (action && action === 'clear') {\n clearInput();\n }\n }\n };\n\n return (\n <>\n {label\n ? <LabeledInput {...inputProps} label={label} ref={ref} />\n : <Input {...inputProps} ref={ref} />}\n {icon && type !== 'number'\n ? <span style={iconWrapperStyles} onClick={handleClickIcon}>{icon}</span>\n : null}\n </>\n );\n}\n\nexport default NumberInput;\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport { debounce } from \"lodash\";\nimport { IconButton } from './Button';\nimport { fontStyles } from './Theme';\nimport { neutrals } from \"./colors\";\nimport { AddIcon, SubtractIcon } from \"./icons\";\nimport { SharedStyles, SharedStyleTypes } from './SharedStyles';\nimport { SizerCss, SizerTypes } from './Sizer';\nimport { NumberInputProps, useNumberInput } from './NumberInput';\nimport { Input } from \"./Input\";\nimport { useLongPress } from \"./hooks\";\n\ntype InputStepperProps = Omit<NumberInputProps, 'value'> & {\n min?: number;\n max?: number;\n initialValue?: number | string;\n width?: string;\n label?: string;\n labelStyle?: React.CSSProperties;\n inputDisabled?: boolean;\n};\n\nconst InputStepperOuterContainer = styled.div<{ width?: string } & SharedStyleTypes & SizerTypes>`\n &&&{\n width: ${props => props.width ? props.width : `160px`};\n ${SharedStyles}\n ${SizerCss}\n }\n`;\n\nconst InputStepperInnerContainer = styled.div<SharedStyleTypes & SizerTypes>`\n &&&{\n display: flex;\n width: 100%;\n flex-direction: row;\n justify-content: space-between;\n border-radius: 5px;\n background-color: white;\n ${SharedStyles}\n ${SizerCss}\n }\n`;\n\nconst InputStepperLabel = styled.label<SharedStyleTypes & SizerTypes>`\n &&&{\n font-size: ${fontStyles.label.fontSize};\n font-family: ${fontStyles.label.fontFamily};\n line-height: ${fontStyles.label.lineHeight};\n margin-bottom: 8px;\n color: ${neutrals.bodyText}\n ${SharedStyles}\n ${SizerCss}\n }\n`;\n\nconst CurrentNumber = styled.div<SharedStyleTypes & SizerTypes>`\n &&&{\n display:flex;\n justify-content: center;\n align-items: center;\n height:38px;\n width:100%;\n border-top: 1px solid ${neutrals['60']};\n border-bottom: 1px solid ${neutrals['60']};\n color: ${neutrals.bodyText};\n text-align:center;\n vertical-align:middle;\n }\n`;\n\nexport const canIncrement = (value: number, max?: number) =>\n (max !== undefined && value < max) || max === undefined;\nexport const canDecrement = (value: number, min?: number) =>\n (min !== undefined && value > min) || min === undefined;\n\nexport default function InputStepper(props: InputStepperProps) {\n const {\n min = 0,\n max,\n width,\n label,\n labelStyle = {},\n style = {},\n disabled=false,\n inputDisabled=false,\n localeOptions,\n initialValue,\n ...rest\n } = props;\n\n const {\n ref,\n value,\n inputMode,\n onChange,\n onBlur,\n onFocus,\n updateValue,\n strToNum,\n } = useNumberInput({\n defaultValue: initialValue,\n onChange: rest.onChange,\n onFocus: rest.onFocus,\n onBlur: rest.onBlur,\n inputMode: rest.inputMode,\n localeOptions,\n });\n const {\n onMouseDown: onIncrementMouseDown,\n onMouseLeave: onIncrementMouseLeave,\n onMouseUp: onIncrementMouseUp,\n onTouchEnd: onIncrementTouchEnd,\n onTouchStart: onIncrementTouchStart,\n } = useLongPress(() => {\n handleIncrement();\n });\n\n const {\n onMouseDown: onDecrementMouseDown,\n onMouseLeave: onDecrementMouseLeave,\n onMouseUp: onDecrementMouseUp,\n onTouchEnd: onDecrementTouchEnd,\n onTouchStart: onDecrementTouchStart,\n } = useLongPress(() => {\n handleDecrement();\n });\n\n const valueNumber = typeof value === 'string' ? parseFloat(value) : value;\n const decrementButtonVariant = disabled || !canDecrement(valueNumber, min)\n ? \"disabled\" : \"primary\";\n const incrementButtonVariant = disabled || !canIncrement(valueNumber, max)\n ? \"disabled\" : \"primary\";\n\n function handleIncrement() {\n const newValue = valueNumber + 1;\n if (disabled || !canIncrement(valueNumber, max)) { return; }\n updateValue(newValue)\n }\n\n function handleDecrement() {\n const newValue = valueNumber - 1;\n if (disabled || !canDecrement(valueNumber, min)) { return; }\n updateValue(newValue);\n }\n\n // check and update value by min and max\n const delayChange = debounce(React.useCallback(() => {\n const val = ref.current?.value;\n if (val === null || val === undefined) { return; }\n if (!canIncrement(parseInt(val), max) && max !== undefined) {\n updateValue(max);\n } else if (!canDecrement(parseInt(val), min) && min !== undefined) {\n updateValue(min);\n }\n }, [ref, min, max, updateValue]), 1000);\n\n return (\n <InputStepperOuterContainer width={width}>\n <InputStepperLabel style={labelStyle}>{label}</InputStepperLabel>\n <InputStepperInnerContainer style={style}>\n <IconButton\n Icon={SubtractIcon}\n variant={decrementButtonVariant}\n onClick={handleDecrement}\n style={{ borderRadius: \"5px 0 0 5px\" }}\n onMouseDown={e => {\n if (e.button !== 0) { return; }\n onDecrementMouseDown();\n }}\n onMouseOut={onDecrementMouseLeave}\n onMouseUp={onDecrementMouseUp}\n onTouchEnd={onDecrementTouchEnd}\n onTouchStart={onDecrementTouchStart}\n />\n <Input\n {...rest}\n style={{ width: '100%', margin: 0, borderRadius: 0, textAlign: \"center\" }}\n value={value}\n inputMode={inputMode}\n onChange={onChange}\n onBlur={onBlur}\n onFocus={onFocus}\n disabled={inputDisabled}\n ref={ref}\n onKeyUp={delayChange}\n />\n <IconButton\n Icon={AddIcon}\n variant={incrementButtonVariant}\n onClick={handleIncrement}\n style={{ borderRadius: \"0 5px 5px 0\" }}\n onMouseDown={e => {\n if (e.button !== 0) { return; }\n onIncrementMouseDown();\n }}\n onMouseOut={onIncrementMouseLeave}\n onMouseUp={onIncrementMouseUp}\n onTouchEnd={onIncrementTouchEnd}\n onTouchStart={onIncrementTouchStart}\n />\n </InputStepperInnerContainer>\n </InputStepperOuterContainer>\n )\n}","import React, { useRef, useLayoutEffect, useMemo, useCallback, } from 'react';\nimport {\n useTable,\n useSortBy,\n useFlexLayout,\n SortingRule,\n Column,\n Cell,\n useExpanded,\n} from 'react-table';\nimport { VariableSizeList, ListOnScrollProps } from 'react-window';\nimport { BaseSortByHeaderGroup, SortByHeaderGroup } from './types';\nimport {\n Row,\n ColumnInstance,\n TableInstance,\n TableOptions,\n} from './table-types';\nimport { FilledChevronIcon } from '../icons';\nimport scrollbarWidth from './scrollbarWidth';\nimport { useWindowSize } from '../hooks';\n\nexport type VirtualTableProps = {\n columns: Column<object>[];\n data: object[];\n itemSize?: (value: { index: number; row: Row }) => number;\n height?: number;\n minWidth?: number;\n maxWidth?: number;\n defaultSort?: SortingRule<string>;\n onClickRow?: (\n row?: object,\n index?: number,\n data?: {\n isScrolling: boolean;\n cell: Cell<Record<string, unknown>, any>;\n resetList: (index?: number) => void;\n toggleAllRowsExpanded: (value?: boolean | undefined) => void;\n }\n ) => void;\n onScroll?: ((props: ListOnScrollProps) => any);\n onUpdateData?: (...args: any) => void;\n useTableProps?: object;\n tableHeaderProps?: {\n className?: string;\n style?: React.CSSProperties;\n };\n tableFooterProps?: {\n className?: string;\n style?: React.CSSProperties;\n };\n TableFooter?: (props: React.PropsWithChildren<{ [key: string]: any }>) => React.ReactElement;\n customTableFooterProps?: object;\n className?: string;\n hideFooter?: boolean;\n hideHeader?: boolean;\n NoRowsFound?: (props: React.PropsWithChildren<{ [key: string]: any }>) => React.ReactElement;\n renderRowSubComponent?: (props: React.PropsWithChildren<{ [key: string]: any }>) => React.ReactElement;\n onSort?: (value: { column: ColumnInstance }) => void;\n onResize?: VoidFunction;\n rowGroupStyles?: (value: {row: Row, style: React.CSSProperties }) => React.CSSProperties;\n rowStyles?: (value: {row: Row, style: React.CSSProperties }) => React.CSSProperties;\n gutterSize?: number;\n};\n\nconst VirtualTable = (props: VirtualTableProps) => {\n const {\n columns,\n data,\n itemSize,\n height=500,\n minWidth = 140,\n maxWidth = 500,\n defaultSort,\n onClickRow,\n onScroll,\n onUpdateData,\n useTableProps = {},\n tableHeaderProps = {},\n tableFooterProps = {},\n hideFooter = true,\n hideHeader = false,\n className = '',\n NoRowsFound,\n renderRowSubComponent,\n onSort,\n onResize,\n rowGroupStyles,\n rowStyles,\n gutterSize=0,\n customTableFooterProps={},\n TableFooter,\n } = props;\n\n const defaultColumn = useMemo(\n () => ({\n minWidth: minWidth,\n maxWidth: maxWidth,\n expanded: false,\n }),\n [minWidth, maxWidth]\n );\n\n const {\n getTableProps,\n getTableBodyProps,\n headerGroups,\n footerGroups,\n totalColumnsWidth,\n prepareRow,\n toggleAllRowsExpanded,\n ...tableData\n } = useTable(\n {\n columns,\n data,\n defaultColumn,\n initialState: {\n ...(defaultSort ? { sortBy: [defaultSort] } : {}),\n },\n onUpdateData,\n ...useTableProps,\n } as TableOptions,\n useFlexLayout,\n useSortBy,\n useExpanded\n ) as TableInstance;\n\n const rows = useMemo(() => (tableData.rows as Row[]), [tableData.rows]);\n const windowSize = useWindowSize();\n\n const headerRef = useRef<HTMLDivElement | null>(null);\n const footerRef = useRef<HTMLDivElement | null>(null);\n const rowsRef = useRef<HTMLDivElement | HTMLSpanElement>(null);\n const listRef = useRef<VariableSizeList | null>(null);\n\n function resetList(index: number = 0) {\n listRef.current && listRef.current.resetAfterIndex(index);\n }\n\n const tableWidth = useMemo(() => {\n if (rowsRef.current) {\n const rect = rowsRef.current.getBoundingClientRect();\n return windowSize[0]-30-rect.left;\n }\n return '100%';\n }, [windowSize, rowsRef]);\n\n const handleSort = useCallback(column => {\n listRef.current && listRef.current.resetAfterIndex(0);\n column.toggleSortBy();\n onSort && onSort({ column });\n }, [onSort]);\n\n function onListScroll(e: Event) {\n if (headerRef.current && e && e.target) {\n const target = e.target as HTMLDivElement | HTMLSpanElement;\n headerRef.current.scrollLeft = target.scrollLeft;\n }\n\n if (footerRef.current && e && e.target) {\n const target = e.target as HTMLDivElement | HTMLSpanElement;\n footerRef.current.scrollLeft = target.scrollLeft;\n }\n }\n\n useLayoutEffect(() => {\n const rowsElem = rowsRef.current;\n if (rowsElem) {\n rowsElem.addEventListener('scroll', onListScroll);\n }\n return () => {\n if (rowsElem) {\n rowsElem.removeEventListener('scroll', onListScroll);\n }\n };\n }, [rowsRef]);\n\n const RenderRow = useCallback(\n ({ index, isScrolling, style }) => {\n const row = rows[index];\n\n prepareRow(row);\n\n return (\n <div\n className=\"tr-group\"\n {...row.getRowProps()}\n style={{\n ...style,\n ...(rowGroupStyles ? rowGroupStyles({row, style}) : {}),\n minWidth: totalColumnsWidth,\n width: '100%',\n }}\n >\n <div className=\"tr\" style={rowStyles ? rowStyles({row, style}) : {}}>\n {row.cells.map((cell) => {\n const cellProps = cell.getCellProps();\n return (\n <div\n {...{...cellProps}}\n onClick={() => (onClickRow ? onClickRow(cell.row.original, index, { cell, isScrolling, resetList, toggleAllRowsExpanded }) : null)}\n className=\"td\"\n >\n {cell.render(\"Cell\", { isScrolling, resetList, toggleAllRowsExpanded })}\n </div>\n );\n })}\n </div>\n {row.isExpanded && renderRowSubComponent\n ? <div className='tr-sub'>{renderRowSubComponent({ row, resetList, })}</div>\n : null}\n </div>\n );\n },\n [\n prepareRow,\n rows,\n onClickRow,\n renderRowSubComponent,\n rowStyles,\n rowGroupStyles,\n totalColumnsWidth,\n toggleAllRowsExpanded,\n ]\n );\n\n const getHeaderProps = (column: BaseSortByHeaderGroup<object>, isFooter = false) => {\n let headerProps = column.getHeaderProps({\n ...column.getSortByToggleProps(),\n ...(column.containerProps || {}),\n });\n if (isFooter) {\n headerProps = column.getFooterProps({\n ...column.getSortByToggleProps(),\n ...(column.containerProps || {}),\n });\n }\n const headerStyles = {\n ...(headerProps.style || {}),\n ...(column.style || {}),\n };\n const headerClassNames = [\n 'th',\n ...(headerProps.className || \"\").split(' '),\n ...(column.className || \"\").split(' '),\n ].filter(v => v).join(' ');\n\n return {\n ...headerProps,\n style: headerStyles,\n className: headerClassNames,\n };\n };\n\n const getHeaderGroupProps = (headerGroup: SortByHeaderGroup<object>, isFooter = false) => {\n let headerGroupProps = headerGroup.getHeaderGroupProps({\n ...(headerGroup.containerProps || {}),\n });\n if (isFooter) {\n headerGroupProps = headerGroup.getFooterGroupProps({\n ...(headerGroup.containerProps || {}),\n });\n }\n const headerStyles = {\n ...(headerGroupProps.style || {}),\n ...(headerGroup.style || {}),\n };\n const headerClassNames = [\n isFooter ? 'footer tr' : 'header tr',\n ...(headerGroupProps.className || \"\").split(' '),\n ...(headerGroup.className || \"\").split(' '),\n ].filter(v => v).join(' ');\n\n return {\n ...headerGroupProps,\n style: headerStyles,\n className: headerClassNames,\n };\n };\n\n return (\n <div {...getTableProps()} className={`table ${className || ''}`}>\n <div\n {...tableHeaderProps}\n className={`thead ${tableHeaderProps.className || ''}`}\n style={{\n ...(tableHeaderProps.style || {}),\n ...(hideHeader ? { display: 'none' } : {}),\n }}\n >\n {headerGroups.map((headerGroup) => (\n <div {...getHeaderGroupProps(headerGroup, false)} ref={headerRef} style={{width: tableWidth,}}>\n {headerGroup.headers.map((column) => (\n <div\n {...getHeaderProps(column, false)}\n className=\"th\"\n onClick={() => handleSort(column)}\n >\n {column.render(\"Header\")}\n <span>\n {column.isSorted ? <FilledChevronIcon\n direction={sortDirection(column)}\n size=\"medium\"\n style={{ verticalAlign: 'middle' }}\n /> : null}\n </span>\n </div>\n ))}\n </div>\n ))}\n </div>\n\n <div className=\"tbody\" {...getTableBodyProps()}>\n {rows.length === 0 && NoRowsFound ? <NoRowsFound /> :\n <VariableSizeList\n useIsScrolling\n className=\"table-list-rows\"\n height={height}\n itemCount={rows.length}\n itemSize={i => {\n if (itemSize) {\n return itemSize({ row: rows[i], index: i });\n }\n return (rows[i] && rows[i].isExpanded ? 300 : 50) + gutterSize;\n }}\n width={tableWidth}\n onScroll={onScroll}\n ref={listRef}\n outerRef={rowsRef}\n >\n {RenderRow}\n </VariableSizeList>\n }\n </div>\n\n {!hideFooter ? <div {...tableFooterProps}\n className={`table-footer-wrapper ${tableFooterProps.className || ''}`}\n >\n {footerGroups.map((footerGroup) => (\n <div {...getHeaderGroupProps(footerGroup, true)} className=\"table-footer tr\" ref={footerRef}>\n {footerGroup.headers.map((column) => (\n <div {...getHeaderProps(column, true)}>\n {column.render(\"Footer\")}\n </div>\n ))}\n </div>\n ))}\n </div> : null}\n {TableFooter ? <TableFooter {...customTableFooterProps} /> : null}\n </div>\n );\n};\n\nfunction sortDirection(col: BaseSortByHeaderGroup<object>) {\n if (col.isSorted) {\n if (col.isSortedDesc) {\n return \"down\";\n }\n return \"up\";\n }\n return \"updown\";\n}\n\nexport default VirtualTable;\n","import styled, { CSSObject } from 'styled-components';\n\nconst VirtualTableStyles = styled.div<{\n tableHeight?: number | string;\n bordered?: boolean | string;\n rowClickable?: boolean;\n hoverRowBg?: string | boolean;\n selectedRowIndex?: number;\n selectedRowStyle?: boolean | CSSObject; // if true, then set bg same as hoverRowBg\n}>`\npadding: 1rem;\n\n.table-list-rows {\n ${p => p.rowClickable ? `\n .tr {\n cursor: pointer;\n }\n ` : ''}\n}\n\n.table {\n display: inline-flex;\n flex-direction: column;\n ${p => p.bordered ? `\n border-spacing: 0;\n border: 1px solid black;\n ` : ''}\n width: 100% !important;\n min-width: 100% !important;\n ${p => p.tableHeight ? `height: ${p.tableHeight}${typeof p.tableHeight === 'number' ? 'px' : '' };` : ''}\n\n .thead {\n padding-right: 15px;\n ${p => p.bordered ? 'border-bottom: 1px solid #000;' : ''}\n\n .tr {\n overflow-x: hidden;\n min-width: 100%;\n }\n }\n\n .tbody {\n flex: 1 1 auto;\n height: 80vh;\n }\n\n .tr-group {\n display: flex;\n flex-direction: column;\n\n .tr, .tr-sub {\n width: 99%;\n }\n }\n\n .tr {\n display: flex;\n\n ${p => p.bordered ? `\n :last-child {\n .td {\n border-bottom: 0;\n }\n }\n ` : ''}\n }\n\n .tr.header {\n position: sticky;\n }\n\n .th,\n .td {\n margin: 0;\n padding: 0.5rem;\n ${p => p.bordered ? `\n border-bottom: 1px solid black;\n border-right: 1px solid black;\n :last-child {\n border-right: 0;\n }\n ` : ''}\n }\n}`;\n\nexport default VirtualTableStyles;\n","import React from 'react';\nimport { CSSObject, FlattenSimpleInterpolation, SimpleInterpolation } from 'styled-components';\nimport { sizes, sizeMedia, TSize } from './sizes';\n\nexport type ResponsiveValue<T = string | number> = T\n | Array<T | null>\n | {\n xs?: T;\n sm?: T;\n md?: T;\n lg?: T;\n xl?: T;\n };\n\nexport const isSizeObj = (val: any) => typeof val === 'object' && (\n val['xs'] || val['sm'] || val['md'] || val['lg'] || val['xl']\n);\n\nexport const parseResponsiveValue = (\n value: ResponsiveValue<any>,\n transform: ((v: any) => any),\n): (React.CSSProperties | CSSObject | (SimpleInterpolation | FlattenSimpleInterpolation)[]) => {\n if (typeof value === 'number' || typeof value === 'string' || typeof value === 'boolean') {\n return transform(value);\n } else if (Array.isArray(value)) {\n return value.map((v, i) => {\n if (i >= sizes.length) { return {}; }\n const size = sizes[i];\n if (v === null || v === undefined) { return {}; }\n return { [sizeMedia[size]]: transform(v) };\n }).reduce((acc, v) => ({ ...acc, ...v }), {});\n } else if (typeof value === 'object') {\n if (!isSizeObj(value)) {\n return value;\n }\n return Object.keys(value)\n .filter((k) => sizes.includes(k as TSize))\n .map((k) => ({ [sizeMedia[k]]: transform(value[k]) }))\n .reduce((acc, v) => ({ ...acc, ...v }), {})\n }\n\n return {};\n};\n","import styled, { CSSObject, SimpleInterpolation, StyledComponent } from 'styled-components';\nimport { parseMeasurement, stripUnit } from '../utils';\nimport { isSizeObj, parseResponsiveValue, ResponsiveValue } from '../utils/styled';\n\nexport const createMeasurementStyle = (v: string | number, keys: string[]) => {\n const value = typeof v === 'string' && ['auto', 'none'].includes(v)\n ? v\n : parseMeasurement(v);\n return keys.reduce((acc: object, k) => ({ ...acc, [k]: value }), {});\n};\n\nconst styleKeys = [\n 'pr', 'pl', 'pt', 'pb', 'px', 'py',\n 'mr', 'ml', 'mt', 'mb', 'mx', 'my',\n 'width', 'height',\n 'color', 'bg', 'background', 'backgroundColor',\n 'colSpan',\n 'style', 'sx',\n];\nconst stylesTransformMap = {\n mr: (v: string | number) => createMeasurementStyle(v, ['marginRight']),\n ml: (v: string | number) => createMeasurementStyle(v, ['marginLeft']),\n mt: (v: string | number) => createMeasurementStyle(v, ['marginTop']),\n mb: (v: string | number) => createMeasurementStyle(v, ['marginBottom']),\n mx: (v: string | number) => createMeasurementStyle(v, ['marginLeft', 'marginRight']),\n my: (v: string | number) => createMeasurementStyle(v, ['marginTop', 'marginBottom']),\n pr: (v: string | number) => createMeasurementStyle(v, ['paddingRight']),\n pl: (v: string | number) => createMeasurementStyle(v, ['paddingLeft']),\n pt: (v: string | number) => createMeasurementStyle(v, ['paddingTop']),\n pb: (v: string | number) => createMeasurementStyle(v, ['paddingBottom']),\n px: (v: string | number) => createMeasurementStyle(v, ['paddingLeft', 'paddingRight']),\n py: (v: string | number) => createMeasurementStyle(v, ['paddingTop', 'paddingBottom']),\n width: (v: string | number) => createMeasurementStyle(v, ['width']),\n height: (v: string | number) => createMeasurementStyle(v, ['height']),\n color: (v: string) => ({ color: v }),\n bg: (v: string) => ({ background: v }),\n background: (v: string) => ({ background: v }),\n backgroundColor: (v: string) => ({ backgroundColor: v }),\n hidden: (v?: boolean) => (v ? { display: 'none' } : {}),\n block: (v?: boolean) => (v ? { display: 'block' } : {}),\n inline_block: (v?: boolean) => (v ? { display: 'inline-block' } : {}),\n flex: (v?: boolean) => (v ? { display: 'flex' } : {}),\n inline_flex: (v?: boolean) => (v ? { display: 'inline-flex' } : {}),\n grid: (v?: boolean) => (v ? { display: 'grid' } : {}),\n float: (v: string) => (v === 'clearfix'\n ? {'&::after': {\n content: '',\n display: 'table',\n clear: 'both',\n }}\n : {float: v}\n ), // left, right, none, clearfix\n colSpan: (v: string | number | boolean) => {\n if (v === 'auto' || v === true) {\n return { gridColumn: 'auto' };\n } else if (v === false) {\n return { display: 'none' };\n }\n const colSpan = stripUnit(v);\n return {gridColumn: `span ${colSpan} / span ${colSpan}`};\n },\n style: (v: CSSObject) => v,\n sx: (v: CSSObject) => v,\n};\n\nexport type BaseCskuProps = {\n pr?: ResponsiveValue<string | number>;\n pl?: ResponsiveValue<string | number>;\n pt?: ResponsiveValue<string | number>;\n pb?: ResponsiveValue<string | number>;\n px?: ResponsiveValue<string | number>;\n py?: ResponsiveValue<string | number>;\n mr?: ResponsiveValue<string | number>;\n ml?: ResponsiveValue<string | number>;\n mt?: ResponsiveValue<string | number>;\n mb?: ResponsiveValue<string | number>;\n mx?: ResponsiveValue<string | number>;\n my?: ResponsiveValue<string | number>;\n width?: ResponsiveValue<string | number>;\n height?: ResponsiveValue<string | number>;\n color?: ResponsiveValue<string>;\n bg?: ResponsiveValue<string>;\n background?: ResponsiveValue<string>;\n backgroundColor?: ResponsiveValue<string>;\n hidden?: ResponsiveValue<boolean>;\n block?: ResponsiveValue<boolean>;\n inline_block?: ResponsiveValue<boolean>;\n flex?: ResponsiveValue<boolean>;\n inline_flex?: ResponsiveValue<boolean>;\n grid?: ResponsiveValue<boolean>;\n float?: ResponsiveValue<string>;\n colSpan?: ResponsiveValue<string | number | boolean>;\n style?: ResponsiveValue<CSSObject>;\n sx?: ResponsiveValue<CSSObject>;\n};\n\nexport const parseCskuStyles = (p: BaseCskuProps) => {\n let sizeStylesObj: {[key: string]: CSSObject} = {};\n let stylesObj: CSSObject = {};\n const stylesArr: SimpleInterpolation[] = [];\n Object.keys(p)\n .filter(k => styleKeys.includes(k))\n .forEach(k => {\n const parsedStyles = parseResponsiveValue(\n p[k], stylesTransformMap[k]\n );\n if (Array.isArray(parsedStyles)) {\n parsedStyles.forEach(v => {\n stylesArr.push(v);\n })\n } else {\n if (isSizeObj(p[k]) || Array.isArray(p[k])) {\n Object.keys(parsedStyles).forEach(sk => {\n sizeStylesObj[sk] = {\n ...(sizeStylesObj[sk] || {}),\n ...parsedStyles[sk],\n };\n });\n } else {\n stylesObj = {\n ...stylesObj,\n ...parsedStyles,\n };\n }\n }\n });\n return [ stylesObj, sizeStylesObj, ...stylesArr ];\n};\n\nexport type CskuProps = StyledComponent<\"div\", any, BaseCskuProps, never>;\nconst Csku = styled.div<BaseCskuProps>(parseCskuStyles);\n\nexport default Csku;\n","import { parseResponsiveValue, ResponsiveValue } from '../utils/styled';\nimport React from 'react';\nimport styled, { CSSObject, FlattenSimpleInterpolation, SimpleInterpolation } from 'styled-components';\nimport { parseMeasurement, stripUnit } from '../utils';\n\ntype BaseGridProps = {\n columns?: number;\n gap?: number | string;\n};\nexport type GridProps = React.HTMLAttributes<HTMLDivElement & BaseGridProps>;\nexport const Grid = styled.div<BaseGridProps>(\n p => {\n const params: CSSObject = {\n display: 'grid',\n gridTemplateColumns: `repeat(${p.columns || 12}, minmax(0px, 1fr))`,\n };\n if (p.gap) {\n params['gap'] = parseMeasurement(p.gap);\n }\n\n return params;\n },\n);\n\ntype BaseGridItemProps = {\n colSpan?: ResponsiveValue<string | number | boolean>;\n style?: ResponsiveValue<CSSObject>;\n};\n\nexport type GridItemProps = Omit<React.HTMLAttributes<HTMLDivElement>, 'style'> & BaseGridItemProps;\nexport const GridItem = styled.div<BaseGridItemProps>(\n p => {\n let params: CSSObject = {gridColumn: 'auto'};\n const styles: (FlattenSimpleInterpolation | SimpleInterpolation | CSSObject)[] = [];\n if (p.colSpan) {\n const colStyles = parseResponsiveValue(\n p.colSpan,\n (v) => {\n if (v === 'auto') {\n return { gridColumn: 'auto' };\n }\n const colSpan = stripUnit(v);\n return {gridColumn: `span ${colSpan} / span ${colSpan}`};\n }\n );\n if (Array.isArray(colStyles)) {\n colStyles.forEach(v => { styles.push(v) });\n } else {\n params = {\n ...params,\n ...colStyles,\n };\n }\n }\n return [...styles, params];\n },\n);\n","import React, { useState } from 'react';\nimport { colors, fontFamilies } from './Theme';\nimport { Col, Row } from './FlexboxGrid';\nimport { ChevronIcon } from './icons';\nimport { useRef } from 'react';\nimport { useEffect } from 'react';\n\ntype TReactNode = React.ReactChild | React.ReactPortal | null | undefined;\ntype BaseCollapsibleProps = React.PropsWithChildren<{\n style?: React.CSSProperties;\n label: TReactNode;\n controls?: TReactNode;\n isOpen?: boolean;\n handleToggle?: React.MouseEventHandler<HTMLDivElement>;\n}>;\nexport const BaseCollapsible = (props: BaseCollapsibleProps) => {\n const {\n children,\n style,\n label,\n controls,\n isOpen=false,\n handleToggle,\n } = props;\n\n const [height, setHeight] = useState<number | undefined>(\n isOpen ? undefined : 0\n );\n const ref = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (!height || !isOpen || !ref.current) return undefined;\n const resizeObserver = new ResizeObserver((el) => {\n setHeight(el[0].contentRect.height);\n });\n resizeObserver.observe(ref.current);\n\n return () => {\n resizeObserver.disconnect();\n };\n }, [height, isOpen]);\n\n useEffect(() => {\n if (isOpen) setHeight(ref.current?.getBoundingClientRect().height);\n else setHeight(0);\n }, [isOpen]);\n\n return (\n <div style={style}>\n <Row style={{\n alignItems: 'center',\n padding: 10,\n paddingTop: 12,\n paddingBottom: 8,\n background: isOpen ? colors.white : colors.teal[20],\n borderRadius: isOpen ? 25 : 2000,\n flex: 'none',\n order: 1,\n flexGrow: 0,\n ...(isOpen\n ? { border: `3px solid ${colors.teal.main}` }\n : {}),\n }}>\n <Col xs\n sm={5.9}\n style={{ cursor: 'pointer', }}\n onClick={handleToggle}\n >\n <CollapsibleLabel isOpen={isOpen}>{label}</CollapsibleLabel>\n </Col>\n <Col xs\n sm={5.9}\n style={{ cursor: 'pointer', }}\n smStyle={`text-align: right;`}\n xsStyle={`text-align: center;`}\n onClick={handleToggle}\n >\n <CollapsibleControls isOpen={isOpen}>{controls}</CollapsibleControls>\n </Col>\n <Col xs\n style={{\n overflow: 'hidden',\n transition: 'height 0.2s ease-in-out',\n height: height,\n }}\n >\n <div ref={ref}>{children}</div>\n </Col>\n </Row>\n </div>\n );\n};\n\ntype CollapsibleProps = React.PropsWithChildren<{\n style?: React.CSSProperties;\n label: TReactNode;\n controls?: TReactNode;\n open?: boolean;\n onToggleOpen?: (v: boolean) => void;\n}>;\n\nconst Collapsible = (props: CollapsibleProps) => {\n const {\n children,\n open,\n onToggleOpen,\n ...rest\n } = props;\n\n const [isOpen, setIsOpen] = useState(open);\n const handleToggle = () => {\n setIsOpen(prev => {\n const val = !prev;\n onToggleOpen && onToggleOpen(val);\n return val;\n });\n };\n\n return (\n <BaseCollapsible isOpen={isOpen} handleToggle={handleToggle} {...rest}>\n {children}\n </BaseCollapsible>\n );\n};\n\ntype CollapsibleLabelProps = {\n children?: TReactNode;\n isOpen?: boolean;\n};\nexport const CollapsibleLabel = (props: CollapsibleLabelProps) => {\n const { children, isOpen } = props;\n\n if (children === undefined || children === null) {\n return null;\n }\n if (typeof children === 'string' || typeof children === 'number' || typeof children === 'boolean') {\n return <span\n style={{\n color: colors.teal.main,\n fontFamily: fontFamilies.bold,\n fontStyle: 'normal',\n fontWeight: 500,\n fontSize: 16,\n }}>{children}</span>;\n }\n return React.cloneElement(children, { isOpen });\n};\n\ntype CollapsibleArrowIconProps = {\n isOpen?: boolean;\n};\nexport const CollapsibleArrowIcon = (props: CollapsibleArrowIconProps) => {\n const { isOpen } = props;\n\n return <ChevronIcon\n size='medium'\n direction={'down'}\n altText={isOpen ? 'Close' : 'Open'}\n style={{\n transition: 'all 0.2s linear',\n MozTransition: 'all 0.2s linear',\n WebkitTransition: 'all 0.2s linear',\n ...(isOpen ? {\n transform: 'rotate(180deg)',\n MozTransform: 'rotate(180deg)',\n WebkitTransform: 'rotate(180deg)',\n } : {\n transform: 'rotate(360deg)',\n MozTransform: 'rotate(360deg)',\n WebkitTransform: 'rotate(360deg)',\n }),\n }}\n />;\n};\n\ntype CollapsibleControlsProps = {\n children?: TReactNode;\n isOpen?: boolean;\n};\nconst CollapsibleControls = (props: CollapsibleControlsProps) => {\n const { children, isOpen=false, } = props;\n if (children === undefined || children === null) {\n return <CollapsibleArrowIcon isOpen={isOpen} />;\n }\n\n if (typeof children === 'string' || typeof children === 'number' || typeof children === 'boolean') {\n return <span\n style={{\n color: colors.teal.main,\n fontFamily: fontFamilies.bold,\n fontStyle: 'normal',\n fontWeight: 500,\n fontSize: 16,\n }}>{children}</span>;\n }\n return React.cloneElement(children, { isOpen });\n};\n\ntype CollapsiblesProps = {\n list: CollapsibleProps[];\n controls?: TReactNode;\n};\nexport function Collapsibles(props: CollapsiblesProps) {\n const { list, controls } = props;\n const [open, setOpen] = useState(-1);\n const handleOpen = (i: number) => setOpen(s => s === i ? -1 : i);\n\n return (\n <div>{\n list.map((v, i) => (\n <BaseCollapsible\n key={`Collapsible-key-${i}`}\n label={v.label}\n style={{ paddingBottom: 10, ...v.style }}\n controls={controls || v.controls}\n isOpen={open === i}\n handleToggle={() => {\n handleOpen(i);\n }}\n >{v.children}</BaseCollapsible>\n ))\n }</div>\n );\n}\n\nexport default Collapsible;\n","import React from 'react';\nimport { Popup } from './Popup';\nimport { Button } from './Button';\nimport { fontStyles } from './Theme';\nimport colors from './colors';\n\nexport type ConfirmPopupProps = {\n disableDelete?: boolean;\n confirmText?: string;\n onDelete?: () => void;\n onClose?: () => void;\n};\nconst ConfirmPopup = (props: ConfirmPopupProps) => {\n const {\n confirmText='Are you sure you want to delete?',\n disableDelete = false,\n onDelete,\n onClose,\n } = props;\n\n return (\n <Popup\n width={'auto'}\n height={'auto'}\n padding={'36px'}\n noHeader\n noCloseButton\n >\n <p style={{\n fontFamily: fontStyles.p.medium.fontFamily,\n fontSize: fontStyles.p.medium.fontSize,\n lineHeight: fontStyles.p.medium.lineHeight,\n color: colors.neutrals.bodyText\n }}>{confirmText}</p>\n <div style={{ display: 'flex', flexDirection: 'row', justifyContent: 'center' }}>\n <Button\n size=\"medium\"\n variant='secondary'\n mr={24}\n onClick={() => {\n onClose && onClose();\n }}\n >\n Cancel\n </Button>\n <Button\n size=\"medium\"\n variant={disableDelete ? 'disabled' : 'error'}\n onClick={() => {\n onDelete && onDelete();\n }}\n disabled={disableDelete}\n >\n Delete\n </Button>\n </div>\n </Popup>\n );\n};\n\nexport default ConfirmPopup;\n","import styled from 'styled-components';\nimport { Col } from '../FlexboxGrid';\n\nconst StyledDayBody = styled(Col) <{ selected?: boolean; today?: boolean; row?: boolean; disabled?: boolean; }>`\n position: relative;\n height: auto;\n border-right: 1px solid #eee;\n overflow: hidden;\n cursor: pointer;\n background: #fff;\n transition: 0.25s ease-out;\n font-size: 1em;\n overflow-y: auto;\n\n &:last-child {\n border-right: none;\n }\n\n &:hover {\n background: #f9f9f9;\n transition: 0.5s ease-out;\n }\n\n ${p => p.selected ? `\n background: #f9f9f9;\n ` : ''}\n\n ${p => p.today ? `\n background: #f9f9f9;\n ` : ''}\n\n ${p => p.row ? `\n border-bottom: 1px solid #eee;\n ` : ''}\n\n ${p => p.disabled ? `\n color: #ccc;\n pointer-events: none;\n ` : ''}\n`;\n\nexport default StyledDayBody;","import React from 'react';\nimport { format, isSameDay } from \"date-fns\";\nimport StyledDayBody from './StyledDayBody';\n\ntype CalendarDayBodyProps = React.PropsWithChildren<{\n day: Date,\n selectedDate: Date,\n onClick: React.MouseEventHandler<HTMLDivElement>,\n weekend?: boolean\n}>;\n\nconst CalendarDayBody = ({ day, selectedDate, onClick, children, weekend, ...props }: CalendarDayBodyProps) => {\n const formattedDay = format(day, \"d\");\n const isToday = isSameDay(day, new Date());\n const isSelected = isSameDay(day, selectedDate);\n const classNames = [\n \"day-body-\"+formattedDay,\n isToday ? 'day-body-today' : '',\n isSelected ? 'day-body-selected' : '',\n ].filter(v => v).join(' ');\n return (\n <StyledDayBody\n padded\n totalCols={weekend ? 7 : 5}\n xs={1}\n selected={isSelected}\n today={isToday}\n onClick={onClick}\n className={classNames}\n {...props}\n >{children || <span style={{padding: 10,}}>{formattedDay}</span>}</StyledDayBody>\n );\n}\n\nexport default CalendarDayBody;","import styled from 'styled-components';\n\nconst DaysBodyWrapper = styled.div`\n font-size: 1em;\n font-weight: 300;\n line-height: 1;\n color: #777;\n background: #f9f9f9;\n position: relative;\n border-bottom: 1px solid #eee;\n`;\n\nexport default DaysBodyWrapper;","import React from 'react';\nimport { CSSObject } from 'styled-components';\nimport { getWeek } from 'date-fns';\nimport { Row } from '../FlexboxGrid';\nimport CalendarDayBody from './CalendarDayBody';\nimport DaysBodyWrapper from './DaysBodyWrapper';\n\ntype CalendarDaysBodyProps = {\n days: Array<{__id__: string, day: Date}>;\n currentMonth: Date,\n selectedDate: Date,\n onClickDay?: (day: Date) => any,\n dayBodyProps?: CSSObject | { [key: string]: any },\n weekend?: boolean,\n components?: {\n DayBody?: (props: React.PropsWithChildren<{day: Date; selectedDate: Date; onClick: React.MouseEventHandler; [key: string]: any}>) => React.ReactElement;\n },\n};\n\nconst CalendarDaysBody = ({ days=[], currentMonth, selectedDate, onClickDay, components, dayBodyProps={}, weekend=true, ...props }: CalendarDaysBodyProps) => {\n return (\n <DaysBodyWrapper className=\"days-body-wrapper\" {...props}>\n <Row className=\"day-body-wrapper-row\">\n {days.map(({day, __id__}, i) => (\n <CalendarDayBody\n key={`day-body-${getWeek(day)}-${i}`}\n day={day}\n selectedDate={selectedDate}\n onClick={() => {onClickDay && onClickDay(day);}}\n weekend={weekend}\n children={components?.DayBody\n ? <components.DayBody\n key={`day-body-${getWeek(day)}-${i}`}\n day={day}\n selectedDate={selectedDate}\n onClick={() => {onClickDay && onClickDay(day);}}\n id={__id__}\n {...dayBodyProps}\n /> : null}\n />\n ))}\n </Row>\n </DaysBodyWrapper>\n );\n}\n\nexport default CalendarDaysBody;","import styled from 'styled-components';\nimport { Row } from '../FlexboxGrid';\n\nconst DaysHeaderWrapper = styled(Row)`\n text-transform: uppercase;\n font-weight: 400;\n color: #ccc;\n font-size: 70%;\n padding: 0.75em 0 !important;\n border-bottom: 1px solid #eee;\n`;\n\nexport default DaysHeaderWrapper;","import styled from 'styled-components';\nimport { colors } from '../Theme';\nimport { Text } from '../Text';\n\nconst StyledDayText = styled(Text) <{ selected?: boolean; }>`\n ${props => props.selected ? `\n border-radius: 15px;\n background: ${colors.cta};\n color: white;\n font-weight: bold;\n padding: 0 5px;\n ` : ''}\n`;\n\nexport default StyledDayText;","import React from 'react';\nimport { format, isSameDay, addDays, startOfWeek, getWeek, } from \"date-fns\";\nimport { Text } from '../Text';\nimport { Col } from '../FlexboxGrid';\nimport DaysHeaderWrapper from './DaysHeaderWrapper';\nimport StyledDayText from './StyledDayText';\n\nconst CalendarDaysHeader = ({\n currentMonth,\n selectedDate,\n weekend\n}: { currentMonth: Date; selectedDate: Date; weekend: boolean; [key: string]: any }) => {\n const startDate = startOfWeek(currentMonth, { weekStartsOn: 1 });\n return (\n <DaysHeaderWrapper className=\"days-header-wrapper\" style={{ fontSize: '1rem' }}>\n {Array.from(Array(weekend ? 7 : 5).keys()).map(i => {\n const day = addDays(startDate, i);\n const isToday = isSameDay(day, new Date());\n const className = isToday ? 'day-today' : (\n isSameDay(day, selectedDate) ? 'day-selected' : ''\n );\n return (\n <Col center key={`day-${getWeek(day)}-${i}`} className={className}>\n <Text style={{ paddingRight: 10, }}>{format(day, \"EEE\")}</Text>\n <StyledDayText selected={isToday}>\n {format(day, 'd')}\n </StyledDayText>\n </Col>\n );\n })}\n </DaysHeaderWrapper>\n );\n}\n\nexport default CalendarDaysHeader;","import styled from 'styled-components';\n\nconst CalendarWrapper = styled.div`\n display: block;\n position: relative;\n width: 100%;\n background: #fff;\n .calendar-scroll {\n overflow-x: scroll;\n }\n .days-body-wrapper, .days-header-wrapper {\n min-width: 900px;\n }\n`;\n\nexport default CalendarWrapper;\n\n","import styled from 'styled-components';\nimport { Row } from '../FlexboxGrid';\n\nconst HeaderWrapper = styled(Row)`\n width: 100%;\n padding: 1.75em 0 !important;\n border-bottom: 1px solid #eee;\n background: #fff;\n font-weight: 700;\n font-size: 100%;\n`;\n\nexport default HeaderWrapper;\n\n","import React from 'react';\nimport { Col } from '../FlexboxGrid';\nimport HeaderWrapper from './HeaderWrapper';\n\nconst DefaultCalendarFooter = ({\n currentWeek\n}: { currentWeek: number }) => {\n return (\n <HeaderWrapper middle>\n <Col center>Week {currentWeek}</Col>\n </HeaderWrapper>\n );\n}\n\nexport default DefaultCalendarFooter;","import React from 'react';\nimport { format } from \"date-fns\";\nimport { colors } from '../Theme';\nimport { Col, Row } from '../FlexboxGrid';\nimport HeaderWrapper from './HeaderWrapper';\nimport { GearIcon } from '../icons';\nimport {Dropdown} from '../Dropdown';\nimport {LabeledCheckbox} from '../Input';\n\nconst DefaultCalendarHeader = ({\n onPrevWeek,\n onNextWeek,\n currentMonth,\n}: {\n onPrevWeek: React.MouseEventHandler,\n onNextWeek: React.MouseEventHandler,\n currentMonth: Date,\n}) => {\n return (\n <HeaderWrapper middle>\n <Col start padded>\n <Dropdown icon={<GearIcon width=\"40px\" />}>\n <Row>\n <LabeledCheckbox label=\"Weekends\" checked={true}/>\n </Row>\n </Dropdown>\n </Col>\n <Col padded>\n <div style={{cursor: 'pointer', color: colors.primary, }} onClick={onPrevWeek}>< Prev Week</div>\n </Col>\n <Col center padded>\n <span style={{ color: colors.disabledButton }}>\n {format(currentMonth, \"MMM yyyy\")}\n </span>\n </Col>\n <Col end padded>\n <div style={{cursor: 'pointer', color: colors.primary, }} onClick={onNextWeek}>Next Week ></div>\n </Col>\n </HeaderWrapper>\n );\n}\n\nexport default DefaultCalendarHeader;","import React from 'react';\nimport { isSameDay } from 'date-fns';\nimport { Row, Col, } from '../FlexboxGrid';\nimport { CalendarTask, CalendarTaskProps } from '../Task';\n\nexport const TasksCalendarDayBody = ({day, tasks=[]}: {day: Date; selectedDate: Date; [key: string]: any}) => {\n return (\n <Row>\n {tasks\n .filter((t: CalendarTaskProps) => t.date ? isSameDay(day, typeof t.date !== 'string' ? t.date : new Date(t.date)) : true)\n .map((t: CalendarTaskProps) => (<Col xs padded><CalendarTask {...t} date={undefined} /></Col>))}\n </Row>\n );\n};\n\n\nexport default TasksCalendarDayBody;\n","import React, { ReactNode } from 'react';\nimport styled from 'styled-components';\nimport { format, getWeek, isDate } from 'date-fns';\nimport { colors, themeOptions, } from '../Theme';\nimport { Row, Col, } from '../FlexboxGrid';\nimport HeaderWrapper from './HeaderWrapper';\nimport { Tabs, TTab } from '../Tabs';\nimport { Text, Link } from '../Text';\nimport { GearIcon, ChevronIcon, CalendarIcon } from '../icons';\nimport {Dropdown} from '../Dropdown';\nimport { Button, IconButton, TSize, ButtonVariant } from '../Button';\nimport { H5 } from '../Headings';\nimport { TCalendarView, onClickViewFunc } from './types';\nimport { Datepicker } from '../Datepicker';\nimport { changeDateFunc, changeWeekFunc } from '../hooks/useCalendar';\n\nconst WeekNav = styled(Text)`\n display: inline-block;\n padding: 0;\n`;\n\ntype TextDatePickerProps = {\n value?: string | null,\n onClick?: React.MouseEventHandler<HTMLElement>,\n};\nconst CalendarIconDatePicker = React.forwardRef(({ value, onClick }: TextDatePickerProps, ref: React.Ref<HTMLElement>) => {\n return (\n <span ref={ref} onClick={onClick}>\n <CalendarIcon\n style={{\n display: 'block',\n textAlign: 'center',\n borderRadius: 5,\n cursor: 'pointer',\n color: colors.disabledButton,\n }}\n />\n </span>\n );\n});\n\nexport type TasksCalendarHeaderProps = {\n onNextWeek: VoidFunction;\n onPrevWeek: VoidFunction;\n changeDate: changeDateFunc;\n changeWeek: changeWeekFunc;\n onNextMonth: VoidFunction;\n onPrevMonth: VoidFunction;\n onResetDate: VoidFunction;\n currentMonth: Date;\n currentWeek: number;\n selectedDate: Date;\n weekendsCheckbox: ReactNode;\n showAddTaskBtn?: boolean;\n onClickAddTask?: VoidFunction;\n tabs?: TTab[],\n views?: TCalendarView[],\n onClickView?: onClickViewFunc;\n};\nexport const TasksCalendarHeader = ({\n onPrevWeek,\n onNextWeek,\n currentMonth,\n currentWeek,\n changeDate,\n onResetDate,\n selectedDate,\n tabs=[],\n views=[],\n weekendsCheckbox,\n showAddTaskBtn=true,\n onClickAddTask,\n onClickView,\n}: React.PropsWithChildren<TasksCalendarHeaderProps>) => {\n const isCurrentWeek = currentWeek === getWeek(selectedDate);\n return (\n <HeaderWrapper style={{padding: \"0.5rem\"}}>\n <Col xs md={3} padded start={1}>\n <H5 style={{marginTop: 15}}>\n {format(currentMonth, \"MMMM yyyy\")}\n </H5>\n </Col>\n <Col xs md={6} lg={6} xl={7} end={1}>\n <div style={{ display: 'inline-block', paddingLeft: 10, verticalAlign: 'middle', }}>\n {views && views.length ? <>\n {views.map((v, i) => {\n const btnProps = {\n mr: 10,\n variant: (v.selected ? 'secondary' : 'primary-light') as ButtonVariant,\n size: \"medium\" as TSize,\n onClick: () => {\n onClickView && onClickView(v.type, v);\n },\n children: v.title,\n };\n if (v.Icon) {\n return <IconButton\n key={'calendar-header-button-'+i}\n {...btnProps} Icon={v.Icon}\n />\n }\n return (\n <Button\n key={'calendar-header-button-'+i}\n {...btnProps}\n />\n );\n })}\n </> : null}\n </div>\n </Col>\n <Col end={1} xs sm md={3} lg={3} xl={2} xsStyle={`\n @media only screen and (min-width: 760px) and (max-width: 860px) {\n width: 100%;\n max-width: 100%;\n }\n `}>\n <Dropdown\n style={{verticalAlign: 'middle'}}\n icon={<GearIcon pointer mr={5} />}\n >\n <Row>{weekendsCheckbox}</Row>\n </Dropdown>\n <span style={{\n verticalAlign: 'middle',\n paddingLeft: 5,\n display: 'inline-block',\n fontFamily: [themeOptions.fontFamilies.regular].concat(themeOptions.fontFamilies.fallbacks).join(','),\n fontWeight: 500,\n height: 30,\n }}>\n <Datepicker\n value={currentMonth}\n customInput={<CalendarIconDatePicker />}\n popperPlacement={'bottom-end'}\n onChange={(value: any) => {\n if (value instanceof Date && isDate(value)) {\n changeDate(value);\n }\n }}\n />\n </span>\n <span>\n <WeekNav\n style={{cursor: 'pointer', color: colors.primary, verticalAlign: 'middle'}}\n onClick={onPrevWeek}\n ><ChevronIcon direction=\"left\" size='large'/></WeekNav>\n <WeekNav\n as={Button}\n variant=\"text\"\n size=\"primary-light\"\n style={{verticalAlign: \"middle\", padding: \"10px 0px\",}}\n py={5}\n onClick={() => {\n if (isCurrentWeek) {\n return;\n }\n onResetDate();\n }}\n >Today</WeekNav>\n <WeekNav\n style={{cursor: 'pointer', color: colors.primary1.main, verticalAlign: 'middle'}}\n onClick={onNextWeek}\n ><ChevronIcon size=\"large\" /></WeekNav>\n </span>\n </Col>\n <Col start={1} xs md={8} padded>\n <Tabs size=\"medium\" tabs={tabs} />\n </Col>\n <Col end={1} xs md={4} padded>\n {showAddTaskBtn ?\n <Link\n as=\"span\"\n onClick={onClickAddTask}\n style={{\n marginRight: 10,\n verticalAlign: 'bottom',\n color: colors.primary1.main,\n fontFamily: [themeOptions.fontFamilies.regular].concat(themeOptions.fontFamilies.fallbacks).join(','),\n fontWeight: 600,\n }}\n >+ Add Task</Link>\n : null}\n </Col>\n </HeaderWrapper>\n );\n};\n\nexport default TasksCalendarHeader;\n","import React from 'react';\nimport { getWeek } from 'date-fns';\nimport { Row, Col, } from '../FlexboxGrid';\nimport HeaderWrapper from './HeaderWrapper';\nimport { CalendarTask, CalendarTaskProps } from '../Task';\n\nexport type TasksCalendarFooterProps = {\n onNextWeek: VoidFunction;\n onPrevWeek: VoidFunction;\n onNextMonth: VoidFunction;\n onPrevMonth: VoidFunction;\n currentMonth: Date;\n currentWeek: number;\n selectedDate: Date;\n [key: string]: any;\n};\nexport const TasksCalendarFooter = ({\n currentWeek,\n tasks=[],\n}: React.PropsWithChildren<TasksCalendarFooterProps>) => {\n return (\n <HeaderWrapper>\n <Col start xs>\n <span style={{display: 'inline-flex'}}>Overdue: </span>\n <span style={{display: 'inline-flex'}}>\n <Row>\n {tasks\n /* eslint-disable eqeqeq */\n .filter((t: CalendarTaskProps) => t.date ? currentWeek == getWeek(t.date) : true)\n .map((t: CalendarTaskProps) => (<Col xs md={3} padded><CalendarTask {...t} date={undefined} /></Col>))}\n </Row> \n </span>\n </Col>\n </HeaderWrapper>\n );\n};\n\nexport default TasksCalendarFooter;\n","import React, { useState } from 'react';\nimport { CSSObject } from 'styled-components';\nimport { startOfWeek, lastDayOfWeek, getWeek, } from 'date-fns';\nimport { useCalendar } from '../hooks';\nimport CalendarWrapper from './CalendarWrapper';\nimport DefaultCalendarHeader from './DefaultCalendarHeader';\nimport DefaultCalendarFooter from './DefaultCalendarFooter';\nimport CalendarDaysHeader from './CalendarDaysHeader';\nimport CalendarDaysBody from './CalendarDaysBody';\nimport { getDatesBetween } from '../hooks/useCalendar';\n\nexport type CalendarHeaderComponentProps = {\n onNextWeek: VoidFunction;\n onPrevWeek: VoidFunction;\n onNextMonth: VoidFunction;\n onPrevMonth: VoidFunction;\n currentMonth: Date;\n currentWeek: number;\n selectedDate: Date;\n [key: string]: any;\n};\n\nexport type CalendarProps = {\n components?: {\n Header?: (props: React.PropsWithChildren<CalendarHeaderComponentProps>) => React.ReactElement;\n Footer?: (props: React.PropsWithChildren<CalendarHeaderComponentProps>) => React.ReactElement;\n DayBody?: (props: React.PropsWithChildren<{ [key: string]: any }>) => React.ReactElement;\n };\n showHeader?: boolean;\n showFooter?: boolean;\n extraProps?: {\n dayBody?: CSSObject | { [key: string]: any };\n header?: CSSObject | { [key: string]: any };\n footer?: CSSObject | { [key: string]: any };\n };\n};\nconst Calendar = ({ components = {}, extraProps, ...props }: CalendarProps) => {\n const {\n currentMonth,\n currentWeek,\n selectedDate,\n onNextWeek,\n onPrevWeek,\n onNextMonth,\n onPrevMonth,\n onClickDay,\n } = useCalendar({});\n\n /* eslint-disable @typescript-eslint/no-unused-vars */\n const [days, setDays] = useState(getDatesBetween(\n startOfWeek(currentMonth, { weekStartsOn: 1 }), lastDayOfWeek(currentMonth, { weekStartsOn: 1 })\n ).map((day, i) => ({ __id__: `day-${getWeek(day)}-${i}`, day, })));\n\n const headerProps = {\n onNextWeek,\n onPrevWeek,\n onNextMonth,\n onPrevMonth,\n currentMonth,\n currentWeek,\n selectedDate,\n };\n\n const renderHeader = () => {\n if (props.showHeader === false) {\n return;\n }\n if (components.Header) {\n return <components.Header\n {...headerProps}\n {...extraProps?.header}\n />\n }\n return (\n <DefaultCalendarHeader\n {...headerProps}\n {...extraProps?.header}\n />\n );\n }\n\n const renderFooter = () => {\n if (props.showFooter === false) {\n return;\n }\n if (components.Footer) {\n return <components.Footer\n {...headerProps}\n {...extraProps?.footer}\n />\n }\n return <DefaultCalendarFooter {...headerProps} {...extraProps?.footer} />;\n };\n\n return (\n <CalendarWrapper>\n <CalendarDaysHeader currentMonth={currentMonth} selectedDate={selectedDate} weekendsCheckbox={<div></div>} weekend={true} />\n {renderHeader()}\n <CalendarDaysBody\n currentMonth={currentMonth}\n selectedDate={selectedDate}\n onClickDay={onClickDay}\n dayBodyProps={extraProps?.dayBody}\n components={{ DayBody: components?.DayBody, }}\n days={days}\n />\n {renderFooter()}\n </CalendarWrapper>\n );\n}\n\nexport default Calendar;\n","import React, { useState } from 'react';\nimport { isSameDay, getWeek, startOfWeek, lastDayOfWeek } from 'date-fns';\nimport { CalendarTaskProps, } from '../Task';\nimport { CalendarProps } from './Calendar';\nimport { TTab } from '../Tabs';\nimport { useCalendar } from '../hooks';\nimport { getDatesBetween } from '../hooks/useCalendar';\nimport CalendarDaysBody from './CalendarDaysBody';\nimport CalendarDaysHeader from './CalendarDaysHeader';\nimport CalendarWrapper from './CalendarWrapper';\nimport TasksCalendarDayBody from './TasksCalendarDayBody';\nimport TasksCalendarHeader from './TasksCalendarHeader';\nimport TasksCalendarFooter from './TasksCalendarFooter';\nimport _ from 'lodash';\n\n\nexport function convertTasksToDays({ currentMonth, currentWeek, tasks, }: { currentMonth: Date, currentWeek?: number, tasks: CalendarTaskProps[], }) {\n return getDatesBetween(\n startOfWeek(currentMonth, { weekStartsOn: 1 }),\n lastDayOfWeek(currentMonth, { weekStartsOn: 1 })\n ).map((day, i) => {\n const newTasks = tasks\n .filter(t => t.date ? isSameDay(day, t.date) : false)\n .map((t, j) => ({\n ...t,\n coordinates: [i, j],\n __id__: `day-${i}-${getWeek(day)}-task-${j}`})\n );\n return {\n __id__: `day-${i}-${getWeek(day)}`,\n day,\n tasks: _.orderBy(\n newTasks,\n [v => {\n if (v.order === undefined) {\n return v.checked || v.completed ? 0 : 1;\n }\n return v.order;\n }],\n ['desc']\n ),\n };\n });\n}\n\ntype TasksCalendarProps = CalendarProps & {\n tasks: Array<CalendarTaskProps>;\n headerTabs?: Array<TTab>;\n footerTasks?: Array<CalendarTaskProps>;\n components?: {\n Header?: (props: React.PropsWithChildren<{ [key: string]: any }>) => React.ReactElement;\n Footer?: (props: React.PropsWithChildren<{ [key: string]: any }>) => React.ReactElement;\n },\n};\n\nconst TasksCalendar = ({\n tasks,\n headerTabs=[],\n footerTasks=[],\n components={},\n ...props\n}: TasksCalendarProps) => {\n const {\n currentMonth,\n currentWeek,\n selectedDate,\n onNextWeek,\n onPrevWeek,\n onNextMonth,\n onPrevMonth,\n onClickDay,\n onReset,\n changeDate,\n changeWeek\n } = useCalendar({});\n\n /* eslint-disable @typescript-eslint/no-unused-vars */\n const [days, setDays] = useState(\n convertTasksToDays({currentMonth, currentWeek, tasks,})\n );\n\n const headerProps = {\n onNextWeek,\n onPrevWeek,\n onNextMonth,\n onPrevMonth,\n currentMonth,\n currentWeek,\n selectedDate,\n changeDate,\n changeWeek\n };\n\n return (\n <CalendarWrapper>\n <TasksCalendarHeader {...headerProps} onResetDate={onReset} tabs={headerTabs} weekendsCheckbox={<div></div>} />\n <CalendarDaysHeader currentMonth={currentMonth} selectedDate={selectedDate} weekendsCheckbox={<div></div>} weekend={true} />\n <CalendarDaysBody\n currentMonth={currentMonth}\n selectedDate={selectedDate}\n onClickDay={onClickDay}\n dayBodyProps={{ tasks }}\n components={{ DayBody: TasksCalendarDayBody, }}\n days={days}\n />\n <TasksCalendarFooter {...headerProps} tasks={footerTasks} />\n </CalendarWrapper>\n );\n}\n\nexport default TasksCalendar;\n","import { DraggableProvided, DraggableStateSnapshot, DroppableProvided, DroppableStateSnapshot } from \"react-beautiful-dnd\";\n\nexport const draggableChildWrapperProps = (provided: DraggableProvided, snapshot: DraggableStateSnapshot, props: {[key: string]: any;}={}) => {\n const { style, ...rest } = props;\n return {\n style: {\n userSelect: \"none\",\n padding: 16,\n margin: \"0 0 8px 0\",\n minHeight: \"50px\",\n backgroundColor: snapshot.isDragging\n ? \"#263B4A\"\n : \"#456C86\",\n color: \"white\",\n ...provided.draggableProps.style,\n ...style,\n },\n ref: provided.innerRef,\n ...provided.draggableProps,\n ...provided.dragHandleProps,\n ...rest,\n };\n};\n\nexport const droppableChildWrapperProps = (provided: DroppableProvided, snapshot: DroppableStateSnapshot, props: {[key: string]: any;}={}) => {\n const { style, ...rest } = props;\n return {\n style: {\n background: snapshot.isDraggingOver\n ? \"lightblue\"\n : \"unset\",\n padding: 4,\n width: '100%',\n minHeight: 500,\n maxHeight: 500,\n ...style,\n },\n ref: provided.innerRef,\n ...provided.droppableProps,\n ...rest,\n };\n};\n","import React from 'react';\nimport { Draggable } from \"react-beautiful-dnd\";\nimport { Row, Col, } from '../FlexboxGrid';\nimport { CalendarTask, CalendarTaskProps } from '../Task';\nimport HeaderWrapper from './HeaderWrapper';\nimport { draggableChildWrapperProps } from './styles';\nimport { onUpdateTaskFunc, onClickTaskFunc } from './types';\n\nexport type DraggableCalendarFooterTasksProps = {\n onNextWeek: VoidFunction;\n onPrevWeek: VoidFunction;\n onNextMonth: VoidFunction;\n onPrevMonth: VoidFunction;\n currentMonth: Date;\n currentWeek: number;\n selectedDate: Date;\n onClickTask?: onClickTaskFunc;\n onUpdateTask?: onUpdateTaskFunc;\n tasks: Array<CalendarTaskProps>;\n};\nexport const DraggableCalendarFooterTasks = ({\n onClickTask,\n onUpdateTask,\n tasks = [],\n}: React.PropsWithChildren<DraggableCalendarFooterTasksProps>) => {\n return (\n <HeaderWrapper>\n <Col start={1} xs>Overdue: </Col>\n <Col xs>\n <Row>\n {tasks\n .map((t: CalendarTaskProps, j: number) => (\n <Draggable key={'footer-task-' + j}\n draggableId={'footer-task-' + j}\n index={j}\n >\n {(provided, snapshot) => (\n <Col xs md={3} padded\n {...draggableChildWrapperProps(provided, snapshot)}\n onClick={(e: React.MouseEvent) => { onClickTask && onClickTask(t); }}\n >\n <CalendarTask\n {...t}\n date={undefined}\n onClickCheckbox={(completed: boolean) => {\n if (onUpdateTask) {\n onUpdateTask({ ...t, completed, }, {\n index: j,\n action: 'TOGGLE_CHECKBOX',\n oldTask: t,\n updatedFields: ['completed'],\n });\n } else if (t.onClickCheckbox) {\n t.onClickCheckbox(completed);\n }\n }}\n />\n </Col>\n )}\n </Draggable>\n ))}\n </Row>\n </Col>\n </HeaderWrapper>\n );\n};\n\nexport default DraggableCalendarFooterTasks;\n","import React from 'react';\nimport { Droppable } from \"react-beautiful-dnd\";\nimport { CalendarTaskProps, } from '../Task';\nimport DraggableCalendarFooterTasks from './DraggableCalendarFooterTasks';\nimport { droppableChildWrapperProps } from './styles';\nimport { onClickTaskFunc, onUpdateTaskFunc } from './types';\n\ntype DroppableFooterProps = {\n onNextWeek: () => void;\n onPrevWeek: () => void;\n onNextMonth: () => void;\n onPrevMonth: () => void;\n currentMonth: Date;\n currentWeek: number;\n selectedDate: Date;\n onClickTask?: onClickTaskFunc;\n onUpdateTask?: onUpdateTaskFunc;\n tasks: Array<CalendarTaskProps>;\n};\nconst DroppableFooter = ({tasks, ...props}: DroppableFooterProps) => {\n return (\n <Droppable droppableId={'footer-droppable'} key={'footer-droppable'} isDropDisabled>\n {(provided, snapshot) => (\n <div {...droppableChildWrapperProps(provided, snapshot, {\n style: { minHeight: 0, maxHeight: 300, overflow: 'auto' }\n })}>\n {provided.placeholder}\n <DraggableCalendarFooterTasks {...props} tasks={tasks} />\n </div>\n )}\n </Droppable>\n );\n};\n\nexport default DroppableFooter;\n","import React from 'react';\nimport { Draggable } from \"react-beautiful-dnd\";\nimport { Col } from '../FlexboxGrid';\nimport { CalendarTask, } from '../Task';\nimport { draggableChildWrapperProps } from './styles';\nimport { NewCalendarTaskProps, onClickTaskFunc, onUpdateTaskFunc } from './types';\n\nexport type DraggableTaskBodyProps = {\n index: number;\n onClickTask?: onClickTaskFunc;\n onUpdateTask?: onUpdateTaskFunc;\n task: NewCalendarTaskProps;\n};\nconst DraggableTaskBody = ({\n index, task, onUpdateTask, onClickTask,\n}: DraggableTaskBodyProps) => {\n return (\n <Draggable\n key={task.__id__}\n draggableId={task.__id__}\n index={index}\n >\n {(provided, snapshot) => (\n <div {...draggableChildWrapperProps(provided, snapshot)}>\n <Col onClick={(e: React.MouseEvent) => { onClickTask && onClickTask(task); }}>\n <CalendarTask {...task}\n date={undefined}\n onClickCheckbox={(completed: boolean) => {\n if (onUpdateTask) {\n onUpdateTask({ ...task, completed, }, {\n index,\n action: 'TOGGLE_CHECKBOX',\n oldTask: task,\n updatedFields: ['completed'],\n });\n } else if (task.onClickCheckbox) {\n task.onClickCheckbox(completed);\n }\n }}\n />\n </Col>\n </div>\n )}\n </Draggable>\n );\n};\n\nexport default DraggableTaskBody;\n","import React from 'react';\nimport { Droppable } from \"react-beautiful-dnd\";\nimport { Row } from '../FlexboxGrid';\nimport CalendarDayBody from './CalendarDayBody';\nimport DaysBodyWrapper from './DaysBodyWrapper';\nimport DraggableTaskBody from './DraggableTaskBody';\nimport { droppableChildWrapperProps } from './styles';\nimport { DaysObject, onClickTaskFunc, onUpdateTaskFunc } from './types';\n\nexport type DroppableDaysProps = { days: DaysObject; selectedDate: Date; onClickTask?: onClickTaskFunc; onUpdateTask?: onUpdateTaskFunc; onClickDay: (day: any) => void; [key: string]: any; weekend?: boolean; };\nconst DroppableDays = ({days, selectedDate, onUpdateTask, onClickDay, onClickTask, weekend, ...props}: DroppableDaysProps) => {\n return (\n <DaysBodyWrapper className=\"days-body-wrapper\" {...props}>\n <Row className=\"day-body-wrapper-row\">\n {Object.entries(days).map(([__id__, d], i) => (\n (!(!weekend && (d.day.getDay() === 6 || d.day.getDay() === 0)) ?\n <CalendarDayBody\n key={__id__}\n day={d.day}\n selectedDate={selectedDate}\n weekend={weekend}\n onClick={() => { onClickDay && onClickDay(d.day); }}\n >\n <Row>\n <Droppable droppableId={__id__} key={__id__}>\n {(provided, snapshot) => (\n <div {...droppableChildWrapperProps(provided, snapshot)}>\n {provided.placeholder}\n {d.tasks.map((t, j) => (\n <DraggableTaskBody key={t.__id__} index={j} task={t} onClickTask={onClickTask} onUpdateTask={onUpdateTask ? (newData, otherData) => {\n onUpdateTask(newData, { ...otherData, day__id: __id__, task__id: t.__id__ });\n } : undefined} />\n ))}\n </div>\n )}\n </Droppable>\n </Row>\n </CalendarDayBody> : \"\")\n ))}\n </Row>\n </DaysBodyWrapper>\n );\n};\n\nexport default DroppableDays;\n","import _ from 'lodash';\nimport React, { useEffect, useState } from 'react';\nimport { DragDropContext, DropResult } from \"react-beautiful-dnd\";\nimport { getWeek, getYear } from 'date-fns'\nimport { CalendarTaskProps, } from '../Task';\nimport { CalendarProps } from './Calendar';\nimport { TTab } from '../Tabs';\nimport { useCalendar } from '../hooks';\nimport CalendarDaysHeader from './CalendarDaysHeader';\nimport CalendarWrapper from './CalendarWrapper';\nimport TasksCalendarHeader from './TasksCalendarHeader';\nimport DroppableFooter from './DroppableFooter';\nimport DroppableDays from './DroppableDays';\nimport { convertTasksToDays } from './TasksCalendar';\nimport {LabeledCheckbox} from '../Input';\nimport { useCalendarProps } from '../hooks/useCalendar';\nimport Loading from '../icons/Loading';\nimport { DaysObject, onClickTaskFunc, onUpdateTaskFunc, TCalendarView, onClickViewFunc } from './types';\n\nexport type DraggableTasksCalendarProps = CalendarProps & {\n tasks: Array<CalendarTaskProps>;\n onUpdateTask: onUpdateTaskFunc;\n onClickTask?: onClickTaskFunc;\n headerTabs?: Array<TTab>;\n footerTasks?: Array<CalendarTaskProps>;\n weekend?: boolean;\n components?: {\n Header?: (props: React.PropsWithChildren<{ [key: string]: any }>) => React.ReactElement;\n Footer?: (props: React.PropsWithChildren<{ [key: string]: any }>) => React.ReactElement;\n },\n onToggleWeekend?: (weekend: boolean) => void;\n showAddTaskBtn?: boolean;\n onClickAddTask?: VoidFunction;\n loading?: boolean;\n views?: Array<TCalendarView>;\n onClickView?: onClickViewFunc;\n showFooterTasks?: boolean;\n} & useCalendarProps;\n\ntype State = {\n days: DaysObject,\n footerTasks: Array<CalendarTaskProps>,\n};\n\nconst DraggableTasksCalendar = ({\n views = [],\n tasks = [],\n onUpdateTask,\n onClickTask,\n headerTabs = [],\n footerTasks = [],\n components = {},\n weekend=false,\n onChangeWeek,\n onChangeMonth,\n onToggleWeekend,\n showAddTaskBtn=true,\n onClickAddTask,\n onClickView,\n loading=false,\n showFooterTasks=true,\n ...props\n}: DraggableTasksCalendarProps) => {\n const {\n currentMonth,\n currentWeek,\n selectedDate,\n onNextWeek,\n onPrevWeek,\n onNextMonth,\n onPrevMonth,\n onClickDay,\n onReset,\n changeDate,\n changeWeek\n } = useCalendar({onChangeWeek, onChangeMonth});\n\n const [state, setState] = useState<State>({\n days: convertTasksToDays({ currentMonth, currentWeek, tasks, }).reduce(\n (acc, v) => ({ ...acc, [v.__id__]: v }), {}\n ),\n footerTasks: footerTasks.filter(\n t => t.date\n ? (getWeek(t.date) < currentWeek && getYear(t.date) === getYear(currentMonth))\n || getYear(t.date) < getYear(currentMonth)\n : false\n ),\n });\n const [showWeekend, setShowWeekend] = useState(weekend);\n\n useEffect(() => {\n setShowWeekend(weekend);\n }, [weekend]);\n\n useEffect(() => {\n setState(s => ({\n ...s,\n days: convertTasksToDays({ currentMonth, currentWeek, tasks, })\n .reduce((acc, v) => ({ ...acc, [v.__id__]: v }), {}),\n }));\n }, [currentMonth, currentWeek, tasks]);\n\n useEffect(() => {\n setState(s => ({\n ...s,\n footerTasks: footerTasks.filter(\n t => t.date\n ? (getWeek(t.date) < currentWeek && getYear(t.date) === getYear(currentMonth))\n || getYear(t.date) < getYear(currentMonth)\n : false\n ),\n }));\n }, [footerTasks, currentWeek, currentMonth]);\n\n const headerProps = {\n onNextWeek,\n onPrevWeek,\n onNextMonth,\n onPrevMonth,\n currentMonth,\n currentWeek,\n selectedDate,\n showAddTaskBtn,\n onClickAddTask,\n changeWeek,\n changeDate,\n };\n\n const onDragEnd = (result: DropResult) => {\n if (!result.destination) return;\n const { draggableId, source, destination, reason } = result;\n if (reason === 'DROP' && destination.droppableId === 'footer-droppable') {\n return; // don't drop to footer\n }\n if (draggableId.startsWith('footer-task-')) {\n // drag from footer into the columns\n setState(s => {\n const days = s.days;\n const destColumn = days[destination.droppableId];\n\n const sourceTasks = s.footerTasks;\n if (sourceTasks[source.index].draggable === false) {\n return s;\n }\n const [removed] = sourceTasks.splice(source.index, 1);\n const newTask = {...removed,\n __id__: `day-${getWeek(destColumn.day)}-${destColumn.day.getDate()}-task-${destination.index}`,\n date: new Date(\n destColumn.day.getFullYear(),\n destColumn.day.getMonth(),\n destColumn.day.getDate(),\n removed.date?.getHours(),\n removed.date?.getMinutes(),\n removed.date?.getSeconds(),\n removed.date?.getMilliseconds(),\n ),\n };\n\n const destItems = [...destColumn.tasks];\n destItems.splice(destination.index, 0, newTask);\n onUpdateTask(newTask, {\n action: 'DROP',\n oldTask: removed,\n sourceType: 'FOOTER',\n index: destination.index,\n updatedFields: ['date'],\n });\n return { ...s,\n days: { ...days, [destination.droppableId]: { ...destColumn, tasks: destItems, } },\n footerTasks: [ ...sourceTasks ],\n };\n });\n return;\n }\n\n if (source.droppableId !== destination.droppableId) {\n setState(s => {\n const days = s.days;\n const sourceColumn = days[source.droppableId];\n const destColumn = days[destination.droppableId];\n\n if (sourceColumn.tasks[source.index].draggable === false) {\n return s;\n }\n\n const sourceItems = [...sourceColumn.tasks];\n const destItems = [...destColumn.tasks];\n const [removed] = sourceItems.splice(source.index, 1);\n const newTask = {\n ...removed,\n date: new Date(\n destColumn.day.getFullYear(),\n destColumn.day.getMonth(),\n destColumn.day.getDate(),\n removed.date?.getHours(),\n removed.date?.getMinutes(),\n removed.date?.getSeconds(),\n removed.date?.getMilliseconds(),\n ),\n };\n\n destItems.splice(destination.index, 0, newTask);\n onUpdateTask(newTask, {\n action: 'DROP',\n oldTask: removed,\n sourceType: 'COLUMN',\n index: destination.index,\n updatedFields: ['date'],\n });\n return { ...s,\n days: { ...days,\n [source.droppableId]: { ...sourceColumn, tasks: sourceItems, },\n [destination.droppableId]: { ...destColumn, tasks: destItems, }\n },\n };\n });\n } else {\n setState(s => {\n const days = s.days;\n const column = days[source.droppableId];\n if (column.tasks[source.index].draggable === false) {\n return s;\n }\n\n const copiedItems = [...column.tasks];\n const [removed] = copiedItems.splice(source.index, 1);\n copiedItems.splice(destination.index, 0, removed);\n onUpdateTask(removed, {\n action: 'DROP',\n oldTask: removed,\n sourceType: 'COLUMN',\n index: destination.index,\n });\n return { ...s,\n days: { ...days, [source.droppableId]: { ...column, tasks: copiedItems, }}\n };\n });\n }\n };\n\n var weekendsCheckbox = <LabeledCheckbox label=\"Weekends\"\n checked={showWeekend}\n mb={0}\n onChange={() => setShowWeekend(s => {\n onToggleWeekend && onToggleWeekend(!s);\n return !s;\n })}\n />\n\n return (\n <DragDropContext\n onDragEnd={result => onDragEnd(result)}\n >\n <CalendarWrapper>\n <TasksCalendarHeader\n {...headerProps}\n onResetDate={onReset}\n tabs={headerTabs}\n weekendsCheckbox={weekendsCheckbox}\n views={views}\n onClickView={onClickView}\n />\n <div className=\"calendar-scroll\">\n <CalendarDaysHeader currentMonth={currentMonth} selectedDate={selectedDate} weekendsCheckbox={weekendsCheckbox} weekend={showWeekend} />\n {loading ? <div style={{height: 400, paddingTop: 30,}}>\n <Loading />\n </div> : <DroppableDays\n days={state.days}\n selectedDate={selectedDate}\n onClickDay={onClickDay}\n onClickTask={onClickTask}\n weekend={showWeekend}\n onUpdateTask={(newData, {day__id, task__id, ...otherData}) => {\n if (!day__id) {return;}\n _.flowRight(() => {\n onUpdateTask(newData, otherData);\n }, () => {\n setState(s => {\n return { ...s,\n days: { ...s.days,\n [day__id]: { ...s.days[day__id],\n tasks: [\n ...s.days[day__id].tasks.slice(0, otherData.index),\n {...s.days[day__id].tasks[otherData.index], ...newData},\n ...s.days[day__id].tasks.slice(otherData.index+1),\n ],\n }\n },\n };\n });\n })();\n }}\n />}\n </div>\n {showFooterTasks ? <DroppableFooter\n tasks={state.footerTasks}\n onClickTask={onClickTask}\n onUpdateTask={(newData, {day__id, task__id, ...otherData}) => {\n _.flowRight(() => {\n onUpdateTask(newData, otherData);\n }, () => {\n if (!day__id) { return; }\n setState(s => {\n return { ...s,\n days: { ...s.days,\n [day__id]: { ...s.days[day__id],\n tasks: [\n ...s.days[day__id].tasks.slice(0, otherData.index),\n {...s.days[day__id].tasks[otherData.index], ...newData},\n ...s.days[day__id].tasks.slice(otherData.index+1),\n ],\n }\n },\n };\n });\n })();\n }}\n {...headerProps}\n /> : null}\n </CalendarWrapper>\n </DragDropContext>\n );\n}\n\nexport default DraggableTasksCalendar;\n","import { document } from '../../utils';\n\nconst scrollbarWidth = () => {\n // thanks to https://davidwalsh.name/detect-scrollbar-width\n const scrollDiv = document.createElement('div');\n scrollDiv.setAttribute('style', 'width: 100px; height: 100px; overflow: scroll; position:absolute; top:-9999px;');\n document.body.appendChild(scrollDiv);\n const scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth;\n document.body.removeChild(scrollDiv);\n return scrollbarWidth;\n};\n\nexport default scrollbarWidth;\n","import styled, { css, CSSObject } from 'styled-components';\nimport React, { useRef, useLayoutEffect } from 'react';\nimport {\n useTable,\n useSortBy,\n useFlexLayout,\n SortingRule,\n Column,\n} from 'react-table';\nimport { FixedSizeList, ListOnScrollProps } from 'react-window';\nimport { BaseSortByHeaderGroup, SortByHeaderGroup, SortByTableInstance, SortByTableOptions } from './types';\nimport { colors, getThemeColor } from '../Theme';\nimport { FilledChevronIcon} from '../icons';\nimport scrollbarWidth from './scrollbarWidth';\n\nexport const SimpleWindowedTableStyles = styled.div<{\n bordered?: boolean | string;\n rowClickable?: boolean;\n hoverRowBg?: string | boolean;\n selectedRowIndex?: number;\n selectedRowStyle?: boolean | CSSObject; // if true, then set bg same as hoverRowBg\n}>`\npadding: 1rem;\n\n.table-list-rows {\n width: 100% !important;\n\n ${p => p.rowClickable ? `\n .tr {\n cursor: pointer;\n }\n ` : ''}\n}\n\n.table {\n display: inline-block;\n border-spacing: 0;\n width: 100%;\n min-width: 100% !important;\n\n ${p => p.bordered ?\n `border: ${typeof p.bordered === 'string'\n ? p.bordered\n : `1px solid ${getThemeColor(p, 'tableBorder', '#edf2f5')}`};`\n : ''}\n\n .header.tr, .table-footer.tr {\n width: 100% !important;\n min-width: 100% !important;\n overflow-x: hidden;\n }\n\n .tr {\n :last-child {\n .td {\n border-bottom: 0;\n }\n }\n }\n\n .th {\n border-bottom: 2px solid ${colors.disabledButtonBorder};\n\n div {\n display: inline-block;\n }\n }\n\n .td {\n border-bottom: 1px solid ${colors.disabledButtonBorder};\n }\n\n /* set hover styles */\n ${p => p.hoverRowBg ?\n `.tr:not(.header.tr, .table-footer.tr):hover {\n background: ${typeof p.hoverRowBg === 'string'\n ? p.hoverRowBg\n : getThemeColor(p, 'tableHeaderBg', '#F6FEFF')\n };\n }` : ''}\n\n /* row selected => if selectedRowStyle === true then set background color else set given styles */\n ${p => p.selectedRowIndex && p.selectedRowStyle ?\n `.tr:nth-child(${p.selectedRowIndex}) {\n ${typeof p.selectedRowStyle === 'boolean'\n ? `background: ${getThemeColor(p, 'tableHeaderBg', '#F6FEFF')};`\n : css(p.selectedRowStyle)\n }\n }` : ''}\n\n .th,\n .td {\n margin: 0;\n padding: 0.5rem;\n }\n}\n`;\n\nexport type SimpleWindowedTableProps = {\n columns: Column<object>[];\n data: object[];\n itemSize?: number;\n height?: number;\n minWidth?: number;\n maxWidth?: number;\n defaultSort?: SortingRule<string>;\n onClickRow?: (row?: object, index?: number) => void;\n onScroll?: ((props: ListOnScrollProps) => any);\n onUpdateData?: (...args: any) => void;\n useTableProps?: object;\n tableHeaderProps?: {\n className?: string;\n style?: React.CSSProperties;\n };\n tableFooterProps?: {\n className?: string;\n style?: React.CSSProperties;\n };\n TableFooter?: React.ReactNode;\n className?: string;\n hideFooter?: boolean;\n NoRowsFound?: (props: React.PropsWithChildren<{ [key: string]: any }>) => React.ReactElement;\n};\n\nfunction SimpleWindowedTable({\n columns,\n data,\n itemSize=80,\n height=500,\n minWidth = 140,\n maxWidth = 500,\n defaultSort,\n onClickRow,\n onScroll,\n onUpdateData,\n useTableProps={},\n tableHeaderProps={},\n tableFooterProps={},\n hideFooter=true,\n className='',\n NoRowsFound,\n}: SimpleWindowedTableProps) {\n const defaultColumn = React.useMemo(\n () => ({\n minWidth: minWidth,\n maxWidth: maxWidth,\n }),\n [minWidth, maxWidth]\n );\n\n const scrollBarSize = React.useMemo(() => scrollbarWidth(), []);\n\n const {\n getTableProps,\n getTableBodyProps,\n headerGroups,\n footerGroups,\n rows,\n totalColumnsWidth,\n prepareRow,\n } = useTable(\n {\n columns,\n data,\n defaultColumn,\n initialState: {\n ...(defaultSort ? { sortBy: [defaultSort] } : {}),\n },\n onUpdateData,\n ...useTableProps,\n } as SortByTableOptions,\n useSortBy,\n useFlexLayout\n ) as SortByTableInstance;\n const headerRef = useRef<HTMLDivElement | null>(null);\n const footerRef = useRef<HTMLDivElement | null>(null);\n const rowsRef = useRef<HTMLDivElement | HTMLSpanElement>();\n\n const onListScroll = (e: Event) => {\n if (headerRef.current && e && e.target) {\n const target = e.target as HTMLDivElement | HTMLSpanElement;\n headerRef.current.scrollLeft = target.scrollLeft;\n }\n\n if (footerRef.current && e && e.target) {\n const target = e.target as HTMLDivElement | HTMLSpanElement;\n footerRef.current.scrollLeft = target.scrollLeft;\n }\n };\n\n useLayoutEffect(() => {\n const rowsElem = rowsRef.current;\n rowsElem && rowsElem.addEventListener('scroll', onListScroll);\n return () => {\n rowsElem && rowsElem.removeEventListener('scroll', onListScroll);\n };\n }, [rowsRef]);\n\n const RenderRow = React.useCallback(\n ({ index, isScrolling, style }) => {\n const row = rows[index];\n prepareRow(row);\n return (\n <div\n {...row.getRowProps({\n style\n })}\n className=\"tr\"\n >\n {row.cells.map((cell) => {\n const cellProps = cell.getCellProps();\n return (\n <div\n {...cellProps}\n onClick={() => onClickRow ? onClickRow(cell.row.original, index) : null}\n className={`td ${cellProps.className || ''}`}\n >{cell.render(\"Cell\", { isScrolling })}</div>\n );\n })}\n </div>\n );\n },\n [prepareRow, rows, onClickRow]\n );\n\n const getHeaderProps = (column: BaseSortByHeaderGroup<object>, isFooter = false) => {\n let headerProps = column.getHeaderProps({\n ...column.getSortByToggleProps(),\n ...(column.containerProps || {}),\n });\n if (isFooter) {\n headerProps = column.getFooterProps({\n ...column.getSortByToggleProps(),\n ...(column.containerProps || {}),\n });\n }\n const headerStyles = {\n ...(headerProps.style || {}),\n ...(column.style || {}),\n };\n const headerClassNames = [\n 'th',\n ...(headerProps.className || \"\").split(' '),\n ...(column.className || \"\").split(' '),\n ].filter(v => v).join(' ');\n\n return {\n ...headerProps,\n style: headerStyles,\n className: headerClassNames,\n };\n };\n\n const getHeaderGroupProps = (headerGroup: SortByHeaderGroup<object>, isFooter=false) => {\n let headerGroupProps = headerGroup.getHeaderGroupProps({\n ...(headerGroup.containerProps || {}),\n });\n if (isFooter) {\n headerGroupProps = headerGroup.getFooterGroupProps({\n ...(headerGroup.containerProps || {}),\n });\n }\n const headerStyles = {\n ...(headerGroupProps.style || {}),\n ...(headerGroup.style || {}),\n };\n const headerClassNames = [\n isFooter ? 'footer tr' : 'header tr',\n ...(headerGroupProps.className || \"\").split(' '),\n ...(headerGroup.className || \"\").split(' '),\n ].filter(v => v).join(' ');\n\n return {\n ...headerGroupProps,\n style: headerStyles,\n className: headerClassNames,\n };\n };\n\n return (\n <div {...getTableProps()} className={`table ${className || ''}`}>\n <div {...tableHeaderProps}\n className={`header-wrapper ${tableHeaderProps.className || ''}`}\n >\n {headerGroups.map((headerGroup) => (\n <div {...getHeaderGroupProps(headerGroup, false)} className=\"header tr\" ref={headerRef}>\n {headerGroup.headers.map((column) => (\n <div {...getHeaderProps(column, false)}>\n {column.render(\"Header\")}\n {column.canSort ? <span style={{ display: 'inline-block', paddingLeft: 5, verticalAlign: 'text-top' }}>\n {column.isSorted ? (\n column.isSortedDesc ? <FilledChevronIcon direction=\"down\" width=\"15px\" /> : <FilledChevronIcon direction=\"up\" width=\"15px\" />\n ) : <FilledChevronIcon direction=\"updown\" width=\"15px\" />}\n </span> : null}\n </div>\n ))}\n </div>\n ))}\n </div>\n\n <div {...getTableBodyProps()}>\n {rows.length === 0 && NoRowsFound ? <NoRowsFound /> :<FixedSizeList\n height={height}\n itemCount={rows.length}\n itemSize={itemSize}\n width={totalColumnsWidth + scrollBarSize}\n className=\"table-list-rows\"\n outerRef={rowsRef}\n onScroll={onScroll}\n useIsScrolling\n >{RenderRow}</FixedSizeList>}\n </div>\n\n {!hideFooter ? <div {...tableFooterProps}\n className={`table-footer-wrapper ${tableFooterProps.className || ''}`}\n >\n {footerGroups.map((footerGroup) => (\n <div {...getHeaderGroupProps(footerGroup, true)} className=\"table-footer tr\" ref={footerRef}>\n {footerGroup.headers.map((column) => (\n <div {...getHeaderProps(column, true)}>\n {column.render(\"Footer\")}\n </div>\n ))}\n </div>\n ))}\n </div> : null}\n </div>\n );\n}\n\nexport default SimpleWindowedTable;\n"],"names":["window","document","React","SVG","placeholder","getColor","sizes","getSizeStyle","Number","Wrapper","img","gearsSmall","gears","star_light","star_dark","defineProperty","setPrototypeOf","assertThisInitialized","isNativeReflectConstruct","getPrototypeOf","possibleConstructorReturn","LOADING_IMG_SRC","NOT_FOUND_IMG_SRC","DEFAULT_MAX_ATTEMPTS","DEFAULT_ATTEMPT_INTERVAL","Img","props","state","src","attempts","onError","bind","nextProps","setState","retryId","clearTimeout","max_attempts","attempt_interval","setTimeout","Component","truncate","Date","verticalScrollbarWidth","scrollDiv","createElement","setAttribute","body","appendChild","scrollbarWidth","offsetWidth","clientWidth","removeChild","TD","List","StyledDropdown","DropdownItem","DropDownContent","ProgressWrapper","ProgressBar","Collapsible"],"mappings":"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"}
|