{"version":3,"file":"static/js/main.34634a9a.js","mappings":"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","sources":["components/shared/ActionLink.js","components/shared/Affix.js","components/shared/AuthorityCheck.js","../node_modules/@fullcalendar/common/vdom.js","../node_modules/@fullcalendar/react/src/vdom.ts","../node_modules/@fullcalendar/common/src/api/EventSourceApi.ts","../node_modules/@fullcalendar/common/src/util/dom-manip.ts","../node_modules/@fullcalendar/common/src/util/dom-event.ts","../node_modules/@fullcalendar/common/src/util/misc.ts","../node_modules/@fullcalendar/common/src/datelib/marker.ts","../node_modules/@fullcalendar/common/src/structs/event-instance.ts","../node_modules/@fullcalendar/common/src/util/object.ts","../node_modules/@fullcalendar/common/src/structs/recurring-event.ts","../node_modules/@fullcalendar/common/src/datelib/duration.ts","../node_modules/@fullcalendar/common/src/datelib/formatting-utils.ts","../node_modules/@fullcalendar/common/src/util/array.ts","../node_modules/@fullcalendar/common/src/util/memoize.ts","../node_modules/@fullcalendar/common/src/datelib/formatting-native.ts","../node_modules/@fullcalendar/common/src/datelib/zoned-marker.ts","../node_modules/@fullcalendar/common/src/datelib/DateFormatter.ts","../node_modules/@fullcalendar/common/src/datelib/formatting-cmd.ts","../node_modules/@fullcalendar/common/src/datelib/formatting-func.ts","../node_modules/@fullcalendar/common/src/datelib/formatting.ts","../node_modules/@fullcalendar/common/src/options.ts","../node_modules/@fullcalendar/common/src/structs/event-store.ts","../node_modules/@fullcalendar/common/src/util/html.ts","../node_modules/@fullcalendar/common/src/component/event-ui.ts","../node_modules/@fullcalendar/common/src/structs/constraint.ts","../node_modules/@fullcalendar/common/src/structs/event-parse.ts","../node_modules/@fullcalendar/common/src/util/date.ts","../node_modules/@fullcalendar/common/src/datelib/date-range.ts","../node_modules/@fullcalendar/common/src/component/event-rendering.ts","../node_modules/@fullcalendar/common/src/structs/date-span.ts","../node_modules/@fullcalendar/common/src/calendar-utils.ts","../node_modules/@fullcalendar/common/src/structs/event-mutation.ts","../node_modules/@fullcalendar/common/src/ViewApi.ts","../node_modules/@fullcalendar/common/src/structs/event-source-parse.ts","../node_modules/@fullcalendar/common/src/reducers/current-date.ts","../node_modules/@fullcalendar/common/src/CalendarApi.tsx","../node_modules/@fullcalendar/common/src/api/EventApi.ts","../node_modules/@fullcalendar/common/src/datelib/calendar-system.ts","../node_modules/@fullcalendar/common/src/datelib/parsing.ts","../node_modules/@fullcalendar/common/src/datelib/env.ts","../node_modules/@fullcalendar/common/src/global-locales.ts","../node_modules/@fullcalendar/common/src/datelib/locale.ts","../node_modules/@fullcalendar/common/src/structs/business-hours.ts","../node_modules/@fullcalendar/common/src/util/table-styling.tsx","../node_modules/@fullcalendar/common/src/util/geom.ts","../node_modules/@fullcalendar/common/src/component/event-splitting.ts","../node_modules/@fullcalendar/common/src/component/date-rendering.tsx","../node_modules/@fullcalendar/common/src/common/nav-link.ts","../node_modules/@fullcalendar/common/src/util/scrollbar-side.ts","../node_modules/@fullcalendar/common/src/util/scrollbar-width.ts","../node_modules/@fullcalendar/common/src/util/dom-geom.ts","../node_modules/@fullcalendar/common/src/common/Emitter.ts","../node_modules/@fullcalendar/common/src/common/PositionCache.ts","../node_modules/@fullcalendar/common/src/common/scroll-controller.ts","../node_modules/@fullcalendar/common/src/theme/Theme.ts","../node_modules/@fullcalendar/common/src/ScrollResponder.ts","../node_modules/@fullcalendar/common/src/ViewContext.ts","../node_modules/@fullcalendar/common/src/vdom-util.tsx","../node_modules/@fullcalendar/common/src/component/DateComponent.ts","../node_modules/@fullcalendar/common/src/plugin-system.ts","../node_modules/@fullcalendar/common/src/theme/StandardTheme.ts","../node_modules/@fullcalendar/common/src/structs/view-def.ts","../node_modules/@fullcalendar/common/src/common/render-hook.tsx","../node_modules/@fullcalendar/common/src/common/ViewRoot.tsx","../node_modules/@fullcalendar/common/src/structs/view-config.tsx","../node_modules/@fullcalendar/common/src/structs/view-spec.ts","../node_modules/@fullcalendar/common/src/DateProfileGenerator.ts","../node_modules/@fullcalendar/common/src/reducers/eventSources.ts","../node_modules/@fullcalendar/common/src/reducers/eventStore.ts","../node_modules/@fullcalendar/common/src/reducers/date-selection.ts","../node_modules/@fullcalendar/common/src/reducers/selected-event.ts","../node_modules/@fullcalendar/common/src/reducers/event-drag.ts","../node_modules/@fullcalendar/common/src/reducers/event-resize.ts","../node_modules/@fullcalendar/common/src/toolbar-parse.ts","../node_modules/@fullcalendar/common/src/event-sources/array-event-source.ts","../node_modules/@fullcalendar/common/src/event-sources/func-event-source.ts","../node_modules/@fullcalendar/common/src/util/promise.ts","../node_modules/@fullcalendar/common/src/util/requestJson.ts","../node_modules/@fullcalendar/common/src/option-change-handlers.ts","../node_modules/@fullcalendar/common/src/global-plugins.ts","../node_modules/@fullcalendar/common/src/event-sources/json-feed-event-source.ts","../node_modules/@fullcalendar/common/src/event-sources/json-feed-event-source-refiners.ts","../node_modules/@fullcalendar/common/src/structs/recurring-event-simple.ts","../node_modules/@fullcalendar/common/src/structs/recurring-event-simple-refiners.ts","../node_modules/@fullcalendar/common/src/dates-set.ts","../node_modules/@fullcalendar/common/src/event-crud.ts","../node_modules/@fullcalendar/common/src/util/DelayedRunner.ts","../node_modules/@fullcalendar/common/src/util/TaskRunner.ts","../node_modules/@fullcalendar/common/src/reducers/title-formatting.ts","../node_modules/@fullcalendar/common/src/reducers/CalendarDataManager.ts","../node_modules/@fullcalendar/common/src/reducers/options.ts","../node_modules/@fullcalendar/common/src/reducers/view-type.ts","../node_modules/@fullcalendar/common/src/reducers/date-profile.ts","../node_modules/@fullcalendar/common/src/component/CalendarDataProvider.ts","../node_modules/@fullcalendar/common/src/seg-hierarchy.ts","../node_modules/@fullcalendar/common/src/interactions/interaction.ts","../node_modules/@fullcalendar/common/src/interactions/ElementDragging.ts","../node_modules/@fullcalendar/common/src/global-config.ts","../node_modules/@fullcalendar/common/src/structs/drag-meta.ts","../node_modules/@fullcalendar/common/src/ToolbarSection.tsx","../node_modules/@fullcalendar/common/src/Toolbar.tsx","../node_modules/@fullcalendar/common/src/ViewContainer.tsx","../node_modules/@fullcalendar/common/src/interactions/EventClicking.ts","../node_modules/@fullcalendar/common/src/interactions/EventHovering.ts","../node_modules/@fullcalendar/common/src/CalendarContent.tsx","../node_modules/@fullcalendar/common/src/CalendarRoot.tsx","../node_modules/@fullcalendar/common/src/common/table-cell-util.tsx","../node_modules/@fullcalendar/common/src/common/TableDateCell.tsx","../node_modules/@fullcalendar/common/src/common/TableDowCell.tsx","../node_modules/@fullcalendar/common/src/NowTimer.ts","../node_modules/@fullcalendar/common/src/common/DayHeader.tsx","../node_modules/@fullcalendar/common/src/common/table-utils.ts","../node_modules/@fullcalendar/common/src/common/DaySeriesModel.ts","../node_modules/@fullcalendar/common/src/common/DayTableModel.ts","../node_modules/@fullcalendar/common/src/common/slicing-utils.ts","../node_modules/@fullcalendar/common/src/validation.ts","../node_modules/@fullcalendar/common/src/scrollgrid/Scroller.tsx","../node_modules/@fullcalendar/common/src/util/RefMap.ts","../node_modules/@fullcalendar/common/src/scrollgrid/util.tsx","../node_modules/@fullcalendar/common/src/scrollgrid/SimpleScrollGrid.tsx","../node_modules/@fullcalendar/common/src/common/EventRoot.tsx","../node_modules/@fullcalendar/common/src/common/StandardEvent.tsx","../node_modules/@fullcalendar/common/src/common/NowIndicatorRoot.tsx","../node_modules/@fullcalendar/common/src/common/DayCellContent.tsx","../node_modules/@fullcalendar/common/src/common/DayCellRoot.tsx","../node_modules/@fullcalendar/common/src/common/bg-fill.tsx","../node_modules/@fullcalendar/common/src/common/WeekNumberRoot.tsx","../node_modules/@fullcalendar/common/src/common/Popover.tsx","../node_modules/@fullcalendar/common/src/common/MorePopover.tsx","../node_modules/@fullcalendar/common/src/common/MoreLinkRoot.tsx","../node_modules/@fullcalendar/react/src/main.tsx","../node_modules/@fullcalendar/daygrid/src/TableView.tsx","../node_modules/@fullcalendar/daygrid/src/TableSeg.ts","../node_modules/@fullcalendar/daygrid/src/TableCellTop.tsx","../node_modules/@fullcalendar/daygrid/src/event-rendering.ts","../node_modules/@fullcalendar/daygrid/src/TableBlockEvent.tsx","../node_modules/@fullcalendar/daygrid/src/TableListItemEvent.tsx","../node_modules/@fullcalendar/daygrid/src/TableCellMoreLink.tsx","../node_modules/@fullcalendar/daygrid/src/TableCell.tsx","../node_modules/@fullcalendar/daygrid/src/event-placement.ts","../node_modules/@fullcalendar/daygrid/src/TableRow.tsx","../node_modules/@fullcalendar/daygrid/src/Table.tsx","../node_modules/@fullcalendar/daygrid/src/DayTableSlicer.tsx","../node_modules/@fullcalendar/daygrid/src/DayTable.tsx","../node_modules/@fullcalendar/daygrid/src/DayTableView.tsx","../node_modules/@fullcalendar/daygrid/src/TableDateProfileGenerator.ts","../node_modules/@fullcalendar/timegrid/src/AllDaySplitter.ts","../node_modules/@fullcalendar/daygrid/src/main.ts","../node_modules/@fullcalendar/timegrid/src/TimeColsAxisCell.tsx","../node_modules/@fullcalendar/timegrid/src/TimeBodyAxis.tsx","../node_modules/@fullcalendar/timegrid/src/TimeColsView.tsx","../node_modules/@fullcalendar/timegrid/src/TimeColsSlatsCoords.ts","../node_modules/@fullcalendar/timegrid/src/TimeColsSlatsBody.tsx","../node_modules/@fullcalendar/timegrid/src/TimeColsSlats.tsx","../node_modules/@fullcalendar/timegrid/src/TimeColsSeg.ts","../node_modules/@fullcalendar/timegrid/src/TimeColMoreLink.tsx","../node_modules/@fullcalendar/timegrid/src/seg-web.ts","../node_modules/@fullcalendar/timegrid/src/event-placement.ts","../node_modules/@fullcalendar/timegrid/src/TimeColEvent.tsx","../node_modules/@fullcalendar/timegrid/src/TimeColMisc.tsx","../node_modules/@fullcalendar/timegrid/src/TimeCol.tsx","../node_modules/@fullcalendar/timegrid/src/TimeColsContent.tsx","../node_modules/@fullcalendar/timegrid/src/TimeCols.tsx","../node_modules/@fullcalendar/timegrid/src/DayTimeColsSlicer.ts","../node_modules/@fullcalendar/timegrid/src/DayTimeCols.tsx","../node_modules/@fullcalendar/timegrid/src/time-slat-meta.ts","../node_modules/@fullcalendar/timegrid/src/DayTimeColsView.tsx","../node_modules/@fullcalendar/timegrid/src/main.ts","../node_modules/@fullcalendar/timegrid/src/options.ts","../node_modules/@fullcalendar/interaction/src/dnd/PointerDragging.ts","../node_modules/@fullcalendar/interaction/src/dnd/ElementMirror.ts","../node_modules/@fullcalendar/interaction/src/ScrollGeomCache.ts","../node_modules/@fullcalendar/interaction/src/ElementScrollGeomCache.ts","../node_modules/@fullcalendar/interaction/src/WindowScrollGeomCache.ts","../node_modules/@fullcalendar/interaction/src/dnd/AutoScroller.ts","../node_modules/@fullcalendar/interaction/src/dnd/FeaturefulElementDragging.ts","../node_modules/@fullcalendar/interaction/src/OffsetTracker.ts","../node_modules/@fullcalendar/interaction/src/interactions/HitDragging.ts","../node_modules/@fullcalendar/interaction/src/utils.ts","../node_modules/@fullcalendar/interaction/src/interactions/DateClicking.ts","../node_modules/@fullcalendar/interaction/src/interactions/DateSelecting.ts","../node_modules/@fullcalendar/interaction/src/interactions/EventDragging.ts","../node_modules/@fullcalendar/interaction/src/interactions/EventResizing.ts","../node_modules/@fullcalendar/interaction/src/interactions/UnselectAuto.ts","../node_modules/@fullcalendar/interaction/src/options.ts","../node_modules/@fullcalendar/interaction/src/interactions-external/ExternalElementDragging.ts","../node_modules/@fullcalendar/interaction/src/interactions-external/ExternalDraggable.ts","../node_modules/@fullcalendar/interaction/src/interactions-external/InferredElementDragging.ts","../node_modules/@fullcalendar/interaction/src/interactions-external/ThirdPartyDraggable.ts","../node_modules/@fullcalendar/interaction/src/main.ts","configs/chart.config.js","components/shared/Chart.js","components/shared/ConfirmDialog.js","components/shared/Container.js","components/shared/loaders/TableRowSkeleton.js","components/shared/Loading.js","components/shared/DataTable.js","components/shared/DoubleSidedImage.js","../node_modules/react-number-format/dist/react-number-format.es.js","utils/growShrinkColor.js","components/shared/GrowShrinkTag.js","components/shared/IconText.js","components/shared/loaders/MediaSkeleton.js","components/shared/NavToggle.js","components/shared/PasswordInput.js","utils/shadeColor.js","../node_modules/uuid/dist/esm-browser/rng.js","../node_modules/uuid/dist/esm-browser/bytesToUuid.js","../node_modules/uuid/dist/esm-browser/v4.js","../node_modules/react-tooltip/node_modules/core-js/internals/global.js","../node_modules/react-tooltip/node_modules/core-js/internals/fails.js","../node_modules/react-tooltip/node_modules/core-js/internals/descriptors.js","../node_modules/react-tooltip/node_modules/core-js/internals/function-bind-native.js","../node_modules/react-tooltip/node_modules/core-js/internals/function-call.js","../node_modules/react-tooltip/node_modules/core-js/internals/object-property-is-enumerable.js","../node_modules/react-tooltip/node_modules/core-js/internals/create-property-descriptor.js","../node_modules/react-tooltip/node_modules/core-js/internals/engine-v8-version.js","../node_modules/react-tooltip/node_modules/core-js/internals/function-uncurry-this-raw.js","../node_modules/react-tooltip/node_modules/core-js/internals/classof-raw.js","../node_modules/react-tooltip/node_modules/core-js/internals/function-uncurry-this.js","../node_modules/react-tooltip/node_modules/core-js/internals/indexed-object.js","../node_modules/react-tooltip/node_modules/core-js/internals/is-null-or-undefined.js","../node_modules/react-tooltip/node_modules/core-js/internals/require-object-coercible.js","../node_modules/react-tooltip/node_modules/core-js/internals/to-indexed-object.js","../node_modules/react-tooltip/node_modules/core-js/internals/document-all.js","../node_modules/react-tooltip/node_modules/core-js/internals/is-callable.js","../node_modules/react-tooltip/node_modules/core-js/internals/is-object.js","../node_modules/react-tooltip/node_modules/core-js/internals/get-built-in.js","../node_modules/react-tooltip/node_modules/core-js/internals/object-is-prototype-of.js","../node_modules/react-tooltip/node_modules/core-js/internals/engine-user-agent.js","../node_modules/react-tooltip/node_modules/core-js/internals/symbol-constructor-detection.js","../node_modules/react-tooltip/node_modules/core-js/internals/use-symbol-as-uid.js","../node_modules/react-tooltip/node_modules/core-js/internals/is-symbol.js","../node_modules/react-tooltip/node_modules/core-js/internals/try-to-string.js","../node_modules/react-tooltip/node_modules/core-js/internals/a-callable.js","../node_modules/react-tooltip/node_modules/core-js/internals/get-method.js","../node_modules/react-tooltip/node_modules/core-js/internals/ordinary-to-primitive.js","../node_modules/react-tooltip/node_modules/core-js/internals/define-global-property.js","../node_modules/react-tooltip/node_modules/core-js/internals/shared-store.js","../node_modules/react-tooltip/node_modules/core-js/internals/shared.js","../node_modules/react-tooltip/node_modules/core-js/internals/to-object.js","../node_modules/react-tooltip/node_modules/core-js/internals/has-own-property.js","../node_modules/react-tooltip/node_modules/core-js/internals/uid.js","../node_modules/react-tooltip/node_modules/core-js/internals/well-known-symbol.js","../node_modules/react-tooltip/node_modules/core-js/internals/to-primitive.js","../node_modules/react-tooltip/node_modules/core-js/internals/to-property-key.js","../node_modules/react-tooltip/node_modules/core-js/internals/document-create-element.js","../node_modules/react-tooltip/node_modules/core-js/internals/ie8-dom-define.js","../node_modules/react-tooltip/node_modules/core-js/internals/object-get-own-property-descriptor.js","../node_modules/react-tooltip/node_modules/core-js/internals/v8-prototype-define-bug.js","../node_modules/react-tooltip/node_modules/core-js/internals/an-object.js","../node_modules/react-tooltip/node_modules/core-js/internals/object-define-property.js","../node_modules/react-tooltip/node_modules/core-js/internals/create-non-enumerable-property.js","../node_modules/react-tooltip/node_modules/core-js/internals/function-name.js","../node_modules/react-tooltip/node_modules/core-js/internals/inspect-source.js","../node_modules/react-tooltip/node_modules/core-js/internals/internal-state.js","../node_modules/react-tooltip/node_modules/core-js/internals/weak-map-basic-detection.js","../node_modules/react-tooltip/node_modules/core-js/internals/shared-key.js","../node_modules/react-tooltip/node_modules/core-js/internals/hidden-keys.js","../node_modules/react-tooltip/node_modules/core-js/internals/make-built-in.js","../node_modules/react-tooltip/node_modules/core-js/internals/define-built-in.js","../node_modules/react-tooltip/node_modules/core-js/internals/math-trunc.js","../node_modules/react-tooltip/node_modules/core-js/internals/to-integer-or-infinity.js","../node_modules/react-tooltip/node_modules/core-js/internals/to-absolute-index.js","../node_modules/react-tooltip/node_modules/core-js/internals/to-length.js","../node_modules/react-tooltip/node_modules/core-js/internals/length-of-array-like.js","../node_modules/react-tooltip/node_modules/core-js/internals/array-includes.js","../node_modules/react-tooltip/node_modules/core-js/internals/object-keys-internal.js","../node_modules/react-tooltip/node_modules/core-js/internals/enum-bug-keys.js","../node_modules/react-tooltip/node_modules/core-js/internals/object-get-own-property-names.js","../node_modules/react-tooltip/node_modules/core-js/internals/object-get-own-property-symbols.js","../node_modules/react-tooltip/node_modules/core-js/internals/own-keys.js","../node_modules/react-tooltip/node_modules/core-js/internals/copy-constructor-properties.js","../node_modules/react-tooltip/node_modules/core-js/internals/is-forced.js","../node_modules/react-tooltip/node_modules/core-js/internals/export.js","../node_modules/react-tooltip/node_modules/core-js/internals/function-bind-context.js","../node_modules/react-tooltip/node_modules/core-js/internals/is-array.js","../node_modules/react-tooltip/node_modules/core-js/internals/to-string-tag-support.js","../node_modules/react-tooltip/node_modules/core-js/internals/classof.js","../node_modules/react-tooltip/node_modules/core-js/internals/is-constructor.js","../node_modules/react-tooltip/node_modules/core-js/internals/array-species-constructor.js","../node_modules/react-tooltip/node_modules/core-js/internals/array-species-create.js","../node_modules/react-tooltip/node_modules/core-js/internals/array-iteration.js","../node_modules/react-tooltip/node_modules/core-js/internals/object-keys.js","../node_modules/react-tooltip/node_modules/core-js/internals/object-define-properties.js","../node_modules/react-tooltip/node_modules/core-js/internals/html.js","../node_modules/react-tooltip/node_modules/core-js/internals/object-create.js","../node_modules/react-tooltip/node_modules/core-js/internals/add-to-unscopables.js","../node_modules/react-tooltip/node_modules/core-js/modules/es.array.find.js","../node_modules/react-tooltip/src/constant.js","../node_modules/react-tooltip/src/decorators/staticMethods.js","../node_modules/react-tooltip/src/decorators/customEvent.js","../node_modules/react-tooltip/src/decorators/bodyMode.js","../node_modules/react-tooltip/src/utils/getPosition.js","../node_modules/react-tooltip/src/utils/getTipContent.js","../node_modules/react-tooltip/src/utils/aria.js","../node_modules/react-tooltip/src/utils/nodeListToArray.js","../node_modules/react-tooltip/src/decorators/defaultStyles.js","../node_modules/react-tooltip/src/decorators/styler.js","../node_modules/react-tooltip/src/index.js","../node_modules/react-tooltip/src/decorators/trackRemoval.js","../node_modules/react-tooltip/src/decorators/windowListener.js","../node_modules/react-tooltip/src/decorators/isCapture.js","../node_modules/react-tooltip/src/decorators/getEffect.js","../node_modules/react-tooltip/src/utils/uuid.js","components/shared/RegionMap.js","components/shared/SegmentItemOption.js","components/shared/loaders/TextBlockSkeleton.js","components/shared/TextEllipsis.js","utils/acronym.js","utils/hooks/useTwColorByName.js","components/shared/UsersAvatarGroup.js","components/ui/Buttons/Button.js","components/ui/Buttons/index.js","components/ui/CloseButton/CloseButton.js","components/ui/CloseButton/index.js","components/ui/ConfigProvider/ConfigProvider.js","components/ui/ConfigProvider/index.js","components/ui/DatePicker/BasePicker.js","components/ui/DatePicker/tables/Header.js","components/ui/DatePicker/tables/components/Day.js","components/ui/DatePicker/tables/components/props/isWeekend.js","components/ui/DatePicker/tables/components/props/isDisabled.js","components/ui/DatePicker/tables/components/props/getDayProps.js","components/ui/DatePicker/tables/components/props/isOutside.js","components/ui/DatePicker/tables/components/props/getRangeProps.js","components/ui/DatePicker/tables/components/Month.js","components/ui/DatePicker/tables/DateTable.js","components/ui/DatePicker/tables/MonthTable.js","components/ui/DatePicker/tables/YearTable.js","components/ui/DatePicker/CalendarBase.js","components/ui/DatePicker/DatePickerRange.js","components/ui/DatePicker/RangeCalendar.js","components/ui/DatePicker/utils/formatYear.js","components/ui/DatePicker/utils/getDecadeRange.js","components/ui/DatePicker/utils/getStartOfWeek.js","components/ui/DatePicker/utils/getEndOfWeek.js","components/ui/DatePicker/utils/getMonthDays.js","components/ui/DatePicker/utils/getMonthsNames.js","components/ui/DatePicker/utils/getWeekdaysNames.js","components/ui/DatePicker/utils/isMonthInRange.js","components/ui/DatePicker/utils/isSameDate.js","components/ui/DatePicker/utils/isSameMonth.js","components/ui/Form/context.js","components/ui/Input/Input.js","components/ui/Input/index.js","components/ui/InputGroup/context.js","components/ui/Spinner/Spinner.js","../node_modules/react-icons/cg/index.esm.js","components/ui/Spinner/index.js","components/ui/Table/TFoot.js","components/ui/hooks/useCallbackRef.js","components/ui/hooks/useColorLevel.js","components/ui/hooks/useControllableState.js","components/ui/hooks/useMergeRef.js","components/ui/hooks/useRootClose.js","components/ui/hooks/useTimeout.js","../node_modules/framer-motion/dist/es/motion/features/definitions.js","../node_modules/framer-motion/dist/es/context/LazyContext.js","../node_modules/framer-motion/dist/es/motion/features/use-features.js","../node_modules/framer-motion/dist/es/context/MotionConfigContext.js","../node_modules/framer-motion/dist/es/context/MotionContext/index.js","../node_modules/framer-motion/dist/es/context/PresenceContext.js","../node_modules/framer-motion/dist/es/utils/use-constant.js","../node_modules/framer-motion/dist/es/components/AnimatePresence/use-presence.js","../node_modules/framer-motion/dist/es/context/LayoutGroupContext.js","../node_modules/framer-motion/dist/es/utils/is-browser.js","../node_modules/framer-motion/dist/es/utils/use-isomorphic-effect.js","../node_modules/framer-motion/dist/es/motion/utils/use-visual-element.js","../node_modules/framer-motion/dist/es/utils/is-ref-object.js","../node_modules/framer-motion/dist/es/render/utils/variants.js","../node_modules/framer-motion/dist/es/context/MotionContext/create.js","../node_modules/framer-motion/dist/es/context/MotionContext/utils.js","../node_modules/framer-motion/dist/es/motion/index.js","../node_modules/framer-motion/dist/es/motion/utils/use-motion-ref.js","../node_modules/framer-motion/dist/es/render/dom/motion-proxy.js","../node_modules/framer-motion/dist/es/render/svg/lowercase-elements.js","../node_modules/framer-motion/dist/es/render/dom/utils/is-svg-component.js","../node_modules/framer-motion/dist/es/render/dom/projection/scale-correction.js","../node_modules/framer-motion/dist/es/render/html/utils/transform.js","../node_modules/framer-motion/dist/es/motion/utils/is-forced-motion-value.js","../node_modules/framer-motion/dist/es/value/utils/is-motion-value.js","../node_modules/framer-motion/dist/es/render/html/utils/build-transform.js","../node_modules/framer-motion/dist/es/render/dom/utils/is-css-variable.js","../node_modules/framer-motion/dist/es/render/dom/value-types/get-as-type.js","../node_modules/style-value-types/dist/es/utils.js","../node_modules/style-value-types/dist/es/numbers/units.js","../node_modules/style-value-types/dist/es/numbers/index.js","../node_modules/framer-motion/dist/es/render/dom/value-types/type-int.js","../node_modules/framer-motion/dist/es/render/dom/value-types/number.js","../node_modules/framer-motion/dist/es/render/html/utils/build-styles.js","../node_modules/framer-motion/dist/es/render/html/utils/create-render-state.js","../node_modules/framer-motion/dist/es/render/html/use-props.js","../node_modules/framer-motion/dist/es/motion/utils/valid-prop.js","../node_modules/framer-motion/dist/es/render/dom/utils/filter-props.js","../node_modules/framer-motion/dist/es/render/svg/utils/transform-origin.js","../node_modules/framer-motion/dist/es/render/svg/utils/path.js","../node_modules/framer-motion/dist/es/render/svg/utils/build-attrs.js","../node_modules/framer-motion/dist/es/render/svg/utils/create-render-state.js","../node_modules/framer-motion/dist/es/render/svg/use-props.js","../node_modules/framer-motion/dist/es/render/dom/use-render.js","../node_modules/framer-motion/dist/es/render/dom/utils/camel-to-dash.js","../node_modules/framer-motion/dist/es/render/html/utils/render.js","../node_modules/framer-motion/dist/es/render/svg/utils/camel-case-attrs.js","../node_modules/framer-motion/dist/es/render/svg/utils/render.js","../node_modules/framer-motion/dist/es/render/html/utils/scrape-motion-values.js","../node_modules/framer-motion/dist/es/render/svg/utils/scrape-motion-values.js","../node_modules/framer-motion/dist/es/animation/utils/is-animation-controls.js","../node_modules/framer-motion/dist/es/animation/utils/is-keyframes-target.js","../node_modules/framer-motion/dist/es/value/utils/resolve-motion-value.js","../node_modules/framer-motion/dist/es/utils/resolve-value.js","../node_modules/framer-motion/dist/es/motion/utils/use-visual-state.js","../node_modules/framer-motion/dist/es/render/svg/config-motion.js","../node_modules/framer-motion/dist/es/render/html/config-motion.js","../node_modules/framer-motion/dist/es/render/utils/types.js","../node_modules/framer-motion/dist/es/events/use-dom-event.js","../node_modules/framer-motion/dist/es/gestures/utils/event-type.js","../node_modules/framer-motion/dist/es/events/event-info.js","../node_modules/framer-motion/dist/es/events/use-pointer-event.js","../node_modules/framer-motion/dist/es/events/utils.js","../node_modules/framer-motion/dist/es/gestures/drag/utils/lock.js","../node_modules/framer-motion/dist/es/gestures/use-hover-gesture.js","../node_modules/framer-motion/dist/es/gestures/utils/is-node-or-child.js","../node_modules/framer-motion/dist/es/utils/use-unmount-effect.js","../node_modules/popmotion/dist/es/utils/pipe.js","../node_modules/framer-motion/dist/es/motion/utils/make-renderless-component.js","../node_modules/framer-motion/dist/es/motion/features/gestures.js","../node_modules/framer-motion/dist/es/gestures/use-tap-gesture.js","../node_modules/framer-motion/dist/es/gestures/use-focus-gesture.js","../node_modules/framer-motion/dist/es/utils/shallow-compare.js","../node_modules/popmotion/dist/es/utils/clamp.js","../node_modules/popmotion/dist/es/animations/utils/find-spring.js","../node_modules/popmotion/dist/es/animations/generators/spring.js","../node_modules/popmotion/dist/es/utils/progress.js","../node_modules/popmotion/dist/es/utils/mix.js","../node_modules/style-value-types/dist/es/color/utils.js","../node_modules/style-value-types/dist/es/color/rgba.js","../node_modules/style-value-types/dist/es/color/hex.js","../node_modules/style-value-types/dist/es/color/hsla.js","../node_modules/popmotion/dist/es/utils/mix-color.js","../node_modules/style-value-types/dist/es/color/index.js","../node_modules/style-value-types/dist/es/complex/index.js","../node_modules/popmotion/dist/es/utils/inc.js","../node_modules/popmotion/dist/es/utils/mix-complex.js","../node_modules/popmotion/dist/es/utils/interpolate.js","../node_modules/popmotion/dist/es/easing/utils.js","../node_modules/popmotion/dist/es/easing/index.js","../node_modules/popmotion/dist/es/animations/generators/keyframes.js","../node_modules/popmotion/dist/es/animations/utils/detect-animation-from-options.js","../node_modules/popmotion/dist/es/animations/generators/decay.js","../node_modules/framesync/dist/es/on-next-frame.js","../node_modules/framesync/dist/es/index.js","../node_modules/framesync/dist/es/create-render-step.js","../node_modules/popmotion/dist/es/animations/utils/elapsed.js","../node_modules/popmotion/dist/es/animations/index.js","../node_modules/popmotion/dist/es/utils/velocity-per-second.js","../node_modules/framer-motion/dist/es/utils/time-conversion.js","../node_modules/popmotion/dist/es/easing/cubic-bezier.js","../node_modules/framer-motion/dist/es/animation/utils/easing.js","../node_modules/framer-motion/dist/es/animation/utils/is-animatable.js","../node_modules/framer-motion/dist/es/animation/utils/default-transitions.js","../node_modules/style-value-types/dist/es/complex/filter.js","../node_modules/framer-motion/dist/es/render/dom/value-types/defaults.js","../node_modules/framer-motion/dist/es/render/dom/value-types/animatable-none.js","../node_modules/framer-motion/dist/es/animation/utils/transitions.js","../node_modules/popmotion/dist/es/animations/inertia.js","../node_modules/framer-motion/dist/es/utils/array.js","../node_modules/framer-motion/dist/es/utils/subscription-manager.js","../node_modules/framer-motion/dist/es/value/index.js","../node_modules/framer-motion/dist/es/render/dom/value-types/test.js","../node_modules/framer-motion/dist/es/render/dom/value-types/dimensions.js","../node_modules/framer-motion/dist/es/render/dom/value-types/type-auto.js","../node_modules/framer-motion/dist/es/render/dom/value-types/find.js","../node_modules/framer-motion/dist/es/render/utils/setters.js","../node_modules/framer-motion/dist/es/render/utils/animation.js","../node_modules/framer-motion/dist/es/render/utils/animation-state.js","../node_modules/framer-motion/dist/es/motion/features/animations.js","../node_modules/popmotion/dist/es/utils/is-point.js","../node_modules/popmotion/dist/es/utils/is-point-3d.js","../node_modules/popmotion/dist/es/utils/distance.js","../node_modules/framer-motion/dist/es/gestures/PanSession.js","../node_modules/framer-motion/dist/es/utils/noop.js","../node_modules/framer-motion/dist/es/utils/geometry/index.js","../node_modules/framer-motion/dist/es/utils/each-axis.js","../node_modules/framer-motion/dist/es/gestures/drag/utils/constraints.js","../node_modules/framer-motion/dist/es/render/dom/projection/measure.js","../node_modules/framer-motion/dist/es/utils/geometry/delta-calc.js","../node_modules/framer-motion/dist/es/render/utils/compare-by-depth.js","../node_modules/framer-motion/dist/es/render/dom/projection/utils.js","../node_modules/framer-motion/dist/es/motion/features/layout/utils.js","../node_modules/framer-motion/dist/es/render/utils/is-draggable.js","../node_modules/framer-motion/dist/es/utils/geometry/delta-apply.js","../node_modules/framer-motion/dist/es/render/dom/utils/batch-layout.js","../node_modules/framer-motion/dist/es/gestures/drag/VisualElementDragControls.js","../node_modules/framer-motion/dist/es/render/dom/projection/convert-to-relative.js","../node_modules/framer-motion/dist/es/motion/features/drag.js","../node_modules/framer-motion/dist/es/components/AnimateSharedLayout/types.js","../node_modules/framer-motion/dist/es/gestures/use-pan-gesture.js","../node_modules/framer-motion/dist/es/gestures/drag/use-drag.js","../node_modules/framer-motion/dist/es/render/dom/utils/css-variables-conversion.js","../node_modules/framer-motion/dist/es/render/dom/projection/default-scale-correctors.js","../node_modules/framer-motion/dist/es/motion/features/layout/Animate.js","../node_modules/framer-motion/dist/es/components/AnimateSharedLayout/utils/batcher.js","../node_modules/framer-motion/dist/es/context/SharedLayoutContext.js","../node_modules/framer-motion/dist/es/motion/features/layout/Measure.js","../node_modules/framer-motion/dist/es/motion/features/layout/index.js","../node_modules/framer-motion/dist/es/render/utils/state.js","../node_modules/framer-motion/dist/es/render/html/utils/build-projection-transform.js","../node_modules/framer-motion/dist/es/render/utils/lifecycles.js","../node_modules/framer-motion/dist/es/render/utils/projection.js","../node_modules/framer-motion/dist/es/render/utils/flat-tree.js","../node_modules/framer-motion/dist/es/render/index.js","../node_modules/framer-motion/dist/es/render/utils/motion-values.js","../node_modules/framer-motion/dist/es/render/dom/projection/relative-set.js","../node_modules/framer-motion/dist/es/render/dom/utils/unit-conversion.js","../node_modules/framer-motion/dist/es/render/dom/utils/parse-dom-variant.js","../node_modules/framer-motion/dist/es/render/html/visual-element.js","../node_modules/framer-motion/dist/es/utils/is-numerical-string.js","../node_modules/framer-motion/dist/es/render/svg/visual-element.js","../node_modules/framer-motion/dist/es/render/dom/create-visual-element.js","../node_modules/framer-motion/dist/es/render/dom/motion.js","../node_modules/framer-motion/dist/es/render/dom/utils/create-config.js","components/ui/StatusIcon/StatusIcon.js","components/ui/StatusIcon/index.js","components/ui/Alert/Alert.js","components/ui/Alert/index.js","components/ui/Avatar/Avatar.js","../node_modules/react-popper/lib/esm/Manager.js","../node_modules/react-popper/lib/esm/Reference.js","../node_modules/react-popper/lib/esm/Popper.js","../node_modules/framer-motion/dist/es/components/AnimatePresence/PresenceChild.js","../node_modules/framer-motion/dist/es/components/AnimatePresence/index.js","../node_modules/framer-motion/dist/es/utils/use-force-update.js","../node_modules/react-icons/bs/index.esm.js","components/ui/Tooltip/Arrow.js","../node_modules/react-portal/es/utils.js","../node_modules/react-portal/es/Portal.js","../node_modules/react-portal/es/LegacyPortal.js","../node_modules/react-portal/es/PortalCompat.js","components/ui/Tooltip/Tooltip.js","components/ui/Tooltip/index.js","components/ui/Avatar/AvatarGroup.js","components/ui/Avatar/index.js","components/ui/Badge/Badge.js","components/ui/Badge/index.js","components/ui/Card/Card.js","components/ui/Card/index.js","../node_modules/react-select/dist/useStateManager-7e1e8489.esm.js","../node_modules/react-select/node_modules/memoize-one/dist/memoize-one.esm.js","../node_modules/react-select/dist/react-select.esm.js","components/ui/Select/Select.js","components/ui/Select/index.js","components/ui/InputGroup/InputGroup.js","components/ui/InputGroup/Addon.js","components/ui/InputGroup/index.js","components/ui/Radio/context.js","components/ui/Radio/Radio.js","components/ui/Radio/Group.js","components/ui/Radio/index.js","components/ui/Checkbox/context.js","components/ui/Checkbox/Checkbox.js","components/ui/utils/shallowEqual.js","components/ui/Checkbox/Group.js","components/ui/Checkbox/index.js","components/ui/Switcher/Switcher.js","../node_modules/react-icons/vsc/index.esm.js","components/ui/Upload/FileItem.js","components/ui/Notification/Notification.js","components/ui/Notification/index.js","components/ui/utils/chainedFunction.js","components/ui/toast/transition.js","components/ui/toast/ToastWrapper.js","components/ui/toast/toast.js","components/ui/toast/index.js","components/ui/Upload/Upload.js","components/ui/Upload/index.js","components/ui/Form/FormItem/index.js","components/ui/Form/FormContainer/index.js","components/ui/Table/Table.js","components/ui/Table/THead.js","components/ui/Table/TBody.js","components/ui/Table/Tr.js","components/ui/Table/Th.js","components/ui/Table/Td.js","../node_modules/react-icons/fa/index.esm.js","components/ui/Table/Sorter.js","components/ui/Table/index.js","components/ui/Pagination/Pagers.js","components/ui/Pagination/Prev.js","components/ui/Pagination/Next.js","components/ui/Pagination/Total.js","components/ui/Pagination/Pagination.js","components/ui/Pagination/index.js","components/ui/hooks/useWindowSize.js","components/ui/Dialog/Dialog.js","components/ui/Dialog/index.js","components/ui/Drawer/Drawer.js","components/ui/Drawer/index.js","components/ui/DatePicker/Calendar.js","components/ui/DatePicker/DatePicker.js","components/ui/utils/createUid.js","components/ui/hooks/useUniqueId.js","components/ui/hooks/useDidUpdate.js","components/ui/TimeInput/utils/clamp.js","components/ui/TimeInput/utils/padTime.js","components/ui/TimeInput/utils/createTimeHandler.js","components/ui/TimeInput/utils/getTimeValues.js","components/ui/TimeInput/TimeInputField.js","components/ui/TimeInput/AmPmInput.js","components/ui/TimeInput/TimeInput.js","components/ui/TimeInput/utils/getDate.js","components/ui/TimeInput/utils/createAmPmHandler.js","components/ui/TimeInput/TimeInputRange.js","components/ui/TimeInput/index.js","components/ui/DatePicker/DateTimepicker.js","components/ui/DatePicker/index.js","components/ui/Menu/context/menuContext.js","components/ui/Menu/Menu.js","components/ui/Menu/context/groupContext.js","components/ui/Menu/context/collapseContext.js","components/ui/MenuItem/index.js","components/ui/Menu/MenuItem.js","components/ui/Menu/MenuCollapse.js","components/ui/Menu/MenuGroup.js","components/ui/Menu/index.js","components/ui/Dropdown/context/menuContext.js","components/ui/hooks/useUncertainRef.js","components/ui/Dropdown/context/dropdownMenuContext.js","components/ui/Dropdown/Menu.js","components/ui/Dropdown/context/dropdownContext.js","components/ui/Dropdown/DropdownItem.js","components/ui/Dropdown/DropdownMenu.js","components/ui/Dropdown/DropdownToggle.js","components/ui/utils/arrayIndexOf.js","components/ui/Dropdown/Dropdown.js","components/ui/Dropdown/index.js","components/ui/Progress/Line.js","components/ui/Progress/Circle.js","components/ui/Progress/Progress.js","components/ui/Skeleton/Skeleton.js","components/ui/Skeleton/index.js","components/ui/Segment/context.js","components/ui/Segment/Segment.js","components/ui/Segment/SegmentItem.js","components/ui/Segment/index.js","components/ui/utils/mapCloneElement.js","components/ui/Steps/Steps.js","components/ui/Steps/StepItem.js","components/ui/Steps/index.js","components/ui/Tabs/context.js","components/ui/Tabs/Tabs.js","components/ui/Tabs/TabList.js","components/ui/Tabs/TabNav.js","components/ui/Tabs/TabContent.js","components/ui/Tabs/index.js","components/ui/Tag/Tag.js","components/ui/Tag/index.js","components/ui/Timeline/TimeLine.js","components/ui/Timeline/TimeLineItem.js","components/ui/Timeline/index.js","components/ui/ScrollBar/index.js","components/ui/ScrollBar/ScrollBar.js","components/ui/hooks/index.js","components/ui/utils/capitalize.js","components/ui/utils/constant.js","configs/app.config.js","configs/theme.config.js","constants/api.constant.js","constants/app.constant.js","constants/chart.constant.js","constants/theme.constant.js","locales/index.js","services/ApiService.js","store/auth/sessionSlice.js","store/auth/userSlice.js","store/base/commonSlice.js","store/theme/themeSlice.js","utils/deepParseJson.js","utils/hooks/custom/useResponse.js","services/AuthService.js","../node_modules/jwt-decode/lib/atob.js","../node_modules/jwt-decode/lib/base64_url_decode.js","../node_modules/jwt-decode/lib/index.js","utils/hooks/useAuth.js","utils/hooks/useQuery.js","utils/hooks/useAuthority.js","utils/hooks/useDarkMode.js","utils/hooks/useDirection.js","utils/hooks/useThemeClass.js","utils/openNotification.js","../node_modules/@emotion/sheet/dist/emotion-sheet.browser.esm.js","../node_modules/stylis/src/Utility.js","../node_modules/stylis/src/Tokenizer.js","../node_modules/stylis/src/Enum.js","../node_modules/stylis/src/Serializer.js","../node_modules/stylis/src/Parser.js","../node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js","../node_modules/stylis/src/Middleware.js","../node_modules/@emotion/memoize/dist/memoize.browser.esm.js","../node_modules/@emotion/is-prop-valid/dist/is-prop-valid.browser.esm.js","../node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js","../node_modules/@emotion/hash/dist/emotion-hash.esm.js","../node_modules/@emotion/unitless/dist/emotion-unitless.esm.js","../node_modules/@emotion/serialize/node_modules/@emotion/memoize/dist/emotion-memoize.esm.js","../node_modules/@emotion/serialize/dist/emotion-serialize.browser.esm.js","../node_modules/@emotion/use-insertion-effect-with-fallbacks/dist/emotion-use-insertion-effect-with-fallbacks.browser.esm.js","../node_modules/@emotion/react/dist/emotion-element-6a883da9.browser.esm.js","../node_modules/@emotion/react/dist/emotion-react.browser.esm.js","../node_modules/@miragejs/pretender-node-polyfill/after.js","../node_modules/@miragejs/pretender-node-polyfill/before.js","../node_modules/immer/src/utils/errors.ts","../node_modules/immer/src/utils/common.ts","../node_modules/immer/src/utils/plugins.ts","../node_modules/immer/src/core/scope.ts","../node_modules/immer/src/core/finalize.ts","../node_modules/immer/src/core/proxy.ts","../node_modules/immer/src/core/immerClass.ts","../node_modules/immer/src/core/current.ts","../node_modules/immer/src/plugins/es5.ts","../node_modules/immer/src/immer.ts","../node_modules/immer/src/utils/env.ts","../node_modules/redux-thunk/es/index.js","../node_modules/@reduxjs/toolkit/src/devtoolsExtension.ts","../node_modules/@reduxjs/toolkit/src/isPlainObject.ts","../node_modules/@reduxjs/toolkit/src/utils.ts","../node_modules/@reduxjs/toolkit/src/getDefaultMiddleware.ts","../node_modules/@reduxjs/toolkit/src/configureStore.ts","../node_modules/@reduxjs/toolkit/src/createAction.ts","../node_modules/@reduxjs/toolkit/src/mapBuilders.ts","../node_modules/@reduxjs/toolkit/src/createSlice.ts","../node_modules/@reduxjs/toolkit/src/createReducer.ts","../node_modules/@reduxjs/toolkit/src/nanoid.ts","../node_modules/@reduxjs/toolkit/src/createAsyncThunk.ts","../node_modules/@reduxjs/toolkit/src/listenerMiddleware/index.ts","../node_modules/@reduxjs/toolkit/src/listenerMiddleware/utils.ts","../node_modules/@reduxjs/toolkit/src/autoBatchEnhancer.ts","../node_modules/@reduxjs/toolkit/src/index.ts","../node_modules/@remix-run/router/history.ts","../node_modules/@remix-run/router/utils.ts","../node_modules/@remix-run/router/router.ts","../node_modules/add-px-to-style/index.js","../node_modules/apexcharts/dist/apexcharts.common.js","../node_modules/axios/index.js","../node_modules/axios/lib/adapters/xhr.js","../node_modules/axios/lib/axios.js","../node_modules/axios/lib/cancel/CancelToken.js","../node_modules/axios/lib/cancel/CanceledError.js","../node_modules/axios/lib/cancel/isCancel.js","../node_modules/axios/lib/core/Axios.js","../node_modules/axios/lib/core/AxiosError.js","../node_modules/axios/lib/core/InterceptorManager.js","../node_modules/axios/lib/core/buildFullPath.js","../node_modules/axios/lib/core/dispatchRequest.js","../node_modules/axios/lib/core/mergeConfig.js","../node_modules/axios/lib/core/settle.js","../node_modules/axios/lib/core/transformData.js","../node_modules/axios/lib/defaults/index.js","../node_modules/axios/lib/defaults/transitional.js","../node_modules/axios/lib/env/data.js","../node_modules/axios/lib/helpers/bind.js","../node_modules/axios/lib/helpers/buildURL.js","../node_modules/axios/lib/helpers/combineURLs.js","../node_modules/axios/lib/helpers/cookies.js","../node_modules/axios/lib/helpers/isAbsoluteURL.js","../node_modules/axios/lib/helpers/isAxiosError.js","../node_modules/axios/lib/helpers/isURLSameOrigin.js","../node_modules/axios/lib/helpers/normalizeHeaderName.js","../node_modules/axios/lib/helpers/null.js","../node_modules/axios/lib/helpers/parseHeaders.js","../node_modules/axios/lib/helpers/parseProtocol.js","../node_modules/axios/lib/helpers/spread.js","../node_modules/axios/lib/helpers/toFormData.js","../node_modules/axios/lib/helpers/validator.js","../node_modules/axios/lib/utils.js","../node_modules/classnames/index.js","../node_modules/d3-selection/src/array.js","../node_modules/d3-selection/src/creator.js","../node_modules/d3-selection/src/create.js","../node_modules/d3-selection/src/local.js","../node_modules/d3-selection/src/pointers.js","../node_modules/d3-selection/src/selectAll.js","../node_modules/d3-selection/src/matcher.js","../node_modules/d3-selection/src/namespace.js","../node_modules/d3-selection/src/namespaces.js","../node_modules/d3-selection/src/pointer.js","../node_modules/d3-selection/src/select.js","../node_modules/d3-selection/src/selection/selectChild.js","../node_modules/d3-selection/src/selection/selectChildren.js","../node_modules/d3-selection/src/selection/sparse.js","../node_modules/d3-selection/src/selection/enter.js","../node_modules/d3-selection/src/constant.js","../node_modules/d3-selection/src/selection/data.js","../node_modules/d3-selection/src/selection/sort.js","../node_modules/d3-selection/src/selection/attr.js","../node_modules/d3-selection/src/selection/property.js","../node_modules/d3-selection/src/selection/classed.js","../node_modules/d3-selection/src/selection/text.js","../node_modules/d3-selection/src/selection/html.js","../node_modules/d3-selection/src/selection/raise.js","../node_modules/d3-selection/src/selection/lower.js","../node_modules/d3-selection/src/selection/insert.js","../node_modules/d3-selection/src/selection/remove.js","../node_modules/d3-selection/src/selection/clone.js","../node_modules/d3-selection/src/selection/on.js","../node_modules/d3-selection/src/selection/dispatch.js","../node_modules/d3-selection/src/selection/iterator.js","../node_modules/d3-selection/src/selection/index.js","../node_modules/d3-selection/src/selection/select.js","../node_modules/d3-selection/src/selection/selectAll.js","../node_modules/d3-selection/src/selection/filter.js","../node_modules/d3-selection/src/selection/exit.js","../node_modules/d3-selection/src/selection/join.js","../node_modules/d3-selection/src/selection/merge.js","../node_modules/d3-selection/src/selection/order.js","../node_modules/d3-selection/src/selection/call.js","../node_modules/d3-selection/src/selection/nodes.js","../node_modules/d3-selection/src/selection/node.js","../node_modules/d3-selection/src/selection/size.js","../node_modules/d3-selection/src/selection/empty.js","../node_modules/d3-selection/src/selection/each.js","../node_modules/d3-selection/src/selection/append.js","../node_modules/d3-selection/src/selection/datum.js","../node_modules/d3-selection/src/selection/style.js","../node_modules/d3-selection/src/selector.js","../node_modules/d3-selection/src/selectorAll.js","../node_modules/d3-selection/src/sourceEvent.js","../node_modules/d3-selection/src/window.js","../node_modules/d3-dispatch/src/dispatch.js","../node_modules/d3-drag/src/noevent.js","../node_modules/d3-drag/src/nodrag.js","../node_modules/d3-interpolate/src/zoom.js","../node_modules/d3-timer/src/timer.js","../node_modules/d3-timer/src/timeout.js","../node_modules/d3-transition/src/transition/schedule.js","../node_modules/d3-transition/src/interrupt.js","../node_modules/d3-interpolate/src/number.js","../node_modules/d3-interpolate/src/transform/decompose.js","../node_modules/d3-interpolate/src/transform/parse.js","../node_modules/d3-interpolate/src/transform/index.js","../node_modules/d3-transition/src/transition/tween.js","../node_modules/d3-color/src/define.js","../node_modules/d3-color/src/color.js","../node_modules/d3-interpolate/src/basis.js","../node_modules/d3-interpolate/src/constant.js","../node_modules/d3-interpolate/src/color.js","../node_modules/d3-interpolate/src/rgb.js","../node_modules/d3-interpolate/src/basisClosed.js","../node_modules/d3-interpolate/src/string.js","../node_modules/d3-transition/src/transition/interpolate.js","../node_modules/d3-transition/src/transition/attr.js","../node_modules/d3-transition/src/transition/attrTween.js","../node_modules/d3-transition/src/transition/delay.js","../node_modules/d3-transition/src/transition/duration.js","../node_modules/d3-transition/src/transition/ease.js","../node_modules/d3-transition/src/transition/on.js","../node_modules/d3-transition/src/transition/selection.js","../node_modules/d3-transition/src/transition/style.js","../node_modules/d3-transition/src/transition/styleTween.js","../node_modules/d3-transition/src/transition/textTween.js","../node_modules/d3-transition/src/transition/index.js","../node_modules/d3-transition/src/transition/select.js","../node_modules/d3-transition/src/transition/selectAll.js","../node_modules/d3-transition/src/transition/filter.js","../node_modules/d3-transition/src/transition/merge.js","../node_modules/d3-transition/src/transition/transition.js","../node_modules/d3-transition/src/transition/text.js","../node_modules/d3-transition/src/transition/remove.js","../node_modules/d3-transition/src/transition/easeVarying.js","../node_modules/d3-transition/src/transition/end.js","../node_modules/d3-transition/src/selection/transition.js","../node_modules/d3-ease/src/cubic.js","../node_modules/d3-transition/src/selection/index.js","../node_modules/d3-transition/src/selection/interrupt.js","../node_modules/d3-zoom/src/constant.js","../node_modules/d3-zoom/src/event.js","../node_modules/d3-zoom/src/transform.js","../node_modules/d3-zoom/src/noevent.js","../node_modules/d3-zoom/src/zoom.js","../node_modules/dayjs/dayjs.min.js","../node_modules/dayjs/plugin/localizedFormat.js","../node_modules/dom-css/index.js","../node_modules/exenv/index.js","../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../node_modules/lodash.assign/index.js","../node_modules/lodash.clonedeep/index.js","../node_modules/lodash.compact/index.js","../node_modules/lodash.find/index.js","../node_modules/lodash.flatten/index.js","../node_modules/lodash.forin/index.js","../node_modules/lodash.get/index.js","../node_modules/lodash.has/index.js","../node_modules/lodash.invokemap/index.js","../node_modules/lodash.isempty/index.js","../node_modules/lodash.isequal/index.js","../node_modules/lodash.isfunction/index.js","../node_modules/lodash.isinteger/index.js","../node_modules/lodash.isplainobject/index.js","../node_modules/lodash.lowerfirst/index.js","../node_modules/lodash.map/index.js","../node_modules/lodash.mapvalues/index.js","../node_modules/lodash.pick/index.js","../node_modules/lodash.uniq/index.js","../node_modules/lodash.uniqby/index.js","../node_modules/lodash.values/index.js","../node_modules/lodash/_DataView.js","../node_modules/lodash/_Hash.js","../node_modules/lodash/_ListCache.js","../node_modules/lodash/_Map.js","../node_modules/lodash/_MapCache.js","../node_modules/lodash/_Promise.js","../node_modules/lodash/_Set.js","../node_modules/lodash/_SetCache.js","../node_modules/lodash/_Stack.js","../node_modules/lodash/_Symbol.js","../node_modules/lodash/_Uint8Array.js","../node_modules/lodash/_WeakMap.js","../node_modules/lodash/_arrayEach.js","../node_modules/lodash/_arrayFilter.js","../node_modules/lodash/_arrayLikeKeys.js","../node_modules/lodash/_arrayMap.js","../node_modules/lodash/_arrayPush.js","../node_modules/lodash/_arraySome.js","../node_modules/lodash/_assignValue.js","../node_modules/lodash/_assocIndexOf.js","../node_modules/lodash/_baseAssign.js","../node_modules/lodash/_baseAssignIn.js","../node_modules/lodash/_baseAssignValue.js","../node_modules/lodash/_baseClone.js","../node_modules/lodash/_baseCreate.js","../node_modules/lodash/_baseGet.js","../node_modules/lodash/_baseGetAllKeys.js","../node_modules/lodash/_baseGetTag.js","../node_modules/lodash/_baseHasIn.js","../node_modules/lodash/_baseIsArguments.js","../node_modules/lodash/_baseIsEqual.js","../node_modules/lodash/_baseIsEqualDeep.js","../node_modules/lodash/_baseIsMap.js","../node_modules/lodash/_baseIsMatch.js","../node_modules/lodash/_baseIsNative.js","../node_modules/lodash/_baseIsSet.js","../node_modules/lodash/_baseIsTypedArray.js","../node_modules/lodash/_baseIteratee.js","../node_modules/lodash/_baseKeys.js","../node_modules/lodash/_baseKeysIn.js","../node_modules/lodash/_baseMatches.js","../node_modules/lodash/_baseMatchesProperty.js","../node_modules/lodash/_baseProperty.js","../node_modules/lodash/_basePropertyDeep.js","../node_modules/lodash/_basePullAt.js","../node_modules/lodash/_baseSlice.js","../node_modules/lodash/_baseTimes.js","../node_modules/lodash/_baseToString.js","../node_modules/lodash/_baseUnary.js","../node_modules/lodash/_baseUnset.js","../node_modules/lodash/_cacheHas.js","../node_modules/lodash/_castPath.js","../node_modules/lodash/_cloneArrayBuffer.js","../node_modules/lodash/_cloneBuffer.js","../node_modules/lodash/_cloneDataView.js","../node_modules/lodash/_cloneRegExp.js","../node_modules/lodash/_cloneSymbol.js","../node_modules/lodash/_cloneTypedArray.js","../node_modules/lodash/_copyArray.js","../node_modules/lodash/_copyObject.js","../node_modules/lodash/_copySymbols.js","../node_modules/lodash/_copySymbolsIn.js","../node_modules/lodash/_coreJsData.js","../node_modules/lodash/_defineProperty.js","../node_modules/lodash/_equalArrays.js","../node_modules/lodash/_equalByTag.js","../node_modules/lodash/_equalObjects.js","../node_modules/lodash/_freeGlobal.js","../node_modules/lodash/_getAllKeys.js","../node_modules/lodash/_getAllKeysIn.js","../node_modules/lodash/_getMapData.js","../node_modules/lodash/_getMatchData.js","../node_modules/lodash/_getNative.js","../node_modules/lodash/_getPrototype.js","../node_modules/lodash/_getRawTag.js","../node_modules/lodash/_getSymbols.js","../node_modules/lodash/_getSymbolsIn.js","../node_modules/lodash/_getTag.js","../node_modules/lodash/_getValue.js","../node_modules/lodash/_hasPath.js","../node_modules/lodash/_hashClear.js","../node_modules/lodash/_hashDelete.js","../node_modules/lodash/_hashGet.js","../node_modules/lodash/_hashHas.js","../node_modules/lodash/_hashSet.js","../node_modules/lodash/_initCloneArray.js","../node_modules/lodash/_initCloneByTag.js","../node_modules/lodash/_initCloneObject.js","../node_modules/lodash/_isIndex.js","../node_modules/lodash/_isKey.js","../node_modules/lodash/_isKeyable.js","../node_modules/lodash/_isMasked.js","../node_modules/lodash/_isPrototype.js","../node_modules/lodash/_isStrictComparable.js","../node_modules/lodash/_listCacheClear.js","../node_modules/lodash/_listCacheDelete.js","../node_modules/lodash/_listCacheGet.js","../node_modules/lodash/_listCacheHas.js","../node_modules/lodash/_listCacheSet.js","../node_modules/lodash/_mapCacheClear.js","../node_modules/lodash/_mapCacheDelete.js","../node_modules/lodash/_mapCacheGet.js","../node_modules/lodash/_mapCacheHas.js","../node_modules/lodash/_mapCacheSet.js","../node_modules/lodash/_mapToArray.js","../node_modules/lodash/_matchesStrictComparable.js","../node_modules/lodash/_memoizeCapped.js","../node_modules/lodash/_nativeCreate.js","../node_modules/lodash/_nativeKeys.js","../node_modules/lodash/_nativeKeysIn.js","../node_modules/lodash/_nodeUtil.js","../node_modules/lodash/_objectToString.js","../node_modules/lodash/_overArg.js","../node_modules/lodash/_parent.js","../node_modules/lodash/_root.js","../node_modules/lodash/_setCacheAdd.js","../node_modules/lodash/_setCacheHas.js","../node_modules/lodash/_setToArray.js","../node_modules/lodash/_stackClear.js","../node_modules/lodash/_stackDelete.js","../node_modules/lodash/_stackGet.js","../node_modules/lodash/_stackHas.js","../node_modules/lodash/_stackSet.js","../node_modules/lodash/_stringToPath.js","../node_modules/lodash/_toKey.js","../node_modules/lodash/_toSource.js","../node_modules/lodash/cloneDeep.js","../node_modules/lodash/eq.js","../node_modules/lodash/get.js","../node_modules/lodash/hasIn.js","../node_modules/lodash/identity.js","../node_modules/lodash/isArguments.js","../node_modules/lodash/isArray.js","../node_modules/lodash/isArrayLike.js","../node_modules/lodash/isBuffer.js","../node_modules/lodash/isEmpty.js","../node_modules/lodash/isEqual.js","../node_modules/lodash/isFunction.js","../node_modules/lodash/isLength.js","../node_modules/lodash/isMap.js","../node_modules/lodash/isNil.js","../node_modules/lodash/isObject.js","../node_modules/lodash/isObjectLike.js","../node_modules/lodash/isSet.js","../node_modules/lodash/isSymbol.js","../node_modules/lodash/isTypedArray.js","../node_modules/lodash/keys.js","../node_modules/lodash/keysIn.js","../node_modules/lodash/last.js","../node_modules/lodash/memoize.js","../node_modules/lodash/property.js","../node_modules/lodash/remove.js","../node_modules/lodash/stubArray.js","../node_modules/lodash/stubFalse.js","../node_modules/lodash/toString.js","../node_modules/lodash/uniqueId.js","../node_modules/performance-now/src/performance-now.coffee","../node_modules/prefix-style/index.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/index.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/quill/dist/quill.js","../node_modules/raf/index.js","../node_modules/react-apexcharts/dist/react-apexcharts.min.js","../node_modules/react-custom-scrollbars-2/lib/Scrollbars/defaultRenderElements.js","../node_modules/react-custom-scrollbars-2/lib/Scrollbars/index.js","../node_modules/react-custom-scrollbars-2/lib/Scrollbars/styles.js","../node_modules/react-custom-scrollbars-2/lib/index.js","../node_modules/react-custom-scrollbars-2/lib/utils/getInnerHeight.js","../node_modules/react-custom-scrollbars-2/lib/utils/getInnerWidth.js","../node_modules/react-custom-scrollbars-2/lib/utils/getScrollbarWidth.js","../node_modules/react-custom-scrollbars-2/lib/utils/isString.js","../node_modules/react-custom-scrollbars-2/lib/utils/returnFalse.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/react-dom/client.js","../node_modules/react-dom/index.js","../node_modules/react-i18next/dist/es/unescape.js","../node_modules/react-i18next/dist/es/context.js","../node_modules/react-icons/hi/index.esm.js","../node_modules/react-icons/lib/esm/iconsManifest.js","../node_modules/react-icons/lib/esm/iconContext.js","../node_modules/react-icons/lib/esm/iconBase.js","../node_modules/react-is/cjs/react-is.production.min.js","../node_modules/react-is/index.js","../node_modules/react-lifecycles-compat/react-lifecycles-compat.es.js","../node_modules/react-modal/lib/components/Modal.js","../node_modules/react-modal/lib/components/ModalPortal.js","../node_modules/react-modal/lib/helpers/ariaAppHider.js","../node_modules/react-modal/lib/helpers/bodyTrap.js","../node_modules/react-modal/lib/helpers/classList.js","../node_modules/react-modal/lib/helpers/focusManager.js","../node_modules/react-modal/lib/helpers/portalOpenInstances.js","../node_modules/react-modal/lib/helpers/safeHTMLElement.js","../node_modules/react-modal/lib/helpers/scopeTab.js","../node_modules/react-modal/lib/helpers/tabbable.js","../node_modules/react-modal/lib/index.js","../node_modules/@popperjs/core/lib/dom-utils/getWindow.js","../node_modules/@popperjs/core/lib/dom-utils/instanceOf.js","../node_modules/@popperjs/core/lib/utils/math.js","../node_modules/@popperjs/core/lib/utils/userAgent.js","../node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js","../node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js","../node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js","../node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","../node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js","../node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js","../node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js","../node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js","../node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js","../node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js","../node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js","../node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js","../node_modules/@popperjs/core/lib/dom-utils/getParentNode.js","../node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js","../node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js","../node_modules/@popperjs/core/lib/dom-utils/isTableElement.js","../node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js","../node_modules/@popperjs/core/lib/enums.js","../node_modules/@popperjs/core/lib/utils/orderModifiers.js","../node_modules/@popperjs/core/lib/utils/debounce.js","../node_modules/@popperjs/core/lib/createPopper.js","../node_modules/@popperjs/core/lib/utils/mergeByName.js","../node_modules/@popperjs/core/lib/modifiers/eventListeners.js","../node_modules/@popperjs/core/lib/utils/getBasePlacement.js","../node_modules/@popperjs/core/lib/utils/getVariation.js","../node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js","../node_modules/@popperjs/core/lib/utils/computeOffsets.js","../node_modules/@popperjs/core/lib/modifiers/popperOffsets.js","../node_modules/@popperjs/core/lib/modifiers/computeStyles.js","../node_modules/@popperjs/core/lib/modifiers/offset.js","../node_modules/@popperjs/core/lib/utils/getOppositePlacement.js","../node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js","../node_modules/@popperjs/core/lib/dom-utils/contains.js","../node_modules/@popperjs/core/lib/utils/rectToClientRect.js","../node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js","../node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js","../node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js","../node_modules/@popperjs/core/lib/utils/mergePaddingObject.js","../node_modules/@popperjs/core/lib/utils/getFreshSideObject.js","../node_modules/@popperjs/core/lib/utils/expandToHashMap.js","../node_modules/@popperjs/core/lib/utils/detectOverflow.js","../node_modules/@popperjs/core/lib/utils/within.js","../node_modules/@popperjs/core/lib/modifiers/preventOverflow.js","../node_modules/@popperjs/core/lib/utils/getAltAxis.js","../node_modules/@popperjs/core/lib/modifiers/arrow.js","../node_modules/@popperjs/core/lib/modifiers/hide.js","../node_modules/@popperjs/core/lib/popper.js","../node_modules/@popperjs/core/lib/modifiers/applyStyles.js","../node_modules/@popperjs/core/lib/modifiers/flip.js","../node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js","../node_modules/react-popper/lib/esm/usePopper.js","../node_modules/react-popper/lib/esm/utils.js","../node_modules/react-popper/node_modules/react-fast-compare/index.js","../node_modules/react-quill/src/index.tsx","../node_modules/react-redux/es/components/Context.js","../node_modules/react-redux/es/utils/batch.js","../node_modules/react-redux/es/utils/Subscription.js","../node_modules/react-redux/es/utils/useIsomorphicLayoutEffect.js","../node_modules/react-redux/es/components/Provider.js","../node_modules/react-redux/es/hooks/useReduxContext.js","../node_modules/react-redux/es/hooks/useStore.js","../node_modules/react-redux/es/hooks/useDispatch.js","../node_modules/react-redux/es/hooks/useSelector.js","../node_modules/react-redux/es/index.js","../node_modules/react-redux/node_modules/react-is/cjs/react-is.production.min.js","../node_modules/react-redux/node_modules/react-is/index.js","../node_modules/react-router-dom/index.tsx","../node_modules/react-router-dom/dom.ts","../node_modules/react-router/lib/use-sync-external-store-shim/useSyncExternalStoreShimClient.ts","../node_modules/react-router/lib/use-sync-external-store-shim/index.ts","../node_modules/react-router/lib/context.ts","../node_modules/react-router/lib/hooks.tsx","../node_modules/react-router/lib/components.tsx","../node_modules/@floating-ui/core/dist/floating-ui.core.browser.min.mjs","../node_modules/@floating-ui/dom/dist/floating-ui.dom.browser.min.mjs","../node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js","../node_modules/react-simple-maps/dist/index.umd.js","../node_modules/react-simple-maps/node_modules/d3-array/src/fsum.js","../node_modules/react-simple-maps/node_modules/d3-geo/src/math.js","../node_modules/react-simple-maps/node_modules/d3-geo/src/noop.js","../node_modules/react-simple-maps/node_modules/d3-geo/src/stream.js","../node_modules/react-simple-maps/node_modules/d3-geo/src/area.js","../node_modules/react-simple-maps/node_modules/d3-geo/src/bounds.js","../node_modules/react-simple-maps/node_modules/d3-geo/src/cartesian.js","../node_modules/react-simple-maps/node_modules/d3-geo/src/centroid.js","../node_modules/react-simple-maps/node_modules/d3-geo/src/constant.js","../node_modules/react-simple-maps/node_modules/d3-geo/src/compose.js","../node_modules/react-simple-maps/node_modules/d3-geo/src/rotation.js","../node_modules/react-simple-maps/node_modules/d3-geo/src/circle.js","../node_modules/react-simple-maps/node_modules/d3-geo/src/clip/buffer.js","../node_modules/react-simple-maps/node_modules/d3-geo/src/pointEqual.js","../node_modules/react-simple-maps/node_modules/d3-geo/src/clip/rejoin.js","../node_modules/react-simple-maps/node_modules/d3-geo/src/polygonContains.js","../node_modules/react-simple-maps/node_modules/d3-array/src/merge.js","../node_modules/react-simple-maps/node_modules/d3-geo/src/clip/index.js","../node_modules/react-simple-maps/node_modules/d3-geo/src/clip/antimeridian.js","../node_modules/react-simple-maps/node_modules/d3-geo/src/clip/circle.js","../node_modules/react-simple-maps/node_modules/d3-geo/src/clip/rectangle.js","../node_modules/react-simple-maps/node_modules/d3-geo/src/length.js","../node_modules/react-simple-maps/node_modules/d3-geo/src/clip/line.js","../node_modules/react-simple-maps/node_modules/d3-geo/src/clip/extent.js","../node_modules/react-simple-maps/node_modules/d3-geo/src/distance.js","../node_modules/react-simple-maps/node_modules/d3-geo/src/contains.js","../node_modules/react-simple-maps/node_modules/d3-array/src/range.js","../node_modules/react-simple-maps/node_modules/d3-geo/src/graticule.js","../node_modules/react-simple-maps/node_modules/d3-geo/src/interpolate.js","../node_modules/react-simple-maps/node_modules/d3-geo/src/identity.js","../node_modules/react-simple-maps/node_modules/d3-geo/src/path/area.js","../node_modules/react-simple-maps/node_modules/d3-geo/src/path/bounds.js","../node_modules/react-simple-maps/node_modules/d3-geo/src/path/centroid.js","../node_modules/react-simple-maps/node_modules/d3-geo/src/path/context.js","../node_modules/react-simple-maps/node_modules/d3-geo/src/path/measure.js","../node_modules/react-simple-maps/node_modules/d3-geo/src/path/string.js","../node_modules/react-simple-maps/node_modules/d3-geo/src/path/index.js","../node_modules/react-simple-maps/node_modules/d3-geo/src/transform.js","../node_modules/react-simple-maps/node_modules/d3-geo/src/projection/fit.js","../node_modules/react-simple-maps/node_modules/d3-geo/src/projection/resample.js","../node_modules/react-simple-maps/node_modules/d3-geo/src/projection/index.js","../node_modules/react-simple-maps/node_modules/d3-geo/src/projection/conic.js","../node_modules/react-simple-maps/node_modules/d3-geo/src/projection/conicEqualArea.js","../node_modules/react-simple-maps/node_modules/d3-geo/src/projection/cylindricalEqualArea.js","../node_modules/react-simple-maps/node_modules/d3-geo/src/projection/albers.js","../node_modules/react-simple-maps/node_modules/d3-geo/src/projection/albersUsa.js","../node_modules/react-simple-maps/node_modules/d3-geo/src/projection/azimuthal.js","../node_modules/react-simple-maps/node_modules/d3-geo/src/projection/azimuthalEqualArea.js","../node_modules/react-simple-maps/node_modules/d3-geo/src/projection/azimuthalEquidistant.js","../node_modules/react-simple-maps/node_modules/d3-geo/src/projection/mercator.js","../node_modules/react-simple-maps/node_modules/d3-geo/src/projection/conicConformal.js","../node_modules/react-simple-maps/node_modules/d3-geo/src/projection/equirectangular.js","../node_modules/react-simple-maps/node_modules/d3-geo/src/projection/conicEquidistant.js","../node_modules/react-simple-maps/node_modules/d3-geo/src/projection/equalEarth.js","../node_modules/react-simple-maps/node_modules/d3-geo/src/projection/gnomonic.js","../node_modules/react-simple-maps/node_modules/d3-geo/src/projection/identity.js","../node_modules/react-simple-maps/node_modules/d3-geo/src/projection/naturalEarth1.js","../node_modules/react-simple-maps/node_modules/d3-geo/src/projection/orthographic.js","../node_modules/react-simple-maps/node_modules/d3-geo/src/projection/stereographic.js","../node_modules/react-simple-maps/node_modules/d3-geo/src/projection/transverseMercator.js","../node_modules/react-table/src/publicUtils.js","../node_modules/react-table/src/utils.js","../node_modules/react-table/src/makeDefaultPluginHooks.js","../node_modules/react-table/src/hooks/useColumnVisibility.js","../node_modules/react-table/src/hooks/useTable.js","../node_modules/react-table/src/plugin-hooks/useExpanded.js","../node_modules/react-table/src/filterTypes.js","../node_modules/react-table/src/plugin-hooks/useFilters.js","../node_modules/react-table/src/plugin-hooks/useGlobalFilter.js","../node_modules/react-table/src/aggregations.js","../node_modules/react-table/src/plugin-hooks/useGroupBy.js","../node_modules/react-table/src/sortTypes.js","../node_modules/react-table/src/plugin-hooks/useSortBy.js","../node_modules/react-table/src/plugin-hooks/usePagination.js","../node_modules/react-table/src/plugin-hooks/_UNSTABLE_usePivotColumns.js","../node_modules/react-table/src/plugin-hooks/useRowSelect.js","../node_modules/react-table/src/plugin-hooks/useRowState.js","../node_modules/react-table/src/plugin-hooks/useColumnOrder.js","../node_modules/react-table/src/plugin-hooks/useResizeColumns.js","../node_modules/react-table/src/plugin-hooks/useAbsoluteLayout.js","../node_modules/react-table/src/plugin-hooks/useBlockLayout.js","../node_modules/react-table/src/plugin-hooks/useFlexLayout.js","../node_modules/react-table/src/plugin-hooks/useGridLayout.js","../node_modules/react-table/index.js","../node_modules/react/cjs/react-jsx-runtime.production.min.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react/index.js","../node_modules/react/jsx-runtime.js","../node_modules/redux-persist/lib/storage/createWebStorage.js","../node_modules/redux-persist/lib/storage/getStorage.js","../node_modules/redux-persist/lib/storage/index.js","../node_modules/redux/es/redux.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/scheduler/index.js","../node_modules/to-camel-case/index.js","../node_modules/to-no-case/index.js","../node_modules/to-space-case/index.js","../node_modules/topojson-client/src/identity.js","../node_modules/topojson-client/src/transform.js","../node_modules/topojson-client/src/bbox.js","../node_modules/topojson-client/src/feature.js","../node_modules/topojson-client/src/reverse.js","../node_modules/topojson-client/src/stitch.js","../node_modules/topojson-client/src/mesh.js","../node_modules/topojson-client/src/merge.js","../node_modules/topojson-client/src/bisect.js","../node_modules/topojson-client/src/neighbors.js","../node_modules/topojson-client/src/untransform.js","../node_modules/topojson-client/src/quantize.js","../node_modules/tslib/tslib.es6.js","../node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.browser.esm.js","../node_modules/warning/warning.js","../node_modules/@babel/runtime/helpers/regeneratorRuntime.js","../node_modules/@babel/runtime/helpers/typeof.js","../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","../node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../node_modules/@babel/runtime/helpers/esm/createClass.js","../node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js","../node_modules/@babel/runtime/helpers/esm/createSuper.js","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/inherits.js","../node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","../node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/@babel/runtime/helpers/esm/objectSpread2.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../node_modules/@babel/runtime/helpers/esm/regeneratorRuntime.js","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../node_modules/@babel/runtime/helpers/esm/construct.js","../node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","../node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","../node_modules/i18next/dist/esm/i18next.js","../node_modules/@babel/runtime/helpers/esm/toArray.js","../webpack/bootstrap","../webpack/runtime/compat get default export","../webpack/runtime/create fake namespace object","../webpack/runtime/define property getters","../webpack/runtime/ensure chunk","../webpack/runtime/get javascript chunk filename","../webpack/runtime/get mini-css chunk filename","../webpack/runtime/global","../webpack/runtime/hasOwnProperty shorthand","../webpack/runtime/load script","../webpack/runtime/make namespace object","../webpack/runtime/node module decorator","../webpack/runtime/publicPath","../webpack/runtime/jsonp chunk loading","../node_modules/redux-persist/es/integration/react.js","store/auth/index.js","store/base/index.js","store/rootReducer.js","../node_modules/redux-persist/es/constants.js","../node_modules/redux-persist/es/stateReconciler/autoMergeLevel1.js","../node_modules/redux-persist/es/createPersistoid.js","../node_modules/redux-persist/es/getStoredState.js","../node_modules/redux-persist/es/purgeStoredState.js","../node_modules/redux-persist/es/persistReducer.js","../node_modules/redux-persist/es/persistStore.js","store/index.js","components/template/Theme.js","utils/hooks/useLocale.js","components/layout/index.js","history.js","../node_modules/inflected/dist/esm/inflected.js","../node_modules/route-recognizer/dist/route-recognizer/util.ts","../node_modules/route-recognizer/dist/route-recognizer/dsl.ts","../node_modules/route-recognizer/dist/route-recognizer/normalizer.ts","../node_modules/route-recognizer/dist/route-recognizer.ts","../node_modules/fake-xml-http-request/src/fake-xml-http-request.js","../node_modules/pretender/dist/pretender.es.js","../node_modules/miragejs/lib/factory.js","../node_modules/miragejs/lib/utils/reference-sort.js","../node_modules/miragejs/lib/identity-manager.js","../node_modules/miragejs/lib/response.js","../node_modules/miragejs/lib/utils/inflector.js","../node_modules/miragejs/lib/assert.js","../node_modules/miragejs/lib/orm/associations/association.js","../node_modules/miragejs/lib/orm/associations/belongs-to.js","../node_modules/miragejs/lib/db-collection.js","../node_modules/miragejs/lib/db.js","../node_modules/miragejs/lib/orm/collection.js","../node_modules/miragejs/lib/orm/polymorphic-collection.js","../node_modules/miragejs/lib/orm/associations/has-many.js","../node_modules/miragejs/lib/route-handlers/base.js","../node_modules/miragejs/lib/route-handlers/function.js","../node_modules/miragejs/lib/route-handlers/object.js","../node_modules/miragejs/lib/route-handlers/shorthands/base.js","../node_modules/miragejs/lib/route-handlers/shorthands/get.js","../node_modules/miragejs/lib/route-handlers/shorthands/post.js","../node_modules/miragejs/lib/route-handlers/shorthands/put.js","../node_modules/miragejs/lib/route-handlers/shorthands/delete.js","../node_modules/miragejs/lib/route-handlers/shorthands/head.js","../node_modules/miragejs/lib/route-handler.js","../node_modules/miragejs/lib/utils/extend.js","../node_modules/miragejs/lib/orm/model.js","../node_modules/miragejs/lib/serializer.js","../node_modules/miragejs/lib/serializers/json-api-serializer.js","../node_modules/miragejs/lib/serializer-registry.js","../node_modules/miragejs/lib/orm/schema.js","../node_modules/miragejs/lib/container.js","../node_modules/miragejs/lib/serializers/active-model-serializer.js","../node_modules/miragejs/lib/serializers/rest-serializer.js","../node_modules/miragejs/lib/index.js","mock/index.js","App.js","reportWebVitals.js","index.js"],"sourcesContent":["import React from 'react'\nimport classNames from 'classnames'\nimport PropTypes from 'prop-types'\nimport useThemeClass from 'utils/hooks/useThemeClass'\nimport { Link } from 'react-router-dom'\n\nconst ActionLink = props => {\n\t\n\tconst { children, className, themeColor = true, to, href = '', ...rest } = props\n\n\tconst { textTheme } = useThemeClass()\n\n\tconst classNameProps = {\n\t\tclassName: classNames(themeColor && textTheme, 'hover:underline', className)\n\t}\n\n\treturn (\n\t\tto \n\t\t? \n\t\t\t\n\t\t\t\t{children}\n\t\t\t\n\t\t:\n\t\t\n\t\t\t{children}\n\t\t\n\t\n\t)\n}\n\nActionLink.propTypes = {\n\tthemeColor: PropTypes.bool,\n\tto: PropTypes.string\n}\n\nActionLink.defaultProps = {\n\tthemeColor: true\n}\n\nexport default ActionLink","import React, { useEffect } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nfunction Affix(props) {\n\n const { offset = 0, className, children } = props\n\n const ref = React.createRef()\n let prevStyle = {\n position: '',\n top: '',\n width: '',\n }\n\n const checkPosition = (distanceToBody, width) => {\n const scrollTop = window.scrollY\n\n if (distanceToBody - scrollTop < offset ) {\n if (ref.current.style.position !== 'fixed') {\n for (let key in prevStyle) {\n prevStyle[key] = ref.current.style[key]\n }\n ref.current.style.position = 'fixed'\n ref.current.style.width = width + 'px'\n ref.current.style.top = offset + 'px'\n }\n } else {\n for (let key in prevStyle) {\n ref.current.style[key] = prevStyle[key]\n }\n }\n }\n\n useEffect(() => {\n if (typeof window.scrollY === 'undefined') {\n return\n }\n\n const distanceToBody = window.scrollY + ref.current.getBoundingClientRect().top\n const handleScroll = () => {\n \n if (!ref.current) {\n return\n }\n\n requestAnimationFrame(() => {\n checkPosition(distanceToBody, ref.current.clientWidth)\n })\n }\n\n window.addEventListener('scroll', handleScroll)\n return () => {\n window.removeEventListener('scroll', handleScroll)\n }\n })\n\n return (\n
\n {children}\n
\n )\n}\n\nAffix.propTypes = {\n\toffset: PropTypes.number,\n}\n\nexport default Affix","import React from 'react'\nimport PropTypes from 'prop-types'\nimport useAuthority from 'utils/hooks/useAuthority'\n\nconst AuthorityCheck = props => {\n\n\tconst { userAuthority = [], authority = [], children } = props\n\n\tconst roleMatched = useAuthority(userAuthority, authority)\n\n\treturn roleMatched ? children : <>\n}\n\nAuthorityCheck.propTypes = {\n\tuserAuthority: PropTypes.array,\n\tauthority: PropTypes.array,\n}\n\nexport default AuthorityCheck","/// \nif (typeof FullCalendarVDom === 'undefined') {\n throw new Error('Please import the top-level fullcalendar lib before attempting to import a plugin.');\n}\nvar Component = FullCalendarVDom.Component;\nvar createElement = FullCalendarVDom.createElement;\nvar render = FullCalendarVDom.render;\nvar createRef = FullCalendarVDom.createRef;\nvar Fragment = FullCalendarVDom.Fragment;\nvar createContext = FullCalendarVDom.createContext;\nvar createPortal = FullCalendarVDom.createPortal;\nvar flushSync = FullCalendarVDom.flushSync;\nvar unmountComponentAtNode = FullCalendarVDom.unmountComponentAtNode;\n/* eslint-enable */\n\nexport { Component, Fragment, createContext, createElement, createPortal, createRef, flushSync, render, unmountComponentAtNode };\n","import * as react from 'react'\nimport * as reactDom from 'react-dom'\n\nimport ReactJSX = JSX // our reference to the JSX namespace\n\nexport type ReactComponentChild = react.ReactNode\n | object\n | string\n | number\n | boolean\n | null\n | undefined\n\ndeclare global {\n namespace FullCalendarVDom {\n export import Ref = react.Ref\n export import RefObject = react.RefObject\n export import ComponentType = react.ComponentType\n export import VNode = react.ReactNode\n export import Context = react.Context\n export import Component = react.Component\n export type ComponentChild = ReactComponentChild\n export type ComponentChildren = ReactComponentChild | ReactComponentChild[]\n export import createElement = react.createElement\n export import render = reactDom.render\n export import createRef = react.createRef\n export import Fragment = react.Fragment\n export import createContext = react.createContext\n export import createPortal = reactDom.createPortal\n export type VUIEvent = react.UIEvent\n export function flushSync(callback: () => void): void\n export function unmountComponentAtNode(node: HTMLElement): void\n }\n namespace createElement {\n export import JSX = ReactJSX // preact exports the h.JSX namespace whereas react has it global. use preact's technique\n }\n}\n\n(typeof globalThis !== 'undefined' ? globalThis : window).FullCalendarVDom = { // TODO: streamline when killing IE11 support\n Component: react.Component,\n createElement: react.createElement,\n render: reactDom.render, // never called by FullCalendar's React component\n createRef: react.createRef,\n Fragment: react.Fragment,\n createContext: react.createContext,\n createPortal: reactDom.createPortal,\n flushSync,\n unmountComponentAtNode: reactDom.unmountComponentAtNode // never called by FullCalendar's React component\n}\n\nexport function flushSync(callback) {\n // always sync from top-level\n callback()\n}\n","import { EventSource } from '../structs/event-source'\nimport { CalendarContext } from '../CalendarContext'\n\n// no public types yet. when there are, export from:\n// import {} from './api-type-deps'\n\nexport class EventSourceApi {\n constructor(\n private context: CalendarContext,\n public internalEventSource: EventSource, // rename?\n ) {\n }\n\n remove() {\n this.context.dispatch({\n type: 'REMOVE_EVENT_SOURCE',\n sourceId: this.internalEventSource.sourceId,\n })\n }\n\n refetch() {\n this.context.dispatch({\n type: 'FETCH_EVENT_SOURCES',\n sourceIds: [this.internalEventSource.sourceId],\n isRefetch: true,\n })\n }\n\n get id(): string {\n return this.internalEventSource.publicId\n }\n\n get url(): string {\n return this.internalEventSource.meta.url\n }\n\n get format(): string {\n return this.internalEventSource.meta.format // TODO: bad. not guaranteed\n }\n}\n","import { Dictionary } from '../options'\n\nexport function removeElement(el: HTMLElement) { // removes nodes in addition to elements. bad name\n if (el.parentNode) {\n el.parentNode.removeChild(el)\n }\n}\n\n// Querying\n// ----------------------------------------------------------------------------------------------------------------\n\nexport function elementClosest(el: HTMLElement, selector: string): HTMLElement {\n if (el.closest) {\n return el.closest(selector)\n\n // really bad fallback for IE\n // from https://developer.mozilla.org/en-US/docs/Web/API/Element/closest\n }\n if (!document.documentElement.contains(el)) {\n return null\n }\n do {\n if (elementMatches(el, selector)) {\n return el\n }\n el = (el.parentElement || el.parentNode) as HTMLElement\n } while (el !== null && el.nodeType === 1)\n return null\n}\n\nexport function elementMatches(el: HTMLElement, selector: string): HTMLElement {\n let method = el.matches || (el as any).matchesSelector || (el as any).msMatchesSelector\n\n return method.call(el, selector)\n}\n\n// accepts multiple subject els\n// returns a real array. good for methods like forEach\n// TODO: accept the document\nexport function findElements(container: HTMLElement[] | HTMLElement | NodeListOf, selector: string): HTMLElement[] {\n let containers = container instanceof HTMLElement ? [container] : container\n let allMatches: HTMLElement[] = []\n\n for (let i = 0; i < containers.length; i += 1) {\n let matches = containers[i].querySelectorAll(selector)\n\n for (let j = 0; j < matches.length; j += 1) {\n allMatches.push(matches[j] as HTMLElement)\n }\n }\n\n return allMatches\n}\n\n// accepts multiple subject els\n// only queries direct child elements // TODO: rename to findDirectChildren!\nexport function findDirectChildren(parent: HTMLElement[] | HTMLElement, selector?: string): HTMLElement[] {\n let parents = parent instanceof HTMLElement ? [parent] : parent\n let allMatches = []\n\n for (let i = 0; i < parents.length; i += 1) {\n let childNodes = parents[i].children // only ever elements\n\n for (let j = 0; j < childNodes.length; j += 1) {\n let childNode = childNodes[j]\n\n if (!selector || elementMatches(childNode as HTMLElement, selector)) {\n allMatches.push(childNode)\n }\n }\n }\n\n return allMatches\n}\n\n// Style\n// ----------------------------------------------------------------------------------------------------------------\n\nconst PIXEL_PROP_RE = /(top|left|right|bottom|width|height)$/i\n\nexport function applyStyle(el: HTMLElement, props: Dictionary) {\n for (let propName in props) {\n applyStyleProp(el, propName, props[propName])\n }\n}\n\nexport function applyStyleProp(el: HTMLElement, name: string, val) {\n if (val == null) {\n el.style[name] = ''\n } else if (typeof val === 'number' && PIXEL_PROP_RE.test(name)) {\n el.style[name] = `${val}px`\n } else {\n el.style[name] = val\n }\n}\n\n// Event Handling\n// ----------------------------------------------------------------------------------------------------------------\n\n// if intercepting bubbled events at the document/window/body level,\n// and want to see originating element (the 'target'), use this util instead\n// of `ev.target` because it goes within web-component boundaries.\nexport function getEventTargetViaRoot(ev: Event) {\n return ev.composedPath?.()[0] ?? ev.target\n}\n\n// Shadow DOM consuderations\n// ----------------------------------------------------------------------------------------------------------------\n\nexport function getElRoot(el: HTMLElement): ShadowRoot | Document {\n return el.getRootNode ? el.getRootNode() as ShadowRoot : document\n}\n\n// Unique ID for DOM attribute\n\nlet guid = 0\n\nexport function getUniqueDomId() {\n guid += 1\n return 'fc-dom-' + guid\n}\n","import { elementClosest } from './dom-manip'\nimport { VUIEvent } from '../vdom'\n\n// Stops a mouse/touch event from doing it's native browser action\nexport function preventDefault(ev) {\n ev.preventDefault()\n}\n\n// Event Delegation\n// ----------------------------------------------------------------------------------------------------------------\n\nexport function buildDelegationHandler(\n selector: string,\n handler: (ev: EventType, matchedTarget: HTMLElement) => void,\n) {\n return (ev: EventType) => {\n let matchedChild = elementClosest(ev.target as HTMLElement, selector)\n\n if (matchedChild) {\n handler.call(matchedChild, ev, matchedChild)\n }\n }\n}\n\nexport function listenBySelector(\n container: HTMLElement,\n eventType: string,\n selector: string,\n handler: (ev: Event, matchedTarget: HTMLElement) => void,\n) {\n let attachedHandler = buildDelegationHandler(selector, handler)\n\n container.addEventListener(eventType, attachedHandler)\n\n return () => {\n container.removeEventListener(eventType, attachedHandler)\n }\n}\n\nexport function listenToHoverBySelector(\n container: HTMLElement,\n selector: string,\n onMouseEnter: (ev: Event, matchedTarget: HTMLElement) => void,\n onMouseLeave: (ev: Event, matchedTarget: HTMLElement) => void,\n) {\n let currentMatchedChild\n\n return listenBySelector(container, 'mouseover', selector, (mouseOverEv, matchedChild) => {\n if (matchedChild !== currentMatchedChild) {\n currentMatchedChild = matchedChild\n onMouseEnter(mouseOverEv, matchedChild)\n\n let realOnMouseLeave = (mouseLeaveEv) => {\n currentMatchedChild = null\n onMouseLeave(mouseLeaveEv, matchedChild)\n matchedChild.removeEventListener('mouseleave', realOnMouseLeave)\n }\n\n // listen to the next mouseleave, and then unattach\n matchedChild.addEventListener('mouseleave', realOnMouseLeave)\n }\n })\n}\n\n// Animation\n// ----------------------------------------------------------------------------------------------------------------\n\nconst transitionEventNames = [\n 'webkitTransitionEnd',\n 'otransitionend',\n 'oTransitionEnd',\n 'msTransitionEnd',\n 'transitionend',\n]\n\n// triggered only when the next single subsequent transition finishes\nexport function whenTransitionDone(el: HTMLElement, callback: (ev: Event) => void) {\n let realCallback = (ev) => {\n callback(ev)\n transitionEventNames.forEach((eventName) => {\n el.removeEventListener(eventName, realCallback)\n })\n }\n\n transitionEventNames.forEach((eventName) => {\n el.addEventListener(eventName, realCallback) // cross-browser way to determine when the transition finishes\n })\n}\n\n// ARIA workarounds\n// ----------------------------------------------------------------------------------------------------------------\n\nexport function createAriaClickAttrs(handler: ((ev: UIEvent) => void)) {\n return {\n onClick: handler,\n ...createAriaKeyboardAttrs(handler),\n }\n}\n\nexport function createAriaKeyboardAttrs(handler: ((ev: UIEvent) => void)) {\n return {\n tabIndex: 0,\n onKeyDown(ev: KeyboardEvent) {\n if (ev.key === 'Enter' || ev.key === ' ') {\n handler(ev)\n ev.preventDefault() // if space, don't scroll down page\n }\n },\n }\n}\n","import { preventDefault } from './dom-event'\n\nexport type GenericHash = { [key: string]: any } // already did this somewhere\n\nlet guidNumber = 0\n\nexport function guid() {\n guidNumber += 1\n return String(guidNumber)\n}\n\n/* FullCalendar-specific DOM Utilities\n----------------------------------------------------------------------------------------------------------------------*/\n\n// Make the mouse cursor express that an event is not allowed in the current area\nexport function disableCursor() {\n document.body.classList.add('fc-not-allowed')\n}\n\n// Returns the mouse cursor to its original look\nexport function enableCursor() {\n document.body.classList.remove('fc-not-allowed')\n}\n\n/* Selection\n----------------------------------------------------------------------------------------------------------------------*/\n\nexport function preventSelection(el: HTMLElement) {\n el.classList.add('fc-unselectable')\n el.addEventListener('selectstart', preventDefault)\n}\n\nexport function allowSelection(el: HTMLElement) {\n el.classList.remove('fc-unselectable')\n el.removeEventListener('selectstart', preventDefault)\n}\n\n/* Context Menu\n----------------------------------------------------------------------------------------------------------------------*/\n\nexport function preventContextMenu(el: HTMLElement) {\n el.addEventListener('contextmenu', preventDefault)\n}\n\nexport function allowContextMenu(el: HTMLElement) {\n el.removeEventListener('contextmenu', preventDefault)\n}\n\n/* Object Ordering by Field\n----------------------------------------------------------------------------------------------------------------------*/\n\nexport interface OrderSpec {\n field?: string\n order?: number\n func?: FieldSpecInputFunc\n}\n\nexport type FieldSpecInput = string | string[] | FieldSpecInputFunc | FieldSpecInputFunc[]\nexport type FieldSpecInputFunc = (a: Subject, b: Subject) => number\n\nexport function parseFieldSpecs(input: FieldSpecInput): OrderSpec[] {\n let specs: OrderSpec[] = []\n let tokens = []\n let i\n let token\n\n if (typeof input === 'string') {\n tokens = input.split(/\\s*,\\s*/)\n } else if (typeof input === 'function') {\n tokens = [input]\n } else if (Array.isArray(input)) {\n tokens = input\n }\n\n for (i = 0; i < tokens.length; i += 1) {\n token = tokens[i]\n\n if (typeof token === 'string') {\n specs.push(\n token.charAt(0) === '-' ?\n { field: token.substring(1), order: -1 } :\n { field: token, order: 1 },\n )\n } else if (typeof token === 'function') {\n specs.push({ func: token })\n }\n }\n\n return specs\n}\n\nexport function compareByFieldSpecs(obj0: Subject, obj1: Subject, fieldSpecs: OrderSpec[]): number {\n let i\n let cmp\n\n for (i = 0; i < fieldSpecs.length; i += 1) {\n cmp = compareByFieldSpec(obj0, obj1, fieldSpecs[i])\n if (cmp) {\n return cmp\n }\n }\n\n return 0\n}\n\nexport function compareByFieldSpec(obj0: Subject, obj1: Subject, fieldSpec: OrderSpec): number {\n if (fieldSpec.func) {\n return fieldSpec.func(obj0, obj1)\n }\n\n return flexibleCompare(obj0[fieldSpec.field], obj1[fieldSpec.field])\n * (fieldSpec.order || 1)\n}\n\nexport function flexibleCompare(a, b) {\n if (!a && !b) {\n return 0\n }\n if (b == null) {\n return -1\n }\n if (a == null) {\n return 1\n }\n if (typeof a === 'string' || typeof b === 'string') {\n return String(a).localeCompare(String(b))\n }\n return a - b\n}\n\n/* String Utilities\n----------------------------------------------------------------------------------------------------------------------*/\n\nexport function padStart(val, len) { // doesn't work with total length more than 3\n let s = String(val)\n return '000'.substr(0, len - s.length) + s\n}\n\nexport function formatWithOrdinals(\n formatter: string | ((...formatterArgs: Args) => string),\n args: Args,\n fallbackText: string,\n) {\n if (typeof formatter === 'function') {\n return formatter(...args)\n }\n if (typeof formatter === 'string') { // non-blank string\n return args.reduce((str, arg, index) => (\n str.replace('$' + index, arg || '')\n ), formatter)\n }\n return fallbackText\n}\n\n/* Number Utilities\n----------------------------------------------------------------------------------------------------------------------*/\n\nexport function compareNumbers(a, b) { // for .sort()\n return a - b\n}\n\nexport function isInt(n) {\n return n % 1 === 0\n}\n\n/* Weird Utilities\n----------------------------------------------------------------------------------------------------------------------*/\n\nexport function firstDefined(...args) {\n for (let i = 0; i < args.length; i += 1) {\n if (args[i] !== undefined) {\n return args[i]\n }\n }\n return undefined\n}\n\n/* FC-specific DOM dimension stuff\n----------------------------------------------------------------------------------------------------------------------*/\n\nexport function computeSmallestCellWidth(cellEl: HTMLElement) {\n let allWidthEl = cellEl.querySelector('.fc-scrollgrid-shrink-frame')\n let contentWidthEl = cellEl.querySelector('.fc-scrollgrid-shrink-cushion')\n\n if (!allWidthEl) {\n throw new Error('needs fc-scrollgrid-shrink-frame className') // TODO: use const\n }\n if (!contentWidthEl) {\n throw new Error('needs fc-scrollgrid-shrink-cushion className')\n }\n\n return cellEl.getBoundingClientRect().width - allWidthEl.getBoundingClientRect().width + // the cell padding+border\n contentWidthEl.getBoundingClientRect().width\n}\n","import { Duration } from './duration'\n\nexport type DateMarker = Date\n\nexport const DAY_IDS = ['sun', 'mon', 'tue', 'wed', 'thu', 'fri', 'sat']\n\n// Adding\n\nexport function addWeeks(m: DateMarker, n: number) {\n let a = dateToUtcArray(m)\n a[2] += n * 7\n return arrayToUtcDate(a)\n}\n\nexport function addDays(m: DateMarker, n: number) {\n let a = dateToUtcArray(m)\n a[2] += n\n return arrayToUtcDate(a)\n}\n\nexport function addMs(m: DateMarker, n: number) {\n let a = dateToUtcArray(m)\n a[6] += n\n return arrayToUtcDate(a)\n}\n\n// Diffing (all return floats)\n// TODO: why not use ranges?\n\nexport function diffWeeks(m0, m1) {\n return diffDays(m0, m1) / 7\n}\n\nexport function diffDays(m0, m1) {\n return (m1.valueOf() - m0.valueOf()) / (1000 * 60 * 60 * 24)\n}\n\nexport function diffHours(m0, m1) {\n return (m1.valueOf() - m0.valueOf()) / (1000 * 60 * 60)\n}\n\nexport function diffMinutes(m0, m1) {\n return (m1.valueOf() - m0.valueOf()) / (1000 * 60)\n}\n\nexport function diffSeconds(m0, m1) {\n return (m1.valueOf() - m0.valueOf()) / 1000\n}\n\nexport function diffDayAndTime(m0: DateMarker, m1: DateMarker): Duration {\n let m0day = startOfDay(m0)\n let m1day = startOfDay(m1)\n\n return {\n years: 0,\n months: 0,\n days: Math.round(diffDays(m0day, m1day)),\n milliseconds: (m1.valueOf() - m1day.valueOf()) - (m0.valueOf() - m0day.valueOf()),\n }\n}\n\n// Diffing Whole Units\n\nexport function diffWholeWeeks(m0: DateMarker, m1: DateMarker): number {\n let d = diffWholeDays(m0, m1)\n\n if (d !== null && d % 7 === 0) {\n return d / 7\n }\n\n return null\n}\n\nexport function diffWholeDays(m0: DateMarker, m1: DateMarker): number {\n if (timeAsMs(m0) === timeAsMs(m1)) {\n return Math.round(diffDays(m0, m1))\n }\n return null\n}\n\n// Start-Of\n\nexport function startOfDay(m: DateMarker): DateMarker {\n return arrayToUtcDate([\n m.getUTCFullYear(),\n m.getUTCMonth(),\n m.getUTCDate(),\n ])\n}\n\nexport function startOfHour(m: DateMarker) {\n return arrayToUtcDate([\n m.getUTCFullYear(),\n m.getUTCMonth(),\n m.getUTCDate(),\n m.getUTCHours(),\n ])\n}\n\nexport function startOfMinute(m: DateMarker) {\n return arrayToUtcDate([\n m.getUTCFullYear(),\n m.getUTCMonth(),\n m.getUTCDate(),\n m.getUTCHours(),\n m.getUTCMinutes(),\n ])\n}\n\nexport function startOfSecond(m: DateMarker) {\n return arrayToUtcDate([\n m.getUTCFullYear(),\n m.getUTCMonth(),\n m.getUTCDate(),\n m.getUTCHours(),\n m.getUTCMinutes(),\n m.getUTCSeconds(),\n ])\n}\n\n// Week Computation\n\nexport function weekOfYear(marker, dow, doy) {\n let y = marker.getUTCFullYear()\n let w = weekOfGivenYear(marker, y, dow, doy)\n\n if (w < 1) {\n return weekOfGivenYear(marker, y - 1, dow, doy)\n }\n\n let nextW = weekOfGivenYear(marker, y + 1, dow, doy)\n if (nextW >= 1) {\n return Math.min(w, nextW)\n }\n\n return w\n}\n\nfunction weekOfGivenYear(marker, year, dow, doy) {\n let firstWeekStart = arrayToUtcDate([year, 0, 1 + firstWeekOffset(year, dow, doy)])\n let dayStart = startOfDay(marker)\n let days = Math.round(diffDays(firstWeekStart, dayStart))\n\n return Math.floor(days / 7) + 1 // zero-indexed\n}\n\n// start-of-first-week - start-of-year\nfunction firstWeekOffset(year, dow, doy) {\n // first-week day -- which january is always in the first week (4 for iso, 1 for other)\n let fwd = 7 + dow - doy\n\n // first-week day local weekday -- which local weekday is fwd\n let fwdlw = (7 + arrayToUtcDate([year, 0, fwd]).getUTCDay() - dow) % 7\n\n return -fwdlw + fwd - 1\n}\n\n// Array Conversion\n\nexport function dateToLocalArray(date) {\n return [\n date.getFullYear(),\n date.getMonth(),\n date.getDate(),\n date.getHours(),\n date.getMinutes(),\n date.getSeconds(),\n date.getMilliseconds(),\n ]\n}\n\nexport function arrayToLocalDate(a) {\n return new Date(\n a[0],\n a[1] || 0,\n a[2] == null ? 1 : a[2], // day of month\n a[3] || 0,\n a[4] || 0,\n a[5] || 0,\n )\n}\n\nexport function dateToUtcArray(date) {\n return [\n date.getUTCFullYear(),\n date.getUTCMonth(),\n date.getUTCDate(),\n date.getUTCHours(),\n date.getUTCMinutes(),\n date.getUTCSeconds(),\n date.getUTCMilliseconds(),\n ]\n}\n\nexport function arrayToUtcDate(a) {\n // according to web standards (and Safari), a month index is required.\n // massage if only given a year.\n if (a.length === 1) {\n a = a.concat([0])\n }\n\n return new Date(Date.UTC(...(a as [any, any])))\n}\n\n// Other Utils\n\nexport function isValidDate(m: DateMarker) {\n return !isNaN(m.valueOf())\n}\n\nexport function timeAsMs(m: DateMarker) {\n return m.getUTCHours() * 1000 * 60 * 60 +\n m.getUTCMinutes() * 1000 * 60 +\n m.getUTCSeconds() * 1000 +\n m.getUTCMilliseconds()\n}\n","import { DateRange } from '../datelib/date-range'\nimport { guid } from '../util/misc'\n\nexport interface EventInstance {\n instanceId: string\n defId: string\n range: DateRange\n forcedStartTzo: number | null\n forcedEndTzo: number | null\n}\n\nexport type EventInstanceHash = { [instanceId: string]: EventInstance }\n\nexport function createEventInstance(\n defId: string,\n range: DateRange,\n forcedStartTzo?: number,\n forcedEndTzo?: number,\n): EventInstance {\n return {\n instanceId: guid(),\n defId,\n range,\n forcedStartTzo: forcedStartTzo == null ? null : forcedStartTzo,\n forcedEndTzo: forcedEndTzo == null ? null : forcedEndTzo,\n }\n}\n","const { hasOwnProperty } = Object.prototype\n\n// Merges an array of objects into a single object.\n// The second argument allows for an array of property names who's object values will be merged together.\nexport function mergeProps(propObjs, complexPropsMap?): any {\n let dest = {}\n\n if (complexPropsMap) {\n for (let name in complexPropsMap) {\n let complexObjs = []\n\n // collect the trailing object values, stopping when a non-object is discovered\n for (let i = propObjs.length - 1; i >= 0; i -= 1) {\n let val = propObjs[i][name]\n\n if (typeof val === 'object' && val) { // non-null object\n complexObjs.unshift(val)\n } else if (val !== undefined) {\n dest[name] = val // if there were no objects, this value will be used\n break\n }\n }\n\n // if the trailing values were objects, use the merged value\n if (complexObjs.length) {\n dest[name] = mergeProps(complexObjs)\n }\n }\n }\n\n // copy values into the destination, going from last to first\n for (let i = propObjs.length - 1; i >= 0; i -= 1) {\n let props = propObjs[i]\n\n for (let name in props) {\n if (!(name in dest)) { // if already assigned by previous props or complex props, don't reassign\n dest[name] = props[name]\n }\n }\n }\n\n return dest\n}\n\nexport function filterHash(hash, func) {\n let filtered = {}\n\n for (let key in hash) {\n if (func(hash[key], key)) {\n filtered[key] = hash[key]\n }\n }\n\n return filtered\n}\n\nexport function mapHash(\n hash: { [key: string]: InputItem },\n func: (input: InputItem, key: string) => OutputItem,\n): { [key: string]: OutputItem } {\n let newHash = {}\n\n for (let key in hash) {\n newHash[key] = func(hash[key], key)\n }\n\n return newHash\n}\n\nexport function arrayToHash(a): { [key: string]: true } { // TODO: rename to strinArrayToHash or something\n let hash = {}\n\n for (let item of a) {\n hash[item] = true\n }\n\n return hash\n}\n\nexport function buildHashFromArray(a: Item[], func: (item: Item, index: number) => [ string, ItemRes ]) {\n let hash: { [key: string]: ItemRes } = {}\n\n for (let i = 0; i < a.length; i += 1) {\n let tuple = func(a[i], i)\n\n hash[tuple[0]] = tuple[1]\n }\n\n return hash\n}\n\nexport function hashValuesToArray(obj) { // can't use Object.values yet because of no IE support\n let a = []\n\n for (let key in obj) {\n a.push(obj[key])\n }\n\n return a\n}\n\nexport function isPropsEqual(obj0, obj1) { // TODO: merge with compareObjs\n if (obj0 === obj1) {\n return true\n }\n\n for (let key in obj0) {\n if (hasOwnProperty.call(obj0, key)) {\n if (!(key in obj1)) {\n return false\n }\n }\n }\n\n for (let key in obj1) {\n if (hasOwnProperty.call(obj1, key)) {\n if (obj0[key] !== obj1[key]) {\n return false\n }\n }\n }\n\n return true\n}\n\nexport function getUnequalProps(obj0, obj1) {\n let keys: string[] = []\n\n for (let key in obj0) {\n if (hasOwnProperty.call(obj0, key)) {\n if (!(key in obj1)) {\n keys.push(key)\n }\n }\n }\n\n for (let key in obj1) {\n if (hasOwnProperty.call(obj1, key)) {\n if (obj0[key] !== obj1[key]) {\n keys.push(key)\n }\n }\n }\n\n return keys\n}\n\nexport type EqualityFunc = (a: T, b: T) => boolean\nexport type EqualityThing = EqualityFunc | true\n\nexport type EqualityFuncs = { // not really just a \"func\" anymore\n [K in keyof ObjType]?: EqualityThing\n}\n\nexport function compareObjs(oldProps, newProps, equalityFuncs: EqualityFuncs = {}) {\n if (oldProps === newProps) {\n return true\n }\n\n for (let key in newProps) {\n if (key in oldProps && isObjValsEqual(oldProps[key], newProps[key], equalityFuncs[key])) {\n // equal\n } else {\n return false\n }\n }\n\n // check for props that were omitted in the new\n for (let key in oldProps) {\n if (!(key in newProps)) {\n return false\n }\n }\n\n return true\n}\n\n/*\nassumed \"true\" equality for handler names like \"onReceiveSomething\"\n*/\nfunction isObjValsEqual(val0: T, val1: T, comparator: EqualityThing) {\n if (val0 === val1 || comparator === true) {\n return true\n }\n if (comparator) {\n return comparator(val0, val1)\n }\n return false\n}\n\nexport function collectFromHash(\n hash: { [key: string]: Item },\n startIndex = 0,\n endIndex?: number,\n step = 1,\n) {\n let res: Item[] = []\n\n if (endIndex == null) {\n endIndex = Object.keys(hash).length\n }\n\n for (let i = startIndex; i < endIndex; i += step) {\n let val = hash[i]\n\n if (val !== undefined) { // will disregard undefined for sparse arrays\n res.push(val)\n }\n }\n\n return res\n}\n","import { EventDef } from './event-def'\nimport { EventInstance, createEventInstance } from './event-instance'\nimport { DateRange } from '../datelib/date-range'\nimport { DateEnv } from '../datelib/env'\nimport { Duration } from '../datelib/duration'\nimport { DateMarker, startOfDay } from '../datelib/marker'\nimport { EventStore } from './event-store'\nimport { CalendarContext } from '../CalendarContext'\nimport { filterHash } from '../util/object'\nimport { EventRefined } from './event-parse'\n\n/*\nThe plugin system for defining how a recurring event is expanded into individual instances.\n*/\n\nexport interface ParsedRecurring {\n typeData: RecurringData\n allDayGuess: boolean | null\n duration: Duration | null // signals hasEnd\n}\n\nexport interface RecurringType {\n parse: (refined: EventRefined, dateEnv: DateEnv) => ParsedRecurring | null // TODO: rename to post-process or something\n expand: (typeData: any, framingRange: DateRange, dateEnv: DateEnv) => DateMarker[]\n}\n\nexport function parseRecurring(\n refined: EventRefined,\n defaultAllDay: boolean | null,\n dateEnv: DateEnv,\n recurringTypes: RecurringType[],\n) {\n for (let i = 0; i < recurringTypes.length; i += 1) {\n let parsed = recurringTypes[i].parse(refined, dateEnv)\n\n if (parsed) {\n let { allDay } = refined\n if (allDay == null) {\n allDay = defaultAllDay\n if (allDay == null) {\n allDay = parsed.allDayGuess\n if (allDay == null) {\n allDay = false\n }\n }\n }\n\n return {\n allDay,\n duration: parsed.duration,\n typeData: parsed.typeData,\n typeId: i,\n }\n }\n }\n\n return null\n}\n\nexport function expandRecurring(eventStore: EventStore, framingRange: DateRange, context: CalendarContext): EventStore {\n let { dateEnv, pluginHooks, options } = context\n let { defs, instances } = eventStore\n\n // remove existing recurring instances\n // TODO: bad. always expand events as a second step\n instances = filterHash(instances, (instance: EventInstance) => !defs[instance.defId].recurringDef)\n\n for (let defId in defs) {\n let def = defs[defId]\n\n if (def.recurringDef) {\n let { duration } = def.recurringDef\n\n if (!duration) {\n duration = def.allDay ?\n options.defaultAllDayEventDuration :\n options.defaultTimedEventDuration\n }\n\n let starts = expandRecurringRanges(def, duration, framingRange, dateEnv, pluginHooks.recurringTypes)\n\n for (let start of starts) {\n let instance = createEventInstance(defId, {\n start,\n end: dateEnv.add(start, duration),\n })\n instances[instance.instanceId] = instance\n }\n }\n }\n\n return { defs, instances }\n}\n\n/*\nEvent MUST have a recurringDef\n*/\nfunction expandRecurringRanges(\n eventDef: EventDef,\n duration: Duration,\n framingRange: DateRange,\n dateEnv: DateEnv,\n recurringTypes: RecurringType[],\n): DateMarker[] {\n let typeDef = recurringTypes[eventDef.recurringDef.typeId]\n let markers = typeDef.expand(\n eventDef.recurringDef.typeData,\n {\n start: dateEnv.subtract(framingRange.start, duration), // for when event starts before framing range and goes into\n end: framingRange.end,\n },\n dateEnv,\n )\n\n // the recurrence plugins don't guarantee that all-day events are start-of-day, so we have to\n if (eventDef.allDay) {\n markers = markers.map(startOfDay)\n }\n\n return markers\n}\n","import { isInt } from '../util/misc'\n\nexport type DurationInput = DurationObjectInput | string | number\n\nexport interface DurationObjectInput {\n years?: number\n year?: number\n months?: number\n month?: number\n weeks?: number\n week?: number\n days?: number\n day?: number\n hours?: number\n hour?: number\n minutes?: number\n minute?: number\n seconds?: number\n second?: number\n milliseconds?: number\n millisecond?: number\n ms?: number\n}\n\nexport interface Duration {\n years: number\n months: number\n days: number\n milliseconds: number\n specifiedWeeks?: boolean\n}\n\nconst INTERNAL_UNITS = ['years', 'months', 'days', 'milliseconds']\nconst PARSE_RE = /^(-?)(?:(\\d+)\\.)?(\\d+):(\\d\\d)(?::(\\d\\d)(?:\\.(\\d\\d\\d))?)?/\n\n// Parsing and Creation\n\nexport function createDuration(input: DurationInput, unit?: string): Duration | null {\n if (typeof input === 'string') {\n return parseString(input)\n }\n\n if (typeof input === 'object' && input) { // non-null object\n return parseObject(input)\n }\n\n if (typeof input === 'number') {\n return parseObject({ [unit || 'milliseconds']: input })\n }\n return null\n}\n\nfunction parseString(s: string): Duration {\n let m = PARSE_RE.exec(s)\n if (m) {\n let sign = m[1] ? -1 : 1\n return {\n years: 0,\n months: 0,\n days: sign * (m[2] ? parseInt(m[2], 10) : 0),\n milliseconds: sign * (\n (m[3] ? parseInt(m[3], 10) : 0) * 60 * 60 * 1000 + // hours\n (m[4] ? parseInt(m[4], 10) : 0) * 60 * 1000 + // minutes\n (m[5] ? parseInt(m[5], 10) : 0) * 1000 + // seconds\n (m[6] ? parseInt(m[6], 10) : 0) // ms\n ),\n }\n }\n return null\n}\n\nfunction parseObject(obj: DurationObjectInput): Duration {\n let duration: Duration = {\n years: obj.years || obj.year || 0,\n months: obj.months || obj.month || 0,\n days: obj.days || obj.day || 0,\n milliseconds:\n (obj.hours || obj.hour || 0) * 60 * 60 * 1000 + // hours\n (obj.minutes || obj.minute || 0) * 60 * 1000 + // minutes\n (obj.seconds || obj.second || 0) * 1000 + // seconds\n (obj.milliseconds || obj.millisecond || obj.ms || 0), // ms\n }\n\n let weeks = obj.weeks || obj.week\n if (weeks) {\n duration.days += weeks * 7\n duration.specifiedWeeks = true\n }\n\n return duration\n}\n\n// Equality\n\nexport function durationsEqual(d0: Duration, d1: Duration): boolean {\n return d0.years === d1.years &&\n d0.months === d1.months &&\n d0.days === d1.days &&\n d0.milliseconds === d1.milliseconds\n}\n\nexport function asCleanDays(dur: Duration) {\n if (!dur.years && !dur.months && !dur.milliseconds) {\n return dur.days\n }\n return 0\n}\n\n// Simple Math\n\nexport function addDurations(d0: Duration, d1: Duration) {\n return {\n years: d0.years + d1.years,\n months: d0.months + d1.months,\n days: d0.days + d1.days,\n milliseconds: d0.milliseconds + d1.milliseconds,\n }\n}\n\nexport function subtractDurations(d1: Duration, d0: Duration): Duration {\n return {\n years: d1.years - d0.years,\n months: d1.months - d0.months,\n days: d1.days - d0.days,\n milliseconds: d1.milliseconds - d0.milliseconds,\n }\n}\n\nexport function multiplyDuration(d: Duration, n: number) {\n return {\n years: d.years * n,\n months: d.months * n,\n days: d.days * n,\n milliseconds: d.milliseconds * n,\n }\n}\n\n// Conversions\n// \"Rough\" because they are based on average-case Gregorian months/years\n\nexport function asRoughYears(dur: Duration) {\n return asRoughDays(dur) / 365\n}\n\nexport function asRoughMonths(dur: Duration) {\n return asRoughDays(dur) / 30\n}\n\nexport function asRoughDays(dur: Duration) {\n return asRoughMs(dur) / 864e5\n}\n\nexport function asRoughHours(dur: Duration) {\n return asRoughMs(dur) / (1000 * 60 * 60)\n}\n\nexport function asRoughMinutes(dur: Duration) {\n return asRoughMs(dur) / (1000 * 60)\n}\n\nexport function asRoughSeconds(dur: Duration) {\n return asRoughMs(dur) / 1000\n}\n\nexport function asRoughMs(dur: Duration) {\n return dur.years * (365 * 864e5) +\n dur.months * (30 * 864e5) +\n dur.days * 864e5 +\n dur.milliseconds\n}\n\n// Advanced Math\n\nexport function wholeDivideDurations(numerator: Duration, denominator: Duration): number {\n let res = null\n\n for (let i = 0; i < INTERNAL_UNITS.length; i += 1) {\n let unit = INTERNAL_UNITS[i]\n\n if (denominator[unit]) {\n let localRes = numerator[unit] / denominator[unit]\n\n if (!isInt(localRes) || (res !== null && res !== localRes)) {\n return null\n }\n\n res = localRes\n } else if (numerator[unit]) {\n // needs to divide by something but can't!\n return null\n }\n }\n\n return res\n}\n\nexport function greatestDurationDenominator(dur: Duration) {\n let ms = dur.milliseconds\n if (ms) {\n if (ms % 1000 !== 0) {\n return { unit: 'millisecond', value: ms }\n }\n if (ms % (1000 * 60) !== 0) {\n return { unit: 'second', value: ms / 1000 }\n }\n if (ms % (1000 * 60 * 60) !== 0) {\n return { unit: 'minute', value: ms / (1000 * 60) }\n }\n if (ms) {\n return { unit: 'hour', value: ms / (1000 * 60 * 60) }\n }\n }\n if (dur.days) {\n if (dur.specifiedWeeks && dur.days % 7 === 0) {\n return { unit: 'week', value: dur.days / 7 }\n }\n return { unit: 'day', value: dur.days }\n }\n if (dur.months) {\n return { unit: 'month', value: dur.months }\n }\n if (dur.years) {\n return { unit: 'year', value: dur.years }\n }\n return { unit: 'millisecond', value: 0 }\n}\n","import { DateMarker } from './marker'\nimport { padStart } from '../util/misc'\n\n// timeZoneOffset is in minutes\nexport function buildIsoString(marker: DateMarker, timeZoneOffset?: number, stripZeroTime: boolean = false) {\n let s = marker.toISOString()\n\n s = s.replace('.000', '')\n\n if (stripZeroTime) {\n s = s.replace('T00:00:00Z', '')\n }\n\n if (s.length > 10) { // time part wasn't stripped, can add timezone info\n if (timeZoneOffset == null) {\n s = s.replace('Z', '')\n } else if (timeZoneOffset !== 0) {\n s = s.replace('Z', formatTimeZoneOffset(timeZoneOffset, true))\n }\n // otherwise, its UTC-0 and we want to keep the Z\n }\n\n return s\n}\n\n// formats the date, but with no time part\n// TODO: somehow merge with buildIsoString and stripZeroTime\n// TODO: rename. omit \"string\"\nexport function formatDayString(marker: DateMarker) {\n return marker.toISOString().replace(/T.*$/, '')\n}\n\n// TODO: use Date::toISOString and use everything after the T?\nexport function formatIsoTimeString(marker: DateMarker) {\n return padStart(marker.getUTCHours(), 2) + ':' +\n padStart(marker.getUTCMinutes(), 2) + ':' +\n padStart(marker.getUTCSeconds(), 2)\n}\n\nexport function formatTimeZoneOffset(minutes: number, doIso = false) {\n let sign = minutes < 0 ? '-' : '+'\n let abs = Math.abs(minutes)\n let hours = Math.floor(abs / 60)\n let mins = Math.round(abs % 60)\n\n if (doIso) {\n return `${sign + padStart(hours, 2)}:${padStart(mins, 2)}`\n }\n return `GMT${sign}${hours}${mins ? `:${padStart(mins, 2)}` : ''}`\n}\n","// TODO: new util arrayify?\n// Array.prototype.slice.call(\n\nexport function removeMatching(array, testFunc) {\n let removeCnt = 0\n let i = 0\n\n while (i < array.length) {\n if (testFunc(array[i])) { // truthy value means *remove*\n array.splice(i, 1)\n removeCnt += 1\n } else {\n i += 1\n }\n }\n\n return removeCnt\n}\n\nexport function removeExact(array, exactVal) {\n let removeCnt = 0\n let i = 0\n\n while (i < array.length) {\n if (array[i] === exactVal) {\n array.splice(i, 1)\n removeCnt += 1\n } else {\n i += 1\n }\n }\n\n return removeCnt\n}\n\nexport function isArraysEqual(a0, a1, equalityFunc?: (v0, v1) => boolean) { // TODO: better typing\n if (a0 === a1) {\n return true\n }\n\n let len = a0.length\n let i\n\n if (len !== a1.length) { // not array? or not same length?\n return false\n }\n\n for (i = 0; i < len; i += 1) {\n if (!(equalityFunc ? equalityFunc(a0[i], a1[i]) : a0[i] === a1[i])) {\n return false\n }\n }\n\n return true\n}\n","import { isArraysEqual } from './array'\nimport { isPropsEqual } from './object'\nimport { Dictionary } from '../options'\n\nexport function memoize(\n workerFunc: (...args: Args) => Res,\n resEquality?: (res0: Res, res1: Res) => boolean,\n teardownFunc?: (res: Res) => void,\n): (...args: Args) => Res {\n let currentArgs: Args | undefined\n let currentRes: Res | undefined\n\n return function (...newArgs: Args) { // eslint-disable-line func-names\n if (!currentArgs) {\n currentRes = workerFunc.apply(this, newArgs)\n } else if (!isArraysEqual(currentArgs, newArgs)) {\n if (teardownFunc) {\n teardownFunc(currentRes)\n }\n\n let res = workerFunc.apply(this, newArgs)\n\n if (!resEquality || !resEquality(res, currentRes)) {\n currentRes = res\n }\n }\n\n currentArgs = newArgs\n\n return currentRes\n }\n}\n\nexport function memoizeObjArg(\n workerFunc: (arg: Arg) => Res,\n resEquality?: (res0: Res, res1: Res) => boolean,\n teardownFunc?: (res: Res) => void,\n): (arg: Arg) => Res {\n let currentArg: Arg | undefined\n let currentRes: Res | undefined\n\n return (newArg: Arg) => {\n if (!currentArg) {\n currentRes = workerFunc.call(this, newArg)\n } else if (!isPropsEqual(currentArg, newArg)) {\n if (teardownFunc) {\n teardownFunc(currentRes)\n }\n\n let res = workerFunc.call(this, newArg)\n\n if (!resEquality || !resEquality(res, currentRes)) {\n currentRes = res\n }\n }\n\n currentArg = newArg\n\n return currentRes\n }\n}\n\nexport type MemoiseArrayFunc =\n (argSets: Args[]) => Res[]\n\nexport function memoizeArraylike( // used at all?\n workerFunc: (...args: Args) => Res,\n resEquality?: (res0: Res, res1: Res) => boolean,\n teardownFunc?: (res: Res) => void,\n): MemoiseArrayFunc {\n let currentArgSets: Args[] = []\n let currentResults: Res[] = []\n\n return (newArgSets: Args[]) => {\n let currentLen = currentArgSets.length\n let newLen = newArgSets.length\n let i = 0\n\n for (; i < currentLen; i += 1) {\n if (!newArgSets[i]) { // one of the old sets no longer exists\n if (teardownFunc) {\n teardownFunc(currentResults[i])\n }\n } else if (!isArraysEqual(currentArgSets[i], newArgSets[i])) {\n if (teardownFunc) {\n teardownFunc(currentResults[i])\n }\n\n let res = workerFunc.apply(this, newArgSets[i])\n\n if (!resEquality || !resEquality(res, currentResults[i])) {\n currentResults[i] = res\n }\n }\n }\n\n for (; i < newLen; i += 1) {\n currentResults[i] = workerFunc.apply(this, newArgSets[i])\n }\n\n currentArgSets = newArgSets\n currentResults.splice(newLen) // remove excess\n\n return currentResults\n }\n}\n\nexport type MemoizeHashFunc =\n (argHash: { [key: string]: Args }) => { [key: string]: Res }\n\nexport function memoizeHashlike(\n workerFunc: (...args: Args) => Res,\n resEquality?: (res0: Res, res1: Res) => boolean,\n teardownFunc?: (res: Res) => void, // TODO: change arg order\n): MemoizeHashFunc {\n let currentArgHash: { [key: string]: Args } = {}\n let currentResHash: { [key: string]: Res } = {}\n\n return (newArgHash: { [key: string]: Args }) => {\n let newResHash: { [key: string]: Res } = {}\n\n for (let key in newArgHash) {\n if (!currentResHash[key]) {\n newResHash[key] = workerFunc.apply(this, newArgHash[key])\n } else if (!isArraysEqual(currentArgHash[key], newArgHash[key])) {\n if (teardownFunc) {\n teardownFunc(currentResHash[key])\n }\n\n let res = workerFunc.apply(this, newArgHash[key])\n\n newResHash[key] = (resEquality && resEquality(res, currentResHash[key]))\n ? currentResHash[key]\n : res\n } else {\n newResHash[key] = currentResHash[key]\n }\n }\n\n currentArgHash = newArgHash\n currentResHash = newResHash\n\n return newResHash\n }\n}\n","import { DateMarker, timeAsMs } from './marker'\nimport { CalendarSystem } from './calendar-system'\nimport { Locale } from './locale'\nimport { DateFormatter, DateFormattingContext } from './DateFormatter'\nimport { ZonedMarker } from './zoned-marker'\nimport { formatTimeZoneOffset } from './formatting-utils'\nimport { memoize } from '../util/memoize'\n\nconst EXTENDED_SETTINGS_AND_SEVERITIES = {\n week: 3,\n separator: 0, // 0 = not applicable\n omitZeroMinute: 0,\n meridiem: 0, // like am/pm\n omitCommas: 0,\n}\n\nconst STANDARD_DATE_PROP_SEVERITIES = {\n timeZoneName: 7,\n era: 6,\n year: 5,\n month: 4,\n day: 2,\n weekday: 2,\n hour: 1,\n minute: 1,\n second: 1,\n}\n\nconst MERIDIEM_RE = /\\s*([ap])\\.?m\\.?/i // eats up leading spaces too\nconst COMMA_RE = /,/g // we need re for globalness\nconst MULTI_SPACE_RE = /\\s+/g\nconst LTR_RE = /\\u200e/g // control character\nconst UTC_RE = /UTC|GMT/\n\nexport interface NativeFormatterOptions extends Intl.DateTimeFormatOptions {\n week?: 'long' | 'short' | 'narrow' | 'numeric'\n meridiem?: 'lowercase' | 'short' | 'narrow' | boolean\n omitZeroMinute?: boolean\n omitCommas?: boolean\n separator?: string\n}\n\nexport class NativeFormatter implements DateFormatter {\n standardDateProps: any\n extendedSettings: any\n severity: number\n private buildFormattingFunc: typeof buildFormattingFunc // caching for efficiency with same date env\n\n constructor(formatSettings: NativeFormatterOptions) {\n let standardDateProps: any = {}\n let extendedSettings: any = {}\n let severity = 0\n\n for (let name in formatSettings) {\n if (name in EXTENDED_SETTINGS_AND_SEVERITIES) {\n extendedSettings[name] = formatSettings[name]\n severity = Math.max(EXTENDED_SETTINGS_AND_SEVERITIES[name], severity)\n } else {\n standardDateProps[name] = formatSettings[name]\n\n if (name in STANDARD_DATE_PROP_SEVERITIES) { // TODO: what about hour12? no severity\n severity = Math.max(STANDARD_DATE_PROP_SEVERITIES[name], severity)\n }\n }\n }\n\n this.standardDateProps = standardDateProps\n this.extendedSettings = extendedSettings\n this.severity = severity\n\n this.buildFormattingFunc = memoize(buildFormattingFunc)\n }\n\n format(date: ZonedMarker, context: DateFormattingContext) {\n return this.buildFormattingFunc(this.standardDateProps, this.extendedSettings, context)(date)\n }\n\n formatRange(start: ZonedMarker, end: ZonedMarker, context: DateFormattingContext, betterDefaultSeparator?: string) {\n let { standardDateProps, extendedSettings } = this\n\n let diffSeverity = computeMarkerDiffSeverity(start.marker, end.marker, context.calendarSystem)\n if (!diffSeverity) {\n return this.format(start, context)\n }\n\n let biggestUnitForPartial = diffSeverity\n if (\n biggestUnitForPartial > 1 && // the two dates are different in a way that's larger scale than time\n (standardDateProps.year === 'numeric' || standardDateProps.year === '2-digit') &&\n (standardDateProps.month === 'numeric' || standardDateProps.month === '2-digit') &&\n (standardDateProps.day === 'numeric' || standardDateProps.day === '2-digit')\n ) {\n biggestUnitForPartial = 1 // make it look like the dates are only different in terms of time\n }\n\n let full0 = this.format(start, context)\n let full1 = this.format(end, context)\n\n if (full0 === full1) {\n return full0\n }\n\n let partialDateProps = computePartialFormattingOptions(standardDateProps, biggestUnitForPartial)\n let partialFormattingFunc = buildFormattingFunc(partialDateProps, extendedSettings, context)\n let partial0 = partialFormattingFunc(start)\n let partial1 = partialFormattingFunc(end)\n\n let insertion = findCommonInsertion(full0, partial0, full1, partial1)\n let separator = extendedSettings.separator || betterDefaultSeparator || context.defaultSeparator || ''\n\n if (insertion) {\n return insertion.before + partial0 + separator + partial1 + insertion.after\n }\n\n return full0 + separator + full1\n }\n\n getLargestUnit() {\n switch (this.severity) {\n case 7:\n case 6:\n case 5:\n return 'year'\n case 4:\n return 'month'\n case 3:\n return 'week'\n case 2:\n return 'day'\n default:\n return 'time' // really?\n }\n }\n}\n\nfunction buildFormattingFunc(\n standardDateProps,\n extendedSettings,\n context: DateFormattingContext,\n): (date: ZonedMarker) => string {\n let standardDatePropCnt = Object.keys(standardDateProps).length\n\n if (standardDatePropCnt === 1 && standardDateProps.timeZoneName === 'short') {\n return (date: ZonedMarker) => (\n formatTimeZoneOffset(date.timeZoneOffset)\n )\n }\n\n if (standardDatePropCnt === 0 && extendedSettings.week) {\n return (date: ZonedMarker) => (\n formatWeekNumber(\n context.computeWeekNumber(date.marker),\n context.weekText,\n context.weekTextLong,\n context.locale,\n extendedSettings.week,\n )\n )\n }\n\n return buildNativeFormattingFunc(standardDateProps, extendedSettings, context)\n}\n\nfunction buildNativeFormattingFunc(\n standardDateProps,\n extendedSettings,\n context: DateFormattingContext,\n): (date: ZonedMarker) => string {\n standardDateProps = { ...standardDateProps } // copy\n extendedSettings = { ...extendedSettings } // copy\n\n sanitizeSettings(standardDateProps, extendedSettings)\n\n standardDateProps.timeZone = 'UTC' // we leverage the only guaranteed timeZone for our UTC markers\n\n let normalFormat = new Intl.DateTimeFormat(context.locale.codes, standardDateProps)\n let zeroFormat // needed?\n\n if (extendedSettings.omitZeroMinute) {\n let zeroProps = { ...standardDateProps }\n delete zeroProps.minute // seconds and ms were already considered in sanitizeSettings\n zeroFormat = new Intl.DateTimeFormat(context.locale.codes, zeroProps)\n }\n\n return (date: ZonedMarker) => {\n let { marker } = date\n let format\n\n if (zeroFormat && !marker.getUTCMinutes()) {\n format = zeroFormat\n } else {\n format = normalFormat\n }\n\n let s = format.format(marker)\n\n return postProcess(s, date, standardDateProps, extendedSettings, context)\n }\n}\n\nfunction sanitizeSettings(standardDateProps, extendedSettings) {\n // deal with a browser inconsistency where formatting the timezone\n // requires that the hour/minute be present.\n if (standardDateProps.timeZoneName) {\n if (!standardDateProps.hour) {\n standardDateProps.hour = '2-digit'\n }\n if (!standardDateProps.minute) {\n standardDateProps.minute = '2-digit'\n }\n }\n\n // only support short timezone names\n if (standardDateProps.timeZoneName === 'long') {\n standardDateProps.timeZoneName = 'short'\n }\n\n // if requesting to display seconds, MUST display minutes\n if (extendedSettings.omitZeroMinute && (standardDateProps.second || standardDateProps.millisecond)) {\n delete extendedSettings.omitZeroMinute\n }\n}\n\nfunction postProcess(s: string, date: ZonedMarker, standardDateProps, extendedSettings, context: DateFormattingContext): string {\n s = s.replace(LTR_RE, '') // remove left-to-right control chars. do first. good for other regexes\n\n if (standardDateProps.timeZoneName === 'short') {\n s = injectTzoStr(\n s,\n (context.timeZone === 'UTC' || date.timeZoneOffset == null) ?\n 'UTC' : // important to normalize for IE, which does \"GMT\"\n formatTimeZoneOffset(date.timeZoneOffset),\n )\n }\n\n if (extendedSettings.omitCommas) {\n s = s.replace(COMMA_RE, '').trim()\n }\n\n if (extendedSettings.omitZeroMinute) {\n s = s.replace(':00', '') // zeroFormat doesn't always achieve this\n }\n\n // ^ do anything that might create adjacent spaces before this point,\n // because MERIDIEM_RE likes to eat up loading spaces\n\n if (extendedSettings.meridiem === false) {\n s = s.replace(MERIDIEM_RE, '').trim()\n } else if (extendedSettings.meridiem === 'narrow') { // a/p\n s = s.replace(MERIDIEM_RE, (m0, m1) => m1.toLocaleLowerCase())\n } else if (extendedSettings.meridiem === 'short') { // am/pm\n s = s.replace(MERIDIEM_RE, (m0, m1) => `${m1.toLocaleLowerCase()}m`)\n } else if (extendedSettings.meridiem === 'lowercase') { // other meridiem transformers already converted to lowercase\n s = s.replace(MERIDIEM_RE, (m0) => m0.toLocaleLowerCase())\n }\n\n s = s.replace(MULTI_SPACE_RE, ' ')\n s = s.trim()\n\n return s\n}\n\nfunction injectTzoStr(s: string, tzoStr: string): string {\n let replaced = false\n\n s = s.replace(UTC_RE, () => {\n replaced = true\n return tzoStr\n })\n\n // IE11 doesn't include UTC/GMT in the original string, so append to end\n if (!replaced) {\n s += ` ${tzoStr}`\n }\n\n return s\n}\n\nfunction formatWeekNumber(\n num: number,\n weekText: string,\n weekTextLong: string,\n locale: Locale,\n display?: 'numeric' | 'narrow' | 'short' | 'long',\n): string {\n let parts = []\n\n if (display === 'long') {\n parts.push(weekTextLong)\n } else if (display === 'short' || display === 'narrow') {\n parts.push(weekText)\n }\n\n if (display === 'long' || display === 'short') {\n parts.push(' ')\n }\n\n parts.push(locale.simpleNumberFormat.format(num))\n\n if (locale.options.direction === 'rtl') { // TODO: use control characters instead?\n parts.reverse()\n }\n\n return parts.join('')\n}\n\n// Range Formatting Utils\n\n// 0 = exactly the same\n// 1 = different by time\n// and bigger\nfunction computeMarkerDiffSeverity(d0: DateMarker, d1: DateMarker, ca: CalendarSystem) {\n if (ca.getMarkerYear(d0) !== ca.getMarkerYear(d1)) {\n return 5\n }\n if (ca.getMarkerMonth(d0) !== ca.getMarkerMonth(d1)) {\n return 4\n }\n if (ca.getMarkerDay(d0) !== ca.getMarkerDay(d1)) {\n return 2\n }\n if (timeAsMs(d0) !== timeAsMs(d1)) {\n return 1\n }\n return 0\n}\n\nfunction computePartialFormattingOptions(options, biggestUnit) {\n let partialOptions = {}\n\n for (let name in options) {\n if (\n !(name in STANDARD_DATE_PROP_SEVERITIES) || // not a date part prop (like timeZone)\n STANDARD_DATE_PROP_SEVERITIES[name] <= biggestUnit\n ) {\n partialOptions[name] = options[name]\n }\n }\n\n return partialOptions\n}\n\nfunction findCommonInsertion(full0, partial0, full1, partial1) {\n let i0 = 0\n while (i0 < full0.length) {\n let found0 = full0.indexOf(partial0, i0)\n if (found0 === -1) {\n break\n }\n\n let before0 = full0.substr(0, found0)\n i0 = found0 + partial0.length\n let after0 = full0.substr(i0)\n\n let i1 = 0\n while (i1 < full1.length) {\n let found1 = full1.indexOf(partial1, i1)\n if (found1 === -1) {\n break\n }\n\n let before1 = full1.substr(0, found1)\n i1 = found1 + partial1.length\n let after1 = full1.substr(i1)\n\n if (before0 === before1 && after0 === after1) {\n return {\n before: before0,\n after: after0,\n }\n }\n }\n }\n\n return null\n}\n","import { DateMarker } from './marker'\nimport { CalendarSystem } from './calendar-system'\n\nexport interface ZonedMarker {\n marker: DateMarker,\n timeZoneOffset: number\n}\n\nexport interface ExpandedZonedMarker extends ZonedMarker {\n array: number[],\n year: number,\n month: number,\n day: number,\n hour: number,\n minute: number,\n second: number,\n millisecond: number\n}\n\nexport function expandZonedMarker(dateInfo: ZonedMarker, calendarSystem: CalendarSystem): ExpandedZonedMarker {\n let a = calendarSystem.markerToArray(dateInfo.marker)\n\n return {\n marker: dateInfo.marker,\n timeZoneOffset: dateInfo.timeZoneOffset,\n array: a,\n year: a[0],\n month: a[1],\n day: a[2],\n hour: a[3],\n minute: a[4],\n second: a[5],\n millisecond: a[6],\n }\n}\n","import { DateMarker } from './marker'\nimport { CalendarSystem } from './calendar-system'\nimport { Locale } from './locale'\nimport { ZonedMarker, ExpandedZonedMarker, expandZonedMarker } from './zoned-marker'\n\nexport interface VerboseFormattingArg { // TODO: kill this\n date: ExpandedZonedMarker\n start: ExpandedZonedMarker\n end?: ExpandedZonedMarker\n timeZone: string\n localeCodes: string[],\n defaultSeparator: string\n}\n\nexport function createVerboseFormattingArg(\n start: ZonedMarker,\n end: ZonedMarker,\n context: DateFormattingContext,\n betterDefaultSeparator?: string,\n): VerboseFormattingArg {\n let startInfo = expandZonedMarker(start, context.calendarSystem)\n let endInfo = end ? expandZonedMarker(end, context.calendarSystem) : null\n\n return {\n date: startInfo,\n start: startInfo,\n end: endInfo,\n timeZone: context.timeZone,\n localeCodes: context.locale.codes,\n defaultSeparator: betterDefaultSeparator || context.defaultSeparator,\n }\n}\n\nexport type CmdFormatterFunc = (cmd: string, arg: VerboseFormattingArg) => string\n\nexport interface DateFormattingContext {\n timeZone: string,\n locale: Locale,\n calendarSystem: CalendarSystem\n computeWeekNumber: (d: DateMarker) => number\n weekText: string\n weekTextLong: string\n cmdFormatter?: CmdFormatterFunc\n defaultSeparator: string\n}\n\nexport interface DateFormatter {\n format(date: ZonedMarker, context: DateFormattingContext): string\n formatRange(start: ZonedMarker, end: ZonedMarker, context: DateFormattingContext, betterDefaultSeparator?: string): string\n}\n","import { DateFormatter, DateFormattingContext, createVerboseFormattingArg } from './DateFormatter'\nimport { ZonedMarker } from './zoned-marker'\n\n/*\nTODO: fix the terminology of \"formatter\" vs \"formatting func\"\n*/\n\n/*\nAt the time of instantiation, this object does not know which cmd-formatting system it will use.\nIt receives this at the time of formatting, as a setting.\n*/\nexport class CmdFormatter implements DateFormatter {\n cmdStr: string\n\n constructor(cmdStr: string) {\n this.cmdStr = cmdStr\n }\n\n format(date: ZonedMarker, context: DateFormattingContext, betterDefaultSeparator?: string) {\n return context.cmdFormatter(this.cmdStr, createVerboseFormattingArg(date, null, context, betterDefaultSeparator))\n }\n\n formatRange(start: ZonedMarker, end: ZonedMarker, context: DateFormattingContext, betterDefaultSeparator?: string) {\n return context.cmdFormatter(this.cmdStr, createVerboseFormattingArg(start, end, context, betterDefaultSeparator))\n }\n}\n","import { DateFormatter, DateFormattingContext, createVerboseFormattingArg, VerboseFormattingArg } from './DateFormatter'\nimport { ZonedMarker } from './zoned-marker'\n\nexport type FuncFormatterFunc = (arg: VerboseFormattingArg) => string\n\nexport class FuncFormatter implements DateFormatter {\n func: FuncFormatterFunc\n\n constructor(func: FuncFormatterFunc) {\n this.func = func\n }\n\n format(date: ZonedMarker, context: DateFormattingContext, betterDefaultSeparator?: string) {\n return this.func(createVerboseFormattingArg(date, null, context, betterDefaultSeparator))\n }\n\n formatRange(start: ZonedMarker, end: ZonedMarker, context: DateFormattingContext, betterDefaultSeparator?: string) {\n return this.func(createVerboseFormattingArg(start, end, context, betterDefaultSeparator))\n }\n}\n","import { NativeFormatter, NativeFormatterOptions } from './formatting-native'\nimport { CmdFormatter } from './formatting-cmd'\nimport { FuncFormatter, FuncFormatterFunc } from './formatting-func'\nimport { DateFormatter } from './DateFormatter'\n\nexport type FormatterInput = NativeFormatterOptions | string | FuncFormatterFunc\n\nexport function createFormatter(input: FormatterInput): DateFormatter {\n if (typeof input === 'object' && input) { // non-null object\n return new NativeFormatter(input)\n }\n\n if (typeof input === 'string') {\n return new CmdFormatter(input)\n }\n\n if (typeof input === 'function') {\n return new FuncFormatter(input as FuncFormatterFunc)\n }\n\n return null\n}\n","import { createDuration } from './datelib/duration'\nimport { mergeProps, isPropsEqual } from './util/object'\nimport { createFormatter } from './datelib/formatting'\nimport { parseFieldSpecs } from './util/misc'\nimport { DateProfileGeneratorClass } from './DateProfileGenerator'\n\n// public\nimport {\n CssDimValue,\n DateInput,\n DateRangeInput,\n BusinessHoursInput,\n EventSourceInput,\n ViewApi,\n LocaleSingularArg, LocaleInput,\n EventInput, EventInputTransformer,\n OverlapFunc, ConstraintInput, AllowFunc,\n PluginDef,\n ViewComponentType,\n SpecificViewContentArg, SpecificViewMountArg,\n ClassNamesGenerator, CustomContentGenerator, DidMountHandler, WillUnmountHandler,\n NowIndicatorContentArg, NowIndicatorMountArg,\n WeekNumberContentArg, WeekNumberMountArg,\n SlotLaneContentArg, SlotLaneMountArg,\n SlotLabelContentArg, SlotLabelMountArg,\n AllDayContentArg, AllDayMountArg,\n DayHeaderContentArg, DayHeaderMountArg,\n DayCellContentArg, DayCellMountArg,\n ViewContentArg, ViewMountArg,\n EventClickArg,\n EventHoveringArg,\n DateSelectArg, DateUnselectArg,\n CalendarApi,\n VUIEvent,\n WeekNumberCalculation,\n FormatterInput,\n ToolbarInput, CustomButtonInput, ButtonIconsInput, ButtonTextCompoundInput,\n EventContentArg, EventMountArg,\n DatesSetArg,\n EventApi, EventAddArg, EventChangeArg, EventRemoveArg,\n MoreLinkContentArg,\n MoreLinkMountArg,\n MoreLinkAction,\n ButtonHintCompoundInput,\n} from './api-type-deps'\n\n// base options\n// ------------\n\nexport const BASE_OPTION_REFINERS = {\n navLinkDayClick: identity as Identity void)>,\n navLinkWeekClick: identity as Identity void)>,\n duration: createDuration,\n bootstrapFontAwesome: identity as Identity, // TODO: move to bootstrap plugin\n buttonIcons: identity as Identity,\n customButtons: identity as Identity<{ [name: string]: CustomButtonInput }>,\n defaultAllDayEventDuration: createDuration,\n defaultTimedEventDuration: createDuration,\n nextDayThreshold: createDuration,\n scrollTime: createDuration,\n scrollTimeReset: Boolean,\n slotMinTime: createDuration,\n slotMaxTime: createDuration,\n dayPopoverFormat: createFormatter,\n slotDuration: createDuration,\n snapDuration: createDuration,\n headerToolbar: identity as Identity,\n footerToolbar: identity as Identity,\n defaultRangeSeparator: String,\n titleRangeSeparator: String,\n forceEventDuration: Boolean,\n\n dayHeaders: Boolean,\n dayHeaderFormat: createFormatter,\n dayHeaderClassNames: identity as Identity>,\n dayHeaderContent: identity as Identity>,\n dayHeaderDidMount: identity as Identity>,\n dayHeaderWillUnmount: identity as Identity>,\n\n dayCellClassNames: identity as Identity>,\n dayCellContent: identity as Identity>,\n dayCellDidMount: identity as Identity>,\n dayCellWillUnmount: identity as Identity>,\n\n initialView: String,\n aspectRatio: Number,\n weekends: Boolean,\n\n weekNumberCalculation: identity as Identity,\n weekNumbers: Boolean,\n weekNumberClassNames: identity as Identity>,\n weekNumberContent: identity as Identity>,\n weekNumberDidMount: identity as Identity>,\n weekNumberWillUnmount: identity as Identity>,\n\n editable: Boolean,\n\n viewClassNames: identity as Identity>,\n viewDidMount: identity as Identity>,\n viewWillUnmount: identity as Identity>,\n\n nowIndicator: Boolean,\n nowIndicatorClassNames: identity as Identity>,\n nowIndicatorContent: identity as Identity>,\n nowIndicatorDidMount: identity as Identity>,\n nowIndicatorWillUnmount: identity as Identity>,\n\n showNonCurrentDates: Boolean,\n lazyFetching: Boolean,\n startParam: String,\n endParam: String,\n timeZoneParam: String,\n timeZone: String,\n locales: identity as Identity,\n locale: identity as Identity,\n themeSystem: String as Identity<'standard' | string>,\n dragRevertDuration: Number,\n dragScroll: Boolean,\n allDayMaintainDuration: Boolean,\n unselectAuto: Boolean,\n dropAccept: identity as Identity boolean)>, // TODO: type draggable\n eventOrder: parseFieldSpecs,\n eventOrderStrict: Boolean,\n\n handleWindowResize: Boolean,\n windowResizeDelay: Number,\n longPressDelay: Number,\n eventDragMinDistance: Number,\n expandRows: Boolean,\n height: identity as Identity,\n contentHeight: identity as Identity,\n direction: String as Identity<'ltr' | 'rtl'>,\n weekNumberFormat: createFormatter,\n eventResizableFromStart: Boolean,\n displayEventTime: Boolean,\n displayEventEnd: Boolean,\n weekText: String, // the short version\n weekTextLong: String, // falls back to weekText\n progressiveEventRendering: Boolean,\n businessHours: identity as Identity,\n initialDate: identity as Identity,\n now: identity as Identity DateInput)>,\n eventDataTransform: identity as Identity,\n stickyHeaderDates: identity as Identity,\n stickyFooterScrollbar: identity as Identity,\n viewHeight: identity as Identity,\n defaultAllDay: Boolean,\n eventSourceFailure: identity as Identity<(this: CalendarApi, error: any) => void>,\n eventSourceSuccess: identity as Identity<(this: CalendarApi, eventsInput: EventInput[], xhr?: XMLHttpRequest) => EventInput[] | void>,\n\n eventDisplay: String, // TODO: give more specific\n eventStartEditable: Boolean,\n eventDurationEditable: Boolean,\n eventOverlap: identity as Identity,\n eventConstraint: identity as Identity,\n eventAllow: identity as Identity,\n eventBackgroundColor: String,\n eventBorderColor: String,\n eventTextColor: String,\n eventColor: String,\n eventClassNames: identity as Identity>,\n eventContent: identity as Identity>,\n eventDidMount: identity as Identity>,\n eventWillUnmount: identity as Identity>,\n\n selectConstraint: identity as Identity,\n selectOverlap: identity as Identity,\n selectAllow: identity as Identity,\n\n droppable: Boolean,\n unselectCancel: String,\n\n slotLabelFormat: identity as Identity,\n\n slotLaneClassNames: identity as Identity>,\n slotLaneContent: identity as Identity>,\n slotLaneDidMount: identity as Identity>,\n slotLaneWillUnmount: identity as Identity>,\n\n slotLabelClassNames: identity as Identity>,\n slotLabelContent: identity as Identity>,\n slotLabelDidMount: identity as Identity>,\n slotLabelWillUnmount: identity as Identity>,\n\n dayMaxEvents: identity as Identity,\n dayMaxEventRows: identity as Identity,\n dayMinWidth: Number,\n slotLabelInterval: createDuration,\n\n allDayText: String,\n allDayClassNames: identity as Identity>,\n allDayContent: identity as Identity>,\n allDayDidMount: identity as Identity>,\n allDayWillUnmount: identity as Identity>,\n\n slotMinWidth: Number, // move to timeline?\n navLinks: Boolean,\n eventTimeFormat: createFormatter,\n rerenderDelay: Number, // TODO: move to @fullcalendar/core right? nah keep here\n moreLinkText: identity as Identity string)>, // this not enforced :( check others too\n moreLinkHint: identity as Identity string)>,\n selectMinDistance: Number,\n selectable: Boolean,\n selectLongPressDelay: Number,\n eventLongPressDelay: Number,\n\n selectMirror: Boolean,\n eventMaxStack: Number,\n eventMinHeight: Number,\n eventMinWidth: Number,\n eventShortHeight: Number,\n slotEventOverlap: Boolean,\n plugins: identity as Identity,\n firstDay: Number,\n dayCount: Number,\n dateAlignment: String,\n dateIncrement: createDuration,\n hiddenDays: identity as Identity,\n monthMode: Boolean,\n fixedWeekCount: Boolean,\n validRange: identity as Identity DateRangeInput)>, // `this` works?\n visibleRange: identity as Identity DateRangeInput)>, // `this` works?\n titleFormat: identity as Identity, // DONT parse just yet. we need to inject titleSeparator\n\n eventInteractive: Boolean,\n\n // only used by list-view, but languages define the value, so we need it in base options\n noEventsText: String,\n\n viewHint: identity as Identity string)>,\n navLinkHint: identity as Identity string)>,\n closeHint: String,\n timeHint: String,\n eventHint: String,\n\n moreLinkClick: identity as Identity,\n moreLinkClassNames: identity as Identity>,\n moreLinkContent: identity as Identity>,\n moreLinkDidMount: identity as Identity>,\n moreLinkWillUnmount: identity as Identity>,\n}\n\ntype BuiltInBaseOptionRefiners = typeof BASE_OPTION_REFINERS\n\nexport interface BaseOptionRefiners extends BuiltInBaseOptionRefiners {\n // for ambient-extending\n}\n\nexport type BaseOptions = RawOptionsFromRefiners< // as RawOptions\n Required // Required is a hack for \"Index signature is missing\"\n>\n\n// do NOT give a type here. need `typeof BASE_OPTION_DEFAULTS` to give real results.\n// raw values.\nexport const BASE_OPTION_DEFAULTS = {\n eventDisplay: 'auto',\n defaultRangeSeparator: ' - ',\n titleRangeSeparator: ' \\u2013 ', // en dash\n defaultTimedEventDuration: '01:00:00',\n defaultAllDayEventDuration: { day: 1 },\n forceEventDuration: false,\n nextDayThreshold: '00:00:00',\n dayHeaders: true,\n initialView: '',\n aspectRatio: 1.35,\n headerToolbar: {\n start: 'title',\n center: '',\n end: 'today prev,next',\n },\n weekends: true,\n weekNumbers: false,\n weekNumberCalculation: 'local' as WeekNumberCalculation,\n editable: false,\n nowIndicator: false,\n scrollTime: '06:00:00',\n scrollTimeReset: true,\n slotMinTime: '00:00:00',\n slotMaxTime: '24:00:00',\n showNonCurrentDates: true,\n lazyFetching: true,\n startParam: 'start',\n endParam: 'end',\n timeZoneParam: 'timeZone',\n timeZone: 'local', // TODO: throw error if given falsy value?\n locales: [],\n locale: '', // blank values means it will compute based off locales[]\n themeSystem: 'standard',\n dragRevertDuration: 500,\n dragScroll: true,\n allDayMaintainDuration: false,\n unselectAuto: true,\n dropAccept: '*',\n eventOrder: 'start,-duration,allDay,title',\n dayPopoverFormat: { month: 'long', day: 'numeric', year: 'numeric' },\n handleWindowResize: true,\n windowResizeDelay: 100, // milliseconds before an updateSize happens\n longPressDelay: 1000,\n eventDragMinDistance: 5, // only applies to mouse\n expandRows: false,\n navLinks: false,\n selectable: false,\n eventMinHeight: 15,\n eventMinWidth: 30,\n eventShortHeight: 30,\n}\n\nexport type BaseOptionsRefined = DefaultedRefinedOptions<\n RefinedOptionsFromRefiners>, // Required is a hack for \"Index signature is missing\"\n keyof typeof BASE_OPTION_DEFAULTS\n>\n\n// calendar listeners\n// ------------------\n\nexport const CALENDAR_LISTENER_REFINERS = {\n datesSet: identity as Identity<(arg: DatesSetArg) => void>,\n eventsSet: identity as Identity<(events: EventApi[]) => void>,\n eventAdd: identity as Identity<(arg: EventAddArg) => void>,\n eventChange: identity as Identity<(arg: EventChangeArg) => void>,\n eventRemove: identity as Identity<(arg: EventRemoveArg) => void>,\n windowResize: identity as Identity<(arg: { view: ViewApi }) => void>,\n eventClick: identity as Identity<(arg: EventClickArg) => void>, // TODO: resource for scheduler????\n eventMouseEnter: identity as Identity<(arg: EventHoveringArg) => void>,\n eventMouseLeave: identity as Identity<(arg: EventHoveringArg) => void>,\n select: identity as Identity<(arg: DateSelectArg) => void>, // resource for scheduler????\n unselect: identity as Identity<(arg: DateUnselectArg) => void>,\n loading: identity as Identity<(isLoading: boolean) => void>,\n\n // internal\n _unmount: identity as Identity<() => void>,\n _beforeprint: identity as Identity<() => void>,\n _afterprint: identity as Identity<() => void>,\n _noEventDrop: identity as Identity<() => void>,\n _noEventResize: identity as Identity<() => void>,\n _resize: identity as Identity<(forced: boolean) => void>,\n _scrollRequest: identity as Identity<(arg: any) => void>,\n}\n\ntype BuiltInCalendarListenerRefiners = typeof CALENDAR_LISTENER_REFINERS\n\nexport interface CalendarListenerRefiners extends BuiltInCalendarListenerRefiners {\n // for ambient extending\n}\n\ntype CalendarListenersLoose = RefinedOptionsFromRefiners> // Required hack\nexport type CalendarListeners = Required // much more convenient for Emitters and whatnot\n\n// calendar-specific options\n// -------------------------\n\nexport const CALENDAR_OPTION_REFINERS = { // does not include base nor calendar listeners\n buttonText: identity as Identity,\n buttonHints: identity as Identity,\n views: identity as Identity<{ [viewId: string]: ViewOptions }>,\n plugins: identity as Identity,\n initialEvents: identity as Identity,\n events: identity as Identity,\n eventSources: identity as Identity,\n}\n\ntype BuiltInCalendarOptionRefiners = typeof CALENDAR_OPTION_REFINERS\n\nexport interface CalendarOptionRefiners extends BuiltInCalendarOptionRefiners {\n // for ambient-extending\n}\n\nexport type CalendarOptions =\n BaseOptions &\n CalendarListenersLoose &\n RawOptionsFromRefiners> // Required hack https://github.com/microsoft/TypeScript/issues/15300\n\nexport type CalendarOptionsRefined =\n BaseOptionsRefined &\n CalendarListenersLoose &\n RefinedOptionsFromRefiners> // Required hack\n\nexport const COMPLEX_OPTION_COMPARATORS: {\n [optionName in keyof CalendarOptions]: (a: CalendarOptions[optionName], b: CalendarOptions[optionName]) => boolean\n} = {\n headerToolbar: isMaybeObjectsEqual,\n footerToolbar: isMaybeObjectsEqual,\n buttonText: isMaybeObjectsEqual,\n buttonHints: isMaybeObjectsEqual,\n buttonIcons: isMaybeObjectsEqual,\n dateIncrement: isMaybeObjectsEqual,\n}\n\nfunction isMaybeObjectsEqual(a, b) {\n if (typeof a === 'object' && typeof b === 'object' && a && b) { // both non-null objects\n return isPropsEqual(a, b)\n }\n return a === b\n}\n\n// view-specific options\n// ---------------------\n\nexport const VIEW_OPTION_REFINERS: {\n [name: string]: any\n} = {\n type: String,\n component: identity as Identity,\n buttonText: String,\n buttonTextKey: String, // internal only\n dateProfileGeneratorClass: identity as Identity,\n usesMinMaxTime: Boolean, // internal only\n classNames: identity as Identity>,\n content: identity as Identity>,\n didMount: identity as Identity>,\n willUnmount: identity as Identity>,\n}\n\ntype BuiltInViewOptionRefiners = typeof VIEW_OPTION_REFINERS\n\nexport interface ViewOptionRefiners extends BuiltInViewOptionRefiners {\n // for ambient-extending\n}\n\nexport type ViewOptions =\n BaseOptions &\n CalendarListenersLoose &\n RawOptionsFromRefiners> // Required hack\n\nexport type ViewOptionsRefined =\n BaseOptionsRefined &\n CalendarListenersLoose &\n RefinedOptionsFromRefiners> // Required hack\n\n// util funcs\n// ----------------------------------------------------------------------------------------------------\n\nexport function mergeRawOptions(optionSets: Dictionary[]) {\n return mergeProps(optionSets, COMPLEX_OPTION_COMPARATORS)\n}\n\nexport function refineProps>(\n input: Raw,\n refiners: Refiners,\n): {\n refined: RefinedOptionsFromRefiners,\n extra: Dictionary,\n} {\n let refined = {} as any\n let extra = {} as any\n\n for (let propName in refiners) {\n if (propName in input) {\n refined[propName] = refiners[propName](input[propName])\n }\n }\n\n for (let propName in input) {\n if (!(propName in refiners)) {\n extra[propName] = input[propName]\n }\n }\n\n return { refined, extra }\n}\n\n// definition utils\n// ----------------------------------------------------------------------------------------------------\n\nexport type GenericRefiners = {\n [propName: string]: (input: any) => any\n}\n\nexport type GenericListenerRefiners = {\n [listenerName: string]: Identity<(this: CalendarApi, ...args: any[]) => void>\n}\n\nexport type RawOptionsFromRefiners = {\n [Prop in keyof Refiners]?: // all optional\n Refiners[Prop] extends ((input: infer RawType) => infer RefinedType)\n ? (any extends RawType ? RefinedType : RawType) // if input type `any`, use output (for Boolean/Number/String)\n : never\n}\n\nexport type RefinedOptionsFromRefiners = {\n [Prop in keyof Refiners]?: // all optional\n Refiners[Prop] extends ((input: any) => infer RefinedType) ? RefinedType : never\n}\n\nexport type DefaultedRefinedOptions =\n Required> &\n Partial>\n\nexport type Dictionary = Record\n\nexport type Identity = (raw: T) => T\n\nexport function identity(raw: T): T {\n return raw\n}\n","import { EventDef, EventDefHash } from './event-def'\nimport { EventInstance, EventInstanceHash } from './event-instance'\nimport { EventInput, parseEvent, EventTuple, buildEventRefiners } from './event-parse'\nimport { filterHash } from '../util/object'\nimport { CalendarContext } from '../CalendarContext'\nimport { EventSource } from './event-source'\n\n/*\nA data structure that encapsulates EventDefs and EventInstances.\nUtils for parsing this data from raw EventInputs.\nUtils for manipulating an EventStore.\n*/\n\nexport interface EventStore {\n defs: EventDefHash\n instances: EventInstanceHash\n}\n\nexport function parseEvents(\n rawEvents: EventInput[],\n eventSource: EventSource | null,\n context: CalendarContext,\n allowOpenRange?: boolean,\n): EventStore {\n let eventStore = createEmptyEventStore()\n let eventRefiners = buildEventRefiners(context)\n\n for (let rawEvent of rawEvents) {\n let tuple = parseEvent(rawEvent, eventSource, context, allowOpenRange, eventRefiners)\n\n if (tuple) {\n eventTupleToStore(tuple, eventStore)\n }\n }\n\n return eventStore\n}\n\nexport function eventTupleToStore(tuple: EventTuple, eventStore: EventStore = createEmptyEventStore()) {\n eventStore.defs[tuple.def.defId] = tuple.def\n\n if (tuple.instance) {\n eventStore.instances[tuple.instance.instanceId] = tuple.instance\n }\n\n return eventStore\n}\n\n// retrieves events that have the same groupId as the instance specified by `instanceId`\n// or they are the same as the instance.\n// why might instanceId not be in the store? an event from another calendar?\nexport function getRelevantEvents(eventStore: EventStore, instanceId: string): EventStore {\n let instance = eventStore.instances[instanceId]\n\n if (instance) {\n let def = eventStore.defs[instance.defId]\n\n // get events/instances with same group\n let newStore = filterEventStoreDefs(eventStore, (lookDef) => isEventDefsGrouped(def, lookDef))\n\n // add the original\n // TODO: wish we could use eventTupleToStore or something like it\n newStore.defs[def.defId] = def\n newStore.instances[instance.instanceId] = instance\n\n return newStore\n }\n\n return createEmptyEventStore()\n}\n\nfunction isEventDefsGrouped(def0: EventDef, def1: EventDef): boolean {\n return Boolean(def0.groupId && def0.groupId === def1.groupId)\n}\n\nexport function createEmptyEventStore(): EventStore {\n return { defs: {}, instances: {} }\n}\n\nexport function mergeEventStores(store0: EventStore, store1: EventStore): EventStore {\n return {\n defs: { ...store0.defs, ...store1.defs },\n instances: { ...store0.instances, ...store1.instances },\n }\n}\n\nexport function filterEventStoreDefs(eventStore: EventStore, filterFunc: (eventDef: EventDef) => boolean): EventStore {\n let defs = filterHash(eventStore.defs, filterFunc)\n let instances = filterHash(eventStore.instances, (instance: EventInstance) => (\n defs[instance.defId] // still exists?\n ))\n return { defs, instances }\n}\n\nexport function excludeSubEventStore(master: EventStore, sub: EventStore): EventStore {\n let { defs, instances } = master\n let filteredDefs: { [defId: string]: EventDef } = {}\n let filteredInstances: { [instanceId: string]: EventInstance } = {}\n\n for (let defId in defs) {\n if (!sub.defs[defId]) { // not explicitly excluded\n filteredDefs[defId] = defs[defId]\n }\n }\n\n for (let instanceId in instances) {\n if (\n !sub.instances[instanceId] && // not explicitly excluded\n filteredDefs[instances[instanceId].defId] // def wasn't filtered away\n ) {\n filteredInstances[instanceId] = instances[instanceId]\n }\n }\n\n return {\n defs: filteredDefs,\n instances: filteredInstances,\n }\n}\n","export type ClassNamesInput = string | string[]\n\nexport function parseClassNames(raw: ClassNamesInput) {\n if (Array.isArray(raw)) {\n return raw\n }\n\n if (typeof raw === 'string') {\n return raw.split(/\\s+/)\n }\n\n return []\n}\n","import { Constraint, AllowFunc, normalizeConstraint } from '../structs/constraint'\nimport { parseClassNames } from '../util/html'\nimport { CalendarContext } from '../CalendarContext'\nimport { RawOptionsFromRefiners, RefinedOptionsFromRefiners, identity, Identity } from '../options'\n\n// TODO: better called \"EventSettings\" or \"EventConfig\"\n// TODO: move this file into structs\n// TODO: separate constraint/overlap/allow, because selection uses only that, not other props\n\nexport const EVENT_UI_REFINERS = {\n display: String,\n editable: Boolean,\n startEditable: Boolean,\n durationEditable: Boolean,\n constraint: identity as Identity, // Identity, // circular reference. ts dies. event->constraint->event\n overlap: identity as Identity,\n allow: identity as Identity,\n className: parseClassNames, // will both end up as array of strings\n classNames: parseClassNames, // \"\n color: String,\n backgroundColor: String,\n borderColor: String,\n textColor: String,\n}\n\nconst EMPTY_EVENT_UI: EventUi = {\n display: null,\n startEditable: null,\n durationEditable: null,\n constraints: [],\n overlap: null,\n allows: [],\n backgroundColor: '',\n borderColor: '',\n textColor: '',\n classNames: [],\n}\n\ntype BuiltInEventUiRefiners = typeof EVENT_UI_REFINERS\n\ninterface EventUiRefiners extends BuiltInEventUiRefiners {\n // to prevent circular reference (and give is the option for ambient modification for later)\n}\n\nexport type EventUiInput = RawOptionsFromRefiners> // Required hack\nexport type EventUiRefined = RefinedOptionsFromRefiners> // Required hack\n\nexport interface EventUi {\n display: string | null\n startEditable: boolean | null\n durationEditable: boolean | null\n constraints: Constraint[]\n overlap: boolean | null\n allows: AllowFunc[] // crappy name to indicate plural\n backgroundColor: string\n borderColor: string\n textColor: string,\n classNames: string[]\n}\n\nexport type EventUiHash = { [defId: string]: EventUi }\n\nexport function createEventUi(refined: EventUiRefined, context: CalendarContext): EventUi {\n let constraint = normalizeConstraint(refined.constraint, context)\n\n return {\n display: refined.display || null,\n startEditable: refined.startEditable != null ? refined.startEditable : refined.editable,\n durationEditable: refined.durationEditable != null ? refined.durationEditable : refined.editable,\n constraints: constraint != null ? [constraint] : [],\n overlap: refined.overlap != null ? refined.overlap : null,\n allows: refined.allow != null ? [refined.allow] : [],\n backgroundColor: refined.backgroundColor || refined.color || '',\n borderColor: refined.borderColor || refined.color || '',\n textColor: refined.textColor || '',\n classNames: (refined.className || []).concat(refined.classNames || []), // join singular and plural\n }\n}\n\n// TODO: prevent against problems with <2 args!\nexport function combineEventUis(uis: EventUi[]): EventUi {\n return uis.reduce(combineTwoEventUis, EMPTY_EVENT_UI)\n}\n\nfunction combineTwoEventUis(item0: EventUi, item1: EventUi): EventUi { // hash1 has higher precedence\n return {\n display: item1.display != null ? item1.display : item0.display,\n startEditable: item1.startEditable != null ? item1.startEditable : item0.startEditable,\n durationEditable: item1.durationEditable != null ? item1.durationEditable : item0.durationEditable,\n constraints: item0.constraints.concat(item1.constraints),\n overlap: typeof item1.overlap === 'boolean' ? item1.overlap : item0.overlap,\n allows: item0.allows.concat(item1.allows),\n backgroundColor: item1.backgroundColor || item0.backgroundColor,\n borderColor: item1.borderColor || item0.borderColor,\n textColor: item1.textColor || item0.textColor,\n classNames: item0.classNames.concat(item1.classNames),\n }\n}\n","import { EventStore, parseEvents } from './event-store'\nimport { EventInput } from './event-parse'\nimport { DateSpanApi } from './date-span'\nimport { EventApi } from '../api/EventApi'\nimport { SplittableProps } from '../component/event-splitting'\nimport { CalendarContext } from '../CalendarContext'\n\n// TODO: rename to \"criteria\" ?\nexport type ConstraintInput = 'businessHours' | string | EventInput | EventInput[]\nexport type Constraint = 'businessHours' | string | EventStore | false // false means won't pass at all\nexport type OverlapFunc = ((stillEvent: EventApi, movingEvent: EventApi | null) => boolean)\nexport type AllowFunc = (span: DateSpanApi, movingEvent: EventApi | null) => boolean\nexport type isPropsValidTester = (props: SplittableProps, context: CalendarContext) => boolean\n\nexport function normalizeConstraint(input: ConstraintInput, context: CalendarContext): Constraint | null {\n if (Array.isArray(input)) {\n return parseEvents(input, null, context, true) // allowOpenRange=true\n } if (typeof input === 'object' && input) { // non-null object\n return parseEvents([input], null, context, true) // allowOpenRange=true\n } if (input != null) {\n return String(input)\n }\n return null\n}\n","import { __assign } from 'tslib'\nimport { guid } from '../util/misc'\nimport { DateInput } from '../datelib/env'\nimport { startOfDay } from '../datelib/marker'\nimport { parseRecurring } from './recurring-event'\nimport { CalendarContext } from '../CalendarContext'\nimport { EventDef } from './event-def'\nimport { createEventInstance, EventInstance } from './event-instance'\nimport { EventSource } from './event-source'\nimport { RefinedOptionsFromRefiners, RawOptionsFromRefiners, identity, Identity, Dictionary, refineProps } from '../options'\nimport { EVENT_UI_REFINERS, createEventUi, EventUiInput, EventUiRefined } from '../component/event-ui'\n\nexport const EVENT_NON_DATE_REFINERS = {\n id: String,\n groupId: String,\n title: String,\n url: String,\n interactive: Boolean,\n}\n\nexport const EVENT_DATE_REFINERS = {\n start: identity as Identity,\n end: identity as Identity,\n date: identity as Identity,\n allDay: Boolean,\n}\n\nconst EVENT_REFINERS = { // does NOT include EVENT_UI_REFINERS\n ...EVENT_NON_DATE_REFINERS,\n ...EVENT_DATE_REFINERS,\n extendedProps: identity as Identity,\n}\n\ntype BuiltInEventRefiners = typeof EVENT_REFINERS\n\nexport interface EventRefiners extends BuiltInEventRefiners {\n // for ambient\n}\n\nexport type EventInput =\n EventUiInput &\n RawOptionsFromRefiners> & // Required hack\n { [extendedProp: string]: any }\n\nexport type EventRefined =\n EventUiRefined &\n RefinedOptionsFromRefiners> // Required hack\n\nexport interface EventTuple {\n def: EventDef\n instance: EventInstance | null\n}\n\nexport type EventInputTransformer = (input: EventInput) => EventInput\nexport type EventDefMemberAdder = (refined: EventRefined) => Partial\n\nexport function parseEvent(\n raw: EventInput,\n eventSource: EventSource | null,\n context: CalendarContext,\n allowOpenRange: boolean,\n refiners = buildEventRefiners(context),\n): EventTuple | null {\n let { refined, extra } = refineEventDef(raw, context, refiners)\n\n let defaultAllDay = computeIsDefaultAllDay(eventSource, context)\n let recurringRes = parseRecurring(\n refined,\n defaultAllDay,\n context.dateEnv,\n context.pluginHooks.recurringTypes,\n )\n\n if (recurringRes) {\n let def = parseEventDef(\n refined,\n extra,\n eventSource ? eventSource.sourceId : '',\n recurringRes.allDay,\n Boolean(recurringRes.duration),\n context,\n )\n\n def.recurringDef = { // don't want all the props from recurringRes. TODO: more efficient way to do this\n typeId: recurringRes.typeId,\n typeData: recurringRes.typeData,\n duration: recurringRes.duration,\n }\n\n return { def, instance: null }\n }\n let singleRes = parseSingle(refined, defaultAllDay, context, allowOpenRange)\n\n if (singleRes) {\n let def = parseEventDef(refined, extra, eventSource ? eventSource.sourceId : '', singleRes.allDay, singleRes.hasEnd, context)\n let instance = createEventInstance(def.defId, singleRes.range, singleRes.forcedStartTzo, singleRes.forcedEndTzo)\n\n return { def, instance }\n }\n\n return null\n}\n\nexport function refineEventDef(raw: EventInput, context: CalendarContext, refiners = buildEventRefiners(context)) {\n return refineProps(raw, refiners)\n}\n\nexport function buildEventRefiners(context: CalendarContext) {\n return { ...EVENT_UI_REFINERS, ...EVENT_REFINERS, ...context.pluginHooks.eventRefiners }\n}\n\n/*\nWill NOT populate extendedProps with the leftover properties.\nWill NOT populate date-related props.\n*/\nexport function parseEventDef(\n refined: EventRefined,\n extra: Dictionary,\n sourceId: string,\n allDay: boolean,\n hasEnd: boolean,\n context: CalendarContext,\n): EventDef {\n let def: EventDef = {\n title: refined.title || '',\n groupId: refined.groupId || '',\n publicId: refined.id || '',\n url: refined.url || '',\n recurringDef: null,\n defId: guid(),\n sourceId,\n allDay,\n hasEnd,\n interactive: refined.interactive,\n ui: createEventUi(refined, context),\n extendedProps: {\n ...(refined.extendedProps || {}),\n ...extra,\n },\n }\n\n for (let memberAdder of context.pluginHooks.eventDefMemberAdders) {\n __assign(def, memberAdder(refined))\n }\n\n // help out EventApi from having user modify props\n Object.freeze(def.ui.classNames)\n Object.freeze(def.extendedProps)\n\n return def\n}\n\nfunction parseSingle(refined: EventRefined, defaultAllDay: boolean | null, context: CalendarContext, allowOpenRange?: boolean) {\n let { allDay } = refined\n let startMeta\n let startMarker = null\n let hasEnd = false\n let endMeta\n let endMarker = null\n\n let startInput = refined.start != null ? refined.start : refined.date\n startMeta = context.dateEnv.createMarkerMeta(startInput)\n\n if (startMeta) {\n startMarker = startMeta.marker\n } else if (!allowOpenRange) {\n return null\n }\n\n if (refined.end != null) {\n endMeta = context.dateEnv.createMarkerMeta(refined.end)\n }\n\n if (allDay == null) {\n if (defaultAllDay != null) {\n allDay = defaultAllDay\n } else {\n // fall back to the date props LAST\n allDay = (!startMeta || startMeta.isTimeUnspecified) &&\n (!endMeta || endMeta.isTimeUnspecified)\n }\n }\n\n if (allDay && startMarker) {\n startMarker = startOfDay(startMarker)\n }\n\n if (endMeta) {\n endMarker = endMeta.marker\n\n if (allDay) {\n endMarker = startOfDay(endMarker)\n }\n\n if (startMarker && endMarker <= startMarker) {\n endMarker = null\n }\n }\n\n if (endMarker) {\n hasEnd = true\n } else if (!allowOpenRange) {\n hasEnd = context.options.forceEventDuration || false\n\n endMarker = context.dateEnv.add(\n startMarker,\n allDay ?\n context.options.defaultAllDayEventDuration :\n context.options.defaultTimedEventDuration,\n )\n }\n\n return {\n allDay,\n hasEnd,\n range: { start: startMarker, end: endMarker },\n forcedStartTzo: startMeta ? startMeta.forcedTzo : null,\n forcedEndTzo: endMeta ? endMeta.forcedTzo : null,\n }\n}\n\nfunction computeIsDefaultAllDay(eventSource: EventSource | null, context: CalendarContext): boolean | null {\n let res = null\n\n if (eventSource) {\n res = eventSource.defaultAllDay\n }\n\n if (res == null) {\n res = context.options.defaultAllDay\n }\n\n return res\n}\n","import { DateMarker, startOfDay, addDays, diffDays, diffDayAndTime } from '../datelib/marker'\nimport { Duration, asRoughMs, createDuration } from '../datelib/duration'\nimport { DateEnv } from '../datelib/env'\nimport { DateRange, OpenDateRange } from '../datelib/date-range'\n\n/* Date stuff that doesn't belong in datelib core\n----------------------------------------------------------------------------------------------------------------------*/\n\n// given a timed range, computes an all-day range that has the same exact duration,\n// but whose start time is aligned with the start of the day.\nexport function computeAlignedDayRange(timedRange: DateRange): DateRange {\n let dayCnt = Math.floor(diffDays(timedRange.start, timedRange.end)) || 1\n let start = startOfDay(timedRange.start)\n let end = addDays(start, dayCnt)\n return { start, end }\n}\n\n// given a timed range, computes an all-day range based on how for the end date bleeds into the next day\n// TODO: give nextDayThreshold a default arg\nexport function computeVisibleDayRange(timedRange: OpenDateRange, nextDayThreshold: Duration = createDuration(0)): OpenDateRange {\n let startDay: DateMarker = null\n let endDay: DateMarker = null\n\n if (timedRange.end) {\n endDay = startOfDay(timedRange.end)\n\n let endTimeMS: number = timedRange.end.valueOf() - endDay.valueOf() // # of milliseconds into `endDay`\n\n // If the end time is actually inclusively part of the next day and is equal to or\n // beyond the next day threshold, adjust the end to be the exclusive end of `endDay`.\n // Otherwise, leaving it as inclusive will cause it to exclude `endDay`.\n if (endTimeMS && endTimeMS >= asRoughMs(nextDayThreshold)) {\n endDay = addDays(endDay, 1)\n }\n }\n\n if (timedRange.start) {\n startDay = startOfDay(timedRange.start) // the beginning of the day the range starts\n\n // If end is within `startDay` but not past nextDayThreshold, assign the default duration of one day.\n if (endDay && endDay <= startDay) {\n endDay = addDays(startDay, 1)\n }\n }\n\n return { start: startDay, end: endDay }\n}\n\n// spans from one day into another?\nexport function isMultiDayRange(range: DateRange) {\n let visibleRange = computeVisibleDayRange(range)\n\n return diffDays(visibleRange.start, visibleRange.end) > 1\n}\n\nexport function diffDates(date0: DateMarker, date1: DateMarker, dateEnv: DateEnv, largeUnit?: string) {\n if (largeUnit === 'year') {\n return createDuration(dateEnv.diffWholeYears(date0, date1), 'year')!\n }\n\n if (largeUnit === 'month') {\n return createDuration(dateEnv.diffWholeMonths(date0, date1), 'month')!\n }\n\n return diffDayAndTime(date0, date1) // returns a duration\n}\n","import { DateMarker } from './marker'\nimport { DateEnv, DateInput } from './env'\n\nexport interface DateRangeInput {\n start?: DateInput\n end?: DateInput\n}\n\nexport interface OpenDateRange {\n start: DateMarker | null\n end: DateMarker | null\n}\n\nexport interface DateRange {\n start: DateMarker\n end: DateMarker\n}\n\nexport function parseRange(input: DateRangeInput, dateEnv: DateEnv): OpenDateRange {\n let start = null\n let end = null\n\n if (input.start) {\n start = dateEnv.createMarker(input.start)\n }\n\n if (input.end) {\n end = dateEnv.createMarker(input.end)\n }\n\n if (!start && !end) {\n return null\n }\n\n if (start && end && end < start) {\n return null\n }\n\n return { start, end }\n}\n\n// SIDE-EFFECT: will mutate ranges.\n// Will return a new array result.\nexport function invertRanges(ranges: DateRange[], constraintRange: DateRange): DateRange[] {\n let invertedRanges: DateRange[] = []\n let { start } = constraintRange // the end of the previous range. the start of the new range\n let i\n let dateRange\n\n // ranges need to be in order. required for our date-walking algorithm\n ranges.sort(compareRanges)\n\n for (i = 0; i < ranges.length; i += 1) {\n dateRange = ranges[i]\n\n // add the span of time before the event (if there is any)\n if (dateRange.start > start) { // compare millisecond time (skip any ambig logic)\n invertedRanges.push({ start, end: dateRange.start })\n }\n\n if (dateRange.end > start) {\n start = dateRange.end\n }\n }\n\n // add the span of time after the last event (if there is any)\n if (start < constraintRange.end) { // compare millisecond time (skip any ambig logic)\n invertedRanges.push({ start, end: constraintRange.end })\n }\n\n return invertedRanges\n}\n\nfunction compareRanges(range0: DateRange, range1: DateRange) {\n return range0.start.valueOf() - range1.start.valueOf() // earlier ranges go first\n}\n\nexport function intersectRanges(range0: OpenDateRange, range1: OpenDateRange): OpenDateRange {\n let { start, end } = range0\n let newRange = null\n\n if (range1.start !== null) {\n if (start === null) {\n start = range1.start\n } else {\n start = new Date(Math.max(start.valueOf(), range1.start.valueOf()))\n }\n }\n\n if (range1.end != null) {\n if (end === null) {\n end = range1.end\n } else {\n end = new Date(Math.min(end.valueOf(), range1.end.valueOf()))\n }\n }\n\n if (start === null || end === null || start < end) {\n newRange = { start, end }\n }\n\n return newRange\n}\n\nexport function rangesEqual(range0: OpenDateRange, range1: OpenDateRange): boolean {\n return (range0.start === null ? null : range0.start.valueOf()) === (range1.start === null ? null : range1.start.valueOf()) &&\n (range0.end === null ? null : range0.end.valueOf()) === (range1.end === null ? null : range1.end.valueOf())\n}\n\nexport function rangesIntersect(range0: OpenDateRange, range1: OpenDateRange): boolean {\n return (range0.end === null || range1.start === null || range0.end > range1.start) &&\n (range0.start === null || range1.end === null || range0.start < range1.end)\n}\n\nexport function rangeContainsRange(outerRange: OpenDateRange, innerRange: OpenDateRange): boolean {\n return (outerRange.start === null || (innerRange.start !== null && innerRange.start >= outerRange.start)) &&\n (outerRange.end === null || (innerRange.end !== null && innerRange.end <= outerRange.end))\n}\n\nexport function rangeContainsMarker(range: OpenDateRange, date: DateMarker | number): boolean { // date can be a millisecond time\n return (range.start === null || date >= range.start) &&\n (range.end === null || date < range.end)\n}\n\n// If the given date is not within the given range, move it inside.\n// (If it's past the end, make it one millisecond before the end).\nexport function constrainMarkerToRange(date: DateMarker, range: DateRange): DateMarker {\n if (range.start != null && date < range.start) {\n return range.start\n }\n\n if (range.end != null && date >= range.end) {\n return new Date(range.end.valueOf() - 1)\n }\n\n return date\n}\n","import { EventDef, EventDefHash } from '../structs/event-def'\nimport { EventTuple } from '../structs/event-parse'\nimport { EventStore } from '../structs/event-store'\nimport { DateRange, invertRanges, intersectRanges, rangeContainsMarker } from '../datelib/date-range'\nimport { Duration } from '../datelib/duration'\nimport { compareByFieldSpecs, OrderSpec } from '../util/misc'\nimport { computeVisibleDayRange } from '../util/date'\nimport { Seg } from './DateComponent'\nimport { EventApi } from '../api/EventApi'\nimport { EventUi, EventUiHash, combineEventUis } from './event-ui'\nimport { mapHash } from '../util/object'\nimport { ViewContext } from '../ViewContext'\nimport { DateFormatter } from '../datelib/DateFormatter'\nimport { addMs, DateMarker, startOfDay } from '../datelib/marker'\nimport { ViewApi } from '../ViewApi'\nimport { MountArg } from '../common/render-hook'\nimport { createAriaKeyboardAttrs } from '../util/dom-event'\n\nexport interface EventRenderRange extends EventTuple {\n ui: EventUi\n range: DateRange\n isStart: boolean\n isEnd: boolean\n}\n\n/*\nSpecifying nextDayThreshold signals that all-day ranges should be sliced.\n*/\nexport function sliceEventStore(eventStore: EventStore, eventUiBases: EventUiHash, framingRange: DateRange, nextDayThreshold?: Duration) {\n let inverseBgByGroupId: { [groupId: string]: DateRange[] } = {}\n let inverseBgByDefId: { [defId: string]: DateRange[] } = {}\n let defByGroupId: { [groupId: string]: EventDef } = {}\n let bgRanges: EventRenderRange[] = []\n let fgRanges: EventRenderRange[] = []\n let eventUis = compileEventUis(eventStore.defs, eventUiBases)\n\n for (let defId in eventStore.defs) {\n let def = eventStore.defs[defId]\n let ui = eventUis[def.defId]\n\n if (ui.display === 'inverse-background') {\n if (def.groupId) {\n inverseBgByGroupId[def.groupId] = []\n\n if (!defByGroupId[def.groupId]) {\n defByGroupId[def.groupId] = def\n }\n } else {\n inverseBgByDefId[defId] = []\n }\n }\n }\n\n for (let instanceId in eventStore.instances) {\n let instance = eventStore.instances[instanceId]\n let def = eventStore.defs[instance.defId]\n let ui = eventUis[def.defId]\n let origRange = instance.range\n\n let normalRange = (!def.allDay && nextDayThreshold) ?\n computeVisibleDayRange(origRange, nextDayThreshold) :\n origRange\n\n let slicedRange = intersectRanges(normalRange, framingRange)\n\n if (slicedRange) {\n if (ui.display === 'inverse-background') {\n if (def.groupId) {\n inverseBgByGroupId[def.groupId].push(slicedRange)\n } else {\n inverseBgByDefId[instance.defId].push(slicedRange)\n }\n } else if (ui.display !== 'none') {\n (ui.display === 'background' ? bgRanges : fgRanges).push({\n def,\n ui,\n instance,\n range: slicedRange,\n isStart: normalRange.start && normalRange.start.valueOf() === slicedRange.start.valueOf(),\n isEnd: normalRange.end && normalRange.end.valueOf() === slicedRange.end.valueOf(),\n })\n }\n }\n }\n\n for (let groupId in inverseBgByGroupId) { // BY GROUP\n let ranges = inverseBgByGroupId[groupId]\n let invertedRanges = invertRanges(ranges, framingRange)\n\n for (let invertedRange of invertedRanges) {\n let def = defByGroupId[groupId]\n let ui = eventUis[def.defId]\n\n bgRanges.push({\n def,\n ui,\n instance: null,\n range: invertedRange,\n isStart: false,\n isEnd: false,\n })\n }\n }\n\n for (let defId in inverseBgByDefId) {\n let ranges = inverseBgByDefId[defId]\n let invertedRanges = invertRanges(ranges, framingRange)\n\n for (let invertedRange of invertedRanges) {\n bgRanges.push({\n def: eventStore.defs[defId],\n ui: eventUis[defId],\n instance: null,\n range: invertedRange,\n isStart: false,\n isEnd: false,\n })\n }\n }\n\n return { bg: bgRanges, fg: fgRanges }\n}\n\nexport function hasBgRendering(def: EventDef) {\n return def.ui.display === 'background' || def.ui.display === 'inverse-background'\n}\n\nexport function setElSeg(el: HTMLElement, seg: Seg) {\n (el as any).fcSeg = seg\n}\n\nexport function getElSeg(el: HTMLElement): Seg | null {\n return (el as any).fcSeg ||\n (el.parentNode as any).fcSeg || // for the harness\n null\n}\n\n// event ui computation\n\nexport function compileEventUis(eventDefs: EventDefHash, eventUiBases: EventUiHash) {\n return mapHash(eventDefs, (eventDef: EventDef) => compileEventUi(eventDef, eventUiBases))\n}\n\nexport function compileEventUi(eventDef: EventDef, eventUiBases: EventUiHash) {\n let uis = []\n\n if (eventUiBases['']) {\n uis.push(eventUiBases[''])\n }\n\n if (eventUiBases[eventDef.defId]) {\n uis.push(eventUiBases[eventDef.defId])\n }\n\n uis.push(eventDef.ui)\n\n return combineEventUis(uis)\n}\n\nexport function sortEventSegs(segs, eventOrderSpecs: OrderSpec[]): Seg[] {\n let objs = segs.map(buildSegCompareObj)\n\n objs.sort((obj0, obj1) => compareByFieldSpecs(obj0, obj1, eventOrderSpecs))\n\n return objs.map((c) => c._seg)\n}\n\n// returns a object with all primitive props that can be compared\nexport function buildSegCompareObj(seg: Seg) {\n let { eventRange } = seg\n let eventDef = eventRange.def\n let range = eventRange.instance ? eventRange.instance.range : eventRange.range\n let start = range.start ? range.start.valueOf() : 0 // TODO: better support for open-range events\n let end = range.end ? range.end.valueOf() : 0 // \"\n\n return {\n ...eventDef.extendedProps,\n ...eventDef,\n id: eventDef.publicId,\n start,\n end,\n duration: end - start,\n allDay: Number(eventDef.allDay),\n _seg: seg, // for later retrieval\n }\n}\n\n// other stuff\n\nexport interface EventContentArg { // for *Content handlers\n event: EventApi\n timeText: string\n backgroundColor: string // TODO: add other EventUi props?\n borderColor: string //\n textColor: string //\n isDraggable: boolean\n isStartResizable: boolean\n isEndResizable: boolean\n isMirror: boolean\n isStart: boolean\n isEnd: boolean\n isPast: boolean\n isFuture: boolean\n isToday: boolean\n isSelected: boolean\n isDragging: boolean\n isResizing: boolean\n view: ViewApi // specifically for the API\n}\n\nexport type EventMountArg = MountArg\n\nexport function computeSegDraggable(seg: Seg, context: ViewContext) {\n let { pluginHooks } = context\n let transformers = pluginHooks.isDraggableTransformers\n let { def, ui } = seg.eventRange\n let val = ui.startEditable\n\n for (let transformer of transformers) {\n val = transformer(val, def, ui, context)\n }\n\n return val\n}\n\nexport function computeSegStartResizable(seg: Seg, context: ViewContext) {\n return seg.isStart && seg.eventRange.ui.durationEditable && context.options.eventResizableFromStart\n}\n\nexport function computeSegEndResizable(seg: Seg, context: ViewContext) {\n return seg.isEnd && seg.eventRange.ui.durationEditable\n}\n\nexport function buildSegTimeText(\n seg: Seg,\n timeFormat: DateFormatter,\n context: ViewContext,\n defaultDisplayEventTime?: boolean, // defaults to true\n defaultDisplayEventEnd?: boolean, // defaults to true\n startOverride?: DateMarker,\n endOverride?: DateMarker,\n) {\n let { dateEnv, options } = context\n let { displayEventTime, displayEventEnd } = options\n let eventDef = seg.eventRange.def\n let eventInstance = seg.eventRange.instance\n\n if (displayEventTime == null) { displayEventTime = defaultDisplayEventTime !== false }\n if (displayEventEnd == null) { displayEventEnd = defaultDisplayEventEnd !== false }\n\n let wholeEventStart = eventInstance.range.start\n let wholeEventEnd = eventInstance.range.end\n let segStart = startOverride || seg.start || seg.eventRange.range.start\n let segEnd = endOverride || seg.end || seg.eventRange.range.end\n let isStartDay = startOfDay(wholeEventStart).valueOf() === startOfDay(segStart).valueOf()\n let isEndDay = startOfDay(addMs(wholeEventEnd, -1)).valueOf() === startOfDay(addMs(segEnd, -1)).valueOf()\n\n if (displayEventTime && !eventDef.allDay && (isStartDay || isEndDay)) {\n segStart = isStartDay ? wholeEventStart : segStart\n segEnd = isEndDay ? wholeEventEnd : segEnd\n\n if (displayEventEnd && eventDef.hasEnd) {\n return dateEnv.formatRange(segStart, segEnd, timeFormat, {\n forcedStartTzo: startOverride ? null : eventInstance.forcedStartTzo, // nooooooooooooo, give tzo if same date\n forcedEndTzo: endOverride ? null : eventInstance.forcedEndTzo,\n })\n }\n return dateEnv.format(segStart, timeFormat, {\n forcedTzo: startOverride ? null : eventInstance.forcedStartTzo, // nooooo, same\n })\n }\n\n return ''\n}\n\nexport function getSegMeta(seg: Seg, todayRange: DateRange, nowDate?: DateMarker) { // TODO: make arg order consistent with date util\n let segRange = seg.eventRange.range\n\n return {\n isPast: segRange.end < (nowDate || todayRange.start),\n isFuture: segRange.start >= (nowDate || todayRange.end),\n isToday: todayRange && rangeContainsMarker(todayRange, segRange.start),\n }\n}\n\nexport function getEventClassNames(props: EventContentArg) { // weird that we use this interface, but convenient\n let classNames: string[] = ['fc-event']\n\n if (props.isMirror) {\n classNames.push('fc-event-mirror')\n }\n\n if (props.isDraggable) {\n classNames.push('fc-event-draggable')\n }\n\n if (props.isStartResizable || props.isEndResizable) {\n classNames.push('fc-event-resizable')\n }\n\n if (props.isDragging) {\n classNames.push('fc-event-dragging')\n }\n\n if (props.isResizing) {\n classNames.push('fc-event-resizing')\n }\n\n if (props.isSelected) {\n classNames.push('fc-event-selected')\n }\n\n if (props.isStart) {\n classNames.push('fc-event-start')\n }\n\n if (props.isEnd) {\n classNames.push('fc-event-end')\n }\n\n if (props.isPast) {\n classNames.push('fc-event-past')\n }\n\n if (props.isToday) {\n classNames.push('fc-event-today')\n }\n\n if (props.isFuture) {\n classNames.push('fc-event-future')\n }\n\n return classNames\n}\n\nexport function buildEventRangeKey(eventRange: EventRenderRange) {\n return eventRange.instance\n ? eventRange.instance.instanceId\n : `${eventRange.def.defId}:${eventRange.range.start.toISOString()}`\n // inverse-background events don't have specific instances. TODO: better solution\n}\n\nexport function getSegAnchorAttrs(seg: Seg, context: ViewContext) {\n let { def, instance } = seg.eventRange\n let { url } = def\n\n if (url) {\n return { href: url }\n }\n\n let { emitter, options } = context\n let { eventInteractive } = options\n\n if (eventInteractive == null) {\n eventInteractive = def.interactive\n if (eventInteractive == null) {\n eventInteractive = Boolean(emitter.hasHandlers('eventClick'))\n }\n }\n\n // mock what happens in EventClicking\n if (eventInteractive) {\n // only attach keyboard-related handlers because click handler is already done in EventClicking\n return createAriaKeyboardAttrs((ev: UIEvent) => {\n emitter.trigger('eventClick', {\n el: ev.target as HTMLElement,\n event: new EventApi(context, def, instance),\n jsEvent: ev as MouseEvent,\n view: context.viewApi,\n })\n })\n }\n\n return {}\n}\n","import { DateRange, rangesEqual, OpenDateRange } from '../datelib/date-range'\nimport { DateInput, DateEnv } from '../datelib/env'\nimport { Duration } from '../datelib/duration'\nimport { createEventInstance } from './event-instance'\nimport { parseEventDef, refineEventDef } from './event-parse'\nimport { EventRenderRange, compileEventUi } from '../component/event-rendering'\nimport { EventUiHash } from '../component/event-ui'\nimport { CalendarContext } from '../CalendarContext'\nimport { refineProps, identity, Identity } from '../options'\n\n/*\nA data-structure for a date-range that will be visually displayed.\nContains other metadata like allDay, and anything else Components might like to store.\n\nTODO: in future, put otherProps in own object.\n*/\n\nexport interface OpenDateSpanInput {\n start?: DateInput\n end?: DateInput\n allDay?: boolean\n [otherProp: string]: any\n}\n\nexport interface DateSpanInput extends OpenDateSpanInput {\n start: DateInput\n end: DateInput\n}\n\nexport interface OpenDateSpan {\n range: OpenDateRange\n allDay: boolean\n [otherProp: string]: any\n}\n\nexport interface DateSpan extends OpenDateSpan {\n range: DateRange\n}\n\nexport interface RangeApi {\n start: Date\n end: Date\n startStr: string\n endStr: string\n}\n\nexport interface DateSpanApi extends RangeApi {\n allDay: boolean\n}\n\nexport interface RangeApiWithTimeZone extends RangeApi {\n timeZone: string\n}\n\nexport interface DatePointApi {\n date: Date\n dateStr: string\n allDay: boolean\n}\n\nconst STANDARD_PROPS = {\n start: identity as Identity,\n end: identity as Identity,\n allDay: Boolean,\n}\n\nexport function parseDateSpan(raw: DateSpanInput, dateEnv: DateEnv, defaultDuration?: Duration): DateSpan | null {\n let span = parseOpenDateSpan(raw, dateEnv)\n let { range } = span\n\n if (!range.start) {\n return null\n }\n\n if (!range.end) {\n if (defaultDuration == null) {\n return null\n }\n range.end = dateEnv.add(range.start, defaultDuration)\n }\n\n return span as DateSpan\n}\n\n/*\nTODO: somehow combine with parseRange?\nWill return null if the start/end props were present but parsed invalidly.\n*/\nexport function parseOpenDateSpan(raw: OpenDateSpanInput, dateEnv: DateEnv): OpenDateSpan | null {\n let { refined: standardProps, extra } = refineProps(raw, STANDARD_PROPS)\n let startMeta = standardProps.start ? dateEnv.createMarkerMeta(standardProps.start) : null\n let endMeta = standardProps.end ? dateEnv.createMarkerMeta(standardProps.end) : null\n let { allDay } = standardProps\n\n if (allDay == null) {\n allDay = (startMeta && startMeta.isTimeUnspecified) &&\n (!endMeta || endMeta.isTimeUnspecified)\n }\n\n return {\n range: {\n start: startMeta ? startMeta.marker : null,\n end: endMeta ? endMeta.marker : null,\n },\n allDay,\n ...extra,\n }\n}\n\nexport function isDateSpansEqual(span0: DateSpan, span1: DateSpan): boolean {\n return rangesEqual(span0.range, span1.range) &&\n span0.allDay === span1.allDay &&\n isSpanPropsEqual(span0, span1)\n}\n\n// the NON-DATE-RELATED props\nfunction isSpanPropsEqual(span0: DateSpan, span1: DateSpan): boolean {\n for (let propName in span1) {\n if (propName !== 'range' && propName !== 'allDay') {\n if (span0[propName] !== span1[propName]) {\n return false\n }\n }\n }\n\n // are there any props that span0 has that span1 DOESN'T have?\n // both have range/allDay, so no need to special-case.\n for (let propName in span0) {\n if (!(propName in span1)) {\n return false\n }\n }\n\n return true\n}\n\nexport function buildDateSpanApi(span: DateSpan, dateEnv: DateEnv): DateSpanApi {\n return {\n ...buildRangeApi(span.range, dateEnv, span.allDay),\n allDay: span.allDay,\n }\n}\n\nexport function buildRangeApiWithTimeZone(range: DateRange, dateEnv: DateEnv, omitTime?: boolean): RangeApiWithTimeZone {\n return {\n ...buildRangeApi(range, dateEnv, omitTime),\n timeZone: dateEnv.timeZone,\n }\n}\n\nexport function buildRangeApi(range: DateRange, dateEnv: DateEnv, omitTime?: boolean): RangeApi {\n return {\n start: dateEnv.toDate(range.start),\n end: dateEnv.toDate(range.end),\n startStr: dateEnv.formatIso(range.start, { omitTime }),\n endStr: dateEnv.formatIso(range.end, { omitTime }),\n }\n}\n\nexport function fabricateEventRange(dateSpan: DateSpan, eventUiBases: EventUiHash, context: CalendarContext): EventRenderRange {\n let res = refineEventDef({ editable: false }, context)\n let def = parseEventDef(\n res.refined,\n res.extra,\n '', // sourceId\n dateSpan.allDay,\n true, // hasEnd\n context,\n )\n\n return {\n def,\n ui: compileEventUi(def, eventUiBases),\n instance: createEventInstance(def.defId, dateSpan.range),\n range: dateSpan.range,\n isStart: true,\n isEnd: true,\n }\n}\n","import { __assign } from 'tslib'\nimport { PointerDragEvent } from './interactions/pointer'\nimport { buildDateSpanApi, DateSpanApi, DatePointApi, DateSpan } from './structs/date-span'\nimport { CalendarContext } from './CalendarContext'\nimport { ViewApi } from './ViewApi'\nimport { DateMarker, startOfDay } from './datelib/marker'\n\nexport interface DateClickApi extends DatePointApi {\n dayEl: HTMLElement\n jsEvent: UIEvent\n view: ViewApi\n}\n\nexport interface DateSelectionApi extends DateSpanApi {\n jsEvent: UIEvent\n view: ViewApi\n}\n\nexport type DatePointTransform = (dateSpan: DateSpan, context: CalendarContext) => any\nexport type DateSpanTransform = (dateSpan: DateSpan, context: CalendarContext) => any\n\nexport type CalendarInteraction = { destroy: () => void }\nexport type CalendarInteractionClass = { new(context: CalendarContext): CalendarInteraction }\n\nexport type OptionChangeHandler = (propValue: any, context: CalendarContext) => void\nexport type OptionChangeHandlerMap = { [propName: string]: OptionChangeHandler }\n\nexport interface DateSelectArg extends DateSpanApi {\n jsEvent: MouseEvent | null\n view: ViewApi\n}\n\nexport function triggerDateSelect(selection: DateSpan, pev: PointerDragEvent | null, context: CalendarContext & { viewApi?: ViewApi }) {\n context.emitter.trigger('select', {\n ...buildDateSpanApiWithContext(selection, context),\n jsEvent: pev ? pev.origEvent as MouseEvent : null, // Is this always a mouse event? See #4655\n view: context.viewApi || context.calendarApi.view,\n } as DateSelectArg)\n}\n\nexport interface DateUnselectArg {\n jsEvent: MouseEvent\n view: ViewApi\n}\n\nexport function triggerDateUnselect(pev: PointerDragEvent | null, context: CalendarContext & { viewApi?: ViewApi }) {\n context.emitter.trigger('unselect', {\n jsEvent: pev ? pev.origEvent : null,\n view: context.viewApi || context.calendarApi.view,\n } as DateUnselectArg)\n}\n\nexport function buildDateSpanApiWithContext(dateSpan: DateSpan, context: CalendarContext) {\n let props = {} as DateSpanApi\n\n for (let transform of context.pluginHooks.dateSpanTransforms) {\n __assign(props, transform(dateSpan, context))\n }\n\n __assign(props, buildDateSpanApi(dateSpan, context.dateEnv))\n\n return props\n}\n\n// Given an event's allDay status and start date, return what its fallback end date should be.\n// TODO: rename to computeDefaultEventEnd\nexport function getDefaultEventEnd(allDay: boolean, marker: DateMarker, context: CalendarContext): DateMarker {\n let { dateEnv, options } = context\n let end = marker\n\n if (allDay) {\n end = startOfDay(end)\n end = dateEnv.add(end, options.defaultAllDayEventDuration)\n } else {\n end = dateEnv.add(end, options.defaultTimedEventDuration)\n }\n\n return end\n}\n","import { Duration } from '../datelib/duration'\nimport { EventStore, createEmptyEventStore } from './event-store'\nimport { EventDef } from './event-def'\nimport { EventInstance } from './event-instance'\nimport { computeAlignedDayRange } from '../util/date'\nimport { startOfDay } from '../datelib/marker'\nimport { EventUiHash, EventUi } from '../component/event-ui'\nimport { compileEventUis } from '../component/event-rendering'\nimport { CalendarContext } from '../CalendarContext'\nimport { getDefaultEventEnd } from '../calendar-utils'\n\n/*\nA data structure for how to modify an EventDef/EventInstance within an EventStore\n*/\n\nexport interface EventMutation {\n datesDelta?: Duration // body start+end moving together. for dragging\n startDelta?: Duration // for resizing\n endDelta?: Duration // for resizing\n standardProps?: any // for the def. should not include extendedProps\n extendedProps?: any // for the def\n}\n\n// applies the mutation to ALL defs/instances within the event store\nexport function applyMutationToEventStore(\n eventStore: EventStore,\n eventConfigBase: EventUiHash,\n mutation: EventMutation,\n context: CalendarContext,\n): EventStore {\n let eventConfigs = compileEventUis(eventStore.defs, eventConfigBase)\n let dest = createEmptyEventStore()\n\n for (let defId in eventStore.defs) {\n let def = eventStore.defs[defId]\n\n dest.defs[defId] = applyMutationToEventDef(def, eventConfigs[defId], mutation, context)\n }\n\n for (let instanceId in eventStore.instances) {\n let instance = eventStore.instances[instanceId]\n let def = dest.defs[instance.defId] // important to grab the newly modified def\n\n dest.instances[instanceId] = applyMutationToEventInstance(instance, def, eventConfigs[instance.defId], mutation, context)\n }\n\n return dest\n}\n\nexport type eventDefMutationApplier = (eventDef: EventDef, mutation: EventMutation, context: CalendarContext) => void\n\nfunction applyMutationToEventDef(eventDef: EventDef, eventConfig: EventUi, mutation: EventMutation, context: CalendarContext): EventDef {\n let standardProps = mutation.standardProps || {}\n\n // if hasEnd has not been specified, guess a good value based on deltas.\n // if duration will change, there's no way the default duration will persist,\n // and thus, we need to mark the event as having a real end\n if (\n standardProps.hasEnd == null &&\n eventConfig.durationEditable &&\n (mutation.startDelta || mutation.endDelta)\n ) {\n standardProps.hasEnd = true // TODO: is this mutation okay?\n }\n\n let copy: EventDef = {\n ...eventDef,\n ...standardProps,\n ui: { ...eventDef.ui, ...standardProps.ui }, // the only prop we want to recursively overlay\n }\n\n if (mutation.extendedProps) {\n copy.extendedProps = { ...copy.extendedProps, ...mutation.extendedProps }\n }\n\n for (let applier of context.pluginHooks.eventDefMutationAppliers) {\n applier(copy, mutation, context)\n }\n\n if (!copy.hasEnd && context.options.forceEventDuration) {\n copy.hasEnd = true\n }\n\n return copy\n}\n\nfunction applyMutationToEventInstance(\n eventInstance: EventInstance,\n eventDef: EventDef, // must first be modified by applyMutationToEventDef\n eventConfig: EventUi,\n mutation: EventMutation,\n context: CalendarContext,\n): EventInstance {\n let { dateEnv } = context\n let forceAllDay = mutation.standardProps && mutation.standardProps.allDay === true\n let clearEnd = mutation.standardProps && mutation.standardProps.hasEnd === false\n let copy = { ...eventInstance } as EventInstance\n\n if (forceAllDay) {\n copy.range = computeAlignedDayRange(copy.range)\n }\n\n if (mutation.datesDelta && eventConfig.startEditable) {\n copy.range = {\n start: dateEnv.add(copy.range.start, mutation.datesDelta),\n end: dateEnv.add(copy.range.end, mutation.datesDelta),\n }\n }\n\n if (mutation.startDelta && eventConfig.durationEditable) {\n copy.range = {\n start: dateEnv.add(copy.range.start, mutation.startDelta),\n end: copy.range.end,\n }\n }\n\n if (mutation.endDelta && eventConfig.durationEditable) {\n copy.range = {\n start: copy.range.start,\n end: dateEnv.add(copy.range.end, mutation.endDelta),\n }\n }\n\n if (clearEnd) {\n copy.range = {\n start: copy.range.start,\n end: getDefaultEventEnd(eventDef.allDay, copy.range.start, context),\n }\n }\n\n // in case event was all-day but the supplied deltas were not\n // better util for this?\n if (eventDef.allDay) {\n copy.range = {\n start: startOfDay(copy.range.start),\n end: startOfDay(copy.range.end),\n }\n }\n\n // handle invalid durations\n if (copy.range.end < copy.range.start) {\n copy.range.end = getDefaultEventEnd(eventDef.allDay, copy.range.start, context)\n }\n\n return copy\n}\n","import { DateEnv } from './datelib/env'\nimport { CalendarData } from './reducers/data-types'\n\n// no public types yet. when there are, export from:\n// import {} from './api-type-deps'\n\nexport class ViewApi { // always represents the current view. otherwise, it'd need to change value every time date changes\n constructor(\n public type: string,\n private getCurrentData: () => CalendarData,\n private dateEnv: DateEnv,\n ) {\n }\n\n get calendar() {\n return this.getCurrentData().calendarApi\n }\n\n get title() {\n return this.getCurrentData().viewTitle\n }\n\n get activeStart() {\n return this.dateEnv.toDate(this.getCurrentData().dateProfile.activeRange.start)\n }\n\n get activeEnd() {\n return this.dateEnv.toDate(this.getCurrentData().dateProfile.activeRange.end)\n }\n\n get currentStart() {\n return this.dateEnv.toDate(this.getCurrentData().dateProfile.currentRange.start)\n }\n\n get currentEnd() {\n return this.dateEnv.toDate(this.getCurrentData().dateProfile.currentRange.end)\n }\n\n getOption(name: string) {\n return this.getCurrentData().options[name] // are the view-specific options\n }\n}\n","import { EventInput, EventInputTransformer } from './event-parse'\nimport { EventSourceFunc } from '../event-sources/func-event-source'\nimport { EventSource, EventSourceSuccessResponseHandler, EventSourceErrorResponseHandler } from './event-source'\nimport { JSON_FEED_EVENT_SOURCE_REFINERS } from '../event-sources/json-feed-event-source-refiners'\nimport { CalendarContext } from '../CalendarContext'\nimport { guid } from '../util/misc'\nimport { EVENT_UI_REFINERS, createEventUi, EventUiInput, EventUiRefined } from '../component/event-ui'\nimport { identity, Identity, RawOptionsFromRefiners, refineProps, RefinedOptionsFromRefiners } from '../options'\n\nconst EVENT_SOURCE_REFINERS = { // does NOT include EVENT_UI_REFINERS\n id: String,\n defaultAllDay: Boolean,\n url: String,\n format: String,\n events: identity as Identity, // array or function\n eventDataTransform: identity as Identity,\n\n // for any network-related sources\n success: identity as Identity,\n failure: identity as Identity,\n}\n\ntype BuiltInEventSourceRefiners = typeof EVENT_SOURCE_REFINERS &\n typeof JSON_FEED_EVENT_SOURCE_REFINERS\n\nexport interface EventSourceRefiners extends BuiltInEventSourceRefiners {\n // for extending\n}\n\nexport type EventSourceInputObject =\n EventUiInput &\n RawOptionsFromRefiners> // Required hack\n\nexport type EventSourceInput =\n EventSourceInputObject | // object in extended form\n EventInput[] |\n EventSourceFunc | // just a function\n string // a URL for a JSON feed\n\nexport type EventSourceRefined =\n EventUiRefined &\n RefinedOptionsFromRefiners> // Required hack\n\nexport function parseEventSource(\n raw: EventSourceInput,\n context: CalendarContext,\n refiners = buildEventSourceRefiners(context),\n): EventSource | null {\n let rawObj: EventSourceInputObject\n\n if (typeof raw === 'string') {\n rawObj = { url: raw }\n } else if (typeof raw === 'function' || Array.isArray(raw)) {\n rawObj = { events: raw }\n } else if (typeof raw === 'object' && raw) { // not null\n rawObj = raw\n }\n\n if (rawObj) {\n let { refined, extra } = refineProps(rawObj, refiners)\n let metaRes = buildEventSourceMeta(refined, context)\n\n if (metaRes) {\n return {\n _raw: raw,\n isFetching: false,\n latestFetchId: '',\n fetchRange: null,\n defaultAllDay: refined.defaultAllDay,\n eventDataTransform: refined.eventDataTransform,\n success: refined.success,\n failure: refined.failure,\n publicId: refined.id || '',\n sourceId: guid(),\n sourceDefId: metaRes.sourceDefId,\n meta: metaRes.meta,\n ui: createEventUi(refined, context),\n extendedProps: extra,\n }\n }\n }\n\n return null\n}\n\nexport function buildEventSourceRefiners(context: CalendarContext) {\n return { ...EVENT_UI_REFINERS, ...EVENT_SOURCE_REFINERS, ...context.pluginHooks.eventSourceRefiners }\n}\n\nfunction buildEventSourceMeta(raw: EventSourceRefined, context: CalendarContext) {\n let defs = context.pluginHooks.eventSourceDefs\n\n for (let i = defs.length - 1; i >= 0; i -= 1) { // later-added plugins take precedence\n let def = defs[i]\n let meta = def.parseMeta(raw)\n\n if (meta) {\n return { sourceDefId: i, meta }\n }\n }\n\n return null\n}\n","import { DateEnv, DateInput } from '../datelib/env'\nimport { DateMarker } from '../datelib/marker'\nimport { Action } from './Action'\nimport { BaseOptionsRefined } from '../options'\n\nexport function reduceCurrentDate(currentDate: DateMarker, action: Action) {\n switch (action.type) {\n case 'CHANGE_DATE':\n return action.dateMarker\n default:\n return currentDate\n }\n}\n\nexport function getInitialDate(options: BaseOptionsRefined, dateEnv: DateEnv) {\n let initialDateInput = options.initialDate\n\n // compute the initial ambig-timezone date\n if (initialDateInput != null) {\n return dateEnv.createMarker(initialDateInput)\n }\n return getNow(options.now, dateEnv) // getNow already returns unzoned\n}\n\nexport function getNow(nowInput: DateInput | (() => DateInput), dateEnv: DateEnv) {\n if (typeof nowInput === 'function') {\n nowInput = nowInput()\n }\n\n if (nowInput == null) {\n return dateEnv.createNowMarker()\n }\n\n return dateEnv.createMarker(nowInput)\n}\n","import { DateMarker } from './datelib/marker'\nimport { createFormatter } from './datelib/formatting'\nimport { createDuration } from './datelib/duration'\nimport { parseDateSpan } from './structs/date-span'\nimport { parseEventSource } from './structs/event-source-parse'\nimport { parseEvent } from './structs/event-parse'\nimport { eventTupleToStore } from './structs/event-store'\nimport { ViewSpec } from './structs/view-spec'\nimport { PointerDragEvent } from './interactions/pointer'\nimport { getNow } from './reducers/current-date'\nimport { triggerDateSelect, triggerDateUnselect } from './calendar-utils'\nimport { hashValuesToArray } from './util/object'\nimport { CalendarDataManager } from './reducers/CalendarDataManager'\nimport { Action } from './reducers/Action'\nimport { EventSource } from './structs/event-source'\nimport { eventApiToStore, buildEventApis } from './api/EventApi'\n\n// public\nimport {\n CalendarOptions,\n CalendarListeners,\n DateInput,\n DurationInput,\n DateSpanInput,\n DateRangeInput,\n EventSourceInput,\n EventInput,\n EventSourceApi,\n EventApi,\n ViewApi,\n} from './api-type-deps'\n\nexport class CalendarApi {\n currentDataManager?: CalendarDataManager // will be set by CalendarDataManager\n\n getCurrentData() {\n return this.currentDataManager!.getCurrentData()\n }\n\n dispatch(action: Action) {\n return this.currentDataManager!.dispatch(action)\n }\n\n get view(): ViewApi { return this.getCurrentData().viewApi } // for public API\n\n batchRendering(callback: () => void) { // subclasses should implement\n callback()\n }\n\n updateSize() { // public\n this.trigger('_resize', true)\n }\n\n // Options\n // -----------------------------------------------------------------------------------------------------------------\n\n setOption(name: OptionName, val: CalendarOptions[OptionName]) {\n this.dispatch({\n type: 'SET_OPTION',\n optionName: name,\n rawOptionValue: val,\n })\n }\n\n getOption(name: OptionName): CalendarOptions[OptionName] { // getter, used externally. WTF TS\n return this.currentDataManager!.currentCalendarOptionsInput[name]\n }\n\n getAvailableLocaleCodes() {\n return Object.keys(this.getCurrentData().availableRawLocales)\n }\n\n // Trigger\n // -----------------------------------------------------------------------------------------------------------------\n\n on(handlerName: ListenerName, handler: CalendarListeners[ListenerName]) {\n let { currentDataManager } = this\n\n if (currentDataManager.currentCalendarOptionsRefiners[handlerName]) {\n currentDataManager.emitter.on(handlerName, handler)\n } else {\n console.warn(`Unknown listener name '${handlerName}'`)\n }\n }\n\n off(handlerName: ListenerName, handler: CalendarListeners[ListenerName]) {\n this.currentDataManager!.emitter.off(handlerName, handler)\n }\n\n // not meant for public use\n trigger(handlerName: ListenerName, ...args: Parameters) {\n this.currentDataManager!.emitter.trigger(handlerName, ...args)\n }\n\n // View\n // -----------------------------------------------------------------------------------------------------------------\n\n changeView(viewType: string, dateOrRange?: DateRangeInput | DateInput) {\n this.batchRendering(() => {\n this.unselect()\n\n if (dateOrRange) {\n if ((dateOrRange as DateRangeInput).start && (dateOrRange as DateRangeInput).end) { // a range\n this.dispatch({\n type: 'CHANGE_VIEW_TYPE',\n viewType,\n })\n this.dispatch({ // not very efficient to do two dispatches\n type: 'SET_OPTION',\n optionName: 'visibleRange',\n rawOptionValue: dateOrRange,\n })\n } else {\n let { dateEnv } = this.getCurrentData()\n\n this.dispatch({\n type: 'CHANGE_VIEW_TYPE',\n viewType,\n dateMarker: dateEnv.createMarker(dateOrRange as DateInput),\n })\n }\n } else {\n this.dispatch({\n type: 'CHANGE_VIEW_TYPE',\n viewType,\n })\n }\n })\n }\n\n // Forces navigation to a view for the given date.\n // `viewType` can be a specific view name or a generic one like \"week\" or \"day\".\n // needs to change\n zoomTo(dateMarker: DateMarker, viewType?: string) {\n let state = this.getCurrentData()\n let spec\n\n viewType = viewType || 'day' // day is default zoom\n spec = state.viewSpecs[viewType] || this.getUnitViewSpec(viewType)\n\n this.unselect()\n\n if (spec) {\n this.dispatch({\n type: 'CHANGE_VIEW_TYPE',\n viewType: spec.type,\n dateMarker,\n })\n } else {\n this.dispatch({\n type: 'CHANGE_DATE',\n dateMarker,\n })\n }\n }\n\n // Given a duration singular unit, like \"week\" or \"day\", finds a matching view spec.\n // Preference is given to views that have corresponding buttons.\n private getUnitViewSpec(unit: string): ViewSpec | null {\n let { viewSpecs, toolbarConfig } = this.getCurrentData()\n let viewTypes = [].concat(\n toolbarConfig.header ? toolbarConfig.header.viewsWithButtons : [],\n toolbarConfig.footer ? toolbarConfig.footer.viewsWithButtons : [],\n )\n let i\n let spec\n\n for (let viewType in viewSpecs) {\n viewTypes.push(viewType)\n }\n\n for (i = 0; i < viewTypes.length; i += 1) {\n spec = viewSpecs[viewTypes[i]]\n if (spec) {\n if (spec.singleUnit === unit) {\n return spec\n }\n }\n }\n\n return null\n }\n\n // Current Date\n // -----------------------------------------------------------------------------------------------------------------\n\n prev() {\n this.unselect()\n this.dispatch({ type: 'PREV' })\n }\n\n next() {\n this.unselect()\n this.dispatch({ type: 'NEXT' })\n }\n\n prevYear() {\n let state = this.getCurrentData()\n this.unselect()\n this.dispatch({\n type: 'CHANGE_DATE',\n dateMarker: state.dateEnv.addYears(state.currentDate, -1),\n })\n }\n\n nextYear() {\n let state = this.getCurrentData()\n\n this.unselect()\n this.dispatch({\n type: 'CHANGE_DATE',\n dateMarker: state.dateEnv.addYears(state.currentDate, 1),\n })\n }\n\n today() {\n let state = this.getCurrentData()\n\n this.unselect()\n this.dispatch({\n type: 'CHANGE_DATE',\n dateMarker: getNow(state.calendarOptions.now, state.dateEnv),\n })\n }\n\n gotoDate(zonedDateInput) {\n let state = this.getCurrentData()\n\n this.unselect()\n this.dispatch({\n type: 'CHANGE_DATE',\n dateMarker: state.dateEnv.createMarker(zonedDateInput),\n })\n }\n\n incrementDate(deltaInput) { // is public facing\n let state = this.getCurrentData()\n let delta = createDuration(deltaInput)\n\n if (delta) { // else, warn about invalid input?\n this.unselect()\n this.dispatch({\n type: 'CHANGE_DATE',\n dateMarker: state.dateEnv.add(state.currentDate, delta),\n })\n }\n }\n\n // for external API\n getDate(): Date {\n let state = this.getCurrentData()\n return state.dateEnv.toDate(state.currentDate)\n }\n\n // Date Formatting Utils\n // -----------------------------------------------------------------------------------------------------------------\n\n formatDate(d: DateInput, formatter): string {\n let { dateEnv } = this.getCurrentData()\n\n return dateEnv.format(\n dateEnv.createMarker(d),\n createFormatter(formatter),\n )\n }\n\n // `settings` is for formatter AND isEndExclusive\n formatRange(d0: DateInput, d1: DateInput, settings) {\n let { dateEnv } = this.getCurrentData()\n\n return dateEnv.formatRange(\n dateEnv.createMarker(d0),\n dateEnv.createMarker(d1),\n createFormatter(settings),\n settings,\n )\n }\n\n formatIso(d: DateInput, omitTime?: boolean) {\n let { dateEnv } = this.getCurrentData()\n\n return dateEnv.formatIso(dateEnv.createMarker(d), { omitTime })\n }\n\n // Date Selection / Event Selection / DayClick\n // -----------------------------------------------------------------------------------------------------------------\n\n // this public method receives start/end dates in any format, with any timezone\n // NOTE: args were changed from v3\n select(dateOrObj: DateInput | any, endDate?: DateInput) {\n let selectionInput: DateSpanInput\n\n if (endDate == null) {\n if (dateOrObj.start != null) {\n selectionInput = dateOrObj as DateSpanInput\n } else {\n selectionInput = {\n start: dateOrObj,\n end: null,\n }\n }\n } else {\n selectionInput = {\n start: dateOrObj,\n end: endDate,\n } as DateSpanInput\n }\n\n let state = this.getCurrentData()\n let selection = parseDateSpan(\n selectionInput,\n state.dateEnv,\n createDuration({ days: 1 }), // TODO: cache this?\n )\n\n if (selection) { // throw parse error otherwise?\n this.dispatch({ type: 'SELECT_DATES', selection })\n triggerDateSelect(selection, null, state)\n }\n }\n\n // public method\n unselect(pev?: PointerDragEvent) {\n let state = this.getCurrentData()\n\n if (state.dateSelection) {\n this.dispatch({ type: 'UNSELECT_DATES' })\n triggerDateUnselect(pev, state)\n }\n }\n\n // Public Events API\n // -----------------------------------------------------------------------------------------------------------------\n\n addEvent(eventInput: EventInput, sourceInput?: EventSourceApi | string | boolean): EventApi | null {\n if (eventInput instanceof EventApi) {\n let def = eventInput._def\n let instance = eventInput._instance\n let currentData = this.getCurrentData()\n\n // not already present? don't want to add an old snapshot\n if (!currentData.eventStore.defs[def.defId]) {\n this.dispatch({\n type: 'ADD_EVENTS',\n eventStore: eventTupleToStore({ def, instance }), // TODO: better util for two args?\n })\n this.triggerEventAdd(eventInput)\n }\n\n return eventInput\n }\n\n let state = this.getCurrentData()\n let eventSource: EventSource\n\n if (sourceInput instanceof EventSourceApi) {\n eventSource = sourceInput.internalEventSource\n } else if (typeof sourceInput === 'boolean') {\n if (sourceInput) { // true. part of the first event source\n [eventSource] = hashValuesToArray(state.eventSources)\n }\n } else if (sourceInput != null) { // an ID. accepts a number too\n let sourceApi = this.getEventSourceById(sourceInput) // TODO: use an internal function\n\n if (!sourceApi) {\n console.warn(`Could not find an event source with ID \"${sourceInput}\"`) // TODO: test\n return null\n }\n eventSource = sourceApi.internalEventSource\n }\n\n let tuple = parseEvent(eventInput, eventSource, state, false)\n\n if (tuple) {\n let newEventApi = new EventApi(\n state,\n tuple.def,\n tuple.def.recurringDef ? null : tuple.instance,\n )\n this.dispatch({\n type: 'ADD_EVENTS',\n eventStore: eventTupleToStore(tuple),\n })\n this.triggerEventAdd(newEventApi)\n\n return newEventApi\n }\n\n return null\n }\n\n private triggerEventAdd(eventApi: EventApi) {\n let { emitter } = this.getCurrentData()\n\n emitter.trigger('eventAdd', {\n event: eventApi,\n relatedEvents: [],\n revert: () => {\n this.dispatch({\n type: 'REMOVE_EVENTS',\n eventStore: eventApiToStore(eventApi),\n })\n },\n })\n }\n\n // TODO: optimize\n getEventById(id: string): EventApi | null {\n let state = this.getCurrentData()\n let { defs, instances } = state.eventStore\n id = String(id)\n\n for (let defId in defs) {\n let def = defs[defId]\n\n if (def.publicId === id) {\n if (def.recurringDef) {\n return new EventApi(state, def, null)\n }\n\n for (let instanceId in instances) {\n let instance = instances[instanceId]\n\n if (instance.defId === def.defId) {\n return new EventApi(state, def, instance)\n }\n }\n }\n }\n\n return null\n }\n\n getEvents(): EventApi[] {\n let currentData = this.getCurrentData()\n\n return buildEventApis(currentData.eventStore, currentData)\n }\n\n removeAllEvents() {\n this.dispatch({ type: 'REMOVE_ALL_EVENTS' })\n }\n\n // Public Event Sources API\n // -----------------------------------------------------------------------------------------------------------------\n\n getEventSources(): EventSourceApi[] {\n let state = this.getCurrentData()\n let sourceHash = state.eventSources\n let sourceApis: EventSourceApi[] = []\n\n for (let internalId in sourceHash) {\n sourceApis.push(new EventSourceApi(state, sourceHash[internalId]))\n }\n\n return sourceApis\n }\n\n getEventSourceById(id: string): EventSourceApi | null {\n let state = this.getCurrentData()\n let sourceHash = state.eventSources\n id = String(id)\n\n for (let sourceId in sourceHash) {\n if (sourceHash[sourceId].publicId === id) {\n return new EventSourceApi(state, sourceHash[sourceId])\n }\n }\n\n return null\n }\n\n addEventSource(sourceInput: EventSourceInput): EventSourceApi {\n let state = this.getCurrentData()\n\n if (sourceInput instanceof EventSourceApi) {\n // not already present? don't want to add an old snapshot\n if (!state.eventSources[sourceInput.internalEventSource.sourceId]) {\n this.dispatch({\n type: 'ADD_EVENT_SOURCES',\n sources: [sourceInput.internalEventSource],\n })\n }\n\n return sourceInput\n }\n\n let eventSource = parseEventSource(sourceInput, state)\n\n if (eventSource) { // TODO: error otherwise?\n this.dispatch({ type: 'ADD_EVENT_SOURCES', sources: [eventSource] })\n\n return new EventSourceApi(state, eventSource)\n }\n\n return null\n }\n\n removeAllEventSources() {\n this.dispatch({ type: 'REMOVE_ALL_EVENT_SOURCES' })\n }\n\n refetchEvents() {\n this.dispatch({ type: 'FETCH_EVENT_SOURCES', isRefetch: true })\n }\n\n // Scroll\n // -----------------------------------------------------------------------------------------------------------------\n\n scrollToTime(timeInput: DurationInput) {\n let time = createDuration(timeInput)\n\n if (time) {\n this.trigger('_scrollRequest', { time })\n }\n }\n}\n","import { __assign } from 'tslib'\nimport { EventDef } from '../structs/event-def'\nimport { EVENT_NON_DATE_REFINERS, EVENT_DATE_REFINERS } from '../structs/event-parse'\nimport { EventInstance } from '../structs/event-instance'\nimport { EVENT_UI_REFINERS, EventUiHash } from '../component/event-ui'\nimport { EventMutation, applyMutationToEventStore } from '../structs/event-mutation'\nimport { diffDates, computeAlignedDayRange } from '../util/date'\nimport { createDuration, durationsEqual } from '../datelib/duration'\nimport { createFormatter } from '../datelib/formatting'\nimport { CalendarContext } from '../CalendarContext'\nimport { getRelevantEvents, EventStore } from '../structs/event-store'\nimport { Dictionary } from '../options'\n\n// public\nimport {\n DateInput,\n DurationInput,\n FormatterInput,\n EventSourceApi,\n} from '../api-type-deps'\n\nexport class EventApi {\n _context: CalendarContext\n _def: EventDef\n _instance: EventInstance | null\n // instance will be null if expressing a recurring event that has no current instances,\n // OR if trying to validate an incoming external event that has no dates assigned\n\n constructor(context: CalendarContext, def: EventDef, instance?: EventInstance) {\n this._context = context\n this._def = def\n this._instance = instance || null\n }\n\n /*\n TODO: make event struct more responsible for this\n */\n setProp(name: string, val: any) {\n if (name in EVENT_DATE_REFINERS) {\n console.warn('Could not set date-related prop \\'name\\'. Use one of the date-related methods instead.')\n // TODO: make proper aliasing system?\n } else if (name === 'id') {\n val = EVENT_NON_DATE_REFINERS[name](val)\n\n this.mutate({\n standardProps: { publicId: val }, // hardcoded internal name\n })\n } else if (name in EVENT_NON_DATE_REFINERS) {\n val = EVENT_NON_DATE_REFINERS[name](val)\n\n this.mutate({\n standardProps: { [name]: val },\n })\n } else if (name in EVENT_UI_REFINERS) {\n let ui = EVENT_UI_REFINERS[name](val)\n\n if (name === 'color') {\n ui = { backgroundColor: val, borderColor: val }\n } else if (name === 'editable') {\n ui = { startEditable: val, durationEditable: val }\n } else {\n ui = { [name]: val }\n }\n\n this.mutate({\n standardProps: { ui },\n })\n } else {\n console.warn(`Could not set prop '${name}'. Use setExtendedProp instead.`)\n }\n }\n\n setExtendedProp(name: string, val: any) {\n this.mutate({\n extendedProps: { [name]: val },\n })\n }\n\n setStart(startInput: DateInput, options: { granularity?: string, maintainDuration?: boolean } = {}) {\n let { dateEnv } = this._context\n let start = dateEnv.createMarker(startInput)\n\n if (start && this._instance) { // TODO: warning if parsed bad\n let instanceRange = this._instance.range\n let startDelta = diffDates(instanceRange.start, start, dateEnv, options.granularity) // what if parsed bad!?\n\n if (options.maintainDuration) {\n this.mutate({ datesDelta: startDelta })\n } else {\n this.mutate({ startDelta })\n }\n }\n }\n\n setEnd(endInput: DateInput | null, options: { granularity?: string } = {}) {\n let { dateEnv } = this._context\n let end\n\n if (endInput != null) {\n end = dateEnv.createMarker(endInput)\n\n if (!end) {\n return // TODO: warning if parsed bad\n }\n }\n\n if (this._instance) {\n if (end) {\n let endDelta = diffDates(this._instance.range.end, end, dateEnv, options.granularity)\n this.mutate({ endDelta })\n } else {\n this.mutate({ standardProps: { hasEnd: false } })\n }\n }\n }\n\n setDates(startInput: DateInput, endInput: DateInput | null, options: { allDay?: boolean, granularity?: string } = {}) {\n let { dateEnv } = this._context\n let standardProps = { allDay: options.allDay } as any\n let start = dateEnv.createMarker(startInput)\n let end\n\n if (!start) {\n return // TODO: warning if parsed bad\n }\n\n if (endInput != null) {\n end = dateEnv.createMarker(endInput)\n\n if (!end) { // TODO: warning if parsed bad\n return\n }\n }\n\n if (this._instance) {\n let instanceRange = this._instance.range\n\n // when computing the diff for an event being converted to all-day,\n // compute diff off of the all-day values the way event-mutation does.\n if (options.allDay === true) {\n instanceRange = computeAlignedDayRange(instanceRange)\n }\n\n let startDelta = diffDates(instanceRange.start, start, dateEnv, options.granularity)\n\n if (end) {\n let endDelta = diffDates(instanceRange.end, end, dateEnv, options.granularity)\n\n if (durationsEqual(startDelta, endDelta)) {\n this.mutate({ datesDelta: startDelta, standardProps })\n } else {\n this.mutate({ startDelta, endDelta, standardProps })\n }\n } else { // means \"clear the end\"\n standardProps.hasEnd = false\n this.mutate({ datesDelta: startDelta, standardProps })\n }\n }\n }\n\n moveStart(deltaInput: DurationInput) {\n let delta = createDuration(deltaInput)\n\n if (delta) { // TODO: warning if parsed bad\n this.mutate({ startDelta: delta })\n }\n }\n\n moveEnd(deltaInput: DurationInput) {\n let delta = createDuration(deltaInput)\n\n if (delta) { // TODO: warning if parsed bad\n this.mutate({ endDelta: delta })\n }\n }\n\n moveDates(deltaInput: DurationInput) {\n let delta = createDuration(deltaInput)\n\n if (delta) { // TODO: warning if parsed bad\n this.mutate({ datesDelta: delta })\n }\n }\n\n setAllDay(allDay: boolean, options: { maintainDuration?: boolean } = {}) {\n let standardProps = { allDay } as any\n let { maintainDuration } = options\n\n if (maintainDuration == null) {\n maintainDuration = this._context.options.allDayMaintainDuration\n }\n\n if (this._def.allDay !== allDay) {\n standardProps.hasEnd = maintainDuration\n }\n\n this.mutate({ standardProps })\n }\n\n formatRange(formatInput: FormatterInput) {\n let { dateEnv } = this._context\n let instance = this._instance\n let formatter = createFormatter(formatInput)\n\n if (this._def.hasEnd) {\n return dateEnv.formatRange(instance.range.start, instance.range.end, formatter, {\n forcedStartTzo: instance.forcedStartTzo,\n forcedEndTzo: instance.forcedEndTzo,\n })\n }\n return dateEnv.format(instance.range.start, formatter, {\n forcedTzo: instance.forcedStartTzo,\n })\n }\n\n mutate(mutation: EventMutation) { // meant to be private. but plugins need access\n let instance = this._instance\n\n if (instance) {\n let def = this._def\n let context = this._context\n let { eventStore } = context.getCurrentData()\n let relevantEvents = getRelevantEvents(eventStore, instance.instanceId)\n let eventConfigBase = {\n '': { // HACK. always allow API to mutate events\n display: '',\n startEditable: true,\n durationEditable: true,\n constraints: [],\n overlap: null,\n allows: [],\n backgroundColor: '',\n borderColor: '',\n textColor: '',\n classNames: [],\n },\n } as EventUiHash\n\n relevantEvents = applyMutationToEventStore(relevantEvents, eventConfigBase, mutation, context)\n\n let oldEvent = new EventApi(context, def, instance) // snapshot\n this._def = relevantEvents.defs[def.defId]\n this._instance = relevantEvents.instances[instance.instanceId]\n\n context.dispatch({\n type: 'MERGE_EVENTS',\n eventStore: relevantEvents,\n })\n\n context.emitter.trigger('eventChange', {\n oldEvent,\n event: this,\n relatedEvents: buildEventApis(relevantEvents, context, instance),\n revert() {\n context.dispatch({\n type: 'RESET_EVENTS',\n eventStore, // the ORIGINAL store\n })\n },\n })\n }\n }\n\n remove() {\n let context = this._context\n let asStore = eventApiToStore(this)\n\n context.dispatch({\n type: 'REMOVE_EVENTS',\n eventStore: asStore,\n })\n\n context.emitter.trigger('eventRemove', {\n event: this,\n relatedEvents: [],\n revert() {\n context.dispatch({\n type: 'MERGE_EVENTS',\n eventStore: asStore,\n })\n },\n })\n }\n\n get source(): EventSourceApi | null {\n let { sourceId } = this._def\n\n if (sourceId) {\n return new EventSourceApi(\n this._context,\n this._context.getCurrentData().eventSources[sourceId],\n )\n }\n return null\n }\n\n get start(): Date | null {\n return this._instance ?\n this._context.dateEnv.toDate(this._instance.range.start) :\n null\n }\n\n get end(): Date | null {\n return (this._instance && this._def.hasEnd) ?\n this._context.dateEnv.toDate(this._instance.range.end) :\n null\n }\n\n get startStr(): string {\n let instance = this._instance\n if (instance) {\n return this._context.dateEnv.formatIso(instance.range.start, {\n omitTime: this._def.allDay,\n forcedTzo: instance.forcedStartTzo,\n })\n }\n return ''\n }\n\n get endStr(): string {\n let instance = this._instance\n if (instance && this._def.hasEnd) {\n return this._context.dateEnv.formatIso(instance.range.end, {\n omitTime: this._def.allDay,\n forcedTzo: instance.forcedEndTzo,\n })\n }\n return ''\n }\n\n // computable props that all access the def\n // TODO: find a TypeScript-compatible way to do this at scale\n get id() { return this._def.publicId }\n get groupId() { return this._def.groupId }\n get allDay() { return this._def.allDay }\n get title() { return this._def.title }\n get url() { return this._def.url }\n get display() { return this._def.ui.display || 'auto' } // bad. just normalize the type earlier\n get startEditable() { return this._def.ui.startEditable }\n get durationEditable() { return this._def.ui.durationEditable }\n get constraint() { return this._def.ui.constraints[0] || null }\n get overlap() { return this._def.ui.overlap }\n get allow() { return this._def.ui.allows[0] || null }\n get backgroundColor() { return this._def.ui.backgroundColor }\n get borderColor() { return this._def.ui.borderColor }\n get textColor() { return this._def.ui.textColor }\n\n // NOTE: user can't modify these because Object.freeze was called in event-def parsing\n get classNames() { return this._def.ui.classNames }\n get extendedProps() { return this._def.extendedProps }\n\n toPlainObject(settings: { collapseExtendedProps?: boolean, collapseColor?: boolean } = {}): Dictionary {\n let def = this._def\n let { ui } = def\n let { startStr, endStr } = this\n let res: Dictionary = {}\n\n if (def.title) {\n res.title = def.title\n }\n\n if (startStr) {\n res.start = startStr\n }\n\n if (endStr) {\n res.end = endStr\n }\n\n if (def.publicId) {\n res.id = def.publicId\n }\n\n if (def.groupId) {\n res.groupId = def.groupId\n }\n\n if (def.url) {\n res.url = def.url\n }\n\n if (ui.display && ui.display !== 'auto') {\n res.display = ui.display\n }\n\n // TODO: what about recurring-event properties???\n // TODO: include startEditable/durationEditable/constraint/overlap/allow\n\n if (settings.collapseColor && ui.backgroundColor && ui.backgroundColor === ui.borderColor) {\n res.color = ui.backgroundColor\n } else {\n if (ui.backgroundColor) {\n res.backgroundColor = ui.backgroundColor\n }\n if (ui.borderColor) {\n res.borderColor = ui.borderColor\n }\n }\n\n if (ui.textColor) {\n res.textColor = ui.textColor\n }\n\n if (ui.classNames.length) {\n res.classNames = ui.classNames\n }\n\n if (Object.keys(def.extendedProps).length) {\n if (settings.collapseExtendedProps) {\n __assign(res, def.extendedProps)\n } else {\n res.extendedProps = def.extendedProps\n }\n }\n\n return res\n }\n\n toJSON() {\n return this.toPlainObject()\n }\n}\n\nexport function eventApiToStore(eventApi: EventApi): EventStore {\n let def = eventApi._def\n let instance = eventApi._instance\n\n return {\n defs: { [def.defId]: def },\n instances: instance\n ? { [instance.instanceId]: instance }\n : {},\n }\n}\n\nexport function buildEventApis(eventStore: EventStore, context: CalendarContext, excludeInstance?: EventInstance): EventApi[] {\n let { defs, instances } = eventStore\n let eventApis: EventApi[] = []\n let excludeInstanceId = excludeInstance ? excludeInstance.instanceId : ''\n\n for (let id in instances) {\n let instance = instances[id]\n let def = defs[instance.defId]\n\n if (instance.instanceId !== excludeInstanceId) {\n eventApis.push(new EventApi(context, def, instance))\n }\n }\n\n return eventApis\n}\n","import { DateMarker, arrayToUtcDate, dateToUtcArray } from './marker'\n\nexport interface CalendarSystem {\n getMarkerYear(d: DateMarker): number\n getMarkerMonth(d: DateMarker): number\n getMarkerDay(d: DateMarker): number\n arrayToMarker(arr: number[]): DateMarker\n markerToArray(d: DateMarker): number[]\n}\n\nlet calendarSystemClassMap = {}\n\nexport function registerCalendarSystem(name, theClass) {\n calendarSystemClassMap[name] = theClass\n}\n\nexport function createCalendarSystem(name) {\n return new calendarSystemClassMap[name]()\n}\n\nclass GregorianCalendarSystem implements CalendarSystem {\n getMarkerYear(d: DateMarker) {\n return d.getUTCFullYear()\n }\n\n getMarkerMonth(d: DateMarker) {\n return d.getUTCMonth()\n }\n\n getMarkerDay(d: DateMarker) {\n return d.getUTCDate()\n }\n\n arrayToMarker(arr) {\n return arrayToUtcDate(arr)\n }\n\n markerToArray(marker) {\n return dateToUtcArray(marker)\n }\n}\n\nregisterCalendarSystem('gregory', GregorianCalendarSystem)\n","import { isValidDate } from './marker'\n\nconst ISO_RE = /^\\s*(\\d{4})(-?(\\d{2})(-?(\\d{2})([T ](\\d{2}):?(\\d{2})(:?(\\d{2})(\\.(\\d+))?)?(Z|(([-+])(\\d{2})(:?(\\d{2}))?))?)?)?)?$/\n\nexport function parse(str) {\n let m = ISO_RE.exec(str)\n\n if (m) {\n let marker = new Date(Date.UTC(\n Number(m[1]),\n m[3] ? Number(m[3]) - 1 : 0,\n Number(m[5] || 1),\n Number(m[7] || 0),\n Number(m[8] || 0),\n Number(m[10] || 0),\n m[12] ? Number(`0.${m[12]}`) * 1000 : 0,\n ))\n\n if (isValidDate(marker)) {\n let timeZoneOffset = null\n\n if (m[13]) {\n timeZoneOffset = (m[15] === '-' ? -1 : 1) * (\n Number(m[16] || 0) * 60 +\n Number(m[18] || 0)\n )\n }\n\n return {\n marker,\n isTimeUnspecified: !m[6],\n timeZoneOffset,\n }\n }\n }\n\n return null\n}\n","import {\n DateMarker, addMs,\n diffHours, diffMinutes, diffSeconds, diffWholeWeeks, diffWholeDays,\n startOfDay, startOfHour, startOfMinute, startOfSecond,\n weekOfYear, arrayToUtcDate, dateToUtcArray, dateToLocalArray, arrayToLocalDate, timeAsMs, isValidDate,\n} from './marker'\nimport { CalendarSystem, createCalendarSystem } from './calendar-system'\nimport { Locale } from './locale'\nimport { NamedTimeZoneImpl, NamedTimeZoneImplClass } from './timezone'\nimport { Duration, asRoughYears, asRoughMonths, asRoughDays, asRoughMs } from './duration'\nimport { DateFormatter, CmdFormatterFunc } from './DateFormatter'\nimport { buildIsoString } from './formatting-utils'\nimport { parse } from './parsing'\nimport { isInt } from '../util/misc'\n\nexport type WeekNumberCalculation = 'local' | 'ISO' | ((m: Date) => number)\n\nexport interface DateEnvSettings {\n timeZone: string\n namedTimeZoneImpl?: NamedTimeZoneImplClass\n calendarSystem: string\n locale: Locale\n weekNumberCalculation?: WeekNumberCalculation\n firstDay?: number, // will override what the locale wants\n weekText?: string,\n weekTextLong?: string\n cmdFormatter?: CmdFormatterFunc\n defaultSeparator?: string\n}\n\nexport type DateInput = Date | string | number | number[]\n\nexport interface DateMarkerMeta {\n marker: DateMarker\n isTimeUnspecified: boolean\n forcedTzo: number | null\n}\n\nexport class DateEnv {\n timeZone: string\n namedTimeZoneImpl: NamedTimeZoneImpl\n canComputeOffset: boolean\n\n calendarSystem: CalendarSystem\n locale: Locale\n weekDow: number // which day begins the week\n weekDoy: number // which day must be within the year, for computing the first week number\n weekNumberFunc: any\n weekText: string // DON'T LIKE how options are confused with local\n weekTextLong: string\n cmdFormatter?: CmdFormatterFunc\n defaultSeparator: string\n\n constructor(settings: DateEnvSettings) {\n let timeZone = this.timeZone = settings.timeZone\n let isNamedTimeZone = timeZone !== 'local' && timeZone !== 'UTC'\n\n if (settings.namedTimeZoneImpl && isNamedTimeZone) {\n this.namedTimeZoneImpl = new settings.namedTimeZoneImpl(timeZone)\n }\n\n this.canComputeOffset = Boolean(!isNamedTimeZone || this.namedTimeZoneImpl)\n\n this.calendarSystem = createCalendarSystem(settings.calendarSystem)\n this.locale = settings.locale\n this.weekDow = settings.locale.week.dow\n this.weekDoy = settings.locale.week.doy\n\n if (settings.weekNumberCalculation === 'ISO') {\n this.weekDow = 1\n this.weekDoy = 4\n }\n\n if (typeof settings.firstDay === 'number') {\n this.weekDow = settings.firstDay\n }\n\n if (typeof settings.weekNumberCalculation === 'function') {\n this.weekNumberFunc = settings.weekNumberCalculation\n }\n\n this.weekText = settings.weekText != null ? settings.weekText : settings.locale.options.weekText\n this.weekTextLong = (settings.weekTextLong != null ? settings.weekTextLong : settings.locale.options.weekTextLong) || this.weekText\n\n this.cmdFormatter = settings.cmdFormatter\n this.defaultSeparator = settings.defaultSeparator\n }\n\n // Creating / Parsing\n\n createMarker(input: DateInput): DateMarker {\n let meta = this.createMarkerMeta(input)\n if (meta === null) {\n return null\n }\n return meta.marker\n }\n\n createNowMarker(): DateMarker {\n if (this.canComputeOffset) {\n return this.timestampToMarker(new Date().valueOf())\n }\n // if we can't compute the current date val for a timezone,\n // better to give the current local date vals than UTC\n return arrayToUtcDate(dateToLocalArray(new Date()))\n }\n\n createMarkerMeta(input: DateInput): DateMarkerMeta {\n if (typeof input === 'string') {\n return this.parse(input)\n }\n\n let marker = null\n\n if (typeof input === 'number') {\n marker = this.timestampToMarker(input)\n } else if (input instanceof Date) {\n input = input.valueOf()\n\n if (!isNaN(input)) {\n marker = this.timestampToMarker(input)\n }\n } else if (Array.isArray(input)) {\n marker = arrayToUtcDate(input)\n }\n\n if (marker === null || !isValidDate(marker)) {\n return null\n }\n\n return { marker, isTimeUnspecified: false, forcedTzo: null }\n }\n\n parse(s: string) {\n let parts = parse(s)\n if (parts === null) {\n return null\n }\n\n let { marker } = parts\n let forcedTzo = null\n\n if (parts.timeZoneOffset !== null) {\n if (this.canComputeOffset) {\n marker = this.timestampToMarker(marker.valueOf() - parts.timeZoneOffset * 60 * 1000)\n } else {\n forcedTzo = parts.timeZoneOffset\n }\n }\n\n return { marker, isTimeUnspecified: parts.isTimeUnspecified, forcedTzo }\n }\n\n // Accessors\n\n getYear(marker: DateMarker): number {\n return this.calendarSystem.getMarkerYear(marker)\n }\n\n getMonth(marker: DateMarker): number {\n return this.calendarSystem.getMarkerMonth(marker)\n }\n\n // Adding / Subtracting\n\n add(marker: DateMarker, dur: Duration): DateMarker {\n let a = this.calendarSystem.markerToArray(marker)\n a[0] += dur.years\n a[1] += dur.months\n a[2] += dur.days\n a[6] += dur.milliseconds\n return this.calendarSystem.arrayToMarker(a)\n }\n\n subtract(marker: DateMarker, dur: Duration): DateMarker {\n let a = this.calendarSystem.markerToArray(marker)\n a[0] -= dur.years\n a[1] -= dur.months\n a[2] -= dur.days\n a[6] -= dur.milliseconds\n return this.calendarSystem.arrayToMarker(a)\n }\n\n addYears(marker: DateMarker, n: number) {\n let a = this.calendarSystem.markerToArray(marker)\n a[0] += n\n return this.calendarSystem.arrayToMarker(a)\n }\n\n addMonths(marker: DateMarker, n: number) {\n let a = this.calendarSystem.markerToArray(marker)\n a[1] += n\n return this.calendarSystem.arrayToMarker(a)\n }\n\n // Diffing Whole Units\n\n diffWholeYears(m0: DateMarker, m1: DateMarker): number {\n let { calendarSystem } = this\n\n if (\n timeAsMs(m0) === timeAsMs(m1) &&\n calendarSystem.getMarkerDay(m0) === calendarSystem.getMarkerDay(m1) &&\n calendarSystem.getMarkerMonth(m0) === calendarSystem.getMarkerMonth(m1)\n ) {\n return calendarSystem.getMarkerYear(m1) - calendarSystem.getMarkerYear(m0)\n }\n return null\n }\n\n diffWholeMonths(m0: DateMarker, m1: DateMarker): number {\n let { calendarSystem } = this\n\n if (\n timeAsMs(m0) === timeAsMs(m1) &&\n calendarSystem.getMarkerDay(m0) === calendarSystem.getMarkerDay(m1)\n ) {\n return (calendarSystem.getMarkerMonth(m1) - calendarSystem.getMarkerMonth(m0)) +\n (calendarSystem.getMarkerYear(m1) - calendarSystem.getMarkerYear(m0)) * 12\n }\n return null\n }\n\n // Range / Duration\n\n greatestWholeUnit(m0: DateMarker, m1: DateMarker) {\n let n = this.diffWholeYears(m0, m1)\n\n if (n !== null) {\n return { unit: 'year', value: n }\n }\n\n n = this.diffWholeMonths(m0, m1)\n\n if (n !== null) {\n return { unit: 'month', value: n }\n }\n\n n = diffWholeWeeks(m0, m1)\n\n if (n !== null) {\n return { unit: 'week', value: n }\n }\n\n n = diffWholeDays(m0, m1)\n\n if (n !== null) {\n return { unit: 'day', value: n }\n }\n\n n = diffHours(m0, m1)\n\n if (isInt(n)) {\n return { unit: 'hour', value: n }\n }\n\n n = diffMinutes(m0, m1)\n\n if (isInt(n)) {\n return { unit: 'minute', value: n }\n }\n\n n = diffSeconds(m0, m1)\n\n if (isInt(n)) {\n return { unit: 'second', value: n }\n }\n\n return { unit: 'millisecond', value: m1.valueOf() - m0.valueOf() }\n }\n\n countDurationsBetween(m0: DateMarker, m1: DateMarker, d: Duration) {\n // TODO: can use greatestWholeUnit\n let diff\n\n if (d.years) {\n diff = this.diffWholeYears(m0, m1)\n if (diff !== null) {\n return diff / asRoughYears(d)\n }\n }\n\n if (d.months) {\n diff = this.diffWholeMonths(m0, m1)\n if (diff !== null) {\n return diff / asRoughMonths(d)\n }\n }\n\n if (d.days) {\n diff = diffWholeDays(m0, m1)\n if (diff !== null) {\n return diff / asRoughDays(d)\n }\n }\n\n return (m1.valueOf() - m0.valueOf()) / asRoughMs(d)\n }\n\n // Start-Of\n // these DON'T return zoned-dates. only UTC start-of dates\n\n startOf(m: DateMarker, unit: string) {\n if (unit === 'year') {\n return this.startOfYear(m)\n }\n if (unit === 'month') {\n return this.startOfMonth(m)\n }\n if (unit === 'week') {\n return this.startOfWeek(m)\n }\n if (unit === 'day') {\n return startOfDay(m)\n }\n if (unit === 'hour') {\n return startOfHour(m)\n }\n if (unit === 'minute') {\n return startOfMinute(m)\n }\n if (unit === 'second') {\n return startOfSecond(m)\n }\n return null\n }\n\n startOfYear(m: DateMarker): DateMarker {\n return this.calendarSystem.arrayToMarker([\n this.calendarSystem.getMarkerYear(m),\n ])\n }\n\n startOfMonth(m: DateMarker): DateMarker {\n return this.calendarSystem.arrayToMarker([\n this.calendarSystem.getMarkerYear(m),\n this.calendarSystem.getMarkerMonth(m),\n ])\n }\n\n startOfWeek(m: DateMarker): DateMarker {\n return this.calendarSystem.arrayToMarker([\n this.calendarSystem.getMarkerYear(m),\n this.calendarSystem.getMarkerMonth(m),\n m.getUTCDate() - ((m.getUTCDay() - this.weekDow + 7) % 7),\n ])\n }\n\n // Week Number\n\n computeWeekNumber(marker: DateMarker): number {\n if (this.weekNumberFunc) {\n return this.weekNumberFunc(this.toDate(marker))\n }\n return weekOfYear(marker, this.weekDow, this.weekDoy)\n }\n\n // TODO: choke on timeZoneName: long\n format(marker: DateMarker, formatter: DateFormatter, dateOptions: { forcedTzo?: number } = {}) {\n return formatter.format(\n {\n marker,\n timeZoneOffset: dateOptions.forcedTzo != null ?\n dateOptions.forcedTzo :\n this.offsetForMarker(marker),\n },\n this,\n )\n }\n\n formatRange(\n start: DateMarker,\n end: DateMarker,\n formatter: DateFormatter,\n dateOptions: { forcedStartTzo?: number, forcedEndTzo?: number, isEndExclusive?: boolean, defaultSeparator?: string } = {},\n ) {\n if (dateOptions.isEndExclusive) {\n end = addMs(end, -1)\n }\n\n return formatter.formatRange(\n {\n marker: start,\n timeZoneOffset: dateOptions.forcedStartTzo != null ?\n dateOptions.forcedStartTzo :\n this.offsetForMarker(start),\n },\n {\n marker: end,\n timeZoneOffset: dateOptions.forcedEndTzo != null ?\n dateOptions.forcedEndTzo :\n this.offsetForMarker(end),\n },\n this,\n dateOptions.defaultSeparator,\n )\n }\n\n /*\n DUMB: the omitTime arg is dumb. if we omit the time, we want to omit the timezone offset. and if we do that,\n might as well use buildIsoString or some other util directly\n */\n formatIso(marker: DateMarker, extraOptions: any = {}) {\n let timeZoneOffset = null\n\n if (!extraOptions.omitTimeZoneOffset) {\n if (extraOptions.forcedTzo != null) {\n timeZoneOffset = extraOptions.forcedTzo\n } else {\n timeZoneOffset = this.offsetForMarker(marker)\n }\n }\n\n return buildIsoString(marker, timeZoneOffset, extraOptions.omitTime)\n }\n\n // TimeZone\n\n timestampToMarker(ms: number) {\n if (this.timeZone === 'local') {\n return arrayToUtcDate(dateToLocalArray(new Date(ms)))\n } if (this.timeZone === 'UTC' || !this.namedTimeZoneImpl) {\n return new Date(ms)\n }\n return arrayToUtcDate(this.namedTimeZoneImpl.timestampToArray(ms))\n }\n\n offsetForMarker(m: DateMarker) {\n if (this.timeZone === 'local') {\n return -arrayToLocalDate(dateToUtcArray(m)).getTimezoneOffset() // convert \"inverse\" offset to \"normal\" offset\n } if (this.timeZone === 'UTC') {\n return 0\n } if (this.namedTimeZoneImpl) {\n return this.namedTimeZoneImpl.offsetForArray(dateToUtcArray(m))\n }\n return null\n }\n\n // Conversion\n\n toDate(m: DateMarker, forcedTzo?: number): Date {\n if (this.timeZone === 'local') {\n return arrayToLocalDate(dateToUtcArray(m))\n }\n\n if (this.timeZone === 'UTC') {\n return new Date(m.valueOf()) // make sure it's a copy\n }\n\n if (!this.namedTimeZoneImpl) {\n return new Date(m.valueOf() - (forcedTzo || 0))\n }\n\n return new Date(\n m.valueOf() -\n this.namedTimeZoneImpl.offsetForArray(dateToUtcArray(m)) * 1000 * 60, // convert minutes -> ms\n )\n }\n}\n","import { LocaleInput } from './datelib/locale'\n\nexport const globalLocales: LocaleInput[] = []\n","import { mergeProps } from '../util/object'\nimport { globalLocales } from '../global-locales' // weird to be importing this\nimport { CalendarOptions, CalendarOptionsRefined } from '../options'\n\nexport type LocaleCodeArg = string | string[]\nexport type LocaleSingularArg = LocaleCodeArg | LocaleInput\n\nexport interface Locale {\n codeArg: LocaleCodeArg\n codes: string[]\n week: { dow: number, doy: number }\n simpleNumberFormat: Intl.NumberFormat\n options: CalendarOptionsRefined\n}\n\nexport interface LocaleInput extends CalendarOptions {\n code: string\n}\n\nexport type LocaleInputMap = { [code: string]: LocaleInput }\n\nexport interface RawLocaleInfo {\n map: LocaleInputMap\n defaultCode: string\n}\n\nconst MINIMAL_RAW_EN_LOCALE = {\n code: 'en',\n week: {\n dow: 0, // Sunday is the first day of the week\n doy: 4, // 4 days need to be within the year to be considered the first week\n },\n direction: 'ltr' as ('ltr' | 'rtl'), // TODO: make a real type for this\n buttonText: {\n prev: 'prev',\n next: 'next',\n prevYear: 'prev year',\n nextYear: 'next year',\n year: 'year',\n today: 'today',\n month: 'month',\n week: 'week',\n day: 'day',\n list: 'list',\n },\n weekText: 'W',\n weekTextLong: 'Week',\n closeHint: 'Close',\n timeHint: 'Time',\n eventHint: 'Event',\n allDayText: 'all-day',\n moreLinkText: 'more',\n noEventsText: 'No events to display',\n}\n\nconst RAW_EN_LOCALE = {\n ...MINIMAL_RAW_EN_LOCALE,\n // Includes things we don't want other locales to inherit,\n // things that derive from other translatable strings.\n buttonHints: {\n prev: 'Previous $0',\n next: 'Next $0',\n today(buttonText, unit) {\n return (unit === 'day')\n ? 'Today'\n : `This ${buttonText}`\n },\n },\n viewHint: '$0 view',\n navLinkHint: 'Go to $0',\n moreLinkHint(eventCnt: number) {\n return `Show ${eventCnt} more event${eventCnt === 1 ? '' : 's'}`\n },\n}\n\nexport function organizeRawLocales(explicitRawLocales: LocaleInput[]): RawLocaleInfo {\n let defaultCode = explicitRawLocales.length > 0 ? explicitRawLocales[0].code : 'en'\n let allRawLocales = globalLocales.concat(explicitRawLocales)\n let rawLocaleMap: LocaleInputMap = {\n en: RAW_EN_LOCALE,\n }\n\n for (let rawLocale of allRawLocales) {\n rawLocaleMap[rawLocale.code] = rawLocale\n }\n\n return {\n map: rawLocaleMap,\n defaultCode,\n }\n}\n\nexport function buildLocale(inputSingular: LocaleSingularArg, available: LocaleInputMap) {\n if (typeof inputSingular === 'object' && !Array.isArray(inputSingular)) {\n return parseLocale(\n inputSingular.code,\n [inputSingular.code],\n inputSingular,\n )\n }\n return queryLocale(inputSingular, available)\n}\n\nfunction queryLocale(codeArg: LocaleCodeArg, available: LocaleInputMap): Locale {\n let codes = [].concat(codeArg || []) // will convert to array\n let raw = queryRawLocale(codes, available) || RAW_EN_LOCALE\n\n return parseLocale(codeArg, codes, raw)\n}\n\nfunction queryRawLocale(codes: string[], available: LocaleInputMap): LocaleInput {\n for (let i = 0; i < codes.length; i += 1) {\n let parts = codes[i].toLocaleLowerCase().split('-')\n\n for (let j = parts.length; j > 0; j -= 1) {\n let simpleId = parts.slice(0, j).join('-')\n\n if (available[simpleId]) {\n return available[simpleId]\n }\n }\n }\n return null\n}\n\nfunction parseLocale(codeArg: LocaleCodeArg, codes: string[], raw: LocaleInput): Locale {\n let merged = mergeProps([MINIMAL_RAW_EN_LOCALE, raw], ['buttonText'])\n\n delete merged.code // don't want this part of the options\n let { week } = merged\n delete merged.week\n\n return {\n codeArg,\n codes,\n week,\n simpleNumberFormat: new Intl.NumberFormat(codeArg),\n options: merged,\n }\n}\n","import { EventInput } from './event-parse'\nimport { EventStore, parseEvents } from './event-store'\nimport { CalendarContext } from '../CalendarContext'\n\n/*\nUtils for converting raw business hour input into an EventStore,\nfor both rendering and the constraint system.\n*/\n\nexport type BusinessHoursInput = boolean | EventInput | EventInput[]\n\nconst DEF_DEFAULTS = {\n startTime: '09:00',\n endTime: '17:00',\n daysOfWeek: [1, 2, 3, 4, 5], // monday - friday\n display: 'inverse-background',\n classNames: 'fc-non-business',\n groupId: '_businessHours', // so multiple defs get grouped\n}\n\n/*\nTODO: pass around as EventDefHash!!!\n*/\nexport function parseBusinessHours(input: BusinessHoursInput, context: CalendarContext): EventStore {\n return parseEvents(\n refineInputs(input),\n null,\n context,\n )\n}\n\nfunction refineInputs(input: BusinessHoursInput) {\n let rawDefs\n\n if (input === true) {\n rawDefs = [{}] // will get DEF_DEFAULTS verbatim\n } else if (Array.isArray(input)) {\n // if specifying an array, every sub-definition NEEDS a day-of-week\n rawDefs = input.filter((rawDef) => rawDef.daysOfWeek)\n } else if (typeof input === 'object' && input) { // non-null object\n rawDefs = [input]\n } else { // is probably false\n rawDefs = []\n }\n\n rawDefs = rawDefs.map((rawDef) => ({ ...DEF_DEFAULTS, ...rawDef }))\n\n return rawDefs\n}\n","let canVGrowWithinCell: boolean\n\nexport function getCanVGrowWithinCell() {\n if (canVGrowWithinCell == null) {\n canVGrowWithinCell = computeCanVGrowWithinCell()\n }\n return canVGrowWithinCell\n}\n\nfunction computeCanVGrowWithinCell() {\n // for SSR, because this function is call immediately at top-level\n // TODO: just make this logic execute top-level, immediately, instead of doing lazily\n if (typeof document === 'undefined') {\n return true\n }\n\n let el = document.createElement('div')\n el.style.position = 'absolute'\n el.style.top = '0px'\n el.style.left = '0px'\n el.innerHTML = '
'\n el.querySelector('table').style.height = '100px'\n el.querySelector('div').style.height = '100%'\n\n document.body.appendChild(el)\n\n let div = el.querySelector('div')\n let possible = div.offsetHeight > 0\n document.body.removeChild(el)\n return possible\n}\n","export interface Point {\n left: number\n top: number\n}\n\nexport interface Rect {\n left: number\n right: number\n top: number\n bottom: number\n}\n\nexport function pointInsideRect(point: Point, rect: Rect): boolean {\n return point.left >= rect.left &&\n point.left < rect.right &&\n point.top >= rect.top &&\n point.top < rect.bottom\n}\n\n// Returns a new rectangle that is the intersection of the two rectangles. If they don't intersect, returns false\nexport function intersectRects(rect1: Rect, rect2: Rect): Rect | false {\n let res = {\n left: Math.max(rect1.left, rect2.left),\n right: Math.min(rect1.right, rect2.right),\n top: Math.max(rect1.top, rect2.top),\n bottom: Math.min(rect1.bottom, rect2.bottom),\n }\n\n if (res.left < res.right && res.top < res.bottom) {\n return res\n }\n\n return false\n}\n\nexport function translateRect(rect: Rect, deltaX: number, deltaY: number): Rect {\n return {\n left: rect.left + deltaX,\n right: rect.right + deltaX,\n top: rect.top + deltaY,\n bottom: rect.bottom + deltaY,\n }\n}\n\n// Returns a new point that will have been moved to reside within the given rectangle\nexport function constrainPoint(point: Point, rect: Rect): Point {\n return {\n left: Math.min(Math.max(point.left, rect.left), rect.right),\n top: Math.min(Math.max(point.top, rect.top), rect.bottom),\n }\n}\n\n// Returns a point that is the center of the given rectangle\nexport function getRectCenter(rect: Rect): Point {\n return {\n left: (rect.left + rect.right) / 2,\n top: (rect.top + rect.bottom) / 2,\n }\n}\n\n// Subtracts point2's coordinates from point1's coordinates, returning a delta\nexport function diffPoints(point1: Point, point2: Point): Point {\n return {\n left: point1.left - point2.left,\n top: point1.top - point2.top,\n }\n}\n","import { __assign } from 'tslib'\nimport { EventStore, createEmptyEventStore } from '../structs/event-store'\nimport { EventDef } from '../structs/event-def'\nimport { EventInteractionState } from '../interactions/event-interaction-state'\nimport { mapHash } from '../util/object'\nimport { memoize } from '../util/memoize'\nimport { EventUiHash, EventUi, combineEventUis } from './event-ui'\nimport { DateSpan } from '../structs/date-span'\n\nexport interface SplittableProps {\n businessHours: EventStore | null // is this really allowed to be null?\n dateSelection: DateSpan | null\n eventStore: EventStore\n eventUiBases: EventUiHash\n eventSelection: string\n eventDrag: EventInteractionState | null\n eventResize: EventInteractionState | null\n}\n\nconst EMPTY_EVENT_STORE = createEmptyEventStore() // for purecomponents. TODO: keep elsewhere\n\nexport abstract class Splitter {\n private getKeysForEventDefs = memoize(this._getKeysForEventDefs)\n private splitDateSelection = memoize(this._splitDateSpan)\n private splitEventStore = memoize(this._splitEventStore)\n private splitIndividualUi = memoize(this._splitIndividualUi)\n private splitEventDrag = memoize(this._splitInteraction)\n private splitEventResize = memoize(this._splitInteraction)\n private eventUiBuilders = {} // TODO: typescript protection\n\n abstract getKeyInfo(props: PropsType): { [key: string]: { ui?: EventUi, businessHours?: EventStore } }\n abstract getKeysForDateSpan(dateSpan: DateSpan): string[]\n abstract getKeysForEventDef(eventDef: EventDef): string[]\n\n splitProps(props: PropsType): { [key: string]: SplittableProps } {\n let keyInfos = this.getKeyInfo(props)\n let defKeys = this.getKeysForEventDefs(props.eventStore)\n let dateSelections = this.splitDateSelection(props.dateSelection)\n let individualUi = this.splitIndividualUi(props.eventUiBases, defKeys) // the individual *bases*\n let eventStores = this.splitEventStore(props.eventStore, defKeys)\n let eventDrags = this.splitEventDrag(props.eventDrag)\n let eventResizes = this.splitEventResize(props.eventResize)\n let splitProps: { [key: string]: SplittableProps } = {}\n\n this.eventUiBuilders = mapHash(keyInfos, (info, key) => this.eventUiBuilders[key] || memoize(buildEventUiForKey))\n\n for (let key in keyInfos) {\n let keyInfo = keyInfos[key]\n let eventStore = eventStores[key] || EMPTY_EVENT_STORE\n let buildEventUi = this.eventUiBuilders[key]\n\n splitProps[key] = {\n businessHours: keyInfo.businessHours || props.businessHours,\n dateSelection: dateSelections[key] || null,\n eventStore,\n eventUiBases: buildEventUi(props.eventUiBases[''], keyInfo.ui, individualUi[key]),\n eventSelection: eventStore.instances[props.eventSelection] ? props.eventSelection : '',\n eventDrag: eventDrags[key] || null,\n eventResize: eventResizes[key] || null,\n }\n }\n\n return splitProps\n }\n\n private _splitDateSpan(dateSpan: DateSpan | null) {\n let dateSpans = {}\n\n if (dateSpan) {\n let keys = this.getKeysForDateSpan(dateSpan)\n\n for (let key of keys) {\n dateSpans[key] = dateSpan\n }\n }\n\n return dateSpans\n }\n\n private _getKeysForEventDefs(eventStore: EventStore) {\n return mapHash(eventStore.defs, (eventDef: EventDef) => this.getKeysForEventDef(eventDef))\n }\n\n private _splitEventStore(eventStore: EventStore, defKeys): { [key: string]: EventStore } {\n let { defs, instances } = eventStore\n let splitStores = {}\n\n for (let defId in defs) {\n for (let key of defKeys[defId]) {\n if (!splitStores[key]) {\n splitStores[key] = createEmptyEventStore()\n }\n\n splitStores[key].defs[defId] = defs[defId]\n }\n }\n\n for (let instanceId in instances) {\n let instance = instances[instanceId]\n\n for (let key of defKeys[instance.defId]) {\n if (splitStores[key]) { // must have already been created\n splitStores[key].instances[instanceId] = instance\n }\n }\n }\n\n return splitStores\n }\n\n private _splitIndividualUi(eventUiBases: EventUiHash, defKeys): { [key: string]: EventUiHash } {\n let splitHashes: { [key: string]: EventUiHash } = {}\n\n for (let defId in eventUiBases) {\n if (defId) { // not the '' key\n for (let key of defKeys[defId]) {\n if (!splitHashes[key]) {\n splitHashes[key] = {}\n }\n\n splitHashes[key][defId] = eventUiBases[defId]\n }\n }\n }\n\n return splitHashes\n }\n\n private _splitInteraction(interaction: EventInteractionState | null): { [key: string]: EventInteractionState } {\n let splitStates: { [key: string]: EventInteractionState } = {}\n\n if (interaction) {\n let affectedStores = this._splitEventStore(\n interaction.affectedEvents,\n this._getKeysForEventDefs(interaction.affectedEvents), // can't use cached. might be events from other calendar\n )\n\n // can't rely on defKeys because event data is mutated\n let mutatedKeysByDefId = this._getKeysForEventDefs(interaction.mutatedEvents)\n let mutatedStores = this._splitEventStore(interaction.mutatedEvents, mutatedKeysByDefId)\n\n let populate = (key) => {\n if (!splitStates[key]) {\n splitStates[key] = {\n affectedEvents: affectedStores[key] || EMPTY_EVENT_STORE,\n mutatedEvents: mutatedStores[key] || EMPTY_EVENT_STORE,\n isEvent: interaction.isEvent,\n }\n }\n }\n\n for (let key in affectedStores) {\n populate(key)\n }\n\n for (let key in mutatedStores) {\n populate(key)\n }\n }\n\n return splitStates\n }\n}\n\nfunction buildEventUiForKey(allUi: EventUi | null, eventUiForKey: EventUi | null, individualUi: EventUiHash | null) {\n let baseParts = []\n\n if (allUi) {\n baseParts.push(allUi)\n }\n\n if (eventUiForKey) {\n baseParts.push(eventUiForKey)\n }\n\n let stuff = {\n '': combineEventUis(baseParts),\n }\n\n if (individualUi) {\n __assign(stuff, individualUi)\n }\n\n return stuff\n}\n","import { DateMarker, DAY_IDS } from '../datelib/marker'\nimport { rangeContainsMarker, DateRange } from '../datelib/date-range'\nimport { DateProfile } from '../DateProfileGenerator'\nimport { Theme } from '../theme/Theme'\n\nexport interface DateMeta {\n dow: number\n isDisabled: boolean\n isOther: boolean // like, is it in the non-current \"other\" month\n isToday: boolean\n isPast: boolean\n isFuture: boolean\n}\n\nexport function getDateMeta(date: DateMarker, todayRange?: DateRange, nowDate?: DateMarker, dateProfile?: DateProfile): DateMeta {\n return {\n dow: date.getUTCDay(),\n isDisabled: Boolean(dateProfile && !rangeContainsMarker(dateProfile.activeRange, date)),\n isOther: Boolean(dateProfile && !rangeContainsMarker(dateProfile.currentRange, date)),\n isToday: Boolean(todayRange && rangeContainsMarker(todayRange, date)),\n isPast: Boolean(nowDate ? (date < nowDate) : todayRange ? (date < todayRange.start) : false),\n isFuture: Boolean(nowDate ? (date > nowDate) : todayRange ? (date >= todayRange.end) : false),\n }\n}\n\nexport function getDayClassNames(meta: DateMeta, theme: Theme) {\n let classNames: string[] = [\n 'fc-day',\n `fc-day-${DAY_IDS[meta.dow]}`,\n ]\n\n if (meta.isDisabled) {\n classNames.push('fc-day-disabled')\n } else {\n if (meta.isToday) {\n classNames.push('fc-day-today')\n classNames.push(theme.getClass('today'))\n }\n\n if (meta.isPast) {\n classNames.push('fc-day-past')\n }\n\n if (meta.isFuture) {\n classNames.push('fc-day-future')\n }\n\n if (meta.isOther) {\n classNames.push('fc-day-other')\n }\n }\n\n return classNames\n}\n\nexport function getSlotClassNames(meta: DateMeta, theme: Theme) {\n let classNames: string[] = [\n 'fc-slot',\n `fc-slot-${DAY_IDS[meta.dow]}`,\n ]\n\n if (meta.isDisabled) {\n classNames.push('fc-slot-disabled')\n } else {\n if (meta.isToday) {\n classNames.push('fc-slot-today')\n classNames.push(theme.getClass('today'))\n }\n\n if (meta.isPast) {\n classNames.push('fc-slot-past')\n }\n\n if (meta.isFuture) {\n classNames.push('fc-slot-future')\n }\n }\n\n return classNames\n}\n","import { createFormatter } from '../datelib/formatting'\nimport { DateMarker } from '../datelib/marker'\nimport { createAriaClickAttrs } from '../util/dom-event'\nimport { formatWithOrdinals } from '../util/misc'\nimport { ViewContext } from '../ViewContext'\n\nconst DAY_FORMAT = createFormatter({ year: 'numeric', month: 'long', day: 'numeric' })\nconst WEEK_FORMAT = createFormatter({ week: 'long' })\n\nexport function buildNavLinkAttrs(\n context: ViewContext,\n dateMarker: DateMarker,\n viewType = 'day',\n isTabbable = true,\n) {\n const { dateEnv, options, calendarApi } = context\n let dateStr = dateEnv.format(dateMarker, viewType === 'week' ? WEEK_FORMAT : DAY_FORMAT)\n\n if (options.navLinks) {\n let zonedDate = dateEnv.toDate(dateMarker)\n\n const handleInteraction = (ev: UIEvent) => {\n let customAction =\n viewType === 'day' ? options.navLinkDayClick :\n viewType === 'week' ? options.navLinkWeekClick : null\n\n if (typeof customAction === 'function') {\n customAction.call(calendarApi, dateEnv.toDate(dateMarker), ev)\n } else {\n if (typeof customAction === 'string') {\n viewType = customAction\n }\n calendarApi.zoomTo(dateMarker, viewType)\n }\n }\n\n return {\n title: formatWithOrdinals(options.navLinkHint, [dateStr, zonedDate], dateStr),\n 'data-navlink': '', // for legacy selectors. TODO: use className?\n ...(isTabbable\n ? createAriaClickAttrs(handleInteraction)\n : { onClick: handleInteraction }\n ),\n }\n }\n\n return { 'aria-label': dateStr }\n}\n","import { removeElement, applyStyle } from './dom-manip'\n\nlet _isRtlScrollbarOnLeft: boolean | null = null\n\nexport function getIsRtlScrollbarOnLeft() { // responsible for caching the computation\n if (_isRtlScrollbarOnLeft === null) {\n _isRtlScrollbarOnLeft = computeIsRtlScrollbarOnLeft()\n }\n return _isRtlScrollbarOnLeft\n}\n\nfunction computeIsRtlScrollbarOnLeft() { // creates an offscreen test element, then removes it\n let outerEl = document.createElement('div')\n applyStyle(outerEl, {\n position: 'absolute',\n top: -1000,\n left: 0,\n border: 0,\n padding: 0,\n overflow: 'scroll',\n direction: 'rtl',\n })\n outerEl.innerHTML = '
'\n\n document.body.appendChild(outerEl)\n let innerEl = outerEl.firstChild as HTMLElement\n let res = innerEl.getBoundingClientRect().left > outerEl.getBoundingClientRect().left\n\n removeElement(outerEl)\n return res\n}\n","export interface ScrollbarWidths {\n x: number\n y: number // TODO: rename to vertical. less confusing when dealing with width/height verbage\n}\n\nlet _scrollbarWidths: ScrollbarWidths | undefined\n\nexport function getScrollbarWidths() { // TODO: way to force recompute?\n if (!_scrollbarWidths) {\n _scrollbarWidths = computeScrollbarWidths()\n }\n\n return _scrollbarWidths\n}\n\nfunction computeScrollbarWidths(): ScrollbarWidths {\n let el = document.createElement('div')\n el.style.overflow = 'scroll'\n el.style.position = 'absolute'\n el.style.top = '-9999px'\n el.style.left = '-9999px'\n document.body.appendChild(el)\n let res = computeScrollbarWidthsForEl(el)\n document.body.removeChild(el)\n return res\n}\n\n// WARNING: will include border\nexport function computeScrollbarWidthsForEl(el: HTMLElement): ScrollbarWidths {\n return {\n x: el.offsetHeight - el.clientHeight,\n y: el.offsetWidth - el.clientWidth,\n }\n}\n","import { intersectRects, Rect } from './geom'\nimport { getIsRtlScrollbarOnLeft } from './scrollbar-side'\nimport { computeScrollbarWidthsForEl } from './scrollbar-width'\n\nexport interface EdgeInfo {\n borderLeft: number\n borderRight: number\n borderTop: number\n borderBottom: number\n scrollbarLeft: number\n scrollbarRight: number\n scrollbarBottom: number\n paddingLeft?: number\n paddingRight?: number\n paddingTop?: number\n paddingBottom?: number\n}\n\nexport function computeEdges(el: HTMLElement, getPadding = false): EdgeInfo { // cache somehow?\n let computedStyle = window.getComputedStyle(el)\n let borderLeft = parseInt(computedStyle.borderLeftWidth, 10) || 0\n let borderRight = parseInt(computedStyle.borderRightWidth, 10) || 0\n let borderTop = parseInt(computedStyle.borderTopWidth, 10) || 0\n let borderBottom = parseInt(computedStyle.borderBottomWidth, 10) || 0\n let badScrollbarWidths = computeScrollbarWidthsForEl(el) // includes border!\n let scrollbarLeftRight = badScrollbarWidths.y - borderLeft - borderRight\n let scrollbarBottom = badScrollbarWidths.x - borderTop - borderBottom\n\n let res: EdgeInfo = {\n borderLeft,\n borderRight,\n borderTop,\n borderBottom,\n scrollbarBottom,\n scrollbarLeft: 0,\n scrollbarRight: 0,\n }\n\n if (getIsRtlScrollbarOnLeft() && computedStyle.direction === 'rtl') { // is the scrollbar on the left side?\n res.scrollbarLeft = scrollbarLeftRight\n } else {\n res.scrollbarRight = scrollbarLeftRight\n }\n\n if (getPadding) {\n res.paddingLeft = parseInt(computedStyle.paddingLeft, 10) || 0\n res.paddingRight = parseInt(computedStyle.paddingRight, 10) || 0\n res.paddingTop = parseInt(computedStyle.paddingTop, 10) || 0\n res.paddingBottom = parseInt(computedStyle.paddingBottom, 10) || 0\n }\n\n return res\n}\n\nexport function computeInnerRect(el, goWithinPadding = false, doFromWindowViewport?: boolean) {\n let outerRect = doFromWindowViewport ? el.getBoundingClientRect() : computeRect(el)\n let edges = computeEdges(el, goWithinPadding)\n let res = {\n left: outerRect.left + edges.borderLeft + edges.scrollbarLeft,\n right: outerRect.right - edges.borderRight - edges.scrollbarRight,\n top: outerRect.top + edges.borderTop,\n bottom: outerRect.bottom - edges.borderBottom - edges.scrollbarBottom,\n }\n\n if (goWithinPadding) {\n res.left += edges.paddingLeft\n res.right -= edges.paddingRight\n res.top += edges.paddingTop\n res.bottom -= edges.paddingBottom\n }\n\n return res\n}\n\nexport function computeRect(el): Rect {\n let rect = el.getBoundingClientRect()\n\n return {\n left: rect.left + window.pageXOffset,\n top: rect.top + window.pageYOffset,\n right: rect.right + window.pageXOffset,\n bottom: rect.bottom + window.pageYOffset,\n }\n}\n\nexport function computeClippedClientRect(el: HTMLElement): Rect | null {\n let clippingParents = getClippingParents(el)\n let rect: Rect = el.getBoundingClientRect()\n\n for (let clippingParent of clippingParents) {\n let intersection = intersectRects(rect, clippingParent.getBoundingClientRect())\n if (intersection) {\n rect = intersection\n } else {\n return null\n }\n }\n\n return rect\n}\n\nexport function computeHeightAndMargins(el: HTMLElement) {\n return el.getBoundingClientRect().height + computeVMargins(el)\n}\n\nexport function computeVMargins(el: HTMLElement) {\n let computed = window.getComputedStyle(el)\n\n return parseInt(computed.marginTop, 10) +\n parseInt(computed.marginBottom, 10)\n}\n\n// does not return window\nexport function getClippingParents(el: HTMLElement): HTMLElement[] {\n let parents: HTMLElement[] = []\n\n while (el instanceof HTMLElement) { // will stop when gets to document or null\n let computedStyle = window.getComputedStyle(el)\n\n if (computedStyle.position === 'fixed') {\n break\n }\n\n if ((/(auto|scroll)/).test(computedStyle.overflow + computedStyle.overflowY + computedStyle.overflowX)) {\n parents.push(el)\n }\n\n el = el.parentNode as HTMLElement\n }\n\n return parents\n}\n","export interface HandlerFuncTypeHash {\n [eventName: string]: (...args: any[]) => any // with all properties required\n}\n\nexport class Emitter {\n private handlers: { [Prop in keyof HandlerFuncs]?: HandlerFuncs[Prop][] } = {}\n\n private options: Partial\n\n private thisContext: any = null\n\n setThisContext(thisContext) {\n this.thisContext = thisContext\n }\n\n setOptions(options: Partial) {\n this.options = options\n }\n\n on(type: Prop, handler: HandlerFuncs[Prop]) {\n addToHash(this.handlers, type, handler)\n }\n\n off(type: Prop, handler?: HandlerFuncs[Prop]) {\n removeFromHash(this.handlers, type, handler)\n }\n\n trigger(type: Prop, ...args: Parameters) {\n let attachedHandlers = this.handlers[type] || []\n let optionHandler = this.options && this.options[type]\n let handlers = [].concat(optionHandler || [], attachedHandlers)\n\n for (let handler of handlers) {\n handler.apply(this.thisContext, args)\n }\n }\n\n hasHandlers(type: keyof HandlerFuncs): boolean {\n return Boolean(\n (this.handlers[type] && this.handlers[type].length) ||\n (this.options && this.options[type]),\n )\n }\n}\n\nfunction addToHash(hash, type, handler) {\n (hash[type] || (hash[type] = []))\n .push(handler)\n}\n\nfunction removeFromHash(hash, type, handler?) {\n if (handler) {\n if (hash[type]) {\n hash[type] = hash[type].filter((func) => func !== handler)\n }\n } else {\n delete hash[type] // remove all handler funcs for this type\n }\n}\n","/*\nRecords offset information for a set of elements, relative to an origin element.\nCan record the left/right OR the top/bottom OR both.\nProvides methods for querying the cache by position.\n*/\nexport class PositionCache {\n els: HTMLElement[] // assumed to be siblings\n originClientRect: ClientRect\n\n // arrays of coordinates (from topleft of originEl)\n // caller can access these directly\n lefts: any\n rights: any\n tops: any\n bottoms: any\n\n constructor(originEl: HTMLElement, els: HTMLElement[], isHorizontal: boolean, isVertical: boolean) {\n this.els = els\n\n let originClientRect = this.originClientRect = originEl.getBoundingClientRect() // relative to viewport top-left\n\n if (isHorizontal) {\n this.buildElHorizontals(originClientRect.left)\n }\n\n if (isVertical) {\n this.buildElVerticals(originClientRect.top)\n }\n }\n\n // Populates the left/right internal coordinate arrays\n buildElHorizontals(originClientLeft: number) {\n let lefts = []\n let rights = []\n\n for (let el of this.els) {\n let rect = el.getBoundingClientRect()\n lefts.push(rect.left - originClientLeft)\n rights.push(rect.right - originClientLeft)\n }\n\n this.lefts = lefts\n this.rights = rights\n }\n\n // Populates the top/bottom internal coordinate arrays\n buildElVerticals(originClientTop: number) {\n let tops = []\n let bottoms = []\n\n for (let el of this.els) {\n let rect = el.getBoundingClientRect()\n tops.push(rect.top - originClientTop)\n bottoms.push(rect.bottom - originClientTop)\n }\n\n this.tops = tops\n this.bottoms = bottoms\n }\n\n // Given a left offset (from document left), returns the index of the el that it horizontally intersects.\n // If no intersection is made, returns undefined.\n leftToIndex(leftPosition: number) {\n let { lefts, rights } = this\n let len = lefts.length\n let i\n\n for (i = 0; i < len; i += 1) {\n if (leftPosition >= lefts[i] && leftPosition < rights[i]) {\n return i\n }\n }\n\n return undefined // TODO: better\n }\n\n // Given a top offset (from document top), returns the index of the el that it vertically intersects.\n // If no intersection is made, returns undefined.\n topToIndex(topPosition: number) {\n let { tops, bottoms } = this\n let len = tops.length\n let i\n\n for (i = 0; i < len; i += 1) {\n if (topPosition >= tops[i] && topPosition < bottoms[i]) {\n return i\n }\n }\n\n return undefined // TODO: better\n }\n\n // Gets the width of the element at the given index\n getWidth(leftIndex: number) {\n return this.rights[leftIndex] - this.lefts[leftIndex]\n }\n\n // Gets the height of the element at the given index\n getHeight(topIndex: number) {\n return this.bottoms[topIndex] - this.tops[topIndex]\n }\n}\n","/* eslint max-classes-per-file: \"off\" */\n\n/*\nAn object for getting/setting scroll-related information for an element.\nInternally, this is done very differently for window versus DOM element,\nso this object serves as a common interface.\n*/\nexport abstract class ScrollController {\n abstract getScrollTop(): number\n abstract getScrollLeft(): number\n abstract setScrollTop(top: number): void\n abstract setScrollLeft(left: number): void\n abstract getClientWidth(): number\n abstract getClientHeight(): number\n abstract getScrollWidth(): number\n abstract getScrollHeight(): number\n\n getMaxScrollTop() {\n return this.getScrollHeight() - this.getClientHeight()\n }\n\n getMaxScrollLeft() {\n return this.getScrollWidth() - this.getClientWidth()\n }\n\n canScrollVertically() {\n return this.getMaxScrollTop() > 0\n }\n\n canScrollHorizontally() {\n return this.getMaxScrollLeft() > 0\n }\n\n canScrollUp() {\n return this.getScrollTop() > 0\n }\n\n canScrollDown() {\n return this.getScrollTop() < this.getMaxScrollTop()\n }\n\n canScrollLeft() {\n return this.getScrollLeft() > 0\n }\n\n canScrollRight() {\n return this.getScrollLeft() < this.getMaxScrollLeft()\n }\n}\n\nexport class ElementScrollController extends ScrollController {\n el: HTMLElement\n\n constructor(el: HTMLElement) {\n super()\n this.el = el\n }\n\n getScrollTop() {\n return this.el.scrollTop\n }\n\n getScrollLeft() {\n return this.el.scrollLeft\n }\n\n setScrollTop(top: number) {\n this.el.scrollTop = top\n }\n\n setScrollLeft(left: number) {\n this.el.scrollLeft = left\n }\n\n getScrollWidth() {\n return this.el.scrollWidth\n }\n\n getScrollHeight() {\n return this.el.scrollHeight\n }\n\n getClientHeight() {\n return this.el.clientHeight\n }\n\n getClientWidth() {\n return this.el.clientWidth\n }\n}\n\nexport class WindowScrollController extends ScrollController {\n getScrollTop() {\n return window.pageYOffset\n }\n\n getScrollLeft() {\n return window.pageXOffset\n }\n\n setScrollTop(n: number) {\n window.scroll(window.pageXOffset, n)\n }\n\n setScrollLeft(n: number) {\n window.scroll(n, window.pageYOffset)\n }\n\n getScrollWidth() {\n return document.documentElement.scrollWidth\n }\n\n getScrollHeight() {\n return document.documentElement.scrollHeight\n }\n\n getClientHeight() {\n return document.documentElement.clientHeight\n }\n\n getClientWidth() {\n return document.documentElement.clientWidth\n }\n}\n","import { CalendarOptionsRefined } from '../options'\n\nexport class Theme {\n // settings. default values are set after the class\n classes: any\n iconClasses: any\n rtlIconClasses: any\n baseIconClass: string // className that ALL icon elements for this theme should have\n iconOverrideOption: any // the name of the setting to use for icons. the subclass must set this.\n iconOverrideCustomButtonOption: any // the name of the setting, *within* each customButtons object, to use for icons\n iconOverridePrefix: string\n\n constructor(calendarOptions: CalendarOptionsRefined) {\n if (this.iconOverrideOption) {\n this.setIconOverride(\n calendarOptions[this.iconOverrideOption],\n )\n }\n }\n\n setIconOverride(iconOverrideHash) {\n let iconClassesCopy\n let buttonName\n\n if (typeof iconOverrideHash === 'object' && iconOverrideHash) { // non-null object\n iconClassesCopy = { ...this.iconClasses }\n\n for (buttonName in iconOverrideHash) {\n iconClassesCopy[buttonName] = this.applyIconOverridePrefix(\n iconOverrideHash[buttonName],\n )\n }\n\n this.iconClasses = iconClassesCopy\n } else if (iconOverrideHash === false) {\n this.iconClasses = {}\n }\n }\n\n applyIconOverridePrefix(className) {\n let prefix = this.iconOverridePrefix\n\n if (prefix && className.indexOf(prefix) !== 0) { // if not already present\n className = prefix + className\n }\n\n return className\n }\n\n getClass(key) {\n return this.classes[key] || ''\n }\n\n getIconClass(buttonName, isRtl?: boolean) {\n let className\n\n if (isRtl && this.rtlIconClasses) {\n className = this.rtlIconClasses[buttonName] || this.iconClasses[buttonName]\n } else {\n className = this.iconClasses[buttonName]\n }\n\n if (className) {\n return `${this.baseIconClass} ${className}`\n }\n\n return ''\n }\n\n getCustomButtonIconClass(customButtonProps) {\n let className\n\n if (this.iconOverrideCustomButtonOption) {\n className = customButtonProps[this.iconOverrideCustomButtonOption]\n\n if (className) {\n return `${this.baseIconClass} ${this.applyIconOverridePrefix(className)}`\n }\n }\n\n return ''\n }\n}\n\nTheme.prototype.classes = {}\nTheme.prototype.iconClasses = {}\nTheme.prototype.baseIconClass = ''\nTheme.prototype.iconOverridePrefix = ''\n\nexport type ThemeClass = { new(calendarOptions: any): Theme }\n","import { __assign } from 'tslib'\nimport { Duration } from './datelib/duration'\nimport { Emitter } from './common/Emitter'\nimport { CalendarListeners } from './options'\n\nexport interface ScrollRequest {\n time?: Duration\n [otherProp: string]: any\n}\n\nexport type ScrollRequestHandler = (request: ScrollRequest) => boolean\n\nexport class ScrollResponder {\n queuedRequest: ScrollRequest\n\n constructor(\n private execFunc: ScrollRequestHandler,\n private emitter: Emitter,\n private scrollTime: Duration,\n private scrollTimeReset: boolean,\n ) {\n emitter.on('_scrollRequest', this.handleScrollRequest)\n this.fireInitialScroll()\n }\n\n detach() {\n this.emitter.off('_scrollRequest', this.handleScrollRequest)\n }\n\n update(isDatesNew: boolean) {\n if (isDatesNew && this.scrollTimeReset) {\n this.fireInitialScroll() // will drain\n } else {\n this.drain()\n }\n }\n\n private fireInitialScroll() {\n this.handleScrollRequest({\n time: this.scrollTime,\n })\n }\n\n private handleScrollRequest = (request: ScrollRequest) => {\n this.queuedRequest = __assign({}, this.queuedRequest || {}, request)\n this.drain()\n }\n\n private drain() {\n if (this.queuedRequest && this.execFunc(this.queuedRequest)) {\n this.queuedRequest = null\n }\n }\n}\n","import { CalendarApi } from './CalendarApi'\nimport { ViewApi } from './ViewApi'\nimport { Theme } from './theme/Theme'\nimport { DateEnv } from './datelib/env'\nimport { PluginHooks } from './plugin-system-struct'\nimport { createContext, Context } from './vdom'\nimport { ScrollResponder, ScrollRequestHandler } from './ScrollResponder'\nimport { DateProfileGenerator } from './DateProfileGenerator'\nimport { ViewSpec } from './structs/view-spec'\nimport { CalendarData } from './reducers/data-types'\nimport { Action } from './reducers/Action'\nimport { Emitter } from './common/Emitter'\nimport { InteractionSettingsInput } from './interactions/interaction'\nimport { DateComponent } from './component/DateComponent'\nimport { CalendarContext } from './CalendarContext'\nimport { createDuration } from './datelib/duration'\nimport { ViewOptionsRefined, CalendarListeners } from './options'\n\nexport const ViewContextType: Context = createContext({} as any) // for Components\nexport type ResizeHandler = (force: boolean) => void\n\n/*\nit's important that ViewContext extends CalendarContext so that components that subscribe to ViewContext\ncan pass in their ViewContext to util functions that accept CalendarContext.\n*/\nexport interface ViewContext extends CalendarContext {\n options: ViewOptionsRefined // more specific than BaseOptionsRefined\n theme: Theme\n isRtl: boolean\n dateProfileGenerator: DateProfileGenerator\n viewSpec: ViewSpec\n viewApi: ViewApi\n addResizeHandler: (handler: ResizeHandler) => void\n removeResizeHandler: (handler: ResizeHandler) => void\n createScrollResponder: (execFunc: ScrollRequestHandler) => ScrollResponder\n registerInteractiveComponent: (component: DateComponent, settingsInput: InteractionSettingsInput) => void\n unregisterInteractiveComponent: (component: DateComponent) => void\n}\n\nexport function buildViewContext(\n viewSpec: ViewSpec,\n viewApi: ViewApi,\n viewOptions: ViewOptionsRefined,\n dateProfileGenerator: DateProfileGenerator,\n dateEnv: DateEnv,\n theme: Theme,\n pluginHooks: PluginHooks,\n dispatch: (action: Action) => void,\n getCurrentData: () => CalendarData,\n emitter: Emitter,\n calendarApi: CalendarApi,\n registerInteractiveComponent: (component: DateComponent, settingsInput: InteractionSettingsInput) => void,\n unregisterInteractiveComponent: (component: DateComponent) => void,\n): ViewContext {\n return {\n dateEnv,\n options: viewOptions,\n pluginHooks,\n emitter,\n dispatch,\n getCurrentData,\n calendarApi,\n viewSpec,\n viewApi,\n dateProfileGenerator,\n theme,\n isRtl: viewOptions.direction === 'rtl',\n addResizeHandler(handler: ResizeHandler) {\n emitter.on('_resize', handler)\n },\n removeResizeHandler(handler: ResizeHandler) {\n emitter.off('_resize', handler)\n },\n createScrollResponder(execFunc: ScrollRequestHandler) {\n return new ScrollResponder(\n execFunc,\n emitter,\n createDuration(viewOptions.scrollTime),\n viewOptions.scrollTimeReset,\n )\n },\n registerInteractiveComponent,\n unregisterInteractiveComponent,\n }\n}\n","/* eslint max-classes-per-file: off */\n\nimport { __assign } from 'tslib'\nimport { Component, Ref } from './vdom'\nimport { ViewContextType, ViewContext } from './ViewContext'\nimport { compareObjs, EqualityFuncs, getUnequalProps } from './util/object'\nimport { Dictionary } from './options'\n\nexport abstract class PureComponent extends Component {\n static addPropsEquality = addPropsEquality\n static addStateEquality = addStateEquality\n static contextType: any = ViewContextType\n\n context: ViewContext\n propEquality: EqualityFuncs\n stateEquality: EqualityFuncs\n\n debug: boolean\n\n shouldComponentUpdate(nextProps: Props, nextState: State) {\n if (this.debug) {\n // eslint-disable-next-line no-console\n console.log(getUnequalProps(nextProps, this.props), getUnequalProps(nextState, this.state))\n }\n\n return !compareObjs(this.props, nextProps, this.propEquality) ||\n !compareObjs(this.state, nextState, this.stateEquality)\n }\n\n // HACK for freakin' React StrictMode\n safeSetState(newState: Partial): void {\n if (!compareObjs(this.state, { ...this.state, ...newState }, this.stateEquality)) {\n this.setState(newState)\n }\n }\n}\n\nPureComponent.prototype.propEquality = {}\nPureComponent.prototype.stateEquality = {}\n\nexport abstract class BaseComponent extends PureComponent {\n static contextType: any = ViewContextType\n\n context: ViewContext\n}\n\nfunction addPropsEquality(this: { prototype: { propEquality: any } }, propEquality) {\n let hash = Object.create(this.prototype.propEquality)\n __assign(hash, propEquality)\n this.prototype.propEquality = hash\n}\n\nfunction addStateEquality(this: { prototype: { stateEquality: any } }, stateEquality) {\n let hash = Object.create(this.prototype.stateEquality)\n __assign(hash, stateEquality)\n this.prototype.stateEquality = hash\n}\n\n// use other one\nexport function setRef(ref: Ref | void, current: RefType) {\n if (typeof ref === 'function') {\n ref(current)\n } else if (ref) {\n // see https://github.com/facebook/react/issues/13029\n (ref as any).current = current\n }\n}\n","import { BaseComponent } from '../vdom-util'\nimport { EventRenderRange } from './event-rendering'\nimport { EventInstanceHash } from '../structs/event-instance'\nimport { Hit } from '../interactions/hit'\nimport { elementClosest } from '../util/dom-manip'\nimport { guid } from '../util/misc'\nimport { Dictionary } from '../options'\n\nexport type DateComponentHash = { [uid: string]: DateComponent }\n\n// NOTE: for fg-events, eventRange.range is NOT sliced,\n// thus, we need isStart/isEnd\nexport interface Seg {\n component?: DateComponent\n isStart: boolean\n isEnd: boolean\n eventRange?: EventRenderRange\n [otherProp: string]: any // TODO: remove this. extending Seg will handle this\n el?: never\n // NOTE: can sometimes have start/end, which are important values :(\n}\n\nexport interface EventSegUiInteractionState {\n affectedInstances: EventInstanceHash\n segs: Seg[]\n isEvent: boolean\n}\n\n/*\nan INTERACTABLE date component\n\nPURPOSES:\n- hook up to fg, fill, and mirror renderers\n- interface for dragging and hits\n*/\nexport abstract class DateComponent extends BaseComponent {\n uid = guid()\n\n // Hit System\n // -----------------------------------------------------------------------------------------------------------------\n\n prepareHits() {\n }\n\n queryHit(positionLeft: number, positionTop: number, elWidth: number, elHeight: number): Hit | null {\n return null // this should be abstract\n }\n\n // Pointer Interaction Utils\n // -----------------------------------------------------------------------------------------------------------------\n\n isValidSegDownEl(el: HTMLElement) {\n return !(this.props as any).eventDrag && // HACK\n !(this.props as any).eventResize && // HACK\n !elementClosest(el, '.fc-event-mirror')\n }\n\n isValidDateDownEl(el: HTMLElement) {\n return !elementClosest(el, '.fc-event:not(.fc-bg-event)') &&\n !elementClosest(el, '.fc-more-link') && // a \"more..\" link\n !elementClosest(el, 'a[data-navlink]') && // a clickable nav link\n !elementClosest(el, '.fc-popover') // hack\n }\n}\n","import { guid } from './util/misc'\nimport { PluginDefInput, PluginDef, PluginHooks } from './plugin-system-struct'\nimport { isArraysEqual } from './util/array'\n\n// TODO: easier way to add new hooks? need to update a million things\n\nexport function createPlugin(input: PluginDefInput): PluginDef {\n return {\n id: guid(),\n deps: input.deps || [],\n reducers: input.reducers || [],\n isLoadingFuncs: input.isLoadingFuncs || [],\n contextInit: [].concat(input.contextInit || []),\n eventRefiners: input.eventRefiners || {},\n eventDefMemberAdders: input.eventDefMemberAdders || [],\n eventSourceRefiners: input.eventSourceRefiners || {},\n isDraggableTransformers: input.isDraggableTransformers || [],\n eventDragMutationMassagers: input.eventDragMutationMassagers || [],\n eventDefMutationAppliers: input.eventDefMutationAppliers || [],\n dateSelectionTransformers: input.dateSelectionTransformers || [],\n datePointTransforms: input.datePointTransforms || [],\n dateSpanTransforms: input.dateSpanTransforms || [],\n views: input.views || {},\n viewPropsTransformers: input.viewPropsTransformers || [],\n isPropsValid: input.isPropsValid || null,\n externalDefTransforms: input.externalDefTransforms || [],\n viewContainerAppends: input.viewContainerAppends || [],\n eventDropTransformers: input.eventDropTransformers || [],\n componentInteractions: input.componentInteractions || [],\n calendarInteractions: input.calendarInteractions || [],\n themeClasses: input.themeClasses || {},\n eventSourceDefs: input.eventSourceDefs || [],\n cmdFormatter: input.cmdFormatter,\n recurringTypes: input.recurringTypes || [],\n namedTimeZonedImpl: input.namedTimeZonedImpl,\n initialView: input.initialView || '',\n elementDraggingImpl: input.elementDraggingImpl,\n optionChangeHandlers: input.optionChangeHandlers || {},\n scrollGridImpl: input.scrollGridImpl || null,\n contentTypeHandlers: input.contentTypeHandlers || {},\n listenerRefiners: input.listenerRefiners || {},\n optionRefiners: input.optionRefiners || {},\n propSetHandlers: input.propSetHandlers || {},\n }\n}\n\nfunction buildPluginHooks(pluginDefs: PluginDef[], globalDefs: PluginDef[]): PluginHooks {\n let isAdded: { [pluginId: string]: boolean } = {}\n let hooks: PluginHooks = {\n reducers: [],\n isLoadingFuncs: [],\n contextInit: [],\n eventRefiners: {},\n eventDefMemberAdders: [],\n eventSourceRefiners: {},\n isDraggableTransformers: [],\n eventDragMutationMassagers: [],\n eventDefMutationAppliers: [],\n dateSelectionTransformers: [],\n datePointTransforms: [],\n dateSpanTransforms: [],\n views: {},\n viewPropsTransformers: [],\n isPropsValid: null,\n externalDefTransforms: [],\n viewContainerAppends: [],\n eventDropTransformers: [],\n componentInteractions: [],\n calendarInteractions: [],\n themeClasses: {},\n eventSourceDefs: [],\n cmdFormatter: null,\n recurringTypes: [],\n namedTimeZonedImpl: null,\n initialView: '',\n elementDraggingImpl: null,\n optionChangeHandlers: {},\n scrollGridImpl: null,\n contentTypeHandlers: {},\n listenerRefiners: {},\n optionRefiners: {},\n propSetHandlers: {},\n }\n\n function addDefs(defs: PluginDef[]) {\n for (let def of defs) {\n if (!isAdded[def.id]) {\n isAdded[def.id] = true\n addDefs(def.deps)\n hooks = combineHooks(hooks, def)\n }\n }\n }\n\n if (pluginDefs) {\n addDefs(pluginDefs)\n }\n\n addDefs(globalDefs)\n\n return hooks\n}\n\nexport function buildBuildPluginHooks() { // memoizes\n let currentOverrideDefs: PluginDef[] = []\n let currentGlobalDefs: PluginDef[] = []\n let currentHooks: PluginHooks\n\n return (overrideDefs: PluginDef[], globalDefs: PluginDef[]) => {\n if (!currentHooks || !isArraysEqual(overrideDefs, currentOverrideDefs) || !isArraysEqual(globalDefs, currentGlobalDefs)) {\n currentHooks = buildPluginHooks(overrideDefs, globalDefs)\n }\n currentOverrideDefs = overrideDefs\n currentGlobalDefs = globalDefs\n return currentHooks\n }\n}\n\nfunction combineHooks(hooks0: PluginHooks, hooks1: PluginHooks): PluginHooks {\n return {\n reducers: hooks0.reducers.concat(hooks1.reducers),\n isLoadingFuncs: hooks0.isLoadingFuncs.concat(hooks1.isLoadingFuncs),\n contextInit: hooks0.contextInit.concat(hooks1.contextInit),\n eventRefiners: { ...hooks0.eventRefiners, ...hooks1.eventRefiners },\n eventDefMemberAdders: hooks0.eventDefMemberAdders.concat(hooks1.eventDefMemberAdders),\n eventSourceRefiners: { ...hooks0.eventSourceRefiners, ...hooks1.eventSourceRefiners },\n isDraggableTransformers: hooks0.isDraggableTransformers.concat(hooks1.isDraggableTransformers),\n eventDragMutationMassagers: hooks0.eventDragMutationMassagers.concat(hooks1.eventDragMutationMassagers),\n eventDefMutationAppliers: hooks0.eventDefMutationAppliers.concat(hooks1.eventDefMutationAppliers),\n dateSelectionTransformers: hooks0.dateSelectionTransformers.concat(hooks1.dateSelectionTransformers),\n datePointTransforms: hooks0.datePointTransforms.concat(hooks1.datePointTransforms),\n dateSpanTransforms: hooks0.dateSpanTransforms.concat(hooks1.dateSpanTransforms),\n views: { ...hooks0.views, ...hooks1.views },\n viewPropsTransformers: hooks0.viewPropsTransformers.concat(hooks1.viewPropsTransformers),\n isPropsValid: hooks1.isPropsValid || hooks0.isPropsValid,\n externalDefTransforms: hooks0.externalDefTransforms.concat(hooks1.externalDefTransforms),\n viewContainerAppends: hooks0.viewContainerAppends.concat(hooks1.viewContainerAppends),\n eventDropTransformers: hooks0.eventDropTransformers.concat(hooks1.eventDropTransformers),\n calendarInteractions: hooks0.calendarInteractions.concat(hooks1.calendarInteractions),\n componentInteractions: hooks0.componentInteractions.concat(hooks1.componentInteractions),\n themeClasses: { ...hooks0.themeClasses, ...hooks1.themeClasses },\n eventSourceDefs: hooks0.eventSourceDefs.concat(hooks1.eventSourceDefs),\n cmdFormatter: hooks1.cmdFormatter || hooks0.cmdFormatter,\n recurringTypes: hooks0.recurringTypes.concat(hooks1.recurringTypes),\n namedTimeZonedImpl: hooks1.namedTimeZonedImpl || hooks0.namedTimeZonedImpl,\n initialView: hooks0.initialView || hooks1.initialView, // put earlier plugins FIRST\n elementDraggingImpl: hooks0.elementDraggingImpl || hooks1.elementDraggingImpl, // \"\n optionChangeHandlers: { ...hooks0.optionChangeHandlers, ...hooks1.optionChangeHandlers },\n scrollGridImpl: hooks1.scrollGridImpl || hooks0.scrollGridImpl,\n contentTypeHandlers: { ...hooks0.contentTypeHandlers, ...hooks1.contentTypeHandlers },\n listenerRefiners: { ...hooks0.listenerRefiners, ...hooks1.listenerRefiners },\n optionRefiners: { ...hooks0.optionRefiners, ...hooks1.optionRefiners },\n propSetHandlers: { ...hooks0.propSetHandlers, ...hooks1.propSetHandlers },\n }\n}\n","import { Theme } from './Theme'\n\nexport class StandardTheme extends Theme {\n}\n\nStandardTheme.prototype.classes = {\n root: 'fc-theme-standard', // TODO: compute this off of registered theme name\n tableCellShaded: 'fc-cell-shaded',\n buttonGroup: 'fc-button-group',\n button: 'fc-button fc-button-primary',\n buttonActive: 'fc-button-active',\n}\n\nStandardTheme.prototype.baseIconClass = 'fc-icon'\nStandardTheme.prototype.iconClasses = {\n close: 'fc-icon-x',\n prev: 'fc-icon-chevron-left',\n next: 'fc-icon-chevron-right',\n prevYear: 'fc-icon-chevrons-left',\n nextYear: 'fc-icon-chevrons-right',\n}\nStandardTheme.prototype.rtlIconClasses = {\n prev: 'fc-icon-chevron-right',\n next: 'fc-icon-chevron-left',\n prevYear: 'fc-icon-chevrons-right',\n nextYear: 'fc-icon-chevrons-left',\n}\n\nStandardTheme.prototype.iconOverrideOption = 'buttonIcons' // TODO: make TS-friendly\nStandardTheme.prototype.iconOverrideCustomButtonOption = 'icon'\nStandardTheme.prototype.iconOverridePrefix = 'fc-icon-'\n","import { ViewConfigHash, ViewComponentType } from './view-config'\nimport { ViewOptions } from '../options'\n\n/*\nRepresents information for an instantiatable View class along with settings\nthat are specific to that view. No other settings, like calendar-wide settings, are stored.\n*/\nexport interface ViewDef {\n type: string\n component: ViewComponentType\n overrides: ViewOptions\n defaults: ViewOptions\n}\n\nexport type ViewDefHash = { [viewType: string]: ViewDef }\n\nexport function compileViewDefs(defaultConfigs: ViewConfigHash, overrideConfigs: ViewConfigHash): ViewDefHash {\n let hash: ViewDefHash = {}\n let viewType: string\n\n for (viewType in defaultConfigs) {\n ensureViewDef(viewType, hash, defaultConfigs, overrideConfigs)\n }\n\n for (viewType in overrideConfigs) {\n ensureViewDef(viewType, hash, defaultConfigs, overrideConfigs)\n }\n\n return hash\n}\n\nfunction ensureViewDef(\n viewType: string,\n hash: ViewDefHash,\n defaultConfigs: ViewConfigHash,\n overrideConfigs: ViewConfigHash,\n): ViewDef | null {\n if (hash[viewType]) {\n return hash[viewType]\n }\n\n let viewDef = buildViewDef(viewType, hash, defaultConfigs, overrideConfigs)\n\n if (viewDef) {\n hash[viewType] = viewDef\n }\n\n return viewDef\n}\n\nfunction buildViewDef(\n viewType: string,\n hash: ViewDefHash,\n defaultConfigs: ViewConfigHash,\n overrideConfigs: ViewConfigHash,\n): ViewDef | null {\n let defaultConfig = defaultConfigs[viewType]\n let overrideConfig = overrideConfigs[viewType]\n\n let queryProp = (name) => (\n (defaultConfig && defaultConfig[name] !== null) ? defaultConfig[name] :\n ((overrideConfig && overrideConfig[name] !== null) ? overrideConfig[name] : null)\n )\n\n let theComponent = queryProp('component') as ViewComponentType\n let superType = queryProp('superType') as string\n let superDef: ViewDef | null = null\n\n if (superType) {\n if (superType === viewType) {\n throw new Error('Can\\'t have a custom view type that references itself')\n }\n\n superDef = ensureViewDef(superType, hash, defaultConfigs, overrideConfigs)\n }\n\n if (!theComponent && superDef) {\n theComponent = superDef.component\n }\n\n if (!theComponent) {\n return null // don't throw a warning, might be settings for a single-unit view\n }\n\n return {\n type: viewType,\n component: theComponent,\n defaults: {\n ...(superDef ? superDef.defaults : {}),\n ...(defaultConfig ? defaultConfig.rawOptions : {}),\n },\n overrides: {\n ...(superDef ? superDef.overrides : {}),\n ...(overrideConfig ? overrideConfig.rawOptions : {}),\n },\n }\n}\n","/* eslint max-classes-per-file: off */\n\nimport { Ref, createRef, ComponentChildren, createElement, RefObject, createContext, Context } from '../vdom'\nimport { setRef, BaseComponent } from '../vdom-util'\nimport { isPropsEqual } from '../util/object'\nimport { parseClassNames, ClassNamesInput } from '../util/html'\n\nexport type MountArg = ContentArg & { el: HTMLElement }\nexport type DidMountHandler = (mountArg: TheMountArg) => void\nexport type WillUnmountHandler = (mountArg: TheMountArg) => void\n\nexport interface RenderHookProps {\n hookProps: ContentArg\n classNames: ClassNamesGenerator\n content: CustomContentGenerator\n defaultContent?: DefaultContentGenerator\n didMount: DidMountHandler>\n willUnmount: WillUnmountHandler>\n children: RenderHookPropsChildren\n elRef?: Ref\n}\n\nexport type RenderHookPropsChildren = (\n rootElRef: Ref,\n classNames: string[],\n innerElRef: Ref,\n innerContent: ComponentChildren // if falsy, means it wasn't specified\n) => ComponentChildren\n\nexport interface ContentTypeHandlers {\n [contentKey: string]: () => ({\n render: (el: HTMLElement, contentVal: any) => void\n destroy?: () => void\n })\n}\n\n// NOTE: in JSX, you should always use this class with arg. otherwise, will default to any???\nexport class RenderHook extends BaseComponent> {\n private rootElRef = createRef()\n\n render() {\n let { props } = this\n let { hookProps } = props\n\n return (\n \n {(rootElRef) => (\n \n {(innerElRef, innerContent) => props.children(\n rootElRef,\n normalizeClassNames(props.classNames, hookProps),\n innerElRef,\n innerContent,\n )}\n \n )}\n \n )\n }\n\n handleRootEl = (el: HTMLElement | null) => {\n setRef(this.rootElRef, el)\n\n if (this.props.elRef) {\n setRef(this.props.elRef, el)\n }\n }\n}\n\nexport interface ObjCustomContent {\n html: string\n domNodes: any[]\n [custom: string]: any // TODO: expose hook for plugins to add!\n}\n\nexport type CustomContent = ComponentChildren | ObjCustomContent\nexport type CustomContentGenerator = CustomContent | ((hookProps: HookProps) => CustomContent)\n\nexport type DefaultContentGenerator = (hookProps: HookProps) => ComponentChildren\n// TODO: rename to be about function, not default. use in above type\n\n// for forcing rerender of components that use the ContentHook\nexport const CustomContentRenderContext: Context = createContext(0)\n\nexport interface ContentHookProps {\n hookProps: HookProps // produced by FullCalendar internally, for rendering an entity/whatever\n content: CustomContentGenerator // the value of a user-hook, like `eventContent`\n defaultContent?: DefaultContentGenerator // if content not specified (TODO: just use content?)\n children: ( // for producing a wrapper around the content\n innerElRef: Ref,\n innerContent: ComponentChildren // if falsy, means it wasn't specified\n ) => ComponentChildren\n backupElRef?: RefObject\n}\n\ninterface ContentHookInnerProps extends ContentHookProps {\n renderId: number\n}\n\nexport function ContentHook(props: ContentHookProps) { // TODO: rename to CustomContentHook?\n return (\n \n {(renderId) => (\n \n )}\n \n )\n}\n\nclass ContentHookInner extends BaseComponent> {\n private innerElRef = createRef()\n\n private customContentInfo: {\n contentKey: string\n contentVal: any\n render: (el: HTMLElement, contentVal: any) => void\n destroy?: () => void\n }\n\n render() {\n return this.props.children(this.innerElRef, this.renderInnerContent())\n }\n\n componentDidMount() {\n this.updateCustomContent()\n }\n\n componentDidUpdate() {\n this.updateCustomContent()\n }\n\n componentWillUnmount() {\n if (this.customContentInfo && this.customContentInfo.destroy) {\n this.customContentInfo.destroy()\n }\n }\n\n private renderInnerContent() {\n let { customContentInfo } = this // only populated if using non-[p]react node(s)\n let innerContent = this.getInnerContent()\n let meta = this.getContentMeta(innerContent)\n\n // initial run, or content-type changing? (from vue -> react for example)\n if (!customContentInfo || customContentInfo.contentKey !== meta.contentKey) {\n // clearing old value\n if (customContentInfo) {\n if (customContentInfo.destroy) {\n customContentInfo.destroy()\n }\n customContentInfo = this.customContentInfo = null\n }\n // assigning new value\n if (meta.contentKey) {\n customContentInfo = this.customContentInfo = { // for non-[p]react\n contentKey: meta.contentKey,\n contentVal: innerContent[meta.contentKey],\n ...meta.buildLifecycleFuncs(),\n }\n }\n // updating\n } else if (customContentInfo) {\n customContentInfo.contentVal = innerContent[meta.contentKey]\n }\n\n return customContentInfo\n ? [] // signal that something was specified\n : innerContent // assume a [p]react vdom node. use it\n }\n\n private getInnerContent() {\n let { props } = this\n let innerContent = normalizeContent(props.content, props.hookProps)\n\n if (innerContent === undefined) { // use the default\n innerContent = normalizeContent(props.defaultContent, props.hookProps)\n }\n\n return innerContent == null ? null : innerContent // convert undefined to null (better for React)\n }\n\n private getContentMeta(innerContent: any) {\n let { contentTypeHandlers } = this.context.pluginHooks\n let contentKey = ''\n let buildLifecycleFuncs = null\n\n if (innerContent) { // allowed to be null, for convenience to caller\n for (let searchKey in contentTypeHandlers) {\n if (innerContent[searchKey] !== undefined) {\n contentKey = searchKey\n buildLifecycleFuncs = contentTypeHandlers[searchKey]\n break\n }\n }\n }\n\n return { contentKey, buildLifecycleFuncs }\n }\n\n private updateCustomContent() {\n if (this.customContentInfo) { // for non-[p]react\n this.customContentInfo.render(\n this.innerElRef.current || this.props.backupElRef.current, // the element to render into\n this.customContentInfo.contentVal,\n )\n }\n }\n}\n\nexport interface MountHookProps {\n hookProps: ContentArg\n didMount: DidMountHandler>\n willUnmount: WillUnmountHandler>\n children: (rootElRef: Ref) => ComponentChildren\n elRef?: Ref // maybe get rid of once we have better API for caller to combine refs\n}\n\nexport class MountHook extends BaseComponent> {\n rootEl: HTMLElement\n\n render() {\n return this.props.children(this.handleRootEl)\n }\n\n componentDidMount() {\n let callback = this.props.didMount\n\n if (callback) {\n callback({ ...this.props.hookProps, el: this.rootEl })\n }\n }\n\n componentWillUnmount() {\n let callback = this.props.willUnmount\n\n if (callback) {\n callback({ ...this.props.hookProps, el: this.rootEl })\n }\n }\n\n private handleRootEl = (rootEl: HTMLElement) => {\n this.rootEl = rootEl\n\n if (this.props.elRef) {\n setRef(this.props.elRef, rootEl)\n }\n }\n}\n\nexport function buildClassNameNormalizer() { // TODO: general deep-memoizer?\n let currentGenerator: ClassNamesGenerator\n let currentHookProps: HookProps\n let currentClassNames: string[] = []\n\n return (generator: ClassNamesGenerator, hookProps: HookProps) => {\n if (!currentHookProps || !isPropsEqual(currentHookProps, hookProps) || generator !== currentGenerator) {\n currentGenerator = generator\n currentHookProps = hookProps\n currentClassNames = normalizeClassNames(generator, hookProps)\n }\n\n return currentClassNames\n }\n}\n\nexport type ClassNamesGenerator = ClassNamesInput | ((hookProps: HookProps) => ClassNamesInput)\n\nfunction normalizeClassNames(classNames: ClassNamesGenerator, hookProps: HookProps): string[] {\n if (typeof classNames === 'function') {\n classNames = classNames(hookProps)\n }\n\n return parseClassNames(classNames)\n}\n\nfunction normalizeContent(input, hookProps) {\n if (typeof input === 'function') {\n return input(hookProps, createElement) // give the function the vdom-creation func\n }\n return input\n}\n","import { ViewSpec } from '../structs/view-spec'\nimport { MountHook, buildClassNameNormalizer, MountArg } from './render-hook'\nimport { ComponentChildren, createElement, Ref } from '../vdom'\nimport { BaseComponent } from '../vdom-util'\nimport { ViewApi } from '../ViewApi'\n\nexport interface ViewRootProps {\n viewSpec: ViewSpec\n children: (rootElRef: Ref, classNames: string[]) => ComponentChildren\n elRef?: Ref\n}\n\nexport interface ViewContentArg {\n view: ViewApi\n}\n\nexport type ViewMountArg = MountArg\n\nexport class ViewRoot extends BaseComponent {\n normalizeClassNames = buildClassNameNormalizer()\n\n render() {\n let { props, context } = this\n let { options } = context\n let hookProps: ViewContentArg = { view: context.viewApi }\n let customClassNames = this.normalizeClassNames(options.viewClassNames, hookProps)\n\n return (\n \n {(rootElRef) => props.children(\n rootElRef,\n [`fc-${props.viewSpec.type}-view`, 'fc-view'].concat(customClassNames),\n )}\n \n )\n }\n}\n","import { ViewProps } from '../View'\nimport { mapHash } from '../util/object'\nimport { ComponentType, Component, createElement } from '../vdom'\nimport { ViewRoot } from '../common/ViewRoot'\nimport { RenderHook, MountArg } from '../common/render-hook'\nimport { ViewContext, ViewContextType } from '../ViewContext'\nimport { ViewOptions } from '../options'\nimport { Duration } from '../datelib/duration'\n\n/*\nA view-config represents information for either:\nA) creating a new instantiatable view class. in which case, supplied a class/type in addition to options, OR\nB) options to customize an existing view, in which case only provides options.\n*/\n\nexport type ViewComponent = Component // an instance\nexport type ViewComponentType = ComponentType\n\nexport type ViewConfigInput = ViewComponentType | ViewOptions\nexport type ViewConfigInputHash = { [viewType: string]: ViewConfigInput }\n\nexport interface ViewConfig {\n superType: string\n component: ViewComponentType | null\n rawOptions: ViewOptions\n}\n\nexport type ViewConfigHash = { [viewType: string]: ViewConfig }\n\nexport function parseViewConfigs(inputs: ViewConfigInputHash): ViewConfigHash {\n return mapHash(inputs, parseViewConfig)\n}\n\nfunction parseViewConfig(input: ViewConfigInput): ViewConfig {\n let rawOptions: ViewOptions = typeof input === 'function' ?\n { component: input } :\n input\n let { component } = rawOptions\n\n if (rawOptions.content) {\n component = createViewHookComponent(rawOptions)\n // TODO: remove content/classNames/didMount/etc from options?\n }\n\n return {\n superType: rawOptions.type as any,\n component: component as any,\n rawOptions, // includes type and component too :(\n }\n}\n\nexport interface SpecificViewContentArg extends ViewProps {\n nextDayThreshold: Duration\n}\n\nexport type SpecificViewMountArg = MountArg\n\nfunction createViewHookComponent(options: ViewOptions) {\n return (viewProps: ViewProps) => (\n \n {(context: ViewContext) => (\n \n {(viewElRef, viewClassNames) => {\n let hookProps: SpecificViewContentArg = {\n ...viewProps,\n nextDayThreshold: context.options.nextDayThreshold,\n }\n return (\n \n {(rootElRef, customClassNames, innerElRef, innerContent) => (\n
\n {innerContent}\n
\n )}\n \n )\n }}\n
\n )}\n
\n )\n}\n","import { ViewDef, compileViewDefs } from './view-def'\nimport { Duration, createDuration, greatestDurationDenominator, DurationInput } from '../datelib/duration'\nimport { mapHash } from '../util/object'\nimport { ViewOptions, CalendarOptions, BASE_OPTION_DEFAULTS } from '../options'\nimport { ViewConfigInputHash, parseViewConfigs, ViewConfigHash, ViewComponentType } from './view-config'\n\n/*\nRepresents everything needed to instantiate a new view instance,\nincluding options that have been compiled from view-specific and calendar-wide options,\nas well as duration information.\n\nOverall flow:\nViewConfig -> ViewDef -> ViewSpec\n*/\nexport interface ViewSpec {\n type: string\n component: ViewComponentType\n duration: Duration\n durationUnit: string\n singleUnit: string\n optionDefaults: ViewOptions\n optionOverrides: ViewOptions\n buttonTextOverride: string\n buttonTextDefault: string\n buttonTitleOverride: string | ((...args: any[]) => string)\n buttonTitleDefault: string | ((...args: any[]) => string)\n}\n\nexport type ViewSpecHash = { [viewType: string]: ViewSpec }\n\nexport function buildViewSpecs(\n defaultInputs: ViewConfigInputHash,\n optionOverrides: CalendarOptions,\n dynamicOptionOverrides: CalendarOptions,\n localeDefaults,\n): ViewSpecHash {\n let defaultConfigs = parseViewConfigs(defaultInputs)\n let overrideConfigs = parseViewConfigs(optionOverrides.views)\n let viewDefs = compileViewDefs(defaultConfigs, overrideConfigs)\n\n return mapHash(viewDefs, (viewDef) => buildViewSpec(viewDef, overrideConfigs, optionOverrides, dynamicOptionOverrides, localeDefaults))\n}\n\nfunction buildViewSpec(\n viewDef: ViewDef,\n overrideConfigs: ViewConfigHash,\n optionOverrides: CalendarOptions,\n dynamicOptionOverrides: CalendarOptions,\n localeDefaults,\n): ViewSpec {\n let durationInput =\n viewDef.overrides.duration ||\n viewDef.defaults.duration ||\n dynamicOptionOverrides.duration ||\n optionOverrides.duration\n\n let duration = null\n let durationUnit = ''\n let singleUnit = ''\n let singleUnitOverrides: ViewOptions = {}\n\n if (durationInput) {\n duration = createDurationCached(durationInput)\n\n if (duration) { // valid?\n let denom = greatestDurationDenominator(duration)\n durationUnit = denom.unit\n\n if (denom.value === 1) {\n singleUnit = durationUnit\n singleUnitOverrides = overrideConfigs[durationUnit] ? overrideConfigs[durationUnit].rawOptions : {}\n }\n }\n }\n\n let queryButtonText = (optionsSubset) => {\n let buttonTextMap = optionsSubset.buttonText || {}\n let buttonTextKey = viewDef.defaults.buttonTextKey as string\n\n if (buttonTextKey != null && buttonTextMap[buttonTextKey] != null) {\n return buttonTextMap[buttonTextKey]\n }\n if (buttonTextMap[viewDef.type] != null) {\n return buttonTextMap[viewDef.type]\n }\n if (buttonTextMap[singleUnit] != null) {\n return buttonTextMap[singleUnit]\n }\n return null\n }\n\n let queryButtonTitle = (optionsSubset) => { // TODO: more DRY with queryButtonText\n let buttonHints = optionsSubset.buttonHints || {}\n let buttonKey = viewDef.defaults.buttonTextKey as string // use same key as text\n\n if (buttonKey != null && buttonHints[buttonKey] != null) {\n return buttonHints[buttonKey]\n }\n if (buttonHints[viewDef.type] != null) {\n return buttonHints[viewDef.type]\n }\n if (buttonHints[singleUnit] != null) {\n return buttonHints[singleUnit]\n }\n return null\n }\n\n return {\n type: viewDef.type,\n component: viewDef.component,\n duration,\n durationUnit,\n singleUnit,\n optionDefaults: viewDef.defaults,\n optionOverrides: { ...singleUnitOverrides, ...viewDef.overrides },\n\n buttonTextOverride:\n queryButtonText(dynamicOptionOverrides) ||\n queryButtonText(optionOverrides) || // constructor-specified buttonText lookup hash takes precedence\n viewDef.overrides.buttonText, // `buttonText` for view-specific options is a string\n buttonTextDefault:\n queryButtonText(localeDefaults) ||\n viewDef.defaults.buttonText ||\n queryButtonText(BASE_OPTION_DEFAULTS) ||\n viewDef.type, // fall back to given view name\n\n // not DRY\n buttonTitleOverride:\n queryButtonTitle(dynamicOptionOverrides) ||\n queryButtonTitle(optionOverrides) ||\n viewDef.overrides.buttonHint,\n buttonTitleDefault:\n queryButtonTitle(localeDefaults) ||\n viewDef.defaults.buttonHint ||\n queryButtonTitle(BASE_OPTION_DEFAULTS),\n // will eventually fall back to buttonText\n }\n}\n\n// hack to get memoization working\n\nlet durationInputMap: { [json: string]: Duration } = {}\n\nfunction createDurationCached(durationInput: DurationInput) {\n let json = JSON.stringify(durationInput)\n let res = durationInputMap[json]\n\n if (res === undefined) {\n res = createDuration(durationInput)\n durationInputMap[json] = res\n }\n\n return res\n}\n","import { DateMarker, startOfDay, addDays } from './datelib/marker'\nimport { Duration, createDuration, asRoughDays, asRoughMs, greatestDurationDenominator } from './datelib/duration'\nimport {\n DateRange,\n OpenDateRange,\n constrainMarkerToRange,\n intersectRanges,\n rangesIntersect,\n parseRange,\n DateRangeInput,\n} from './datelib/date-range'\nimport { DateEnv, DateInput } from './datelib/env'\nimport { computeVisibleDayRange } from './util/date'\nimport { getNow } from './reducers/current-date'\nimport { CalendarApi } from './CalendarApi'\n\nexport interface DateProfile {\n currentRange: DateRange // TODO: does this include slotMinTime/slotMaxTime?\n currentRangeUnit: string\n isRangeAllDay: boolean\n validRange: OpenDateRange\n activeRange: DateRange | null\n renderRange: DateRange\n slotMinTime: Duration\n slotMaxTime: Duration\n isValid: boolean\n dateIncrement: Duration\n}\n\nexport interface DateProfileGeneratorProps extends DateProfileOptions {\n dateProfileGeneratorClass: DateProfileGeneratorClass // not used by DateProfileGenerator itself\n duration: Duration\n durationUnit: string\n usesMinMaxTime: boolean\n dateEnv: DateEnv\n calendarApi: CalendarApi\n}\n\nexport interface DateProfileOptions {\n slotMinTime: Duration\n slotMaxTime: Duration\n showNonCurrentDates?: boolean\n dayCount?: number\n dateAlignment?: string\n dateIncrement?: Duration\n hiddenDays?: number[]\n weekends?: boolean\n nowInput?: DateInput | (() => DateInput)\n validRangeInput?: DateRangeInput | ((this: CalendarApi, nowDate: Date) => DateRangeInput)\n visibleRangeInput?: DateRangeInput | ((this: CalendarApi, nowDate: Date) => DateRangeInput)\n monthMode?: boolean\n fixedWeekCount?: boolean\n}\n\nexport type DateProfileGeneratorClass = {\n new(props: DateProfileGeneratorProps): DateProfileGenerator\n}\n\nexport class DateProfileGenerator { // only publicly used for isHiddenDay :(\n nowDate: DateMarker\n\n isHiddenDayHash: boolean[]\n\n constructor(protected props: DateProfileGeneratorProps) {\n this.nowDate = getNow(props.nowInput, props.dateEnv)\n this.initHiddenDays()\n }\n\n /* Date Range Computation\n ------------------------------------------------------------------------------------------------------------------*/\n\n // Builds a structure with info about what the dates/ranges will be for the \"prev\" view.\n buildPrev(currentDateProfile: DateProfile, currentDate: DateMarker, forceToValid?: boolean): DateProfile {\n let { dateEnv } = this.props\n\n let prevDate = dateEnv.subtract(\n dateEnv.startOf(currentDate, currentDateProfile.currentRangeUnit), // important for start-of-month\n currentDateProfile.dateIncrement,\n )\n\n return this.build(prevDate, -1, forceToValid)\n }\n\n // Builds a structure with info about what the dates/ranges will be for the \"next\" view.\n buildNext(currentDateProfile: DateProfile, currentDate: DateMarker, forceToValid?: boolean): DateProfile {\n let { dateEnv } = this.props\n\n let nextDate = dateEnv.add(\n dateEnv.startOf(currentDate, currentDateProfile.currentRangeUnit), // important for start-of-month\n currentDateProfile.dateIncrement,\n )\n\n return this.build(nextDate, 1, forceToValid)\n }\n\n // Builds a structure holding dates/ranges for rendering around the given date.\n // Optional direction param indicates whether the date is being incremented/decremented\n // from its previous value. decremented = -1, incremented = 1 (default).\n build(currentDate: DateMarker, direction?, forceToValid = true): DateProfile {\n let { props } = this\n let validRange: DateRange\n let currentInfo\n let isRangeAllDay\n let renderRange: DateRange\n let activeRange: DateRange\n let isValid\n\n validRange = this.buildValidRange()\n validRange = this.trimHiddenDays(validRange)\n\n if (forceToValid) {\n currentDate = constrainMarkerToRange(currentDate, validRange)\n }\n\n currentInfo = this.buildCurrentRangeInfo(currentDate, direction)\n isRangeAllDay = /^(year|month|week|day)$/.test(currentInfo.unit)\n renderRange = this.buildRenderRange(\n this.trimHiddenDays(currentInfo.range),\n currentInfo.unit,\n isRangeAllDay,\n )\n renderRange = this.trimHiddenDays(renderRange)\n activeRange = renderRange\n\n if (!props.showNonCurrentDates) {\n activeRange = intersectRanges(activeRange, currentInfo.range)\n }\n\n activeRange = this.adjustActiveRange(activeRange)\n activeRange = intersectRanges(activeRange, validRange) // might return null\n\n // it's invalid if the originally requested date is not contained,\n // or if the range is completely outside of the valid range.\n isValid = rangesIntersect(currentInfo.range, validRange)\n\n return {\n // constraint for where prev/next operations can go and where events can be dragged/resized to.\n // an object with optional start and end properties.\n validRange,\n\n // range the view is formally responsible for.\n // for example, a month view might have 1st-31st, excluding padded dates\n currentRange: currentInfo.range,\n\n // name of largest unit being displayed, like \"month\" or \"week\"\n currentRangeUnit: currentInfo.unit,\n\n isRangeAllDay,\n\n // dates that display events and accept drag-n-drop\n // will be `null` if no dates accept events\n activeRange,\n\n // date range with a rendered skeleton\n // includes not-active days that need some sort of DOM\n renderRange,\n\n // Duration object that denotes the first visible time of any given day\n slotMinTime: props.slotMinTime,\n\n // Duration object that denotes the exclusive visible end time of any given day\n slotMaxTime: props.slotMaxTime,\n\n isValid,\n\n // how far the current date will move for a prev/next operation\n dateIncrement: this.buildDateIncrement(currentInfo.duration),\n // pass a fallback (might be null) ^\n }\n }\n\n // Builds an object with optional start/end properties.\n // Indicates the minimum/maximum dates to display.\n // not responsible for trimming hidden days.\n buildValidRange(): OpenDateRange {\n let input = this.props.validRangeInput\n let simpleInput = typeof input === 'function'\n ? input.call(this.props.calendarApi, this.nowDate)\n : input\n\n return this.refineRange(simpleInput) ||\n { start: null, end: null } // completely open-ended\n }\n\n // Builds a structure with info about the \"current\" range, the range that is\n // highlighted as being the current month for example.\n // See build() for a description of `direction`.\n // Guaranteed to have `range` and `unit` properties. `duration` is optional.\n buildCurrentRangeInfo(date: DateMarker, direction) {\n let { props } = this\n let duration = null\n let unit = null\n let range = null\n let dayCount\n\n if (props.duration) {\n duration = props.duration\n unit = props.durationUnit\n range = this.buildRangeFromDuration(date, direction, duration, unit)\n } else if ((dayCount = this.props.dayCount)) {\n unit = 'day'\n range = this.buildRangeFromDayCount(date, direction, dayCount)\n } else if ((range = this.buildCustomVisibleRange(date))) {\n unit = props.dateEnv.greatestWholeUnit(range.start, range.end).unit\n } else {\n duration = this.getFallbackDuration()\n unit = greatestDurationDenominator(duration).unit\n range = this.buildRangeFromDuration(date, direction, duration, unit)\n }\n\n return { duration, unit, range }\n }\n\n getFallbackDuration(): Duration {\n return createDuration({ day: 1 })\n }\n\n // Returns a new activeRange to have time values (un-ambiguate)\n // slotMinTime or slotMaxTime causes the range to expand.\n adjustActiveRange(range: DateRange) {\n let { dateEnv, usesMinMaxTime, slotMinTime, slotMaxTime } = this.props\n let { start, end } = range\n\n if (usesMinMaxTime) {\n // expand active range if slotMinTime is negative (why not when positive?)\n if (asRoughDays(slotMinTime) < 0) {\n start = startOfDay(start) // necessary?\n start = dateEnv.add(start, slotMinTime)\n }\n\n // expand active range if slotMaxTime is beyond one day (why not when negative?)\n if (asRoughDays(slotMaxTime) > 1) {\n end = startOfDay(end) // necessary?\n end = addDays(end, -1)\n end = dateEnv.add(end, slotMaxTime)\n }\n }\n\n return { start, end }\n }\n\n // Builds the \"current\" range when it is specified as an explicit duration.\n // `unit` is the already-computed greatestDurationDenominator unit of duration.\n buildRangeFromDuration(date: DateMarker, direction, duration: Duration, unit) {\n let { dateEnv, dateAlignment } = this.props\n let start: DateMarker\n let end: DateMarker\n let res\n\n // compute what the alignment should be\n if (!dateAlignment) {\n let { dateIncrement } = this.props\n\n if (dateIncrement) {\n // use the smaller of the two units\n if (asRoughMs(dateIncrement) < asRoughMs(duration)) {\n dateAlignment = greatestDurationDenominator(dateIncrement).unit\n } else {\n dateAlignment = unit\n }\n } else {\n dateAlignment = unit\n }\n }\n\n // if the view displays a single day or smaller\n if (asRoughDays(duration) <= 1) {\n if (this.isHiddenDay(start)) {\n start = this.skipHiddenDays(start, direction)\n start = startOfDay(start)\n }\n }\n\n function computeRes() {\n start = dateEnv.startOf(date, dateAlignment)\n end = dateEnv.add(start, duration)\n res = { start, end }\n }\n\n computeRes()\n\n // if range is completely enveloped by hidden days, go past the hidden days\n if (!this.trimHiddenDays(res)) {\n date = this.skipHiddenDays(date, direction)\n computeRes()\n }\n\n return res\n }\n\n // Builds the \"current\" range when a dayCount is specified.\n buildRangeFromDayCount(date: DateMarker, direction, dayCount) {\n let { dateEnv, dateAlignment } = this.props\n let runningCount = 0\n let start: DateMarker = date\n let end: DateMarker\n\n if (dateAlignment) {\n start = dateEnv.startOf(start, dateAlignment)\n }\n\n start = startOfDay(start)\n start = this.skipHiddenDays(start, direction)\n\n end = start\n do {\n end = addDays(end, 1)\n if (!this.isHiddenDay(end)) {\n runningCount += 1\n }\n } while (runningCount < dayCount)\n\n return { start, end }\n }\n\n // Builds a normalized range object for the \"visible\" range,\n // which is a way to define the currentRange and activeRange at the same time.\n buildCustomVisibleRange(date: DateMarker) {\n let { props } = this\n let input = props.visibleRangeInput\n let simpleInput = typeof input === 'function'\n ? input.call(props.calendarApi, props.dateEnv.toDate(date))\n : input\n\n let range = this.refineRange(simpleInput)\n\n if (range && (range.start == null || range.end == null)) {\n return null\n }\n\n return range\n }\n\n // Computes the range that will represent the element/cells for *rendering*,\n // but which may have voided days/times.\n // not responsible for trimming hidden days.\n buildRenderRange(currentRange: DateRange, currentRangeUnit, isRangeAllDay) {\n return currentRange\n }\n\n // Compute the duration value that should be added/substracted to the current date\n // when a prev/next operation happens.\n buildDateIncrement(fallback): Duration {\n let { dateIncrement } = this.props\n let customAlignment\n\n if (dateIncrement) {\n return dateIncrement\n }\n\n if ((customAlignment = this.props.dateAlignment)) {\n return createDuration(1, customAlignment)\n }\n\n if (fallback) {\n return fallback\n }\n\n return createDuration({ days: 1 })\n }\n\n refineRange(rangeInput: DateRangeInput | undefined): DateRange | null {\n if (rangeInput) {\n let range = parseRange(rangeInput, this.props.dateEnv)\n\n if (range) {\n range = computeVisibleDayRange(range)\n }\n\n return range\n }\n\n return null\n }\n\n /* Hidden Days\n ------------------------------------------------------------------------------------------------------------------*/\n\n // Initializes internal variables related to calculating hidden days-of-week\n initHiddenDays() {\n let hiddenDays = this.props.hiddenDays || [] // array of day-of-week indices that are hidden\n let isHiddenDayHash = [] // is the day-of-week hidden? (hash with day-of-week-index -> bool)\n let dayCnt = 0\n let i\n\n if (this.props.weekends === false) {\n hiddenDays.push(0, 6) // 0=sunday, 6=saturday\n }\n\n for (i = 0; i < 7; i += 1) {\n if (\n !(isHiddenDayHash[i] = hiddenDays.indexOf(i) !== -1)\n ) {\n dayCnt += 1\n }\n }\n\n if (!dayCnt) {\n throw new Error('invalid hiddenDays') // all days were hidden? bad.\n }\n\n this.isHiddenDayHash = isHiddenDayHash\n }\n\n // Remove days from the beginning and end of the range that are computed as hidden.\n // If the whole range is trimmed off, returns null\n trimHiddenDays(range: DateRange): DateRange | null {\n let { start, end } = range\n\n if (start) {\n start = this.skipHiddenDays(start)\n }\n\n if (end) {\n end = this.skipHiddenDays(end, -1, true)\n }\n\n if (start == null || end == null || start < end) {\n return { start, end }\n }\n\n return null\n }\n\n // Is the current day hidden?\n // `day` is a day-of-week index (0-6), or a Date (used for UTC)\n isHiddenDay(day) {\n if (day instanceof Date) {\n day = day.getUTCDay()\n }\n return this.isHiddenDayHash[day]\n }\n\n // Incrementing the current day until it is no longer a hidden day, returning a copy.\n // DOES NOT CONSIDER validRange!\n // If the initial value of `date` is not a hidden day, don't do anything.\n // Pass `isExclusive` as `true` if you are dealing with an end date.\n // `inc` defaults to `1` (increment one day forward each time)\n skipHiddenDays(date: DateMarker, inc = 1, isExclusive = false) {\n while (\n this.isHiddenDayHash[(date.getUTCDay() + (isExclusive ? inc : 0) + 7) % 7]\n ) {\n date = addDays(date, inc)\n }\n return date\n }\n}\n","import { EventSource, EventSourceHash } from '../structs/event-source'\nimport { parseEventSource, buildEventSourceRefiners } from '../structs/event-source-parse'\nimport { arrayToHash, filterHash } from '../util/object'\nimport { DateRange } from '../datelib/date-range'\nimport { DateProfile } from '../DateProfileGenerator'\nimport { Action } from './Action'\nimport { guid } from '../util/misc'\nimport { CalendarContext } from '../CalendarContext'\nimport { CalendarOptions } from '../options'\n\nexport function initEventSources(calendarOptions, dateProfile: DateProfile, context: CalendarContext) {\n let activeRange = dateProfile ? dateProfile.activeRange : null\n\n return addSources(\n {},\n parseInitialSources(calendarOptions, context),\n activeRange,\n context,\n )\n}\n\nexport function reduceEventSources(\n eventSources: EventSourceHash,\n action: Action,\n dateProfile: DateProfile,\n context: CalendarContext,\n): EventSourceHash {\n let activeRange = dateProfile ? dateProfile.activeRange : null // need this check?\n\n switch (action.type) {\n case 'ADD_EVENT_SOURCES': // already parsed\n return addSources(eventSources, action.sources, activeRange, context)\n\n case 'REMOVE_EVENT_SOURCE':\n return removeSource(eventSources, action.sourceId)\n\n case 'PREV': // TODO: how do we track all actions that affect dateProfile :(\n case 'NEXT':\n case 'CHANGE_DATE':\n case 'CHANGE_VIEW_TYPE':\n if (dateProfile) {\n return fetchDirtySources(eventSources, activeRange, context)\n }\n return eventSources\n\n case 'FETCH_EVENT_SOURCES':\n return fetchSourcesByIds(\n eventSources,\n (action as any).sourceIds ? // why no type?\n arrayToHash((action as any).sourceIds) :\n excludeStaticSources(eventSources, context),\n activeRange,\n action.isRefetch || false,\n context,\n )\n\n case 'RECEIVE_EVENTS':\n case 'RECEIVE_EVENT_ERROR':\n return receiveResponse(eventSources, action.sourceId, action.fetchId, action.fetchRange)\n\n case 'REMOVE_ALL_EVENT_SOURCES':\n return {}\n\n default:\n return eventSources\n }\n}\n\nexport function reduceEventSourcesNewTimeZone(eventSources: EventSourceHash, dateProfile: DateProfile, context: CalendarContext) {\n let activeRange = dateProfile ? dateProfile.activeRange : null // need this check?\n\n return fetchSourcesByIds(\n eventSources,\n excludeStaticSources(eventSources, context),\n activeRange,\n true,\n context,\n )\n}\n\nexport function computeEventSourcesLoading(eventSources: EventSourceHash): boolean {\n for (let sourceId in eventSources) {\n if (eventSources[sourceId].isFetching) {\n return true\n }\n }\n\n return false\n}\n\nfunction addSources(\n eventSourceHash: EventSourceHash,\n sources: EventSource[],\n fetchRange: DateRange | null,\n context: CalendarContext,\n): EventSourceHash {\n let hash: EventSourceHash = {}\n\n for (let source of sources) {\n hash[source.sourceId] = source\n }\n\n if (fetchRange) {\n hash = fetchDirtySources(hash, fetchRange, context)\n }\n\n return { ...eventSourceHash, ...hash }\n}\n\nfunction removeSource(eventSourceHash: EventSourceHash, sourceId: string): EventSourceHash {\n return filterHash(eventSourceHash, (eventSource: EventSource) => eventSource.sourceId !== sourceId)\n}\n\nfunction fetchDirtySources(sourceHash: EventSourceHash, fetchRange: DateRange, context: CalendarContext): EventSourceHash {\n return fetchSourcesByIds(\n sourceHash,\n filterHash(sourceHash, (eventSource) => isSourceDirty(eventSource, fetchRange, context)),\n fetchRange,\n false,\n context,\n )\n}\n\nfunction isSourceDirty(eventSource: EventSource, fetchRange: DateRange, context: CalendarContext) {\n if (!doesSourceNeedRange(eventSource, context)) {\n return !eventSource.latestFetchId\n }\n return !context.options.lazyFetching ||\n !eventSource.fetchRange ||\n eventSource.isFetching || // always cancel outdated in-progress fetches\n fetchRange.start < eventSource.fetchRange.start ||\n fetchRange.end > eventSource.fetchRange.end\n}\n\nfunction fetchSourcesByIds(\n prevSources: EventSourceHash,\n sourceIdHash: { [sourceId: string]: any },\n fetchRange: DateRange,\n isRefetch: boolean,\n context: CalendarContext,\n): EventSourceHash {\n let nextSources: EventSourceHash = {}\n\n for (let sourceId in prevSources) {\n let source = prevSources[sourceId]\n\n if (sourceIdHash[sourceId]) {\n nextSources[sourceId] = fetchSource(source, fetchRange, isRefetch, context)\n } else {\n nextSources[sourceId] = source\n }\n }\n\n return nextSources\n}\n\nfunction fetchSource(eventSource: EventSource, fetchRange: DateRange, isRefetch: boolean, context: CalendarContext) {\n let { options, calendarApi } = context\n let sourceDef = context.pluginHooks.eventSourceDefs[eventSource.sourceDefId]\n let fetchId = guid()\n\n sourceDef.fetch(\n {\n eventSource,\n range: fetchRange,\n isRefetch,\n context,\n },\n (res) => { // success callback\n let { rawEvents } = res\n\n if (options.eventSourceSuccess) {\n rawEvents = options.eventSourceSuccess.call(calendarApi, rawEvents, res.xhr) || rawEvents\n }\n\n if (eventSource.success) {\n rawEvents = eventSource.success.call(calendarApi, rawEvents, res.xhr) || rawEvents\n }\n\n context.dispatch({\n type: 'RECEIVE_EVENTS',\n sourceId: eventSource.sourceId,\n fetchId,\n fetchRange,\n rawEvents,\n })\n },\n (error) => { // failure callback\n console.warn(error.message, error)\n\n if (options.eventSourceFailure) {\n options.eventSourceFailure.call(calendarApi, error)\n }\n\n if (eventSource.failure) {\n eventSource.failure(error)\n }\n\n context.dispatch({\n type: 'RECEIVE_EVENT_ERROR',\n sourceId: eventSource.sourceId,\n fetchId,\n fetchRange,\n error,\n })\n },\n )\n\n return {\n ...eventSource,\n isFetching: true,\n latestFetchId: fetchId,\n }\n}\n\nfunction receiveResponse(sourceHash: EventSourceHash, sourceId: string, fetchId: string, fetchRange: DateRange) {\n let eventSource: EventSource = sourceHash[sourceId]\n\n if (\n eventSource && // not already removed\n fetchId === eventSource.latestFetchId\n ) {\n return {\n ...sourceHash,\n [sourceId]: {\n ...eventSource,\n isFetching: false,\n fetchRange, // also serves as a marker that at least one fetch has completed\n },\n }\n }\n\n return sourceHash\n}\n\nfunction excludeStaticSources(eventSources: EventSourceHash, context: CalendarContext): EventSourceHash {\n return filterHash(eventSources, (eventSource) => doesSourceNeedRange(eventSource, context))\n}\n\nfunction parseInitialSources(rawOptions: CalendarOptions, context: CalendarContext) {\n let refiners = buildEventSourceRefiners(context)\n let rawSources = [].concat(rawOptions.eventSources || [])\n let sources = [] // parsed\n\n if (rawOptions.initialEvents) {\n rawSources.unshift(rawOptions.initialEvents)\n }\n\n if (rawOptions.events) {\n rawSources.unshift(rawOptions.events)\n }\n\n for (let rawSource of rawSources) {\n let source = parseEventSource(rawSource, context, refiners)\n if (source) {\n sources.push(source)\n }\n }\n\n return sources\n}\n\nfunction doesSourceNeedRange(eventSource: EventSource, context: CalendarContext) {\n let defs = context.pluginHooks.eventSourceDefs\n\n return !defs[eventSource.sourceDefId].ignoreRange\n}\n","import { filterHash, mapHash } from '../util/object'\nimport { EventDef } from '../structs/event-def'\nimport { EventInstance, EventInstanceHash } from '../structs/event-instance'\nimport { EventInput } from '../structs/event-parse'\nimport {\n EventStore,\n mergeEventStores,\n createEmptyEventStore,\n filterEventStoreDefs,\n excludeSubEventStore,\n parseEvents,\n} from '../structs/event-store'\nimport { Action } from './Action'\nimport { EventSourceHash, EventSource } from '../structs/event-source'\nimport { DateRange } from '../datelib/date-range'\nimport { DateProfile } from '../DateProfileGenerator'\nimport { DateEnv } from '../datelib/env'\nimport { CalendarContext } from '../CalendarContext'\nimport { expandRecurring } from '../structs/recurring-event'\n\nexport function reduceEventStore(\n eventStore: EventStore,\n action: Action,\n eventSources: EventSourceHash,\n dateProfile: DateProfile,\n context: CalendarContext,\n): EventStore {\n switch (action.type) {\n case 'RECEIVE_EVENTS': // raw\n return receiveRawEvents(\n eventStore,\n eventSources[action.sourceId],\n action.fetchId,\n action.fetchRange,\n action.rawEvents,\n context,\n )\n\n case 'ADD_EVENTS': // already parsed, but not expanded\n return addEvent(\n eventStore,\n action.eventStore, // new ones\n dateProfile ? dateProfile.activeRange : null,\n context,\n )\n\n case 'RESET_EVENTS':\n return action.eventStore\n\n case 'MERGE_EVENTS': // already parsed and expanded\n return mergeEventStores(eventStore, action.eventStore)\n\n case 'PREV': // TODO: how do we track all actions that affect dateProfile :(\n case 'NEXT':\n case 'CHANGE_DATE':\n case 'CHANGE_VIEW_TYPE':\n if (dateProfile) {\n return expandRecurring(eventStore, dateProfile.activeRange, context)\n }\n return eventStore\n\n case 'REMOVE_EVENTS':\n return excludeSubEventStore(eventStore, action.eventStore)\n\n case 'REMOVE_EVENT_SOURCE':\n return excludeEventsBySourceId(eventStore, action.sourceId)\n\n case 'REMOVE_ALL_EVENT_SOURCES':\n return filterEventStoreDefs(eventStore, (eventDef: EventDef) => (\n !eventDef.sourceId // only keep events with no source id\n ))\n\n case 'REMOVE_ALL_EVENTS':\n return createEmptyEventStore()\n\n default:\n return eventStore\n }\n}\n\nfunction receiveRawEvents(\n eventStore: EventStore,\n eventSource: EventSource,\n fetchId: string,\n fetchRange: DateRange | null,\n rawEvents: EventInput[],\n context: CalendarContext,\n): EventStore {\n if (\n eventSource && // not already removed\n fetchId === eventSource.latestFetchId // TODO: wish this logic was always in event-sources\n ) {\n let subset = parseEvents(\n transformRawEvents(rawEvents, eventSource, context),\n eventSource,\n context,\n )\n\n if (fetchRange) {\n subset = expandRecurring(subset, fetchRange, context)\n }\n\n return mergeEventStores(\n excludeEventsBySourceId(eventStore, eventSource.sourceId),\n subset,\n )\n }\n\n return eventStore\n}\n\nfunction transformRawEvents(rawEvents, eventSource: EventSource, context: CalendarContext) {\n let calEachTransform = context.options.eventDataTransform\n let sourceEachTransform = eventSource ? eventSource.eventDataTransform : null\n\n if (sourceEachTransform) {\n rawEvents = transformEachRawEvent(rawEvents, sourceEachTransform)\n }\n\n if (calEachTransform) {\n rawEvents = transformEachRawEvent(rawEvents, calEachTransform)\n }\n\n return rawEvents\n}\n\nfunction transformEachRawEvent(rawEvents, func) {\n let refinedEvents\n\n if (!func) {\n refinedEvents = rawEvents\n } else {\n refinedEvents = []\n\n for (let rawEvent of rawEvents) {\n let refinedEvent = func(rawEvent)\n\n if (refinedEvent) {\n refinedEvents.push(refinedEvent)\n } else if (refinedEvent == null) {\n refinedEvents.push(rawEvent)\n } // if a different falsy value, do nothing\n }\n }\n\n return refinedEvents\n}\n\nfunction addEvent(eventStore: EventStore, subset: EventStore, expandRange: DateRange | null, context: CalendarContext): EventStore {\n if (expandRange) {\n subset = expandRecurring(subset, expandRange, context)\n }\n\n return mergeEventStores(eventStore, subset)\n}\n\nexport function rezoneEventStoreDates(eventStore: EventStore, oldDateEnv: DateEnv, newDateEnv: DateEnv): EventStore {\n let { defs } = eventStore\n\n let instances = mapHash(eventStore.instances, (instance: EventInstance): EventInstance => {\n let def = defs[instance.defId]\n\n if (def.allDay || def.recurringDef) {\n return instance // isn't dependent on timezone\n }\n return {\n ...instance,\n range: {\n start: newDateEnv.createMarker(oldDateEnv.toDate(instance.range.start, instance.forcedStartTzo)),\n end: newDateEnv.createMarker(oldDateEnv.toDate(instance.range.end, instance.forcedEndTzo)),\n },\n forcedStartTzo: newDateEnv.canComputeOffset ? null : instance.forcedStartTzo,\n forcedEndTzo: newDateEnv.canComputeOffset ? null : instance.forcedEndTzo,\n }\n })\n\n return { defs, instances }\n}\n\nfunction excludeEventsBySourceId(eventStore: EventStore, sourceId: string) {\n return filterEventStoreDefs(eventStore, (eventDef: EventDef) => eventDef.sourceId !== sourceId)\n}\n\n// QUESTION: why not just return instances? do a general object-property-exclusion util\nexport function excludeInstances(eventStore: EventStore, removals: EventInstanceHash): EventStore {\n return {\n defs: eventStore.defs,\n instances: filterHash(eventStore.instances, (instance: EventInstance) => !removals[instance.instanceId]),\n }\n}\n","import { DateSpan } from '../structs/date-span'\nimport { Action } from './Action'\n\nexport function reduceDateSelection(currentSelection: DateSpan | null, action: Action) {\n switch (action.type) {\n case 'UNSELECT_DATES':\n return null\n\n case 'SELECT_DATES':\n return action.selection\n\n default:\n return currentSelection\n }\n}\n","import { Action } from './Action'\n\nexport function reduceSelectedEvent(currentInstanceId: string, action: Action): string {\n switch (action.type) {\n case 'UNSELECT_EVENT':\n return ''\n\n case 'SELECT_EVENT':\n return action.eventInstanceId\n\n default:\n return currentInstanceId\n }\n}\n","import { Action } from './Action'\nimport { EventInteractionState } from '../interactions/event-interaction-state'\n\nexport function reduceEventDrag(currentDrag: EventInteractionState | null, action: Action): EventInteractionState | null {\n let newDrag: EventInteractionState\n\n switch (action.type) {\n case 'UNSET_EVENT_DRAG':\n return null\n\n case 'SET_EVENT_DRAG':\n newDrag = action.state\n\n return {\n affectedEvents: newDrag.affectedEvents,\n mutatedEvents: newDrag.mutatedEvents,\n isEvent: newDrag.isEvent,\n }\n\n default:\n return currentDrag\n }\n}\n","import { EventInteractionState } from '../interactions/event-interaction-state'\nimport { Action } from './Action'\n\nexport function reduceEventResize(currentResize: EventInteractionState | null, action: Action): EventInteractionState | null {\n let newResize: EventInteractionState\n\n switch (action.type) {\n case 'UNSET_EVENT_RESIZE':\n return null\n\n case 'SET_EVENT_RESIZE':\n newResize = action.state\n\n return {\n affectedEvents: newResize.affectedEvents,\n mutatedEvents: newResize.mutatedEvents,\n isEvent: newResize.isEvent,\n }\n\n default:\n return currentResize\n }\n}\n","import { ViewSpec, ViewSpecHash } from './structs/view-spec'\nimport { Theme } from './theme/Theme'\nimport { CalendarApi } from './CalendarApi'\nimport { CalendarOptionsRefined, CalendarOptions } from './options'\nimport { ToolbarInput, ToolbarModel, ToolbarWidget, CustomButtonInput } from './toolbar-struct'\nimport { formatWithOrdinals } from './util/misc'\n\nexport function parseToolbars(\n calendarOptions: CalendarOptionsRefined,\n calendarOptionOverrides: CalendarOptions,\n theme: Theme,\n viewSpecs: ViewSpecHash,\n calendarApi: CalendarApi,\n) {\n let header = calendarOptions.headerToolbar ? parseToolbar(\n calendarOptions.headerToolbar,\n calendarOptions,\n calendarOptionOverrides,\n theme,\n viewSpecs,\n calendarApi,\n ) : null\n let footer = calendarOptions.footerToolbar ? parseToolbar(\n calendarOptions.footerToolbar,\n calendarOptions,\n calendarOptionOverrides,\n theme,\n viewSpecs,\n calendarApi,\n ) : null\n\n return { header, footer }\n}\n\nfunction parseToolbar(\n sectionStrHash: ToolbarInput,\n calendarOptions: CalendarOptionsRefined,\n calendarOptionOverrides: CalendarOptions,\n theme: Theme,\n viewSpecs: ViewSpecHash,\n calendarApi: CalendarApi,\n) : ToolbarModel {\n let sectionWidgets: { [sectionName: string]: ToolbarWidget[][] } = {}\n let viewsWithButtons: string[] = []\n let hasTitle = false\n\n for (let sectionName in sectionStrHash) {\n let sectionStr = sectionStrHash[sectionName]\n let sectionRes = parseSection(sectionStr, calendarOptions, calendarOptionOverrides, theme, viewSpecs, calendarApi)\n sectionWidgets[sectionName] = sectionRes.widgets\n viewsWithButtons.push(...sectionRes.viewsWithButtons)\n hasTitle = hasTitle || sectionRes.hasTitle\n }\n\n return { sectionWidgets, viewsWithButtons, hasTitle }\n}\n\n/*\nBAD: querying icons and text here. should be done at render time\n*/\nfunction parseSection(\n sectionStr: string,\n calendarOptions: CalendarOptionsRefined, // defaults+overrides, then refined\n calendarOptionOverrides: CalendarOptions, // overrides only!, unrefined :(\n theme: Theme,\n viewSpecs: ViewSpecHash,\n calendarApi: CalendarApi,\n): { widgets: ToolbarWidget[][], viewsWithButtons: string[], hasTitle: boolean } {\n let isRtl = calendarOptions.direction === 'rtl'\n let calendarCustomButtons = calendarOptions.customButtons || {}\n let calendarButtonTextOverrides = calendarOptionOverrides.buttonText || {}\n let calendarButtonText = calendarOptions.buttonText || {}\n let calendarButtonHintOverrides = calendarOptionOverrides.buttonHints || {}\n let calendarButtonHints = calendarOptions.buttonHints || {}\n let sectionSubstrs = sectionStr ? sectionStr.split(' ') : []\n let viewsWithButtons: string[] = []\n let hasTitle = false\n\n let widgets = sectionSubstrs.map(\n (buttonGroupStr): ToolbarWidget[] => (\n buttonGroupStr.split(',').map((buttonName): ToolbarWidget => {\n if (buttonName === 'title') {\n hasTitle = true\n return { buttonName }\n }\n\n let customButtonProps: CustomButtonInput\n let viewSpec: ViewSpec\n let buttonClick\n let buttonIcon // only one of these will be set\n let buttonText // \"\n let buttonHint: string | ((navUnit: string) => string)\n // ^ for the title=\"\" attribute, for accessibility\n\n if ((customButtonProps = calendarCustomButtons[buttonName])) {\n buttonClick = (ev: UIEvent) => {\n if (customButtonProps.click) {\n customButtonProps.click.call(ev.target, ev, ev.target) // TODO: use Calendar this context?\n }\n };\n\n (buttonIcon = theme.getCustomButtonIconClass(customButtonProps)) ||\n (buttonIcon = theme.getIconClass(buttonName, isRtl)) ||\n (buttonText = customButtonProps.text)\n\n buttonHint = customButtonProps.hint || customButtonProps.text\n } else if ((viewSpec = viewSpecs[buttonName])) {\n viewsWithButtons.push(buttonName)\n\n buttonClick = () => {\n calendarApi.changeView(buttonName)\n };\n\n (buttonText = viewSpec.buttonTextOverride) ||\n (buttonIcon = theme.getIconClass(buttonName, isRtl)) ||\n (buttonText = viewSpec.buttonTextDefault)\n\n let textFallback =\n viewSpec.buttonTextOverride ||\n viewSpec.buttonTextDefault\n\n buttonHint = formatWithOrdinals(\n viewSpec.buttonTitleOverride ||\n viewSpec.buttonTitleDefault ||\n calendarOptions.viewHint,\n [textFallback, buttonName], // view-name = buttonName\n textFallback,\n )\n } else if (calendarApi[buttonName]) { // a calendarApi method\n buttonClick = () => {\n calendarApi[buttonName]()\n };\n\n (buttonText = calendarButtonTextOverrides[buttonName]) ||\n (buttonIcon = theme.getIconClass(buttonName, isRtl)) ||\n (buttonText = calendarButtonText[buttonName]) // everything else is considered default\n\n if (buttonName === 'prevYear' || buttonName === 'nextYear') {\n let prevOrNext = buttonName === 'prevYear' ? 'prev' : 'next'\n buttonHint = formatWithOrdinals(\n calendarButtonHintOverrides[prevOrNext] ||\n calendarButtonHints[prevOrNext],\n [\n calendarButtonText.year || 'year', // localize unit\n 'year',\n ],\n calendarButtonText[buttonName],\n )\n } else {\n buttonHint = (navUnit: string) => formatWithOrdinals(\n calendarButtonHintOverrides[buttonName] ||\n calendarButtonHints[buttonName],\n [\n calendarButtonText[navUnit] || navUnit, // localized unit\n navUnit,\n ],\n calendarButtonText[buttonName],\n )\n }\n }\n\n return { buttonName, buttonClick, buttonIcon, buttonText, buttonHint }\n })\n ),\n )\n\n return { widgets, viewsWithButtons, hasTitle }\n}\n","import { createPlugin } from '../plugin-system'\nimport { EventSourceDef } from '../structs/event-source-def'\nimport { EventInput } from '../structs/event-parse'\n\nlet eventSourceDef: EventSourceDef = {\n ignoreRange: true,\n\n parseMeta(refined) {\n if (Array.isArray(refined.events)) {\n return refined.events\n }\n return null\n },\n\n fetch(arg, success) {\n success({\n rawEvents: arg.eventSource.meta,\n })\n },\n}\n\nexport const arrayEventSourcePlugin = createPlugin({\n eventSourceDefs: [eventSourceDef],\n})\n","import { unpromisify } from '../util/promise'\nimport { EventSourceDef } from '../structs/event-source-def'\nimport { EventSourceError } from '../structs/event-source'\nimport { EventInput } from '../structs/event-parse'\nimport { createPlugin } from '../plugin-system'\nimport { buildRangeApiWithTimeZone } from '../structs/date-span'\n\nexport type EventSourceFunc = (\n arg: {\n start: Date\n end: Date\n startStr: string\n endStr: string\n timeZone: string\n },\n successCallback: (events: EventInput[]) => void,\n failureCallback: (error: EventSourceError) => void\n) => (void | PromiseLike)\n\nlet eventSourceDef: EventSourceDef = {\n\n parseMeta(refined) {\n if (typeof refined.events === 'function') {\n return refined.events\n }\n return null\n },\n\n fetch(arg, success, failure) {\n let { dateEnv } = arg.context\n let func = arg.eventSource.meta\n\n unpromisify(\n func.bind(null, buildRangeApiWithTimeZone(arg.range, dateEnv)),\n (rawEvents) => { // success\n success({ rawEvents }) // needs an object response\n },\n failure, // send errorObj directly to failure callback\n )\n },\n\n}\n\nexport const funcEventSourcePlugin = createPlugin({\n eventSourceDefs: [eventSourceDef],\n})\n","// given a function that resolves a result asynchronously.\n// the function can either call passed-in success and failure callbacks,\n// or it can return a promise.\n// if you need to pass additional params to func, bind them first.\nexport function unpromisify(func, success, failure?) {\n // guard against success/failure callbacks being called more than once\n // and guard against a promise AND callback being used together.\n let isResolved = false\n let wrappedSuccess = function () { // eslint-disable-line func-names\n if (!isResolved) {\n isResolved = true\n success.apply(this, arguments) // eslint-disable-line prefer-rest-params\n }\n }\n let wrappedFailure = function () { // eslint-disable-line func-names\n if (!isResolved) {\n isResolved = true\n if (failure) {\n failure.apply(this, arguments) // eslint-disable-line prefer-rest-params\n }\n }\n }\n\n let res = func(wrappedSuccess, wrappedFailure)\n if (res && typeof res.then === 'function') {\n res.then(wrappedSuccess, wrappedFailure)\n }\n}\n","import { Dictionary } from '../options'\n\nexport function requestJson(method: string, url: string, params: Dictionary, successCallback, failureCallback) {\n method = method.toUpperCase()\n\n let body = null\n\n if (method === 'GET') {\n url = injectQueryStringParams(url, params)\n } else {\n body = encodeParams(params)\n }\n\n let xhr = new XMLHttpRequest()\n xhr.open(method, url, true)\n\n if (method !== 'GET') {\n xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded')\n }\n\n xhr.onload = () => {\n if (xhr.status >= 200 && xhr.status < 400) {\n let parsed = false\n let res\n\n try {\n res = JSON.parse(xhr.responseText)\n parsed = true\n } catch (err) {\n // will handle parsed=false\n }\n\n if (parsed) {\n successCallback(res, xhr)\n } else {\n failureCallback('Failure parsing JSON', xhr)\n }\n } else {\n failureCallback('Request failed', xhr)\n }\n }\n\n xhr.onerror = () => {\n failureCallback('Request failed', xhr)\n }\n\n xhr.send(body)\n}\n\nfunction injectQueryStringParams(url: string, params) {\n return url +\n (url.indexOf('?') === -1 ? '?' : '&') +\n encodeParams(params)\n}\n\nfunction encodeParams(params) {\n let parts = []\n\n for (let key in params) {\n parts.push(`${encodeURIComponent(key)}=${encodeURIComponent(params[key])}`)\n }\n\n return parts.join('&')\n}\n","import { createPlugin } from './plugin-system'\nimport { hashValuesToArray } from './util/object'\nimport { EventSource } from './structs/event-source'\nimport { CalendarContext } from './CalendarContext'\n\nexport const changeHandlerPlugin = createPlugin({\n optionChangeHandlers: {\n events(events, context) {\n handleEventSources([events], context)\n },\n eventSources: handleEventSources,\n },\n})\n\n/*\nBUG: if `event` was supplied, all previously-given `eventSources` will be wiped out\n*/\nfunction handleEventSources(inputs, context: CalendarContext) {\n let unfoundSources: EventSource[] = hashValuesToArray(context.getCurrentData().eventSources)\n let newInputs = []\n\n for (let input of inputs) {\n let inputFound = false\n\n for (let i = 0; i < unfoundSources.length; i += 1) {\n if (unfoundSources[i]._raw === input) {\n unfoundSources.splice(i, 1) // delete\n inputFound = true\n break\n }\n }\n\n if (!inputFound) {\n newInputs.push(input)\n }\n }\n\n for (let unfoundSource of unfoundSources) {\n context.dispatch({\n type: 'REMOVE_EVENT_SOURCE',\n sourceId: unfoundSource.sourceId,\n })\n }\n\n for (let newInput of newInputs) {\n context.calendarApi.addEventSource(newInput)\n }\n}\n","import { PluginDef } from './plugin-system-struct'\nimport { createPlugin } from './plugin-system'\nimport { arrayEventSourcePlugin } from './event-sources/array-event-source'\nimport { funcEventSourcePlugin } from './event-sources/func-event-source'\nimport { jsonFeedEventSourcePlugin } from './event-sources/json-feed-event-source'\nimport { simpleRecurringEventsPlugin } from './structs/recurring-event-simple'\nimport { changeHandlerPlugin } from './option-change-handlers'\nimport { handleDateProfile } from './dates-set'\nimport { handleEventStore } from './event-crud'\nimport { isArraysEqual } from './util/array'\nimport { removeElement } from './util/dom-manip'\nimport { computeEventSourcesLoading } from './reducers/eventSources'\nimport { CalendarDataManagerState } from './reducers/data-types'\n\n/*\nthis array is exposed on the root namespace so that UMD plugins can add to it.\nsee the rollup-bundles script.\n*/\nexport const globalPlugins: PluginDef[] = [ // TODO: make a const?\n arrayEventSourcePlugin,\n funcEventSourcePlugin,\n jsonFeedEventSourcePlugin,\n simpleRecurringEventsPlugin,\n changeHandlerPlugin,\n createPlugin({ // misc...\n isLoadingFuncs: [\n (state: CalendarDataManagerState) => computeEventSourcesLoading(state.eventSources),\n ],\n contentTypeHandlers: {\n html: buildHtmlRenderer,\n domNodes: buildDomNodeRenderer,\n },\n propSetHandlers: {\n dateProfile: handleDateProfile,\n eventStore: handleEventStore,\n },\n }),\n]\n\nfunction buildHtmlRenderer() {\n let currentEl: HTMLElement | null = null\n let currentHtml: string = ''\n\n function render(el: HTMLElement, html: string) {\n if (el !== currentEl || html !== currentHtml) {\n el.innerHTML = html\n }\n currentEl = el\n currentHtml = html\n }\n\n function destroy() {\n currentEl.innerHTML = ''\n currentEl = null\n currentHtml = ''\n }\n\n return { render, destroy }\n}\n\nfunction buildDomNodeRenderer() {\n let currentEl: HTMLElement | null = null\n let currentDomNodes: Node[] = []\n\n function render(el: HTMLElement, domNodes: Node[] | NodeList) {\n let newDomNodes = Array.prototype.slice.call(domNodes)\n\n if (el !== currentEl || !isArraysEqual(currentDomNodes, newDomNodes)) {\n // append first, remove second (for scroll resetting)\n for (let newNode of newDomNodes) {\n el.appendChild(newNode)\n }\n destroy()\n }\n\n currentEl = el\n currentDomNodes = newDomNodes\n }\n\n function destroy() {\n currentDomNodes.forEach(removeElement)\n currentDomNodes = []\n currentEl = null\n }\n\n return { render, destroy }\n}\n","import { __assign } from 'tslib'\nimport { requestJson } from '../util/requestJson'\nimport { CalendarContext } from '../CalendarContext'\nimport { EventSourceDef } from '../structs/event-source-def'\nimport { DateRange } from '../datelib/date-range'\nimport { createPlugin } from '../plugin-system'\nimport { JSON_FEED_EVENT_SOURCE_REFINERS } from './json-feed-event-source-refiners'\n\ninterface JsonFeedMeta {\n url: string\n format: 'json' // for EventSourceApi\n method: string\n extraParams?: any\n startParam?: string\n endParam?: string\n timeZoneParam?: string\n}\n\nlet eventSourceDef: EventSourceDef = {\n\n parseMeta(refined) {\n if (refined.url && (refined.format === 'json' || !refined.format)) {\n return {\n url: refined.url,\n format: 'json',\n method: (refined.method || 'GET').toUpperCase(),\n extraParams: refined.extraParams,\n startParam: refined.startParam,\n endParam: refined.endParam,\n timeZoneParam: refined.timeZoneParam,\n }\n }\n return null\n },\n\n fetch(arg, success, failure) {\n let { meta } = arg.eventSource\n let requestParams = buildRequestParams(meta, arg.range, arg.context)\n\n requestJson(\n meta.method, meta.url, requestParams,\n (rawEvents, xhr) => {\n success({ rawEvents, xhr })\n },\n (errorMessage, xhr) => {\n failure({ message: errorMessage, xhr })\n },\n )\n },\n\n}\n\nexport const jsonFeedEventSourcePlugin = createPlugin({\n eventSourceRefiners: JSON_FEED_EVENT_SOURCE_REFINERS,\n eventSourceDefs: [eventSourceDef],\n})\n\nfunction buildRequestParams(meta: JsonFeedMeta, range: DateRange, context: CalendarContext) {\n let { dateEnv, options } = context\n let startParam\n let endParam\n let timeZoneParam\n let customRequestParams\n let params = {}\n\n startParam = meta.startParam\n if (startParam == null) {\n startParam = options.startParam\n }\n\n endParam = meta.endParam\n if (endParam == null) {\n endParam = options.endParam\n }\n\n timeZoneParam = meta.timeZoneParam\n if (timeZoneParam == null) {\n timeZoneParam = options.timeZoneParam\n }\n\n // retrieve any outbound GET/POST data from the options\n if (typeof meta.extraParams === 'function') {\n // supplied as a function that returns a key/value object\n customRequestParams = meta.extraParams()\n } else {\n // probably supplied as a straight key/value object\n customRequestParams = meta.extraParams || {}\n }\n\n __assign(params, customRequestParams)\n\n params[startParam] = dateEnv.formatIso(range.start)\n params[endParam] = dateEnv.formatIso(range.end)\n\n if (dateEnv.timeZone !== 'local') {\n params[timeZoneParam] = dateEnv.timeZone\n }\n\n return params\n}\n","import { identity, Identity, Dictionary } from '../options'\n\nexport const JSON_FEED_EVENT_SOURCE_REFINERS = {\n method: String,\n extraParams: identity as Identity Dictionary)>,\n startParam: String,\n endParam: String,\n timeZoneParam: String,\n}\n","import { startOfDay, addDays, DateMarker } from '../datelib/marker'\nimport { Duration, subtractDurations } from '../datelib/duration'\nimport { arrayToHash } from '../util/object'\nimport { RecurringType } from './recurring-event'\nimport { EventRefined } from './event-parse'\nimport { DateRange, intersectRanges } from '../datelib/date-range'\nimport { DateEnv } from '../datelib/env'\nimport { createPlugin } from '../plugin-system'\nimport { SIMPLE_RECURRING_REFINERS } from './recurring-event-simple-refiners'\nimport './recurring-event-simple-declare'\n\n/*\nAn implementation of recurring events that only supports every-day or weekly recurrences.\n*/\n\ninterface SimpleRecurringData {\n daysOfWeek: number[] | null\n startTime: Duration | null\n endTime: Duration | null\n startRecur: DateMarker | null\n endRecur: DateMarker | null\n}\n\nlet recurring: RecurringType = {\n\n parse(refined: EventRefined, dateEnv: DateEnv) {\n if (refined.daysOfWeek || refined.startTime || refined.endTime || refined.startRecur || refined.endRecur) {\n let recurringData: SimpleRecurringData = {\n daysOfWeek: refined.daysOfWeek || null,\n startTime: refined.startTime || null,\n endTime: refined.endTime || null,\n startRecur: refined.startRecur ? dateEnv.createMarker(refined.startRecur) : null,\n endRecur: refined.endRecur ? dateEnv.createMarker(refined.endRecur) : null,\n }\n\n let duration: Duration\n\n if (refined.duration) {\n duration = refined.duration\n }\n if (!duration && refined.startTime && refined.endTime) {\n duration = subtractDurations(refined.endTime, refined.startTime)\n }\n\n return {\n allDayGuess: Boolean(!refined.startTime && !refined.endTime),\n duration,\n typeData: recurringData, // doesn't need endTime anymore but oh well\n }\n }\n\n return null\n },\n\n expand(typeData: SimpleRecurringData, framingRange: DateRange, dateEnv: DateEnv): DateMarker[] {\n let clippedFramingRange = intersectRanges(\n framingRange,\n { start: typeData.startRecur, end: typeData.endRecur },\n )\n\n if (clippedFramingRange) {\n return expandRanges(\n typeData.daysOfWeek,\n typeData.startTime,\n clippedFramingRange,\n dateEnv,\n )\n }\n return []\n },\n\n}\n\nexport const simpleRecurringEventsPlugin = createPlugin({\n recurringTypes: [recurring],\n eventRefiners: SIMPLE_RECURRING_REFINERS,\n})\n\nfunction expandRanges(\n daysOfWeek: number[] | null,\n startTime: Duration | null,\n framingRange: DateRange,\n dateEnv: DateEnv,\n): DateMarker[] {\n let dowHash: { [num: string]: true } | null = daysOfWeek ? arrayToHash(daysOfWeek) : null\n let dayMarker = startOfDay(framingRange.start)\n let endMarker = framingRange.end\n let instanceStarts: DateMarker[] = []\n\n while (dayMarker < endMarker) {\n let instanceStart\n\n // if everyday, or this particular day-of-week\n if (!dowHash || dowHash[dayMarker.getUTCDay()]) {\n if (startTime) {\n instanceStart = dateEnv.add(dayMarker, startTime)\n } else {\n instanceStart = dayMarker\n }\n\n instanceStarts.push(instanceStart)\n }\n\n dayMarker = addDays(dayMarker, 1)\n }\n\n return instanceStarts\n}\n","import { createDuration } from '../datelib/duration'\nimport { DateInput } from '../datelib/env'\nimport { identity, Identity } from '../options'\n\nexport const SIMPLE_RECURRING_REFINERS = {\n daysOfWeek: identity as Identity,\n startTime: createDuration,\n endTime: createDuration,\n duration: createDuration,\n startRecur: identity as Identity,\n endRecur: identity as Identity,\n}\n","import { DateProfile } from './DateProfileGenerator'\nimport { CalendarData } from './reducers/data-types'\nimport { RangeApiWithTimeZone, buildRangeApiWithTimeZone } from './structs/date-span'\nimport { ViewApi } from './ViewApi'\n\nexport type DatesSetArg = RangeApiWithTimeZone & { view: ViewApi }\n\nexport function handleDateProfile(dateProfile: DateProfile, context: CalendarData) {\n context.emitter.trigger('datesSet', {\n ...buildRangeApiWithTimeZone(dateProfile.activeRange, context.dateEnv),\n view: context.viewApi,\n })\n}\n","import { EventStore } from './structs/event-store'\nimport { CalendarData } from './reducers/data-types'\nimport { EventApi, buildEventApis } from './api/EventApi'\nimport { Duration } from './datelib/duration'\nimport { ViewApi } from './ViewApi'\n\nexport interface EventAddArg {\n event: EventApi\n relatedEvents: EventApi[]\n revert: () => void\n}\n\nexport interface EventChangeArg {\n oldEvent: EventApi\n event: EventApi\n relatedEvents: EventApi[]\n revert: () => void\n}\n\nexport interface EventDropArg extends EventChangeArg { // not best place. deals w/ UI\n el: HTMLElement\n delta: Duration\n jsEvent: MouseEvent\n view: ViewApi\n // and other \"transformed\" things\n}\n\nexport interface EventRemoveArg {\n event: EventApi\n relatedEvents: EventApi[]\n revert: () => void\n}\n\nexport function handleEventStore(eventStore: EventStore, context: CalendarData) {\n let { emitter } = context\n\n if (emitter.hasHandlers('eventsSet')) {\n emitter.trigger('eventsSet', buildEventApis(eventStore, context))\n }\n}\n","export class DelayedRunner {\n private isRunning = false\n private isDirty = false\n private pauseDepths: { [scope: string]: number } = {}\n private timeoutId: number = 0\n\n constructor(\n private drainedOption?: () => void,\n ) {\n }\n\n request(delay?: number) {\n this.isDirty = true\n\n if (!this.isPaused()) {\n this.clearTimeout()\n\n if (delay == null) {\n this.tryDrain()\n } else {\n this.timeoutId = setTimeout( // NOT OPTIMAL! TODO: look at debounce\n this.tryDrain.bind(this),\n delay,\n ) as unknown as number\n }\n }\n }\n\n pause(scope = '') {\n let { pauseDepths } = this\n\n pauseDepths[scope] = (pauseDepths[scope] || 0) + 1\n\n this.clearTimeout()\n }\n\n resume(scope = '', force?: boolean) {\n let { pauseDepths } = this\n\n if (scope in pauseDepths) {\n if (force) {\n delete pauseDepths[scope]\n } else {\n pauseDepths[scope] -= 1\n let depth = pauseDepths[scope]\n\n if (depth <= 0) {\n delete pauseDepths[scope]\n }\n }\n\n this.tryDrain()\n }\n }\n\n isPaused() {\n return Object.keys(this.pauseDepths).length\n }\n\n tryDrain() {\n if (!this.isRunning && !this.isPaused()) {\n this.isRunning = true\n\n while (this.isDirty) {\n this.isDirty = false\n this.drained() // might set isDirty to true again\n }\n\n this.isRunning = false\n }\n }\n\n clear() {\n this.clearTimeout()\n this.isDirty = false\n this.pauseDepths = {}\n }\n\n private clearTimeout() {\n if (this.timeoutId) {\n clearTimeout(this.timeoutId)\n this.timeoutId = 0\n }\n }\n\n protected drained() { // subclasses can implement\n if (this.drainedOption) {\n this.drainedOption()\n }\n }\n}\n","import { DelayedRunner } from './DelayedRunner'\n\nexport class TaskRunner { // this class USES the DelayedRunner\n private queue: Task[] = []\n\n private delayedRunner: DelayedRunner // will most likely be used WITHOUT any delay\n\n constructor(\n private runTaskOption?: (task: Task) => void,\n private drainedOption?: (completedTasks: Task[]) => void,\n ) {\n this.delayedRunner = new DelayedRunner(this.drain.bind(this))\n }\n\n request(task: Task, delay?: number) {\n this.queue.push(task)\n this.delayedRunner.request(delay)\n }\n\n pause(scope?: string) {\n this.delayedRunner.pause(scope)\n }\n\n resume(scope?: string, force?: boolean) {\n this.delayedRunner.resume(scope, force)\n }\n\n drain() {\n let { queue } = this\n\n while (queue.length) {\n let completedTasks: Task[] = []\n let task: Task\n\n while ((task = queue.shift())) {\n this.runTask(task)\n completedTasks.push(task)\n }\n\n this.drained(completedTasks)\n } // keep going, in case new tasks were added in the drained handler\n }\n\n protected runTask(task: Task) { // subclasses can implement\n if (this.runTaskOption) {\n this.runTaskOption(task)\n }\n }\n\n protected drained(completedTasks: Task[]) { // subclasses can implement\n if (this.drainedOption) {\n this.drainedOption(completedTasks)\n }\n }\n}\n","import { DateProfile } from '../DateProfileGenerator'\nimport { diffWholeDays } from '../datelib/marker'\nimport { createFormatter, FormatterInput } from '../datelib/formatting'\nimport { DateRange } from '../datelib/date-range'\nimport { DateEnv } from '../datelib/env'\nimport { BaseOptions } from '../options'\n\n// Computes what the title at the top of the calendarApi should be for this view\nexport function buildTitle(dateProfile: DateProfile, viewOptions: BaseOptions, dateEnv: DateEnv) {\n let range: DateRange\n\n // for views that span a large unit of time, show the proper interval, ignoring stray days before and after\n if (/^(year|month)$/.test(dateProfile.currentRangeUnit)) {\n range = dateProfile.currentRange\n } else { // for day units or smaller, use the actual day range\n range = dateProfile.activeRange\n }\n\n return dateEnv.formatRange(\n range.start,\n range.end,\n createFormatter(viewOptions.titleFormat || buildTitleFormat(dateProfile)),\n {\n isEndExclusive: dateProfile.isRangeAllDay,\n defaultSeparator: viewOptions.titleRangeSeparator,\n },\n )\n}\n\n// Generates the format string that should be used to generate the title for the current date range.\n// Attempts to compute the most appropriate format if not explicitly specified with `titleFormat`.\nfunction buildTitleFormat(dateProfile: DateProfile): FormatterInput {\n let { currentRangeUnit } = dateProfile\n\n if (currentRangeUnit === 'year') {\n return { year: 'numeric' }\n }\n\n if (currentRangeUnit === 'month') {\n return { year: 'numeric', month: 'long' } // like \"September 2014\"\n }\n\n let days = diffWholeDays(\n dateProfile.currentRange.start,\n dateProfile.currentRange.end,\n )\n\n if (days !== null && days > 1) {\n // multi-day range. shorter, like \"Sep 9 - 10 2014\"\n return { year: 'numeric', month: 'short', day: 'numeric' }\n }\n\n // one day. longer, like \"September 9 2014\"\n return { year: 'numeric', month: 'long', day: 'numeric' }\n}\n","import { __assign } from 'tslib'\nimport { buildLocale, RawLocaleInfo, organizeRawLocales, LocaleSingularArg } from '../datelib/locale'\nimport { memoize, memoizeObjArg } from '../util/memoize'\nimport { Action } from './Action'\nimport { buildBuildPluginHooks } from '../plugin-system'\nimport { PluginHooks } from '../plugin-system-struct'\nimport { DateEnv } from '../datelib/env'\nimport { CalendarApi } from '../CalendarApi'\nimport { StandardTheme } from '../theme/StandardTheme'\nimport { EventSourceHash } from '../structs/event-source'\nimport { buildViewSpecs, ViewSpec } from '../structs/view-spec'\nimport { mapHash, isPropsEqual } from '../util/object'\nimport { DateProfileGenerator, DateProfileGeneratorProps } from '../DateProfileGenerator'\nimport { reduceViewType } from './view-type'\nimport { getInitialDate, reduceCurrentDate } from './current-date'\nimport { reduceDynamicOptionOverrides } from './options'\nimport { reduceDateProfile } from './date-profile'\nimport { reduceEventSources, initEventSources, reduceEventSourcesNewTimeZone, computeEventSourcesLoading } from './eventSources'\nimport { reduceEventStore, rezoneEventStoreDates } from './eventStore'\nimport { reduceDateSelection } from './date-selection'\nimport { reduceSelectedEvent } from './selected-event'\nimport { reduceEventDrag } from './event-drag'\nimport { reduceEventResize } from './event-resize'\nimport { Emitter } from '../common/Emitter'\nimport { EventUiHash, EventUi, createEventUi } from '../component/event-ui'\nimport { EventDefHash } from '../structs/event-def'\nimport { parseToolbars } from '../toolbar-parse'\nimport {\n CalendarOptionsRefined, CalendarOptions,\n CALENDAR_OPTION_REFINERS, COMPLEX_OPTION_COMPARATORS,\n ViewOptions, ViewOptionsRefined,\n BASE_OPTION_DEFAULTS, mergeRawOptions,\n BASE_OPTION_REFINERS, VIEW_OPTION_REFINERS,\n CalendarListeners, CALENDAR_LISTENER_REFINERS, Dictionary,\n} from '../options'\nimport { rangeContainsMarker } from '../datelib/date-range'\nimport { ViewApi } from '../ViewApi'\nimport { parseBusinessHours } from '../structs/business-hours'\nimport { globalPlugins } from '../global-plugins'\nimport { createEmptyEventStore } from '../structs/event-store'\nimport { CalendarContext } from '../CalendarContext'\nimport { CalendarDataManagerState, CalendarOptionsData, CalendarCurrentViewData, CalendarData } from './data-types'\nimport { TaskRunner } from '../util/TaskRunner'\nimport { buildTitle } from './title-formatting'\n\nexport interface CalendarDataManagerProps {\n optionOverrides: CalendarOptions\n calendarApi: CalendarApi\n onAction?: (action: Action) => void\n onData?: (data: CalendarData) => void\n}\n\nexport type ReducerFunc = ( // TODO: rename to CalendarDataInjector. move view-props-manip hook here as well?\n currentState: Dictionary | null,\n action: Action | null,\n context: CalendarContext & CalendarDataManagerState // more than just context\n) => Dictionary\n\n// in future refactor, do the redux-style function(state=initial) for initial-state\n// also, whatever is happening in constructor, have it happen in action queue too\n\nexport class CalendarDataManager {\n private computeOptionsData = memoize(this._computeOptionsData)\n private computeCurrentViewData = memoize(this._computeCurrentViewData)\n private organizeRawLocales = memoize(organizeRawLocales)\n private buildLocale = memoize(buildLocale)\n private buildPluginHooks = buildBuildPluginHooks()\n private buildDateEnv = memoize(buildDateEnv)\n private buildTheme = memoize(buildTheme)\n private parseToolbars = memoize(parseToolbars)\n private buildViewSpecs = memoize(buildViewSpecs)\n private buildDateProfileGenerator = memoizeObjArg(buildDateProfileGenerator)\n private buildViewApi = memoize(buildViewApi)\n private buildViewUiProps = memoizeObjArg(buildViewUiProps)\n private buildEventUiBySource = memoize(buildEventUiBySource, isPropsEqual)\n private buildEventUiBases = memoize(buildEventUiBases)\n private parseContextBusinessHours = memoizeObjArg(parseContextBusinessHours)\n private buildTitle = memoize(buildTitle)\n\n public emitter = new Emitter()\n private actionRunner = new TaskRunner(this._handleAction.bind(this), this.updateData.bind(this))\n private props: CalendarDataManagerProps\n private state: CalendarDataManagerState\n private data: CalendarData\n\n public currentCalendarOptionsInput: CalendarOptions = {}\n private currentCalendarOptionsRefined: CalendarOptionsRefined = ({} as any)\n private currentViewOptionsInput: ViewOptions = {}\n private currentViewOptionsRefined: ViewOptionsRefined = ({} as any)\n public currentCalendarOptionsRefiners: any = {}\n\n constructor(props: CalendarDataManagerProps) {\n this.props = props\n this.actionRunner.pause()\n\n let dynamicOptionOverrides: CalendarOptions = {}\n let optionsData = this.computeOptionsData(\n props.optionOverrides,\n dynamicOptionOverrides,\n props.calendarApi,\n )\n\n let currentViewType = optionsData.calendarOptions.initialView || optionsData.pluginHooks.initialView\n let currentViewData = this.computeCurrentViewData(\n currentViewType,\n optionsData,\n props.optionOverrides,\n dynamicOptionOverrides,\n )\n\n // wire things up\n // TODO: not DRY\n props.calendarApi.currentDataManager = this\n this.emitter.setThisContext(props.calendarApi)\n this.emitter.setOptions(currentViewData.options)\n\n let currentDate = getInitialDate(optionsData.calendarOptions, optionsData.dateEnv)\n let dateProfile = currentViewData.dateProfileGenerator.build(currentDate)\n\n if (!rangeContainsMarker(dateProfile.activeRange, currentDate)) {\n currentDate = dateProfile.currentRange.start\n }\n\n let calendarContext: CalendarContext = {\n dateEnv: optionsData.dateEnv,\n options: optionsData.calendarOptions,\n pluginHooks: optionsData.pluginHooks,\n calendarApi: props.calendarApi,\n dispatch: this.dispatch,\n emitter: this.emitter,\n getCurrentData: this.getCurrentData,\n }\n\n // needs to be after setThisContext\n for (let callback of optionsData.pluginHooks.contextInit) {\n callback(calendarContext)\n }\n\n // NOT DRY\n let eventSources = initEventSources(optionsData.calendarOptions, dateProfile, calendarContext)\n\n let initialState: CalendarDataManagerState = {\n dynamicOptionOverrides,\n currentViewType,\n currentDate,\n dateProfile,\n businessHours: this.parseContextBusinessHours(calendarContext), // weird to have this in state\n eventSources,\n eventUiBases: {},\n eventStore: createEmptyEventStore(),\n renderableEventStore: createEmptyEventStore(),\n dateSelection: null,\n eventSelection: '',\n eventDrag: null,\n eventResize: null,\n selectionConfig: this.buildViewUiProps(calendarContext).selectionConfig,\n }\n let contextAndState = { ...calendarContext, ...initialState }\n\n for (let reducer of optionsData.pluginHooks.reducers) {\n __assign(initialState, reducer(null, null, contextAndState))\n }\n\n if (computeIsLoading(initialState, calendarContext)) {\n this.emitter.trigger('loading', true) // NOT DRY\n }\n\n this.state = initialState\n this.updateData()\n this.actionRunner.resume()\n }\n\n getCurrentData = () => this.data\n\n dispatch = (action: Action) => {\n this.actionRunner.request(action) // protects against recursive calls to _handleAction\n }\n\n resetOptions(optionOverrides: CalendarOptions, append?: boolean) {\n let { props } = this\n\n props.optionOverrides = append\n ? { ...props.optionOverrides, ...optionOverrides }\n : optionOverrides\n\n this.actionRunner.request({ // hack. will cause updateData\n type: 'NOTHING',\n })\n }\n\n _handleAction(action: Action) {\n let { props, state, emitter } = this\n\n let dynamicOptionOverrides = reduceDynamicOptionOverrides(state.dynamicOptionOverrides, action)\n let optionsData = this.computeOptionsData(\n props.optionOverrides,\n dynamicOptionOverrides,\n props.calendarApi,\n )\n\n let currentViewType = reduceViewType(state.currentViewType, action)\n let currentViewData = this.computeCurrentViewData(\n currentViewType,\n optionsData,\n props.optionOverrides,\n dynamicOptionOverrides,\n )\n\n // wire things up\n // TODO: not DRY\n props.calendarApi.currentDataManager = this\n emitter.setThisContext(props.calendarApi)\n emitter.setOptions(currentViewData.options)\n\n let calendarContext: CalendarContext = {\n dateEnv: optionsData.dateEnv,\n options: optionsData.calendarOptions,\n pluginHooks: optionsData.pluginHooks,\n calendarApi: props.calendarApi,\n dispatch: this.dispatch,\n emitter,\n getCurrentData: this.getCurrentData,\n }\n\n let { currentDate, dateProfile } = state\n\n if (this.data && this.data.dateProfileGenerator !== currentViewData.dateProfileGenerator) { // hack\n dateProfile = currentViewData.dateProfileGenerator.build(currentDate)\n }\n\n currentDate = reduceCurrentDate(currentDate, action)\n dateProfile = reduceDateProfile(dateProfile, action, currentDate, currentViewData.dateProfileGenerator)\n\n if (\n action.type === 'PREV' || // TODO: move this logic into DateProfileGenerator\n action.type === 'NEXT' || // \"\n !rangeContainsMarker(dateProfile.currentRange, currentDate)\n ) {\n currentDate = dateProfile.currentRange.start\n }\n\n let eventSources = reduceEventSources(state.eventSources, action, dateProfile, calendarContext)\n let eventStore = reduceEventStore(state.eventStore, action, eventSources, dateProfile, calendarContext)\n let isEventsLoading = computeEventSourcesLoading(eventSources) // BAD. also called in this func in computeIsLoading\n\n let renderableEventStore =\n (isEventsLoading && !currentViewData.options.progressiveEventRendering) ?\n (state.renderableEventStore || eventStore) : // try from previous state\n eventStore\n\n let { eventUiSingleBase, selectionConfig } = this.buildViewUiProps(calendarContext) // will memoize obj\n let eventUiBySource = this.buildEventUiBySource(eventSources)\n let eventUiBases = this.buildEventUiBases(renderableEventStore.defs, eventUiSingleBase, eventUiBySource)\n\n let newState: CalendarDataManagerState = {\n dynamicOptionOverrides,\n currentViewType,\n currentDate,\n dateProfile,\n eventSources,\n eventStore,\n renderableEventStore,\n selectionConfig,\n eventUiBases,\n businessHours: this.parseContextBusinessHours(calendarContext), // will memoize obj\n dateSelection: reduceDateSelection(state.dateSelection, action),\n eventSelection: reduceSelectedEvent(state.eventSelection, action),\n eventDrag: reduceEventDrag(state.eventDrag, action),\n eventResize: reduceEventResize(state.eventResize, action),\n }\n let contextAndState = { ...calendarContext, ...newState }\n\n for (let reducer of optionsData.pluginHooks.reducers) {\n __assign(newState, reducer(state, action, contextAndState)) // give the OLD state, for old value\n }\n\n let wasLoading = computeIsLoading(state, calendarContext)\n let isLoading = computeIsLoading(newState, calendarContext)\n\n // TODO: use propSetHandlers in plugin system\n if (!wasLoading && isLoading) {\n emitter.trigger('loading', true)\n } else if (wasLoading && !isLoading) {\n emitter.trigger('loading', false)\n }\n\n this.state = newState\n\n if (props.onAction) {\n props.onAction(action)\n }\n }\n\n updateData() {\n let { props, state } = this\n let oldData = this.data\n\n let optionsData = this.computeOptionsData(\n props.optionOverrides,\n state.dynamicOptionOverrides,\n props.calendarApi,\n )\n\n let currentViewData = this.computeCurrentViewData(\n state.currentViewType,\n optionsData,\n props.optionOverrides,\n state.dynamicOptionOverrides,\n )\n\n let data: CalendarData = this.data = {\n viewTitle: this.buildTitle(state.dateProfile, currentViewData.options, optionsData.dateEnv),\n calendarApi: props.calendarApi,\n dispatch: this.dispatch,\n emitter: this.emitter,\n getCurrentData: this.getCurrentData,\n ...optionsData,\n ...currentViewData,\n ...state,\n }\n\n let changeHandlers = optionsData.pluginHooks.optionChangeHandlers\n let oldCalendarOptions = oldData && oldData.calendarOptions\n let newCalendarOptions = optionsData.calendarOptions\n\n if (oldCalendarOptions && oldCalendarOptions !== newCalendarOptions) {\n if (oldCalendarOptions.timeZone !== newCalendarOptions.timeZone) {\n // hack\n state.eventSources = data.eventSources = reduceEventSourcesNewTimeZone(data.eventSources, state.dateProfile, data)\n state.eventStore = data.eventStore = rezoneEventStoreDates(data.eventStore, oldData.dateEnv, data.dateEnv)\n }\n\n for (let optionName in changeHandlers) {\n if (oldCalendarOptions[optionName] !== newCalendarOptions[optionName]) {\n changeHandlers[optionName](newCalendarOptions[optionName], data)\n }\n }\n }\n\n if (props.onData) {\n props.onData(data)\n }\n }\n\n _computeOptionsData(\n optionOverrides: CalendarOptions,\n dynamicOptionOverrides: CalendarOptions,\n calendarApi: CalendarApi,\n ): CalendarOptionsData {\n // TODO: blacklist options that are handled by optionChangeHandlers\n\n let {\n refinedOptions, pluginHooks, localeDefaults, availableLocaleData, extra,\n } = this.processRawCalendarOptions(optionOverrides, dynamicOptionOverrides)\n\n warnUnknownOptions(extra)\n\n let dateEnv = this.buildDateEnv(\n refinedOptions.timeZone,\n refinedOptions.locale,\n refinedOptions.weekNumberCalculation,\n refinedOptions.firstDay,\n refinedOptions.weekText,\n pluginHooks,\n availableLocaleData,\n refinedOptions.defaultRangeSeparator,\n )\n\n let viewSpecs = this.buildViewSpecs(pluginHooks.views, optionOverrides, dynamicOptionOverrides, localeDefaults)\n let theme = this.buildTheme(refinedOptions, pluginHooks)\n let toolbarConfig = this.parseToolbars(refinedOptions, optionOverrides, theme, viewSpecs, calendarApi)\n\n return {\n calendarOptions: refinedOptions,\n pluginHooks,\n dateEnv,\n viewSpecs,\n theme,\n toolbarConfig,\n localeDefaults,\n availableRawLocales: availableLocaleData.map,\n }\n }\n\n // always called from behind a memoizer\n processRawCalendarOptions(optionOverrides: CalendarOptions, dynamicOptionOverrides: CalendarOptions) {\n let { locales, locale } = mergeRawOptions([\n BASE_OPTION_DEFAULTS,\n optionOverrides,\n dynamicOptionOverrides,\n ])\n let availableLocaleData = this.organizeRawLocales(locales)\n let availableRawLocales = availableLocaleData.map\n let localeDefaults = this.buildLocale(locale || availableLocaleData.defaultCode, availableRawLocales).options\n let pluginHooks = this.buildPluginHooks(optionOverrides.plugins || [], globalPlugins)\n let refiners = this.currentCalendarOptionsRefiners = {\n ...BASE_OPTION_REFINERS,\n ...CALENDAR_LISTENER_REFINERS,\n ...CALENDAR_OPTION_REFINERS,\n ...pluginHooks.listenerRefiners,\n ...pluginHooks.optionRefiners,\n }\n let extra = {}\n\n let raw = mergeRawOptions([\n BASE_OPTION_DEFAULTS,\n localeDefaults,\n optionOverrides,\n dynamicOptionOverrides,\n ])\n let refined: Partial = {}\n let currentRaw = this.currentCalendarOptionsInput\n let currentRefined = this.currentCalendarOptionsRefined\n let anyChanges = false\n\n for (let optionName in raw) {\n if (optionName !== 'plugins') { // because plugins is special-cased\n if (\n raw[optionName] === currentRaw[optionName] ||\n (\n COMPLEX_OPTION_COMPARATORS[optionName] &&\n (optionName in currentRaw) &&\n COMPLEX_OPTION_COMPARATORS[optionName](currentRaw[optionName], raw[optionName])\n )\n ) {\n refined[optionName] = currentRefined[optionName]\n } else if (refiners[optionName]) {\n refined[optionName] = refiners[optionName](raw[optionName])\n anyChanges = true\n } else {\n extra[optionName] = currentRaw[optionName]\n }\n }\n }\n\n if (anyChanges) {\n this.currentCalendarOptionsInput = raw\n this.currentCalendarOptionsRefined = refined as CalendarOptionsRefined\n }\n\n return {\n rawOptions: this.currentCalendarOptionsInput,\n refinedOptions: this.currentCalendarOptionsRefined,\n pluginHooks,\n availableLocaleData,\n localeDefaults,\n extra,\n }\n }\n\n _computeCurrentViewData(\n viewType: string,\n optionsData: CalendarOptionsData,\n optionOverrides: CalendarOptions,\n dynamicOptionOverrides: CalendarOptions,\n ): CalendarCurrentViewData {\n let viewSpec = optionsData.viewSpecs[viewType]\n\n if (!viewSpec) {\n throw new Error(`viewType \"${viewType}\" is not available. Please make sure you've loaded all neccessary plugins`)\n }\n\n let { refinedOptions, extra } = this.processRawViewOptions(\n viewSpec,\n optionsData.pluginHooks,\n optionsData.localeDefaults,\n optionOverrides,\n dynamicOptionOverrides,\n )\n\n warnUnknownOptions(extra)\n\n let dateProfileGenerator = this.buildDateProfileGenerator({\n dateProfileGeneratorClass: viewSpec.optionDefaults.dateProfileGeneratorClass as any,\n duration: viewSpec.duration,\n durationUnit: viewSpec.durationUnit,\n usesMinMaxTime: viewSpec.optionDefaults.usesMinMaxTime as any,\n dateEnv: optionsData.dateEnv,\n calendarApi: this.props.calendarApi, // should come from elsewhere?\n slotMinTime: refinedOptions.slotMinTime,\n slotMaxTime: refinedOptions.slotMaxTime,\n showNonCurrentDates: refinedOptions.showNonCurrentDates,\n dayCount: refinedOptions.dayCount,\n dateAlignment: refinedOptions.dateAlignment,\n dateIncrement: refinedOptions.dateIncrement,\n hiddenDays: refinedOptions.hiddenDays,\n weekends: refinedOptions.weekends,\n nowInput: refinedOptions.now,\n validRangeInput: refinedOptions.validRange,\n visibleRangeInput: refinedOptions.visibleRange,\n monthMode: refinedOptions.monthMode,\n fixedWeekCount: refinedOptions.fixedWeekCount,\n })\n\n let viewApi = this.buildViewApi(viewType, this.getCurrentData, optionsData.dateEnv)\n\n return { viewSpec, options: refinedOptions, dateProfileGenerator, viewApi }\n }\n\n processRawViewOptions(\n viewSpec: ViewSpec,\n pluginHooks: PluginHooks,\n localeDefaults: CalendarOptions,\n optionOverrides: CalendarOptions,\n dynamicOptionOverrides: CalendarOptions,\n ) {\n let raw = mergeRawOptions([\n BASE_OPTION_DEFAULTS,\n viewSpec.optionDefaults,\n localeDefaults,\n optionOverrides,\n viewSpec.optionOverrides,\n dynamicOptionOverrides,\n ])\n let refiners = {\n ...BASE_OPTION_REFINERS,\n ...CALENDAR_LISTENER_REFINERS,\n ...CALENDAR_OPTION_REFINERS,\n ...VIEW_OPTION_REFINERS,\n ...pluginHooks.listenerRefiners,\n ...pluginHooks.optionRefiners,\n }\n let refined: Partial = {}\n let currentRaw = this.currentViewOptionsInput\n let currentRefined = this.currentViewOptionsRefined\n let anyChanges = false\n let extra = {}\n\n for (let optionName in raw) {\n if (\n raw[optionName] === currentRaw[optionName] ||\n (COMPLEX_OPTION_COMPARATORS[optionName] &&\n COMPLEX_OPTION_COMPARATORS[optionName](raw[optionName], currentRaw[optionName]))\n ) {\n refined[optionName] = currentRefined[optionName]\n } else {\n if (\n raw[optionName] === this.currentCalendarOptionsInput[optionName] ||\n (COMPLEX_OPTION_COMPARATORS[optionName] &&\n COMPLEX_OPTION_COMPARATORS[optionName](raw[optionName], this.currentCalendarOptionsInput[optionName]))\n ) {\n if (optionName in this.currentCalendarOptionsRefined) { // might be an \"extra\" prop\n refined[optionName] = this.currentCalendarOptionsRefined[optionName]\n }\n } else if (refiners[optionName]) {\n refined[optionName] = refiners[optionName](raw[optionName])\n } else {\n extra[optionName] = raw[optionName]\n }\n\n anyChanges = true\n }\n }\n\n if (anyChanges) {\n this.currentViewOptionsInput = raw\n this.currentViewOptionsRefined = refined as ViewOptionsRefined\n }\n\n return {\n rawOptions: this.currentViewOptionsInput,\n refinedOptions: this.currentViewOptionsRefined,\n extra,\n }\n }\n}\n\nfunction buildDateEnv(\n timeZone: string,\n explicitLocale: LocaleSingularArg,\n weekNumberCalculation,\n firstDay: number | undefined,\n weekText,\n pluginHooks: PluginHooks,\n availableLocaleData: RawLocaleInfo,\n defaultSeparator: string,\n) {\n let locale = buildLocale(explicitLocale || availableLocaleData.defaultCode, availableLocaleData.map)\n\n return new DateEnv({\n calendarSystem: 'gregory', // TODO: make this a setting\n timeZone,\n namedTimeZoneImpl: pluginHooks.namedTimeZonedImpl,\n locale,\n weekNumberCalculation,\n firstDay,\n weekText,\n cmdFormatter: pluginHooks.cmdFormatter,\n defaultSeparator,\n })\n}\n\nfunction buildTheme(options: CalendarOptionsRefined, pluginHooks: PluginHooks) {\n let ThemeClass = pluginHooks.themeClasses[options.themeSystem] || StandardTheme\n\n return new ThemeClass(options)\n}\n\nfunction buildDateProfileGenerator(props: DateProfileGeneratorProps): DateProfileGenerator {\n let DateProfileGeneratorClass = props.dateProfileGeneratorClass || DateProfileGenerator\n\n return new DateProfileGeneratorClass(props)\n}\n\nfunction buildViewApi(type: string, getCurrentData: () => CalendarData, dateEnv: DateEnv) {\n return new ViewApi(type, getCurrentData, dateEnv)\n}\n\nfunction buildEventUiBySource(eventSources: EventSourceHash): EventUiHash {\n return mapHash(eventSources, (eventSource) => eventSource.ui)\n}\n\nfunction buildEventUiBases(eventDefs: EventDefHash, eventUiSingleBase: EventUi, eventUiBySource: EventUiHash) {\n let eventUiBases: EventUiHash = { '': eventUiSingleBase }\n\n for (let defId in eventDefs) {\n let def = eventDefs[defId]\n\n if (def.sourceId && eventUiBySource[def.sourceId]) {\n eventUiBases[defId] = eventUiBySource[def.sourceId]\n }\n }\n\n return eventUiBases\n}\n\nfunction buildViewUiProps(calendarContext: CalendarContext) {\n let { options } = calendarContext\n\n return {\n eventUiSingleBase: createEventUi(\n {\n display: options.eventDisplay,\n editable: options.editable, // without \"event\" at start\n startEditable: options.eventStartEditable,\n durationEditable: options.eventDurationEditable,\n constraint: options.eventConstraint,\n overlap: typeof options.eventOverlap === 'boolean' ? options.eventOverlap : undefined,\n allow: options.eventAllow,\n backgroundColor: options.eventBackgroundColor,\n borderColor: options.eventBorderColor,\n textColor: options.eventTextColor,\n color: options.eventColor,\n // classNames: options.eventClassNames // render hook will handle this\n },\n calendarContext,\n ),\n selectionConfig: createEventUi(\n {\n constraint: options.selectConstraint,\n overlap: typeof options.selectOverlap === 'boolean' ? options.selectOverlap : undefined,\n allow: options.selectAllow,\n },\n calendarContext,\n ),\n }\n}\n\nfunction computeIsLoading(state: CalendarDataManagerState, context: CalendarContext) {\n for (let isLoadingFunc of context.pluginHooks.isLoadingFuncs) {\n if (isLoadingFunc(state)) {\n return true\n }\n }\n\n return false\n}\n\nfunction parseContextBusinessHours(calendarContext: CalendarContext) {\n return parseBusinessHours(calendarContext.options.businessHours, calendarContext)\n}\n\nfunction warnUnknownOptions(options: any, viewName?: string) {\n for (let optionName in options) {\n console.warn(\n `Unknown option '${optionName}'` +\n (viewName ? ` for view '${viewName}'` : ''),\n )\n }\n}\n","import { Action } from './Action'\n\nexport function reduceDynamicOptionOverrides(dynamicOptionOverrides, action: Action) {\n switch (action.type) {\n case 'SET_OPTION':\n return { ...dynamicOptionOverrides, [action.optionName]: action.rawOptionValue }\n default:\n return dynamicOptionOverrides\n }\n}\n","import { Action } from './Action'\n\nexport function reduceViewType(viewType: string, action: Action): string {\n switch (action.type) {\n case 'CHANGE_VIEW_TYPE':\n viewType = action.viewType\n }\n\n return viewType\n}\n","import { DateProfile, DateProfileGenerator } from '../DateProfileGenerator'\nimport { Action } from './Action'\nimport { DateMarker } from '../datelib/marker'\n\nexport function reduceDateProfile(\n currentDateProfile: DateProfile | null,\n action: Action,\n currentDate: DateMarker,\n dateProfileGenerator: DateProfileGenerator,\n): DateProfile {\n let dp: DateProfile\n\n switch (action.type) {\n case 'CHANGE_VIEW_TYPE':\n return dateProfileGenerator.build(action.dateMarker || currentDate)\n\n case 'CHANGE_DATE':\n return dateProfileGenerator.build(action.dateMarker)\n\n case 'PREV':\n dp = dateProfileGenerator.buildPrev(currentDateProfile, currentDate)\n if (dp.isValid) {\n return dp\n }\n break\n\n case 'NEXT':\n dp = dateProfileGenerator.buildNext(currentDateProfile, currentDate)\n if (dp.isValid) {\n return dp\n }\n break\n }\n\n return currentDateProfile\n}\n","import { Component, ComponentChildren } from '../vdom'\nimport { CalendarDataManager } from '../reducers/CalendarDataManager'\nimport { CalendarApi } from '../CalendarApi'\nimport { CalendarData } from '../reducers/data-types'\n\nexport interface CalendarDataProviderProps {\n optionOverrides: any\n calendarApi: CalendarApi\n children?: (data: CalendarData) => ComponentChildren\n}\n\n// TODO: move this to react plugin?\nexport class CalendarDataProvider extends Component {\n dataManager: CalendarDataManager\n\n constructor(props: CalendarDataProviderProps) {\n super(props)\n\n this.dataManager = new CalendarDataManager({\n optionOverrides: props.optionOverrides,\n calendarApi: props.calendarApi,\n onData: this.handleData,\n })\n }\n\n handleData = (data: CalendarData) => {\n if (!this.dataManager) { // still within initial run, before assignment in constructor\n // eslint-disable-next-line react/no-direct-mutation-state\n this.state = data // can't use setState yet\n } else {\n this.setState(data)\n }\n }\n\n render() {\n return this.props.children(this.state)\n }\n\n componentDidUpdate(prevProps: CalendarDataProviderProps) {\n let newOptionOverrides = this.props.optionOverrides\n\n if (newOptionOverrides !== prevProps.optionOverrides) { // prevent recursive handleData\n this.dataManager.resetOptions(newOptionOverrides)\n }\n }\n}\n","export interface SegSpan {\n start: number\n end: number\n}\n\nexport interface SegEntry {\n index: number\n thickness: number // should be an integer\n span: SegSpan\n}\n\n// used internally. exposed for subclasses of SegHierarchy\nexport interface SegInsertion {\n level: number // will have an equal coord, or slightly before, entries in existing level\n levelCoord: number\n lateral: number // where to insert in the existing level. -1 if creating a new level\n touchingLevel: number // -1 if no touching\n touchingLateral: number // -1 if no touching\n touchingEntry: SegEntry // the last touching entry in the level\n stackCnt: number\n}\n\nexport interface SegRect extends SegEntry {\n levelCoord: number\n}\n\nexport interface SegEntryGroup {\n entries: SegEntry[]\n span: SegSpan\n}\n\nexport class SegHierarchy {\n // settings\n strictOrder: boolean = false\n allowReslicing: boolean = false\n maxCoord: number = -1 // -1 means no max\n maxStackCnt: number = -1 // -1 means no max\n\n levelCoords: number[] = [] // ordered\n entriesByLevel: SegEntry[][] = [] // parallel with levelCoords\n stackCnts: { [entryId: string]: number } = {} // TODO: use better technique!?\n\n addSegs(inputs: SegEntry[]): SegEntry[] {\n let hiddenEntries: SegEntry[] = []\n\n for (let input of inputs) {\n this.insertEntry(input, hiddenEntries)\n }\n\n return hiddenEntries\n }\n\n insertEntry(entry: SegEntry, hiddenEntries: SegEntry[]): number {\n let insertion = this.findInsertion(entry)\n\n if (this.isInsertionValid(insertion, entry)) {\n this.insertEntryAt(entry, insertion)\n return 1\n }\n\n return this.handleInvalidInsertion(insertion, entry, hiddenEntries)\n }\n\n isInsertionValid(insertion: SegInsertion, entry: SegEntry): boolean {\n return (this.maxCoord === -1 || insertion.levelCoord + entry.thickness <= this.maxCoord) &&\n (this.maxStackCnt === -1 || insertion.stackCnt < this.maxStackCnt)\n }\n\n // returns number of new entries inserted\n handleInvalidInsertion(insertion: SegInsertion, entry: SegEntry, hiddenEntries: SegEntry[]): number {\n if (this.allowReslicing && insertion.touchingEntry) {\n return this.splitEntry(entry, insertion.touchingEntry, hiddenEntries)\n }\n\n hiddenEntries.push(entry)\n return 0\n }\n\n splitEntry(entry: SegEntry, barrier: SegEntry, hiddenEntries: SegEntry[]): number {\n let partCnt = 0\n let splitHiddenEntries: SegEntry[] = []\n let entrySpan = entry.span\n let barrierSpan = barrier.span\n\n if (entrySpan.start < barrierSpan.start) {\n partCnt += this.insertEntry({\n index: entry.index,\n thickness: entry.thickness,\n span: { start: entrySpan.start, end: barrierSpan.start },\n }, splitHiddenEntries)\n }\n\n if (entrySpan.end > barrierSpan.end) {\n partCnt += this.insertEntry({\n index: entry.index,\n thickness: entry.thickness,\n span: { start: barrierSpan.end, end: entrySpan.end },\n }, splitHiddenEntries)\n }\n\n if (partCnt) {\n hiddenEntries.push({\n index: entry.index,\n thickness: entry.thickness,\n span: intersectSpans(barrierSpan, entrySpan), // guaranteed to intersect\n }, ...splitHiddenEntries)\n return partCnt\n }\n\n hiddenEntries.push(entry)\n return 0\n }\n\n insertEntryAt(entry: SegEntry, insertion: SegInsertion): void {\n let { entriesByLevel, levelCoords } = this\n\n if (insertion.lateral === -1) {\n // create a new level\n insertAt(levelCoords, insertion.level, insertion.levelCoord)\n insertAt(entriesByLevel, insertion.level, [entry])\n } else {\n // insert into existing level\n insertAt(entriesByLevel[insertion.level], insertion.lateral, entry)\n }\n\n this.stackCnts[buildEntryKey(entry)] = insertion.stackCnt\n }\n\n findInsertion(newEntry: SegEntry): SegInsertion {\n let { levelCoords, entriesByLevel, strictOrder, stackCnts } = this\n let levelCnt = levelCoords.length\n let candidateCoord = 0\n let touchingLevel: number = -1\n let touchingLateral: number = -1\n let touchingEntry: SegEntry = null\n let stackCnt = 0\n\n for (let trackingLevel = 0; trackingLevel < levelCnt; trackingLevel += 1) {\n let trackingCoord = levelCoords[trackingLevel]\n\n // if the current level is past the placed entry, we have found a good empty space and can stop.\n // if strictOrder, keep finding more lateral intersections.\n if (!strictOrder && trackingCoord >= candidateCoord + newEntry.thickness) {\n break\n }\n\n let trackingEntries = entriesByLevel[trackingLevel]\n let trackingEntry: SegEntry\n let searchRes = binarySearch(trackingEntries, newEntry.span.start, getEntrySpanEnd) // find first entry after newEntry's end\n let lateralIndex = searchRes[0] + searchRes[1] // if exact match (which doesn't collide), go to next one\n\n while ( // loop through entries that horizontally intersect\n (trackingEntry = trackingEntries[lateralIndex]) && // but not past the whole entry list\n trackingEntry.span.start < newEntry.span.end // and not entirely past newEntry\n ) {\n let trackingEntryBottom = trackingCoord + trackingEntry.thickness\n // intersects into the top of the candidate?\n if (trackingEntryBottom > candidateCoord) {\n candidateCoord = trackingEntryBottom\n touchingEntry = trackingEntry\n touchingLevel = trackingLevel\n touchingLateral = lateralIndex\n }\n // butts up against top of candidate? (will happen if just intersected as well)\n if (trackingEntryBottom === candidateCoord) {\n // accumulate the highest possible stackCnt of the trackingEntries that butt up\n stackCnt = Math.max(stackCnt, stackCnts[buildEntryKey(trackingEntry)] + 1)\n }\n lateralIndex += 1\n }\n }\n\n // the destination level will be after touchingEntry's level. find it\n let destLevel = 0\n if (touchingEntry) {\n destLevel = touchingLevel + 1\n while (destLevel < levelCnt && levelCoords[destLevel] < candidateCoord) {\n destLevel += 1\n }\n }\n\n // if adding to an existing level, find where to insert\n let destLateral = -1\n if (destLevel < levelCnt && levelCoords[destLevel] === candidateCoord) {\n destLateral = binarySearch(entriesByLevel[destLevel], newEntry.span.end, getEntrySpanEnd)[0]\n }\n\n return {\n touchingLevel,\n touchingLateral,\n touchingEntry,\n stackCnt,\n levelCoord: candidateCoord,\n level: destLevel,\n lateral: destLateral,\n }\n }\n\n // sorted by levelCoord (lowest to highest)\n toRects(): SegRect[] {\n let { entriesByLevel, levelCoords } = this\n let levelCnt = entriesByLevel.length\n let rects: SegRect[] = []\n\n for (let level = 0; level < levelCnt; level += 1) {\n let entries = entriesByLevel[level]\n let levelCoord = levelCoords[level]\n\n for (let entry of entries) {\n rects.push({ ...entry, levelCoord })\n }\n }\n\n return rects\n }\n}\n\nexport function getEntrySpanEnd(entry: SegEntry) {\n return entry.span.end\n}\n\nexport function buildEntryKey(entry: SegEntry) { // TODO: use Map instead?\n return entry.index + ':' + entry.span.start\n}\n\n// returns groups with entries sorted by input order\nexport function groupIntersectingEntries(entries: SegEntry[]): SegEntryGroup[] {\n let merges: SegEntryGroup[] = []\n\n for (let entry of entries) {\n let filteredMerges: SegEntryGroup[] = []\n let hungryMerge: SegEntryGroup = { // the merge that will eat what it collides with\n span: entry.span,\n entries: [entry],\n }\n\n for (let merge of merges) {\n if (intersectSpans(merge.span, hungryMerge.span)) {\n hungryMerge = {\n entries: merge.entries.concat(hungryMerge.entries), // keep preexisting merge's items first. maintains order\n span: joinSpans(merge.span, hungryMerge.span),\n }\n } else {\n filteredMerges.push(merge)\n }\n }\n\n filteredMerges.push(hungryMerge)\n merges = filteredMerges\n }\n\n return merges\n}\n\nexport function joinSpans(span0: SegSpan, span1: SegSpan): SegSpan {\n return {\n start: Math.min(span0.start, span1.start),\n end: Math.max(span0.end, span1.end),\n }\n}\n\nexport function intersectSpans(span0: SegSpan, span1: SegSpan): SegSpan | null {\n let start = Math.max(span0.start, span1.start)\n let end = Math.min(span0.end, span1.end)\n\n if (start < end) {\n return { start, end }\n }\n\n return null\n}\n\n// general util\n// ---------------------------------------------------------------------------------------------------------------------\n\nfunction insertAt(arr: Item[], index: number, item: Item) {\n arr.splice(index, 0, item)\n}\n\nexport function binarySearch(\n a: Item[],\n searchVal: number,\n getItemVal: (item: Item) => number,\n): [number, number] { // returns [level, isExactMatch ? 1 : 0]\n let startIndex = 0\n let endIndex = a.length // exclusive\n\n if (!endIndex || searchVal < getItemVal(a[startIndex])) { // no items OR before first item\n return [0, 0]\n }\n if (searchVal > getItemVal(a[endIndex - 1])) { // after last item\n return [endIndex, 0]\n }\n\n while (startIndex < endIndex) {\n let middleIndex = Math.floor(startIndex + (endIndex - startIndex) / 2)\n let middleVal = getItemVal(a[middleIndex])\n\n if (searchVal < middleVal) {\n endIndex = middleIndex\n } else if (searchVal > middleVal) {\n startIndex = middleIndex + 1\n } else { // equal!\n return [middleIndex, 1]\n }\n }\n\n return [startIndex, 0]\n}\n","import { DateComponent } from '../component/DateComponent'\nimport { Hit } from './hit'\n\nexport abstract class Interaction {\n component: DateComponent\n isHitComboAllowed: ((hit0: Hit, hit1: Hit) => boolean) | null\n\n constructor(settings: InteractionSettings) {\n this.component = settings.component\n this.isHitComboAllowed = settings.isHitComboAllowed || null\n }\n\n destroy() {\n }\n}\n\nexport type InteractionClass = { new(settings: InteractionSettings): Interaction }\n\nexport interface InteractionSettingsInput {\n el: HTMLElement\n useEventCenter?: boolean\n isHitComboAllowed?: (hit0: Hit, hit1: Hit) => boolean\n}\n\nexport interface InteractionSettings {\n component: DateComponent\n el: HTMLElement\n useEventCenter: boolean\n isHitComboAllowed: ((hit0: Hit, hit1: Hit) => boolean) | null\n}\n\nexport type InteractionSettingsStore = { [componenUid: string]: InteractionSettings }\n\nexport function parseInteractionSettings(component: DateComponent, input: InteractionSettingsInput): InteractionSettings {\n return {\n component,\n el: input.el,\n useEventCenter: input.useEventCenter != null ? input.useEventCenter : true,\n isHitComboAllowed: input.isHitComboAllowed || null,\n }\n}\n\nexport function interactionSettingsToStore(settings: InteractionSettings) {\n return {\n [settings.component.uid]: settings,\n }\n}\n\n// global state\nexport const interactionSettingsStore: InteractionSettingsStore = {}\n","import { Emitter } from '../common/Emitter'\n\n/*\nAn abstraction for a dragging interaction originating on an event.\nDoes higher-level things than PointerDragger, such as possibly:\n- a \"mirror\" that moves with the pointer\n- a minimum number of pixels or other criteria for a true drag to begin\n\nsubclasses must emit:\n- pointerdown\n- dragstart\n- dragmove\n- pointerup\n- dragend\n*/\nexport abstract class ElementDragging { // TODO: rename to *Interface?\n emitter: Emitter\n\n constructor(el: HTMLElement, selector?: string) {\n this.emitter = new Emitter()\n }\n\n destroy() {\n }\n\n // if given true, should prevent dragstart+dragmove+dragend from firing\n abstract setIgnoreMove(bool: boolean): void\n\n setMirrorIsVisible(bool: boolean) {\n // optional if subclass doesn't want to support a mirror\n }\n\n setMirrorNeedsRevert(bool: boolean) {\n // optional if subclass doesn't want to support a mirror\n }\n\n setAutoScrollEnabled(bool: boolean) {\n // optional\n }\n}\n\nexport type ElementDraggingClass = { new(el: HTMLElement, selector?: string): ElementDragging }\n","// TODO: get rid of this in favor of options system,\n// tho it's really easy to access this globally rather than pass thru options.\nexport const config = {} as any\n","import { createDuration, Duration } from '../datelib/duration'\nimport { refineProps, RawOptionsFromRefiners, Dictionary } from '../options'\n\n/*\nInformation about what will happen when an external element is dragged-and-dropped\nonto a calendar. Contains information for creating an event.\n*/\n\nconst DRAG_META_REFINERS = {\n startTime: createDuration,\n duration: createDuration,\n create: Boolean,\n sourceId: String,\n}\n\nexport type DragMetaInput =\n RawOptionsFromRefiners &\n { [otherProp: string]: any } // for leftoverProps\n\nexport interface DragMeta {\n startTime: Duration | null\n duration: Duration | null\n create: boolean // create an event when dropped?\n sourceId: string // similar to addEvent's parameter\n leftoverProps: Dictionary\n}\n\nexport function parseDragMeta(raw: DragMetaInput): DragMeta {\n let { refined, extra } = refineProps(raw, DRAG_META_REFINERS)\n\n return {\n startTime: refined.startTime || null,\n duration: refined.duration || null,\n create: refined.create != null ? refined.create : true,\n sourceId: refined.sourceId,\n leftoverProps: extra,\n }\n}\n","import { createElement, VNode } from './vdom'\nimport { BaseComponent } from './vdom-util'\nimport { ToolbarWidget } from './toolbar-struct'\n\nexport interface ToolbarContent {\n title: string\n titleId: string\n navUnit: string\n activeButton: string\n isTodayEnabled: boolean\n isPrevEnabled: boolean\n isNextEnabled: boolean\n}\n\nexport interface ToolbarSectionProps extends ToolbarContent {\n widgetGroups: ToolbarWidget[][]\n}\n\nexport class ToolbarSection extends BaseComponent {\n render() {\n let children = this.props.widgetGroups.map((widgetGroup) => this.renderWidgetGroup(widgetGroup))\n\n return createElement('div', { className: 'fc-toolbar-chunk' }, ...children)\n }\n\n renderWidgetGroup(widgetGroup: ToolbarWidget[]) {\n let { props } = this\n let { theme } = this.context\n let children: VNode[] = []\n let isOnlyButtons = true\n\n for (let widget of widgetGroup) {\n let { buttonName, buttonClick, buttonText, buttonIcon, buttonHint } = widget\n\n if (buttonName === 'title') {\n isOnlyButtons = false\n children.push(\n

{props.title}

,\n )\n } else {\n let isPressed = buttonName === props.activeButton\n let isDisabled =\n (!props.isTodayEnabled && buttonName === 'today') ||\n (!props.isPrevEnabled && buttonName === 'prev') ||\n (!props.isNextEnabled && buttonName === 'next')\n\n let buttonClasses = [`fc-${buttonName}-button`, theme.getClass('button')]\n if (isPressed) {\n buttonClasses.push(theme.getClass('buttonActive'))\n }\n\n children.push(\n \n {buttonText || (buttonIcon ? : '')}\n ,\n )\n }\n }\n\n if (children.length > 1) {\n let groupClassName = (isOnlyButtons && theme.getClass('buttonGroup')) || ''\n\n return createElement('div', { className: groupClassName }, ...children)\n }\n return children[0]\n }\n}\n","import { createElement } from './vdom'\nimport { BaseComponent } from './vdom-util'\nimport { ToolbarModel, ToolbarWidget } from './toolbar-struct'\nimport { ToolbarSection, ToolbarContent } from './ToolbarSection'\n\nexport interface ToolbarProps extends ToolbarContent {\n extraClassName: string // wish this could be array, but easier for pureness\n model: ToolbarModel\n titleId: string\n}\n\nexport class Toolbar extends BaseComponent {\n render() {\n let { model, extraClassName } = this.props\n let forceLtr = false\n let startContent\n let endContent\n let sectionWidgets = model.sectionWidgets\n let centerContent = sectionWidgets.center\n\n if (sectionWidgets.left) {\n forceLtr = true\n startContent = sectionWidgets.left\n } else {\n startContent = sectionWidgets.start\n }\n\n if (sectionWidgets.right) {\n forceLtr = true\n endContent = sectionWidgets.right\n } else {\n endContent = sectionWidgets.end\n }\n\n let classNames = [\n extraClassName || '',\n 'fc-toolbar',\n forceLtr ? 'fc-toolbar-ltr' : '',\n ]\n\n return (\n
\n {this.renderSection('start', startContent || [])}\n {this.renderSection('center', centerContent || [])}\n {this.renderSection('end', endContent || [])}\n
\n )\n }\n\n renderSection(key: string, widgetGroups: ToolbarWidget[][]) {\n let { props } = this\n\n return (\n \n )\n }\n}\n","import { BaseComponent, setRef } from './vdom-util'\nimport { ComponentChildren, Ref, createElement } from './vdom'\nimport { CssDimValue } from './scrollgrid/util'\n\nexport interface ViewContainerProps {\n labeledById: string\n liquid?: boolean\n height?: CssDimValue\n aspectRatio?: number\n elRef?: Ref\n children?: ComponentChildren\n}\n\ninterface ViewContainerState {\n availableWidth: number | null\n}\n\n// TODO: do function component?\nexport class ViewContainer extends BaseComponent {\n el: HTMLElement\n\n state: ViewContainerState = {\n availableWidth: null,\n }\n\n render() {\n let { props, state } = this\n let { aspectRatio } = props\n\n let classNames = [\n 'fc-view-harness',\n (aspectRatio || props.liquid || props.height)\n ? 'fc-view-harness-active' // harness controls the height\n : 'fc-view-harness-passive', // let the view do the height\n ]\n let height: CssDimValue = ''\n let paddingBottom: CssDimValue = ''\n\n if (aspectRatio) {\n if (state.availableWidth !== null) {\n height = state.availableWidth / aspectRatio\n } else {\n // while waiting to know availableWidth, we can't set height to *zero*\n // because will cause lots of unnecessary scrollbars within scrollgrid.\n // BETTER: don't start rendering ANYTHING yet until we know container width\n // NOTE: why not always use paddingBottom? Causes height oscillation (issue 5606)\n paddingBottom = `${(1 / aspectRatio) * 100}%`\n }\n } else {\n height = props.height || ''\n }\n\n return (\n \n {props.children}\n \n )\n }\n\n componentDidMount() {\n this.context.addResizeHandler(this.handleResize)\n }\n\n componentWillUnmount() {\n this.context.removeResizeHandler(this.handleResize)\n }\n\n handleEl = (el: HTMLElement | null) => {\n this.el = el\n setRef(this.props.elRef, el)\n this.updateAvailableWidth()\n }\n\n handleResize = () => {\n this.updateAvailableWidth()\n }\n\n updateAvailableWidth() {\n if (\n this.el && // needed. but why?\n this.props.aspectRatio // aspectRatio is the only height setting that needs availableWidth\n ) {\n this.setState({ availableWidth: this.el.offsetWidth })\n }\n }\n}\n","import { listenBySelector } from '../util/dom-event'\nimport { EventApi } from '../api/EventApi'\nimport { elementClosest } from '../util/dom-manip'\nimport { getElSeg } from '../component/event-rendering'\nimport { Interaction, InteractionSettings } from './interaction'\nimport { ViewApi } from '../ViewApi'\n\nexport interface EventClickArg {\n el: HTMLElement\n event: EventApi\n jsEvent: MouseEvent\n view: ViewApi\n}\n\n/*\nDetects when the user clicks on an event within a DateComponent\n*/\nexport class EventClicking extends Interaction {\n constructor(settings: InteractionSettings) {\n super(settings)\n\n this.destroy = listenBySelector(\n settings.el,\n 'click',\n '.fc-event', // on both fg and bg events\n this.handleSegClick,\n )\n }\n\n handleSegClick = (ev: Event, segEl: HTMLElement) => {\n let { component } = this\n let { context } = component\n let seg = getElSeg(segEl)\n\n if (\n seg && // might be the
surrounding the more link\n component.isValidSegDownEl(ev.target as HTMLElement)\n ) {\n // our way to simulate a link click for elements that can't be tags\n // grab before trigger fired in case trigger trashes DOM thru rerendering\n let hasUrlContainer = elementClosest(ev.target as HTMLElement, '.fc-event-forced-url')\n let url = hasUrlContainer ? (hasUrlContainer.querySelector('a[href]') as any).href : ''\n\n context.emitter.trigger('eventClick', {\n el: segEl,\n event: new EventApi(\n component.context,\n seg.eventRange.def,\n seg.eventRange.instance,\n ),\n jsEvent: ev as MouseEvent, // Is this always a mouse event? See #4655\n view: context.viewApi,\n } as EventClickArg)\n\n if (url && !ev.defaultPrevented) {\n window.location.href = url\n }\n }\n }\n}\n","import { listenToHoverBySelector } from '../util/dom-event'\nimport { EventApi } from '../api/EventApi'\nimport { getElSeg } from '../component/event-rendering'\nimport { Interaction, InteractionSettings } from './interaction'\nimport { ViewApi } from '../ViewApi'\n\nexport interface EventHoveringArg {\n el: HTMLElement\n event: EventApi\n jsEvent: MouseEvent\n view: ViewApi\n}\n\n/*\nTriggers events and adds/removes core classNames when the user's pointer\nenters/leaves event-elements of a component.\n*/\nexport class EventHovering extends Interaction {\n removeHoverListeners: () => void\n\n currentSegEl: HTMLElement\n\n constructor(settings: InteractionSettings) {\n super(settings)\n\n this.removeHoverListeners = listenToHoverBySelector(\n settings.el,\n '.fc-event', // on both fg and bg events\n this.handleSegEnter,\n this.handleSegLeave,\n )\n }\n\n destroy() {\n this.removeHoverListeners()\n }\n\n // for simulating an eventMouseLeave when the event el is destroyed while mouse is over it\n handleEventElRemove = (el: HTMLElement) => {\n if (el === this.currentSegEl) {\n this.handleSegLeave(null, this.currentSegEl)\n }\n }\n\n handleSegEnter = (ev: Event, segEl: HTMLElement) => {\n if (getElSeg(segEl)) { // TODO: better way to make sure not hovering over more+ link or its wrapper\n this.currentSegEl = segEl\n this.triggerEvent('eventMouseEnter', ev, segEl)\n }\n }\n\n handleSegLeave = (ev: Event | null, segEl: HTMLElement) => {\n if (this.currentSegEl) {\n this.currentSegEl = null\n this.triggerEvent('eventMouseLeave', ev, segEl)\n }\n }\n\n triggerEvent(publicEvName: 'eventMouseEnter' | 'eventMouseLeave', ev: Event | null, segEl: HTMLElement) {\n let { component } = this\n let { context } = component\n let seg = getElSeg(segEl)!\n\n if (!ev || component.isValidSegDownEl(ev.target as HTMLElement)) {\n context.emitter.trigger(publicEvName, {\n el: segEl,\n event: new EventApi(\n context,\n seg.eventRange.def,\n seg.eventRange.instance,\n ),\n jsEvent: ev as MouseEvent, // Is this always a mouse event? See #4655\n view: context.viewApi,\n } as EventHoveringArg)\n }\n }\n}\n","import { __assign } from 'tslib'\nimport { ViewContextType, buildViewContext } from './ViewContext'\nimport { ViewSpec } from './structs/view-spec'\nimport { ViewProps } from './View'\nimport { Toolbar } from './Toolbar'\nimport { DateProfileGenerator, DateProfile } from './DateProfileGenerator'\nimport { rangeContainsMarker } from './datelib/date-range'\nimport { memoize } from './util/memoize'\nimport { DateMarker } from './datelib/marker'\nimport { CalendarData } from './reducers/data-types'\nimport { ViewPropsTransformerClass } from './plugin-system-struct'\nimport { createElement, createRef, Fragment, VNode } from './vdom'\nimport { ViewContainer } from './ViewContainer'\nimport {\n Interaction,\n InteractionSettingsInput,\n InteractionClass,\n parseInteractionSettings,\n interactionSettingsStore,\n} from './interactions/interaction'\nimport { DateComponent } from './component/DateComponent'\nimport { EventClicking } from './interactions/EventClicking'\nimport { EventHovering } from './interactions/EventHovering'\nimport { getNow } from './reducers/current-date'\nimport { CalendarInteraction } from './calendar-utils'\nimport { DelayedRunner } from './util/DelayedRunner'\nimport { PureComponent } from './vdom-util'\nimport { getUniqueDomId } from './util/dom-manip'\n\nexport interface CalendarContentProps extends CalendarData {\n forPrint: boolean\n isHeightAuto: boolean\n}\n\nexport class CalendarContent extends PureComponent {\n private buildViewContext = memoize(buildViewContext)\n private buildViewPropTransformers = memoize(buildViewPropTransformers)\n private buildToolbarProps = memoize(buildToolbarProps)\n private headerRef = createRef()\n private footerRef = createRef()\n private interactionsStore: { [componentUid: string]: Interaction[] } = {}\n private calendarInteractions: CalendarInteraction[]\n\n // eslint-disable-next-line\n state = {\n viewLabelId: getUniqueDomId(),\n }\n\n /*\n renders INSIDE of an outer div\n */\n render() {\n let { props } = this\n let { toolbarConfig, options } = props\n\n let toolbarProps = this.buildToolbarProps(\n props.viewSpec,\n props.dateProfile,\n props.dateProfileGenerator,\n props.currentDate,\n getNow(props.options.now, props.dateEnv), // TODO: use NowTimer????\n props.viewTitle,\n )\n\n let viewVGrow = false\n let viewHeight: string | number = ''\n let viewAspectRatio: number | undefined\n\n if (props.isHeightAuto || props.forPrint) {\n viewHeight = ''\n } else if (options.height != null) {\n viewVGrow = true\n } else if (options.contentHeight != null) {\n viewHeight = options.contentHeight\n } else {\n viewAspectRatio = Math.max(options.aspectRatio, 0.5) // prevent from getting too tall\n }\n\n let viewContext = this.buildViewContext(\n props.viewSpec,\n props.viewApi,\n props.options,\n props.dateProfileGenerator,\n props.dateEnv,\n props.theme,\n props.pluginHooks,\n props.dispatch,\n props.getCurrentData,\n props.emitter,\n props.calendarApi,\n this.registerInteractiveComponent,\n this.unregisterInteractiveComponent,\n )\n\n let viewLabelId = (toolbarConfig.header && toolbarConfig.header.hasTitle)\n ? this.state.viewLabelId\n : ''\n\n return (\n \n {toolbarConfig.header && (\n \n )}\n \n {this.renderView(props)}\n {this.buildAppendContent()}\n \n {toolbarConfig.footer && (\n \n )}\n \n )\n }\n\n componentDidMount() {\n let { props } = this\n\n this.calendarInteractions = props.pluginHooks.calendarInteractions\n .map((CalendarInteractionClass) => new CalendarInteractionClass(props))\n\n window.addEventListener('resize', this.handleWindowResize)\n\n let { propSetHandlers } = props.pluginHooks\n for (let propName in propSetHandlers) {\n propSetHandlers[propName](props[propName], props)\n }\n }\n\n componentDidUpdate(prevProps: CalendarContentProps) {\n let { props } = this\n\n let { propSetHandlers } = props.pluginHooks\n for (let propName in propSetHandlers) {\n if (props[propName] !== prevProps[propName]) {\n propSetHandlers[propName](props[propName], props)\n }\n }\n }\n\n componentWillUnmount() {\n window.removeEventListener('resize', this.handleWindowResize)\n this.resizeRunner.clear()\n\n for (let interaction of this.calendarInteractions) {\n interaction.destroy()\n }\n\n this.props.emitter.trigger('_unmount')\n }\n\n buildAppendContent(): VNode {\n let { props } = this\n\n let children = props.pluginHooks.viewContainerAppends.map(\n (buildAppendContent) => buildAppendContent(props),\n )\n\n return createElement(Fragment, {}, ...children)\n }\n\n renderView(props: CalendarContentProps) {\n let { pluginHooks } = props\n let { viewSpec } = props\n\n let viewProps: ViewProps = {\n dateProfile: props.dateProfile,\n businessHours: props.businessHours,\n eventStore: props.renderableEventStore, // !\n eventUiBases: props.eventUiBases,\n dateSelection: props.dateSelection,\n eventSelection: props.eventSelection,\n eventDrag: props.eventDrag,\n eventResize: props.eventResize,\n isHeightAuto: props.isHeightAuto,\n forPrint: props.forPrint,\n }\n\n let transformers = this.buildViewPropTransformers(pluginHooks.viewPropsTransformers)\n\n for (let transformer of transformers) {\n __assign(\n viewProps,\n transformer.transform(viewProps, props),\n )\n }\n\n let ViewComponent = viewSpec.component\n\n return (\n \n )\n }\n\n // Component Registration\n // -----------------------------------------------------------------------------------------------------------------\n\n registerInteractiveComponent = (component: DateComponent, settingsInput: InteractionSettingsInput) => {\n let settings = parseInteractionSettings(component, settingsInput)\n let DEFAULT_INTERACTIONS: InteractionClass[] = [\n EventClicking,\n EventHovering,\n ]\n let interactionClasses: InteractionClass[] = DEFAULT_INTERACTIONS.concat(\n this.props.pluginHooks.componentInteractions,\n )\n let interactions = interactionClasses.map((TheInteractionClass) => new TheInteractionClass(settings))\n\n this.interactionsStore[component.uid] = interactions\n interactionSettingsStore[component.uid] = settings\n }\n\n unregisterInteractiveComponent = (component: DateComponent) => {\n let listeners = this.interactionsStore[component.uid]\n\n if (listeners) {\n for (let listener of listeners) {\n listener.destroy()\n }\n delete this.interactionsStore[component.uid]\n }\n\n delete interactionSettingsStore[component.uid]\n }\n\n // Resizing\n // -----------------------------------------------------------------------------------------------------------------\n\n resizeRunner = new DelayedRunner(() => {\n this.props.emitter.trigger('_resize', true) // should window resizes be considered \"forced\" ?\n this.props.emitter.trigger('windowResize', { view: this.props.viewApi })\n })\n\n handleWindowResize = (ev: UIEvent) => {\n let { options } = this.props\n\n if (\n options.handleWindowResize &&\n ev.target === window // avoid jqui events\n ) {\n this.resizeRunner.request(options.windowResizeDelay)\n }\n }\n}\n\nfunction buildToolbarProps(\n viewSpec: ViewSpec,\n dateProfile: DateProfile,\n dateProfileGenerator: DateProfileGenerator,\n currentDate: DateMarker,\n now: DateMarker,\n title: string,\n) {\n // don't force any date-profiles to valid date profiles (the `false`) so that we can tell if it's invalid\n let todayInfo = dateProfileGenerator.build(now, undefined, false) // TODO: need `undefined` or else INFINITE LOOP for some reason\n let prevInfo = dateProfileGenerator.buildPrev(dateProfile, currentDate, false)\n let nextInfo = dateProfileGenerator.buildNext(dateProfile, currentDate, false)\n\n return {\n title,\n activeButton: viewSpec.type,\n navUnit: viewSpec.singleUnit,\n isTodayEnabled: todayInfo.isValid && !rangeContainsMarker(dateProfile.currentRange, now),\n isPrevEnabled: prevInfo.isValid,\n isNextEnabled: nextInfo.isValid,\n }\n}\n\n// Plugin\n// -----------------------------------------------------------------------------------------------------------------\n\nfunction buildViewPropTransformers(theClasses: ViewPropsTransformerClass[]) {\n return theClasses.map((TheClass) => new TheClass())\n}\n","import { ComponentChildren } from './vdom'\nimport { BaseComponent } from './vdom-util'\nimport { CssDimValue } from './scrollgrid/util'\nimport { CalendarOptions, CalendarListeners } from './options'\nimport { Theme } from './theme/Theme'\nimport { getCanVGrowWithinCell } from './util/table-styling'\nimport { Emitter } from './common/Emitter'\n\nexport interface CalendarRootProps {\n options: CalendarOptions\n theme: Theme\n emitter: Emitter\n children: (classNames: string[], height: CssDimValue, isHeightAuto: boolean, forPrint: boolean) => ComponentChildren\n}\n\ninterface CalendarRootState {\n forPrint: boolean\n}\n\nexport class CalendarRoot extends BaseComponent {\n state = {\n forPrint: false,\n }\n\n render() {\n let { props } = this\n let { options } = props\n let { forPrint } = this.state\n\n let isHeightAuto = forPrint || options.height === 'auto' || options.contentHeight === 'auto'\n let height = (!isHeightAuto && options.height != null) ? options.height : ''\n\n let classNames: string[] = [\n 'fc',\n forPrint ? 'fc-media-print' : 'fc-media-screen',\n `fc-direction-${options.direction}`,\n props.theme.getClass('root'),\n ]\n\n if (!getCanVGrowWithinCell()) {\n classNames.push('fc-liquid-hack')\n }\n\n return props.children(classNames, height, isHeightAuto, forPrint)\n }\n\n componentDidMount() {\n let { emitter } = this.props\n emitter.on('_beforeprint', this.handleBeforePrint)\n emitter.on('_afterprint', this.handleAfterPrint)\n }\n\n componentWillUnmount() {\n let { emitter } = this.props\n emitter.off('_beforeprint', this.handleBeforePrint)\n emitter.off('_afterprint', this.handleAfterPrint)\n }\n\n handleBeforePrint = () => {\n this.setState({ forPrint: true })\n }\n\n handleAfterPrint = () => {\n this.setState({ forPrint: false })\n }\n}\n","import { DayHeaderContentArg } from '../render-hook-misc'\n\nexport const CLASS_NAME = 'fc-col-header-cell' // do the cushion too? no\n\nexport function renderInner(hookProps: DayHeaderContentArg) {\n return hookProps.text\n}\n","import { DateRange } from '../datelib/date-range'\nimport { getDayClassNames, getDateMeta } from '../component/date-rendering'\nimport { DateMarker } from '../datelib/marker'\nimport { createElement } from '../vdom'\nimport { DateFormatter } from '../datelib/DateFormatter'\nimport { formatDayString } from '../datelib/formatting-utils'\nimport { BaseComponent } from '../vdom-util'\nimport { RenderHook } from './render-hook'\nimport { buildNavLinkAttrs } from './nav-link'\nimport { DateProfile } from '../DateProfileGenerator'\nimport { DayHeaderContentArg } from '../render-hook-misc'\nimport { Dictionary } from '../options'\nimport { CLASS_NAME, renderInner } from './table-cell-util'\n\nexport interface TableDateCellProps {\n date: DateMarker\n dateProfile: DateProfile\n todayRange: DateRange\n colCnt: number\n dayHeaderFormat: DateFormatter\n colSpan?: number\n isSticky?: boolean // TODO: get this outta here somehow\n extraDataAttrs?: Dictionary\n extraHookProps?: Dictionary\n}\n\nexport class TableDateCell extends BaseComponent { // BAD name for this class now. used in the Header\n render() {\n let { dateEnv, options, theme, viewApi } = this.context\n let { props } = this\n let { date, dateProfile } = props\n let dayMeta = getDateMeta(date, props.todayRange, null, dateProfile)\n\n let classNames = [CLASS_NAME].concat(\n getDayClassNames(dayMeta, theme),\n )\n let text = dateEnv.format(date, props.dayHeaderFormat)\n\n // if colCnt is 1, we are already in a day-view and don't need a navlink\n let navLinkAttrs = (!dayMeta.isDisabled && props.colCnt > 1)\n ? buildNavLinkAttrs(this.context, date)\n : {}\n\n let hookProps: DayHeaderContentArg = {\n date: dateEnv.toDate(date),\n view: viewApi,\n ...props.extraHookProps,\n text,\n ...dayMeta,\n }\n\n return (\n \n {(rootElRef, customClassNames, innerElRef, innerContent) => (\n \n \n \n )}\n \n )\n }\n}\n","import { getDayClassNames, DateMeta } from '../component/date-rendering'\nimport { addDays } from '../datelib/marker'\nimport { createElement } from '../vdom'\nimport { DateFormatter } from '../datelib/DateFormatter'\nimport { BaseComponent } from '../vdom-util'\nimport { RenderHook } from './render-hook'\nimport { Dictionary } from '../options'\nimport { CLASS_NAME, renderInner } from './table-cell-util'\nimport { DayHeaderContentArg } from '../render-hook-misc'\nimport { createFormatter } from '../datelib/formatting'\n\nexport interface TableDowCellProps {\n dow: number\n dayHeaderFormat: DateFormatter\n colSpan?: number\n isSticky?: boolean // TODO: get this outta here somehow\n extraHookProps?: Dictionary\n extraDataAttrs?: Dictionary\n extraClassNames?: string[]\n}\n\nconst WEEKDAY_FORMAT = createFormatter({ weekday: 'long' })\n\nexport class TableDowCell extends BaseComponent {\n render() {\n let { props } = this\n let { dateEnv, theme, viewApi, options } = this.context\n let date = addDays(new Date(259200000), props.dow) // start with Sun, 04 Jan 1970 00:00:00 GMT\n let dateMeta: DateMeta = {\n dow: props.dow,\n isDisabled: false,\n isFuture: false,\n isPast: false,\n isToday: false,\n isOther: false,\n }\n let classNames = [CLASS_NAME].concat(\n getDayClassNames(dateMeta, theme),\n props.extraClassNames || [],\n )\n let text = dateEnv.format(date, props.dayHeaderFormat)\n let hookProps: DayHeaderContentArg = { // TODO: make this public?\n date,\n ...dateMeta,\n view: viewApi,\n ...props.extraHookProps,\n text,\n }\n\n return (\n \n {(rootElRef, customClassNames, innerElRef, innerContent) => (\n \n
\n \n {innerContent}\n \n
\n \n )}\n \n )\n }\n}\n","import { DateMarker, addMs, startOfDay, addDays } from './datelib/marker'\nimport { createDuration } from './datelib/duration'\nimport { ViewContext, ViewContextType } from './ViewContext'\nimport { ComponentChildren, Component } from './vdom'\nimport { DateRange } from './datelib/date-range'\nimport { getNow } from './reducers/current-date'\n\nexport interface NowTimerProps {\n unit: string // TODO: add type of unit\n children: (now: DateMarker, todayRange: DateRange) => ComponentChildren\n}\n\ninterface NowTimerState {\n nowDate: DateMarker\n todayRange: DateRange\n}\n\nexport class NowTimer extends Component {\n static contextType: any = ViewContextType\n context: ViewContext // do this for all components that use the context!!!\n initialNowDate: DateMarker\n initialNowQueriedMs: number\n timeoutId: any\n\n constructor(props: NowTimerProps, context: ViewContext) {\n super(props, context)\n\n this.initialNowDate = getNow(context.options.now, context.dateEnv)\n this.initialNowQueriedMs = new Date().valueOf()\n\n this.state = this.computeTiming().currentState\n }\n\n render() {\n let { props, state } = this\n return props.children(state.nowDate, state.todayRange)\n }\n\n componentDidMount() {\n this.setTimeout()\n }\n\n componentDidUpdate(prevProps: NowTimerProps) {\n if (prevProps.unit !== this.props.unit) {\n this.clearTimeout()\n this.setTimeout()\n }\n }\n\n componentWillUnmount() {\n this.clearTimeout()\n }\n\n private computeTiming() {\n let { props, context } = this\n let unroundedNow = addMs(this.initialNowDate, new Date().valueOf() - this.initialNowQueriedMs)\n let currentUnitStart = context.dateEnv.startOf(unroundedNow, props.unit)\n let nextUnitStart = context.dateEnv.add(currentUnitStart, createDuration(1, props.unit))\n let waitMs = nextUnitStart.valueOf() - unroundedNow.valueOf()\n\n // there is a max setTimeout ms value (https://stackoverflow.com/a/3468650/96342)\n // ensure no longer than a day\n waitMs = Math.min(1000 * 60 * 60 * 24, waitMs)\n\n return {\n currentState: { nowDate: currentUnitStart, todayRange: buildDayRange(currentUnitStart) } as NowTimerState,\n nextState: { nowDate: nextUnitStart, todayRange: buildDayRange(nextUnitStart) } as NowTimerState,\n waitMs,\n }\n }\n\n private setTimeout() {\n let { nextState, waitMs } = this.computeTiming()\n\n this.timeoutId = setTimeout(() => {\n this.setState(nextState, () => {\n this.setTimeout()\n })\n }, waitMs)\n }\n\n private clearTimeout() {\n if (this.timeoutId) {\n clearTimeout(this.timeoutId)\n }\n }\n}\n\nfunction buildDayRange(date: DateMarker): DateRange { // TODO: make this a general util\n let start = startOfDay(date)\n let end = addDays(start, 1)\n\n return { start, end }\n}\n","import { BaseComponent } from '../vdom-util'\nimport { DateMarker } from '../datelib/marker'\nimport { computeFallbackHeaderFormat } from './table-utils'\nimport { VNode, createElement } from '../vdom'\nimport { TableDateCell } from './TableDateCell'\nimport { TableDowCell } from './TableDowCell'\nimport { NowTimer } from '../NowTimer'\nimport { DateRange } from '../datelib/date-range'\nimport { memoize } from '../util/memoize'\nimport { DateProfile } from '../DateProfileGenerator'\nimport { DateFormatter } from '../datelib/DateFormatter'\n\nexport interface DayHeaderProps {\n dateProfile: DateProfile\n dates: DateMarker[]\n datesRepDistinctDays: boolean\n renderIntro?: (rowKey: string) => VNode\n}\n\nexport class DayHeader extends BaseComponent { // TODO: rename to DayHeaderTr?\n createDayHeaderFormatter = memoize(createDayHeaderFormatter)\n\n render() {\n let { context } = this\n let { dates, dateProfile, datesRepDistinctDays, renderIntro } = this.props\n\n let dayHeaderFormat = this.createDayHeaderFormatter(\n context.options.dayHeaderFormat,\n datesRepDistinctDays,\n dates.length,\n )\n\n return (\n \n {(nowDate: DateMarker, todayRange: DateRange) => (\n \n {renderIntro && renderIntro('day')}\n {dates.map((date) => (\n datesRepDistinctDays ? (\n \n ) : (\n \n )\n ))}\n \n )}\n \n )\n }\n}\n\nfunction createDayHeaderFormatter(explicitFormat: DateFormatter, datesRepDistinctDays, dateCnt) {\n return explicitFormat || computeFallbackHeaderFormat(datesRepDistinctDays, dateCnt)\n}\n","import { createFormatter } from '../datelib/formatting'\n\n// Computes a default column header formatting string if `colFormat` is not explicitly defined\nexport function computeFallbackHeaderFormat(datesRepDistinctDays: boolean, dayCnt: number) {\n // if more than one week row, or if there are a lot of columns with not much space,\n // put just the day numbers will be in each cell\n if (!datesRepDistinctDays || dayCnt > 10) {\n return createFormatter({ weekday: 'short' }) // \"Sat\"\n }\n\n if (dayCnt > 1) {\n return createFormatter({ weekday: 'short', month: 'numeric', day: 'numeric', omitCommas: true }) // \"Sat 11/12\"\n }\n\n return createFormatter({ weekday: 'long' }) // \"Saturday\"\n}\n","import { DateProfileGenerator } from '../DateProfileGenerator'\nimport { DateMarker, addDays, diffDays } from '../datelib/marker'\nimport { DateRange } from '../datelib/date-range'\n\nexport interface DaySeriesSeg {\n firstIndex: number\n lastIndex: number\n isStart: boolean\n isEnd: boolean\n}\n\nexport class DaySeriesModel {\n cnt: number\n dates: DateMarker[] // whole-day dates for each column. left to right\n indices: number[] // for each day from start, the offset\n\n constructor(range: DateRange, dateProfileGenerator: DateProfileGenerator) {\n let date: DateMarker = range.start\n let { end } = range\n let indices: number[] = []\n let dates: DateMarker[] = []\n let dayIndex = -1\n\n while (date < end) { // loop each day from start to end\n if (dateProfileGenerator.isHiddenDay(date)) {\n indices.push(dayIndex + 0.5) // mark that it's between indices\n } else {\n dayIndex += 1\n indices.push(dayIndex)\n dates.push(date)\n }\n date = addDays(date, 1)\n }\n\n this.dates = dates\n this.indices = indices\n this.cnt = dates.length\n }\n\n sliceRange(range: DateRange): DaySeriesSeg | null {\n let firstIndex = this.getDateDayIndex(range.start) // inclusive first index\n let lastIndex = this.getDateDayIndex(addDays(range.end, -1)) // inclusive last index\n\n let clippedFirstIndex = Math.max(0, firstIndex)\n let clippedLastIndex = Math.min(this.cnt - 1, lastIndex)\n\n // deal with in-between indices\n clippedFirstIndex = Math.ceil(clippedFirstIndex) // in-between starts round to next cell\n clippedLastIndex = Math.floor(clippedLastIndex) // in-between ends round to prev cell\n\n if (clippedFirstIndex <= clippedLastIndex) {\n return {\n firstIndex: clippedFirstIndex,\n lastIndex: clippedLastIndex,\n isStart: firstIndex === clippedFirstIndex,\n isEnd: lastIndex === clippedLastIndex,\n }\n }\n return null\n }\n\n // Given a date, returns its chronolocial cell-index from the first cell of the grid.\n // If the date lies between cells (because of hiddenDays), returns a floating-point value between offsets.\n // If before the first offset, returns a negative number.\n // If after the last offset, returns an offset past the last cell offset.\n // Only works for *start* dates of cells. Will not work for exclusive end dates for cells.\n private getDateDayIndex(date: DateMarker) {\n let { indices } = this\n let dayOffset = Math.floor(diffDays(this.dates[0], date))\n\n if (dayOffset < 0) {\n return indices[0] - 1\n }\n\n if (dayOffset >= indices.length) {\n return indices[indices.length - 1] + 1\n }\n\n return indices[dayOffset]\n }\n}\n","import { DaySeriesModel } from './DaySeriesModel'\nimport { DateRange } from '../datelib/date-range'\nimport { DateMarker } from '../datelib/marker'\nimport { Seg } from '../component/DateComponent'\nimport { Dictionary } from '../options'\n\nexport interface DayTableSeg extends Seg {\n row: number\n firstCol: number\n lastCol: number\n}\n\nexport interface DayTableCell {\n key: string // probably just the serialized date, but could be other metadata if this col is specific to another entity\n date: DateMarker\n extraHookProps?: Dictionary\n extraDataAttrs?: Dictionary\n extraClassNames?: string[]\n extraDateSpan?: Dictionary\n}\n\nexport class DayTableModel {\n rowCnt: number\n colCnt: number\n cells: DayTableCell[][]\n headerDates: DateMarker[]\n\n private daySeries: DaySeriesModel\n\n constructor(daySeries: DaySeriesModel, breakOnWeeks: boolean) {\n let { dates } = daySeries\n let daysPerRow\n let firstDay\n let rowCnt\n\n if (breakOnWeeks) {\n // count columns until the day-of-week repeats\n firstDay = dates[0].getUTCDay()\n for (daysPerRow = 1; daysPerRow < dates.length; daysPerRow += 1) {\n if (dates[daysPerRow].getUTCDay() === firstDay) {\n break\n }\n }\n rowCnt = Math.ceil(dates.length / daysPerRow)\n } else {\n rowCnt = 1\n daysPerRow = dates.length\n }\n\n this.rowCnt = rowCnt\n this.colCnt = daysPerRow\n this.daySeries = daySeries\n this.cells = this.buildCells()\n this.headerDates = this.buildHeaderDates()\n }\n\n private buildCells() {\n let rows = []\n\n for (let row = 0; row < this.rowCnt; row += 1) {\n let cells = []\n\n for (let col = 0; col < this.colCnt; col += 1) {\n cells.push(\n this.buildCell(row, col),\n )\n }\n\n rows.push(cells)\n }\n\n return rows\n }\n\n private buildCell(row, col): DayTableCell {\n let date = this.daySeries.dates[row * this.colCnt + col]\n return {\n key: date.toISOString(),\n date,\n }\n }\n\n private buildHeaderDates() {\n let dates = []\n\n for (let col = 0; col < this.colCnt; col += 1) {\n dates.push(this.cells[0][col].date)\n }\n\n return dates\n }\n\n sliceRange(range: DateRange): DayTableSeg[] {\n let { colCnt } = this\n let seriesSeg = this.daySeries.sliceRange(range)\n let segs: DayTableSeg[] = []\n\n if (seriesSeg) {\n let { firstIndex, lastIndex } = seriesSeg\n let index = firstIndex\n\n while (index <= lastIndex) {\n let row = Math.floor(index / colCnt)\n let nextIndex = Math.min((row + 1) * colCnt, lastIndex + 1)\n\n segs.push({\n row,\n firstCol: index % colCnt,\n lastCol: (nextIndex - 1) % colCnt,\n isStart: seriesSeg.isStart && index === firstIndex,\n isEnd: seriesSeg.isEnd && (nextIndex - 1) === lastIndex,\n })\n\n index = nextIndex\n }\n }\n\n return segs\n }\n}\n","import { DateRange } from '../datelib/date-range'\nimport { EventStore } from '../structs/event-store'\nimport { EventUiHash } from '../component/event-ui'\nimport { sliceEventStore, EventRenderRange } from '../component/event-rendering'\nimport { DateProfile } from '../DateProfileGenerator'\nimport { Seg, EventSegUiInteractionState } from '../component/DateComponent' // TODO: rename EventSegUiInteractionState, move here\nimport { DateSpan, fabricateEventRange } from '../structs/date-span'\nimport { EventInteractionState } from '../interactions/event-interaction-state'\nimport { Duration } from '../datelib/duration'\nimport { memoize } from '../util/memoize'\nimport { DateMarker, addMs, addDays } from '../datelib/marker'\nimport { CalendarContext } from '../CalendarContext'\nimport { expandRecurring } from '../structs/recurring-event'\n\nexport interface SliceableProps {\n dateSelection: DateSpan\n businessHours: EventStore\n eventStore: EventStore\n eventDrag: EventInteractionState | null\n eventResize: EventInteractionState | null\n eventSelection: string\n eventUiBases: EventUiHash\n}\n\nexport interface SlicedProps {\n dateSelectionSegs: SegType[]\n businessHourSegs: SegType[]\n fgEventSegs: SegType[]\n bgEventSegs: SegType[]\n eventDrag: EventSegUiInteractionState | null\n eventResize: EventSegUiInteractionState | null\n eventSelection: string\n}\n\nexport abstract class Slicer {\n private sliceBusinessHours = memoize(this._sliceBusinessHours)\n private sliceDateSelection = memoize(this._sliceDateSpan)\n private sliceEventStore = memoize(this._sliceEventStore)\n private sliceEventDrag = memoize(this._sliceInteraction)\n private sliceEventResize = memoize(this._sliceInteraction)\n\n abstract sliceRange(dateRange: DateRange, ...extraArgs: ExtraArgs): SegType[]\n protected forceDayIfListItem = false // hack\n\n sliceProps(\n props: SliceableProps,\n dateProfile: DateProfile,\n nextDayThreshold: Duration | null,\n context: CalendarContext,\n ...extraArgs: ExtraArgs\n ): SlicedProps {\n let { eventUiBases } = props\n let eventSegs = this.sliceEventStore(props.eventStore, eventUiBases, dateProfile, nextDayThreshold, ...extraArgs)\n\n return {\n dateSelectionSegs: this.sliceDateSelection(props.dateSelection, eventUiBases, context, ...extraArgs),\n businessHourSegs: this.sliceBusinessHours(props.businessHours, dateProfile, nextDayThreshold, context, ...extraArgs),\n fgEventSegs: eventSegs.fg,\n bgEventSegs: eventSegs.bg,\n eventDrag: this.sliceEventDrag(props.eventDrag, eventUiBases, dateProfile, nextDayThreshold, ...extraArgs),\n eventResize: this.sliceEventResize(props.eventResize, eventUiBases, dateProfile, nextDayThreshold, ...extraArgs),\n eventSelection: props.eventSelection,\n } // TODO: give interactionSegs?\n }\n\n sliceNowDate( // does not memoize\n date: DateMarker,\n context: CalendarContext,\n ...extraArgs: ExtraArgs\n ): SegType[] {\n return this._sliceDateSpan(\n { range: { start: date, end: addMs(date, 1) }, allDay: false }, // add 1 ms, protect against null range\n {},\n context,\n ...extraArgs,\n )\n }\n\n private _sliceBusinessHours(\n businessHours: EventStore,\n dateProfile: DateProfile,\n nextDayThreshold: Duration | null,\n context: CalendarContext,\n ...extraArgs: ExtraArgs\n ): SegType[] {\n if (!businessHours) {\n return []\n }\n\n return this._sliceEventStore(\n expandRecurring(\n businessHours,\n computeActiveRange(dateProfile, Boolean(nextDayThreshold)),\n context,\n ),\n {},\n dateProfile,\n nextDayThreshold,\n ...extraArgs,\n ).bg\n }\n\n private _sliceEventStore(\n eventStore: EventStore,\n eventUiBases: EventUiHash,\n dateProfile: DateProfile,\n nextDayThreshold: Duration | null,\n ...extraArgs: ExtraArgs\n ): { bg: SegType[], fg: SegType[] } {\n if (eventStore) {\n let rangeRes = sliceEventStore(\n eventStore,\n eventUiBases,\n computeActiveRange(dateProfile, Boolean(nextDayThreshold)),\n nextDayThreshold,\n )\n\n return {\n bg: this.sliceEventRanges(rangeRes.bg, extraArgs),\n fg: this.sliceEventRanges(rangeRes.fg, extraArgs),\n }\n }\n return { bg: [], fg: [] }\n }\n\n private _sliceInteraction(\n interaction: EventInteractionState,\n eventUiBases: EventUiHash,\n dateProfile: DateProfile,\n nextDayThreshold: Duration | null,\n ...extraArgs: ExtraArgs\n ): EventSegUiInteractionState {\n if (!interaction) {\n return null\n }\n\n let rangeRes = sliceEventStore(\n interaction.mutatedEvents,\n eventUiBases,\n computeActiveRange(dateProfile, Boolean(nextDayThreshold)),\n nextDayThreshold,\n )\n\n return {\n segs: this.sliceEventRanges(rangeRes.fg, extraArgs),\n affectedInstances: interaction.affectedEvents.instances,\n isEvent: interaction.isEvent,\n }\n }\n\n private _sliceDateSpan(\n dateSpan: DateSpan,\n eventUiBases: EventUiHash,\n context: CalendarContext,\n ...extraArgs: ExtraArgs\n ): SegType[] {\n if (!dateSpan) {\n return []\n }\n\n let eventRange = fabricateEventRange(dateSpan, eventUiBases, context)\n let segs = this.sliceRange(dateSpan.range, ...extraArgs)\n\n for (let seg of segs) {\n seg.eventRange = eventRange\n }\n\n return segs\n }\n\n /*\n \"complete\" seg means it has component and eventRange\n */\n private sliceEventRanges(\n eventRanges: EventRenderRange[],\n extraArgs: ExtraArgs,\n ): SegType[] {\n let segs: SegType[] = []\n\n for (let eventRange of eventRanges) {\n segs.push(...this.sliceEventRange(eventRange, extraArgs))\n }\n\n return segs\n }\n\n /*\n \"complete\" seg means it has component and eventRange\n */\n private sliceEventRange(\n eventRange: EventRenderRange,\n extraArgs: ExtraArgs,\n ): SegType[] {\n let dateRange = eventRange.range\n\n // hack to make multi-day events that are being force-displayed as list-items to take up only one day\n if (this.forceDayIfListItem && eventRange.ui.display === 'list-item') {\n dateRange = {\n start: dateRange.start,\n end: addDays(dateRange.start, 1),\n }\n }\n\n let segs = this.sliceRange(dateRange, ...extraArgs)\n\n for (let seg of segs) {\n seg.eventRange = eventRange\n seg.isStart = eventRange.isStart && seg.isStart\n seg.isEnd = eventRange.isEnd && seg.isEnd\n }\n\n return segs\n }\n}\n\n/*\nfor incorporating slotMinTime/slotMaxTime if appropriate\nTODO: should be part of DateProfile!\nTimelineDateProfile already does this btw\n*/\nfunction computeActiveRange(dateProfile: DateProfile, isComponentAllDay: boolean): DateRange {\n let range = dateProfile.activeRange\n\n if (isComponentAllDay) {\n return range\n }\n\n return {\n start: addMs(range.start, dateProfile.slotMinTime.milliseconds),\n end: addMs(range.end, dateProfile.slotMaxTime.milliseconds - 864e5), // 864e5 = ms in a day\n }\n}\n","import { EventStore, filterEventStoreDefs } from './structs/event-store'\nimport { DateSpan } from './structs/date-span'\nimport { rangeContainsRange, rangesIntersect, DateRange, OpenDateRange } from './datelib/date-range'\nimport { EventApi } from './api/EventApi'\nimport { compileEventUis } from './component/event-rendering'\nimport { excludeInstances } from './reducers/eventStore'\nimport { EventInteractionState } from './interactions/event-interaction-state'\nimport { SplittableProps } from './component/event-splitting'\nimport { mapHash } from './util/object'\nimport { CalendarContext } from './CalendarContext'\nimport { buildDateSpanApiWithContext } from './calendar-utils'\nimport { Constraint } from './structs/constraint'\nimport { expandRecurring } from './structs/recurring-event'\nimport { DateProfile } from './DateProfileGenerator'\n\n// high-level segmenting-aware tester functions\n// ------------------------------------------------------------------------------------------------------------------------\n\nexport function isInteractionValid(\n interaction: EventInteractionState,\n dateProfile: DateProfile,\n context: CalendarContext,\n) {\n let { instances } = interaction.mutatedEvents\n for (let instanceId in instances) {\n if (!rangeContainsRange(dateProfile.validRange, instances[instanceId].range)) {\n return false\n }\n }\n return isNewPropsValid({ eventDrag: interaction }, context) // HACK: the eventDrag props is used for ALL interactions\n}\n\nexport function isDateSelectionValid(\n dateSelection: DateSpan,\n dateProfile: DateProfile,\n context: CalendarContext,\n) {\n if (!rangeContainsRange(dateProfile.validRange, dateSelection.range)) {\n return false\n }\n return isNewPropsValid({ dateSelection }, context)\n}\n\nfunction isNewPropsValid(newProps, context: CalendarContext) {\n let calendarState = context.getCurrentData()\n\n let props = {\n businessHours: calendarState.businessHours,\n dateSelection: '',\n eventStore: calendarState.eventStore,\n eventUiBases: calendarState.eventUiBases,\n eventSelection: '',\n eventDrag: null,\n eventResize: null,\n ...newProps,\n }\n\n return (context.pluginHooks.isPropsValid || isPropsValid)(props, context)\n}\n\nexport function isPropsValid(state: SplittableProps, context: CalendarContext, dateSpanMeta = {}, filterConfig?): boolean {\n if (state.eventDrag && !isInteractionPropsValid(state, context, dateSpanMeta, filterConfig)) {\n return false\n }\n\n if (state.dateSelection && !isDateSelectionPropsValid(state, context, dateSpanMeta, filterConfig)) {\n return false\n }\n\n return true\n}\n\n// Moving Event Validation\n// ------------------------------------------------------------------------------------------------------------------------\n\nfunction isInteractionPropsValid(state: SplittableProps, context: CalendarContext, dateSpanMeta: any, filterConfig): boolean {\n let currentState = context.getCurrentData()\n let interaction = state.eventDrag // HACK: the eventDrag props is used for ALL interactions\n\n let subjectEventStore = interaction.mutatedEvents\n let subjectDefs = subjectEventStore.defs\n let subjectInstances = subjectEventStore.instances\n let subjectConfigs = compileEventUis(\n subjectDefs,\n interaction.isEvent ?\n state.eventUiBases :\n { '': currentState.selectionConfig }, // if not a real event, validate as a selection\n )\n\n if (filterConfig) {\n subjectConfigs = mapHash(subjectConfigs, filterConfig)\n }\n\n // exclude the subject events. TODO: exclude defs too?\n let otherEventStore = excludeInstances(state.eventStore, interaction.affectedEvents.instances)\n\n let otherDefs = otherEventStore.defs\n let otherInstances = otherEventStore.instances\n let otherConfigs = compileEventUis(otherDefs, state.eventUiBases)\n\n for (let subjectInstanceId in subjectInstances) {\n let subjectInstance = subjectInstances[subjectInstanceId]\n let subjectRange = subjectInstance.range\n let subjectConfig = subjectConfigs[subjectInstance.defId]\n let subjectDef = subjectDefs[subjectInstance.defId]\n\n // constraint\n if (!allConstraintsPass(subjectConfig.constraints, subjectRange, otherEventStore, state.businessHours, context)) {\n return false\n }\n\n // overlap\n\n let { eventOverlap } = context.options\n let eventOverlapFunc = typeof eventOverlap === 'function' ? eventOverlap : null\n\n for (let otherInstanceId in otherInstances) {\n let otherInstance = otherInstances[otherInstanceId]\n\n // intersect! evaluate\n if (rangesIntersect(subjectRange, otherInstance.range)) {\n let otherOverlap = otherConfigs[otherInstance.defId].overlap\n\n // consider the other event's overlap. only do this if the subject event is a \"real\" event\n if (otherOverlap === false && interaction.isEvent) {\n return false\n }\n\n if (subjectConfig.overlap === false) {\n return false\n }\n\n if (eventOverlapFunc && !eventOverlapFunc(\n new EventApi(context, otherDefs[otherInstance.defId], otherInstance), // still event\n new EventApi(context, subjectDef, subjectInstance), // moving event\n )) {\n return false\n }\n }\n }\n\n // allow (a function)\n\n let calendarEventStore = currentState.eventStore // need global-to-calendar, not local to component (splittable)state\n\n for (let subjectAllow of subjectConfig.allows) {\n let subjectDateSpan: DateSpan = {\n ...dateSpanMeta,\n range: subjectInstance.range,\n allDay: subjectDef.allDay,\n }\n\n let origDef = calendarEventStore.defs[subjectDef.defId]\n let origInstance = calendarEventStore.instances[subjectInstanceId]\n let eventApi\n\n if (origDef) { // was previously in the calendar\n eventApi = new EventApi(context, origDef, origInstance)\n } else { // was an external event\n eventApi = new EventApi(context, subjectDef) // no instance, because had no dates\n }\n\n if (!subjectAllow(\n buildDateSpanApiWithContext(subjectDateSpan, context),\n eventApi,\n )) {\n return false\n }\n }\n }\n\n return true\n}\n\n// Date Selection Validation\n// ------------------------------------------------------------------------------------------------------------------------\n\nfunction isDateSelectionPropsValid(state: SplittableProps, context: CalendarContext, dateSpanMeta: any, filterConfig): boolean {\n let relevantEventStore = state.eventStore\n let relevantDefs = relevantEventStore.defs\n let relevantInstances = relevantEventStore.instances\n\n let selection = state.dateSelection\n let selectionRange = selection.range\n let { selectionConfig } = context.getCurrentData()\n\n if (filterConfig) {\n selectionConfig = filterConfig(selectionConfig)\n }\n\n // constraint\n if (!allConstraintsPass(selectionConfig.constraints, selectionRange, relevantEventStore, state.businessHours, context)) {\n return false\n }\n\n // overlap\n\n let { selectOverlap } = context.options\n let selectOverlapFunc = typeof selectOverlap === 'function' ? selectOverlap : null\n\n for (let relevantInstanceId in relevantInstances) {\n let relevantInstance = relevantInstances[relevantInstanceId]\n\n // intersect! evaluate\n if (rangesIntersect(selectionRange, relevantInstance.range)) {\n if (selectionConfig.overlap === false) {\n return false\n }\n\n if (selectOverlapFunc && !selectOverlapFunc(\n new EventApi(context, relevantDefs[relevantInstance.defId], relevantInstance),\n null,\n )) {\n return false\n }\n }\n }\n\n // allow (a function)\n for (let selectionAllow of selectionConfig.allows) {\n let fullDateSpan = { ...dateSpanMeta, ...selection }\n\n if (!selectionAllow(\n buildDateSpanApiWithContext(fullDateSpan, context),\n null,\n )) {\n return false\n }\n }\n\n return true\n}\n\n// Constraint Utils\n// ------------------------------------------------------------------------------------------------------------------------\n\nfunction allConstraintsPass(\n constraints: Constraint[],\n subjectRange: DateRange,\n otherEventStore: EventStore,\n businessHoursUnexpanded: EventStore,\n context: CalendarContext,\n): boolean {\n for (let constraint of constraints) {\n if (!anyRangesContainRange(\n constraintToRanges(constraint, subjectRange, otherEventStore, businessHoursUnexpanded, context),\n subjectRange,\n )) {\n return false\n }\n }\n\n return true\n}\n\nfunction constraintToRanges(\n constraint: Constraint,\n subjectRange: DateRange, // for expanding a recurring constraint, or expanding business hours\n otherEventStore: EventStore, // for if constraint is an even group ID\n businessHoursUnexpanded: EventStore, // for if constraint is 'businessHours'\n context: CalendarContext, // for expanding businesshours\n): OpenDateRange[] {\n if (constraint === 'businessHours') {\n return eventStoreToRanges(\n expandRecurring(businessHoursUnexpanded, subjectRange, context),\n )\n }\n\n if (typeof constraint === 'string') { // an group ID\n return eventStoreToRanges(\n filterEventStoreDefs(otherEventStore, (eventDef) => eventDef.groupId === constraint),\n )\n }\n\n if (typeof constraint === 'object' && constraint) { // non-null object\n return eventStoreToRanges(\n expandRecurring(constraint, subjectRange, context),\n )\n }\n\n return [] // if it's false\n}\n\n// TODO: move to event-store file?\nfunction eventStoreToRanges(eventStore: EventStore): DateRange[] {\n let { instances } = eventStore\n let ranges: DateRange[] = []\n\n for (let instanceId in instances) {\n ranges.push(instances[instanceId].range)\n }\n\n return ranges\n}\n\n// TODO: move to geom file?\nfunction anyRangesContainRange(outerRanges: DateRange[], innerRange: DateRange): boolean {\n for (let outerRange of outerRanges) {\n if (rangeContainsRange(outerRange, innerRange)) {\n return true\n }\n }\n\n return false\n}\n","import { createElement, ComponentChildren, Ref } from '../vdom'\nimport { BaseComponent, setRef } from '../vdom-util'\nimport { CssDimValue, ScrollerLike } from './util'\n\nexport type OverflowValue = 'auto' | 'hidden' | 'scroll' | 'visible'\n\nexport interface ScrollerProps {\n overflowX: OverflowValue\n overflowY: OverflowValue\n overcomeLeft?: number\n overcomeRight?: number\n overcomeBottom?: number\n maxHeight?: CssDimValue\n liquid?: boolean\n liquidIsAbsolute?: boolean\n children?: ComponentChildren\n elRef?: Ref\n}\n\nconst VISIBLE_HIDDEN_RE = /^(visible|hidden)$/\n\nexport class Scroller extends BaseComponent implements ScrollerLike {\n private el: HTMLElement // TODO: just use this.base?\n\n render() {\n let { props } = this\n let { liquid, liquidIsAbsolute } = props\n let isAbsolute = liquid && liquidIsAbsolute\n let className = ['fc-scroller']\n\n if (liquid) {\n if (liquidIsAbsolute) {\n className.push('fc-scroller-liquid-absolute')\n } else {\n className.push('fc-scroller-liquid')\n }\n }\n\n return (\n \n {props.children}\n
\n )\n }\n\n handleEl = (el: HTMLElement) => {\n this.el = el\n setRef(this.props.elRef, el)\n }\n\n needsXScrolling() {\n if (VISIBLE_HIDDEN_RE.test(this.props.overflowX)) {\n return false\n }\n\n // testing scrollWidth>clientWidth is unreliable cross-browser when pixel heights aren't integers.\n // much more reliable to see if children are taller than the scroller, even tho doesn't account for\n // inner-child margins and absolute positioning\n\n let { el } = this\n let realClientWidth = this.el.getBoundingClientRect().width - this.getYScrollbarWidth()\n let { children } = el\n\n for (let i = 0; i < children.length; i += 1) {\n let childEl = children[i]\n\n if (childEl.getBoundingClientRect().width > realClientWidth) {\n return true\n }\n }\n\n return false\n }\n\n needsYScrolling() {\n if (VISIBLE_HIDDEN_RE.test(this.props.overflowY)) {\n return false\n }\n\n // testing scrollHeight>clientHeight is unreliable cross-browser when pixel heights aren't integers.\n // much more reliable to see if children are taller than the scroller, even tho doesn't account for\n // inner-child margins and absolute positioning\n\n let { el } = this\n let realClientHeight = this.el.getBoundingClientRect().height - this.getXScrollbarWidth()\n let { children } = el\n\n for (let i = 0; i < children.length; i += 1) {\n let childEl = children[i]\n\n if (childEl.getBoundingClientRect().height > realClientHeight) {\n return true\n }\n }\n\n return false\n }\n\n getXScrollbarWidth() {\n if (VISIBLE_HIDDEN_RE.test(this.props.overflowX)) {\n return 0\n }\n return this.el.offsetHeight - this.el.clientHeight // only works because we guarantee no borders. TODO: add to CSS with important?\n }\n\n getYScrollbarWidth() {\n if (VISIBLE_HIDDEN_RE.test(this.props.overflowY)) {\n return 0\n }\n return this.el.offsetWidth - this.el.clientWidth // only works because we guarantee no borders. TODO: add to CSS with important?\n }\n}\n","import { hashValuesToArray, collectFromHash } from './object'\n\n/*\nTODO: somehow infer OtherArgs from masterCallback?\nTODO: infer RefType from masterCallback if provided\n*/\nexport class RefMap {\n public currentMap: { [key: string]: RefType } = {}\n private depths: { [key: string]: number } = {}\n private callbackMap: { [key: string]: (val: RefType | null) => void } = {}\n\n constructor(public masterCallback?: (val: RefType | null, key: string) => void) {\n }\n\n createRef(key: string | number) {\n let refCallback = this.callbackMap[key]\n\n if (!refCallback) {\n refCallback = this.callbackMap[key] = (val: RefType | null) => {\n this.handleValue(val, String(key))\n }\n }\n\n return refCallback\n }\n\n handleValue = (val: RefType | null, key: string) => { // bind in case users want to pass it around\n let { depths, currentMap } = this\n let removed = false\n let added = false\n\n if (val !== null) {\n // for bug... ACTUALLY: can probably do away with this now that callers don't share numeric indices anymore\n removed = (key in currentMap)\n\n currentMap[key] = val\n depths[key] = (depths[key] || 0) + 1\n added = true\n } else {\n depths[key] -= 1\n\n if (!depths[key]) {\n delete currentMap[key]\n delete this.callbackMap[key]\n removed = true\n }\n }\n\n if (this.masterCallback) {\n if (removed) {\n this.masterCallback(null, String(key))\n }\n if (added) {\n this.masterCallback(val, String(key))\n }\n }\n }\n\n // TODO: check callers that don't care about order. should use getAll instead\n // NOTE: this method has become less valuable now that we are encouraged to map order by some other index\n // TODO: provide ONE array-export function, buildArray, which fails on non-numeric indexes. caller can manipulate and \"collect\"\n collect(\n startIndex?: number,\n endIndex?: number,\n step?: number,\n ) {\n return collectFromHash(this.currentMap, startIndex, endIndex, step)\n }\n\n getAll(): RefType[] { // returns in no partical order!\n return hashValuesToArray(this.currentMap)\n }\n}\n","import { VNode, createElement, Ref } from '../vdom'\nimport { findElements } from '../util/dom-manip'\nimport { ViewContext } from '../ViewContext'\nimport { computeSmallestCellWidth } from '../util/misc'\nimport { isPropsEqual } from '../util/object'\nimport { isArraysEqual } from '../util/array'\nimport { BaseOptionsRefined } from '../options'\n\nexport type CssDimValue = string | number // TODO: move to more general file\n\nexport interface ColProps {\n width?: CssDimValue\n minWidth?: CssDimValue\n span?: number\n}\n\nexport interface SectionConfig {\n outerContent?: VNode\n type: 'body' | 'header' | 'footer'\n className?: string\n maxHeight?: number\n liquid?: boolean\n expandRows?: boolean // TODO: how to get a bottom rule?\n syncRowHeights?: boolean // yuck\n isSticky?: boolean\n}\n\nexport type ChunkConfigContent = (contentProps: ChunkContentCallbackArgs) => VNode\nexport type ChunkConfigRowContent = VNode | ChunkConfigContent\n\nexport interface ChunkConfig {\n outerContent?: VNode\n content?: ChunkConfigContent\n rowContent?: ChunkConfigRowContent\n scrollerElRef?: Ref\n elRef?: Ref\n tableClassName?: string\n}\n\nexport interface ChunkContentCallbackArgs { // TODO: util for wrapping tables!?\n tableColGroupNode: VNode\n tableMinWidth: CssDimValue\n clientWidth: number | null // important to know whether 0 or not-yet-determined. for headless testing\n clientHeight: number | null //\n expandRows: boolean\n syncRowHeights: boolean\n rowSyncHeights: number[]\n reportRowHeightChange: (rowEl: HTMLElement, isStable: boolean) => void\n}\n\nexport function computeShrinkWidth(chunkEls: HTMLElement[]) { // all in same COL!\n let shrinkCells = findElements(chunkEls, '.fc-scrollgrid-shrink')\n let largestWidth = 0\n\n for (let shrinkCell of shrinkCells) {\n largestWidth = Math.max(\n largestWidth,\n computeSmallestCellWidth(shrinkCell),\n )\n }\n\n return Math.ceil(largestWidth) // elements work best with integers. round up to ensure contents fits\n}\n\nexport interface ScrollerLike { // have scrollers implement?\n needsYScrolling(): boolean\n needsXScrolling(): boolean\n}\n\nexport function getSectionHasLiquidHeight(props: { liquid: boolean }, sectionConfig: SectionConfig) {\n return props.liquid && sectionConfig.liquid // does the section do liquid-height? (need to have whole scrollgrid liquid-height as well)\n}\n\nexport function getAllowYScrolling(props: { liquid: boolean }, sectionConfig: SectionConfig) {\n return sectionConfig.maxHeight != null || // if its possible for the height to max out, we might need scrollbars\n getSectionHasLiquidHeight(props, sectionConfig) // if the section is liquid height, it might condense enough to require scrollbars\n}\n\n// TODO: ONLY use `arg`. force out internal function to use same API\nexport function renderChunkContent(\n sectionConfig: SectionConfig,\n chunkConfig: ChunkConfig,\n arg: ChunkContentCallbackArgs,\n isHeader: boolean,\n) {\n let { expandRows } = arg\n\n let content: VNode = typeof chunkConfig.content === 'function' ?\n chunkConfig.content(arg) :\n createElement(\n 'table',\n {\n role: 'presentation',\n className: [\n chunkConfig.tableClassName,\n sectionConfig.syncRowHeights ? 'fc-scrollgrid-sync-table' : '',\n ].join(' '),\n style: {\n minWidth: arg.tableMinWidth, // because colMinWidths arent enough\n width: arg.clientWidth,\n height: expandRows ? arg.clientHeight : '', // css `height` on a
serves as a min-height\n },\n },\n arg.tableColGroupNode,\n createElement(\n isHeader ? 'thead' : 'tbody',\n {\n role: 'presentation',\n },\n typeof chunkConfig.rowContent === 'function'\n ? chunkConfig.rowContent(arg)\n : chunkConfig.rowContent,\n ),\n )\n\n return content\n}\n\nexport function isColPropsEqual(cols0: ColProps[], cols1: ColProps[]) {\n return isArraysEqual(cols0, cols1, isPropsEqual)\n}\n\nexport function renderMicroColGroup(cols: ColProps[], shrinkWidth?: number): VNode {\n let colNodes: VNode[] = []\n\n /*\n for ColProps with spans, it would have been great to make a single \n HOWEVER, Chrome was getting messing up distributing the width to elements makes Chrome behave.\n */\n for (let colProps of cols) {\n let span = colProps.span || 1\n\n for (let i = 0; i < span; i += 1) {\n colNodes.push(\n ,\n )\n }\n }\n\n return createElement('colgroup', {}, ...colNodes)\n}\n\nexport function sanitizeShrinkWidth(shrinkWidth?: number) {\n /* why 4? if we do 0, it will kill any border, which are needed for computeSmallestCellWidth\n 4 accounts for 2 2-pixel borders. TODO: better solution? */\n return shrinkWidth == null ? 4 : shrinkWidth\n}\n\nexport function hasShrinkWidth(cols: ColProps[]) {\n for (let col of cols) {\n if (col.width === 'shrink') {\n return true\n }\n }\n\n return false\n}\n\nexport function getScrollGridClassNames(liquid: boolean, context: ViewContext) {\n let classNames = [\n 'fc-scrollgrid',\n context.theme.getClass('table'),\n ]\n\n if (liquid) {\n classNames.push('fc-scrollgrid-liquid')\n }\n\n return classNames\n}\n\nexport function getSectionClassNames(sectionConfig: SectionConfig, wholeTableVGrow: boolean) {\n let classNames = [\n 'fc-scrollgrid-section',\n `fc-scrollgrid-section-${sectionConfig.type}`,\n sectionConfig.className, // used?\n ]\n\n if (wholeTableVGrow && sectionConfig.liquid && sectionConfig.maxHeight == null) {\n classNames.push('fc-scrollgrid-section-liquid')\n }\n\n if (sectionConfig.isSticky) {\n classNames.push('fc-scrollgrid-section-sticky')\n }\n\n return classNames\n}\n\nexport function renderScrollShim(arg: ChunkContentCallbackArgs) {\n return (\n \n )\n}\n\nexport function getStickyHeaderDates(options: BaseOptionsRefined) {\n let { stickyHeaderDates } = options\n\n if (stickyHeaderDates == null || stickyHeaderDates === 'auto') {\n stickyHeaderDates = options.height === 'auto' || options.viewHeight === 'auto'\n }\n\n return stickyHeaderDates\n}\n\nexport function getStickyFooterScrollbar(options: BaseOptionsRefined) {\n let { stickyFooterScrollbar } = options\n\n if (stickyFooterScrollbar == null || stickyFooterScrollbar === 'auto') {\n stickyFooterScrollbar = options.height === 'auto' || options.viewHeight === 'auto'\n }\n\n return stickyFooterScrollbar\n}\n","import { VNode, createElement, Fragment } from '../vdom'\nimport { BaseComponent, setRef } from '../vdom-util'\nimport { Scroller, OverflowValue } from './Scroller'\nimport { RefMap } from '../util/RefMap'\nimport {\n ColProps, SectionConfig, renderMicroColGroup, computeShrinkWidth, getScrollGridClassNames, getSectionClassNames, getAllowYScrolling,\n renderChunkContent, getSectionHasLiquidHeight, ChunkConfig, hasShrinkWidth, CssDimValue,\n isColPropsEqual,\n} from './util'\nimport { getCanVGrowWithinCell } from '../util/table-styling'\nimport { memoize } from '../util/memoize'\nimport { isPropsEqual } from '../util/object'\nimport { getScrollbarWidths } from '../util/scrollbar-width'\n\nexport interface SimpleScrollGridProps {\n cols: ColProps[]\n sections: SimpleScrollGridSection[]\n liquid: boolean // liquid *height*\n collapsibleWidth: boolean // can ALL sections be fully collapsed in width?\n height?: CssDimValue // TODO: give to real ScrollGrid\n}\n\nexport interface SimpleScrollGridSection extends SectionConfig {\n key: string\n chunk?: ChunkConfig\n}\n\ninterface SimpleScrollGridState {\n shrinkWidth: number | null\n forceYScrollbars: boolean\n scrollerClientWidths: { [key: string]: number }\n scrollerClientHeights: { [key: string]: number }\n}\n\nexport class SimpleScrollGrid extends BaseComponent {\n processCols = memoize((a) => a, isColPropsEqual) // so we get same `cols` props every time\n\n // yucky to memoize VNodes, but much more efficient for consumers\n renderMicroColGroup: typeof renderMicroColGroup = memoize(renderMicroColGroup)\n\n scrollerRefs = new RefMap()\n scrollerElRefs = new RefMap(this._handleScrollerEl.bind(this))\n\n state: SimpleScrollGridState = {\n shrinkWidth: null,\n forceYScrollbars: false,\n scrollerClientWidths: {},\n scrollerClientHeights: {},\n }\n\n render(): VNode {\n let { props, state, context } = this\n let sectionConfigs = props.sections || []\n let cols = this.processCols(props.cols)\n\n let microColGroupNode = this.renderMicroColGroup(cols, state.shrinkWidth)\n let classNames = getScrollGridClassNames(props.liquid, context)\n\n if (props.collapsibleWidth) {\n classNames.push('fc-scrollgrid-collapsible')\n }\n\n // TODO: make DRY\n let configCnt = sectionConfigs.length\n let configI = 0\n let currentConfig: SimpleScrollGridSection\n let headSectionNodes: VNode[] = []\n let bodySectionNodes: VNode[] = []\n let footSectionNodes: VNode[] = []\n\n while (configI < configCnt && (currentConfig = sectionConfigs[configI]).type === 'header') {\n headSectionNodes.push(this.renderSection(currentConfig, microColGroupNode, true))\n configI += 1\n }\n\n while (configI < configCnt && (currentConfig = sectionConfigs[configI]).type === 'body') {\n bodySectionNodes.push(this.renderSection(currentConfig, microColGroupNode, false))\n configI += 1\n }\n\n while (configI < configCnt && (currentConfig = sectionConfigs[configI]).type === 'footer') {\n footSectionNodes.push(this.renderSection(currentConfig, microColGroupNode, true))\n configI += 1\n }\n\n // firefox bug: when setting height on table and there is a thead or tfoot,\n // the necessary height:100% on the liquid-height body section forces the *whole* table to be taller. (bug #5524)\n // use getCanVGrowWithinCell as a way to detect table-stupid firefox.\n // if so, use a simpler dom structure, jam everything into a lone tbody.\n let isBuggy = !getCanVGrowWithinCell()\n\n const roleAttrs = { role: 'rowgroup' }\n\n return createElement(\n 'table',\n {\n role: 'grid',\n className: classNames.join(' '),\n style: { height: props.height },\n },\n Boolean(!isBuggy && headSectionNodes.length) && createElement('thead', roleAttrs, ...headSectionNodes),\n Boolean(!isBuggy && bodySectionNodes.length) && createElement('tbody', roleAttrs, ...bodySectionNodes),\n Boolean(!isBuggy && footSectionNodes.length) && createElement('tfoot', roleAttrs, ...footSectionNodes),\n isBuggy && createElement('tbody', roleAttrs, ...headSectionNodes, ...bodySectionNodes, ...footSectionNodes),\n )\n }\n\n renderSection(sectionConfig: SimpleScrollGridSection, microColGroupNode: VNode, isHeader: boolean) {\n if ('outerContent' in sectionConfig) {\n return (\n \n {sectionConfig.outerContent}\n \n )\n }\n\n return (\n \n {this.renderChunkTd(sectionConfig, microColGroupNode, sectionConfig.chunk, isHeader)}\n \n )\n }\n\n renderChunkTd(\n sectionConfig: SimpleScrollGridSection,\n microColGroupNode: VNode,\n chunkConfig: ChunkConfig,\n isHeader: boolean,\n ): createElement.JSX.Element {\n if ('outerContent' in chunkConfig) {\n return chunkConfig.outerContent\n }\n\n let { props } = this\n let { forceYScrollbars, scrollerClientWidths, scrollerClientHeights } = this.state\n\n let needsYScrolling = getAllowYScrolling(props, sectionConfig) // TODO: do lazily. do in section config?\n let isLiquid = getSectionHasLiquidHeight(props, sectionConfig)\n\n // for `!props.liquid` - is WHOLE scrollgrid natural height?\n // TODO: do same thing in advanced scrollgrid? prolly not b/c always has horizontal scrollbars\n let overflowY: OverflowValue =\n !props.liquid ? 'visible' :\n forceYScrollbars ? 'scroll' :\n !needsYScrolling ? 'hidden' :\n 'auto'\n\n let sectionKey = sectionConfig.key\n let content = renderChunkContent(sectionConfig, chunkConfig, {\n tableColGroupNode: microColGroupNode,\n tableMinWidth: '',\n clientWidth: (!props.collapsibleWidth && scrollerClientWidths[sectionKey] !== undefined) ? scrollerClientWidths[sectionKey] : null,\n clientHeight: scrollerClientHeights[sectionKey] !== undefined ? scrollerClientHeights[sectionKey] : null,\n expandRows: sectionConfig.expandRows,\n syncRowHeights: false,\n rowSyncHeights: [],\n reportRowHeightChange: () => {},\n }, isHeader)\n\n return createElement(\n isHeader ? 'th' : 'td',\n {\n ref: chunkConfig.elRef as any,\n role: 'presentation',\n },\n
\n \n {content}\n \n
,\n )\n }\n\n _handleScrollerEl(scrollerEl: HTMLElement | null, key: string) {\n let section = getSectionByKey(this.props.sections, key)\n\n if (section) {\n setRef(section.chunk.scrollerElRef, scrollerEl)\n }\n }\n\n // TODO: can do a really simple print-view. dont need to join rows\n handleSizing = () => {\n this.safeSetState({\n shrinkWidth: this.computeShrinkWidth(), // will create each chunk's
. TODO: precompute hasShrinkWidth\n ...this.computeScrollerDims(),\n })\n }\n\n componentDidMount() {\n this.handleSizing()\n this.context.addResizeHandler(this.handleSizing)\n }\n\n componentDidUpdate() {\n // TODO: need better solution when state contains non-sizing things\n this.handleSizing()\n }\n\n componentWillUnmount() {\n this.context.removeResizeHandler(this.handleSizing)\n }\n\n computeShrinkWidth() {\n return hasShrinkWidth(this.props.cols)\n ? computeShrinkWidth(this.scrollerElRefs.getAll())\n : 0\n }\n\n computeScrollerDims() {\n let scrollbarWidth = getScrollbarWidths()\n let { scrollerRefs, scrollerElRefs } = this\n\n let forceYScrollbars = false\n let scrollerClientWidths: { [index: string]: number } = {}\n let scrollerClientHeights: { [index: string]: number } = {}\n\n for (let sectionKey in scrollerRefs.currentMap) {\n let scroller = scrollerRefs.currentMap[sectionKey]\n\n if (scroller && scroller.needsYScrolling()) {\n forceYScrollbars = true\n break\n }\n }\n\n for (let section of this.props.sections) {\n let sectionKey = section.key\n let scrollerEl = scrollerElRefs.currentMap[sectionKey]\n\n if (scrollerEl) {\n let harnessEl = scrollerEl.parentNode as HTMLElement // TODO: weird way to get this. need harness b/c doesn't include table borders\n\n scrollerClientWidths[sectionKey] = Math.floor(\n harnessEl.getBoundingClientRect().width - (\n forceYScrollbars\n ? scrollbarWidth.y // use global because scroller might not have scrollbars yet but will need them in future\n : 0\n ),\n )\n\n scrollerClientHeights[sectionKey] = Math.floor(\n harnessEl.getBoundingClientRect().height, // never has horizontal scrollbars\n )\n }\n }\n\n return { forceYScrollbars, scrollerClientWidths, scrollerClientHeights }\n }\n}\n\nSimpleScrollGrid.addStateEquality({\n scrollerClientWidths: isPropsEqual,\n scrollerClientHeights: isPropsEqual,\n})\n\nfunction getSectionByKey(sections: SimpleScrollGridSection[], key: string): SimpleScrollGridSection | null {\n for (let section of sections) {\n if (section.key === key) {\n return section\n }\n }\n\n return null\n}\n","import { Seg } from '../component/DateComponent'\nimport { ComponentChildren, createElement, Ref, createRef, RefObject } from '../vdom'\nimport { EventApi } from '../api/EventApi'\nimport {\n computeSegDraggable,\n computeSegStartResizable,\n computeSegEndResizable,\n setElSeg,\n EventContentArg,\n getEventClassNames,\n} from '../component/event-rendering'\nimport { RenderHook } from './render-hook'\nimport { BaseComponent } from '../vdom-util'\n\nexport interface MinimalEventProps {\n seg: Seg\n isDragging: boolean // rename to isMirrorDragging? make optional?\n isResizing: boolean // rename to isMirrorResizing? make optional?\n isDateSelecting: boolean // rename to isMirrorDateSelecting? make optional?\n isSelected: boolean\n isPast: boolean\n isFuture: boolean\n isToday: boolean\n}\n\nexport interface EventRootProps extends MinimalEventProps {\n timeText: string\n disableDragging?: boolean\n disableResizing?: boolean\n defaultContent: (hookProps: EventContentArg) => ComponentChildren\n children: (\n rootElRef: Ref,\n classNames: string[],\n innerElRef: Ref,\n innerContent: ComponentChildren,\n hookProps: EventContentArg\n ) => ComponentChildren\n}\n\nexport class EventRoot extends BaseComponent {\n elRef: RefObject = createRef()\n\n render() {\n let { props, context } = this\n let { options } = context\n let { seg } = props\n let { eventRange } = seg\n let { ui } = eventRange\n\n let hookProps: EventContentArg = {\n event: new EventApi(context, eventRange.def, eventRange.instance),\n view: context.viewApi,\n timeText: props.timeText,\n textColor: ui.textColor,\n backgroundColor: ui.backgroundColor,\n borderColor: ui.borderColor,\n isDraggable: !props.disableDragging && computeSegDraggable(seg, context),\n isStartResizable: !props.disableResizing && computeSegStartResizable(seg, context),\n isEndResizable: !props.disableResizing && computeSegEndResizable(seg, context),\n isMirror: Boolean(props.isDragging || props.isResizing || props.isDateSelecting),\n isStart: Boolean(seg.isStart),\n isEnd: Boolean(seg.isEnd),\n isPast: Boolean(props.isPast), // TODO: don't cast. getDateMeta does it\n isFuture: Boolean(props.isFuture), // TODO: don't cast. getDateMeta does it\n isToday: Boolean(props.isToday), // TODO: don't cast. getDateMeta does it\n isSelected: Boolean(props.isSelected),\n isDragging: Boolean(props.isDragging),\n isResizing: Boolean(props.isResizing),\n }\n\n let standardClassNames = getEventClassNames(hookProps).concat(ui.classNames)\n\n return (\n \n {(rootElRef, customClassNames, innerElRef, innerContent) => props.children(\n rootElRef, standardClassNames.concat(customClassNames), innerElRef, innerContent, hookProps,\n )}\n \n )\n }\n\n componentDidMount() {\n setElSeg(this.elRef.current, this.props.seg)\n }\n\n /*\n need to re-assign seg to the element if seg changes, even if the element is the same\n */\n componentDidUpdate(prevProps: EventRootProps) {\n let { seg } = this.props\n\n if (seg !== prevProps.seg) {\n setElSeg(this.elRef.current, seg)\n }\n }\n}\n","import { ComponentChildren, createElement, Fragment } from '../vdom'\nimport { BaseComponent } from '../vdom-util'\nimport { buildSegTimeText, EventContentArg, getSegAnchorAttrs } from '../component/event-rendering'\nimport { EventRoot, MinimalEventProps } from './EventRoot'\nimport { DateFormatter } from '../datelib/DateFormatter'\n\nexport interface StandardEventProps extends MinimalEventProps {\n extraClassNames: string[]\n defaultTimeFormat: DateFormatter\n defaultDisplayEventTime?: boolean // default true\n defaultDisplayEventEnd?: boolean // default true\n disableDragging?: boolean // default false\n disableResizing?: boolean // default false\n defaultContent?: (hookProps: EventContentArg) => ComponentChildren // not used by anyone yet\n}\n\n// should not be a purecomponent\nexport class StandardEvent extends BaseComponent {\n render() {\n let { props, context } = this\n let { seg } = props\n let timeFormat = context.options.eventTimeFormat || props.defaultTimeFormat\n let timeText = buildSegTimeText(\n seg,\n timeFormat,\n context,\n props.defaultDisplayEventTime,\n props.defaultDisplayEventEnd,\n )\n\n return (\n \n {(rootElRef, classNames, innerElRef, innerContent, hookProps) => (\n \n
\n {innerContent}\n
\n {hookProps.isStartResizable &&\n
}\n {hookProps.isEndResizable &&\n
}\n \n )}\n \n )\n }\n}\n\nfunction renderInnerContent(innerProps: EventContentArg) {\n return (\n
\n {innerProps.timeText && (\n
{innerProps.timeText}
\n )}\n
\n
\n {innerProps.event.title ||  }\n
\n
\n
\n )\n}\n","import { RenderHook, RenderHookPropsChildren, MountArg } from './render-hook'\nimport { DateMarker } from '../datelib/marker'\nimport { ViewContext, ViewContextType } from '../ViewContext'\nimport { createElement } from '../vdom'\nimport { ViewApi } from '../ViewApi'\n\nexport interface NowIndicatorRootProps {\n isAxis: boolean\n date: DateMarker\n children: RenderHookPropsChildren\n}\n\nexport interface NowIndicatorContentArg {\n isAxis: boolean\n date: Date\n view: ViewApi\n}\n\nexport type NowIndicatorMountArg = MountArg\n\nexport const NowIndicatorRoot = (props: NowIndicatorRootProps) => (\n \n {(context: ViewContext) => {\n let { options } = context\n let hookProps: NowIndicatorContentArg = {\n isAxis: props.isAxis,\n date: context.dateEnv.toDate(props.date),\n view: context.viewApi,\n }\n\n return (\n \n {props.children}\n \n )\n }}\n \n)\n","import { Ref, ComponentChildren, createElement } from '../vdom'\nimport { DateMarker } from '../datelib/marker'\nimport { DateRange } from '../datelib/date-range'\nimport { getDateMeta, DateMeta } from '../component/date-rendering'\nimport { createFormatter } from '../datelib/formatting'\nimport { ContentHook } from './render-hook'\nimport { ViewApi } from '../ViewApi'\nimport { BaseComponent } from '../vdom-util'\nimport { DateProfile } from '../DateProfileGenerator'\nimport { Dictionary } from '../options'\nimport { DateEnv } from '../datelib/env'\n\nconst DAY_NUM_FORMAT = createFormatter({ day: 'numeric' })\n\nexport interface DayCellContentProps {\n date: DateMarker\n dateProfile: DateProfile\n todayRange: DateRange\n showDayNumber?: boolean // defaults to false\n extraHookProps?: Dictionary\n defaultContent?: (hookProps: DayCellContentArg) => ComponentChildren\n children: (\n innerElRef: Ref,\n innerContent: ComponentChildren\n ) => ComponentChildren\n}\n\nexport interface DayCellContentArg extends DateMeta {\n date: DateMarker // localized\n view: ViewApi\n dayNumberText: string\n [extraProp: string]: any // so can include a resource\n}\n\nexport interface DayCellHookPropsInput {\n date: DateMarker // generic\n dateProfile: DateProfile\n todayRange: DateRange\n dateEnv: DateEnv\n viewApi: ViewApi\n showDayNumber?: boolean // defaults to false\n extraProps?: Dictionary // so can include a resource\n}\n\nexport class DayCellContent extends BaseComponent {\n render() {\n let { props, context } = this\n let { options } = context\n let hookProps = refineDayCellHookProps({\n date: props.date,\n dateProfile: props.dateProfile,\n todayRange: props.todayRange,\n showDayNumber: props.showDayNumber,\n extraProps: props.extraHookProps,\n viewApi: context.viewApi,\n dateEnv: context.dateEnv,\n })\n\n return (\n \n {props.children}\n \n )\n }\n}\n\nexport function refineDayCellHookProps(raw: DayCellHookPropsInput): DayCellContentArg {\n let { date, dateEnv } = raw\n let dayMeta = getDateMeta(date, raw.todayRange, null, raw.dateProfile)\n\n return {\n date: dateEnv.toDate(date),\n view: raw.viewApi,\n ...dayMeta,\n dayNumberText: raw.showDayNumber ? dateEnv.format(date, DAY_NUM_FORMAT) : '',\n ...raw.extraProps,\n }\n}\n","import { Ref, ComponentChildren, createElement } from '../vdom'\nimport { DateMarker } from '../datelib/marker'\nimport { DateRange } from '../datelib/date-range'\nimport { getDayClassNames, DateMeta } from '../component/date-rendering'\nimport { formatDayString } from '../datelib/formatting-utils'\nimport { buildClassNameNormalizer, MountHook, MountArg } from './render-hook'\nimport { ViewApi } from '../ViewApi'\nimport { BaseComponent } from '../vdom-util'\nimport { DateProfile } from '../DateProfileGenerator'\nimport { memoizeObjArg } from '../util/memoize'\nimport { Dictionary } from '../options'\nimport { refineDayCellHookProps } from './DayCellContent'\n\nexport interface DayCellContentArg extends DateMeta {\n date: DateMarker // localized\n view: ViewApi\n dayNumberText: string\n [extraProp: string]: any // so can include a resource\n}\nexport type DayCellMountArg = MountArg\n\nexport interface DayCellRootProps {\n elRef?: Ref\n date: DateMarker\n dateProfile: DateProfile\n todayRange: DateRange\n showDayNumber?: boolean // defaults to false\n extraHookProps?: Dictionary\n children: (\n rootElRef: Ref,\n classNames: string[],\n rootDataAttrs,\n isDisabled: boolean\n ) => ComponentChildren\n}\n\nexport class DayCellRoot extends BaseComponent {\n refineHookProps = memoizeObjArg(refineDayCellHookProps)\n normalizeClassNames = buildClassNameNormalizer()\n\n render() {\n let { props, context } = this\n let { options } = context\n let hookProps = this.refineHookProps({\n date: props.date,\n dateProfile: props.dateProfile,\n todayRange: props.todayRange,\n showDayNumber: props.showDayNumber,\n extraProps: props.extraHookProps,\n viewApi: context.viewApi,\n dateEnv: context.dateEnv,\n })\n\n let classNames = getDayClassNames(hookProps, context.theme).concat(\n hookProps.isDisabled\n ? [] // don't use custom classNames if disabled\n : this.normalizeClassNames(options.dayCellClassNames, hookProps),\n )\n\n let dataAttrs = hookProps.isDisabled ? {} : {\n 'data-date': formatDayString(props.date),\n }\n\n return (\n \n {(rootElRef) => props.children(rootElRef, classNames, dataAttrs, hookProps.isDisabled)}\n \n )\n }\n}\n","import { createElement } from '../vdom'\nimport { EventRoot } from './EventRoot'\nimport { Seg } from '../component/DateComponent'\nimport { EventContentArg } from '../component/event-rendering'\n\nexport function renderFill(fillType: string) {\n return (\n
\n )\n}\n\nexport interface BgEventProps {\n seg: Seg\n isPast: boolean\n isFuture: boolean\n isToday: boolean\n}\n\nexport const BgEvent = (props: BgEventProps) => (\n \n {(rootElRef, classNames, innerElRef, innerContent, hookProps) => (\n \n {innerContent}\n
\n )}\n \n)\n\nfunction renderInnerContent(props: EventContentArg) {\n let { title } = props.event\n\n return title && (\n
{props.event.title}
\n )\n}\n","import { ViewContext, ViewContextType } from '../ViewContext'\nimport { DateMarker } from '../datelib/marker'\nimport { RenderHook, RenderHookPropsChildren, MountArg } from './render-hook'\nimport { createElement } from '../vdom'\nimport { DateFormatter } from '../datelib/DateFormatter'\n\nexport interface WeekNumberRootProps {\n date: DateMarker\n defaultFormat: DateFormatter\n children: RenderHookPropsChildren\n}\n\nexport interface WeekNumberContentArg {\n num: number\n text: string\n date: Date\n}\nexport type WeekNumberMountArg = MountArg\n\nexport const WeekNumberRoot = (props: WeekNumberRootProps) => (\n \n {(context: ViewContext) => {\n let { dateEnv, options } = context\n let { date } = props\n let format = options.weekNumberFormat || props.defaultFormat\n let num = dateEnv.computeWeekNumber(date) // TODO: somehow use for formatting as well?\n let text = dateEnv.format(date, format)\n let hookProps: WeekNumberContentArg = { num, text, date }\n\n return (\n // why isn't WeekNumberContentArg being auto-detected?\n hookProps={hookProps}\n classNames={options.weekNumberClassNames}\n content={options.weekNumberContent}\n defaultContent={renderInner}\n didMount={options.weekNumberDidMount}\n willUnmount={options.weekNumberWillUnmount}\n >\n {props.children}\n \n )\n }}\n \n)\n\nfunction renderInner(innerProps) {\n return innerProps.text\n}\n","import { Dictionary } from '../options'\nimport { computeClippedClientRect } from '../util/dom-geom'\nimport { applyStyle, elementClosest, getEventTargetViaRoot, getUniqueDomId } from '../util/dom-manip'\nimport { createElement, ComponentChildren, Ref, createPortal } from '../vdom'\nimport { BaseComponent, setRef } from '../vdom-util'\n\nexport interface PopoverProps {\n elRef?: Ref\n id: string\n title: string\n extraClassNames?: string[]\n extraAttrs?: Dictionary\n parentEl: HTMLElement\n alignmentEl: HTMLElement\n alignGridTop?: boolean\n children?: ComponentChildren\n onClose?: () => void\n}\n\nconst PADDING_FROM_VIEWPORT = 10\n\nexport class Popover extends BaseComponent {\n private rootEl: HTMLElement\n state = {\n titleId: getUniqueDomId(),\n }\n\n render() {\n let { theme, options } = this.context\n let { props, state } = this\n let classNames = [\n 'fc-popover',\n theme.getClass('popover'),\n ].concat(\n props.extraClassNames || [],\n )\n\n return createPortal(\n \n
\n \n {props.title}\n \n \n
\n
\n {props.children}\n
\n
,\n props.parentEl,\n )\n }\n\n componentDidMount() {\n document.addEventListener('mousedown', this.handleDocumentMouseDown)\n document.addEventListener('keydown', this.handleDocumentKeyDown)\n this.updateSize()\n }\n\n componentWillUnmount() {\n document.removeEventListener('mousedown', this.handleDocumentMouseDown)\n document.removeEventListener('keydown', this.handleDocumentKeyDown)\n }\n\n handleRootEl = (el: HTMLElement | null) => {\n this.rootEl = el\n\n if (this.props.elRef) {\n setRef(this.props.elRef, el)\n }\n }\n\n // Triggered when the user clicks *anywhere* in the document, for the autoHide feature\n handleDocumentMouseDown = (ev) => {\n // only hide the popover if the click happened outside the popover\n const target = getEventTargetViaRoot(ev) as HTMLElement\n if (!this.rootEl.contains(target)) {\n this.handleCloseClick()\n }\n }\n\n handleDocumentKeyDown = (ev) => {\n if (ev.key === 'Escape') {\n this.handleCloseClick()\n }\n }\n\n handleCloseClick = () => {\n let { onClose } = this.props\n if (onClose) {\n onClose()\n }\n }\n\n private updateSize() {\n let { isRtl } = this.context\n let { alignmentEl, alignGridTop } = this.props\n let { rootEl } = this\n\n let alignmentRect = computeClippedClientRect(alignmentEl)\n if (alignmentRect) {\n let popoverDims = rootEl.getBoundingClientRect()\n\n // position relative to viewport\n let popoverTop = alignGridTop\n ? elementClosest(alignmentEl, '.fc-scrollgrid').getBoundingClientRect().top\n : alignmentRect.top\n let popoverLeft = isRtl ? alignmentRect.right - popoverDims.width : alignmentRect.left\n\n // constrain\n popoverTop = Math.max(popoverTop, PADDING_FROM_VIEWPORT)\n popoverLeft = Math.min(popoverLeft, document.documentElement.clientWidth - PADDING_FROM_VIEWPORT - popoverDims.width)\n popoverLeft = Math.max(popoverLeft, PADDING_FROM_VIEWPORT)\n\n let origin = rootEl.offsetParent.getBoundingClientRect()\n applyStyle(rootEl, {\n top: popoverTop - origin.top,\n left: popoverLeft - origin.left,\n })\n }\n }\n}\n","import { DateComponent } from '../component/DateComponent'\nimport { DateRange } from '../datelib/date-range'\nimport { DateMarker } from '../datelib/marker'\nimport { DateProfile } from '../DateProfileGenerator'\nimport { Hit } from '../interactions/hit'\nimport { Dictionary } from '../options'\nimport { createElement, ComponentChildren } from '../vdom'\nimport { DayCellContent } from './DayCellContent'\nimport { DayCellRoot } from './DayCellRoot'\nimport { Popover } from './Popover'\n\nexport interface MorePopoverProps {\n id: string\n startDate: DateMarker\n endDate: DateMarker\n dateProfile: DateProfile\n parentEl: HTMLElement\n alignmentEl: HTMLElement\n alignGridTop?: boolean\n todayRange: DateRange\n extraDateSpan: Dictionary\n children: ComponentChildren\n onClose?: () => void\n}\n\nexport class MorePopover extends DateComponent {\n rootEl: HTMLElement\n\n render() {\n let { options, dateEnv } = this.context\n let { props } = this\n let { startDate, todayRange, dateProfile } = props\n let title = dateEnv.format(startDate, options.dayPopoverFormat)\n return (\n \n {(rootElRef, dayClassNames, dataAttrs) => (\n \n \n {(innerElRef, innerContent) => (\n innerContent &&\n
{innerContent}
\n )}\n
\n {props.children}\n \n )}\n
\n )\n }\n\n handleRootEl = (rootEl: HTMLDivElement | null) => {\n this.rootEl = rootEl\n if (rootEl) {\n this.context.registerInteractiveComponent(this, {\n el: rootEl,\n useEventCenter: false,\n })\n } else {\n this.context.unregisterInteractiveComponent(this)\n }\n }\n\n queryHit(positionLeft: number, positionTop: number, elWidth: number, elHeight: number): Hit {\n let { rootEl, props } = this\n\n if (\n positionLeft >= 0 && positionLeft < elWidth &&\n positionTop >= 0 && positionTop < elHeight\n ) {\n return {\n dateProfile: props.dateProfile,\n dateSpan: {\n allDay: true,\n range: {\n start: props.startDate,\n end: props.endDate,\n },\n ...props.extraDateSpan,\n },\n dayEl: rootEl,\n rect: {\n left: 0,\n top: 0,\n right: elWidth,\n bottom: elHeight,\n },\n layer: 1, // important when comparing with hits from other components\n }\n }\n\n return null\n }\n}\n","import { EventApi } from '../api/EventApi'\nimport { Seg } from '../component/DateComponent'\nimport { DateRange } from '../datelib/date-range'\nimport { addDays, DateMarker } from '../datelib/marker'\nimport { DateProfile } from '../DateProfileGenerator'\nimport { Dictionary } from '../options'\nimport { elementClosest, getUniqueDomId } from '../util/dom-manip'\nimport { formatWithOrdinals } from '../util/misc'\nimport { ComponentChildren, createElement, createRef, Fragment, Ref, RefObject, VNode } from '../vdom'\nimport { BaseComponent } from '../vdom-util'\nimport { ViewApi } from '../ViewApi'\nimport { ViewContext, ViewContextType } from '../ViewContext'\nimport { MorePopover } from './MorePopover'\nimport { MountArg, RenderHook } from './render-hook'\n\nexport type MoreLinkChildren = (\n rootElRef: Ref,\n classNames: string[],\n innerElRef: Ref,\n innerContent: ComponentChildren,\n handleClick: (ev: MouseEvent) => void,\n title: string, // for a11y\n isExpanded: boolean,\n popoverId: string,\n) => ComponentChildren\n\nexport interface MoreLinkRootProps { // what the MoreLinkRoot component receives\n dateProfile: DateProfile\n todayRange: DateRange\n allDayDate: DateMarker | null\n moreCnt: number // can't always derive from hiddenSegs. some hiddenSegs might be due to lack of dimensions\n allSegs: Seg[]\n hiddenSegs: Seg[]\n extraDateSpan?: Dictionary\n alignmentElRef: RefObject // for popover\n alignGridTop?: boolean // for popover\n topAlignmentElRef?: RefObject\n defaultContent?: (hookProps: MoreLinkContentArg) => ComponentChildren\n popoverContent: () => VNode\n children: MoreLinkChildren\n}\n\nexport interface MoreLinkContentArg { // what the render-hooks receive\n num: number\n text: string\n shortText: string\n view: ViewApi\n}\n\nexport type MoreLinkMountArg = MountArg\n\ninterface MoreLinkRootState {\n isPopoverOpen: boolean\n popoverId: string\n}\n\nexport class MoreLinkRoot extends BaseComponent {\n private linkElRef = createRef()\n private parentEl: HTMLElement\n\n state = {\n isPopoverOpen: false,\n popoverId: getUniqueDomId(),\n }\n\n render() {\n let { props, state } = this\n return (\n \n {(context: ViewContext) => {\n let { viewApi, options, calendarApi } = context\n let { moreLinkText } = options\n let { moreCnt } = props\n let range = computeRange(props)\n\n let text = typeof moreLinkText === 'function' // TODO: eventually use formatWithOrdinals\n ? moreLinkText.call(calendarApi, moreCnt)\n : `+${moreCnt} ${moreLinkText}`\n let title = formatWithOrdinals(options.moreLinkHint, [moreCnt], text)\n let hookProps: MoreLinkContentArg = {\n num: moreCnt,\n shortText: `+${moreCnt}`, // TODO: offer hook or i18n?\n text,\n view: viewApi,\n }\n\n return (\n \n {Boolean(props.moreCnt) && (\n \n elRef={this.linkElRef}\n hookProps={hookProps}\n classNames={options.moreLinkClassNames}\n content={options.moreLinkContent}\n defaultContent={props.defaultContent || renderMoreLinkInner}\n didMount={options.moreLinkDidMount}\n willUnmount={options.moreLinkWillUnmount}\n >\n {(rootElRef, customClassNames, innerElRef, innerContent) => props.children(\n rootElRef,\n ['fc-more-link'].concat(customClassNames),\n innerElRef,\n innerContent,\n this.handleClick,\n title,\n state.isPopoverOpen,\n state.isPopoverOpen ? state.popoverId : '',\n )}\n \n )}\n {state.isPopoverOpen && (\n \n {props.popoverContent()}\n \n )}\n \n )\n }}\n \n )\n }\n\n componentDidMount() {\n this.updateParentEl()\n }\n\n componentDidUpdate() {\n this.updateParentEl()\n }\n\n updateParentEl() {\n if (this.linkElRef.current) {\n this.parentEl = elementClosest(this.linkElRef.current, '.fc-view-harness')\n }\n }\n\n handleClick = (ev: MouseEvent) => {\n let { props, context } = this\n let { moreLinkClick } = context.options\n let date = computeRange(props).start\n\n function buildPublicSeg(seg: Seg) {\n let { def, instance, range } = seg.eventRange\n return {\n event: new EventApi(context, def, instance),\n start: context.dateEnv.toDate(range.start),\n end: context.dateEnv.toDate(range.end),\n isStart: seg.isStart,\n isEnd: seg.isEnd,\n }\n }\n\n if (typeof moreLinkClick === 'function') {\n moreLinkClick = moreLinkClick({\n date,\n allDay: Boolean(props.allDayDate),\n allSegs: props.allSegs.map(buildPublicSeg),\n hiddenSegs: props.hiddenSegs.map(buildPublicSeg),\n jsEvent: ev,\n view: context.viewApi,\n }) as string | undefined\n }\n\n if (!moreLinkClick || moreLinkClick === 'popover') {\n this.setState({ isPopoverOpen: true })\n } else if (typeof moreLinkClick === 'string') { // a view name\n context.calendarApi.zoomTo(date, moreLinkClick)\n }\n }\n\n handlePopoverClose = () => {\n this.setState({ isPopoverOpen: false })\n }\n}\n\nfunction renderMoreLinkInner(props: MoreLinkContentArg) {\n return props.text\n}\n\nfunction computeRange(props: MoreLinkRootProps): DateRange {\n if (props.allDayDate) {\n return {\n start: props.allDayDate,\n end: addDays(props.allDayDate, 1),\n }\n }\n\n let { hiddenSegs } = props\n return {\n start: computeEarliestSegStart(hiddenSegs),\n end: computeLatestSegEnd(hiddenSegs),\n }\n}\n\nexport function computeEarliestSegStart(segs: Seg[]): DateMarker {\n return segs.reduce(pickEarliestStart).eventRange.range.start\n}\n\nfunction pickEarliestStart(seg0: Seg, seg1: Seg): Seg {\n return seg0.eventRange.range.start < seg1.eventRange.range.start ? seg0 : seg1\n}\n\nfunction computeLatestSegEnd(segs: Seg[]): DateMarker {\n return segs.reduce(pickLatestEnd).eventRange.range.end\n}\n\nfunction pickLatestEnd(seg0: Seg, seg1: Seg): Seg {\n return seg0.eventRange.range.end > seg1.eventRange.range.end ? seg0 : seg1\n}\n","import './vdom'\nimport * as React from 'react'\nimport {\n CalendarOptions,\n CalendarApi, CalendarDataProvider,\n CalendarContent, CalendarRoot\n} from '@fullcalendar/common'\n\n\nexport default class FullCalendar extends React.Component {\n\n private _calendarApi = new CalendarApi()\n\n\n render() {\n return (\n \n {(data) => (\n \n {(classNames, height, isHeightAuto, forPrint) => (\n
\n \n
\n )}\n
\n )}\n
\n )\n }\n\n\n getApi(): CalendarApi {\n return this._calendarApi\n }\n\n}\n\n\n// export all important utils/types\nexport * from '@fullcalendar/common'\n","import {\n VNode, createElement,\n SimpleScrollGrid,\n SimpleScrollGridSection,\n ChunkContentCallbackArgs,\n createRef,\n ScrollGridSectionConfig,\n ViewRoot,\n DateComponent,\n ViewProps,\n RefObject,\n renderScrollShim,\n getStickyHeaderDates,\n getStickyFooterScrollbar,\n ChunkConfigRowContent,\n Dictionary,\n} from '@fullcalendar/common'\n\n/* An abstract class for the daygrid views, as well as month view. Renders one or more rows of day cells.\n----------------------------------------------------------------------------------------------------------------------*/\n// It is a manager for a Table subcomponent, which does most of the heavy lifting.\n// It is responsible for managing width/height.\n\nexport abstract class TableView extends DateComponent {\n protected headerElRef: RefObject = createRef()\n\n renderSimpleLayout(\n headerRowContent: ChunkConfigRowContent,\n bodyContent: (contentArg: ChunkContentCallbackArgs) => VNode,\n ) {\n let { props, context } = this\n let sections: SimpleScrollGridSection[] = []\n let stickyHeaderDates = getStickyHeaderDates(context.options)\n\n if (headerRowContent) {\n sections.push({\n type: 'header',\n key: 'header',\n isSticky: stickyHeaderDates,\n chunk: {\n elRef: this.headerElRef,\n tableClassName: 'fc-col-header',\n rowContent: headerRowContent,\n },\n })\n }\n\n sections.push({\n type: 'body',\n key: 'body',\n liquid: true,\n chunk: { content: bodyContent },\n })\n\n return (\n \n {(rootElRef, classNames) => (\n
\n \n
\n )}\n
\n )\n }\n\n renderHScrollLayout(\n headerRowContent: ChunkConfigRowContent,\n bodyContent: (contentArg: ChunkContentCallbackArgs) => VNode,\n colCnt: number,\n dayMinWidth: number,\n ) {\n let ScrollGrid = this.context.pluginHooks.scrollGridImpl\n\n if (!ScrollGrid) {\n throw new Error('No ScrollGrid implementation')\n }\n\n let { props, context } = this\n let stickyHeaderDates = !props.forPrint && getStickyHeaderDates(context.options)\n let stickyFooterScrollbar = !props.forPrint && getStickyFooterScrollbar(context.options)\n let sections: ScrollGridSectionConfig[] = []\n\n if (headerRowContent) {\n sections.push({\n type: 'header',\n key: 'header',\n isSticky: stickyHeaderDates,\n chunks: [{\n key: 'main',\n elRef: this.headerElRef,\n tableClassName: 'fc-col-header',\n rowContent: headerRowContent,\n }],\n })\n }\n\n sections.push({\n type: 'body',\n key: 'body',\n liquid: true,\n chunks: [{\n key: 'main',\n content: bodyContent,\n }],\n })\n\n if (stickyFooterScrollbar) {\n sections.push({\n type: 'footer',\n key: 'footer',\n isSticky: true,\n chunks: [{\n key: 'main',\n content: renderScrollShim,\n }],\n })\n }\n\n return (\n \n {(rootElRef, classNames) => (\n
\n \n
\n )}\n
\n )\n }\n}\n","import { EventSegUiInteractionState, Seg } from '@fullcalendar/common'\n\n// this is a DATA STRUCTURE, not a component\n\nexport interface TableSeg extends Seg {\n row: number\n firstCol: number\n lastCol: number\n}\n\nexport function splitSegsByRow(segs: TableSeg[], rowCnt: number) {\n let byRow: TableSeg[][] = []\n\n for (let i = 0; i < rowCnt; i += 1) {\n byRow[i] = []\n }\n\n for (let seg of segs) {\n byRow[seg.row].push(seg)\n }\n\n return byRow\n}\n\nexport function splitSegsByFirstCol(segs: TableSeg[], colCnt: number) {\n let byCol: TableSeg[][] = []\n\n for (let i = 0; i < colCnt; i += 1) {\n byCol[i] = []\n }\n\n for (let seg of segs) {\n byCol[seg.firstCol].push(seg)\n }\n\n return byCol\n}\n\nexport function splitInteractionByRow(ui: EventSegUiInteractionState | null, rowCnt: number) {\n let byRow: EventSegUiInteractionState[] = []\n\n if (!ui) {\n for (let i = 0; i < rowCnt; i += 1) {\n byRow[i] = null\n }\n } else {\n for (let i = 0; i < rowCnt; i += 1) {\n byRow[i] = {\n affectedInstances: ui.affectedInstances,\n isEvent: ui.isEvent,\n segs: [],\n }\n }\n\n for (let seg of ui.segs) {\n byRow[seg.row].segs.push(seg)\n }\n }\n\n return byRow\n}\n","import {\n createElement,\n DateMarker,\n DateRange,\n DayCellContentArg,\n DayCellContent,\n BaseComponent,\n DateProfile,\n Dictionary,\n Fragment,\n buildNavLinkAttrs,\n} from '@fullcalendar/common'\n\ninterface TableCellTopProps {\n date: DateMarker\n dateProfile: DateProfile\n showDayNumber: boolean\n dayNumberId: string\n forceDayTop: boolean // hack to force-create an element with height (created by a nbsp)\n todayRange: DateRange\n extraHookProps?: Dictionary\n}\n\nexport class TableCellTop extends BaseComponent {\n render() {\n let { props } = this\n let navLinkAttrs = buildNavLinkAttrs(this.context, props.date)\n\n return (\n \n {(innerElRef, innerContent) => (\n (innerContent || props.forceDayTop) && (\n
\n \n {innerContent ||  }\n \n
\n )\n )}\n \n )\n }\n}\n\nfunction renderTopInner(props: DayCellContentArg) {\n return props.dayNumberText\n}\n","import { createFormatter } from '@fullcalendar/common'\nimport { TableSeg } from './TableSeg'\n\nexport const DEFAULT_TABLE_EVENT_TIME_FORMAT = createFormatter({\n hour: 'numeric',\n minute: '2-digit',\n omitZeroMinute: true,\n meridiem: 'narrow',\n})\n\nexport function hasListItemDisplay(seg: TableSeg) {\n let { display } = seg.eventRange.ui\n\n return display === 'list-item' || (\n display === 'auto' &&\n !seg.eventRange.def.allDay &&\n seg.firstCol === seg.lastCol && // can't be multi-day\n seg.isStart && // \"\n seg.isEnd // \"\n )\n}\n","import { createElement, StandardEvent, BaseComponent, MinimalEventProps } from '@fullcalendar/common'\nimport { DEFAULT_TABLE_EVENT_TIME_FORMAT } from './event-rendering'\n\nexport interface TableBlockEventProps extends MinimalEventProps {\n defaultDisplayEventEnd: boolean\n}\n\nexport class TableBlockEvent extends BaseComponent {\n render() {\n let { props } = this\n\n return (\n \n )\n }\n}\n","import {\n createElement,\n BaseComponent,\n Seg,\n EventRoot,\n buildSegTimeText,\n EventContentArg,\n Fragment,\n getSegAnchorAttrs,\n} from '@fullcalendar/common'\nimport { DEFAULT_TABLE_EVENT_TIME_FORMAT } from './event-rendering'\n\nexport interface DotTableEventProps {\n seg: Seg\n isDragging: boolean\n isSelected: boolean\n isPast: boolean\n isFuture: boolean\n isToday: boolean\n defaultDisplayEventEnd: boolean\n}\n\nexport class TableListItemEvent extends BaseComponent {\n render() {\n let { props, context } = this\n let timeFormat = context.options.eventTimeFormat || DEFAULT_TABLE_EVENT_TIME_FORMAT\n let timeText = buildSegTimeText(\n props.seg,\n timeFormat,\n context,\n true,\n props.defaultDisplayEventEnd,\n )\n\n return (\n \n {(rootElRef, classNames, innerElRef, innerContent) => ( // we don't use styles!\n \n {innerContent}\n \n )}\n \n )\n }\n}\n\nfunction renderInnerContent(innerProps: EventContentArg) {\n return (\n \n \n {innerProps.timeText && (\n
{innerProps.timeText}
\n )}\n
\n {innerProps.event.title ||  }\n
\n
\n )\n}\n","import {\n createElement,\n MoreLinkRoot,\n RefObject,\n BaseComponent,\n memoize,\n DateMarker,\n Dictionary,\n DateProfile,\n DateRange,\n EventSegUiInteractionState,\n getSegMeta,\n Fragment,\n createAriaClickAttrs,\n} from '@fullcalendar/common'\nimport { TableSegPlacement } from './event-placement'\nimport { hasListItemDisplay } from './event-rendering'\nimport { TableBlockEvent } from './TableBlockEvent'\nimport { TableListItemEvent } from './TableListItemEvent'\nimport { TableSeg } from './TableSeg'\n\nexport interface TableCellMoreLinkProps {\n allDayDate: DateMarker\n singlePlacements: TableSegPlacement[]\n moreCnt: number\n alignmentElRef: RefObject // for popover\n alignGridTop: boolean // for popover\n extraDateSpan?: Dictionary\n dateProfile: DateProfile\n todayRange: DateRange\n eventSelection: string\n eventDrag: EventSegUiInteractionState | null\n eventResize: EventSegUiInteractionState | null\n}\n\nexport class TableCellMoreLink extends BaseComponent {\n compileSegs = memoize(compileSegs)\n\n render() {\n let { props } = this\n let { allSegs, invisibleSegs } = this.compileSegs(props.singlePlacements)\n\n return (\n {\n let isForcedInvisible =\n (props.eventDrag ? props.eventDrag.affectedInstances : null) ||\n (props.eventResize ? props.eventResize.affectedInstances : null) ||\n {}\n return (\n \n {allSegs.map((seg) => {\n let instanceId = seg.eventRange.instance.instanceId\n return (\n \n {hasListItemDisplay(seg) ? (\n \n ) : (\n \n )}\n
\n )\n })}\n \n )\n }}\n >\n {(rootElRef, classNames, innerElRef, innerContent, handleClick, title, isExpanded, popoverId) => (\n \n {innerContent}\n \n )}\n \n )\n }\n}\n\nfunction compileSegs(singlePlacements: TableSegPlacement[]): {\n allSegs: TableSeg[]\n invisibleSegs: TableSeg[]\n} {\n let allSegs: TableSeg[] = []\n let invisibleSegs: TableSeg[] = []\n\n for (let placement of singlePlacements) {\n allSegs.push(placement.seg)\n\n if (!placement.isVisible) {\n invisibleSegs.push(placement.seg)\n }\n }\n\n return { allSegs, invisibleSegs }\n}\n","import {\n Ref,\n ComponentChildren,\n createElement,\n DateMarker,\n DateComponent,\n DateRange,\n buildNavLinkAttrs,\n WeekNumberRoot,\n DayCellRoot,\n DateProfile,\n setRef,\n createFormatter,\n Dictionary,\n createRef,\n EventSegUiInteractionState,\n getUniqueDomId,\n} from '@fullcalendar/common'\nimport { TableCellTop } from './TableCellTop'\nimport { TableCellMoreLink } from './TableCellMoreLink'\nimport { TableSegPlacement } from './event-placement'\n\nexport interface TableCellProps {\n date: DateMarker\n dateProfile: DateProfile\n extraHookProps?: Dictionary\n extraDataAttrs?: Dictionary\n extraClassNames?: string[]\n extraDateSpan?: Dictionary\n elRef?: Ref\n innerElRef?: Ref\n bgContent: ComponentChildren\n fgContentElRef?: Ref // TODO: rename!!! classname confusion. is the \"event\" div\n fgContent: ComponentChildren\n moreCnt: number\n moreMarginTop: number\n showDayNumber: boolean\n showWeekNumber: boolean\n forceDayTop: boolean\n todayRange: DateRange\n eventSelection: string\n eventDrag: EventSegUiInteractionState | null\n eventResize: EventSegUiInteractionState | null\n singlePlacements: TableSegPlacement[]\n}\n\nconst DEFAULT_WEEK_NUM_FORMAT = createFormatter({ week: 'narrow' })\n\nexport class TableCell extends DateComponent {\n private rootElRef = createRef()\n state = {\n dayNumberId: getUniqueDomId(),\n }\n\n render() {\n let { context, props, state, rootElRef } = this\n let { date, dateProfile } = props\n let navLinkAttrs = buildNavLinkAttrs(context, date, 'week')\n\n return (\n \n {(dayElRef, dayClassNames, rootDataAttrs, isDisabled) => (\n \n
\n {props.showWeekNumber && (\n \n {(weekElRef, weekClassNames, innerElRef, innerContent) => (\n \n {innerContent}\n \n )}\n \n )}\n {!isDisabled && (\n \n )}\n \n {props.fgContent}\n
\n \n
\n
\n
\n {props.bgContent}\n
\n \n \n )}\n \n )\n }\n\n handleRootEl = (el: HTMLElement) => {\n setRef(this.rootElRef, el)\n setRef(this.props.elRef, el)\n }\n}\n","import {\n SegHierarchy,\n SegRect,\n SegEntry,\n SegInsertion,\n buildEntryKey,\n EventRenderRange,\n intersectRanges,\n addDays,\n DayTableCell,\n intersectSpans,\n} from '@fullcalendar/common'\nimport { TableSeg } from './TableSeg'\n\nexport interface TableSegPlacement {\n seg: TableSeg\n isVisible: boolean\n isAbsolute: boolean\n absoluteTop: number // populated regardless of isAbsolute\n marginTop: number\n}\n\nexport function computeFgSegPlacement(\n segs: TableSeg[], // assumed already sorted\n dayMaxEvents: boolean | number,\n dayMaxEventRows: boolean | number,\n strictOrder: boolean,\n eventInstanceHeights: { [instanceId: string]: number },\n maxContentHeight: number | null,\n cells: DayTableCell[],\n) {\n let hierarchy = new DayGridSegHierarchy()\n hierarchy.allowReslicing = true\n hierarchy.strictOrder = strictOrder\n\n if (dayMaxEvents === true || dayMaxEventRows === true) {\n hierarchy.maxCoord = maxContentHeight\n hierarchy.hiddenConsumes = true\n } else if (typeof dayMaxEvents === 'number') {\n hierarchy.maxStackCnt = dayMaxEvents\n } else if (typeof dayMaxEventRows === 'number') {\n hierarchy.maxStackCnt = dayMaxEventRows\n hierarchy.hiddenConsumes = true\n }\n\n // create segInputs only for segs with known heights\n let segInputs: SegEntry[] = []\n let unknownHeightSegs: TableSeg[] = []\n for (let i = 0; i < segs.length; i += 1) {\n let seg = segs[i]\n let { instanceId } = seg.eventRange.instance\n let eventHeight = eventInstanceHeights[instanceId]\n\n if (eventHeight != null) {\n segInputs.push({\n index: i,\n thickness: eventHeight,\n span: {\n start: seg.firstCol,\n end: seg.lastCol + 1,\n },\n })\n } else {\n unknownHeightSegs.push(seg)\n }\n }\n\n let hiddenEntries = hierarchy.addSegs(segInputs)\n let segRects = hierarchy.toRects()\n let { singleColPlacements, multiColPlacements, leftoverMargins } = placeRects(segRects, segs, cells)\n\n let moreCnts: number[] = []\n let moreMarginTops: number[] = []\n\n // add segs with unknown heights\n for (let seg of unknownHeightSegs) {\n multiColPlacements[seg.firstCol].push({\n seg,\n isVisible: false,\n isAbsolute: true,\n absoluteTop: 0,\n marginTop: 0,\n })\n\n for (let col = seg.firstCol; col <= seg.lastCol; col += 1) {\n singleColPlacements[col].push({\n seg: resliceSeg(seg, col, col + 1, cells),\n isVisible: false,\n isAbsolute: false,\n absoluteTop: 0,\n marginTop: 0,\n })\n }\n }\n\n // add the hidden entries\n for (let col = 0; col < cells.length; col += 1) {\n moreCnts.push(0)\n }\n for (let hiddenEntry of hiddenEntries) {\n let seg = segs[hiddenEntry.index]\n let hiddenSpan = hiddenEntry.span\n\n multiColPlacements[hiddenSpan.start].push({\n seg: resliceSeg(seg, hiddenSpan.start, hiddenSpan.end, cells),\n isVisible: false,\n isAbsolute: true,\n absoluteTop: 0,\n marginTop: 0,\n })\n\n for (let col = hiddenSpan.start; col < hiddenSpan.end; col += 1) {\n moreCnts[col] += 1\n singleColPlacements[col].push({\n seg: resliceSeg(seg, col, col + 1, cells),\n isVisible: false,\n isAbsolute: false,\n absoluteTop: 0,\n marginTop: 0,\n })\n }\n }\n\n // deal with leftover margins\n for (let col = 0; col < cells.length; col += 1) {\n moreMarginTops.push(leftoverMargins[col])\n }\n\n return { singleColPlacements, multiColPlacements, moreCnts, moreMarginTops }\n}\n\n// rects ordered by top coord, then left\nfunction placeRects(allRects: SegRect[], segs: TableSeg[], cells: DayTableCell[]) {\n let rectsByEachCol = groupRectsByEachCol(allRects, cells.length)\n let singleColPlacements: TableSegPlacement[][] = []\n let multiColPlacements: TableSegPlacement[][] = []\n let leftoverMargins: number[] = []\n\n for (let col = 0; col < cells.length; col += 1) {\n let rects = rectsByEachCol[col]\n\n // compute all static segs in singlePlacements\n let singlePlacements: TableSegPlacement[] = []\n let currentHeight = 0\n let currentMarginTop = 0\n for (let rect of rects) {\n let seg = segs[rect.index]\n singlePlacements.push({\n seg: resliceSeg(seg, col, col + 1, cells),\n isVisible: true,\n isAbsolute: false,\n absoluteTop: rect.levelCoord,\n marginTop: rect.levelCoord - currentHeight,\n })\n currentHeight = rect.levelCoord + rect.thickness\n }\n\n // compute mixed static/absolute segs in multiPlacements\n let multiPlacements: TableSegPlacement[] = []\n currentHeight = 0\n currentMarginTop = 0\n for (let rect of rects) {\n let seg = segs[rect.index]\n let isAbsolute = rect.span.end - rect.span.start > 1 // multi-column?\n let isFirstCol = rect.span.start === col\n\n currentMarginTop += rect.levelCoord - currentHeight // amount of space since bottom of previous seg\n currentHeight = rect.levelCoord + rect.thickness // height will now be bottom of current seg\n\n if (isAbsolute) {\n currentMarginTop += rect.thickness\n if (isFirstCol) {\n multiPlacements.push({\n seg: resliceSeg(seg, rect.span.start, rect.span.end, cells),\n isVisible: true,\n isAbsolute: true,\n absoluteTop: rect.levelCoord,\n marginTop: 0,\n })\n }\n } else if (isFirstCol) {\n multiPlacements.push({\n seg: resliceSeg(seg, rect.span.start, rect.span.end, cells),\n isVisible: true,\n isAbsolute: false,\n absoluteTop: rect.levelCoord,\n marginTop: currentMarginTop, // claim the margin\n })\n currentMarginTop = 0\n }\n }\n\n singleColPlacements.push(singlePlacements)\n multiColPlacements.push(multiPlacements)\n leftoverMargins.push(currentMarginTop)\n }\n\n return { singleColPlacements, multiColPlacements, leftoverMargins }\n}\n\nfunction groupRectsByEachCol(rects: SegRect[], colCnt: number): SegRect[][] {\n let rectsByEachCol: SegRect[][] = []\n\n for (let col = 0; col < colCnt; col += 1) {\n rectsByEachCol.push([])\n }\n\n for (let rect of rects) {\n for (let col = rect.span.start; col < rect.span.end; col += 1) {\n rectsByEachCol[col].push(rect)\n }\n }\n\n return rectsByEachCol\n}\n\nfunction resliceSeg(seg: TableSeg, spanStart: number, spanEnd: number, cells: DayTableCell[]): TableSeg {\n if (seg.firstCol === spanStart && seg.lastCol === spanEnd - 1) {\n return seg\n }\n\n let eventRange = seg.eventRange\n let origRange = eventRange.range\n let slicedRange = intersectRanges(origRange, {\n start: cells[spanStart].date,\n end: addDays(cells[spanEnd - 1].date, 1),\n })\n\n return {\n ...seg,\n firstCol: spanStart,\n lastCol: spanEnd - 1,\n eventRange: {\n def: eventRange.def,\n ui: { ...eventRange.ui, durationEditable: false }, // hack to disable resizing\n instance: eventRange.instance,\n range: slicedRange,\n } as EventRenderRange,\n isStart: seg.isStart && slicedRange.start.valueOf() === origRange.start.valueOf(),\n isEnd: seg.isEnd && slicedRange.end.valueOf() === origRange.end.valueOf(),\n }\n}\n\nclass DayGridSegHierarchy extends SegHierarchy {\n // config\n hiddenConsumes: boolean = false\n\n // allows us to keep hidden entries in the hierarchy so they take up space\n forceHidden: { [entryId: string]: true } = {}\n\n addSegs(segInputs: SegEntry[]): SegEntry[] {\n const hiddenSegs = super.addSegs(segInputs)\n const { entriesByLevel } = this\n const excludeHidden = (entry: SegEntry) => !this.forceHidden[buildEntryKey(entry)]\n\n // remove the forced-hidden segs\n for (let level = 0; level < entriesByLevel.length; level += 1) {\n entriesByLevel[level] = entriesByLevel[level].filter(excludeHidden)\n }\n\n return hiddenSegs\n }\n\n handleInvalidInsertion(insertion: SegInsertion, entry: SegEntry, hiddenEntries: SegEntry[]) {\n const { entriesByLevel, forceHidden } = this\n const { touchingEntry, touchingLevel, touchingLateral } = insertion\n\n if (this.hiddenConsumes && touchingEntry) {\n const touchingEntryId = buildEntryKey(touchingEntry)\n // if not already hidden\n if (!forceHidden[touchingEntryId]) {\n if (this.allowReslicing) {\n const placeholderEntry: SegEntry = { // placeholder of the \"more\" link\n ...touchingEntry,\n span: intersectSpans(touchingEntry.span, entry.span),\n }\n const placeholderEntryId = buildEntryKey(placeholderEntry)\n forceHidden[placeholderEntryId] = true\n entriesByLevel[touchingLevel][touchingLateral] = placeholderEntry // replace touchingEntry with our placeholder\n this.splitEntry(touchingEntry, entry, hiddenEntries) // split up the touchingEntry, reinsert it\n } else {\n forceHidden[touchingEntryId] = true\n hiddenEntries.push(touchingEntry)\n }\n }\n }\n\n return super.handleInvalidInsertion(insertion, entry, hiddenEntries)\n }\n}\n","import {\n EventSegUiInteractionState,\n VNode,\n DateComponent,\n createElement,\n PositionCache,\n RefMap,\n CssDimValue,\n DateRange,\n getSegMeta,\n DateProfile,\n Fragment,\n BgEvent,\n renderFill,\n isPropsEqual,\n createRef,\n buildEventRangeKey,\n sortEventSegs,\n DayTableCell,\n} from '@fullcalendar/common'\nimport { TableSeg, splitSegsByFirstCol } from './TableSeg'\nimport { TableCell } from './TableCell'\nimport { TableListItemEvent } from './TableListItemEvent'\nimport { TableBlockEvent } from './TableBlockEvent'\nimport { computeFgSegPlacement, TableSegPlacement } from './event-placement'\nimport { hasListItemDisplay } from './event-rendering'\n\n// TODO: attach to window resize?\n\nexport interface TableRowProps {\n cells: DayTableCell[]\n renderIntro?: () => VNode\n businessHourSegs: TableSeg[]\n bgEventSegs: TableSeg[]\n fgEventSegs: TableSeg[]\n dateSelectionSegs: TableSeg[]\n eventSelection: string\n eventDrag: EventSegUiInteractionState | null\n eventResize: EventSegUiInteractionState | null\n dayMaxEvents: boolean | number\n dayMaxEventRows: boolean | number\n clientWidth: number | null\n clientHeight: number | null // simply for causing an updateSize, for when liquid height\n dateProfile: DateProfile\n todayRange: DateRange\n showDayNumbers: boolean\n showWeekNumbers: boolean\n forPrint: boolean\n}\n\ninterface TableRowState {\n framePositions: PositionCache\n maxContentHeight: number | null\n eventInstanceHeights: { [instanceId: string]: number } // integers\n}\n\nexport class TableRow extends DateComponent {\n private cellElRefs = new RefMap() // the
\n {props.renderIntro && props.renderIntro()}\n {props.cells.map((cell, col) => {\n let normalFgNodes = this.renderFgSegs(\n col,\n props.forPrint ? singleColPlacements[col] : multiColPlacements[col],\n props.todayRange,\n isForcedInvisible,\n )\n\n let mirrorFgNodes = this.renderFgSegs(\n col,\n buildMirrorPlacements(mirrorSegsByCol[col], multiColPlacements),\n props.todayRange,\n {},\n Boolean(props.eventDrag),\n Boolean(props.eventResize),\n false, // date-selecting (because mirror is never drawn for date selection)\n )\n\n return (\n problem, but okay to use for left/right. TODO: rename prop */}\n dateProfile={props.dateProfile}\n date={cell.date}\n showDayNumber={props.showDayNumbers}\n showWeekNumber={props.showWeekNumbers && col === 0}\n forceDayTop={props.showWeekNumbers /* even displaying weeknum for row, not necessarily day */}\n todayRange={props.todayRange}\n eventSelection={props.eventSelection}\n eventDrag={props.eventDrag}\n eventResize={props.eventResize}\n extraHookProps={cell.extraHookProps}\n extraDataAttrs={cell.extraDataAttrs}\n extraClassNames={cell.extraClassNames}\n extraDateSpan={cell.extraDateSpan}\n moreCnt={moreCnts[col]}\n moreMarginTop={moreMarginTops[col]}\n singlePlacements={singleColPlacements[col]}\n fgContentElRef={this.fgElRefs.createRef(cell.key)}\n fgContent={( // Fragment scopes the keys\n \n {normalFgNodes}\n {mirrorFgNodes}\n \n )}\n bgContent={( // Fragment scopes the keys\n \n {this.renderFillSegs(highlightSegsByCol[col], 'highlight')}\n {this.renderFillSegs(businessHoursByCol[col], 'non-business')}\n {this.renderFillSegs(bgEventSegsByCol[col], 'bg-event')}\n \n )}\n />\n )\n })}\n \n )\n }\n\n componentDidMount() {\n this.updateSizing(true)\n }\n\n componentDidUpdate(prevProps: TableRowProps, prevState: TableRowState) {\n let currentProps = this.props\n\n this.updateSizing(\n !isPropsEqual(prevProps, currentProps),\n )\n }\n\n getHighlightSegs(): TableSeg[] {\n let { props } = this\n\n if (props.eventDrag && props.eventDrag.segs.length) { // messy check\n return props.eventDrag.segs as TableSeg[]\n }\n\n if (props.eventResize && props.eventResize.segs.length) { // messy check\n return props.eventResize.segs as TableSeg[]\n }\n\n return props.dateSelectionSegs\n }\n\n getMirrorSegs(): TableSeg[] {\n let { props } = this\n\n if (props.eventResize && props.eventResize.segs.length) { // messy check\n return props.eventResize.segs as TableSeg[]\n }\n\n return []\n }\n\n renderFgSegs(\n col: number,\n segPlacements: TableSegPlacement[],\n todayRange: DateRange,\n isForcedInvisible: { [instanceId: string]: any },\n isDragging?: boolean,\n isResizing?: boolean,\n isDateSelecting?: boolean,\n ): VNode[] {\n let { context } = this\n let { eventSelection } = this.props\n let { framePositions } = this.state\n let defaultDisplayEventEnd = this.props.cells.length === 1 // colCnt === 1\n let isMirror = isDragging || isResizing || isDateSelecting\n let nodes: VNode[] = []\n\n if (framePositions) {\n for (let placement of segPlacements) {\n let { seg } = placement\n let { instanceId } = seg.eventRange.instance\n let key = instanceId + ':' + col\n let isVisible = placement.isVisible && !isForcedInvisible[instanceId]\n let isAbsolute = placement.isAbsolute\n let left: CssDimValue = ''\n let right: CssDimValue = ''\n\n if (isAbsolute) {\n if (context.isRtl) {\n right = 0\n left = framePositions.lefts[seg.lastCol] - framePositions.lefts[seg.firstCol]\n } else {\n left = 0\n right = framePositions.rights[seg.firstCol] - framePositions.rights[seg.lastCol]\n }\n }\n\n /*\n known bug: events that are force to be list-item but span multiple days still take up space in later columns\n todo: in print view, for multi-day events, don't display title within non-start/end segs\n */\n nodes.push(\n \n {hasListItemDisplay(seg) ? (\n \n ) : (\n \n )}\n ,\n )\n }\n }\n\n return nodes\n }\n\n renderFillSegs(segs: TableSeg[], fillType: string): VNode {\n let { isRtl } = this.context\n let { todayRange } = this.props\n let { framePositions } = this.state\n let nodes: VNode[] = []\n\n if (framePositions) {\n for (let seg of segs) {\n let leftRightCss = isRtl ? {\n right: 0,\n left: framePositions.lefts[seg.lastCol] - framePositions.lefts[seg.firstCol],\n } : {\n left: 0,\n right: framePositions.rights[seg.firstCol] - framePositions.rights[seg.lastCol],\n }\n\n nodes.push(\n \n {fillType === 'bg-event' ?\n :\n renderFill(fillType)}\n ,\n )\n }\n }\n\n return createElement(Fragment, {}, ...nodes)\n }\n\n updateSizing(isExternalSizingChange) {\n let { props, frameElRefs } = this\n\n if (\n !props.forPrint &&\n props.clientWidth !== null // positioning ready?\n ) {\n if (isExternalSizingChange) {\n let frameEls = props.cells.map((cell) => frameElRefs.currentMap[cell.key])\n\n if (frameEls.length) {\n let originEl = this.rootElRef.current\n\n this.setState({ // will trigger isCellPositionsChanged...\n framePositions: new PositionCache(\n originEl,\n frameEls,\n true, // isHorizontal\n false,\n ),\n })\n }\n }\n\n const oldInstanceHeights = this.state.eventInstanceHeights\n const newInstanceHeights = this.queryEventInstanceHeights()\n const limitByContentHeight = props.dayMaxEvents === true || props.dayMaxEventRows === true\n\n this.safeSetState({\n // HACK to prevent oscillations of events being shown/hidden from max-event-rows\n // Essentially, once you compute an element's height, never null-out.\n // TODO: always display all events, as visibility:hidden?\n eventInstanceHeights: { ...oldInstanceHeights, ...newInstanceHeights },\n\n maxContentHeight: limitByContentHeight ? this.computeMaxContentHeight() : null,\n })\n }\n }\n\n queryEventInstanceHeights() {\n let segElMap = this.segHarnessRefs.currentMap\n let eventInstanceHeights: { [key: string]: number } = {}\n\n // get the max height amongst instance segs\n for (let key in segElMap) {\n let height = Math.round(segElMap[key].getBoundingClientRect().height)\n let instanceId = key.split(':')[0] // deconstruct how renderFgSegs makes the key\n eventInstanceHeights[instanceId] = Math.max(eventInstanceHeights[instanceId] || 0, height)\n }\n\n return eventInstanceHeights\n }\n\n computeMaxContentHeight() {\n let firstKey = this.props.cells[0].key\n let cellEl = this.cellElRefs.currentMap[firstKey]\n let fcContainerEl = this.fgElRefs.currentMap[firstKey]\n\n return cellEl.getBoundingClientRect().bottom - fcContainerEl.getBoundingClientRect().top\n }\n\n public getCellEls() {\n let elMap = this.cellElRefs.currentMap\n\n return this.props.cells.map((cell) => elMap[cell.key])\n }\n}\n\nTableRow.addStateEquality({\n eventInstanceHeights: isPropsEqual,\n})\n\nfunction buildMirrorPlacements(mirrorSegs: TableSeg[], colPlacements: TableSegPlacement[][]): TableSegPlacement[] {\n if (!mirrorSegs.length) {\n return []\n }\n let topsByInstanceId = buildAbsoluteTopHash(colPlacements) // TODO: cache this at first render?\n return mirrorSegs.map((seg: TableSeg) => ({\n seg,\n isVisible: true,\n isAbsolute: true,\n absoluteTop: topsByInstanceId[seg.eventRange.instance.instanceId],\n marginTop: 0,\n }))\n}\n\nfunction buildAbsoluteTopHash(colPlacements: TableSegPlacement[][]): { [instanceId: string]: number } {\n let topsByInstanceId: { [instanceId: string]: number } = {}\n\n for (let placements of colPlacements) {\n for (let placement of placements) {\n topsByInstanceId[placement.seg.eventRange.instance.instanceId] = placement.absoluteTop\n }\n }\n\n return topsByInstanceId\n}\n","import {\n EventSegUiInteractionState,\n VNode,\n DateComponent,\n RefObject,\n CssDimValue,\n createElement,\n PositionCache,\n memoize,\n addDays,\n RefMap,\n DateRange,\n NowTimer,\n DateMarker,\n DateProfile,\n Fragment,\n Hit,\n DayTableCell,\n} from '@fullcalendar/common'\nimport { TableSeg, splitSegsByRow, splitInteractionByRow } from './TableSeg'\nimport { TableRow } from './TableRow'\n\nexport interface TableProps {\n dateProfile: DateProfile\n cells: DayTableCell[][] // cells-BY-ROW\n renderRowIntro?: () => VNode\n colGroupNode: VNode\n tableMinWidth: CssDimValue\n expandRows: boolean\n showWeekNumbers: boolean\n clientWidth: number | null\n clientHeight: number | null\n businessHourSegs: TableSeg[]\n bgEventSegs: TableSeg[]\n fgEventSegs: TableSeg[]\n dateSelectionSegs: TableSeg[]\n eventSelection: string\n eventDrag: EventSegUiInteractionState | null\n eventResize: EventSegUiInteractionState | null\n dayMaxEvents: boolean | number\n dayMaxEventRows: boolean | number\n headerAlignElRef?: RefObject\n forPrint: boolean\n isHitComboAllowed?: (hit0: Hit, hit1: Hit) => boolean\n}\n\nexport class Table extends DateComponent {\n private splitBusinessHourSegs = memoize(splitSegsByRow)\n private splitBgEventSegs = memoize(splitSegsByRow)\n private splitFgEventSegs = memoize(splitSegsByRow)\n private splitDateSelectionSegs = memoize(splitSegsByRow)\n private splitEventDrag = memoize(splitInteractionByRow)\n private splitEventResize = memoize(splitInteractionByRow)\n private rootEl: HTMLElement\n private rowRefs = new RefMap()\n private rowPositions: PositionCache\n private colPositions: PositionCache\n\n render() {\n let { props } = this\n let { dateProfile, dayMaxEventRows, dayMaxEvents, expandRows } = props\n let rowCnt = props.cells.length\n\n let businessHourSegsByRow = this.splitBusinessHourSegs(props.businessHourSegs, rowCnt)\n let bgEventSegsByRow = this.splitBgEventSegs(props.bgEventSegs, rowCnt)\n let fgEventSegsByRow = this.splitFgEventSegs(props.fgEventSegs, rowCnt)\n let dateSelectionSegsByRow = this.splitDateSelectionSegs(props.dateSelectionSegs, rowCnt)\n let eventDragByRow = this.splitEventDrag(props.eventDrag, rowCnt)\n let eventResizeByRow = this.splitEventResize(props.eventResize, rowCnt)\n\n let limitViaBalanced = dayMaxEvents === true || dayMaxEventRows === true\n\n // if rows can't expand to fill fixed height, can't do balanced-height event limit\n // TODO: best place to normalize these options?\n if (limitViaBalanced && !expandRows) {\n limitViaBalanced = false\n dayMaxEventRows = null\n dayMaxEvents = null\n }\n\n let classNames = [\n 'fc-daygrid-body',\n limitViaBalanced ? 'fc-daygrid-body-balanced' : 'fc-daygrid-body-unbalanced', // will all row heights be equal?\n expandRows ? '' : 'fc-daygrid-body-natural', // will height of one row depend on the others?\n ]\n\n return (\n \n \n {(nowDate: DateMarker, todayRange: DateRange) => (\n \n \n {props.colGroupNode}\n \n {props.cells.map((cells, row) => (\n 1}\n showWeekNumbers={props.showWeekNumbers}\n todayRange={todayRange}\n dateProfile={dateProfile}\n cells={cells}\n renderIntro={props.renderRowIntro}\n businessHourSegs={businessHourSegsByRow[row]}\n eventSelection={props.eventSelection}\n bgEventSegs={bgEventSegsByRow[row].filter(isSegAllDay) /* hack */}\n fgEventSegs={fgEventSegsByRow[row]}\n dateSelectionSegs={dateSelectionSegsByRow[row]}\n eventDrag={eventDragByRow[row]}\n eventResize={eventResizeByRow[row]}\n dayMaxEvents={dayMaxEvents}\n dayMaxEventRows={dayMaxEventRows}\n clientWidth={props.clientWidth}\n clientHeight={props.clientHeight}\n forPrint={props.forPrint}\n />\n ))}\n \n
/ elements with colspans.\n SOLUTION: making individual
\n private frameElRefs = new RefMap() // the fc-daygrid-day-frame\n private fgElRefs = new RefMap() // the fc-daygrid-day-events\n private segHarnessRefs = new RefMap() // indexed by \"instanceId:firstCol\"\n private rootElRef = createRef()\n\n state: TableRowState = {\n framePositions: null,\n maxContentHeight: null,\n eventInstanceHeights: {},\n }\n\n render() {\n let { props, state, context } = this\n let { options } = context\n let colCnt = props.cells.length\n\n let businessHoursByCol = splitSegsByFirstCol(props.businessHourSegs, colCnt)\n let bgEventSegsByCol = splitSegsByFirstCol(props.bgEventSegs, colCnt)\n let highlightSegsByCol = splitSegsByFirstCol(this.getHighlightSegs(), colCnt)\n let mirrorSegsByCol = splitSegsByFirstCol(this.getMirrorSegs(), colCnt)\n\n let { singleColPlacements, multiColPlacements, moreCnts, moreMarginTops } = computeFgSegPlacement(\n sortEventSegs(props.fgEventSegs, options.eventOrder) as TableSeg[],\n props.dayMaxEvents,\n props.dayMaxEventRows,\n options.eventOrderStrict,\n state.eventInstanceHeights,\n state.maxContentHeight,\n props.cells,\n )\n\n let isForcedInvisible = // TODO: messy way to compute this\n (props.eventDrag && props.eventDrag.affectedInstances) ||\n (props.eventResize && props.eventResize.affectedInstances) ||\n {}\n\n return (\n
\n \n )}\n \n \n )\n }\n\n handleRootEl = (rootEl: HTMLElement | null) => {\n this.rootEl = rootEl\n\n if (rootEl) {\n this.context.registerInteractiveComponent(this, {\n el: rootEl,\n isHitComboAllowed: this.props.isHitComboAllowed,\n })\n } else {\n this.context.unregisterInteractiveComponent(this)\n }\n }\n\n // Hit System\n // ----------------------------------------------------------------------------------------------------\n\n prepareHits() {\n this.rowPositions = new PositionCache(\n this.rootEl,\n this.rowRefs.collect().map((rowObj) => rowObj.getCellEls()[0]), // first cell el in each row. TODO: not optimal\n false,\n true, // vertical\n )\n\n this.colPositions = new PositionCache(\n this.rootEl,\n this.rowRefs.currentMap[0].getCellEls(), // cell els in first row\n true, // horizontal\n false,\n )\n }\n\n queryHit(positionLeft: number, positionTop: number): Hit {\n let { colPositions, rowPositions } = this\n let col = colPositions.leftToIndex(positionLeft)\n let row = rowPositions.topToIndex(positionTop)\n\n if (row != null && col != null) {\n let cell = this.props.cells[row][col]\n\n return {\n dateProfile: this.props.dateProfile,\n dateSpan: {\n range: this.getCellRange(row, col),\n allDay: true,\n ...cell.extraDateSpan,\n },\n dayEl: this.getCellEl(row, col),\n rect: {\n left: colPositions.lefts[col],\n right: colPositions.rights[col],\n top: rowPositions.tops[row],\n bottom: rowPositions.bottoms[row],\n },\n layer: 0,\n }\n }\n\n return null\n }\n\n private getCellEl(row, col) {\n return this.rowRefs.currentMap[row].getCellEls()[col] // TODO: not optimal\n }\n\n private getCellRange(row, col) {\n let start = this.props.cells[row][col].date\n let end = addDays(start, 1)\n return { start, end }\n }\n}\n\nfunction isSegAllDay(seg: TableSeg) {\n return seg.eventRange.def.allDay\n}\n","import { DayTableModel, DateRange, Slicer } from '@fullcalendar/common'\nimport { TableSeg } from './TableSeg'\n\nexport class DayTableSlicer extends Slicer {\n forceDayIfListItem = true\n\n sliceRange(dateRange: DateRange, dayTableModel: DayTableModel): TableSeg[] {\n return dayTableModel.sliceRange(dateRange)\n }\n}\n","import {\n createElement, createRef, VNode,\n EventStore,\n EventUiHash,\n DateSpan,\n EventInteractionState,\n DayTableModel,\n Duration,\n DateComponent,\n ViewContext,\n RefObject,\n CssDimValue,\n DateProfile,\n} from '@fullcalendar/common'\nimport { Table } from './Table'\nimport { DayTableSlicer } from './DayTableSlicer'\n\nexport interface DayTableProps {\n dateProfile: DateProfile,\n dayTableModel: DayTableModel\n nextDayThreshold: Duration\n businessHours: EventStore\n eventStore: EventStore\n eventUiBases: EventUiHash\n dateSelection: DateSpan | null\n eventSelection: string\n eventDrag: EventInteractionState | null\n eventResize: EventInteractionState | null\n colGroupNode: VNode\n tableMinWidth: CssDimValue\n renderRowIntro?: () => VNode\n dayMaxEvents: boolean | number\n dayMaxEventRows: boolean | number\n expandRows: boolean\n showWeekNumbers: boolean\n headerAlignElRef?: RefObject // for more popover alignment\n clientWidth: number | null\n clientHeight: number | null\n forPrint: boolean\n}\n\nexport class DayTable extends DateComponent {\n private slicer = new DayTableSlicer()\n private tableRef = createRef()\n\n render() {\n let { props, context } = this\n\n return (\n \n )\n }\n}\n","import {\n createElement, createRef,\n DayHeader,\n DateProfileGenerator,\n DateProfile,\n memoize,\n DaySeriesModel,\n DayTableModel,\n ChunkContentCallbackArgs,\n} from '@fullcalendar/common'\nimport { TableView } from './TableView'\nimport { DayTable } from './DayTable'\n\nexport class DayTableView extends TableView {\n private buildDayTableModel = memoize(buildDayTableModel)\n private headerRef = createRef()\n private tableRef = createRef()\n\n render() {\n let { options, dateProfileGenerator } = this.context\n let { props } = this\n let dayTableModel = this.buildDayTableModel(props.dateProfile, dateProfileGenerator)\n\n let headerContent = options.dayHeaders && (\n \n )\n\n let bodyContent = (contentArg: ChunkContentCallbackArgs) => (\n \n )\n\n return options.dayMinWidth\n ? this.renderHScrollLayout(headerContent, bodyContent, dayTableModel.colCnt, options.dayMinWidth)\n : this.renderSimpleLayout(headerContent, bodyContent)\n }\n}\n\nexport function buildDayTableModel(dateProfile: DateProfile, dateProfileGenerator: DateProfileGenerator) {\n let daySeries = new DaySeriesModel(dateProfile.renderRange, dateProfileGenerator)\n\n return new DayTableModel(\n daySeries,\n /year|month|week/.test(dateProfile.currentRangeUnit),\n )\n}\n","import {\n DateProfileGenerator,\n addWeeks, diffWeeks,\n DateRange,\n} from '@fullcalendar/common'\n\nexport class TableDateProfileGenerator extends DateProfileGenerator {\n // Computes the date range that will be rendered.\n buildRenderRange(currentRange, currentRangeUnit, isRangeAllDay): DateRange {\n let { dateEnv } = this.props\n let renderRange = super.buildRenderRange(currentRange, currentRangeUnit, isRangeAllDay)\n let start = renderRange.start\n let end = renderRange.end\n let endOfWeek\n\n // year and month views should be aligned with weeks. this is already done for week\n if (/^(year|month)$/.test(currentRangeUnit)) {\n start = dateEnv.startOfWeek(start)\n\n // make end-of-week if not already\n endOfWeek = dateEnv.startOfWeek(end)\n if (endOfWeek.valueOf() !== end.valueOf()) {\n end = addWeeks(endOfWeek, 1)\n }\n }\n\n // ensure 6 weeks\n if (\n this.props.monthMode &&\n this.props.fixedWeekCount\n ) {\n let rowCnt = Math.ceil( // could be partial weeks due to hiddenDays\n diffWeeks(start, end),\n )\n end = addWeeks(end, 6 - rowCnt)\n }\n\n return { start, end }\n }\n}\n","import {\n Splitter,\n hasBgRendering,\n EventDef,\n DateSpan,\n} from '@fullcalendar/common'\n\nexport class AllDaySplitter extends Splitter {\n getKeyInfo() {\n return {\n allDay: {},\n timed: {},\n }\n }\n\n getKeysForDateSpan(dateSpan: DateSpan): string[] {\n if (dateSpan.allDay) {\n return ['allDay']\n }\n\n return ['timed']\n }\n\n getKeysForEventDef(eventDef: EventDef): string[] {\n if (!eventDef.allDay) {\n return ['timed']\n }\n\n if (hasBgRendering(eventDef)) {\n return ['timed', 'allDay']\n }\n\n return ['allDay']\n }\n}\n","import { createPlugin } from '@fullcalendar/common'\nimport { DayTableView } from './DayTableView'\nimport { TableDateProfileGenerator } from './TableDateProfileGenerator'\nimport './main.css'\n\nexport { DayTable } from './DayTable'\nexport { DayTableSlicer } from './DayTableSlicer'\nexport { Table } from './Table'\nexport { TableSeg } from './TableSeg'\nexport { TableView } from './TableView'\nexport { buildDayTableModel } from './DayTableView'\nexport { DayTableView as DayGridView } // export as old name!\n\nexport default createPlugin({\n initialView: 'dayGridMonth',\n views: {\n\n dayGrid: {\n component: DayTableView,\n dateProfileGeneratorClass: TableDateProfileGenerator,\n },\n\n dayGridDay: {\n type: 'dayGrid',\n duration: { days: 1 },\n },\n\n dayGridWeek: {\n type: 'dayGrid',\n duration: { weeks: 1 },\n },\n\n dayGridMonth: {\n type: 'dayGrid',\n duration: { months: 1 },\n monthMode: true,\n fixedWeekCount: true,\n },\n\n },\n})\n","import {\n createElement,\n ViewContext,\n createFormatter,\n ViewContextType,\n RenderHook,\n SlotLabelContentArg,\n} from '@fullcalendar/common'\nimport { TimeSlatMeta } from './time-slat-meta'\n\nconst DEFAULT_SLAT_LABEL_FORMAT = createFormatter({\n hour: 'numeric',\n minute: '2-digit',\n omitZeroMinute: true,\n meridiem: 'short',\n})\n\nexport function TimeColsAxisCell(props: TimeSlatMeta) {\n let classNames = [\n 'fc-timegrid-slot',\n 'fc-timegrid-slot-label',\n props.isLabeled ? 'fc-scrollgrid-shrink' : 'fc-timegrid-slot-minor',\n ]\n\n return (\n \n {(context: ViewContext) => {\n if (!props.isLabeled) {\n return (\n \n )}\n \n )\n }}\n \n )\n}\n\nfunction renderInnerContent(props) { // TODO: add types\n return props.text\n}\n","import { createElement, BaseComponent } from '@fullcalendar/common'\nimport { TimeColsAxisCell } from './TimeColsAxisCell'\nimport { TimeSlatMeta } from './time-slat-meta'\n\n/* Thin Axis\n------------------------------------------------------------------------------------------------------------------*/\n\ninterface TimeBodyAxisProps {\n slatMetas: TimeSlatMeta[]\n}\n\nexport class TimeBodyAxis extends BaseComponent { // just content\n render() {\n return this.props.slatMetas.map((slatMeta: TimeSlatMeta) => (\n \n \n \n ))\n }\n}\n","import {\n createElement, createRef,\n diffDays,\n SimpleScrollGridSection,\n VNode,\n SimpleScrollGrid,\n ChunkContentCallbackArgs,\n ScrollGridSectionConfig,\n buildNavLinkAttrs,\n ViewRoot,\n WeekNumberRoot,\n RenderHook,\n DateComponent,\n ViewProps,\n RefObject,\n renderScrollShim,\n getStickyHeaderDates,\n getStickyFooterScrollbar,\n createFormatter,\n AllDayContentArg,\n CssDimValue,\n NowTimer,\n DateMarker,\n NowIndicatorRoot,\n} from '@fullcalendar/common'\nimport { AllDaySplitter } from './AllDaySplitter'\nimport { TimeSlatMeta } from './time-slat-meta'\nimport { TimeColsSlatsCoords } from './TimeColsSlatsCoords'\nimport { TimeBodyAxis } from './TimeBodyAxis'\n\nconst DEFAULT_WEEK_NUM_FORMAT = createFormatter({ week: 'short' })\nconst AUTO_ALL_DAY_MAX_EVENT_ROWS = 5\n\n/* An abstract class for all timegrid-related views. Displays one more columns with time slots running vertically.\n----------------------------------------------------------------------------------------------------------------------*/\n// Is a manager for the TimeCols subcomponent and possibly the DayGrid subcomponent (if allDaySlot is on).\n// Responsible for managing width/height.\n\ninterface TimeColsViewState {\n slatCoords: TimeColsSlatsCoords | null\n}\n\nexport abstract class TimeColsView extends DateComponent {\n protected allDaySplitter = new AllDaySplitter() // for use by subclasses\n\n protected headerElRef: RefObject = createRef()\n private rootElRef: RefObject = createRef()\n private scrollerElRef: RefObject = createRef()\n\n state = {\n slatCoords: null,\n }\n\n // rendering\n // ----------------------------------------------------------------------------------------------------\n\n renderSimpleLayout(\n headerRowContent: VNode | null,\n allDayContent: ((contentArg: ChunkContentCallbackArgs) => VNode) | null,\n timeContent: ((contentArg: ChunkContentCallbackArgs) => VNode) | null,\n ) {\n let { context, props } = this\n let sections: SimpleScrollGridSection[] = []\n let stickyHeaderDates = getStickyHeaderDates(context.options)\n\n if (headerRowContent) {\n sections.push({\n type: 'header',\n key: 'header',\n isSticky: stickyHeaderDates,\n chunk: {\n elRef: this.headerElRef,\n tableClassName: 'fc-col-header',\n rowContent: headerRowContent,\n },\n })\n }\n\n if (allDayContent) {\n sections.push({\n type: 'body',\n key: 'all-day',\n chunk: { content: allDayContent },\n })\n sections.push({\n type: 'body',\n key: 'all-day-divider',\n outerContent: ( // TODO: rename to cellContent so don't need to define ?\n \n \n \n ),\n })\n }\n\n sections.push({\n type: 'body',\n key: 'body',\n liquid: true,\n expandRows: Boolean(context.options.expandRows),\n chunk: {\n scrollerElRef: this.scrollerElRef,\n content: timeContent,\n },\n })\n\n return (\n \n {(rootElRef, classNames) => (\n
\n \n
\n )}\n
\n )\n }\n\n renderHScrollLayout(\n headerRowContent: VNode | null,\n allDayContent: ((contentArg: ChunkContentCallbackArgs) => VNode) | null,\n timeContent: ((contentArg: ChunkContentCallbackArgs) => VNode) | null,\n colCnt: number,\n dayMinWidth: number,\n slatMetas: TimeSlatMeta[],\n slatCoords: TimeColsSlatsCoords | null, // yuck\n ) {\n let ScrollGrid = this.context.pluginHooks.scrollGridImpl\n\n if (!ScrollGrid) {\n throw new Error('No ScrollGrid implementation')\n }\n\n let { context, props } = this\n let stickyHeaderDates = !props.forPrint && getStickyHeaderDates(context.options)\n let stickyFooterScrollbar = !props.forPrint && getStickyFooterScrollbar(context.options)\n let sections: ScrollGridSectionConfig[] = []\n\n if (headerRowContent) {\n sections.push({\n type: 'header',\n key: 'header',\n isSticky: stickyHeaderDates,\n syncRowHeights: true,\n chunks: [\n {\n key: 'axis',\n rowContent: (arg: ChunkContentCallbackArgs) => (\n \n {this.renderHeadAxis('day', arg.rowSyncHeights[0])}\n \n ),\n },\n {\n key: 'cols',\n elRef: this.headerElRef,\n tableClassName: 'fc-col-header',\n rowContent: headerRowContent,\n },\n ],\n })\n }\n\n if (allDayContent) {\n sections.push({\n type: 'body',\n key: 'all-day',\n syncRowHeights: true,\n chunks: [\n {\n key: 'axis',\n rowContent: (contentArg: ChunkContentCallbackArgs) => (\n \n {this.renderTableRowAxis(contentArg.rowSyncHeights[0])}\n \n ),\n },\n {\n key: 'cols',\n content: allDayContent,\n },\n ],\n })\n sections.push({\n key: 'all-day-divider',\n type: 'body',\n outerContent: ( // TODO: rename to cellContent so don't need to define ?\n \n \n \n ),\n })\n }\n\n let isNowIndicator = context.options.nowIndicator\n\n sections.push({\n type: 'body',\n key: 'body',\n liquid: true,\n expandRows: Boolean(context.options.expandRows),\n chunks: [\n {\n key: 'axis',\n content: (arg) => (\n // TODO: make this now-indicator arrow more DRY with TimeColsContent\n
\n
\n )\n }\n\n let { dateEnv, options, viewApi } = context\n let labelFormat = // TODO: fully pre-parse\n options.slotLabelFormat == null ? DEFAULT_SLAT_LABEL_FORMAT :\n Array.isArray(options.slotLabelFormat) ? createFormatter(options.slotLabelFormat[0]) :\n createFormatter(options.slotLabelFormat)\n\n let hookProps: SlotLabelContentArg = {\n level: 0,\n time: props.time,\n date: dateEnv.toDate(props.date),\n view: viewApi,\n text: dateEnv.format(props.date, labelFormat),\n }\n\n return (\n // needed?\n hookProps={hookProps}\n classNames={options.slotLabelClassNames}\n content={options.slotLabelContent}\n defaultContent={renderInnerContent}\n didMount={options.slotLabelDidMount}\n willUnmount={options.slotLabelWillUnmount}\n >\n {(rootElRef, customClassNames, innerElRef, innerContent) => (\n \n
\n
\n {innerContent}\n
\n
\n
\n {arg.tableColGroupNode}\n \n \n \n
\n
\n \n {(nowDate: DateMarker) => {\n let nowIndicatorTop =\n isNowIndicator &&\n slatCoords &&\n slatCoords.safeComputeTop(nowDate) // might return void\n\n if (typeof nowIndicatorTop === 'number') {\n return (\n \n {(rootElRef, classNames, innerElRef, innerContent) => (\n \n {innerContent}\n
\n )}\n \n )\n }\n\n return null\n }}\n \n \n \n ),\n },\n {\n key: 'cols',\n scrollerElRef: this.scrollerElRef,\n content: timeContent,\n },\n ],\n })\n\n if (stickyFooterScrollbar) {\n sections.push({\n key: 'footer',\n type: 'footer',\n isSticky: true,\n chunks: [\n {\n key: 'axis',\n content: renderScrollShim,\n },\n {\n key: 'cols',\n content: renderScrollShim,\n },\n ],\n })\n }\n\n return (\n \n {(rootElRef, classNames) => (\n
\n \n
\n )}\n
\n )\n }\n\n handleScrollTopRequest = (scrollTop: number) => {\n let scrollerEl = this.scrollerElRef.current\n\n if (scrollerEl) { // TODO: not sure how this could ever be null. weirdness with the reducer\n scrollerEl.scrollTop = scrollTop\n }\n }\n\n /* Dimensions\n ------------------------------------------------------------------------------------------------------------------*/\n\n getAllDayMaxEventProps() {\n let { dayMaxEvents, dayMaxEventRows } = this.context.options\n\n if (dayMaxEvents === true || dayMaxEventRows === true) { // is auto?\n dayMaxEvents = undefined\n dayMaxEventRows = AUTO_ALL_DAY_MAX_EVENT_ROWS // make sure \"auto\" goes to a real number\n }\n\n return { dayMaxEvents, dayMaxEventRows }\n }\n\n /* Header Render Methods\n ------------------------------------------------------------------------------------------------------------------*/\n\n renderHeadAxis = (rowKey: 'day' | string, frameHeight: CssDimValue = '') => {\n let { options } = this.context\n let { dateProfile } = this.props\n let range = dateProfile.renderRange\n let dayCnt = diffDays(range.start, range.end)\n\n let navLinkAttrs = (dayCnt === 1) // only do in day views (to avoid doing in week views that dont need it)\n ? buildNavLinkAttrs(this.context, range.start, 'week')\n : {}\n\n if (options.weekNumbers && rowKey === 'day') {\n return (\n \n {(rootElRef, classNames, innerElRef, innerContent) => (\n \n \n \n {innerContent}\n \n \n \n )}\n \n )\n }\n\n return (\n \n
\n \n )\n }\n\n /* Table Component Render Methods\n ------------------------------------------------------------------------------------------------------------------*/\n\n // only a one-way height sync. we don't send the axis inner-content height to the DayGrid,\n // but DayGrid still needs to have classNames on inner elements in order to measure.\n renderTableRowAxis = (rowHeight?: number) => {\n let { options, viewApi } = this.context\n let hookProps: AllDayContentArg = {\n text: options.allDayText,\n view: viewApi,\n }\n\n return (\n // TODO: make reusable hook. used in list view too\n \n hookProps={hookProps}\n classNames={options.allDayClassNames}\n content={options.allDayContent}\n defaultContent={renderAllDayInner}\n didMount={options.allDayDidMount}\n willUnmount={options.allDayWillUnmount}\n >\n {(rootElRef, classNames, innerElRef, innerContent) => (\n \n \n \n {innerContent}\n \n
\n \n )}\n \n )\n }\n\n handleSlatCoords = (slatCoords: TimeColsSlatsCoords) => {\n this.setState({ slatCoords })\n }\n}\n\nfunction renderAllDayInner(hookProps) {\n return hookProps.text\n}\n","import {\n PositionCache,\n DateMarker,\n startOfDay,\n createDuration,\n asRoughMs,\n DateProfile,\n Duration,\n rangeContainsMarker,\n} from '@fullcalendar/common'\n\nexport class TimeColsSlatsCoords {\n constructor(\n public positions: PositionCache,\n private dateProfile: DateProfile,\n private slotDuration: Duration,\n ) {\n }\n\n safeComputeTop(date: DateMarker) { // TODO: DRY with computeDateTop\n let { dateProfile } = this\n\n if (rangeContainsMarker(dateProfile.currentRange, date)) {\n let startOfDayDate = startOfDay(date)\n let timeMs = date.valueOf() - startOfDayDate.valueOf()\n\n if (\n timeMs >= asRoughMs(dateProfile.slotMinTime) &&\n timeMs < asRoughMs(dateProfile.slotMaxTime)\n ) {\n return this.computeTimeTop(createDuration(timeMs))\n }\n }\n\n return null\n }\n\n // Computes the top coordinate, relative to the bounds of the grid, of the given date.\n // A `startOfDayDate` must be given for avoiding ambiguity over how to treat midnight.\n computeDateTop(when: DateMarker, startOfDayDate?: DateMarker) {\n if (!startOfDayDate) {\n startOfDayDate = startOfDay(when)\n }\n return this.computeTimeTop(createDuration(when.valueOf() - startOfDayDate.valueOf()))\n }\n\n // Computes the top coordinate, relative to the bounds of the grid, of the given time (a Duration).\n // This is a makeshify way to compute the time-top. Assumes all slatMetas dates are uniform.\n // Eventually allow computation with arbirary slat dates.\n computeTimeTop(duration: Duration): number {\n let { positions, dateProfile } = this\n let len = positions.els.length\n\n // floating-point value of # of slots covered\n let slatCoverage = (duration.milliseconds - asRoughMs(dateProfile.slotMinTime)) / asRoughMs(this.slotDuration)\n let slatIndex\n let slatRemainder\n\n // compute a floating-point number for how many slats should be progressed through.\n // from 0 to number of slats (inclusive)\n // constrained because slotMinTime/slotMaxTime might be customized.\n slatCoverage = Math.max(0, slatCoverage)\n slatCoverage = Math.min(len, slatCoverage)\n\n // an integer index of the furthest whole slat\n // from 0 to number slats (*exclusive*, so len-1)\n slatIndex = Math.floor(slatCoverage)\n slatIndex = Math.min(slatIndex, len - 1)\n\n // how much further through the slatIndex slat (from 0.0-1.0) must be covered in addition.\n // could be 1.0 if slatCoverage is covering *all* the slots\n slatRemainder = slatCoverage - slatIndex\n\n return positions.tops[slatIndex] +\n positions.getHeight(slatIndex) * slatRemainder\n }\n}\n","import {\n createElement,\n BaseComponent,\n RefMap,\n RenderHook,\n SlotLaneContentArg,\n} from '@fullcalendar/common'\nimport { TimeColsAxisCell } from './TimeColsAxisCell'\nimport { TimeSlatMeta } from './time-slat-meta'\n\nexport interface TimeColsSlatsBodyProps {\n axis: boolean\n slatMetas: TimeSlatMeta[]\n slatElRefs: RefMap\n}\n\nexport class TimeColsSlatsBody extends BaseComponent {\n render() {\n let { props, context } = this\n let { options } = context\n let { slatElRefs } = props\n\n return (\n \n {props.slatMetas.map((slatMeta, i) => {\n let hookProps: SlotLaneContentArg = {\n time: slatMeta.time,\n date: context.dateEnv.toDate(slatMeta.date),\n view: context.viewApi,\n }\n\n let classNames = [\n 'fc-timegrid-slot',\n 'fc-timegrid-slot-lane',\n slatMeta.isLabeled ? '' : 'fc-timegrid-slot-minor',\n ]\n\n return (\n \n {props.axis && (\n \n )}\n \n {(rootElRef, customClassNames, innerElRef, innerContent) => (\n \n {innerContent}\n \n )}\n \n \n )\n })}\n \n )\n }\n}\n","import {\n createElement,\n VNode,\n BaseComponent,\n RefMap,\n CssDimValue,\n createRef,\n PositionCache,\n DateProfile,\n} from '@fullcalendar/common'\nimport { TimeSlatMeta } from './time-slat-meta'\nimport { TimeColsSlatsCoords } from './TimeColsSlatsCoords'\nimport { TimeColsSlatsBody } from './TimeColsSlatsBody'\n\nexport interface TimeColsSlatsProps extends TimeColsSlatsContentProps {\n dateProfile: DateProfile\n clientWidth: number | null\n minHeight: CssDimValue\n tableMinWidth: CssDimValue\n tableColGroupNode: VNode\n onCoords?: (coords: TimeColsSlatsCoords | null) => void\n}\n\ninterface TimeColsSlatsContentProps {\n axis: boolean\n slatMetas: TimeSlatMeta[]\n}\n\n/*\nfor the horizontal \"slats\" that run width-wise. Has a time axis on a side. Depends on RTL.\n*/\n\nexport class TimeColsSlats extends BaseComponent {\n private rootElRef = createRef()\n private slatElRefs = new RefMap()\n\n render() {\n let { props, context } = this\n\n return (\n
\n \n {props.tableColGroupNode /* relies on there only being a single for the axis */}\n \n \n
\n )\n }\n\n componentDidMount() {\n this.updateSizing()\n }\n\n componentDidUpdate() {\n this.updateSizing()\n }\n\n componentWillUnmount() {\n if (this.props.onCoords) {\n this.props.onCoords(null)\n }\n }\n\n updateSizing() {\n let { context, props } = this\n\n if (\n props.onCoords &&\n props.clientWidth !== null // means sizing has stabilized\n ) {\n let rootEl = this.rootElRef.current\n\n if (rootEl.offsetHeight) { // not hidden by css\n props.onCoords(\n new TimeColsSlatsCoords(\n new PositionCache(\n this.rootElRef.current,\n collectSlatEls(this.slatElRefs.currentMap, props.slatMetas),\n false,\n true, // vertical\n ),\n this.props.dateProfile,\n context.options.slotDuration,\n ),\n )\n }\n }\n }\n}\n\nfunction collectSlatEls(elMap: { [key: string]: HTMLElement }, slatMetas: TimeSlatMeta[]) {\n return slatMetas.map((slatMeta) => elMap[slatMeta.key])\n}\n","import { DateMarker, Seg, EventSegUiInteractionState } from '@fullcalendar/common'\n\n// JUST A DATA STRUCTURE, not a component\n\nexport interface TimeColsSeg extends Seg {\n col: number\n start: DateMarker\n end: DateMarker\n}\n\nexport function splitSegsByCol(segs: TimeColsSeg[] | null, colCnt: number) { // can be given null/undefined!\n let segsByCol: TimeColsSeg[][] = []\n let i\n\n for (i = 0; i < colCnt; i += 1) {\n segsByCol.push([])\n }\n\n if (segs) {\n for (i = 0; i < segs.length; i += 1) {\n segsByCol[segs[i].col].push(segs[i])\n }\n }\n\n return segsByCol\n}\n\nexport function splitInteractionByCol(ui: EventSegUiInteractionState | null, colCnt: number) {\n let byRow: EventSegUiInteractionState[] = []\n\n if (!ui) {\n for (let i = 0; i < colCnt; i += 1) {\n byRow[i] = null\n }\n } else {\n for (let i = 0; i < colCnt; i += 1) {\n byRow[i] = {\n affectedInstances: ui.affectedInstances,\n isEvent: ui.isEvent,\n segs: [],\n }\n }\n\n for (let seg of ui.segs) {\n byRow[seg.col].segs.push(seg)\n }\n }\n\n return byRow\n}\n","import {\n createElement, MoreLinkContentArg, MoreLinkRoot, BaseComponent, createRef, setRef,\n Dictionary, DateProfile, DateRange, DateMarker, EventSegUiInteractionState, CssDimValue,\n} from '@fullcalendar/common'\nimport { renderPlainFgSegs } from './TimeCol'\nimport { TimeColsSeg } from './TimeColsSeg'\n\nexport interface TimeColMoreLinkProps {\n hiddenSegs: TimeColsSeg[]\n top: CssDimValue\n bottom: CssDimValue\n extraDateSpan?: Dictionary\n dateProfile: DateProfile\n todayRange: DateRange\n nowDate: DateMarker\n eventSelection: string\n eventDrag: EventSegUiInteractionState\n eventResize: EventSegUiInteractionState\n}\n\nexport class TimeColMoreLink extends BaseComponent {\n rootElRef = createRef()\n\n render() {\n let { props } = this\n return (\n renderPlainFgSegs(props.hiddenSegs, props)}\n >\n {(rootElRef, classNames, innerElRef, innerContent, handleClick, title, isExpanded, popoverId) => (\n {\n setRef(rootElRef, el)\n setRef(this.rootElRef, el)\n }}\n className={['fc-timegrid-more-link'].concat(classNames).join(' ')}\n style={{ top: props.top, bottom: props.bottom }}\n onClick={handleClick}\n title={title}\n aria-expanded={isExpanded}\n aria-controls={popoverId}\n >\n
\n {innerContent}\n
\n \n )}\n \n )\n }\n}\n\nfunction renderMoreLinkInner(props: MoreLinkContentArg) {\n return props.shortText\n}\n","import {\n SegEntry,\n SegHierarchy,\n SegRect,\n buildEntryKey,\n getEntrySpanEnd,\n binarySearch,\n SegEntryGroup,\n groupIntersectingEntries,\n} from '@fullcalendar/common'\n\ninterface SegNode extends SegEntry {\n nextLevelNodes: SegNode[] // with highest-pressure first\n}\n\ntype SegNodeAndPressure = [ SegNode, number ]\n\ninterface SegSiblingRange { // will ALWAYS have span of 1 or more items. if not, will be null\n level: number\n lateralStart: number\n lateralEnd: number\n}\n\nexport interface SegWebRect extends SegRect {\n stackDepth: number\n stackForward: number\n}\n\n// segInputs assumed sorted\nexport function buildPositioning(\n segInputs: SegEntry[],\n strictOrder?: boolean,\n maxStackCnt?: number,\n): { segRects: SegWebRect[], hiddenGroups: SegEntryGroup[] } {\n let hierarchy = new SegHierarchy()\n if (strictOrder != null) {\n hierarchy.strictOrder = strictOrder\n }\n if (maxStackCnt != null) {\n hierarchy.maxStackCnt = maxStackCnt\n }\n\n let hiddenEntries = hierarchy.addSegs(segInputs)\n let hiddenGroups = groupIntersectingEntries(hiddenEntries)\n\n let web = buildWeb(hierarchy)\n web = stretchWeb(web, 1) // all levelCoords/thickness will have 0.0-1.0\n let segRects = webToRects(web)\n\n return { segRects, hiddenGroups }\n}\n\nfunction buildWeb(hierarchy: SegHierarchy): SegNode[] {\n const { entriesByLevel } = hierarchy\n\n const buildNode = cacheable(\n (level: number, lateral: number) => level + ':' + lateral,\n (level: number, lateral: number): SegNodeAndPressure => {\n let siblingRange = findNextLevelSegs(hierarchy, level, lateral)\n let nextLevelRes = buildNodes(siblingRange, buildNode)\n let entry = entriesByLevel[level][lateral]\n\n return [\n { ...entry, nextLevelNodes: nextLevelRes[0] },\n entry.thickness + nextLevelRes[1], // the pressure builds\n ]\n },\n )\n\n return buildNodes(\n entriesByLevel.length\n ? { level: 0, lateralStart: 0, lateralEnd: entriesByLevel[0].length }\n : null,\n buildNode,\n )[0]\n}\n\nfunction buildNodes(\n siblingRange: SegSiblingRange | null,\n buildNode: (level: number, lateral: number) => SegNodeAndPressure,\n): [SegNode[], number] { // number is maxPressure\n if (!siblingRange) {\n return [[], 0]\n }\n\n let { level, lateralStart, lateralEnd } = siblingRange\n let lateral = lateralStart\n let pairs: SegNodeAndPressure[] = []\n\n while (lateral < lateralEnd) {\n pairs.push(buildNode(level, lateral))\n lateral += 1\n }\n\n pairs.sort(cmpDescPressures)\n\n return [\n pairs.map(extractNode),\n pairs[0][1], // first item's pressure\n ]\n}\n\nfunction cmpDescPressures(a: SegNodeAndPressure, b: SegNodeAndPressure) { // sort pressure high -> low\n return b[1] - a[1]\n}\n\nfunction extractNode(a: SegNodeAndPressure): SegNode {\n return a[0]\n}\n\nfunction findNextLevelSegs(hierarchy: SegHierarchy, subjectLevel: number, subjectLateral: number): SegSiblingRange | null {\n let { levelCoords, entriesByLevel } = hierarchy\n let subjectEntry = entriesByLevel[subjectLevel][subjectLateral]\n let afterSubject = levelCoords[subjectLevel] + subjectEntry.thickness\n let levelCnt = levelCoords.length\n let level = subjectLevel\n\n // skip past levels that are too high up\n for (; level < levelCnt && levelCoords[level] < afterSubject; level += 1) ; // do nothing\n\n for (; level < levelCnt; level += 1) {\n let entries = entriesByLevel[level]\n let entry: SegEntry\n let searchIndex = binarySearch(entries, subjectEntry.span.start, getEntrySpanEnd)\n let lateralStart = searchIndex[0] + searchIndex[1] // if exact match (which doesn't collide), go to next one\n let lateralEnd = lateralStart\n\n while ( // loop through entries that horizontally intersect\n (entry = entries[lateralEnd]) && // but not past the whole seg list\n entry.span.start < subjectEntry.span.end\n ) { lateralEnd += 1 }\n\n if (lateralStart < lateralEnd) {\n return { level, lateralStart, lateralEnd }\n }\n }\n\n return null\n}\n\nfunction stretchWeb(topLevelNodes: SegNode[], totalThickness: number): SegNode[] {\n const stretchNode = cacheable(\n (node: SegNode, startCoord: number, prevThickness: number) => buildEntryKey(node),\n (node: SegNode, startCoord: number, prevThickness: number): [number, SegNode] => { // [startCoord, node]\n let { nextLevelNodes, thickness } = node\n let allThickness = thickness + prevThickness\n let thicknessFraction = thickness / allThickness\n let endCoord: number\n let newChildren: SegNode[] = []\n\n if (!nextLevelNodes.length) {\n endCoord = totalThickness\n } else {\n for (let childNode of nextLevelNodes) {\n if (endCoord === undefined) {\n let res = stretchNode(childNode, startCoord, allThickness)\n endCoord = res[0]\n newChildren.push(res[1])\n } else {\n let res = stretchNode(childNode, endCoord, 0)\n newChildren.push(res[1])\n }\n }\n }\n\n let newThickness = (endCoord - startCoord) * thicknessFraction\n return [endCoord - newThickness, {\n ...node,\n thickness: newThickness,\n nextLevelNodes: newChildren,\n }]\n },\n )\n\n return topLevelNodes.map((node: SegNode) => stretchNode(node, 0, 0)[1])\n}\n\n// not sorted in any particular order\nfunction webToRects(topLevelNodes: SegNode[]): SegWebRect[] {\n let rects: SegWebRect[] = []\n\n const processNode = cacheable(\n (node: SegNode, levelCoord: number, stackDepth: number) => buildEntryKey(node),\n (node: SegNode, levelCoord: number, stackDepth: number) => { // returns forwardPressure\n let rect: SegWebRect = {\n ...node,\n levelCoord,\n stackDepth,\n stackForward: 0, // will assign after recursing\n }\n rects.push(rect)\n\n return (\n rect.stackForward = processNodes(node.nextLevelNodes, levelCoord + node.thickness, stackDepth + 1) + 1\n )\n },\n )\n\n function processNodes(nodes: SegNode[], levelCoord: number, stackDepth: number) { // returns stackForward\n let stackForward = 0\n for (let node of nodes) {\n stackForward = Math.max(processNode(node, levelCoord, stackDepth), stackForward)\n }\n return stackForward\n }\n\n processNodes(topLevelNodes, 0, 0)\n return rects // TODO: sort rects by levelCoord to be consistent with toRects?\n}\n\n// TODO: move to general util\n\nfunction cacheable(\n keyFunc: (...args: Args) => string,\n workFunc: (...args: Args) => Res,\n): ((...args: Args) => Res) {\n const cache: { [key: string]: Res } = {}\n\n return (...args: Args) => {\n let key = keyFunc(...args)\n return (key in cache)\n ? cache[key]\n : (cache[key] = workFunc(...args))\n }\n}\n","import {\n SegSpan,\n SegEntry,\n SegEntryGroup,\n DateMarker,\n} from '@fullcalendar/common'\nimport { TimeColsSeg } from './TimeColsSeg'\nimport { TimeColsSlatsCoords } from './TimeColsSlatsCoords'\nimport { SegWebRect, buildPositioning } from './seg-web'\n\n// public interface\n// ------------------------------------------------------------------------------------------\n\nexport interface TimeColFgSegPlacement {\n seg: TimeColsSeg\n rect: SegWebRect | null\n}\n\nexport function computeSegVCoords(\n segs: TimeColsSeg[],\n colDate: DateMarker,\n slatCoords: TimeColsSlatsCoords = null,\n eventMinHeight: number = 0, // might be null/undefined :(\n): SegSpan[] {\n let vcoords: SegSpan[] = []\n\n if (slatCoords) {\n for (let i = 0; i < segs.length; i += 1) {\n let seg = segs[i]\n let spanStart = slatCoords.computeDateTop(seg.start, colDate)\n let spanEnd = Math.max(\n spanStart + (eventMinHeight || 0), // :(\n slatCoords.computeDateTop(seg.end, colDate),\n )\n vcoords.push({\n start: Math.round(spanStart), // for barely-overlapping collisions\n end: Math.round(spanEnd), //\n })\n }\n }\n\n return vcoords\n}\n\nexport function computeFgSegPlacements(\n segs: TimeColsSeg[],\n segVCoords: SegSpan[], // might not have for every seg\n eventOrderStrict?: boolean,\n eventMaxStack?: number,\n): { segPlacements: TimeColFgSegPlacement[], hiddenGroups: SegEntryGroup[] } {\n let segInputs: SegEntry[] = []\n let dumbSegs: TimeColsSeg[] = [] // segs without coords\n\n for (let i = 0; i < segs.length; i += 1) {\n let vcoords = segVCoords[i]\n if (vcoords) {\n segInputs.push({\n index: i,\n thickness: 1,\n span: vcoords,\n })\n } else {\n dumbSegs.push(segs[i])\n }\n }\n\n let { segRects, hiddenGroups } = buildPositioning(segInputs, eventOrderStrict, eventMaxStack)\n let segPlacements: TimeColFgSegPlacement[] = []\n\n for (let segRect of segRects) {\n segPlacements.push({\n seg: segs[segRect.index],\n rect: segRect,\n })\n }\n\n for (let dumbSeg of dumbSegs) {\n segPlacements.push({ seg: dumbSeg, rect: null })\n }\n\n return { segPlacements, hiddenGroups }\n}\n","import { createElement, StandardEvent, BaseComponent, MinimalEventProps, createFormatter } from '@fullcalendar/common'\n\nconst DEFAULT_TIME_FORMAT = createFormatter({\n hour: 'numeric',\n minute: '2-digit',\n meridiem: false,\n})\n\nexport interface TimeColEventProps extends MinimalEventProps {\n isShort: boolean\n}\n\nexport class TimeColEvent extends BaseComponent {\n render() {\n let classNames = [\n 'fc-timegrid-event',\n 'fc-v-event',\n ]\n\n if (this.props.isShort) {\n classNames.push('fc-timegrid-event-short')\n }\n\n return (\n \n )\n }\n}\n","import {\n DateMarker, BaseComponent, createElement,\n DateRange, DayCellContent, DateProfile,\n} from '@fullcalendar/common'\n\nexport interface TimeColMiscProps { // should be given nowDate too??\n dateProfile: DateProfile\n date: DateMarker\n todayRange: DateRange\n extraHookProps?: any\n}\n\nexport class TimeColMisc extends BaseComponent {\n render() {\n let { props } = this\n\n return (\n \n {(innerElRef, innerContent) => (\n innerContent &&\n
{innerContent}
\n )}\n
\n )\n }\n}\n","import {\n Ref, DateMarker, BaseComponent, createElement, EventSegUiInteractionState, Seg, getSegMeta,\n DateRange, Fragment, DayCellRoot, NowIndicatorRoot, BgEvent, renderFill, buildIsoString, computeEarliestSegStart,\n DateProfile, buildEventRangeKey, sortEventSegs, memoize, SegEntryGroup, SegEntry, Dictionary, SegSpan, CssDimValue,\n} from '@fullcalendar/common'\nimport { TimeColMoreLink } from './TimeColMoreLink'\nimport { TimeColsSeg } from './TimeColsSeg'\nimport { TimeColsSlatsCoords } from './TimeColsSlatsCoords'\nimport { SegWebRect } from './seg-web'\nimport { computeFgSegPlacements, computeSegVCoords } from './event-placement'\nimport { TimeColEvent } from './TimeColEvent'\nimport { TimeColMisc } from './TimeColMisc'\n\nexport interface TimeColProps {\n elRef?: Ref\n dateProfile: DateProfile\n date: DateMarker\n nowDate: DateMarker\n todayRange: DateRange\n extraDataAttrs?: any\n extraHookProps?: any\n extraClassNames?: string[]\n extraDateSpan?: Dictionary\n fgEventSegs: TimeColsSeg[]\n bgEventSegs: TimeColsSeg[]\n businessHourSegs: TimeColsSeg[]\n nowIndicatorSegs: TimeColsSeg[]\n dateSelectionSegs: TimeColsSeg[]\n eventSelection: string\n eventDrag: EventSegUiInteractionState | null\n eventResize: EventSegUiInteractionState | null\n slatCoords: TimeColsSlatsCoords\n forPrint: boolean\n}\n\nexport class TimeCol extends BaseComponent {\n sortEventSegs = memoize(sortEventSegs)\n // TODO: memoize event-placement?\n\n render() {\n let { props, context } = this\n let isSelectMirror = context.options.selectMirror\n\n let mirrorSegs: Seg[] = // yuck\n (props.eventDrag && props.eventDrag.segs) ||\n (props.eventResize && props.eventResize.segs) ||\n (isSelectMirror && props.dateSelectionSegs) ||\n []\n\n let interactionAffectedInstances = // TODO: messy way to compute this\n (props.eventDrag && props.eventDrag.affectedInstances) ||\n (props.eventResize && props.eventResize.affectedInstances) ||\n {}\n\n let sortedFgSegs = this.sortEventSegs(props.fgEventSegs, context.options.eventOrder) as TimeColsSeg[]\n\n return (\n \n {(rootElRef, classNames, dataAttrs) => (\n \n
\n
\n {this.renderFillSegs(props.businessHourSegs, 'non-business')}\n {this.renderFillSegs(props.bgEventSegs, 'bg-event')}\n {this.renderFillSegs(props.dateSelectionSegs, 'highlight')}\n
\n
\n {this.renderFgSegs(\n sortedFgSegs,\n interactionAffectedInstances,\n false,\n false,\n false,\n )}\n
\n
\n {this.renderFgSegs(\n mirrorSegs as TimeColsSeg[],\n {},\n Boolean(props.eventDrag),\n Boolean(props.eventResize),\n Boolean(isSelectMirror),\n )}\n
\n
\n {this.renderNowIndicator(props.nowIndicatorSegs)}\n
\n \n
\n \n )}\n \n )\n }\n\n renderFgSegs(\n sortedFgSegs: TimeColsSeg[],\n segIsInvisible: { [instanceId: string]: any },\n isDragging: boolean,\n isResizing: boolean,\n isDateSelecting: boolean,\n ) {\n let { props } = this\n if (props.forPrint) {\n return renderPlainFgSegs(sortedFgSegs, props)\n }\n return this.renderPositionedFgSegs(sortedFgSegs, segIsInvisible, isDragging, isResizing, isDateSelecting)\n }\n\n renderPositionedFgSegs(\n segs: TimeColsSeg[], // if not mirror, needs to be sorted\n segIsInvisible: { [instanceId: string]: any },\n isDragging: boolean,\n isResizing: boolean,\n isDateSelecting: boolean,\n ) {\n let { eventMaxStack, eventShortHeight, eventOrderStrict, eventMinHeight } = this.context.options\n let { date, slatCoords, eventSelection, todayRange, nowDate } = this.props\n let isMirror = isDragging || isResizing || isDateSelecting\n let segVCoords = computeSegVCoords(segs, date, slatCoords, eventMinHeight)\n let { segPlacements, hiddenGroups } = computeFgSegPlacements(segs, segVCoords, eventOrderStrict, eventMaxStack)\n\n return (\n \n {this.renderHiddenGroups(hiddenGroups, segs)}\n {segPlacements.map((segPlacement) => {\n let { seg, rect } = segPlacement\n let instanceId = seg.eventRange.instance.instanceId\n let isVisible = isMirror || Boolean(!segIsInvisible[instanceId] && rect)\n let vStyle = computeSegVStyle(rect && rect.span)\n let hStyle = (!isMirror && rect) ? this.computeSegHStyle(rect) : { left: 0, right: 0 }\n let isInset = Boolean(rect) && rect.stackForward > 0\n let isShort = Boolean(rect) && (rect.span.end - rect.span.start) < eventShortHeight // look at other places for this problem\n\n return (\n \n \n \n )\n })}\n \n )\n }\n\n // will already have eventMinHeight applied because segInputs already had it\n renderHiddenGroups(hiddenGroups: SegEntryGroup[], segs: TimeColsSeg[]) {\n let { extraDateSpan, dateProfile, todayRange, nowDate, eventSelection, eventDrag, eventResize } = this.props\n return (\n \n {hiddenGroups.map((hiddenGroup) => {\n let positionCss = computeSegVStyle(hiddenGroup.span)\n let hiddenSegs = compileSegsFromEntries(hiddenGroup.entries, segs)\n return (\n \n )\n })}\n \n )\n }\n\n renderFillSegs(segs: TimeColsSeg[], fillType: string) {\n let { props, context } = this\n let segVCoords = computeSegVCoords(segs, props.date, props.slatCoords, context.options.eventMinHeight) // don't assume all populated\n\n let children = segVCoords.map((vcoords, i) => {\n let seg = segs[i]\n return (\n \n {fillType === 'bg-event' ?\n :\n renderFill(fillType)}\n \n )\n })\n\n return {children}\n }\n\n renderNowIndicator(segs: TimeColsSeg[]) {\n let { slatCoords, date } = this.props\n\n if (!slatCoords) { return null }\n\n return segs.map((seg, i) => (\n \n {(rootElRef, classNames, innerElRef, innerContent) => (\n \n {innerContent}\n \n )}\n \n ))\n }\n\n computeSegHStyle(segHCoords: SegWebRect) {\n let { isRtl, options } = this.context\n let shouldOverlap = options.slotEventOverlap\n let nearCoord = segHCoords.levelCoord // the left side if LTR. the right side if RTL. floating-point\n let farCoord = segHCoords.levelCoord + segHCoords.thickness // the right side if LTR. the left side if RTL. floating-point\n let left // amount of space from left edge, a fraction of the total width\n let right // amount of space from right edge, a fraction of the total width\n\n if (shouldOverlap) {\n // double the width, but don't go beyond the maximum forward coordinate (1.0)\n farCoord = Math.min(1, nearCoord + (farCoord - nearCoord) * 2)\n }\n\n if (isRtl) {\n left = 1 - farCoord\n right = nearCoord\n } else {\n left = nearCoord\n right = 1 - farCoord\n }\n\n let props = {\n zIndex: segHCoords.stackDepth + 1, // convert from 0-base to 1-based\n left: left * 100 + '%',\n right: right * 100 + '%',\n }\n\n if (shouldOverlap && !segHCoords.stackForward) {\n // add padding to the edge so that forward stacked events don't cover the resizer's icon\n props[isRtl ? 'marginLeft' : 'marginRight'] = 10 * 2 // 10 is a guesstimate of the icon's width\n }\n\n return props\n }\n}\n\nexport function renderPlainFgSegs(\n sortedFgSegs: TimeColsSeg[],\n { todayRange, nowDate, eventSelection, eventDrag, eventResize }: {\n todayRange: DateRange\n nowDate: DateMarker\n eventSelection: string\n eventDrag: EventSegUiInteractionState | null\n eventResize: EventSegUiInteractionState | null\n },\n) {\n let hiddenInstances =\n (eventDrag ? eventDrag.affectedInstances : null) ||\n (eventResize ? eventResize.affectedInstances : null) ||\n {}\n return (\n \n {sortedFgSegs.map((seg) => {\n let instanceId = seg.eventRange.instance.instanceId\n return (\n \n \n \n )\n })}\n \n )\n}\n\nfunction computeSegVStyle(segVCoords: SegSpan | null): { top: CssDimValue, bottom: CssDimValue } {\n if (!segVCoords) {\n return { top: '', bottom: '' }\n }\n return {\n top: segVCoords.start,\n bottom: -segVCoords.end,\n }\n}\n\nfunction compileSegsFromEntries(\n segEntries: SegEntry[],\n allSegs: TimeColsSeg[],\n): TimeColsSeg[] {\n return segEntries.map((segEntry) => allSegs[segEntry.index])\n}\n","import {\n createElement, VNode,\n BaseComponent,\n EventSegUiInteractionState,\n CssDimValue,\n DateMarker,\n RefMap,\n createRef,\n PositionCache,\n memoize,\n DateRange,\n NowIndicatorRoot,\n DateProfile,\n DayTableCell,\n} from '@fullcalendar/common'\nimport { TimeColsSeg, splitSegsByCol, splitInteractionByCol } from './TimeColsSeg'\nimport { TimeColsSlatsCoords } from './TimeColsSlatsCoords'\nimport { TimeCol } from './TimeCol'\n\nexport interface TimeColsContentProps {\n axis: boolean\n cells: DayTableCell[]\n dateProfile: DateProfile\n nowDate: DateMarker\n todayRange: DateRange\n businessHourSegs: TimeColsSeg[]\n bgEventSegs: TimeColsSeg[]\n fgEventSegs: TimeColsSeg[]\n dateSelectionSegs: TimeColsSeg[]\n eventSelection: string\n eventDrag: EventSegUiInteractionState | null\n eventResize: EventSegUiInteractionState | null\n nowIndicatorSegs: TimeColsSeg[]\n clientWidth: number | null\n tableMinWidth: CssDimValue\n tableColGroupNode: VNode\n slatCoords: TimeColsSlatsCoords\n onColCoords?: (colCoords: PositionCache) => void\n forPrint: boolean\n}\n\nexport class TimeColsContent extends BaseComponent { // TODO: rename\n private splitFgEventSegs = memoize(splitSegsByCol)\n private splitBgEventSegs = memoize(splitSegsByCol)\n private splitBusinessHourSegs = memoize(splitSegsByCol)\n private splitNowIndicatorSegs = memoize(splitSegsByCol)\n private splitDateSelectionSegs = memoize(splitSegsByCol)\n private splitEventDrag = memoize(splitInteractionByCol)\n private splitEventResize = memoize(splitInteractionByCol)\n private rootElRef = createRef()\n private cellElRefs = new RefMap()\n\n render() {\n let { props, context } = this\n let nowIndicatorTop =\n context.options.nowIndicator &&\n props.slatCoords &&\n props.slatCoords.safeComputeTop(props.nowDate) // might return void\n\n let colCnt = props.cells.length\n let fgEventSegsByRow = this.splitFgEventSegs(props.fgEventSegs, colCnt)\n let bgEventSegsByRow = this.splitBgEventSegs(props.bgEventSegs, colCnt)\n let businessHourSegsByRow = this.splitBusinessHourSegs(props.businessHourSegs, colCnt)\n let nowIndicatorSegsByRow = this.splitNowIndicatorSegs(props.nowIndicatorSegs, colCnt)\n let dateSelectionSegsByRow = this.splitDateSelectionSegs(props.dateSelectionSegs, colCnt)\n let eventDragByRow = this.splitEventDrag(props.eventDrag, colCnt)\n let eventResizeByRow = this.splitEventResize(props.eventResize, colCnt)\n\n return (\n
\n \n {props.tableColGroupNode}\n \n \n {props.axis && (\n \n
\n
\n {typeof nowIndicatorTop === 'number' && (\n \n {(rootElRef, classNames, innerElRef, innerContent) => (\n \n {innerContent}\n
\n )}\n \n )}\n
\n
\n \n )}\n {props.cells.map((cell, i) => (\n \n ))}\n \n \n \n \n )\n }\n\n componentDidMount() {\n this.updateCoords()\n }\n\n componentDidUpdate() {\n this.updateCoords()\n }\n\n updateCoords() {\n let { props } = this\n\n if (\n props.onColCoords &&\n props.clientWidth !== null // means sizing has stabilized\n ) {\n props.onColCoords(\n new PositionCache(\n this.rootElRef.current,\n collectCellEls(this.cellElRefs.currentMap, props.cells),\n true, // horizontal\n false,\n ),\n )\n }\n }\n}\n\nfunction collectCellEls(elMap: { [key: string]: HTMLElement }, cells: DayTableCell[]) {\n return cells.map((cell) => elMap[cell.key])\n}\n","import {\n createElement, VNode,\n addDurations,\n multiplyDuration,\n wholeDivideDurations,\n DateMarker,\n EventSegUiInteractionState,\n memoize,\n CssDimValue,\n PositionCache,\n ScrollResponder,\n ScrollRequest,\n DateRange,\n Duration,\n DateProfile,\n DayTableCell,\n Hit,\n DateComponent,\n} from '@fullcalendar/common'\nimport { TimeColsSlats } from './TimeColsSlats'\nimport { TimeSlatMeta } from './time-slat-meta'\nimport { TimeColsContent } from './TimeColsContent'\nimport { TimeColsSlatsCoords } from './TimeColsSlatsCoords'\nimport { TimeColsSeg } from './TimeColsSeg'\n\nexport interface TimeColsProps {\n cells: DayTableCell[]\n dateProfile: DateProfile\n slotDuration: Duration\n nowDate: DateMarker\n todayRange: DateRange\n businessHourSegs: TimeColsSeg[]\n bgEventSegs: TimeColsSeg[]\n fgEventSegs: TimeColsSeg[]\n dateSelectionSegs: TimeColsSeg[]\n eventSelection: string\n eventDrag: EventSegUiInteractionState | null\n eventResize: EventSegUiInteractionState | null\n tableColGroupNode: VNode\n tableMinWidth: CssDimValue\n clientWidth: number | null\n clientHeight: number | null\n expandRows: boolean\n nowIndicatorSegs: TimeColsSeg[]\n onScrollTopRequest?: (scrollTop: number) => void\n forPrint: boolean\n axis: boolean\n slatMetas: TimeSlatMeta[]\n onSlatCoords?: (slatCoords: TimeColsSlatsCoords) => void\n isHitComboAllowed?: (hit0: Hit, hit1: Hit) => boolean\n}\n\ninterface TimeColsState {\n slatCoords: TimeColsSlatsCoords | null\n}\n\n/* A component that renders one or more columns of vertical time slots\n----------------------------------------------------------------------------------------------------------------------*/\n\nexport class TimeCols extends DateComponent {\n private processSlotOptions = memoize(processSlotOptions)\n private scrollResponder: ScrollResponder\n private colCoords: PositionCache\n\n state = {\n slatCoords: null,\n }\n\n render() {\n let { props, state } = this\n\n return (\n \n \n \n \n )\n }\n\n handleRootEl = (el: HTMLElement | null) => {\n if (el) {\n this.context.registerInteractiveComponent(this, {\n el,\n isHitComboAllowed: this.props.isHitComboAllowed,\n })\n } else {\n this.context.unregisterInteractiveComponent(this)\n }\n }\n\n componentDidMount() {\n this.scrollResponder = this.context.createScrollResponder(this.handleScrollRequest)\n }\n\n componentDidUpdate(prevProps: TimeColsProps) {\n this.scrollResponder.update(prevProps.dateProfile !== this.props.dateProfile)\n }\n\n componentWillUnmount() {\n this.scrollResponder.detach()\n }\n\n handleScrollRequest = (request: ScrollRequest) => {\n let { onScrollTopRequest } = this.props\n let { slatCoords } = this.state\n\n if (onScrollTopRequest && slatCoords) {\n if (request.time) {\n let top = slatCoords.computeTimeTop(request.time)\n top = Math.ceil(top) // zoom can give weird floating-point values. rather scroll a little bit further\n if (top) {\n top += 1 // to overcome top border that slots beyond the first have. looks better\n }\n\n onScrollTopRequest(top)\n }\n\n return true\n }\n\n return false\n }\n\n handleColCoords = (colCoords: PositionCache | null) => {\n this.colCoords = colCoords\n }\n\n handleSlatCoords = (slatCoords: TimeColsSlatsCoords | null) => {\n this.setState({ slatCoords })\n\n if (this.props.onSlatCoords) {\n this.props.onSlatCoords(slatCoords)\n }\n }\n\n queryHit(positionLeft: number, positionTop: number): Hit {\n let { dateEnv, options } = this.context\n let { colCoords } = this\n let { dateProfile } = this.props\n let { slatCoords } = this.state\n let { snapDuration, snapsPerSlot } = this.processSlotOptions(this.props.slotDuration, options.snapDuration)\n\n let colIndex = colCoords.leftToIndex(positionLeft)\n let slatIndex = slatCoords.positions.topToIndex(positionTop)\n\n if (colIndex != null && slatIndex != null) {\n let cell = this.props.cells[colIndex]\n let slatTop = slatCoords.positions.tops[slatIndex]\n let slatHeight = slatCoords.positions.getHeight(slatIndex)\n let partial = (positionTop - slatTop) / slatHeight // floating point number between 0 and 1\n let localSnapIndex = Math.floor(partial * snapsPerSlot) // the snap # relative to start of slat\n let snapIndex = slatIndex * snapsPerSlot + localSnapIndex\n\n let dayDate = this.props.cells[colIndex].date\n let time = addDurations(\n dateProfile.slotMinTime,\n multiplyDuration(snapDuration, snapIndex),\n )\n\n let start = dateEnv.add(dayDate, time)\n let end = dateEnv.add(start, snapDuration)\n\n return {\n dateProfile,\n dateSpan: {\n range: { start, end },\n allDay: false,\n ...cell.extraDateSpan,\n },\n dayEl: colCoords.els[colIndex],\n rect: {\n left: colCoords.lefts[colIndex],\n right: colCoords.rights[colIndex],\n top: slatTop,\n bottom: slatTop + slatHeight,\n },\n layer: 0,\n }\n }\n\n return null\n }\n}\n\nfunction processSlotOptions(slotDuration: Duration, snapDurationOverride: Duration | null) {\n let snapDuration = snapDurationOverride || slotDuration\n let snapsPerSlot = wholeDivideDurations(slotDuration, snapDuration)\n\n if (snapsPerSlot === null) {\n snapDuration = slotDuration\n snapsPerSlot = 1\n // TODO: say warning?\n }\n\n return { snapDuration, snapsPerSlot }\n}\n","import { intersectRanges, DateRange, Slicer } from '@fullcalendar/common'\nimport { TimeColsSeg } from './TimeColsSeg'\n\nexport class DayTimeColsSlicer extends Slicer {\n sliceRange(range: DateRange, dayRanges: DateRange[]): TimeColsSeg[] {\n let segs: TimeColsSeg[] = []\n\n for (let col = 0; col < dayRanges.length; col += 1) {\n let segRange = intersectRanges(range, dayRanges[col])\n\n if (segRange) {\n segs.push({\n start: segRange.start,\n end: segRange.end,\n isStart: segRange.start.valueOf() === range.start.valueOf(),\n isEnd: segRange.end.valueOf() === range.end.valueOf(),\n col,\n })\n }\n }\n\n return segs\n }\n}\n","import {\n createElement,\n createRef,\n VNode,\n DateComponent,\n DateProfile,\n EventStore,\n EventUiHash,\n EventInteractionState,\n DateSpan,\n memoize,\n DateRange,\n DayTableModel,\n DateEnv,\n DateMarker,\n NowTimer,\n CssDimValue,\n Duration,\n} from '@fullcalendar/common'\nimport { TimeCols } from './TimeCols'\nimport { TimeSlatMeta } from './time-slat-meta'\nimport { TimeColsSlatsCoords } from './TimeColsSlatsCoords'\nimport { DayTimeColsSlicer } from './DayTimeColsSlicer'\n\nexport interface DayTimeColsProps {\n dateProfile: DateProfile\n dayTableModel: DayTableModel\n axis: boolean\n slotDuration: Duration\n slatMetas: TimeSlatMeta[]\n businessHours: EventStore\n eventStore: EventStore\n eventUiBases: EventUiHash\n dateSelection: DateSpan | null\n eventSelection: string\n eventDrag: EventInteractionState | null\n eventResize: EventInteractionState | null\n tableColGroupNode: VNode\n tableMinWidth: CssDimValue\n clientWidth: number | null\n clientHeight: number | null\n expandRows: boolean\n onScrollTopRequest?: (scrollTop: number) => void\n forPrint: boolean\n onSlatCoords?: (slatCoords: TimeColsSlatsCoords) => void\n}\n\nexport class DayTimeCols extends DateComponent {\n private buildDayRanges = memoize(buildDayRanges)\n private slicer = new DayTimeColsSlicer()\n private timeColsRef = createRef()\n\n render() {\n let { props, context } = this\n let { dateProfile, dayTableModel } = props\n\n let isNowIndicator = context.options.nowIndicator\n let dayRanges = this.buildDayRanges(dayTableModel, dateProfile, context.dateEnv)\n\n // give it the first row of cells\n // TODO: would move this further down hierarchy, but sliceNowDate needs it\n return (\n \n {(nowDate: DateMarker, todayRange: DateRange) => (\n \n )}\n \n )\n }\n}\n\nexport function buildDayRanges(dayTableModel: DayTableModel, dateProfile: DateProfile, dateEnv: DateEnv): DateRange[] {\n let ranges: DateRange[] = []\n\n for (let date of dayTableModel.headerDates) {\n ranges.push({\n start: dateEnv.add(date, dateProfile.slotMinTime),\n end: dateEnv.add(date, dateProfile.slotMaxTime),\n })\n }\n\n return ranges\n}\n","import {\n createDuration,\n asRoughMs,\n formatIsoTimeString,\n addDurations,\n wholeDivideDurations,\n Duration,\n DateMarker,\n DateEnv,\n} from '@fullcalendar/common'\n\nexport interface TimeSlatMeta {\n date: DateMarker\n time: Duration\n key: string\n isoTimeStr: string\n isLabeled: boolean\n}\n\n// potential nice values for the slot-duration and interval-duration\n// from largest to smallest\nconst STOCK_SUB_DURATIONS = [\n { hours: 1 },\n { minutes: 30 },\n { minutes: 15 },\n { seconds: 30 },\n { seconds: 15 },\n]\n\nexport function buildSlatMetas(\n slotMinTime: Duration,\n slotMaxTime: Duration,\n explicitLabelInterval: Duration | null,\n slotDuration: Duration,\n dateEnv: DateEnv,\n) {\n let dayStart = new Date(0)\n let slatTime = slotMinTime\n let slatIterator = createDuration(0)\n let labelInterval = explicitLabelInterval || computeLabelInterval(slotDuration)\n let metas: TimeSlatMeta[] = []\n\n while (asRoughMs(slatTime) < asRoughMs(slotMaxTime)) {\n let date = dateEnv.add(dayStart, slatTime)\n let isLabeled = wholeDivideDurations(slatIterator, labelInterval) !== null\n\n metas.push({\n date,\n time: slatTime,\n key: date.toISOString(), // we can't use the isoTimeStr for uniqueness when minTime/maxTime beyone 0h/24h\n isoTimeStr: formatIsoTimeString(date),\n isLabeled,\n })\n\n slatTime = addDurations(slatTime, slotDuration)\n slatIterator = addDurations(slatIterator, slotDuration)\n }\n\n return metas\n}\n\n// Computes an automatic value for slotLabelInterval\nfunction computeLabelInterval(slotDuration) {\n let i\n let labelInterval\n let slotsPerLabel\n\n // find the smallest stock label interval that results in more than one slots-per-label\n for (i = STOCK_SUB_DURATIONS.length - 1; i >= 0; i -= 1) {\n labelInterval = createDuration(STOCK_SUB_DURATIONS[i])\n slotsPerLabel = wholeDivideDurations(labelInterval, slotDuration)\n if (slotsPerLabel !== null && slotsPerLabel > 1) {\n return labelInterval\n }\n }\n\n return slotDuration // fall back\n}\n","import {\n createElement,\n DateProfileGenerator, DateProfile,\n DayHeader,\n DaySeriesModel,\n DayTableModel,\n memoize,\n ChunkContentCallbackArgs,\n} from '@fullcalendar/common'\nimport { DayTable } from '@fullcalendar/daygrid'\nimport { TimeColsView } from './TimeColsView'\nimport { DayTimeCols } from './DayTimeCols'\nimport { buildSlatMetas } from './time-slat-meta'\n\nexport class DayTimeColsView extends TimeColsView {\n private buildTimeColsModel = memoize(buildTimeColsModel)\n private buildSlatMetas = memoize(buildSlatMetas)\n\n render() {\n let { options, dateEnv, dateProfileGenerator } = this.context\n let { props } = this\n let { dateProfile } = props\n let dayTableModel = this.buildTimeColsModel(dateProfile, dateProfileGenerator)\n let splitProps = this.allDaySplitter.splitProps(props)\n let slatMetas = this.buildSlatMetas(\n dateProfile.slotMinTime,\n dateProfile.slotMaxTime,\n options.slotLabelInterval,\n options.slotDuration,\n dateEnv,\n )\n let { dayMinWidth } = options\n let hasAttachedAxis = !dayMinWidth\n let hasDetachedAxis = dayMinWidth\n\n let headerContent = options.dayHeaders && (\n \n )\n\n let allDayContent = (options.allDaySlot !== false) && ((contentArg: ChunkContentCallbackArgs) => (\n \n ))\n\n let timeGridContent = (contentArg: ChunkContentCallbackArgs) => (\n \n )\n\n return hasDetachedAxis\n ? this.renderHScrollLayout(\n headerContent,\n allDayContent,\n timeGridContent,\n dayTableModel.colCnt,\n dayMinWidth,\n slatMetas,\n this.state.slatCoords,\n )\n : this.renderSimpleLayout(\n headerContent,\n allDayContent,\n timeGridContent,\n )\n }\n}\n\nexport function buildTimeColsModel(dateProfile: DateProfile, dateProfileGenerator: DateProfileGenerator) {\n let daySeries = new DaySeriesModel(dateProfile.renderRange, dateProfileGenerator)\n\n return new DayTableModel(daySeries, false)\n}\n","import { createPlugin } from '@fullcalendar/common'\nimport { TimeColsView } from './TimeColsView'\nimport { DayTimeColsView, buildTimeColsModel } from './DayTimeColsView'\nimport { TimeColsSeg } from './TimeColsSeg'\nimport { DayTimeCols, buildDayRanges } from './DayTimeCols'\nimport { DayTimeColsSlicer } from './DayTimeColsSlicer'\nimport { OPTION_REFINERS } from './options'\nimport './options-declare'\nimport './main.css'\n\nexport { DayTimeCols, DayTimeColsView, TimeColsView, buildTimeColsModel, buildDayRanges, DayTimeColsSlicer, TimeColsSeg }\nexport { TimeCols } from './TimeCols'\nexport { TimeSlatMeta, buildSlatMetas } from './time-slat-meta'\nexport { TimeColsSlatsCoords } from './TimeColsSlatsCoords'\n\nexport default createPlugin({\n initialView: 'timeGridWeek',\n optionRefiners: OPTION_REFINERS,\n views: {\n\n timeGrid: {\n component: DayTimeColsView,\n usesMinMaxTime: true, // indicates that slotMinTime/slotMaxTime affects rendering\n allDaySlot: true,\n slotDuration: '00:30:00',\n slotEventOverlap: true, // a bad name. confused with overlap/constraint system\n },\n\n timeGridDay: {\n type: 'timeGrid',\n duration: { days: 1 },\n },\n\n timeGridWeek: {\n type: 'timeGrid',\n duration: { weeks: 1 },\n },\n\n },\n})\n","export const OPTION_REFINERS = {\n allDaySlot: Boolean,\n}\n","import { config, elementClosest, Emitter, PointerDragEvent } from '@fullcalendar/common'\n\nconfig.touchMouseIgnoreWait = 500\n\nlet ignoreMouseDepth = 0\nlet listenerCnt = 0\nlet isWindowTouchMoveCancelled = false\n\n/*\nUses a \"pointer\" abstraction, which monitors UI events for both mouse and touch.\nTracks when the pointer \"drags\" on a certain element, meaning down+move+up.\n\nAlso, tracks if there was touch-scrolling.\nAlso, can prevent touch-scrolling from happening.\nAlso, can fire pointermove events when scrolling happens underneath, even when no real pointer movement.\n\nemits:\n- pointerdown\n- pointermove\n- pointerup\n*/\nexport class PointerDragging {\n containerEl: EventTarget\n subjectEl: HTMLElement | null = null\n emitter: Emitter\n\n // options that can be directly assigned by caller\n selector: string = '' // will cause subjectEl in all emitted events to be this element\n handleSelector: string = ''\n shouldIgnoreMove: boolean = false\n shouldWatchScroll: boolean = true // for simulating pointermove on scroll\n\n // internal states\n isDragging: boolean = false\n isTouchDragging: boolean = false\n wasTouchScroll: boolean = false\n origPageX: number\n origPageY: number\n prevPageX: number\n prevPageY: number\n prevScrollX: number // at time of last pointer pageX/pageY capture\n prevScrollY: number // \"\n\n constructor(containerEl: EventTarget) {\n this.containerEl = containerEl\n this.emitter = new Emitter()\n containerEl.addEventListener('mousedown', this.handleMouseDown as EventListener)\n containerEl.addEventListener('touchstart', this.handleTouchStart as EventListener, { passive: true })\n listenerCreated()\n }\n\n destroy() {\n this.containerEl.removeEventListener('mousedown', this.handleMouseDown as EventListener)\n this.containerEl.removeEventListener('touchstart', this.handleTouchStart as EventListener, { passive: true } as AddEventListenerOptions)\n listenerDestroyed()\n }\n\n tryStart(ev: UIEvent): boolean {\n let subjectEl = this.querySubjectEl(ev)\n let downEl = ev.target as HTMLElement\n\n if (\n subjectEl &&\n (!this.handleSelector || elementClosest(downEl, this.handleSelector))\n ) {\n this.subjectEl = subjectEl\n this.isDragging = true // do this first so cancelTouchScroll will work\n this.wasTouchScroll = false\n\n return true\n }\n\n return false\n }\n\n cleanup() {\n isWindowTouchMoveCancelled = false\n this.isDragging = false\n this.subjectEl = null\n // keep wasTouchScroll around for later access\n this.destroyScrollWatch()\n }\n\n querySubjectEl(ev: UIEvent): HTMLElement {\n if (this.selector) {\n return elementClosest(ev.target as HTMLElement, this.selector)\n }\n return this.containerEl as HTMLElement\n }\n\n // Mouse\n // ----------------------------------------------------------------------------------------------------\n\n handleMouseDown = (ev: MouseEvent) => {\n if (\n !this.shouldIgnoreMouse() &&\n isPrimaryMouseButton(ev) &&\n this.tryStart(ev)\n ) {\n let pev = this.createEventFromMouse(ev, true)\n this.emitter.trigger('pointerdown', pev)\n this.initScrollWatch(pev)\n\n if (!this.shouldIgnoreMove) {\n document.addEventListener('mousemove', this.handleMouseMove)\n }\n\n document.addEventListener('mouseup', this.handleMouseUp)\n }\n }\n\n handleMouseMove = (ev: MouseEvent) => {\n let pev = this.createEventFromMouse(ev)\n this.recordCoords(pev)\n this.emitter.trigger('pointermove', pev)\n }\n\n handleMouseUp = (ev: MouseEvent) => {\n document.removeEventListener('mousemove', this.handleMouseMove)\n document.removeEventListener('mouseup', this.handleMouseUp)\n\n this.emitter.trigger('pointerup', this.createEventFromMouse(ev))\n\n this.cleanup() // call last so that pointerup has access to props\n }\n\n shouldIgnoreMouse() {\n return ignoreMouseDepth || this.isTouchDragging\n }\n\n // Touch\n // ----------------------------------------------------------------------------------------------------\n\n handleTouchStart = (ev: TouchEvent) => {\n if (this.tryStart(ev)) {\n this.isTouchDragging = true\n\n let pev = this.createEventFromTouch(ev, true)\n this.emitter.trigger('pointerdown', pev)\n this.initScrollWatch(pev)\n\n // unlike mouse, need to attach to target, not document\n // https://stackoverflow.com/a/45760014\n let targetEl = ev.target as HTMLElement\n\n if (!this.shouldIgnoreMove) {\n targetEl.addEventListener('touchmove', this.handleTouchMove)\n }\n\n targetEl.addEventListener('touchend', this.handleTouchEnd)\n targetEl.addEventListener('touchcancel', this.handleTouchEnd) // treat it as a touch end\n\n // attach a handler to get called when ANY scroll action happens on the page.\n // this was impossible to do with normal on/off because 'scroll' doesn't bubble.\n // http://stackoverflow.com/a/32954565/96342\n window.addEventListener(\n 'scroll',\n this.handleTouchScroll,\n true, // useCapture\n )\n }\n }\n\n handleTouchMove = (ev: TouchEvent) => {\n let pev = this.createEventFromTouch(ev)\n this.recordCoords(pev)\n this.emitter.trigger('pointermove', pev)\n }\n\n handleTouchEnd = (ev: TouchEvent) => {\n if (this.isDragging) { // done to guard against touchend followed by touchcancel\n let targetEl = ev.target as HTMLElement\n\n targetEl.removeEventListener('touchmove', this.handleTouchMove)\n targetEl.removeEventListener('touchend', this.handleTouchEnd)\n targetEl.removeEventListener('touchcancel', this.handleTouchEnd)\n window.removeEventListener('scroll', this.handleTouchScroll, true) // useCaptured=true\n\n this.emitter.trigger('pointerup', this.createEventFromTouch(ev))\n\n this.cleanup() // call last so that pointerup has access to props\n this.isTouchDragging = false\n startIgnoringMouse()\n }\n }\n\n handleTouchScroll = () => {\n this.wasTouchScroll = true\n }\n\n // can be called by user of this class, to cancel touch-based scrolling for the current drag\n cancelTouchScroll() {\n if (this.isDragging) {\n isWindowTouchMoveCancelled = true\n }\n }\n\n // Scrolling that simulates pointermoves\n // ----------------------------------------------------------------------------------------------------\n\n initScrollWatch(ev: PointerDragEvent) {\n if (this.shouldWatchScroll) {\n this.recordCoords(ev)\n window.addEventListener('scroll', this.handleScroll, true) // useCapture=true\n }\n }\n\n recordCoords(ev: PointerDragEvent) {\n if (this.shouldWatchScroll) {\n this.prevPageX = (ev as any).pageX\n this.prevPageY = (ev as any).pageY\n this.prevScrollX = window.pageXOffset\n this.prevScrollY = window.pageYOffset\n }\n }\n\n handleScroll = (ev: UIEvent) => {\n if (!this.shouldIgnoreMove) {\n let pageX = (window.pageXOffset - this.prevScrollX) + this.prevPageX\n let pageY = (window.pageYOffset - this.prevScrollY) + this.prevPageY\n\n this.emitter.trigger('pointermove', {\n origEvent: ev,\n isTouch: this.isTouchDragging,\n subjectEl: this.subjectEl,\n pageX,\n pageY,\n deltaX: pageX - this.origPageX,\n deltaY: pageY - this.origPageY,\n } as PointerDragEvent)\n }\n }\n\n destroyScrollWatch() {\n if (this.shouldWatchScroll) {\n window.removeEventListener('scroll', this.handleScroll, true) // useCaptured=true\n }\n }\n\n // Event Normalization\n // ----------------------------------------------------------------------------------------------------\n\n createEventFromMouse(ev: MouseEvent, isFirst?: boolean): PointerDragEvent {\n let deltaX = 0\n let deltaY = 0\n\n // TODO: repeat code\n if (isFirst) {\n this.origPageX = ev.pageX\n this.origPageY = ev.pageY\n } else {\n deltaX = ev.pageX - this.origPageX\n deltaY = ev.pageY - this.origPageY\n }\n\n return {\n origEvent: ev,\n isTouch: false,\n subjectEl: this.subjectEl,\n pageX: ev.pageX,\n pageY: ev.pageY,\n deltaX,\n deltaY,\n }\n }\n\n createEventFromTouch(ev: TouchEvent, isFirst?: boolean): PointerDragEvent {\n let touches = ev.touches\n let pageX\n let pageY\n let deltaX = 0\n let deltaY = 0\n\n // if touch coords available, prefer,\n // because FF would give bad ev.pageX ev.pageY\n if (touches && touches.length) {\n pageX = touches[0].pageX\n pageY = touches[0].pageY\n } else {\n pageX = (ev as any).pageX\n pageY = (ev as any).pageY\n }\n\n // TODO: repeat code\n if (isFirst) {\n this.origPageX = pageX\n this.origPageY = pageY\n } else {\n deltaX = pageX - this.origPageX\n deltaY = pageY - this.origPageY\n }\n\n return {\n origEvent: ev,\n isTouch: true,\n subjectEl: this.subjectEl,\n pageX,\n pageY,\n deltaX,\n deltaY,\n }\n }\n}\n\n// Returns a boolean whether this was a left mouse click and no ctrl key (which means right click on Mac)\nfunction isPrimaryMouseButton(ev: MouseEvent) {\n return ev.button === 0 && !ev.ctrlKey\n}\n\n// Ignoring fake mouse events generated by touch\n// ----------------------------------------------------------------------------------------------------\n\nfunction startIgnoringMouse() { // can be made non-class function\n ignoreMouseDepth += 1\n\n setTimeout(() => {\n ignoreMouseDepth -= 1\n }, config.touchMouseIgnoreWait)\n}\n\n// We want to attach touchmove as early as possible for Safari\n// ----------------------------------------------------------------------------------------------------\n\nfunction listenerCreated() {\n listenerCnt += 1\n\n if (listenerCnt === 1) {\n window.addEventListener('touchmove', onWindowTouchMove, { passive: false })\n }\n}\n\nfunction listenerDestroyed() {\n listenerCnt -= 1\n\n if (!listenerCnt) {\n window.removeEventListener('touchmove', onWindowTouchMove, { passive: false } as AddEventListenerOptions)\n }\n}\n\nfunction onWindowTouchMove(ev: UIEvent) {\n if (isWindowTouchMoveCancelled) {\n ev.preventDefault()\n }\n}\n","import { removeElement, applyStyle, whenTransitionDone, Rect } from '@fullcalendar/common'\n\n/*\nAn effect in which an element follows the movement of a pointer across the screen.\nThe moving element is a clone of some other element.\nMust call start + handleMove + stop.\n*/\nexport class ElementMirror {\n isVisible: boolean = false // must be explicitly enabled\n origScreenX?: number\n origScreenY?: number\n deltaX?: number\n deltaY?: number\n sourceEl: HTMLElement | null = null\n mirrorEl: HTMLElement | null = null\n sourceElRect: Rect | null = null // screen coords relative to viewport\n\n // options that can be set directly by caller\n parentNode: HTMLElement = document.body // HIGHLY SUGGESTED to set this to sidestep ShadowDOM issues\n zIndex: number = 9999\n revertDuration: number = 0\n\n start(sourceEl: HTMLElement, pageX: number, pageY: number) {\n this.sourceEl = sourceEl\n this.sourceElRect = this.sourceEl.getBoundingClientRect()\n this.origScreenX = pageX - window.pageXOffset\n this.origScreenY = pageY - window.pageYOffset\n this.deltaX = 0\n this.deltaY = 0\n this.updateElPosition()\n }\n\n handleMove(pageX: number, pageY: number) {\n this.deltaX = (pageX - window.pageXOffset) - this.origScreenX!\n this.deltaY = (pageY - window.pageYOffset) - this.origScreenY!\n this.updateElPosition()\n }\n\n // can be called before start\n setIsVisible(bool: boolean) {\n if (bool) {\n if (!this.isVisible) {\n if (this.mirrorEl) {\n this.mirrorEl.style.display = ''\n }\n\n this.isVisible = bool // needs to happen before updateElPosition\n this.updateElPosition() // because was not updating the position while invisible\n }\n } else if (this.isVisible) {\n if (this.mirrorEl) {\n this.mirrorEl.style.display = 'none'\n }\n\n this.isVisible = bool\n }\n }\n\n // always async\n stop(needsRevertAnimation: boolean, callback: () => void) {\n let done = () => {\n this.cleanup()\n callback()\n }\n\n if (\n needsRevertAnimation &&\n this.mirrorEl &&\n this.isVisible &&\n this.revertDuration && // if 0, transition won't work\n (this.deltaX || this.deltaY) // if same coords, transition won't work\n ) {\n this.doRevertAnimation(done, this.revertDuration)\n } else {\n setTimeout(done, 0)\n }\n }\n\n doRevertAnimation(callback: () => void, revertDuration: number) {\n let mirrorEl = this.mirrorEl!\n let finalSourceElRect = this.sourceEl!.getBoundingClientRect() // because autoscrolling might have happened\n\n mirrorEl.style.transition =\n 'top ' + revertDuration + 'ms,' +\n 'left ' + revertDuration + 'ms'\n\n applyStyle(mirrorEl, {\n left: finalSourceElRect.left,\n top: finalSourceElRect.top,\n })\n\n whenTransitionDone(mirrorEl, () => {\n mirrorEl.style.transition = ''\n callback()\n })\n }\n\n cleanup() {\n if (this.mirrorEl) {\n removeElement(this.mirrorEl)\n this.mirrorEl = null\n }\n\n this.sourceEl = null\n }\n\n updateElPosition() {\n if (this.sourceEl && this.isVisible) {\n applyStyle(this.getMirrorEl(), {\n left: this.sourceElRect!.left + this.deltaX!,\n top: this.sourceElRect!.top + this.deltaY!,\n })\n }\n }\n\n getMirrorEl(): HTMLElement {\n let sourceElRect = this.sourceElRect!\n let mirrorEl = this.mirrorEl\n\n if (!mirrorEl) {\n mirrorEl = this.mirrorEl = this.sourceEl!.cloneNode(true) as HTMLElement // cloneChildren=true\n\n // we don't want long taps or any mouse interaction causing selection/menus.\n // would use preventSelection(), but that prevents selectstart, causing problems.\n mirrorEl.classList.add('fc-unselectable')\n\n mirrorEl.classList.add('fc-event-dragging')\n\n applyStyle(mirrorEl, {\n position: 'fixed',\n zIndex: this.zIndex,\n visibility: '', // in case original element was hidden by the drag effect\n boxSizing: 'border-box', // for easy width/height\n width: sourceElRect.right - sourceElRect.left, // explicit height in case there was a 'right' value\n height: sourceElRect.bottom - sourceElRect.top, // explicit width in case there was a 'bottom' value\n right: 'auto', // erase and set width instead\n bottom: 'auto', // erase and set height instead\n margin: 0,\n })\n\n this.parentNode.appendChild(mirrorEl)\n }\n\n return mirrorEl\n }\n}\n","import { Rect, ScrollController } from '@fullcalendar/common'\n\n/*\nIs a cache for a given element's scroll information (all the info that ScrollController stores)\nin addition the \"client rectangle\" of the element.. the area within the scrollbars.\n\nThe cache can be in one of two modes:\n- doesListening:false - ignores when the container is scrolled by someone else\n- doesListening:true - watch for scrolling and update the cache\n*/\nexport abstract class ScrollGeomCache extends ScrollController {\n clientRect: Rect\n origScrollTop: number\n origScrollLeft: number\n\n protected scrollController: ScrollController\n protected doesListening: boolean\n protected scrollTop: number\n protected scrollLeft: number\n protected scrollWidth: number\n protected scrollHeight: number\n protected clientWidth: number\n protected clientHeight: number\n\n constructor(scrollController: ScrollController, doesListening: boolean) {\n super()\n this.scrollController = scrollController\n this.doesListening = doesListening\n this.scrollTop = this.origScrollTop = scrollController.getScrollTop()\n this.scrollLeft = this.origScrollLeft = scrollController.getScrollLeft()\n this.scrollWidth = scrollController.getScrollWidth()\n this.scrollHeight = scrollController.getScrollHeight()\n this.clientWidth = scrollController.getClientWidth()\n this.clientHeight = scrollController.getClientHeight()\n this.clientRect = this.computeClientRect() // do last in case it needs cached values\n\n if (this.doesListening) {\n this.getEventTarget().addEventListener('scroll', this.handleScroll)\n }\n }\n\n abstract getEventTarget(): EventTarget\n abstract computeClientRect(): Rect\n\n destroy() {\n if (this.doesListening) {\n this.getEventTarget().removeEventListener('scroll', this.handleScroll)\n }\n }\n\n handleScroll = () => {\n this.scrollTop = this.scrollController.getScrollTop()\n this.scrollLeft = this.scrollController.getScrollLeft()\n this.handleScrollChange()\n }\n\n getScrollTop() {\n return this.scrollTop\n }\n\n getScrollLeft() {\n return this.scrollLeft\n }\n\n setScrollTop(top: number) {\n this.scrollController.setScrollTop(top)\n\n if (!this.doesListening) {\n // we are not relying on the element to normalize out-of-bounds scroll values\n // so we need to sanitize ourselves\n this.scrollTop = Math.max(Math.min(top, this.getMaxScrollTop()), 0)\n\n this.handleScrollChange()\n }\n }\n\n setScrollLeft(top: number) {\n this.scrollController.setScrollLeft(top)\n\n if (!this.doesListening) {\n // we are not relying on the element to normalize out-of-bounds scroll values\n // so we need to sanitize ourselves\n this.scrollLeft = Math.max(Math.min(top, this.getMaxScrollLeft()), 0)\n\n this.handleScrollChange()\n }\n }\n\n getClientWidth() {\n return this.clientWidth\n }\n\n getClientHeight() {\n return this.clientHeight\n }\n\n getScrollWidth() {\n return this.scrollWidth\n }\n\n getScrollHeight() {\n return this.scrollHeight\n }\n\n handleScrollChange() {\n }\n}\n","import { computeInnerRect, ElementScrollController } from '@fullcalendar/common'\nimport { ScrollGeomCache } from './ScrollGeomCache'\n\nexport class ElementScrollGeomCache extends ScrollGeomCache {\n constructor(el: HTMLElement, doesListening: boolean) {\n super(new ElementScrollController(el), doesListening)\n }\n\n getEventTarget(): EventTarget {\n return (this.scrollController as ElementScrollController).el\n }\n\n computeClientRect() {\n return computeInnerRect((this.scrollController as ElementScrollController).el)\n }\n}\n","import { Rect, WindowScrollController } from '@fullcalendar/common'\nimport { ScrollGeomCache } from './ScrollGeomCache'\n\nexport class WindowScrollGeomCache extends ScrollGeomCache {\n constructor(doesListening: boolean) {\n super(new WindowScrollController(), doesListening)\n }\n\n getEventTarget(): EventTarget {\n return window\n }\n\n computeClientRect(): Rect {\n return {\n left: this.scrollLeft,\n right: this.scrollLeft + this.clientWidth,\n top: this.scrollTop,\n bottom: this.scrollTop + this.clientHeight,\n }\n }\n\n // the window is the only scroll object that changes it's rectangle relative\n // to the document's topleft as it scrolls\n handleScrollChange() {\n this.clientRect = this.computeClientRect()\n }\n}\n","import { getElRoot } from '@fullcalendar/common'\nimport { ScrollGeomCache } from '../ScrollGeomCache'\nimport { ElementScrollGeomCache } from '../ElementScrollGeomCache'\nimport { WindowScrollGeomCache } from '../WindowScrollGeomCache'\n\ninterface Edge {\n scrollCache: ScrollGeomCache\n name: 'top' | 'left' | 'right' | 'bottom'\n distance: number // how many pixels the current pointer is from the edge\n}\n\n// If available we are using native \"performance\" API instead of \"Date\"\n// Read more about it on MDN:\n// https://developer.mozilla.org/en-US/docs/Web/API/Performance\nconst getTime = typeof performance === 'function' ? (performance as any).now : Date.now\n\n/*\nFor a pointer interaction, automatically scrolls certain scroll containers when the pointer\napproaches the edge.\n\nThe caller must call start + handleMove + stop.\n*/\nexport class AutoScroller {\n // options that can be set by caller\n isEnabled: boolean = true\n scrollQuery: (Window | string)[] = [window, '.fc-scroller']\n edgeThreshold: number = 50 // pixels\n maxVelocity: number = 300 // pixels per second\n\n // internal state\n pointerScreenX: number | null = null\n pointerScreenY: number | null = null\n isAnimating: boolean = false\n scrollCaches: ScrollGeomCache[] | null = null\n msSinceRequest?: number\n\n // protect against the initial pointerdown being too close to an edge and starting the scroll\n everMovedUp: boolean = false\n everMovedDown: boolean = false\n everMovedLeft: boolean = false\n everMovedRight: boolean = false\n\n start(pageX: number, pageY: number, scrollStartEl: HTMLElement) {\n if (this.isEnabled) {\n this.scrollCaches = this.buildCaches(scrollStartEl)\n this.pointerScreenX = null\n this.pointerScreenY = null\n this.everMovedUp = false\n this.everMovedDown = false\n this.everMovedLeft = false\n this.everMovedRight = false\n this.handleMove(pageX, pageY)\n }\n }\n\n handleMove(pageX: number, pageY: number) {\n if (this.isEnabled) {\n let pointerScreenX = pageX - window.pageXOffset\n let pointerScreenY = pageY - window.pageYOffset\n\n let yDelta = this.pointerScreenY === null ? 0 : pointerScreenY - this.pointerScreenY\n let xDelta = this.pointerScreenX === null ? 0 : pointerScreenX - this.pointerScreenX\n\n if (yDelta < 0) {\n this.everMovedUp = true\n } else if (yDelta > 0) {\n this.everMovedDown = true\n }\n\n if (xDelta < 0) {\n this.everMovedLeft = true\n } else if (xDelta > 0) {\n this.everMovedRight = true\n }\n\n this.pointerScreenX = pointerScreenX\n this.pointerScreenY = pointerScreenY\n\n if (!this.isAnimating) {\n this.isAnimating = true\n this.requestAnimation(getTime())\n }\n }\n }\n\n stop() {\n if (this.isEnabled) {\n this.isAnimating = false // will stop animation\n\n for (let scrollCache of this.scrollCaches!) {\n scrollCache.destroy()\n }\n\n this.scrollCaches = null\n }\n }\n\n requestAnimation(now: number) {\n this.msSinceRequest = now\n requestAnimationFrame(this.animate)\n }\n\n private animate = () => {\n if (this.isAnimating) { // wasn't cancelled between animation calls\n let edge = this.computeBestEdge(\n this.pointerScreenX! + window.pageXOffset,\n this.pointerScreenY! + window.pageYOffset,\n )\n\n if (edge) {\n let now = getTime()\n this.handleSide(edge, (now - this.msSinceRequest!) / 1000)\n this.requestAnimation(now)\n } else {\n this.isAnimating = false // will stop animation\n }\n }\n }\n\n private handleSide(edge: Edge, seconds: number) {\n let { scrollCache } = edge\n let { edgeThreshold } = this\n let invDistance = edgeThreshold - edge.distance\n let velocity = // the closer to the edge, the faster we scroll\n ((invDistance * invDistance) / (edgeThreshold * edgeThreshold)) * // quadratic\n this.maxVelocity * seconds\n let sign = 1\n\n switch (edge.name) {\n case 'left':\n sign = -1\n // falls through\n case 'right':\n scrollCache.setScrollLeft(scrollCache.getScrollLeft() + velocity * sign)\n break\n\n case 'top':\n sign = -1\n // falls through\n case 'bottom':\n scrollCache.setScrollTop(scrollCache.getScrollTop() + velocity * sign)\n break\n }\n }\n\n // left/top are relative to document topleft\n private computeBestEdge(left: number, top: number): Edge | null {\n let { edgeThreshold } = this\n let bestSide: Edge | null = null\n let scrollCaches = this.scrollCaches || []\n\n for (let scrollCache of scrollCaches) {\n let rect = scrollCache.clientRect\n let leftDist = left - rect.left\n let rightDist = rect.right - left\n let topDist = top - rect.top\n let bottomDist = rect.bottom - top\n\n // completely within the rect?\n if (leftDist >= 0 && rightDist >= 0 && topDist >= 0 && bottomDist >= 0) {\n if (\n topDist <= edgeThreshold && this.everMovedUp && scrollCache.canScrollUp() &&\n (!bestSide || bestSide.distance > topDist)\n ) {\n bestSide = { scrollCache, name: 'top', distance: topDist }\n }\n\n if (\n bottomDist <= edgeThreshold && this.everMovedDown && scrollCache.canScrollDown() &&\n (!bestSide || bestSide.distance > bottomDist)\n ) {\n bestSide = { scrollCache, name: 'bottom', distance: bottomDist }\n }\n\n if (\n leftDist <= edgeThreshold && this.everMovedLeft && scrollCache.canScrollLeft() &&\n (!bestSide || bestSide.distance > leftDist)\n ) {\n bestSide = { scrollCache, name: 'left', distance: leftDist }\n }\n\n if (\n rightDist <= edgeThreshold && this.everMovedRight && scrollCache.canScrollRight() &&\n (!bestSide || bestSide.distance > rightDist)\n ) {\n bestSide = { scrollCache, name: 'right', distance: rightDist }\n }\n }\n }\n\n return bestSide\n }\n\n private buildCaches(scrollStartEl: HTMLElement) {\n return this.queryScrollEls(scrollStartEl).map((el) => {\n if (el === window) {\n return new WindowScrollGeomCache(false) // false = don't listen to user-generated scrolls\n }\n return new ElementScrollGeomCache(el, false) // false = don't listen to user-generated scrolls\n })\n }\n\n private queryScrollEls(scrollStartEl: HTMLElement) {\n let els = []\n\n for (let query of this.scrollQuery) {\n if (typeof query === 'object') {\n els.push(query)\n } else {\n els.push(...Array.prototype.slice.call(\n getElRoot(scrollStartEl).querySelectorAll(query),\n ))\n }\n }\n\n return els\n }\n}\n","import {\n PointerDragEvent,\n preventSelection,\n allowSelection,\n preventContextMenu,\n allowContextMenu,\n ElementDragging,\n} from '@fullcalendar/common'\nimport { PointerDragging } from './PointerDragging'\nimport { ElementMirror } from './ElementMirror'\nimport { AutoScroller } from './AutoScroller'\n\n/*\nMonitors dragging on an element. Has a number of high-level features:\n- minimum distance required before dragging\n- minimum wait time (\"delay\") before dragging\n- a mirror element that follows the pointer\n*/\nexport class FeaturefulElementDragging extends ElementDragging {\n pointer: PointerDragging\n mirror: ElementMirror\n autoScroller: AutoScroller\n\n // options that can be directly set by caller\n // the caller can also set the PointerDragging's options as well\n delay: number | null = null\n minDistance: number = 0\n touchScrollAllowed: boolean = true // prevents drag from starting and blocks scrolling during drag\n\n mirrorNeedsRevert: boolean = false\n isInteracting: boolean = false // is the user validly moving the pointer? lasts until pointerup\n isDragging: boolean = false // is it INTENTFULLY dragging? lasts until after revert animation\n isDelayEnded: boolean = false\n isDistanceSurpassed: boolean = false\n delayTimeoutId: number | null = null\n\n constructor(private containerEl: HTMLElement, selector?: string) {\n super(containerEl)\n\n let pointer = this.pointer = new PointerDragging(containerEl)\n pointer.emitter.on('pointerdown', this.onPointerDown)\n pointer.emitter.on('pointermove', this.onPointerMove)\n pointer.emitter.on('pointerup', this.onPointerUp)\n\n if (selector) {\n pointer.selector = selector\n }\n\n this.mirror = new ElementMirror()\n this.autoScroller = new AutoScroller()\n }\n\n destroy() {\n this.pointer.destroy()\n\n // HACK: simulate a pointer-up to end the current drag\n // TODO: fire 'dragend' directly and stop interaction. discourage use of pointerup event (b/c might not fire)\n this.onPointerUp({} as any)\n }\n\n onPointerDown = (ev: PointerDragEvent) => {\n if (!this.isDragging) { // so new drag doesn't happen while revert animation is going\n this.isInteracting = true\n this.isDelayEnded = false\n this.isDistanceSurpassed = false\n\n preventSelection(document.body)\n preventContextMenu(document.body)\n\n // prevent links from being visited if there's an eventual drag.\n // also prevents selection in older browsers (maybe?).\n // not necessary for touch, besides, browser would complain about passiveness.\n if (!ev.isTouch) {\n ev.origEvent.preventDefault()\n }\n\n this.emitter.trigger('pointerdown', ev)\n\n if (\n this.isInteracting && // not destroyed via pointerdown handler\n !this.pointer.shouldIgnoreMove\n ) {\n // actions related to initiating dragstart+dragmove+dragend...\n\n this.mirror.setIsVisible(false) // reset. caller must set-visible\n this.mirror.start(ev.subjectEl as HTMLElement, ev.pageX, ev.pageY) // must happen on first pointer down\n\n this.startDelay(ev)\n\n if (!this.minDistance) {\n this.handleDistanceSurpassed(ev)\n }\n }\n }\n }\n\n onPointerMove = (ev: PointerDragEvent) => {\n if (this.isInteracting) {\n this.emitter.trigger('pointermove', ev)\n\n if (!this.isDistanceSurpassed) {\n let minDistance = this.minDistance\n let distanceSq // current distance from the origin, squared\n let { deltaX, deltaY } = ev\n\n distanceSq = deltaX * deltaX + deltaY * deltaY\n if (distanceSq >= minDistance * minDistance) { // use pythagorean theorem\n this.handleDistanceSurpassed(ev)\n }\n }\n\n if (this.isDragging) {\n // a real pointer move? (not one simulated by scrolling)\n if (ev.origEvent.type !== 'scroll') {\n this.mirror.handleMove(ev.pageX, ev.pageY)\n this.autoScroller.handleMove(ev.pageX, ev.pageY)\n }\n\n this.emitter.trigger('dragmove', ev)\n }\n }\n }\n\n onPointerUp = (ev: PointerDragEvent) => {\n if (this.isInteracting) {\n this.isInteracting = false\n\n allowSelection(document.body)\n allowContextMenu(document.body)\n\n this.emitter.trigger('pointerup', ev) // can potentially set mirrorNeedsRevert\n\n if (this.isDragging) {\n this.autoScroller.stop()\n this.tryStopDrag(ev) // which will stop the mirror\n }\n\n if (this.delayTimeoutId) {\n clearTimeout(this.delayTimeoutId)\n this.delayTimeoutId = null\n }\n }\n }\n\n startDelay(ev: PointerDragEvent) {\n if (typeof this.delay === 'number') {\n this.delayTimeoutId = setTimeout(() => {\n this.delayTimeoutId = null\n this.handleDelayEnd(ev)\n }, this.delay) as any // not assignable to number!\n } else {\n this.handleDelayEnd(ev)\n }\n }\n\n handleDelayEnd(ev: PointerDragEvent) {\n this.isDelayEnded = true\n this.tryStartDrag(ev)\n }\n\n handleDistanceSurpassed(ev: PointerDragEvent) {\n this.isDistanceSurpassed = true\n this.tryStartDrag(ev)\n }\n\n tryStartDrag(ev: PointerDragEvent) {\n if (this.isDelayEnded && this.isDistanceSurpassed) {\n if (!this.pointer.wasTouchScroll || this.touchScrollAllowed) {\n this.isDragging = true\n this.mirrorNeedsRevert = false\n\n this.autoScroller.start(ev.pageX, ev.pageY, this.containerEl)\n this.emitter.trigger('dragstart', ev)\n\n if (this.touchScrollAllowed === false) {\n this.pointer.cancelTouchScroll()\n }\n }\n }\n }\n\n tryStopDrag(ev: PointerDragEvent) {\n // .stop() is ALWAYS asynchronous, which we NEED because we want all pointerup events\n // that come from the document to fire beforehand. much more convenient this way.\n this.mirror.stop(\n this.mirrorNeedsRevert,\n this.stopDrag.bind(this, ev), // bound with args\n )\n }\n\n stopDrag(ev: PointerDragEvent) {\n this.isDragging = false\n this.emitter.trigger('dragend', ev)\n }\n\n // fill in the implementations...\n\n setIgnoreMove(bool: boolean) {\n this.pointer.shouldIgnoreMove = bool\n }\n\n setMirrorIsVisible(bool: boolean) {\n this.mirror.setIsVisible(bool)\n }\n\n setMirrorNeedsRevert(bool: boolean) {\n this.mirrorNeedsRevert = bool\n }\n\n setAutoScrollEnabled(bool: boolean) {\n this.autoScroller.isEnabled = bool\n }\n}\n","import {\n getClippingParents, computeRect,\n pointInsideRect, Rect,\n} from '@fullcalendar/common'\nimport { ElementScrollGeomCache } from './ElementScrollGeomCache'\n\n/*\nWhen this class is instantiated, it records the offset of an element (relative to the document topleft),\nand continues to monitor scrolling, updating the cached coordinates if it needs to.\nDoes not access the DOM after instantiation, so highly performant.\n\nAlso keeps track of all scrolling/overflow:hidden containers that are parents of the given element\nand an determine if a given point is inside the combined clipping rectangle.\n*/\nexport class OffsetTracker { // ElementOffsetTracker\n scrollCaches: ElementScrollGeomCache[]\n origRect: Rect\n\n constructor(el: HTMLElement) {\n this.origRect = computeRect(el)\n\n // will work fine for divs that have overflow:hidden\n this.scrollCaches = getClippingParents(el).map(\n (scrollEl) => new ElementScrollGeomCache(scrollEl, true), // listen=true\n )\n }\n\n destroy() {\n for (let scrollCache of this.scrollCaches) {\n scrollCache.destroy()\n }\n }\n\n computeLeft() {\n let left = this.origRect.left\n\n for (let scrollCache of this.scrollCaches) {\n left += scrollCache.origScrollLeft - scrollCache.getScrollLeft()\n }\n\n return left\n }\n\n computeTop() {\n let top = this.origRect.top\n\n for (let scrollCache of this.scrollCaches) {\n top += scrollCache.origScrollTop - scrollCache.getScrollTop()\n }\n\n return top\n }\n\n isWithinClipping(pageX: number, pageY: number): boolean {\n let point = { left: pageX, top: pageY }\n\n for (let scrollCache of this.scrollCaches) {\n if (\n !isIgnoredClipping(scrollCache.getEventTarget()) &&\n !pointInsideRect(point, scrollCache.clientRect)\n ) {\n return false\n }\n }\n\n return true\n }\n}\n\n// certain clipping containers should never constrain interactions, like and \n// https://github.com/fullcalendar/fullcalendar/issues/3615\nfunction isIgnoredClipping(node: EventTarget) {\n let tagName = (node as HTMLElement).tagName\n\n return tagName === 'HTML' || tagName === 'BODY'\n}\n","import {\n Emitter, PointerDragEvent,\n isDateSpansEqual,\n computeRect,\n constrainPoint, intersectRects, getRectCenter, diffPoints, Point,\n rangeContainsRange,\n Hit,\n InteractionSettingsStore,\n mapHash,\n ElementDragging,\n} from '@fullcalendar/common'\nimport { OffsetTracker } from '../OffsetTracker'\n\n/*\nTracks movement over multiple droppable areas (aka \"hits\")\nthat exist in one or more DateComponents.\nRelies on an existing draggable.\n\nemits:\n- pointerdown\n- dragstart\n- hitchange - fires initially, even if not over a hit\n- pointerup\n- (hitchange - again, to null, if ended over a hit)\n- dragend\n*/\nexport class HitDragging {\n droppableStore: InteractionSettingsStore\n dragging: ElementDragging\n emitter: Emitter\n\n // options that can be set by caller\n useSubjectCenter: boolean = false\n requireInitial: boolean = true // if doesn't start out on a hit, won't emit any events\n\n // internal state\n offsetTrackers: { [componentUid: string]: OffsetTracker }\n initialHit: Hit | null = null\n movingHit: Hit | null = null\n finalHit: Hit | null = null // won't ever be populated if shouldIgnoreMove\n coordAdjust?: Point\n\n constructor(dragging: ElementDragging, droppableStore: InteractionSettingsStore) {\n this.droppableStore = droppableStore\n\n dragging.emitter.on('pointerdown', this.handlePointerDown)\n dragging.emitter.on('dragstart', this.handleDragStart)\n dragging.emitter.on('dragmove', this.handleDragMove)\n dragging.emitter.on('pointerup', this.handlePointerUp)\n dragging.emitter.on('dragend', this.handleDragEnd)\n\n this.dragging = dragging\n this.emitter = new Emitter()\n }\n\n handlePointerDown = (ev: PointerDragEvent) => {\n let { dragging } = this\n\n this.initialHit = null\n this.movingHit = null\n this.finalHit = null\n\n this.prepareHits()\n this.processFirstCoord(ev)\n\n if (this.initialHit || !this.requireInitial) {\n dragging.setIgnoreMove(false)\n\n // TODO: fire this before computing processFirstCoord, so listeners can cancel. this gets fired by almost every handler :(\n this.emitter.trigger('pointerdown', ev)\n } else {\n dragging.setIgnoreMove(true)\n }\n }\n\n // sets initialHit\n // sets coordAdjust\n processFirstCoord(ev: PointerDragEvent) {\n let origPoint = { left: ev.pageX, top: ev.pageY }\n let adjustedPoint = origPoint\n let subjectEl = ev.subjectEl\n let subjectRect\n\n if (subjectEl instanceof HTMLElement) { // i.e. not a Document/ShadowRoot\n subjectRect = computeRect(subjectEl)\n adjustedPoint = constrainPoint(adjustedPoint, subjectRect)\n }\n\n let initialHit = this.initialHit = this.queryHitForOffset(adjustedPoint.left, adjustedPoint.top)\n if (initialHit) {\n if (this.useSubjectCenter && subjectRect) {\n let slicedSubjectRect = intersectRects(subjectRect, initialHit.rect)\n if (slicedSubjectRect) {\n adjustedPoint = getRectCenter(slicedSubjectRect)\n }\n }\n\n this.coordAdjust = diffPoints(adjustedPoint, origPoint)\n } else {\n this.coordAdjust = { left: 0, top: 0 }\n }\n }\n\n handleDragStart = (ev: PointerDragEvent) => {\n this.emitter.trigger('dragstart', ev)\n this.handleMove(ev, true) // force = fire even if initially null\n }\n\n handleDragMove = (ev: PointerDragEvent) => {\n this.emitter.trigger('dragmove', ev)\n this.handleMove(ev)\n }\n\n handlePointerUp = (ev: PointerDragEvent) => {\n this.releaseHits()\n this.emitter.trigger('pointerup', ev)\n }\n\n handleDragEnd = (ev: PointerDragEvent) => {\n if (this.movingHit) {\n this.emitter.trigger('hitupdate', null, true, ev)\n }\n\n this.finalHit = this.movingHit\n this.movingHit = null\n this.emitter.trigger('dragend', ev)\n }\n\n handleMove(ev: PointerDragEvent, forceHandle?: boolean) {\n let hit = this.queryHitForOffset(\n ev.pageX + this.coordAdjust!.left,\n ev.pageY + this.coordAdjust!.top,\n )\n\n if (forceHandle || !isHitsEqual(this.movingHit, hit)) {\n this.movingHit = hit\n this.emitter.trigger('hitupdate', hit, false, ev)\n }\n }\n\n prepareHits() {\n this.offsetTrackers = mapHash(this.droppableStore, (interactionSettings) => {\n interactionSettings.component.prepareHits()\n return new OffsetTracker(interactionSettings.el)\n })\n }\n\n releaseHits() {\n let { offsetTrackers } = this\n\n for (let id in offsetTrackers) {\n offsetTrackers[id].destroy()\n }\n\n this.offsetTrackers = {}\n }\n\n queryHitForOffset(offsetLeft: number, offsetTop: number): Hit | null {\n let { droppableStore, offsetTrackers } = this\n let bestHit: Hit | null = null\n\n for (let id in droppableStore) {\n let component = droppableStore[id].component\n let offsetTracker = offsetTrackers[id]\n\n if (\n offsetTracker && // wasn't destroyed mid-drag\n offsetTracker.isWithinClipping(offsetLeft, offsetTop)\n ) {\n let originLeft = offsetTracker.computeLeft()\n let originTop = offsetTracker.computeTop()\n let positionLeft = offsetLeft - originLeft\n let positionTop = offsetTop - originTop\n let { origRect } = offsetTracker\n let width = origRect.right - origRect.left\n let height = origRect.bottom - origRect.top\n\n if (\n // must be within the element's bounds\n positionLeft >= 0 && positionLeft < width &&\n positionTop >= 0 && positionTop < height\n ) {\n let hit = component.queryHit(positionLeft, positionTop, width, height)\n if (\n hit && (\n // make sure the hit is within activeRange, meaning it's not a dead cell\n rangeContainsRange(hit.dateProfile.activeRange, hit.dateSpan.range)\n ) &&\n (!bestHit || hit.layer > bestHit.layer)\n ) {\n hit.componentId = id\n hit.context = component.context\n\n // TODO: better way to re-orient rectangle\n hit.rect.left += originLeft\n hit.rect.right += originLeft\n hit.rect.top += originTop\n hit.rect.bottom += originTop\n\n bestHit = hit\n }\n }\n }\n }\n\n return bestHit\n }\n}\n\nexport function isHitsEqual(hit0: Hit | null, hit1: Hit | null): boolean {\n if (!hit0 && !hit1) {\n return true\n }\n\n if (Boolean(hit0) !== Boolean(hit1)) {\n return false\n }\n\n return isDateSpansEqual(hit0!.dateSpan, hit1!.dateSpan)\n}\n","import { DateSpan, CalendarContext, DatePointApi, DateEnv, ViewApi, EventApi } from '@fullcalendar/common'\nimport { __assign } from 'tslib'\n\nexport interface DropArg extends DatePointApi {\n draggedEl: HTMLElement\n jsEvent: MouseEvent\n view: ViewApi\n}\n\nexport type EventReceiveArg = EventReceiveLeaveArg\nexport type EventLeaveArg = EventReceiveLeaveArg\nexport interface EventReceiveLeaveArg { // will this become public?\n draggedEl: HTMLElement\n event: EventApi\n relatedEvents: EventApi[]\n revert: () => void\n view: ViewApi\n}\n\nexport function buildDatePointApiWithContext(dateSpan: DateSpan, context: CalendarContext) {\n let props = {} as DatePointApi\n\n for (let transform of context.pluginHooks.datePointTransforms) {\n __assign(props, transform(dateSpan, context))\n }\n\n __assign(props, buildDatePointApi(dateSpan, context.dateEnv))\n\n return props\n}\n\nexport function buildDatePointApi(span: DateSpan, dateEnv: DateEnv): DatePointApi {\n return {\n date: dateEnv.toDate(span.range.start),\n dateStr: dateEnv.formatIso(span.range.start, { omitTime: span.allDay }),\n allDay: span.allDay,\n }\n}\n","import {\n PointerDragEvent, Interaction, InteractionSettings, interactionSettingsToStore,\n DatePointApi,\n ViewApi,\n} from '@fullcalendar/common'\nimport { FeaturefulElementDragging } from '../dnd/FeaturefulElementDragging'\nimport { HitDragging, isHitsEqual } from './HitDragging'\nimport { buildDatePointApiWithContext } from '../utils'\n\nexport interface DateClickArg extends DatePointApi {\n dayEl: HTMLElement\n jsEvent: MouseEvent\n view: ViewApi\n}\n\n/*\nMonitors when the user clicks on a specific date/time of a component.\nA pointerdown+pointerup on the same \"hit\" constitutes a click.\n*/\nexport class DateClicking extends Interaction {\n dragging: FeaturefulElementDragging\n hitDragging: HitDragging\n\n constructor(settings: InteractionSettings) {\n super(settings)\n\n // we DO want to watch pointer moves because otherwise finalHit won't get populated\n this.dragging = new FeaturefulElementDragging(settings.el)\n this.dragging.autoScroller.isEnabled = false\n\n let hitDragging = this.hitDragging = new HitDragging(this.dragging, interactionSettingsToStore(settings))\n hitDragging.emitter.on('pointerdown', this.handlePointerDown)\n hitDragging.emitter.on('dragend', this.handleDragEnd)\n }\n\n destroy() {\n this.dragging.destroy()\n }\n\n handlePointerDown = (pev: PointerDragEvent) => {\n let { dragging } = this\n let downEl = pev.origEvent.target as HTMLElement\n\n // do this in pointerdown (not dragend) because DOM might be mutated by the time dragend is fired\n dragging.setIgnoreMove(\n !this.component.isValidDateDownEl(downEl),\n )\n }\n\n // won't even fire if moving was ignored\n handleDragEnd = (ev: PointerDragEvent) => {\n let { component } = this\n let { pointer } = this.dragging\n\n if (!pointer.wasTouchScroll) {\n let { initialHit, finalHit } = this.hitDragging\n\n if (initialHit && finalHit && isHitsEqual(initialHit, finalHit)) {\n let { context } = component\n let arg: DateClickArg = {\n ...buildDatePointApiWithContext(initialHit.dateSpan, context),\n dayEl: initialHit.dayEl,\n jsEvent: ev.origEvent as MouseEvent,\n view: context.viewApi || context.calendarApi.view,\n }\n\n context.emitter.trigger('dateClick', arg)\n }\n }\n }\n}\n","import {\n compareNumbers, enableCursor, disableCursor, DateComponent, Hit,\n DateSpan, PointerDragEvent, dateSelectionJoinTransformer,\n Interaction, InteractionSettings, interactionSettingsToStore,\n triggerDateSelect, isDateSelectionValid,\n} from '@fullcalendar/common'\nimport { __assign } from 'tslib'\nimport { HitDragging } from './HitDragging'\nimport { FeaturefulElementDragging } from '../dnd/FeaturefulElementDragging'\n\n/*\nTracks when the user selects a portion of time of a component,\nconstituted by a drag over date cells, with a possible delay at the beginning of the drag.\n*/\nexport class DateSelecting extends Interaction {\n dragging: FeaturefulElementDragging\n hitDragging: HitDragging\n dragSelection: DateSpan | null = null\n\n constructor(settings: InteractionSettings) {\n super(settings)\n let { component } = settings\n let { options } = component.context\n\n let dragging = this.dragging = new FeaturefulElementDragging(settings.el)\n dragging.touchScrollAllowed = false\n dragging.minDistance = options.selectMinDistance || 0\n dragging.autoScroller.isEnabled = options.dragScroll\n\n let hitDragging = this.hitDragging = new HitDragging(this.dragging, interactionSettingsToStore(settings))\n hitDragging.emitter.on('pointerdown', this.handlePointerDown)\n hitDragging.emitter.on('dragstart', this.handleDragStart)\n hitDragging.emitter.on('hitupdate', this.handleHitUpdate)\n hitDragging.emitter.on('pointerup', this.handlePointerUp)\n }\n\n destroy() {\n this.dragging.destroy()\n }\n\n handlePointerDown = (ev: PointerDragEvent) => {\n let { component, dragging } = this\n let { options } = component.context\n\n let canSelect = options.selectable &&\n component.isValidDateDownEl(ev.origEvent.target as HTMLElement)\n\n // don't bother to watch expensive moves if component won't do selection\n dragging.setIgnoreMove(!canSelect)\n\n // if touch, require user to hold down\n dragging.delay = ev.isTouch ? getComponentTouchDelay(component) : null\n }\n\n handleDragStart = (ev: PointerDragEvent) => {\n this.component.context.calendarApi.unselect(ev) // unselect previous selections\n }\n\n handleHitUpdate = (hit: Hit | null, isFinal: boolean) => {\n let { context } = this.component\n let dragSelection: DateSpan | null = null\n let isInvalid = false\n\n if (hit) {\n let initialHit = this.hitDragging.initialHit!\n let disallowed = hit.componentId === initialHit.componentId\n && this.isHitComboAllowed\n && !this.isHitComboAllowed(initialHit, hit)\n\n if (!disallowed) {\n dragSelection = joinHitsIntoSelection(\n initialHit,\n hit,\n context.pluginHooks.dateSelectionTransformers,\n )\n }\n\n if (!dragSelection || !isDateSelectionValid(dragSelection, hit.dateProfile, context)) {\n isInvalid = true\n dragSelection = null\n }\n }\n\n if (dragSelection) {\n context.dispatch({ type: 'SELECT_DATES', selection: dragSelection })\n } else if (!isFinal) { // only unselect if moved away while dragging\n context.dispatch({ type: 'UNSELECT_DATES' })\n }\n\n if (!isInvalid) {\n enableCursor()\n } else {\n disableCursor()\n }\n\n if (!isFinal) {\n this.dragSelection = dragSelection // only clear if moved away from all hits while dragging\n }\n }\n\n handlePointerUp = (pev: PointerDragEvent) => {\n if (this.dragSelection) {\n // selection is already rendered, so just need to report selection\n triggerDateSelect(this.dragSelection, pev, this.component.context)\n\n this.dragSelection = null\n }\n }\n}\n\nfunction getComponentTouchDelay(component: DateComponent): number {\n let { options } = component.context\n let delay = options.selectLongPressDelay\n\n if (delay == null) {\n delay = options.longPressDelay\n }\n\n return delay\n}\n\nfunction joinHitsIntoSelection(hit0: Hit, hit1: Hit, dateSelectionTransformers: dateSelectionJoinTransformer[]): DateSpan {\n let dateSpan0 = hit0.dateSpan\n let dateSpan1 = hit1.dateSpan\n let ms = [\n dateSpan0.range.start,\n dateSpan0.range.end,\n dateSpan1.range.start,\n dateSpan1.range.end,\n ]\n\n ms.sort(compareNumbers)\n\n let props = {} as DateSpan\n\n for (let transformer of dateSelectionTransformers) {\n let res = transformer(hit0, hit1)\n\n if (res === false) {\n return null\n }\n\n if (res) {\n __assign(props, res)\n }\n }\n\n props.range = { start: ms[0], end: ms[3] }\n props.allDay = dateSpan0.allDay\n\n return props\n}\n","import {\n DateComponent, Seg,\n PointerDragEvent, Hit,\n EventMutation, applyMutationToEventStore,\n startOfDay,\n elementClosest,\n EventStore, getRelevantEvents, createEmptyEventStore,\n EventInteractionState,\n diffDates, enableCursor, disableCursor,\n EventRenderRange, getElSeg,\n EventApi,\n eventDragMutationMassager,\n Interaction, InteractionSettings, interactionSettingsStore,\n EventDropTransformers,\n CalendarContext,\n ViewApi,\n EventChangeArg,\n buildEventApis,\n EventAddArg,\n EventRemoveArg,\n isInteractionValid,\n getElRoot,\n} from '@fullcalendar/common'\nimport { __assign } from 'tslib'\nimport { HitDragging, isHitsEqual } from './HitDragging'\nimport { FeaturefulElementDragging } from '../dnd/FeaturefulElementDragging'\nimport { buildDatePointApiWithContext } from '../utils'\n\nexport type EventDragStopArg = EventDragArg\nexport type EventDragStartArg = EventDragArg\n\nexport interface EventDragArg {\n el: HTMLElement\n event: EventApi\n jsEvent: MouseEvent\n view: ViewApi\n}\n\nexport class EventDragging extends Interaction { // TODO: rename to EventSelectingAndDragging\n // TODO: test this in IE11\n // QUESTION: why do we need it on the resizable???\n static SELECTOR = '.fc-event-draggable, .fc-event-resizable'\n\n dragging: FeaturefulElementDragging\n hitDragging: HitDragging\n\n // internal state\n subjectEl: HTMLElement | null = null\n subjectSeg: Seg | null = null // the seg being selected/dragged\n isDragging: boolean = false\n eventRange: EventRenderRange | null = null\n relevantEvents: EventStore | null = null // the events being dragged\n receivingContext: CalendarContext | null = null\n validMutation: EventMutation | null = null\n mutatedRelevantEvents: EventStore | null = null\n\n constructor(settings: InteractionSettings) {\n super(settings)\n let { component } = this\n let { options } = component.context\n\n let dragging = this.dragging = new FeaturefulElementDragging(settings.el)\n dragging.pointer.selector = EventDragging.SELECTOR\n dragging.touchScrollAllowed = false\n dragging.autoScroller.isEnabled = options.dragScroll\n\n let hitDragging = this.hitDragging = new HitDragging(this.dragging, interactionSettingsStore)\n hitDragging.useSubjectCenter = settings.useEventCenter\n hitDragging.emitter.on('pointerdown', this.handlePointerDown)\n hitDragging.emitter.on('dragstart', this.handleDragStart)\n hitDragging.emitter.on('hitupdate', this.handleHitUpdate)\n hitDragging.emitter.on('pointerup', this.handlePointerUp)\n hitDragging.emitter.on('dragend', this.handleDragEnd)\n }\n\n destroy() {\n this.dragging.destroy()\n }\n\n handlePointerDown = (ev: PointerDragEvent) => {\n let origTarget = ev.origEvent.target as HTMLElement\n let { component, dragging } = this\n let { mirror } = dragging\n let { options } = component.context\n let initialContext = component.context\n this.subjectEl = ev.subjectEl as HTMLElement\n let subjectSeg = this.subjectSeg = getElSeg(ev.subjectEl as HTMLElement)!\n let eventRange = this.eventRange = subjectSeg.eventRange!\n let eventInstanceId = eventRange.instance!.instanceId\n\n this.relevantEvents = getRelevantEvents(\n initialContext.getCurrentData().eventStore,\n eventInstanceId,\n )\n\n dragging.minDistance = ev.isTouch ? 0 : options.eventDragMinDistance\n dragging.delay =\n // only do a touch delay if touch and this event hasn't been selected yet\n (ev.isTouch && eventInstanceId !== component.props.eventSelection) ?\n getComponentTouchDelay(component) :\n null\n\n if (options.fixedMirrorParent) {\n mirror.parentNode = options.fixedMirrorParent\n } else {\n mirror.parentNode = elementClosest(origTarget, '.fc')\n }\n\n mirror.revertDuration = options.dragRevertDuration\n\n let isValid =\n component.isValidSegDownEl(origTarget) &&\n !elementClosest(origTarget, '.fc-event-resizer') // NOT on a resizer\n\n dragging.setIgnoreMove(!isValid)\n\n // disable dragging for elements that are resizable (ie, selectable)\n // but are not draggable\n this.isDragging = isValid &&\n (ev.subjectEl as HTMLElement).classList.contains('fc-event-draggable')\n }\n\n handleDragStart = (ev: PointerDragEvent) => {\n let initialContext = this.component.context\n let eventRange = this.eventRange!\n let eventInstanceId = eventRange.instance.instanceId\n\n if (ev.isTouch) {\n // need to select a different event?\n if (eventInstanceId !== this.component.props.eventSelection) {\n initialContext.dispatch({ type: 'SELECT_EVENT', eventInstanceId })\n }\n } else {\n // if now using mouse, but was previous touch interaction, clear selected event\n initialContext.dispatch({ type: 'UNSELECT_EVENT' })\n }\n\n if (this.isDragging) {\n initialContext.calendarApi.unselect(ev) // unselect *date* selection\n initialContext.emitter.trigger('eventDragStart', {\n el: this.subjectEl,\n event: new EventApi(initialContext, eventRange.def, eventRange.instance),\n jsEvent: ev.origEvent as MouseEvent, // Is this always a mouse event? See #4655\n view: initialContext.viewApi,\n } as EventDragStartArg)\n }\n }\n\n handleHitUpdate = (hit: Hit | null, isFinal: boolean) => {\n if (!this.isDragging) {\n return\n }\n\n let relevantEvents = this.relevantEvents!\n let initialHit = this.hitDragging.initialHit!\n let initialContext = this.component.context\n\n // states based on new hit\n let receivingContext: CalendarContext | null = null\n let mutation: EventMutation | null = null\n let mutatedRelevantEvents: EventStore | null = null\n let isInvalid = false\n let interaction: EventInteractionState = {\n affectedEvents: relevantEvents,\n mutatedEvents: createEmptyEventStore(),\n isEvent: true,\n }\n\n if (hit) {\n receivingContext = hit.context\n let receivingOptions = receivingContext.options\n\n if (\n initialContext === receivingContext ||\n (receivingOptions.editable && receivingOptions.droppable)\n ) {\n mutation = computeEventMutation(initialHit, hit, receivingContext.getCurrentData().pluginHooks.eventDragMutationMassagers)\n\n if (mutation) {\n mutatedRelevantEvents = applyMutationToEventStore(\n relevantEvents,\n receivingContext.getCurrentData().eventUiBases,\n mutation,\n receivingContext,\n )\n interaction.mutatedEvents = mutatedRelevantEvents\n\n if (!isInteractionValid(interaction, hit.dateProfile, receivingContext)) {\n isInvalid = true\n mutation = null\n mutatedRelevantEvents = null\n interaction.mutatedEvents = createEmptyEventStore()\n }\n }\n } else {\n receivingContext = null\n }\n }\n\n this.displayDrag(receivingContext, interaction)\n\n if (!isInvalid) {\n enableCursor()\n } else {\n disableCursor()\n }\n\n if (!isFinal) {\n if (\n initialContext === receivingContext && // TODO: write test for this\n isHitsEqual(initialHit, hit)\n ) {\n mutation = null\n }\n\n this.dragging.setMirrorNeedsRevert(!mutation)\n\n // render the mirror if no already-rendered mirror\n // TODO: wish we could somehow wait for dispatch to guarantee render\n this.dragging.setMirrorIsVisible(\n !hit || !getElRoot(this.subjectEl).querySelector('.fc-event-mirror'), // TODO: turn className into constant\n )\n\n // assign states based on new hit\n this.receivingContext = receivingContext\n this.validMutation = mutation\n this.mutatedRelevantEvents = mutatedRelevantEvents\n }\n }\n\n handlePointerUp = () => {\n if (!this.isDragging) {\n this.cleanup() // because handleDragEnd won't fire\n }\n }\n\n handleDragEnd = (ev: PointerDragEvent) => {\n if (this.isDragging) {\n let initialContext = this.component.context\n let initialView = initialContext.viewApi\n let { receivingContext, validMutation } = this\n let eventDef = this.eventRange!.def\n let eventInstance = this.eventRange!.instance\n let eventApi = new EventApi(initialContext, eventDef, eventInstance)\n let relevantEvents = this.relevantEvents!\n let mutatedRelevantEvents = this.mutatedRelevantEvents!\n let { finalHit } = this.hitDragging\n\n this.clearDrag() // must happen after revert animation\n\n initialContext.emitter.trigger('eventDragStop', {\n el: this.subjectEl,\n event: eventApi,\n jsEvent: ev.origEvent as MouseEvent, // Is this always a mouse event? See #4655\n view: initialView,\n } as EventDragStopArg)\n\n if (validMutation) {\n // dropped within same calendar\n if (receivingContext === initialContext) {\n let updatedEventApi = new EventApi(\n initialContext,\n mutatedRelevantEvents.defs[eventDef.defId],\n eventInstance ? mutatedRelevantEvents.instances[eventInstance.instanceId] : null,\n )\n\n initialContext.dispatch({\n type: 'MERGE_EVENTS',\n eventStore: mutatedRelevantEvents,\n })\n\n let eventChangeArg: EventChangeArg = {\n oldEvent: eventApi,\n event: updatedEventApi,\n relatedEvents: buildEventApis(mutatedRelevantEvents, initialContext, eventInstance),\n revert() {\n initialContext.dispatch({\n type: 'MERGE_EVENTS',\n eventStore: relevantEvents, // the pre-change data\n })\n },\n }\n\n let transformed: ReturnType = {}\n for (let transformer of initialContext.getCurrentData().pluginHooks.eventDropTransformers) {\n __assign(transformed, transformer(validMutation, initialContext))\n }\n\n initialContext.emitter.trigger('eventDrop', {\n ...eventChangeArg,\n ...transformed,\n el: ev.subjectEl as HTMLElement,\n delta: validMutation.datesDelta!,\n jsEvent: ev.origEvent as MouseEvent, // bad\n view: initialView,\n })\n\n initialContext.emitter.trigger('eventChange', eventChangeArg)\n\n // dropped in different calendar\n } else if (receivingContext) {\n let eventRemoveArg: EventRemoveArg = {\n event: eventApi,\n relatedEvents: buildEventApis(relevantEvents, initialContext, eventInstance),\n revert() {\n initialContext.dispatch({\n type: 'MERGE_EVENTS',\n eventStore: relevantEvents,\n })\n },\n }\n\n initialContext.emitter.trigger('eventLeave', {\n ...eventRemoveArg,\n draggedEl: ev.subjectEl as HTMLElement,\n view: initialView,\n })\n\n initialContext.dispatch({\n type: 'REMOVE_EVENTS',\n eventStore: relevantEvents,\n })\n\n initialContext.emitter.trigger('eventRemove', eventRemoveArg)\n\n let addedEventDef = mutatedRelevantEvents.defs[eventDef.defId]\n let addedEventInstance = mutatedRelevantEvents.instances[eventInstance.instanceId]\n let addedEventApi = new EventApi(receivingContext, addedEventDef, addedEventInstance)\n\n receivingContext.dispatch({\n type: 'MERGE_EVENTS',\n eventStore: mutatedRelevantEvents,\n })\n\n let eventAddArg: EventAddArg = {\n event: addedEventApi,\n relatedEvents: buildEventApis(mutatedRelevantEvents, receivingContext, addedEventInstance),\n revert() {\n receivingContext.dispatch({\n type: 'REMOVE_EVENTS',\n eventStore: mutatedRelevantEvents,\n })\n },\n }\n\n receivingContext.emitter.trigger('eventAdd', eventAddArg)\n\n if (ev.isTouch) {\n receivingContext.dispatch({\n type: 'SELECT_EVENT',\n eventInstanceId: eventInstance.instanceId,\n })\n }\n\n receivingContext.emitter.trigger('drop', {\n ...buildDatePointApiWithContext(finalHit.dateSpan, receivingContext),\n draggedEl: ev.subjectEl as HTMLElement,\n jsEvent: ev.origEvent as MouseEvent, // Is this always a mouse event? See #4655\n view: finalHit.context.viewApi,\n })\n\n receivingContext.emitter.trigger('eventReceive', {\n ...eventAddArg,\n draggedEl: ev.subjectEl as HTMLElement,\n view: finalHit.context.viewApi,\n })\n }\n } else {\n initialContext.emitter.trigger('_noEventDrop')\n }\n }\n\n this.cleanup()\n }\n\n // render a drag state on the next receivingCalendar\n displayDrag(nextContext: CalendarContext | null, state: EventInteractionState) {\n let initialContext = this.component.context\n let prevContext = this.receivingContext\n\n // does the previous calendar need to be cleared?\n if (prevContext && prevContext !== nextContext) {\n // does the initial calendar need to be cleared?\n // if so, don't clear all the way. we still need to to hide the affectedEvents\n if (prevContext === initialContext) {\n prevContext.dispatch({\n type: 'SET_EVENT_DRAG',\n state: {\n affectedEvents: state.affectedEvents,\n mutatedEvents: createEmptyEventStore(),\n isEvent: true,\n },\n })\n\n // completely clear the old calendar if it wasn't the initial\n } else {\n prevContext.dispatch({ type: 'UNSET_EVENT_DRAG' })\n }\n }\n\n if (nextContext) {\n nextContext.dispatch({ type: 'SET_EVENT_DRAG', state })\n }\n }\n\n clearDrag() {\n let initialCalendar = this.component.context\n let { receivingContext } = this\n\n if (receivingContext) {\n receivingContext.dispatch({ type: 'UNSET_EVENT_DRAG' })\n }\n\n // the initial calendar might have an dummy drag state from displayDrag\n if (initialCalendar !== receivingContext) {\n initialCalendar.dispatch({ type: 'UNSET_EVENT_DRAG' })\n }\n }\n\n cleanup() { // reset all internal state\n this.subjectSeg = null\n this.isDragging = false\n this.eventRange = null\n this.relevantEvents = null\n this.receivingContext = null\n this.validMutation = null\n this.mutatedRelevantEvents = null\n }\n}\n\nfunction computeEventMutation(hit0: Hit, hit1: Hit, massagers: eventDragMutationMassager[]): EventMutation {\n let dateSpan0 = hit0.dateSpan\n let dateSpan1 = hit1.dateSpan\n let date0 = dateSpan0.range.start\n let date1 = dateSpan1.range.start\n let standardProps = {} as any\n\n if (dateSpan0.allDay !== dateSpan1.allDay) {\n standardProps.allDay = dateSpan1.allDay\n standardProps.hasEnd = hit1.context.options.allDayMaintainDuration\n\n if (dateSpan1.allDay) {\n // means date1 is already start-of-day,\n // but date0 needs to be converted\n date0 = startOfDay(date0)\n }\n }\n\n let delta = diffDates(\n date0, date1,\n hit0.context.dateEnv,\n hit0.componentId === hit1.componentId ?\n hit0.largeUnit :\n null,\n )\n\n if (delta.milliseconds) { // has hours/minutes/seconds\n standardProps.allDay = false\n }\n\n let mutation: EventMutation = {\n datesDelta: delta,\n standardProps,\n }\n\n for (let massager of massagers) {\n massager(mutation, hit0, hit1)\n }\n\n return mutation\n}\n\nfunction getComponentTouchDelay(component: DateComponent): number | null {\n let { options } = component.context\n let delay = options.eventLongPressDelay\n\n if (delay == null) {\n delay = options.longPressDelay\n }\n\n return delay\n}\n","import {\n Seg, Hit,\n EventMutation, applyMutationToEventStore,\n elementClosest,\n PointerDragEvent,\n EventStore, getRelevantEvents, createEmptyEventStore,\n diffDates, enableCursor, disableCursor,\n DateRange,\n EventApi,\n EventRenderRange, getElSeg,\n createDuration,\n EventInteractionState,\n Interaction, InteractionSettings, interactionSettingsToStore, ViewApi, Duration, EventChangeArg, buildEventApis, isInteractionValid,\n} from '@fullcalendar/common'\nimport { __assign } from 'tslib'\nimport { HitDragging, isHitsEqual } from './HitDragging'\nimport { FeaturefulElementDragging } from '../dnd/FeaturefulElementDragging'\n\nexport type EventResizeStartArg = EventResizeStartStopArg\nexport type EventResizeStopArg = EventResizeStartStopArg\n\nexport interface EventResizeStartStopArg {\n el: HTMLElement\n event: EventApi\n jsEvent: MouseEvent\n view: ViewApi\n}\n\nexport interface EventResizeDoneArg extends EventChangeArg {\n el: HTMLElement\n startDelta: Duration\n endDelta: Duration\n jsEvent: MouseEvent\n view: ViewApi\n}\n\nexport class EventResizing extends Interaction {\n dragging: FeaturefulElementDragging\n hitDragging: HitDragging\n\n // internal state\n draggingSegEl: HTMLElement | null = null\n draggingSeg: Seg | null = null // TODO: rename to resizingSeg? subjectSeg?\n eventRange: EventRenderRange | null = null\n relevantEvents: EventStore | null = null\n validMutation: EventMutation | null = null\n mutatedRelevantEvents: EventStore | null = null\n\n constructor(settings: InteractionSettings) {\n super(settings)\n let { component } = settings\n\n let dragging = this.dragging = new FeaturefulElementDragging(settings.el)\n dragging.pointer.selector = '.fc-event-resizer'\n dragging.touchScrollAllowed = false\n dragging.autoScroller.isEnabled = component.context.options.dragScroll\n\n let hitDragging = this.hitDragging = new HitDragging(this.dragging, interactionSettingsToStore(settings))\n hitDragging.emitter.on('pointerdown', this.handlePointerDown)\n hitDragging.emitter.on('dragstart', this.handleDragStart)\n hitDragging.emitter.on('hitupdate', this.handleHitUpdate)\n hitDragging.emitter.on('dragend', this.handleDragEnd)\n }\n\n destroy() {\n this.dragging.destroy()\n }\n\n handlePointerDown = (ev: PointerDragEvent) => {\n let { component } = this\n let segEl = this.querySegEl(ev)\n let seg = getElSeg(segEl)\n let eventRange = this.eventRange = seg.eventRange!\n\n this.dragging.minDistance = component.context.options.eventDragMinDistance\n\n // if touch, need to be working with a selected event\n this.dragging.setIgnoreMove(\n !this.component.isValidSegDownEl(ev.origEvent.target as HTMLElement) ||\n (ev.isTouch && this.component.props.eventSelection !== eventRange.instance!.instanceId),\n )\n }\n\n handleDragStart = (ev: PointerDragEvent) => {\n let { context } = this.component\n let eventRange = this.eventRange!\n\n this.relevantEvents = getRelevantEvents(\n context.getCurrentData().eventStore,\n this.eventRange.instance!.instanceId,\n )\n\n let segEl = this.querySegEl(ev)\n this.draggingSegEl = segEl\n this.draggingSeg = getElSeg(segEl)\n\n context.calendarApi.unselect()\n context.emitter.trigger('eventResizeStart', {\n el: segEl,\n event: new EventApi(context, eventRange.def, eventRange.instance),\n jsEvent: ev.origEvent as MouseEvent, // Is this always a mouse event? See #4655\n view: context.viewApi,\n } as EventResizeStartArg)\n }\n\n handleHitUpdate = (hit: Hit | null, isFinal: boolean, ev: PointerDragEvent) => {\n let { context } = this.component\n let relevantEvents = this.relevantEvents!\n let initialHit = this.hitDragging.initialHit!\n let eventInstance = this.eventRange.instance!\n let mutation: EventMutation | null = null\n let mutatedRelevantEvents: EventStore | null = null\n let isInvalid = false\n let interaction: EventInteractionState = {\n affectedEvents: relevantEvents,\n mutatedEvents: createEmptyEventStore(),\n isEvent: true,\n }\n\n if (hit) {\n let disallowed = hit.componentId === initialHit.componentId\n && this.isHitComboAllowed\n && !this.isHitComboAllowed(initialHit, hit)\n\n if (!disallowed) {\n mutation = computeMutation(\n initialHit,\n hit,\n (ev.subjectEl as HTMLElement).classList.contains('fc-event-resizer-start'),\n eventInstance.range,\n )\n }\n }\n\n if (mutation) {\n mutatedRelevantEvents = applyMutationToEventStore(relevantEvents, context.getCurrentData().eventUiBases, mutation, context)\n interaction.mutatedEvents = mutatedRelevantEvents\n\n if (!isInteractionValid(interaction, hit.dateProfile, context)) {\n isInvalid = true\n mutation = null\n mutatedRelevantEvents = null\n interaction.mutatedEvents = null\n }\n }\n\n if (mutatedRelevantEvents) {\n context.dispatch({\n type: 'SET_EVENT_RESIZE',\n state: interaction,\n })\n } else {\n context.dispatch({ type: 'UNSET_EVENT_RESIZE' })\n }\n\n if (!isInvalid) {\n enableCursor()\n } else {\n disableCursor()\n }\n\n if (!isFinal) {\n if (mutation && isHitsEqual(initialHit, hit)) {\n mutation = null\n }\n\n this.validMutation = mutation\n this.mutatedRelevantEvents = mutatedRelevantEvents\n }\n }\n\n handleDragEnd = (ev: PointerDragEvent) => {\n let { context } = this.component\n let eventDef = this.eventRange!.def\n let eventInstance = this.eventRange!.instance\n let eventApi = new EventApi(context, eventDef, eventInstance)\n let relevantEvents = this.relevantEvents!\n let mutatedRelevantEvents = this.mutatedRelevantEvents!\n\n context.emitter.trigger('eventResizeStop', {\n el: this.draggingSegEl,\n event: eventApi,\n jsEvent: ev.origEvent as MouseEvent, // Is this always a mouse event? See #4655\n view: context.viewApi,\n } as EventResizeStopArg)\n\n if (this.validMutation) {\n let updatedEventApi = new EventApi(\n context,\n mutatedRelevantEvents.defs[eventDef.defId],\n eventInstance ? mutatedRelevantEvents.instances[eventInstance.instanceId] : null,\n )\n\n context.dispatch({\n type: 'MERGE_EVENTS',\n eventStore: mutatedRelevantEvents,\n })\n\n let eventChangeArg: EventChangeArg = {\n oldEvent: eventApi,\n event: updatedEventApi,\n relatedEvents: buildEventApis(mutatedRelevantEvents, context, eventInstance),\n revert() {\n context.dispatch({\n type: 'MERGE_EVENTS',\n eventStore: relevantEvents, // the pre-change events\n })\n },\n }\n\n context.emitter.trigger('eventResize', {\n ...eventChangeArg,\n el: this.draggingSegEl,\n startDelta: this.validMutation.startDelta || createDuration(0),\n endDelta: this.validMutation.endDelta || createDuration(0),\n jsEvent: ev.origEvent as MouseEvent,\n view: context.viewApi,\n })\n\n context.emitter.trigger('eventChange', eventChangeArg)\n } else {\n context.emitter.trigger('_noEventResize')\n }\n\n // reset all internal state\n this.draggingSeg = null\n this.relevantEvents = null\n this.validMutation = null\n\n // okay to keep eventInstance around. useful to set it in handlePointerDown\n }\n\n querySegEl(ev: PointerDragEvent) {\n return elementClosest(ev.subjectEl as HTMLElement, '.fc-event')\n }\n}\n\nfunction computeMutation(\n hit0: Hit,\n hit1: Hit,\n isFromStart: boolean,\n instanceRange: DateRange,\n): EventMutation | null {\n let dateEnv = hit0.context.dateEnv\n let date0 = hit0.dateSpan.range.start\n let date1 = hit1.dateSpan.range.start\n\n let delta = diffDates(\n date0, date1,\n dateEnv,\n hit0.largeUnit,\n )\n\n if (isFromStart) {\n if (dateEnv.add(instanceRange.start, delta) < instanceRange.end) {\n return { startDelta: delta }\n }\n } else if (dateEnv.add(instanceRange.end, delta) > instanceRange.start) {\n return { endDelta: delta }\n }\n\n return null\n}\n","import {\n DateSelectionApi,\n PointerDragEvent,\n elementClosest,\n CalendarContext,\n getEventTargetViaRoot,\n} from '@fullcalendar/common'\nimport { PointerDragging } from '../dnd/PointerDragging'\nimport { EventDragging } from './EventDragging'\n\nexport class UnselectAuto {\n documentPointer: PointerDragging // for unfocusing\n isRecentPointerDateSelect = false // wish we could use a selector to detect date selection, but uses hit system\n matchesCancel = false\n matchesEvent = false\n\n constructor(private context: CalendarContext) {\n let documentPointer = this.documentPointer = new PointerDragging(document)\n documentPointer.shouldIgnoreMove = true\n documentPointer.shouldWatchScroll = false\n documentPointer.emitter.on('pointerdown', this.onDocumentPointerDown)\n documentPointer.emitter.on('pointerup', this.onDocumentPointerUp)\n\n /*\n TODO: better way to know about whether there was a selection with the pointer\n */\n context.emitter.on('select', this.onSelect)\n }\n\n destroy() {\n this.context.emitter.off('select', this.onSelect)\n this.documentPointer.destroy()\n }\n\n onSelect = (selectInfo: DateSelectionApi) => {\n if (selectInfo.jsEvent) {\n this.isRecentPointerDateSelect = true\n }\n }\n\n onDocumentPointerDown = (pev: PointerDragEvent) => {\n let unselectCancel = this.context.options.unselectCancel\n let downEl = getEventTargetViaRoot(pev.origEvent) as HTMLElement\n\n this.matchesCancel = !!elementClosest(downEl, unselectCancel)\n this.matchesEvent = !!elementClosest(downEl, EventDragging.SELECTOR) // interaction started on an event?\n }\n\n onDocumentPointerUp = (pev: PointerDragEvent) => {\n let { context } = this\n let { documentPointer } = this\n let calendarState = context.getCurrentData()\n\n // touch-scrolling should never unfocus any type of selection\n if (!documentPointer.wasTouchScroll) {\n if (\n calendarState.dateSelection && // an existing date selection?\n !this.isRecentPointerDateSelect // a new pointer-initiated date selection since last onDocumentPointerUp?\n ) {\n let unselectAuto = context.options.unselectAuto\n\n if (unselectAuto && (!unselectAuto || !this.matchesCancel)) {\n context.calendarApi.unselect(pev)\n }\n }\n\n if (\n calendarState.eventSelection && // an existing event selected?\n !this.matchesEvent // interaction DIDN'T start on an event\n ) {\n context.dispatch({ type: 'UNSELECT_EVENT' })\n }\n }\n\n this.isRecentPointerDateSelect = false\n }\n}\n","import { identity, Identity, EventDropArg } from '@fullcalendar/common'\n\n// public\nimport {\n DateClickArg,\n EventDragStartArg, EventDragStopArg,\n EventResizeStartArg, EventResizeStopArg, EventResizeDoneArg,\n DropArg, EventReceiveArg, EventLeaveArg,\n} from './api-type-deps'\n\nexport const OPTION_REFINERS = {\n fixedMirrorParent: identity as Identity,\n}\n\nexport const LISTENER_REFINERS = {\n dateClick: identity as Identity<(arg: DateClickArg) => void>,\n eventDragStart: identity as Identity<(arg: EventDragStartArg) => void>,\n eventDragStop: identity as Identity<(arg: EventDragStopArg) => void>,\n eventDrop: identity as Identity<(arg: EventDropArg) => void>,\n eventResizeStart: identity as Identity<(arg: EventResizeStartArg) => void>,\n eventResizeStop: identity as Identity<(arg: EventResizeStopArg) => void>,\n eventResize: identity as Identity<(arg: EventResizeDoneArg) => void>,\n drop: identity as Identity<(arg: DropArg) => void>,\n eventReceive: identity as Identity<(arg: EventReceiveArg) => void>,\n eventLeave: identity as Identity<(arg: EventLeaveArg) => void>,\n}\n","import {\n Hit,\n interactionSettingsStore,\n PointerDragEvent,\n parseEventDef, createEventInstance, EventTuple,\n createEmptyEventStore, eventTupleToStore,\n config,\n DateSpan, DatePointApi,\n EventInteractionState,\n DragMetaInput, DragMeta, parseDragMeta,\n EventApi,\n elementMatches,\n enableCursor, disableCursor,\n isInteractionValid,\n ElementDragging,\n ViewApi,\n CalendarContext,\n getDefaultEventEnd,\n refineEventDef,\n} from '@fullcalendar/common'\nimport { __assign } from 'tslib'\nimport { HitDragging } from '../interactions/HitDragging'\nimport { buildDatePointApiWithContext } from '../utils'\n\nexport type DragMetaGenerator = DragMetaInput | ((el: HTMLElement) => DragMetaInput)\n\nexport interface ExternalDropApi extends DatePointApi {\n draggedEl: HTMLElement\n jsEvent: UIEvent\n view: ViewApi\n}\n\n/*\nGiven an already instantiated draggable object for one-or-more elements,\nInterprets any dragging as an attempt to drag an events that lives outside\nof a calendar onto a calendar.\n*/\nexport class ExternalElementDragging {\n hitDragging: HitDragging\n receivingContext: CalendarContext | null = null\n droppableEvent: EventTuple | null = null // will exist for all drags, even if create:false\n suppliedDragMeta: DragMetaGenerator | null = null\n dragMeta: DragMeta | null = null\n\n constructor(dragging: ElementDragging, suppliedDragMeta?: DragMetaGenerator) {\n let hitDragging = this.hitDragging = new HitDragging(dragging, interactionSettingsStore)\n hitDragging.requireInitial = false // will start outside of a component\n hitDragging.emitter.on('dragstart', this.handleDragStart)\n hitDragging.emitter.on('hitupdate', this.handleHitUpdate)\n hitDragging.emitter.on('dragend', this.handleDragEnd)\n\n this.suppliedDragMeta = suppliedDragMeta\n }\n\n handleDragStart = (ev: PointerDragEvent) => {\n this.dragMeta = this.buildDragMeta(ev.subjectEl as HTMLElement)\n }\n\n buildDragMeta(subjectEl: HTMLElement) {\n if (typeof this.suppliedDragMeta === 'object') {\n return parseDragMeta(this.suppliedDragMeta)\n }\n if (typeof this.suppliedDragMeta === 'function') {\n return parseDragMeta(this.suppliedDragMeta(subjectEl))\n }\n return getDragMetaFromEl(subjectEl)\n }\n\n handleHitUpdate = (hit: Hit | null, isFinal: boolean, ev: PointerDragEvent) => {\n let { dragging } = this.hitDragging\n let receivingContext: CalendarContext | null = null\n let droppableEvent: EventTuple | null = null\n let isInvalid = false\n let interaction: EventInteractionState = {\n affectedEvents: createEmptyEventStore(),\n mutatedEvents: createEmptyEventStore(),\n isEvent: this.dragMeta!.create,\n }\n\n if (hit) {\n receivingContext = hit.context\n\n if (this.canDropElOnCalendar(ev.subjectEl as HTMLElement, receivingContext)) {\n droppableEvent = computeEventForDateSpan(\n hit.dateSpan,\n this.dragMeta!,\n receivingContext,\n )\n\n interaction.mutatedEvents = eventTupleToStore(droppableEvent)\n isInvalid = !isInteractionValid(interaction, hit.dateProfile, receivingContext)\n\n if (isInvalid) {\n interaction.mutatedEvents = createEmptyEventStore()\n droppableEvent = null\n }\n }\n }\n\n this.displayDrag(receivingContext, interaction)\n\n // show mirror if no already-rendered mirror element OR if we are shutting down the mirror (?)\n // TODO: wish we could somehow wait for dispatch to guarantee render\n dragging.setMirrorIsVisible(\n isFinal || !droppableEvent || !document.querySelector('.fc-event-mirror'), // TODO: turn className into constant\n // TODO: somehow query FullCalendars WITHIN shadow-roots for existing event-mirror els\n )\n\n if (!isInvalid) {\n enableCursor()\n } else {\n disableCursor()\n }\n\n if (!isFinal) {\n dragging.setMirrorNeedsRevert(!droppableEvent)\n\n this.receivingContext = receivingContext\n this.droppableEvent = droppableEvent\n }\n }\n\n handleDragEnd = (pev: PointerDragEvent) => {\n let { receivingContext, droppableEvent } = this\n\n this.clearDrag()\n\n if (receivingContext && droppableEvent) {\n let finalHit = this.hitDragging.finalHit!\n let finalView = finalHit.context.viewApi\n let dragMeta = this.dragMeta!\n\n receivingContext.emitter.trigger('drop', {\n ...buildDatePointApiWithContext(finalHit.dateSpan, receivingContext),\n draggedEl: pev.subjectEl as HTMLElement,\n jsEvent: pev.origEvent as MouseEvent, // Is this always a mouse event? See #4655\n view: finalView,\n })\n\n if (dragMeta.create) {\n let addingEvents = eventTupleToStore(droppableEvent)\n\n receivingContext.dispatch({\n type: 'MERGE_EVENTS',\n eventStore: addingEvents,\n })\n\n if (pev.isTouch) {\n receivingContext.dispatch({\n type: 'SELECT_EVENT',\n eventInstanceId: droppableEvent.instance.instanceId,\n })\n }\n\n // signal that an external event landed\n receivingContext.emitter.trigger('eventReceive', {\n event: new EventApi(\n receivingContext,\n droppableEvent.def,\n droppableEvent.instance,\n ),\n relatedEvents: [],\n revert() {\n receivingContext.dispatch({\n type: 'REMOVE_EVENTS',\n eventStore: addingEvents,\n })\n },\n draggedEl: pev.subjectEl as HTMLElement,\n view: finalView,\n })\n }\n }\n\n this.receivingContext = null\n this.droppableEvent = null\n }\n\n displayDrag(nextContext: CalendarContext | null, state: EventInteractionState) {\n let prevContext = this.receivingContext\n\n if (prevContext && prevContext !== nextContext) {\n prevContext.dispatch({ type: 'UNSET_EVENT_DRAG' })\n }\n\n if (nextContext) {\n nextContext.dispatch({ type: 'SET_EVENT_DRAG', state })\n }\n }\n\n clearDrag() {\n if (this.receivingContext) {\n this.receivingContext.dispatch({ type: 'UNSET_EVENT_DRAG' })\n }\n }\n\n canDropElOnCalendar(el: HTMLElement, receivingContext: CalendarContext): boolean {\n let dropAccept = receivingContext.options.dropAccept\n\n if (typeof dropAccept === 'function') {\n return dropAccept.call(receivingContext.calendarApi, el)\n }\n\n if (typeof dropAccept === 'string' && dropAccept) {\n return Boolean(elementMatches(el, dropAccept))\n }\n\n return true\n }\n}\n\n// Utils for computing event store from the DragMeta\n// ----------------------------------------------------------------------------------------------------\n\nfunction computeEventForDateSpan(dateSpan: DateSpan, dragMeta: DragMeta, context: CalendarContext): EventTuple {\n let defProps = { ...dragMeta.leftoverProps }\n\n for (let transform of context.pluginHooks.externalDefTransforms) {\n __assign(defProps, transform(dateSpan, dragMeta))\n }\n\n let { refined, extra } = refineEventDef(defProps, context)\n let def = parseEventDef(\n refined,\n extra,\n dragMeta.sourceId,\n dateSpan.allDay,\n context.options.forceEventDuration || Boolean(dragMeta.duration), // hasEnd\n context,\n )\n\n let start = dateSpan.range.start\n\n // only rely on time info if drop zone is all-day,\n // otherwise, we already know the time\n if (dateSpan.allDay && dragMeta.startTime) {\n start = context.dateEnv.add(start, dragMeta.startTime)\n }\n\n let end = dragMeta.duration ?\n context.dateEnv.add(start, dragMeta.duration) :\n getDefaultEventEnd(dateSpan.allDay, start, context)\n\n let instance = createEventInstance(def.defId, { start, end })\n\n return { def, instance }\n}\n\n// Utils for extracting data from element\n// ----------------------------------------------------------------------------------------------------\n\nfunction getDragMetaFromEl(el: HTMLElement): DragMeta {\n let str = getEmbeddedElData(el, 'event')\n let obj = str ?\n JSON.parse(str) :\n { create: false } // if no embedded data, assume no event creation\n\n return parseDragMeta(obj)\n}\n\nconfig.dataAttrPrefix = ''\n\nfunction getEmbeddedElData(el: HTMLElement, name: string): string {\n let prefix = config.dataAttrPrefix\n let prefixedName = (prefix ? prefix + '-' : '') + name\n\n return el.getAttribute('data-' + prefixedName) || ''\n}\n","import { BASE_OPTION_DEFAULTS, PointerDragEvent } from '@fullcalendar/common'\nimport { FeaturefulElementDragging } from '../dnd/FeaturefulElementDragging'\nimport { ExternalElementDragging, DragMetaGenerator } from './ExternalElementDragging'\n\nexport interface ExternalDraggableSettings {\n eventData?: DragMetaGenerator\n itemSelector?: string\n minDistance?: number\n longPressDelay?: number\n appendTo?: HTMLElement\n}\n\n/*\nMakes an element (that is *external* to any calendar) draggable.\nCan pass in data that determines how an event will be created when dropped onto a calendar.\nLeverages FullCalendar's internal drag-n-drop functionality WITHOUT a third-party drag system.\n*/\nexport class ExternalDraggable {\n dragging: FeaturefulElementDragging\n settings: ExternalDraggableSettings\n\n constructor(el: HTMLElement, settings: ExternalDraggableSettings = {}) {\n this.settings = settings\n\n let dragging = this.dragging = new FeaturefulElementDragging(el)\n dragging.touchScrollAllowed = false\n\n if (settings.itemSelector != null) {\n dragging.pointer.selector = settings.itemSelector\n }\n\n if (settings.appendTo != null) {\n dragging.mirror.parentNode = settings.appendTo // TODO: write tests\n }\n\n dragging.emitter.on('pointerdown', this.handlePointerDown)\n dragging.emitter.on('dragstart', this.handleDragStart)\n\n new ExternalElementDragging(dragging, settings.eventData) // eslint-disable-line no-new\n }\n\n handlePointerDown = (ev: PointerDragEvent) => {\n let { dragging } = this\n let { minDistance, longPressDelay } = this.settings\n\n dragging.minDistance =\n minDistance != null ?\n minDistance :\n (ev.isTouch ? 0 : BASE_OPTION_DEFAULTS.eventDragMinDistance)\n\n dragging.delay =\n ev.isTouch ? // TODO: eventually read eventLongPressDelay instead vvv\n (longPressDelay != null ? longPressDelay : BASE_OPTION_DEFAULTS.longPressDelay) :\n 0\n }\n\n handleDragStart = (ev: PointerDragEvent) => {\n if (\n ev.isTouch &&\n this.dragging.delay &&\n (ev.subjectEl as HTMLElement).classList.contains('fc-event')\n ) {\n this.dragging.mirror.getMirrorEl().classList.add('fc-event-selected')\n }\n }\n\n destroy() {\n this.dragging.destroy()\n }\n}\n","import { PointerDragEvent, ElementDragging } from '@fullcalendar/common'\nimport { PointerDragging } from '../dnd/PointerDragging'\n\n/*\nDetects when a *THIRD-PARTY* drag-n-drop system interacts with elements.\nThe third-party system is responsible for drawing the visuals effects of the drag.\nThis class simply monitors for pointer movements and fires events.\nIt also has the ability to hide the moving element (the \"mirror\") during the drag.\n*/\nexport class InferredElementDragging extends ElementDragging {\n pointer: PointerDragging\n shouldIgnoreMove: boolean = false\n mirrorSelector: string = ''\n currentMirrorEl: HTMLElement | null = null\n\n constructor(containerEl: HTMLElement) {\n super(containerEl)\n\n let pointer = this.pointer = new PointerDragging(containerEl)\n pointer.emitter.on('pointerdown', this.handlePointerDown)\n pointer.emitter.on('pointermove', this.handlePointerMove)\n pointer.emitter.on('pointerup', this.handlePointerUp)\n }\n\n destroy() {\n this.pointer.destroy()\n }\n\n handlePointerDown = (ev: PointerDragEvent) => {\n this.emitter.trigger('pointerdown', ev)\n\n if (!this.shouldIgnoreMove) {\n // fire dragstart right away. does not support delay or min-distance\n this.emitter.trigger('dragstart', ev)\n }\n }\n\n handlePointerMove = (ev: PointerDragEvent) => {\n if (!this.shouldIgnoreMove) {\n this.emitter.trigger('dragmove', ev)\n }\n }\n\n handlePointerUp = (ev: PointerDragEvent) => {\n this.emitter.trigger('pointerup', ev)\n\n if (!this.shouldIgnoreMove) {\n // fire dragend right away. does not support a revert animation\n this.emitter.trigger('dragend', ev)\n }\n }\n\n setIgnoreMove(bool: boolean) {\n this.shouldIgnoreMove = bool\n }\n\n setMirrorIsVisible(bool: boolean) {\n if (bool) {\n // restore a previously hidden element.\n // use the reference in case the selector class has already been removed.\n if (this.currentMirrorEl) {\n this.currentMirrorEl.style.visibility = ''\n this.currentMirrorEl = null\n }\n } else {\n let mirrorEl = this.mirrorSelector\n // TODO: somehow query FullCalendars WITHIN shadow-roots\n ? document.querySelector(this.mirrorSelector) as HTMLElement\n : null\n\n if (mirrorEl) {\n this.currentMirrorEl = mirrorEl\n mirrorEl.style.visibility = 'hidden'\n }\n }\n }\n}\n","import { ExternalElementDragging, DragMetaGenerator } from './ExternalElementDragging'\nimport { InferredElementDragging } from './InferredElementDragging'\n\nexport interface ThirdPartyDraggableSettings {\n eventData?: DragMetaGenerator\n itemSelector?: string\n mirrorSelector?: string\n}\n\n/*\nBridges third-party drag-n-drop systems with FullCalendar.\nMust be instantiated and destroyed by caller.\n*/\nexport class ThirdPartyDraggable {\n dragging: InferredElementDragging\n\n constructor(\n containerOrSettings?: EventTarget | ThirdPartyDraggableSettings,\n settings?: ThirdPartyDraggableSettings,\n ) {\n let containerEl: EventTarget = document\n\n if (\n // wish we could just test instanceof EventTarget, but doesn't work in IE11\n containerOrSettings === document ||\n containerOrSettings instanceof Element\n ) {\n containerEl = containerOrSettings as EventTarget\n settings = settings || {}\n } else {\n settings = (containerOrSettings || {}) as ThirdPartyDraggableSettings\n }\n\n let dragging = this.dragging = new InferredElementDragging(containerEl as HTMLElement)\n\n if (typeof settings.itemSelector === 'string') {\n dragging.pointer.selector = settings.itemSelector\n } else if (containerEl === document) {\n dragging.pointer.selector = '[data-event]'\n }\n\n if (typeof settings.mirrorSelector === 'string') {\n dragging.mirrorSelector = settings.mirrorSelector\n }\n\n new ExternalElementDragging(dragging, settings.eventData) // eslint-disable-line no-new\n }\n\n destroy() {\n this.dragging.destroy()\n }\n}\n","import { createPlugin } from '@fullcalendar/common'\nimport { DateClicking } from './interactions/DateClicking'\nimport { DateSelecting } from './interactions/DateSelecting'\nimport { EventDragging } from './interactions/EventDragging'\nimport { EventResizing } from './interactions/EventResizing'\nimport { UnselectAuto } from './interactions/UnselectAuto'\nimport { FeaturefulElementDragging } from './dnd/FeaturefulElementDragging'\nimport { OPTION_REFINERS, LISTENER_REFINERS } from './options'\nimport './options-declare'\n\nexport default createPlugin({\n componentInteractions: [DateClicking, DateSelecting, EventDragging, EventResizing],\n calendarInteractions: [UnselectAuto],\n elementDraggingImpl: FeaturefulElementDragging,\n optionRefiners: OPTION_REFINERS,\n listenerRefiners: LISTENER_REFINERS,\n})\n\nexport * from './api-type-deps'\nexport { FeaturefulElementDragging }\nexport { PointerDragging } from './dnd/PointerDragging'\nexport { ExternalDraggable as Draggable } from './interactions-external/ExternalDraggable'\nexport { ThirdPartyDraggable } from './interactions-external/ThirdPartyDraggable'\n","import { COLORS } from 'constants/chart.constant'\n\nexport const apexLineChartDefaultOption = {\n\tchart: {\n\t\tzoom: {\n\t\t\tenabled: false\n\t\t},\n\t\ttoolbar: {\n\t\t\tshow: false\n\t\t}\n\t},\n\tcolors: [...COLORS],\n\tdataLabels: {\n\t\tenabled: false\n\t},\n\tstroke: {\n\t\twidth: 2.5,\n\t\tcurve: 'smooth',\n\t\tlineCap: 'round'\n\t},\n\tlegend: {\n\t\titemMargin: {\n\t\t\tvertical: 10\n\t\t},\n\t\ttooltipHoverFormatter: function(val, opts) {\n\t\t\treturn val + ' - ' + opts.w.globals.series[opts.seriesIndex][opts.dataPointIndex] + ''\n\t\t}\n\t},\n\txaxis: {\n\t\tcategories: [],\n\t},\n}\n\nexport const apexAreaChartDefaultOption = {...apexLineChartDefaultOption}\n\nexport const apexBarChartDefaultOption = {\n\tchart: {\n\t\tzoom: {\n\t\t\tenabled: false\n\t\t},\n\t\ttoolbar: {\n\t\t\tshow: false\n\t\t}\n\t},\n\tplotOptions: {\n\t\tbar: {\n\t\t\thorizontal: false,\n\t\t\tcolumnWidth: '30px',\n\t\t\tborderRadius: 2\n\t\t},\n\t},\n\tcolors: [...COLORS],\n\tdataLabels: {\n\t\tenabled: false\n\t},\n\tstroke: {\n\t\tshow: true,\n\t\twidth: 6,\n\t\tcurve: 'smooth',\n\t\tcolors: ['transparent']\n\t},\n\tlegend: {\n\t\titemMargin: {\n\t\t\tvertical: 10\n\t\t},\n\t\ttooltipHoverFormatter: function(val, opts) {\n\t\t\treturn val + ' - ' + opts.w.globals.series[opts.seriesIndex][opts.dataPointIndex] + ''\n\t\t}\n\t},\n\txaxis: {\n\t\tcategories: [],\n\t},\n\tfill: {\n\t\topacity: 1\n\t},\n\ttooltip: {\n\t\ty: {\n\t\t\tformatter: val => (`${val}`)\n\t\t}\n\t}\n}\n\nexport const apexDonutChartDefaultOption = {\n\tcolors: [...COLORS],\n\tplotOptions: {\n\t\tpie: {\n\t\t\tsize: 50,\n\t\t\tdonut: {\n\t\t\t\tlabels: {\n\t\t\t\t\tshow: true,\n\t\t\t\t\ttotal: {\n\t\t\t\t\t\tshow: true,\n\t\t\t\t\t\tshowAlways: true,\n\t\t\t\t\t\tlabel: '',\n\t\t\t\t\t\tformatter: function (w) {\n\t\t\t\t\t\t\treturn w.globals.seriesTotals.reduce((a, b) => {\n\t\t\t\t\t\t\t\treturn a + b\n\t\t\t\t\t\t\t}, 0)\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tsize: '85%'\n\t\t\t}\n\t\t}\n\t},\n\tstroke:{\n\t\tcolors:['transparent']\n\t},\n\tlabels: [],\n\tdataLabels: {\n\t\tenabled: false\n\t},\n\tlegend: {\n\t\tshow: false\n\t}\n}\n\nexport const apexSparklineChartDefultOption = {\n\tchart: {\n\t\ttype: 'line',\n\t\tsparkline: {\n\t\t\tenabled: true\n\t\t}\n\t},\n\tstroke: {\n\t\twidth: 2,\n\t\tcurve: 'smooth'\n\t},\n\ttooltip: {\n\t\tfixed: {\n\t\t \tenabled: false\n\t\t},\n\t\tx: {\n\t\t \tshow: false\n\t\t},\n\t\ty: {\n\t\t\ttitle: {\n\t\t\t\tformatter: function (seriesName) {\n\t\t\t\t\treturn ''\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tmarker: {\n\t\t show: false\n\t\t}\n\t}\n}","import React, { useRef, useEffect, useCallback, useMemo } from 'react'\nimport PropTypes from 'prop-types'\nimport ApexChart from 'react-apexcharts'\nimport { \n\tapexLineChartDefaultOption, \n\tapexBarChartDefaultOption,\n\tapexAreaChartDefaultOption,\n\tapexDonutChartDefaultOption,\n} from 'configs/chart.config'\nimport { DIR_RTL } from 'constants/theme.constant'\n\nconst notDonut = ['line', 'bar', 'area']\n\nconst Chart = props => {\n\n\tconst { \n\t\tseries, \n\t\twidth, \n\t\theight, \n\t\txAxis, \n\t\tcustomOptions, \n\t\ttype, \n\t\tdirection, \n\t\tdonutTitle,\n\t\tdonutText,\n\t\tclassName,\n\t\t...rest\n\t} = props\n\n\tconst chartRef = useRef()\n\n\tconst chartDefaultOption = useMemo(() => {\n\t\tswitch (type) {\n\t\t\tcase 'line':\n\t\t\t\treturn apexLineChartDefaultOption\n\t\t\tcase 'bar':\n\t\t\t\treturn apexBarChartDefaultOption\n\t\t\tcase 'area':\n\t\t\t\treturn apexAreaChartDefaultOption\n\t\t\tcase 'donut':\n\t\t\t\treturn apexDonutChartDefaultOption\n\t\t\tdefault:\n\t\t\t\treturn apexLineChartDefaultOption\n\t\t}\n\t}, [type])\n\n\tlet options = JSON.parse(JSON.stringify(chartDefaultOption))\n\tconst isMobile = window.innerWidth < 768 \n\n\tconst setLegendOffset = useCallback(() => {\n\t\tif(chartRef.current) {\n\t\t\tconst lengend = chartRef.current.querySelectorAll('div.apexcharts-legend')[0]\n\t\t\tif(direction === DIR_RTL) {\n\t\t\t\tlengend.style.right = 'auto'\n\t\t\t\tlengend.style.left = '0'\n\t\t\t}\n\t\t\tif (isMobile) {\n\t\t\t\tlengend.style.position = 'relative'\n\t\t\t\tlengend.style.top = 0\n\t\t\t\tlengend.style.justifyContent = 'start'\n\t\t\t\tlengend.style.padding = 0\n\t\t\t}\n\t\t}\n\t}, [direction, isMobile])\n\n\tuseEffect(() => {\n\t\tif(notDonut.includes(type)) {\n\t\t\tsetLegendOffset()\n\t\t}\n\t}, [type, setLegendOffset])\n\t\n\t\n\tif (notDonut.includes(type)) {\n\t\toptions.xaxis.categories = xAxis\n\t}\n\n\tif (customOptions) {\n\t\toptions = {...options, ...customOptions }\n\t}\n\n\tif (type === 'donut') {\n\t\tif (donutTitle) {\n\t\t\toptions.plotOptions.pie.donut.labels.total.label = donutTitle\n\t\t}\n\t\tif (donutText) {\n\t\t\toptions.plotOptions.pie.donut.labels.total.formatter = () => donutText\n\t\t}\n\t}\n\n\treturn (\n\t\t
\n\t\t\t\n\t\t
\n\t)\n}\n\nChart.propTypes = {\n\tcustomOptions: PropTypes.object,\n\tdonutTitle: PropTypes.string,\n\theight: PropTypes.oneOfType([\n\t\tPropTypes.string,\n\t\tPropTypes.number\n\t]),\n\tseries: PropTypes.array.isRequired,\n\ttype: PropTypes.oneOf(['line', 'bar', 'area', 'donut']),\n\twidth: PropTypes.oneOfType([\n\t\tPropTypes.string,\n\t\tPropTypes.number\n\t]),\n\txAxis: PropTypes.array,\n}\n\nChart.defaultProps = {\n\tseries: [],\n\theight: 300,\n\twidth: '100%',\n\ttype: 'line'\n}\n\nexport default Chart\n","import React from 'react'\nimport { \n\tHiCheckCircle, \n\tHiOutlineInformationCircle, \n\tHiOutlineExclamation, \n\tHiOutlineExclamationCircle \n} from 'react-icons/hi'\nimport { Avatar, Button, Dialog, } from 'components/ui'\nimport PropTypes from 'prop-types'\n\nconst StatusIcon = ({status}) => {\n\n\tswitch (status) {\n\t\tcase 'info':\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)\n\t\tcase 'success':\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)\n\t\tcase 'warning':\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)\n\t\tcase 'danger':\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)\n\t\n\t\tdefault:\n\t\t\treturn null\n\t}\n}\n\nconst ConfirmDialog = props => {\n\n\tconst { \n\t\ttype, \n\t\ttitle, \n\t\tchildren,\n\t\tonCancel,\n\t\tonConfirm,\n\t\tcancelText,\n\t\tconfirmText,\n\t\tconfirmButtonColor,\n\t\t...rest\n\t} = props\n\n\tconst handleCancel = () => {\n\t\tonCancel?.()\n\t} \n\n\tconst handleConfirm = () => {\n\t\tonConfirm?.()\n\t}\n \n\treturn (\n\t\t\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
{title}
\n\t\t\t\t\t{children}\n\t\t\t\t
\n\t\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t\n\t)\n}\n\nConfirmDialog.propTypes = {\n\ttype: PropTypes.oneOf(['info', 'success', 'warning', 'danger']),\n}\n\nConfirmDialog.defaultProps = {\n\ttype: 'info',\n\tcancelText: 'Cancel',\n\tconfirmText: 'Confirm',\n}\n\n\nexport default ConfirmDialog\n","import { forwardRef } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nconst Container = forwardRef((props, ref) => {\n\n\tconst { \n\t\tclassName, \n\t\tchildren, \n\t\tasElement: Component,\n\t\t...rest \n\t} = props\n\n\n\treturn (\n\t\t\n\t\t\t{children}\n\t\t\n\t)\n})\n\nContainer.defaultProps = {\n\tasElement: 'div'\n}\n\nContainer.propTypes = {\n\tasElement: PropTypes.string\n}\n\nexport default Container\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { Table, Skeleton } from 'components/ui'\n\nconst { Tr, Td, TBody } = Table\n\nconst TableRowSkeleton = props => {\n\n\tconst { columns, rows, avatarInColumns, avatarProps } = props\n\n\treturn (\n\t\t\n\t\t\t{\n\t\t\t\tArray.from(new Array(rows), (_,i) => i+0).map(row => (\n\t\t\t\t\t\n\t\t\t\t\t\t{Array.from(new Array(columns), (_,i) => i+0).map(col => (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t{avatarInColumns.includes(col) && (\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t))}\n\t\t\t\t\t\n\t\t\t\t))\n\t\t\t}\n\t\t\n\t)\n}\n\nTableRowSkeleton.propTypes = {\n\tcolumns: PropTypes.number,\n\trows: PropTypes.number, \n\tavatarInColumns: PropTypes.arrayOf(PropTypes.number)\n}\n\nTableRowSkeleton.defaultProps = {\n\tcolumns: 1,\n\trows: 10,\n\tavatarInColumns: []\n}\n\n\nexport default TableRowSkeleton","import React from 'react'\nimport { Spinner } from 'components/ui'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nconst DefaultLoading = props => {\n\n\tconst { \n\t\tloading,\n\t\tchildren, \n\t\tspinnerClass, \n\t\tclassName, \n\t\tasElement: Component,\n\t\tcustomLoader,\n\t} = props\n\n\treturn (\n\t\tloading ?\n\t\t\n\t\t\t{\n\t\t\t\tcustomLoader ?\n\t\t\t\t<>{customLoader}\n\t\t\t\t:\n\t\t\t\t\n\t\t\t}\n\t\t\n\t\t:\n\t\t<>{children}\n\t)\n}\n\nconst CoveredLoading = props => {\n\n\tconst { \n\t\tloading,\n\t\tchildren, \n\t\tspinnerClass, \n\t\tclassName, \n\t\tasElement: Component,\n\t\tcustomLoader,\n\t} = props\n\n\n\treturn (\n\t\t\n\t\t\t{children}\n\t\t\t{loading && (\n\t\t\t\t
\n\t\t\t)}\n\t\t\t{loading && (\n\t\t\t\t
\n\t\t\t\t\t{\n\t\t\t\t\t\tcustomLoader ?\n\t\t\t\t\t\t<>{customLoader}\n\t\t\t\t\t\t:\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t
\n\t\t\t)}\n\t\t\t\t\n\t\t\n\t)\n}\n\nconst Loading = props => {\n\n\tswitch (props.type) {\n\t\tcase 'default':\n\t\t\treturn \n\t\tcase 'cover':\n\t\t\treturn \n\t\tdefault:\n\t\t\treturn \n\t}\n}\n\nLoading.defaultProps = {\n\tloading: false,\n\ttype: 'default',\n\tasElement: 'div',\n}\n\nLoading.propTypes = {\n\tloading: PropTypes.bool,\n\tspinnerClass: PropTypes.string,\n\ttype: PropTypes.oneOf(['default', 'cover']),\n\tcustomLoader: PropTypes.node\n}\n\nexport default Loading\n","import React, { forwardRef, useMemo, useRef, useEffect } from 'react'\nimport PropTypes from 'prop-types'\nimport { Table, Pagination, Select, Checkbox } from 'components/ui'\nimport TableRowSkeleton from './loaders/TableRowSkeleton'\nimport Loading from './Loading'\nimport { useTable, usePagination, useSortBy, useRowSelect } from 'react-table'\n\nconst { Tr, Th, Td, THead, TBody, Sorter } = Table\n\nconst IndeterminateCheckbox = forwardRef((props, ref) => {\n\n\tconst { \n\t\tindeterminate, \n\t\tonChange, \n\t\tonCheckBoxChange, \n\t\tonIndeterminateCheckBoxChange,\n\t\t...rest \n\t} = props\n\n\tconst defaultRef = useRef()\n\tconst resolvedRef = ref || defaultRef\n\n\tuseEffect(() => {\n\t\tresolvedRef.current.indeterminate = indeterminate\n\t}, [resolvedRef, indeterminate])\n\n\tconst handleChange = (e) => {\n\t\tonChange(e)\n\t\tonCheckBoxChange?.(e)\n\t\tonIndeterminateCheckBoxChange?.(e)\n\t}\n\n\treturn (\n\t\t handleChange(e)}\n\t\t\t{...rest} \n\t\t/>\n\t)\n})\n\nconst DataTable = (props) => {\n\n\tconst {\n\t\tskeletonAvatarColumns,\n\t\tcolumns, \n\t\tdata,\n\t\tloading,\n\t\tonCheckBoxChange,\n\t\tonIndeterminateCheckBoxChange,\n\t\tonPaginationChange,\n\t\tonSelectChange,\n\t\tonSort,\n\t\tpageSizes,\n\t\tselectable,\n\t\tskeletonAvatarProps,\n\t\tpagingData,\n\t\tautoResetSelectedRows\n\t} = props\n\n\tconst { pageSize, pageIndex, total } = pagingData\n\n\tconst pageSizeOption = useMemo(() => pageSizes.map(\n\t\tnumber => ({value: number, label: `${number} / page`})\n\t), [pageSizes])\n\n\tconst handleCheckBoxChange = (checked, row) => {\n\t\tif(!loading) {\n\t\t\tonCheckBoxChange?.(checked, row)\n\t\t}\n\t}\n\n\tconst handleIndeterminateCheckBoxChange = (checked, rows) => {\n\t\tif(!loading) {\n\t\t\tonIndeterminateCheckBoxChange?.(checked, rows)\n\t\t}\n\t}\n\n\tconst {\n\t\tgetTableProps,\n\t\tgetTableBodyProps,\n\t\theaderGroups,\n\t\tprepareRow,\n\t\tpage,\n\t} = useTable(\n\t\t{\n\t\t\tcolumns,\n\t\t\tdata,\n\t\t\tmanualPagination: true,\n\t\t\tmanualSortBy: true,\n\t\t\tautoResetSelectedRows\n\t\t},\n\t\tuseSortBy,\n\t\tusePagination,\n\t\tuseRowSelect,\n\t\thooks => {\n\t\t\tif(selectable) {\n\t\t\t\thooks.visibleColumns.push(columns => [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'selection',\n\t\t\t\t\t\tHeader: (props) => (\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t handleIndeterminateCheckBoxChange(e.target.checked, props.rows)}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t),\n\t\t\t\t\t\tCell: ({ row }) => (\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t handleCheckBoxChange(e.target.checked, row.original)}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t),\n\t\t\t\t\t\tsortable: false,\n\t\t\t\t\t},\n\t\t\t\t\t...columns,\n\t\t\t\t])\n\t\t\t}\n\t\t}\n\t)\n\n\tconst handlePaginationChange = page => {\n\t\tif(!loading) {\n\t\t\tonPaginationChange?.(page)\n\t\t}\n\t}\n\n\tconst handleSelectChange = value => {\n\t\tif(!loading) {\n\t\t\tonSelectChange?.(Number(value))\n\t\t}\n\t}\n\n\tconst handleSort = column => {\n\t\tif(!loading) {\n\t\t\tconst { id, isSortedDesc, toggleSortBy, clearSortBy } = column\n\t\t\tconst sortOrder = isSortedDesc ? 'desc' : 'asc'\n\t\t\ttoggleSortBy(!isSortedDesc)\n\t\t\tonSort?.({order: sortOrder, key: id}, {id, clearSortBy})\n\t\t}\n\t}\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{headerGroups.map(headerGroup => (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{headerGroup.headers.map(column => (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\n\t\t\t\t\t))}\n\t\t\t\t\n\t\t\t\t{\n\t\t\t\t\tloading && data.length === 0 ? \n\t\t\t\t\t(\n\t\t\t\t\t\t\n\t\t\t\t\t)\n\t\t\t\t\t:\n\t\t\t\t\t(\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{page.map((row, i) => {\n\t\t\t\t\t\t\t\tprepareRow(row)\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{row.cells.map(cell => {\n\t\t\t\t\t\t\t\t\t\t\treturn \n\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t
\n\t\t\t\t\t\t\t\t\t{column.render('Header') && (\n\t\t\t\t\t\t\t\t\t\tcolumn.sortable ? (\n\t\t\t\t\t\t\t\t\t\t\t
handleSort(column)}>\n\t\t\t\t\t\t\t\t\t\t\t\t{column.render('Header')}\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t:\n\t\t\t\t\t\t\t\t\t\t(\n\t\t\t\t\t\t\t\t\t\t\t
{column.render('Header')}
\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t
{cell.render('Cell')}
\n\t\t\t
\n\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\t option.value === pageSize)} \n\t\t\t\t\t\toptions={pageSizeOption}\n\t\t\t\t\t\tonChange={option => handleSelectChange(option.value)}\n\t\t\t\t\t/>\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t)\n}\n\nDataTable.propTypes = {\n\tcolumns: PropTypes.array,\n\tdata: PropTypes.array,\n\tloading: PropTypes.bool,\n\tonCheckBoxChange: PropTypes.func,\n\tonIndeterminateCheckBoxChange: PropTypes.func,\n\tonPaginationChange: PropTypes.func,\n\tonSelectChange: PropTypes.func,\n\tonSort: PropTypes.func,\n\tpageSizes: PropTypes.arrayOf(PropTypes.number),\n\tselectable: PropTypes.bool,\n\tskeletonAvatarColumns: PropTypes.arrayOf(PropTypes.number),\n\tskeletonAvatarProps: PropTypes.object,\n\tpagingData: PropTypes.shape({\n\t\ttotal: PropTypes.number,\n\t\tpageIndex: PropTypes.number,\n\t\tpageSize: PropTypes.number,\n\t}),\n\tautoResetSelectedRows: PropTypes.bool\n}\n\nDataTable.defaultProps = {\n\tpageSizes: [10, 25, 50, 100],\n\tpagingData: {\n\t\ttotal: 0,\n\t\tpageIndex: 1,\n\t\tpageSize: 10,\n\t},\n\tdata: [],\n\tcolumns: [],\n\tselectable: false,\n\tloading: false,\n\tautoResetSelectedRows: true,\n}\n\n\nexport default DataTable","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { useSelector } from 'react-redux'\nimport { THEME_ENUM } from 'constants/theme.constant'\n\nconst { MODE_DARK } = THEME_ENUM\n\nconst DoubleSidedImage = ({src, darkModeSrc, alt, ...rest}) => {\n\n\tconst mode = useSelector((state) => state.theme.mode)\n\n\treturn (\n\t\t{alt}\n\t)\n}\n\nDoubleSidedImage.propTypes = {\n\tdarkModeSrc: PropTypes.string\n}\n\nexport default DoubleSidedImage","/**\n * react-number-format - 4.9.4\n * Author : Sudhanshu Yadav\n * Copyright (c) 2016, 2022 to Sudhanshu Yadav, released under the MIT license.\n * https://github.com/s-yadav/react-number-format\n */\n\nimport React from 'react';\n\n// \n\n \n\n// basic noop function\nfunction noop() {}\nfunction returnTrue() {\n return true;\n}\n\nfunction charIsNumber(char ) {\n return !!(char || '').match(/\\d/);\n}\n\nfunction isNil(val ) {\n return val === null || val === undefined;\n}\n\nfunction escapeRegExp(str ) {\n return str.replace(/[-[\\]/{}()*+?.\\\\^$|]/g, '\\\\$&');\n}\n\nfunction getThousandsGroupRegex(thousandsGroupStyle ) {\n switch (thousandsGroupStyle) {\n case 'lakh':\n return /(\\d+?)(?=(\\d\\d)+(\\d)(?!\\d))(\\.\\d+)?/g;\n case 'wan':\n return /(\\d)(?=(\\d{4})+(?!\\d))/g;\n case 'thousand':\n default:\n return /(\\d)(?=(\\d{3})+(?!\\d))/g;\n }\n}\n\nfunction applyThousandSeparator(\n str ,\n thousandSeparator ,\n thousandsGroupStyle \n) {\n var thousandsGroupRegex = getThousandsGroupRegex(thousandsGroupStyle);\n var index = str.search(/[1-9]/);\n index = index === -1 ? str.length : index;\n return (\n str.substring(0, index) +\n str.substring(index, str.length).replace(thousandsGroupRegex, '$1' + thousandSeparator)\n );\n}\n\n//spilt a float number into different parts beforeDecimal, afterDecimal, and negation\nfunction splitDecimal(numStr , allowNegative) {\n if ( allowNegative === void 0 ) allowNegative = true;\n\n var hasNagation = numStr[0] === '-';\n var addNegation = hasNagation && allowNegative;\n numStr = numStr.replace('-', '');\n\n var parts = numStr.split('.');\n var beforeDecimal = parts[0];\n var afterDecimal = parts[1] || '';\n\n return {\n beforeDecimal: beforeDecimal,\n afterDecimal: afterDecimal,\n hasNagation: hasNagation,\n addNegation: addNegation,\n };\n}\n\nfunction fixLeadingZero(numStr ) {\n if (!numStr) { return numStr; }\n var isNegative = numStr[0] === '-';\n if (isNegative) { numStr = numStr.substring(1, numStr.length); }\n var parts = numStr.split('.');\n var beforeDecimal = parts[0].replace(/^0+/, '') || '0';\n var afterDecimal = parts[1] || '';\n\n return (\"\" + (isNegative ? '-' : '') + beforeDecimal + (afterDecimal ? (\".\" + afterDecimal) : ''));\n}\n\n/**\n * limit decimal numbers to given scale\n * Not used .fixedTo because that will break with big numbers\n */\nfunction limitToScale(numStr , scale , fixedDecimalScale ) {\n var str = '';\n var filler = fixedDecimalScale ? '0' : '';\n for (var i = 0; i <= scale - 1; i++) {\n str += numStr[i] || filler;\n }\n return str;\n}\n\nfunction repeat(str, count) {\n return Array(count + 1).join(str);\n}\n\nfunction toNumericString(num) {\n num += ''; // typecast number to string\n\n // store the sign and remove it from the number.\n var sign = num[0] === '-' ? '-' : '';\n if (sign) { num = num.substring(1); }\n\n // split the number into cofficient and exponent\n var ref = num.split(/[eE]/g);\n var coefficient = ref[0];\n var exponent = ref[1];\n\n // covert exponent to number;\n exponent = Number(exponent);\n\n // if there is no exponent part or its 0, return the coffiecient with sign\n if (!exponent) { return sign + coefficient; }\n\n coefficient = coefficient.replace('.', '');\n\n /**\n * for scientific notation the current decimal index will be after first number (index 0)\n * So effective decimal index will always be 1 + exponent value\n */\n var decimalIndex = 1 + exponent;\n\n var coffiecientLn = coefficient.length;\n\n if (decimalIndex < 0) {\n // if decimal index is less then 0 add preceding 0s\n // add 1 as join will have\n coefficient = '0.' + repeat('0', Math.abs(decimalIndex)) + coefficient;\n } else if (decimalIndex >= coffiecientLn) {\n // if decimal index is less then 0 add leading 0s\n coefficient = coefficient + repeat('0', decimalIndex - coffiecientLn);\n } else {\n // else add decimal point at proper index\n coefficient =\n (coefficient.substring(0, decimalIndex) || '0') + '.' + coefficient.substring(decimalIndex);\n }\n\n return sign + coefficient;\n}\n\n/**\n * This method is required to round prop value to given scale.\n * Not used .round or .fixedTo because that will break with big numbers\n */\nfunction roundToPrecision(numStr , scale , fixedDecimalScale ) {\n //if number is empty don't do anything return empty string\n if (['', '-'].indexOf(numStr) !== -1) { return numStr; }\n\n var shoudHaveDecimalSeparator = numStr.indexOf('.') !== -1 && scale;\n var ref = splitDecimal(numStr);\n var beforeDecimal = ref.beforeDecimal;\n var afterDecimal = ref.afterDecimal;\n var hasNagation = ref.hasNagation;\n var floatValue = parseFloat((\"0.\" + (afterDecimal || '0')));\n var floatValueStr =\n afterDecimal.length <= scale ? (\"0.\" + afterDecimal) : floatValue.toFixed(scale);\n var roundedDecimalParts = floatValueStr.split('.');\n var intPart = beforeDecimal\n .split('')\n .reverse()\n .reduce(function (roundedStr, current, idx) {\n if (roundedStr.length > idx) {\n return (\n (Number(roundedStr[0]) + Number(current)).toString() +\n roundedStr.substring(1, roundedStr.length)\n );\n }\n return current + roundedStr;\n }, roundedDecimalParts[0]);\n\n var decimalPart = limitToScale(\n roundedDecimalParts[1] || '',\n Math.min(scale, afterDecimal.length),\n fixedDecimalScale\n );\n var negation = hasNagation ? '-' : '';\n var decimalSeparator = shoudHaveDecimalSeparator ? '.' : '';\n return (\"\" + negation + intPart + decimalSeparator + decimalPart);\n}\n\n/** set the caret positon in an input field **/\nfunction setCaretPosition(el , caretPos ) {\n el.value = el.value;\n // ^ this is used to not only get 'focus', but\n // to make sure we don't have it everything -selected-\n // (it causes an issue in chrome, and having it doesn't hurt any other browser)\n if (el !== null) {\n if (el.createTextRange) {\n var range = el.createTextRange();\n range.move('character', caretPos);\n range.select();\n return true;\n }\n // (el.selectionStart === 0 added for Firefox bug)\n if (el.selectionStart || el.selectionStart === 0) {\n el.focus();\n el.setSelectionRange(caretPos, caretPos);\n return true;\n }\n\n // fail city, fortunately this never happens (as far as I've tested) :)\n el.focus();\n return false;\n }\n}\n\n/**\n Given previous value and newValue it returns the index\n start - end to which values have changed.\n This function makes assumption about only consecutive\n characters are changed which is correct assumption for caret input.\n*/\nfunction findChangedIndex(prevValue , newValue ) {\n var i = 0,\n j = 0;\n var prevLength = prevValue.length;\n var newLength = newValue.length;\n while (prevValue[i] === newValue[i] && i < prevLength) { i++; }\n\n //check what has been changed from last\n while (\n prevValue[prevLength - 1 - j] === newValue[newLength - 1 - j] &&\n newLength - j > i &&\n prevLength - j > i\n ) {\n j++;\n }\n\n return { start: i, end: prevLength - j };\n}\n\n/*\n Returns a number whose value is limited to the given range\n*/\nfunction clamp(num , min , max ) {\n return Math.min(Math.max(num, min), max);\n}\n\nfunction getCurrentCaretPosition(el ) {\n /*Max of selectionStart and selectionEnd is taken for the patch of pixel and other mobile device caret bug*/\n return Math.max(el.selectionStart, el.selectionEnd);\n}\n\nfunction addInputMode(format ) {\n return (\n format ||\n (typeof navigator !== 'undefined' &&\n !(navigator.platform && /iPhone|iPod/.test(navigator.platform)))\n );\n}\n\n// \nfunction objectWithoutProperties (obj, exclude) { var target = {}; for (var k in obj) if (Object.prototype.hasOwnProperty.call(obj, k) && exclude.indexOf(k) === -1) target[k] = obj[k]; return target; }\n\nvar defaultProps = {\n displayType: 'input',\n decimalSeparator: '.',\n thousandsGroupStyle: 'thousand',\n fixedDecimalScale: false,\n prefix: '',\n suffix: '',\n allowNegative: true,\n allowEmptyFormatting: false,\n allowLeadingZeros: false,\n isNumericString: false,\n type: 'text',\n onValueChange: noop,\n onChange: noop,\n onKeyDown: noop,\n onMouseUp: noop,\n onFocus: noop,\n onBlur: noop,\n isAllowed: returnTrue,\n};\nvar NumberFormat = /*@__PURE__*/(function (superclass) {\n function NumberFormat(props ) {\n superclass.call(this, props);\n var defaultValue = props.defaultValue;\n\n //validate props\n this.validateProps();\n\n var formattedValue = this.formatValueProp(defaultValue);\n\n this.state = {\n value: formattedValue,\n numAsString: this.removeFormatting(formattedValue),\n mounted: false,\n };\n\n this.selectionBeforeInput = {\n selectionStart: 0,\n selectionEnd: 0,\n };\n\n this.onChange = this.onChange.bind(this);\n this.onKeyDown = this.onKeyDown.bind(this);\n this.onMouseUp = this.onMouseUp.bind(this);\n this.onFocus = this.onFocus.bind(this);\n this.onBlur = this.onBlur.bind(this);\n }\n\n if ( superclass ) NumberFormat.__proto__ = superclass;\n NumberFormat.prototype = Object.create( superclass && superclass.prototype );\n NumberFormat.prototype.constructor = NumberFormat;\n\n NumberFormat.prototype.componentDidMount = function componentDidMount () {\n // set mounted state\n // eslint-disable-next-line react/no-did-mount-set-state\n this.setState({\n mounted: true,\n });\n };\n\n NumberFormat.prototype.componentDidUpdate = function componentDidUpdate (prevProps ) {\n this.updateValueIfRequired(prevProps);\n };\n\n NumberFormat.prototype.componentWillUnmount = function componentWillUnmount () {\n clearTimeout(this.focusTimeout);\n clearTimeout(this.caretPositionTimeout);\n };\n\n NumberFormat.prototype.updateValueIfRequired = function updateValueIfRequired (prevProps ) {\n var ref = this;\n var props = ref.props;\n var state = ref.state;\n var focusedElm = ref.focusedElm;\n var stateValue = state.value;\n var lastNumStr = state.numAsString; if ( lastNumStr === void 0 ) lastNumStr = '';\n\n // If only state changed no need to do any thing\n if (prevProps !== props) {\n //validate props\n this.validateProps();\n\n var lastValueWithNewFormat = this.formatNumString(lastNumStr);\n\n var formattedValue = isNil(props.value) ? lastValueWithNewFormat : this.formatValueProp();\n var numAsString = this.removeFormatting(formattedValue);\n\n var floatValue = parseFloat(numAsString);\n var lastFloatValue = parseFloat(lastNumStr);\n\n if (\n //while typing set state only when float value changes\n ((!isNaN(floatValue) || !isNaN(lastFloatValue)) && floatValue !== lastFloatValue) ||\n //can also set state when float value is same and the format props changes\n lastValueWithNewFormat !== stateValue ||\n //set state always when not in focus and formatted value is changed\n (focusedElm === null && formattedValue !== stateValue)\n ) {\n this.updateValue({\n formattedValue: formattedValue,\n numAsString: numAsString,\n input: focusedElm,\n source: 'prop',\n event: null,\n });\n }\n }\n };\n\n /** Misc methods **/\n NumberFormat.prototype.getFloatString = function getFloatString (num) {\n if ( num === void 0 ) num = '';\n\n var ref = this.props;\n var decimalScale = ref.decimalScale;\n var ref$1 = this.getSeparators();\n var decimalSeparator = ref$1.decimalSeparator;\n var numRegex = this.getNumberRegex(true);\n\n //remove negation for regex check\n var hasNegation = num[0] === '-';\n if (hasNegation) { num = num.replace('-', ''); }\n\n //if decimal scale is zero remove decimal and number after decimalSeparator\n if (decimalSeparator && decimalScale === 0) {\n num = num.split(decimalSeparator)[0];\n }\n\n num = (num.match(numRegex) || []).join('').replace(decimalSeparator, '.');\n\n //remove extra decimals\n var firstDecimalIndex = num.indexOf('.');\n\n if (firstDecimalIndex !== -1) {\n num = (num.substring(0, firstDecimalIndex)) + \".\" + (num\n .substring(firstDecimalIndex + 1, num.length)\n .replace(new RegExp(escapeRegExp(decimalSeparator), 'g'), ''));\n }\n\n //add negation back\n if (hasNegation) { num = '-' + num; }\n\n return num;\n };\n\n //returned regex assumes decimalSeparator is as per prop\n NumberFormat.prototype.getNumberRegex = function getNumberRegex (g , ignoreDecimalSeparator ) {\n var ref = this.props;\n var format = ref.format;\n var decimalScale = ref.decimalScale;\n var customNumerals = ref.customNumerals;\n var ref$1 = this.getSeparators();\n var decimalSeparator = ref$1.decimalSeparator;\n return new RegExp(\n '[0-9' +\n (customNumerals ? customNumerals.join('') : '') +\n ']' +\n (decimalSeparator && decimalScale !== 0 && !ignoreDecimalSeparator && !format\n ? '|' + escapeRegExp(decimalSeparator)\n : ''),\n g ? 'g' : undefined\n );\n };\n\n NumberFormat.prototype.getSeparators = function getSeparators () {\n var ref = this.props;\n var decimalSeparator = ref.decimalSeparator;\n var ref$1 = this.props;\n var thousandSeparator = ref$1.thousandSeparator;\n var allowedDecimalSeparators = ref$1.allowedDecimalSeparators;\n\n if (thousandSeparator === true) {\n thousandSeparator = ',';\n }\n if (!allowedDecimalSeparators) {\n allowedDecimalSeparators = [decimalSeparator, '.'];\n }\n\n return {\n decimalSeparator: decimalSeparator,\n thousandSeparator: thousandSeparator,\n allowedDecimalSeparators: allowedDecimalSeparators,\n };\n };\n\n NumberFormat.prototype.getMaskAtIndex = function getMaskAtIndex (index ) {\n var ref = this.props;\n var mask = ref.mask; if ( mask === void 0 ) mask = ' ';\n if (typeof mask === 'string') {\n return mask;\n }\n\n return mask[index] || ' ';\n };\n\n NumberFormat.prototype.getValueObject = function getValueObject (formattedValue , numAsString ) {\n var floatValue = parseFloat(numAsString);\n\n return {\n formattedValue: formattedValue,\n value: numAsString,\n floatValue: isNaN(floatValue) ? undefined : floatValue,\n };\n };\n\n NumberFormat.prototype.validateProps = function validateProps () {\n var ref = this.props;\n var mask = ref.mask;\n\n //validate decimalSeparator and thousandSeparator\n var ref$1 = this.getSeparators();\n var decimalSeparator = ref$1.decimalSeparator;\n var thousandSeparator = ref$1.thousandSeparator;\n\n if (decimalSeparator === thousandSeparator) {\n throw new Error((\"\\n Decimal separator can't be same as thousand separator.\\n thousandSeparator: \" + thousandSeparator + \" (thousandSeparator = {true} is same as thousandSeparator = \\\",\\\")\\n decimalSeparator: \" + decimalSeparator + \" (default value for decimalSeparator is .)\\n \"));\n }\n\n //validate mask\n if (mask) {\n var maskAsStr = mask === 'string' ? mask : mask.toString();\n if (maskAsStr.match(/\\d/g)) {\n throw new Error((\"\\n Mask \" + mask + \" should not contain numeric character;\\n \"));\n }\n }\n };\n /** Misc methods end **/\n\n /** caret specific methods **/\n NumberFormat.prototype.setPatchedCaretPosition = function setPatchedCaretPosition (el , caretPos , currentValue ) {\n /* setting caret position within timeout of 0ms is required for mobile chrome,\n otherwise browser resets the caret position after we set it\n We are also setting it without timeout so that in normal browser we don't see the flickering */\n setCaretPosition(el, caretPos);\n this.caretPositionTimeout = setTimeout(function () {\n if (el.value === currentValue) { setCaretPosition(el, caretPos); }\n }, 0);\n };\n\n /* This keeps the caret within typing area so people can't type in between prefix or suffix */\n NumberFormat.prototype.correctCaretPosition = function correctCaretPosition (value , caretPos , direction ) {\n var ref = this.props;\n var prefix = ref.prefix;\n var suffix = ref.suffix;\n var format = ref.format;\n\n //if value is empty return 0\n if (value === '') { return 0; }\n\n //caret position should be between 0 and value length\n caretPos = clamp(caretPos, 0, value.length);\n\n //in case of format as number limit between prefix and suffix\n if (!format) {\n var hasNegation = value[0] === '-';\n return clamp(caretPos, prefix.length + (hasNegation ? 1 : 0), value.length - suffix.length);\n }\n\n //in case if custom format method don't do anything\n if (typeof format === 'function') { return caretPos; }\n\n /* in case format is string find the closest # position from the caret position */\n\n //in case the caretPos have input value on it don't do anything\n if (format[caretPos] === '#' && charIsNumber(value[caretPos])) {\n return caretPos;\n }\n\n //if caretPos is just after input value don't do anything\n if (format[caretPos - 1] === '#' && charIsNumber(value[caretPos - 1])) {\n return caretPos;\n }\n\n //find the nearest caret position\n var firstHashPosition = format.indexOf('#');\n var lastHashPosition = format.lastIndexOf('#');\n\n //limit the cursor between the first # position and the last # position\n caretPos = clamp(caretPos, firstHashPosition, lastHashPosition + 1);\n\n var nextPos = format.substring(caretPos, format.length).indexOf('#');\n var caretLeftBound = caretPos;\n var caretRightBound = caretPos + (nextPos === -1 ? 0 : nextPos);\n\n //get the position where the last number is present\n while (\n caretLeftBound > firstHashPosition &&\n (format[caretLeftBound] !== '#' || !charIsNumber(value[caretLeftBound]))\n ) {\n caretLeftBound -= 1;\n }\n\n var goToLeft =\n !charIsNumber(value[caretRightBound]) ||\n (direction === 'left' && caretPos !== firstHashPosition) ||\n caretPos - caretLeftBound < caretRightBound - caretPos;\n\n if (goToLeft) {\n //check if number should be taken after the bound or after it\n //if number preceding a valid number keep it after\n return charIsNumber(value[caretLeftBound]) ? caretLeftBound + 1 : caretLeftBound;\n }\n\n return caretRightBound;\n };\n\n NumberFormat.prototype.getCaretPosition = function getCaretPosition (inputValue , formattedValue , caretPos ) {\n var ref = this.props;\n var format = ref.format;\n var stateValue = this.state.value;\n var numRegex = this.getNumberRegex(true);\n var inputNumber = (inputValue.match(numRegex) || []).join('');\n var formattedNumber = (formattedValue.match(numRegex) || []).join('');\n var j, i;\n\n j = 0;\n\n for (i = 0; i < caretPos; i++) {\n var currentInputChar = inputValue[i] || '';\n var currentFormatChar = formattedValue[j] || '';\n //no need to increase new cursor position if formatted value does not have those characters\n //case inputValue = 1a23 and formattedValue = 123\n if (!currentInputChar.match(numRegex) && currentInputChar !== currentFormatChar) {\n continue;\n }\n\n //When we are striping out leading zeros maintain the new cursor position\n //Case inputValue = 00023 and formattedValue = 23;\n if (\n currentInputChar === '0' &&\n currentFormatChar.match(numRegex) &&\n currentFormatChar !== '0' &&\n inputNumber.length !== formattedNumber.length\n ) {\n continue;\n }\n\n //we are not using currentFormatChar because j can change here\n while (currentInputChar !== formattedValue[j] && j < formattedValue.length) {\n j++;\n }\n j++;\n }\n\n if (typeof format === 'string' && !stateValue) {\n //set it to the maximum value so it goes after the last number\n j = formattedValue.length;\n }\n\n //correct caret position if its outside of editable area\n j = this.correctCaretPosition(formattedValue, j);\n\n return j;\n };\n /** caret specific methods ends **/\n\n /** methods to remove formattting **/\n NumberFormat.prototype.removePrefixAndSuffix = function removePrefixAndSuffix (val ) {\n var ref = this.props;\n var format = ref.format;\n var prefix = ref.prefix;\n var suffix = ref.suffix;\n\n //remove prefix and suffix\n if (!format && val) {\n var isNegative = val[0] === '-';\n\n //remove negation sign\n if (isNegative) { val = val.substring(1, val.length); }\n\n //remove prefix\n val = prefix && val.indexOf(prefix) === 0 ? val.substring(prefix.length, val.length) : val;\n\n //remove suffix\n var suffixLastIndex = val.lastIndexOf(suffix);\n val =\n suffix && suffixLastIndex !== -1 && suffixLastIndex === val.length - suffix.length\n ? val.substring(0, suffixLastIndex)\n : val;\n\n //add negation sign back\n if (isNegative) { val = '-' + val; }\n }\n\n return val;\n };\n\n NumberFormat.prototype.removePatternFormatting = function removePatternFormatting (val ) {\n var ref = this.props;\n var format = ref.format;\n var formatArray = format.split('#').filter(function (str) { return str !== ''; });\n var start = 0;\n var numStr = '';\n\n for (var i = 0, ln = formatArray.length; i <= ln; i++) {\n var part = formatArray[i] || '';\n\n //if i is the last fragment take the index of end of the value\n //For case like +1 (911) 911 91 91 having pattern +1 (###) ### ## ##\n var index = i === ln ? val.length : val.indexOf(part, start);\n\n /* in any case if we don't find the pattern part in the value assume the val as numeric string\n This will be also in case if user has started typing, in any other case it will not be -1\n unless wrong prop value is provided */\n if (index === -1) {\n numStr = val;\n break;\n } else {\n numStr += val.substring(start, index);\n start = index + part.length;\n }\n }\n\n return (numStr.match(this.getNumberRegex(true)) || []).join('');\n };\n\n NumberFormat.prototype.removeFormatting = function removeFormatting (val ) {\n var ref = this.props;\n var format = ref.format;\n var removeFormatting = ref.removeFormatting;\n if (!val) { return val; }\n\n if (!format) {\n val = this.removePrefixAndSuffix(val);\n val = this.getFloatString(val);\n } else if (typeof format === 'string') {\n val = this.removePatternFormatting(val);\n } else if (typeof removeFormatting === 'function') {\n //condition need to be handled if format method is provide,\n val = removeFormatting(val);\n } else {\n val = (val.match(this.getNumberRegex(true)) || []).join('');\n }\n return val;\n };\n /** methods to remove formattting end **/\n\n /*** format specific methods start ***/\n /**\n * Format when # based string is provided\n * @param {string} numStr Numeric String\n * @return {string} formatted Value\n */\n NumberFormat.prototype.formatWithPattern = function formatWithPattern (numStr ) {\n var ref = this.props;\n var format = ref.format;\n var hashCount = 0;\n var formattedNumberAry = format.split('');\n for (var i = 0, ln = format.length; i < ln; i++) {\n if (format[i] === '#') {\n formattedNumberAry[i] = numStr[hashCount] || this.getMaskAtIndex(hashCount);\n hashCount += 1;\n }\n }\n return formattedNumberAry.join('');\n };\n /**\n * @param {string} numStr Numeric string/floatString] It always have decimalSeparator as .\n * @return {string} formatted Value\n */\n NumberFormat.prototype.formatAsNumber = function formatAsNumber (numStr ) {\n var ref = this.props;\n var decimalScale = ref.decimalScale;\n var fixedDecimalScale = ref.fixedDecimalScale;\n var prefix = ref.prefix;\n var suffix = ref.suffix;\n var allowNegative = ref.allowNegative;\n var thousandsGroupStyle = ref.thousandsGroupStyle;\n var ref$1 = this.getSeparators();\n var thousandSeparator = ref$1.thousandSeparator;\n var decimalSeparator = ref$1.decimalSeparator;\n\n var hasDecimalSeparator = numStr.indexOf('.') !== -1 || (decimalScale && fixedDecimalScale);\n var ref$2 = splitDecimal(numStr, allowNegative);\n var beforeDecimal = ref$2.beforeDecimal;\n var afterDecimal = ref$2.afterDecimal;\n var addNegation = ref$2.addNegation; // eslint-disable-line prefer-const\n\n //apply decimal precision if its defined\n if (decimalScale !== undefined) {\n afterDecimal = limitToScale(afterDecimal, decimalScale, fixedDecimalScale);\n }\n\n if (thousandSeparator) {\n beforeDecimal = applyThousandSeparator(beforeDecimal, thousandSeparator, thousandsGroupStyle);\n }\n\n //add prefix and suffix\n if (prefix) { beforeDecimal = prefix + beforeDecimal; }\n if (suffix) { afterDecimal = afterDecimal + suffix; }\n\n //restore negation sign\n if (addNegation) { beforeDecimal = '-' + beforeDecimal; }\n\n numStr = beforeDecimal + ((hasDecimalSeparator && decimalSeparator) || '') + afterDecimal;\n\n return numStr;\n };\n\n NumberFormat.prototype.formatNumString = function formatNumString (numStr) {\n if ( numStr === void 0 ) numStr = '';\n\n var ref = this.props;\n var format = ref.format;\n var allowEmptyFormatting = ref.allowEmptyFormatting;\n var customNumerals = ref.customNumerals;\n var formattedValue = numStr;\n\n if (customNumerals && customNumerals.length === 10) {\n var customNumeralRegex = new RegExp('[' + customNumerals.join('') + ']', 'g');\n formattedValue = numStr.replace(customNumeralRegex, function (digit) { return customNumerals.indexOf(digit).toString(); }\n );\n }\n\n if (numStr === '' && !allowEmptyFormatting) {\n formattedValue = '';\n } else if (numStr === '-' && !format) {\n formattedValue = '-';\n } else if (typeof format === 'string') {\n formattedValue = this.formatWithPattern(formattedValue);\n } else if (typeof format === 'function') {\n formattedValue = format(formattedValue);\n } else {\n formattedValue = this.formatAsNumber(formattedValue);\n }\n\n return formattedValue;\n };\n\n NumberFormat.prototype.formatValueProp = function formatValueProp (defaultValue ) {\n var ref = this.props;\n var format = ref.format;\n var decimalScale = ref.decimalScale;\n var fixedDecimalScale = ref.fixedDecimalScale;\n var allowEmptyFormatting = ref.allowEmptyFormatting;\n var ref$1 = this.props;\n var value = ref$1.value;\n var isNumericString = ref$1.isNumericString;\n\n // if value is undefined or null, use defaultValue instead\n value = isNil(value) ? defaultValue : value;\n\n var isNonNumericFalsy = !value && value !== 0;\n\n if (isNonNumericFalsy && allowEmptyFormatting) {\n value = '';\n }\n\n // if value is not defined return empty string\n if (isNonNumericFalsy && !allowEmptyFormatting) { return ''; }\n\n if (typeof value === 'number') {\n value = toNumericString(value);\n isNumericString = true;\n }\n\n //change infinity value to empty string\n if (value === 'Infinity' && isNumericString) {\n value = '';\n }\n\n //round the number based on decimalScale\n //format only if non formatted value is provided\n if (isNumericString && !format && typeof decimalScale === 'number') {\n value = roundToPrecision(value, decimalScale, fixedDecimalScale);\n }\n\n var formattedValue = isNumericString ? this.formatNumString(value) : this.formatInput(value);\n\n return formattedValue;\n };\n\n NumberFormat.prototype.formatNegation = function formatNegation (value) {\n if ( value === void 0 ) value = '';\n\n var ref = this.props;\n var allowNegative = ref.allowNegative;\n var negationRegex = new RegExp('(-)');\n var doubleNegationRegex = new RegExp('(-)(.)*(-)');\n\n // Check number has '-' value\n var hasNegation = negationRegex.test(value);\n\n // Check number has 2 or more '-' values\n var removeNegation = doubleNegationRegex.test(value);\n\n //remove negation\n value = value.replace(/-/g, '');\n\n if (hasNegation && !removeNegation && allowNegative) {\n value = '-' + value;\n }\n\n return value;\n };\n\n NumberFormat.prototype.formatInput = function formatInput (value) {\n if ( value === void 0 ) value = '';\n\n var ref = this.props;\n var format = ref.format;\n\n //format negation only if we are formatting as number\n if (!format) {\n value = this.removePrefixAndSuffix(value);\n value = this.formatNegation(value);\n }\n\n //remove formatting from number\n value = this.removeFormatting(value);\n\n return this.formatNumString(value);\n };\n\n /*** format specific methods end ***/\n NumberFormat.prototype.isCharacterAFormat = function isCharacterAFormat (caretPos , value ) {\n var ref = this.props;\n var format = ref.format;\n var prefix = ref.prefix;\n var suffix = ref.suffix;\n var decimalScale = ref.decimalScale;\n var fixedDecimalScale = ref.fixedDecimalScale;\n var ref$1 = this.getSeparators();\n var decimalSeparator = ref$1.decimalSeparator;\n\n //check within format pattern\n if (typeof format === 'string' && format[caretPos] !== '#') { return true; }\n\n //check in number format\n if (\n !format &&\n (caretPos < prefix.length ||\n caretPos >= value.length - suffix.length ||\n (decimalScale && fixedDecimalScale && value[caretPos] === decimalSeparator))\n ) {\n return true;\n }\n\n return false;\n };\n\n /**\n * This will check if any formatting got removed by the delete or backspace and reset the value\n * It will also work as fallback if android chome keyDown handler does not work\n **/\n NumberFormat.prototype.correctInputValue = function correctInputValue (caretPos , lastValue , value ) {\n var this$1 = this;\n\n var ref = this.props;\n var format = ref.format;\n var allowNegative = ref.allowNegative;\n var prefix = ref.prefix;\n var suffix = ref.suffix;\n var decimalScale = ref.decimalScale;\n var ref$1 = this.getSeparators();\n var allowedDecimalSeparators = ref$1.allowedDecimalSeparators;\n var decimalSeparator = ref$1.decimalSeparator;\n var lastNumStr = this.state.numAsString || '';\n var ref$2 = this.selectionBeforeInput;\n var selectionStart = ref$2.selectionStart;\n var selectionEnd = ref$2.selectionEnd;\n var ref$3 = findChangedIndex(lastValue, value);\n var start = ref$3.start;\n var end = ref$3.end;\n\n /** Check for any allowed decimal separator is added in the numeric format and replace it with decimal separator */\n if (\n !format &&\n start === end &&\n allowedDecimalSeparators.indexOf(value[selectionStart]) !== -1\n ) {\n var separator = decimalScale === 0 ? '' : decimalSeparator;\n return (\n value.substr(0, selectionStart) + separator + value.substr(selectionStart + 1, value.length)\n );\n }\n\n var leftBound = !!format ? 0 : prefix.length;\n var rightBound = lastValue.length - (!!format ? 0 : suffix.length);\n\n if (\n // don't do anything if something got added\n value.length > lastValue.length ||\n // or if the new value is an empty string\n !value.length ||\n // or if nothing has changed, in which case start will be same as end\n start === end ||\n // or in case if whole input is selected and new value is typed\n (selectionStart === 0 && selectionEnd === lastValue.length) ||\n // or in case if the whole content is replaced by browser, example (autocomplete)\n (start === 0 && end === lastValue.length) ||\n // or if charcters between prefix and suffix is selected.\n // For numeric inputs we apply the format so, prefix and suffix can be ignored\n (selectionStart === leftBound && selectionEnd === rightBound)\n ) {\n return value;\n }\n\n // check whether the deleted portion has a character that is part of a format\n var deletedValues = lastValue.substr(start, end - start);\n var formatGotDeleted = !![].concat( deletedValues ).find(function (deletedVal, idx) { return this$1.isCharacterAFormat(idx + start, lastValue); }\n );\n\n // if it has, only remove characters that are not part of the format\n if (formatGotDeleted) {\n var deletedValuePortion = lastValue.substr(start);\n var recordIndexOfFormatCharacters = {};\n var resolvedPortion = [];\n [].concat( deletedValuePortion ).forEach(function (currentPortion, idx) {\n if (this$1.isCharacterAFormat(idx + start, lastValue)) {\n recordIndexOfFormatCharacters[idx] = currentPortion;\n } else if (idx > deletedValues.length - 1) {\n resolvedPortion.push(currentPortion);\n }\n });\n\n Object.keys(recordIndexOfFormatCharacters).forEach(function (idx) {\n if (resolvedPortion.length > idx) {\n resolvedPortion.splice(idx, 0, recordIndexOfFormatCharacters[idx]);\n } else {\n resolvedPortion.push(recordIndexOfFormatCharacters[idx]);\n }\n });\n\n value = lastValue.substr(0, start) + resolvedPortion.join('');\n }\n\n //for numbers check if beforeDecimal got deleted and there is nothing after decimal,\n //clear all numbers in such case while keeping the - sign\n if (!format) {\n var numericString = this.removeFormatting(value);\n var ref$4 = splitDecimal(\n numericString,\n allowNegative\n );\n var beforeDecimal = ref$4.beforeDecimal;\n var afterDecimal = ref$4.afterDecimal;\n var addNegation = ref$4.addNegation; // eslint-disable-line prefer-const\n\n //clear only if something got deleted\n var isBeforeDecimalPoint = caretPos < value.indexOf(decimalSeparator) + 1;\n if (\n numericString.length < lastNumStr.length &&\n isBeforeDecimalPoint &&\n beforeDecimal === '' &&\n !parseFloat(afterDecimal)\n ) {\n return addNegation ? '-' : '';\n }\n }\n\n return value;\n };\n\n /** Update value and caret position */\n NumberFormat.prototype.updateValue = function updateValue (params \n \n \n \n \n \n \n \n \n ) {\n var formattedValue = params.formattedValue;\n var input = params.input;\n var setCaretPosition = params.setCaretPosition; if ( setCaretPosition === void 0 ) setCaretPosition = true;\n var source = params.source;\n var event = params.event;\n var numAsString = params.numAsString;\n var caretPos = params.caretPos;\n var ref = this.props;\n var onValueChange = ref.onValueChange;\n var ref$1 = this.state;\n var lastValue = ref$1.value;\n\n if (input) {\n //calculate caret position if not defined\n if (caretPos === undefined && setCaretPosition) {\n var inputValue = params.inputValue || input.value;\n\n var currentCaretPosition = getCurrentCaretPosition(input);\n\n /**\n * set the value imperatively, this is required for IE fix\n * This is also required as if new caret position is beyond the previous value.\n * Caret position will not be set correctly\n */\n input.value = formattedValue;\n\n //get the caret position\n caretPos = this.getCaretPosition(inputValue, formattedValue, currentCaretPosition);\n }\n\n /**\n * set the value imperatively, as we set the caret position as well imperatively.\n * This is to keep value and caret position in sync\n */\n input.value = formattedValue;\n\n //set caret position, and value imperatively when element is provided\n if (setCaretPosition) {\n //set caret position\n this.setPatchedCaretPosition(input, caretPos, formattedValue);\n }\n }\n\n //calculate numeric string if not passed\n if (numAsString === undefined) {\n numAsString = this.removeFormatting(formattedValue);\n }\n\n //update state if value is changed\n if (formattedValue !== lastValue) {\n this.setState({ value: formattedValue, numAsString: numAsString });\n\n // trigger onValueChange synchronously, so parent is updated along with the number format. Fix for #277, #287\n onValueChange(this.getValueObject(formattedValue, numAsString), { event: event, source: source });\n }\n };\n\n NumberFormat.prototype.onChange = function onChange (e ) {\n var el = e.target;\n var inputValue = el.value;\n var ref = this;\n var state = ref.state;\n var props = ref.props;\n var isAllowed = props.isAllowed;\n var lastValue = state.value || '';\n\n var currentCaretPosition = getCurrentCaretPosition(el);\n\n inputValue = this.correctInputValue(currentCaretPosition, lastValue, inputValue);\n\n var formattedValue = this.formatInput(inputValue) || '';\n var numAsString = this.removeFormatting(formattedValue);\n\n var valueObj = this.getValueObject(formattedValue, numAsString);\n var isChangeAllowed = isAllowed(valueObj);\n\n if (!isChangeAllowed) {\n formattedValue = lastValue;\n }\n\n this.updateValue({\n formattedValue: formattedValue,\n numAsString: numAsString,\n inputValue: inputValue,\n input: el,\n event: e,\n source: 'event',\n });\n\n if (isChangeAllowed) {\n props.onChange(e);\n }\n };\n\n NumberFormat.prototype.onBlur = function onBlur (e ) {\n var ref = this;\n var props = ref.props;\n var state = ref.state;\n var format = props.format;\n var onBlur = props.onBlur;\n var allowLeadingZeros = props.allowLeadingZeros;\n var numAsString = state.numAsString;\n var lastValue = state.value;\n this.focusedElm = null;\n\n clearTimeout(this.focusTimeout);\n clearTimeout(this.caretPositionTimeout);\n\n if (!format) {\n // if the numAsString is not a valid number reset it to empty\n if (isNaN(parseFloat(numAsString))) {\n numAsString = '';\n }\n\n if (!allowLeadingZeros) {\n numAsString = fixLeadingZero(numAsString);\n }\n\n var formattedValue = this.formatNumString(numAsString);\n\n //change the state\n if (formattedValue !== lastValue) {\n // the event needs to be persisted because its properties can be accessed in an asynchronous way\n this.updateValue({\n formattedValue: formattedValue,\n numAsString: numAsString,\n input: e.target,\n setCaretPosition: false,\n event: e,\n source: 'event',\n });\n onBlur(e);\n return;\n }\n }\n onBlur(e);\n };\n\n NumberFormat.prototype.onKeyDown = function onKeyDown (e ) {\n var el = e.target;\n var key = e.key;\n var selectionStart = el.selectionStart;\n var selectionEnd = el.selectionEnd;\n var value = el.value; if ( value === void 0 ) value = '';\n var expectedCaretPosition;\n var ref = this.props;\n var decimalScale = ref.decimalScale;\n var fixedDecimalScale = ref.fixedDecimalScale;\n var prefix = ref.prefix;\n var suffix = ref.suffix;\n var format = ref.format;\n var onKeyDown = ref.onKeyDown;\n var ignoreDecimalSeparator = decimalScale !== undefined && fixedDecimalScale;\n var numRegex = this.getNumberRegex(false, ignoreDecimalSeparator);\n var negativeRegex = new RegExp('-');\n var isPatternFormat = typeof format === 'string';\n\n this.selectionBeforeInput = {\n selectionStart: selectionStart,\n selectionEnd: selectionEnd,\n };\n\n //Handle backspace and delete against non numerical/decimal characters or arrow keys\n if (key === 'ArrowLeft' || key === 'Backspace') {\n expectedCaretPosition = selectionStart - 1;\n } else if (key === 'ArrowRight') {\n expectedCaretPosition = selectionStart + 1;\n } else if (key === 'Delete') {\n expectedCaretPosition = selectionStart;\n }\n\n //if expectedCaretPosition is not set it means we don't want to Handle keyDown\n //also if multiple characters are selected don't handle\n if (expectedCaretPosition === undefined || selectionStart !== selectionEnd) {\n onKeyDown(e);\n return;\n }\n\n var newCaretPosition = expectedCaretPosition;\n var leftBound = isPatternFormat ? format.indexOf('#') : prefix.length;\n var rightBound = isPatternFormat ? format.lastIndexOf('#') + 1 : value.length - suffix.length;\n\n if (key === 'ArrowLeft' || key === 'ArrowRight') {\n var direction = key === 'ArrowLeft' ? 'left' : 'right';\n newCaretPosition = this.correctCaretPosition(value, expectedCaretPosition, direction);\n } else if (\n key === 'Delete' &&\n !numRegex.test(value[expectedCaretPosition]) &&\n !negativeRegex.test(value[expectedCaretPosition])\n ) {\n while (!numRegex.test(value[newCaretPosition]) && newCaretPosition < rightBound) {\n newCaretPosition++;\n }\n } else if (key === 'Backspace' && !numRegex.test(value[expectedCaretPosition])) {\n /* NOTE: This is special case when backspace is pressed on a\n negative value while the cursor position is after prefix. We can't handle it on onChange because\n we will not have any information of keyPress\n */\n if (selectionStart <= leftBound + 1 && value[0] === '-' && typeof format === 'undefined') {\n var newValue = value.substring(1);\n this.updateValue({\n formattedValue: newValue,\n caretPos: newCaretPosition,\n input: el,\n event: e,\n source: 'event',\n });\n } else if (!negativeRegex.test(value[expectedCaretPosition])) {\n while (!numRegex.test(value[newCaretPosition - 1]) && newCaretPosition > leftBound) {\n newCaretPosition--;\n }\n newCaretPosition = this.correctCaretPosition(value, newCaretPosition, 'left');\n }\n }\n\n if (\n newCaretPosition !== expectedCaretPosition ||\n expectedCaretPosition < leftBound ||\n expectedCaretPosition > rightBound\n ) {\n e.preventDefault();\n this.setPatchedCaretPosition(el, newCaretPosition, value);\n }\n\n /* NOTE: this is just required for unit test as we need to get the newCaretPosition,\n Remove this when you find different solution */\n if (e.isUnitTestRun) {\n this.setPatchedCaretPosition(el, newCaretPosition, value);\n }\n\n onKeyDown(e);\n };\n\n /** required to handle the caret position when click anywhere within the input **/\n NumberFormat.prototype.onMouseUp = function onMouseUp (e ) {\n var el = e.target;\n\n /**\n * NOTE: we have to give default value for value as in case when custom input is provided\n * value can come as undefined when nothing is provided on value prop.\n */\n var selectionStart = el.selectionStart;\n var selectionEnd = el.selectionEnd;\n var value = el.value; if ( value === void 0 ) value = '';\n\n if (selectionStart === selectionEnd) {\n var caretPosition = this.correctCaretPosition(value, selectionStart);\n if (caretPosition !== selectionStart) {\n this.setPatchedCaretPosition(el, caretPosition, value);\n }\n }\n\n this.props.onMouseUp(e);\n };\n\n NumberFormat.prototype.onFocus = function onFocus (e ) {\n var this$1 = this;\n\n // Workaround Chrome and Safari bug https://bugs.chromium.org/p/chromium/issues/detail?id=779328\n // (onFocus event target selectionStart is always 0 before setTimeout)\n e.persist();\n\n this.focusedElm = e.target;\n this.focusTimeout = setTimeout(function () {\n var el = e.target;\n var selectionStart = el.selectionStart;\n var selectionEnd = el.selectionEnd;\n var value = el.value; if ( value === void 0 ) value = '';\n\n var caretPosition = this$1.correctCaretPosition(value, selectionStart);\n\n //setPatchedCaretPosition only when everything is not selected on focus (while tabbing into the field)\n if (\n caretPosition !== selectionStart &&\n !(selectionStart === 0 && selectionEnd === value.length)\n ) {\n this$1.setPatchedCaretPosition(el, caretPosition, value);\n }\n\n this$1.props.onFocus(e);\n }, 0);\n };\n\n NumberFormat.prototype.render = function render () {\n var ref = this.props;\n var type = ref.type;\n var displayType = ref.displayType;\n var customInput = ref.customInput;\n var renderText = ref.renderText;\n var getInputRef = ref.getInputRef;\n var format = ref.format;\n var thousandSeparator = ref.thousandSeparator;\n var decimalSeparator = ref.decimalSeparator;\n var allowedDecimalSeparators = ref.allowedDecimalSeparators;\n var thousandsGroupStyle = ref.thousandsGroupStyle;\n var decimalScale = ref.decimalScale;\n var fixedDecimalScale = ref.fixedDecimalScale;\n var prefix = ref.prefix;\n var suffix = ref.suffix;\n var removeFormatting = ref.removeFormatting;\n var mask = ref.mask;\n var defaultValue = ref.defaultValue;\n var isNumericString = ref.isNumericString;\n var allowNegative = ref.allowNegative;\n var allowEmptyFormatting = ref.allowEmptyFormatting;\n var allowLeadingZeros = ref.allowLeadingZeros;\n var onValueChange = ref.onValueChange;\n var isAllowed = ref.isAllowed;\n var customNumerals = ref.customNumerals;\n var onChange = ref.onChange;\n var onKeyDown = ref.onKeyDown;\n var onMouseUp = ref.onMouseUp;\n var onFocus = ref.onFocus;\n var onBlur = ref.onBlur;\n var propValue = ref.value;\n var rest = objectWithoutProperties( ref, [\"type\", \"displayType\", \"customInput\", \"renderText\", \"getInputRef\", \"format\", \"thousandSeparator\", \"decimalSeparator\", \"allowedDecimalSeparators\", \"thousandsGroupStyle\", \"decimalScale\", \"fixedDecimalScale\", \"prefix\", \"suffix\", \"removeFormatting\", \"mask\", \"defaultValue\", \"isNumericString\", \"allowNegative\", \"allowEmptyFormatting\", \"allowLeadingZeros\", \"onValueChange\", \"isAllowed\", \"customNumerals\", \"onChange\", \"onKeyDown\", \"onMouseUp\", \"onFocus\", \"onBlur\", \"value\"] );\n var otherProps = rest;\n var ref$1 = this.state;\n var value = ref$1.value;\n var mounted = ref$1.mounted;\n\n // add input mode on element based on format prop and device once the component is mounted\n var inputMode = mounted && addInputMode(format) ? 'numeric' : undefined;\n\n var inputProps = Object.assign({ inputMode: inputMode }, otherProps, {\n type: type,\n value: value,\n onChange: this.onChange,\n onKeyDown: this.onKeyDown,\n onMouseUp: this.onMouseUp,\n onFocus: this.onFocus,\n onBlur: this.onBlur,\n });\n\n if (displayType === 'text') {\n return renderText ? (\n renderText(value, otherProps) || null\n ) : (\n React.createElement( 'span', Object.assign({}, otherProps, { ref: getInputRef }),\n value\n )\n );\n } else if (customInput) {\n var CustomInput = customInput;\n return React.createElement( CustomInput, Object.assign({}, inputProps, { ref: getInputRef }));\n }\n\n return React.createElement( 'input', Object.assign({}, inputProps, { ref: getInputRef }));\n };\n\n return NumberFormat;\n}(React.Component));\n\nNumberFormat.defaultProps = defaultProps;\n\nexport default NumberFormat;\n","export default function growShrinkColor (value, type) {\n \n if (value > 0) {\n\t\treturn type === 'bg' ? 'bg-emerald-100 dark:bg-emerald-500/20 dark:text-emerald-100' : 'text-emerald-600 dark:text-emerald-400'\n\t}\n\n\tif (value < 0) {\n\t\treturn type === 'bg' ? 'bg-red-100 dark:bg-red-500/20 dark:text-red-100' : 'text-red-600 dark:text-red-500'\n\t}\n\n return ''\n}","import React, { forwardRef } from 'react'\nimport classNames from 'classnames'\nimport PropTypes from 'prop-types'\nimport { Tag } from 'components/ui'\nimport { HiArrowUp, HiArrowDown } from 'react-icons/hi'\nimport growShrinkColor from 'utils/growShrinkColor'\n\nconst GrowShrinkTag = forwardRef((props, ref) => {\n\n\tconst { value, className, prefix, suffix, showIcon } = props\n\n\treturn (\n\t\t\n\t\t\t{value !== 0 && (\n\t\t\t\t{showIcon && (value > 0 ? : )}\n\t\t\t)}\n\t\t\t{prefix}{value}{suffix}\n\t\t\n\t)\n})\n\nGrowShrinkTag.defaultProps = {\n\tvalue: 0,\n\tshowIcon: true\n}\n\nGrowShrinkTag.propTypes = {\n\tvalue: PropTypes.number,\n\tshowIcon: PropTypes.bool,\n\tprefix: PropTypes.oneOfType([\n\t\tPropTypes.string,\n\t\tPropTypes.node\n\t]),\n\tsuffix: PropTypes.oneOfType([\n\t\tPropTypes.string,\n\t\tPropTypes.node\n\t]),\n}\n\n\nexport default GrowShrinkTag","import React from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nconst IconText = ({className, asElement: Component, icon, children}) => {\n\treturn (\n\t\t\n\t\t\t{icon}\n\t\t\t{children}\n\t\t\n\t)\n}\n\nIconText.defaultProps = {\n\tasElement: 'span'\n}\n\nIconText.propTypes = {\n\tasElement: PropTypes.string,\n\ticon: PropTypes.oneOfType([\n\t\tPropTypes.string,\n\t\tPropTypes.node\n\t]),\n}\n\nexport default IconText\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { Skeleton } from 'components/ui'\n\nconst MediaSkeleton = props => {\n\n\tconst { showAvatar, avatarProps, titleProps, textProps } = props\n\n\treturn (\n\t\t
\n\t\t\t{\n\t\t\t\tshowAvatar && (\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t)\n\t\t\t}\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t)\n}\n\nMediaSkeleton.defaultProps = {\n\tshowAvatar: true,\n}\n\nMediaSkeleton.propTypes = {\n\tshowAvatar: PropTypes.bool,\n\tavatarProps: PropTypes.object,\n\ttitleProps: PropTypes.object,\n\ttextProps: PropTypes.object,\n}\n\nexport default MediaSkeleton","import React from 'react'\nimport { HiOutlineMenuAlt2, HiOutlineMenu } from 'react-icons/hi'\n\nconst NavToggle = ({toggled, className}) => {\n\treturn (\n\t\t
\n\t\t\t{toggled ? : }\n\t\t
\n\t)\n}\n\nexport default NavToggle","import React, { useState } from 'react'\nimport { Input } from 'components/ui'\nimport { HiOutlineEyeOff, HiOutlineEye } from 'react-icons/hi'\n\nconst PasswordInput = (props) => {\n\n\tconst {onVisibleChange, ...rest} = props\n\n\tconst [ pwInputType, setPwInputType ] = useState('password')\n\n\tconst onPasswordVisibleClick = e => {\n\t\te.preventDefault()\n\t\tconst nextValue = pwInputType === 'password' ? 'text' : 'password'\n\t\tsetPwInputType(nextValue)\n\t\tonVisibleChange?.(nextValue === 'text')\n\t}\n\n\treturn (\n\t\t onPasswordVisibleClick(e)}\n\t\t\t\t>\n\t\t\t\t\t{ pwInputType === 'password' ? : }\n\t\t\t\t\n\t\t\t}\n\t\t/>\n\t)\n}\n\nexport default PasswordInput","const shadeColor = (color, percent) => {\n let R = parseInt(color.substring(1,3),16)\n let G = parseInt(color.substring(3,5),16)\n let B = parseInt(color.substring(5,7),16)\n R = parseInt(R * (100 + percent) / 100)\n G = parseInt(G * (100 + percent) / 100)\n B = parseInt(B * (100 + percent) / 100)\n R = (R<255)?R:255 \n G = (G<255)?G:255 \n B = (B<255)?B:255 \n const RR = ((R.toString(16).length === 1) ? `0${R.toString(16)}` : R.toString(16))\n const GG = ((G.toString(16).length === 1) ? `0${G.toString(16)}` : G.toString(16))\n const BB = ((B.toString(16).length === 1) ? `0${B.toString(16)}` : B.toString(16))\n return `#${RR}${GG}${BB}` \n}\n\n\nexport default shadeColor","// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\n// getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation. Also,\n// find the complete implementation of crypto (msCrypto) on IE11.\nvar getRandomValues = typeof crypto != 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto != 'undefined' && typeof msCrypto.getRandomValues == 'function' && msCrypto.getRandomValues.bind(msCrypto);\nvar rnds8 = new Uint8Array(16); // eslint-disable-line no-undef\n\nexport default function rng() {\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n\n return getRandomValues(rnds8);\n}","/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\nvar byteToHex = [];\n\nfor (var i = 0; i < 256; ++i) {\n byteToHex[i] = (i + 0x100).toString(16).substr(1);\n}\n\nfunction bytesToUuid(buf, offset) {\n var i = offset || 0;\n var bth = byteToHex; // join used to fix memory issue caused by concatenation: https://bugs.chromium.org/p/v8/issues/detail?id=3175#c4\n\n return [bth[buf[i++]], bth[buf[i++]], bth[buf[i++]], bth[buf[i++]], '-', bth[buf[i++]], bth[buf[i++]], '-', bth[buf[i++]], bth[buf[i++]], '-', bth[buf[i++]], bth[buf[i++]], '-', bth[buf[i++]], bth[buf[i++]], bth[buf[i++]], bth[buf[i++]], bth[buf[i++]], bth[buf[i++]]].join('');\n}\n\nexport default bytesToUuid;","import rng from './rng.js';\nimport bytesToUuid from './bytesToUuid.js';\n\nfunction v4(options, buf, offset) {\n var i = buf && offset || 0;\n\n if (typeof options == 'string') {\n buf = options === 'binary' ? new Array(16) : null;\n options = null;\n }\n\n options = options || {};\n var rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n for (var ii = 0; ii < 16; ++ii) {\n buf[i + ii] = rnds[ii];\n }\n }\n\n return buf || bytesToUuid(rnds);\n}\n\nexport default v4;","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = function (fn) {\n return NATIVE_BIND ? uncurryThisWithBind(fn) : function () {\n return call.apply(fn, arguments);\n };\n};\n","var uncurryThisRaw = require('../internals/function-uncurry-this-raw');\n\nvar toString = uncurryThisRaw({}.toString);\nvar stringSlice = uncurryThisRaw(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","var classofRaw = require('../internals/classof-raw');\nvar uncurryThisRaw = require('../internals/function-uncurry-this-raw');\n\nmodule.exports = function (fn) {\n // Nashorn bug:\n // https://github.com/zloirock/core-js/issues/1128\n // https://github.com/zloirock/core-js/issues/1130\n if (classofRaw(fn) === 'Function') return uncurryThisRaw(fn);\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n","var isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","var documentAll = typeof document == 'object' && document.all;\n\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\nvar IS_HTMLDDA = typeof documentAll == 'undefined' && documentAll !== undefined;\n\nmodule.exports = {\n all: documentAll,\n IS_HTMLDDA: IS_HTMLDDA\n};\n","var $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = $documentAll.IS_HTMLDDA ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};\n","var isCallable = require('../internals/is-callable');\nvar $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\nmodule.exports = $documentAll.IS_HTMLDDA ? function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it) || it === documentAll;\n} : function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol();\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n return !String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","var getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","var $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","var isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw $TypeError(tryToString(argument) + ' is not a function');\n};\n","var aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","var call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw $TypeError(\"Can't convert object to primitive value\");\n};\n","var global = require('../internals/global');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var global = require('../internals/global');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || defineGlobalProperty(SHARED, {});\n\nmodule.exports = store;\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.25.5',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2022 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.25.5/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar symbolFor = Symbol && Symbol['for'];\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {\n var description = 'Symbol.' + name;\n if (NATIVE_SYMBOL && hasOwn(Symbol, name)) {\n WellKnownSymbolsStore[name] = Symbol[name];\n } else if (USE_SYMBOL_AS_UID && symbolFor) {\n WellKnownSymbolsStore[name] = symbolFor(description);\n } else {\n WellKnownSymbolsStore[name] = createWellKnownSymbol(description);\n }\n } return WellKnownSymbolsStore[name];\n};\n","var call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","var toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype != 42;\n});\n","var isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw $TypeError($String(argument) + ' is not an object');\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n /* eslint-disable no-self-assign -- prototype methods protection */\n store.get = store.get;\n store.has = store.has;\n store.set = store.set;\n /* eslint-enable no-self-assign -- prototype methods protection */\n set = function (it, metadata) {\n if (store.has(it)) throw TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n store.set(it, metadata);\n return metadata;\n };\n get = function (it) {\n return store.get(it) || {};\n };\n has = function (it) {\n return store.has(it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","module.exports = {};\n","var fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nvar CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {\n return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n if (String(name).slice(0, 7) === 'Symbol(') {\n name = '[' + String(name).replace(/^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (options && options.getter) name = 'get ' + name;\n if (options && options.setter) name = 'set ' + name;\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true });\n else value.name = name;\n }\n if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n defineProperty(value, 'length', { value: options.arity });\n }\n try {\n if (options && hasOwn(options, 'constructor') && options.constructor) {\n if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false });\n // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable\n } else if (value.prototype) value.prototype = undefined;\n } catch (error) { /* empty */ }\n var state = enforceInternalState(value);\n if (!hasOwn(state, 'source')) {\n state.source = TEMPLATE.join(typeof name == 'string' ? name : '');\n } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n","var isCallable = require('../internals/is-callable');\nvar definePropertyModule = require('../internals/object-define-property');\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nmodule.exports = function (O, key, value, options) {\n if (!options) options = {};\n var simple = options.enumerable;\n var name = options.name !== undefined ? options.name : key;\n if (isCallable(value)) makeBuiltIn(value, name, options);\n if (options.global) {\n if (simple) O[key] = value;\n else defineGlobalProperty(key, value);\n } else {\n try {\n if (!options.unsafe) delete O[key];\n else if (O[key]) simple = true;\n } catch (error) { /* empty */ }\n if (simple) O[key] = value;\n else definePropertyModule.f(O, key, {\n value: value,\n enumerable: false,\n configurable: !options.nonConfigurable,\n writable: !options.nonWritable\n });\n } return O;\n};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\n","var trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","var getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","var hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source, exceptions) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\n};\n","var fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || defineGlobalProperty(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty == typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n defineBuiltIn(target, key, sourceProperty, options);\n }\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(argument) {\n return classof(argument) == 'Array';\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar $Object = Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof');\nvar getBuiltIn = require('../internals/get-built-in');\nvar inspectSource = require('../internals/inspect-source');\n\nvar noop = function () { /* empty */ };\nvar empty = [];\nvar construct = getBuiltIn('Reflect', 'construct');\nvar constructorRegExp = /^\\s*(?:class|function)\\b/;\nvar exec = uncurryThis(constructorRegExp.exec);\nvar INCORRECT_TO_STRING = !constructorRegExp.exec(noop);\n\nvar isConstructorModern = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n try {\n construct(noop, empty, argument);\n return true;\n } catch (error) {\n return false;\n }\n};\n\nvar isConstructorLegacy = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n switch (classof(argument)) {\n case 'AsyncFunction':\n case 'GeneratorFunction':\n case 'AsyncGeneratorFunction': return false;\n }\n try {\n // we can't check .prototype since constructors produced by .bind haven't it\n // `Function#toString` throws on some built-it function in some legacy engines\n // (for example, `DOMQuad` and similar in FF41-)\n return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));\n } catch (error) {\n return true;\n }\n};\n\nisConstructorLegacy.sham = true;\n\n// `IsConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-isconstructor\nmodule.exports = !construct || fails(function () {\n var called;\n return isConstructorModern(isConstructorModern.call)\n || !isConstructorModern(Object)\n || !isConstructorModern(function () { called = true; })\n || called;\n}) ? isConstructorLegacy : isConstructorModern;\n","var isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\nvar $Array = Array;\n\n// a part of `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (isConstructor(C) && (C === $Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? $Array : C;\n};\n","var arraySpeciesConstructor = require('../internals/array-species-constructor');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length);\n};\n","var bind = require('../internals/function-bind-context');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = uncurryThis([].push);\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var IS_FILTER_REJECT = TYPE == 7;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var boundFunction = bind(callbackfn, that);\n var length = lengthOfArrayLike(self);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_REJECT ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push(target, value); // filter\n } else switch (TYPE) {\n case 4: return false; // every\n case 7: push(target, value); // filterReject\n }\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.es/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.es/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.es/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.es/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.es/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.es/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.es/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6),\n // `Array.prototype.filterReject` method\n // https://github.com/tc39/proposal-array-filtering\n filterReject: createMethod(7)\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nexports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var props = toIndexedObject(Properties);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);\n return O;\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\n// eslint-disable-next-line es/no-object-create -- safe\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : definePropertiesModule.f(result, Properties);\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n defineProperty(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $find = require('../internals/array-iteration').find;\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\nvar FIND = 'find';\nvar SKIPS_HOLES = true;\n\n// Shouldn't skip holes\nif (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });\n\n// `Array.prototype.find` method\n// https://tc39.es/ecma262/#sec-array.prototype.find\n$({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {\n find: function find(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables(FIND);\n","export default {\n GLOBAL: {\n HIDE: '__react_tooltip_hide_event',\n REBUILD: '__react_tooltip_rebuild_event',\n SHOW: '__react_tooltip_show_event'\n }\n};\n","/**\n * Static methods for react-tooltip\n */\nimport CONSTANT from '../constant';\n\nconst dispatchGlobalEvent = (eventName, opts) => {\n // Compatible with IE\n // @see http://stackoverflow.com/questions/26596123/internet-explorer-9-10-11-event-constructor-doesnt-work\n // @see https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent/CustomEvent\n let event;\n\n if (typeof window.CustomEvent === 'function') {\n event = new window.CustomEvent(eventName, { detail: opts });\n } else {\n event = document.createEvent('Event');\n event.initEvent(eventName, false, true, opts);\n }\n\n window.dispatchEvent(event);\n};\n\nexport default function(target) {\n /**\n * Hide all tooltip\n * @trigger ReactTooltip.hide()\n */\n target.hide = target => {\n dispatchGlobalEvent(CONSTANT.GLOBAL.HIDE, { target });\n };\n\n /**\n * Rebuild all tooltip\n * @trigger ReactTooltip.rebuild()\n */\n target.rebuild = () => {\n dispatchGlobalEvent(CONSTANT.GLOBAL.REBUILD);\n };\n\n /**\n * Show specific tooltip\n * @trigger ReactTooltip.show()\n */\n target.show = target => {\n dispatchGlobalEvent(CONSTANT.GLOBAL.SHOW, { target });\n };\n\n target.prototype.globalRebuild = function() {\n if (this.mount) {\n this.unbindListener();\n this.bindListener();\n }\n };\n\n target.prototype.globalShow = function(event) {\n if (this.mount) {\n const hasTarget =\n (event && event.detail && event.detail.target && true) || false;\n // Create a fake event, specific show will limit the type to `solid`\n // only `float` type cares e.clientX e.clientY\n this.showTooltip(\n { currentTarget: hasTarget && event.detail.target },\n true\n );\n }\n };\n\n target.prototype.globalHide = function(event) {\n if (this.mount) {\n const hasTarget =\n (event && event.detail && event.detail.target && true) || false;\n this.hideTooltip(\n { currentTarget: hasTarget && event.detail.target },\n hasTarget\n );\n }\n };\n}\n","/**\n * Custom events to control showing and hiding of tooltip\n *\n * @attributes\n * - `event` {String}\n * - `eventOff` {String}\n */\n\nexport const checkStatus = function(dataEventOff, e) {\n const { show } = this.state;\n const { id } = this.props;\n const isCapture = this.isCapture(e.currentTarget);\n const currentItem = e.currentTarget.getAttribute('currentItem');\n\n if (!isCapture) e.stopPropagation();\n if (show && currentItem === 'true') {\n if (!dataEventOff) this.hideTooltip(e);\n } else {\n e.currentTarget.setAttribute('currentItem', 'true');\n setUntargetItems(e.currentTarget, this.getTargetArray(id));\n this.showTooltip(e);\n }\n};\n\nconst setUntargetItems = function(currentTarget, targetArray) {\n for (let i = 0; i < targetArray.length; i++) {\n if (currentTarget !== targetArray[i]) {\n targetArray[i].setAttribute('currentItem', 'false');\n } else {\n targetArray[i].setAttribute('currentItem', 'true');\n }\n }\n};\n\nconst customListeners = {\n id: '9b69f92e-d3fe-498b-b1b4-c5e63a51b0cf',\n set(target, event, listener) {\n if (this.id in target) {\n const map = target[this.id];\n map[event] = listener;\n } else {\n // this is workaround for WeakMap, which is not supported in older browsers, such as IE\n Object.defineProperty(target, this.id, {\n configurable: true,\n value: { [event]: listener }\n });\n }\n },\n get(target, event) {\n const map = target[this.id];\n if (map !== undefined) {\n return map[event];\n }\n }\n};\n\nexport default function(target) {\n target.prototype.isCustomEvent = function(ele) {\n const { event } = this.state;\n return event || !!ele.getAttribute('data-event');\n };\n\n /* Bind listener for custom event */\n target.prototype.customBindListener = function(ele) {\n const { event, eventOff } = this.state;\n const dataEvent = ele.getAttribute('data-event') || event;\n const dataEventOff = ele.getAttribute('data-event-off') || eventOff;\n\n dataEvent.split(' ').forEach(event => {\n ele.removeEventListener(event, customListeners.get(ele, event));\n const customListener = checkStatus.bind(this, dataEventOff);\n customListeners.set(ele, event, customListener);\n ele.addEventListener(event, customListener, false);\n });\n if (dataEventOff) {\n dataEventOff.split(' ').forEach(event => {\n ele.removeEventListener(event, this.hideTooltip);\n ele.addEventListener(event, this.hideTooltip, false);\n });\n }\n };\n\n /* Unbind listener for custom event */\n target.prototype.customUnbindListener = function(ele) {\n const { event, eventOff } = this.state;\n const dataEvent = event || ele.getAttribute('data-event');\n const dataEventOff = eventOff || ele.getAttribute('data-event-off');\n\n ele.removeEventListener(dataEvent, customListeners.get(ele, event));\n if (dataEventOff) ele.removeEventListener(dataEventOff, this.hideTooltip);\n };\n}\n","/**\n * Util method to get effect\n */\nimport { checkStatus } from './customEvent';\n\nconst makeProxy = (e) => {\n const proxy = {};\n for (const key in e) {\n if (typeof e[key] === 'function') {\n proxy[key] = e[key].bind(e);\n } else {\n proxy[key] = e[key];\n }\n }\n return proxy;\n};\n\nconst bodyListener = function (callback, options, e) {\n const { respectEffect = false, customEvent = false } = options;\n const { id } = this.props;\n\n let tip = null;\n let forId;\n let target = e.target;\n let lastTarget;\n // walk up parent chain until tip is found\n // there is no match if parent visible area is matched by mouse position, so some corner cases might not work as expected\n while (tip === null && target !== null) {\n lastTarget = target;\n tip = target.getAttribute('data-tip') || null;\n forId = target.getAttribute('data-for') || null;\n target = target.parentElement;\n }\n\n target = lastTarget || e.target;\n\n if (this.isCustomEvent(target) && !customEvent) {\n return;\n }\n\n const isTargetBelongsToTooltip =\n (id == null && forId == null) || forId === id;\n\n if (\n tip != null &&\n (!respectEffect || this.getEffect(target) === 'float') &&\n isTargetBelongsToTooltip\n ) {\n const proxy = makeProxy(e);\n proxy.currentTarget = target;\n callback(proxy);\n }\n};\n\nconst findCustomEvents = (targetArray, dataAttribute) => {\n const events = {};\n targetArray.forEach((target) => {\n const event = target.getAttribute(dataAttribute);\n if (event) event.split(' ').forEach((event) => (events[event] = true));\n });\n\n return events;\n};\n\nconst getBody = () => document.getElementsByTagName('body')[0];\n\nexport default function (target) {\n target.prototype.isBodyMode = function () {\n return !!this.props.bodyMode;\n };\n\n target.prototype.bindBodyListener = function (targetArray) {\n const { event, eventOff, possibleCustomEvents, possibleCustomEventsOff } =\n this.state;\n const body = getBody();\n\n const customEvents = findCustomEvents(targetArray, 'data-event');\n const customEventsOff = findCustomEvents(targetArray, 'data-event-off');\n\n if (event != null) customEvents[event] = true;\n if (eventOff != null) customEventsOff[eventOff] = true;\n possibleCustomEvents\n .split(' ')\n .forEach((event) => (customEvents[event] = true));\n possibleCustomEventsOff\n .split(' ')\n .forEach((event) => (customEventsOff[event] = true));\n\n this.unbindBodyListener(body);\n\n const listeners = (this.bodyModeListeners = {});\n if (event == null) {\n listeners.mouseover = bodyListener.bind(this, this.showTooltip, {});\n listeners.mousemove = bodyListener.bind(this, this.updateTooltip, {\n respectEffect: true\n });\n listeners.mouseout = bodyListener.bind(this, this.hideTooltip, {});\n }\n\n for (const event in customEvents) {\n listeners[event] = bodyListener.bind(\n this,\n (e) => {\n const targetEventOff =\n e.currentTarget.getAttribute('data-event-off') || eventOff;\n checkStatus.call(this, targetEventOff, e);\n },\n { customEvent: true }\n );\n }\n for (const event in customEventsOff) {\n listeners[event] = bodyListener.bind(this, this.hideTooltip, {\n customEvent: true\n });\n }\n for (const event in listeners) {\n body.addEventListener(event, listeners[event]);\n }\n };\n\n target.prototype.unbindBodyListener = function (body) {\n body = body || getBody();\n\n const listeners = this.bodyModeListeners;\n for (const event in listeners) {\n body.removeEventListener(event, listeners[event]);\n }\n };\n}\n","/**\n * Calculate the position of tooltip\n *\n * @params\n * - `e` {Event} the event of current mouse\n * - `target` {Element} the currentTarget of the event\n * - `node` {DOM} the react-tooltip object\n * - `place` {String} top / right / bottom / left\n * - `effect` {String} float / solid\n * - `offset` {Object} the offset to default position\n *\n * @return {Object}\n * - `isNewState` {Bool} required\n * - `newState` {Object}\n * - `position` {Object} {left: {Number}, top: {Number}}\n */\nexport default function (e, target, node, place, desiredPlace, effect, offset) {\n const { width: tipWidth, height: tipHeight } = getDimensions(node);\n\n const { width: targetWidth, height: targetHeight } = getDimensions(target);\n\n const { mouseX, mouseY } = getCurrentOffset(e, target, effect);\n const defaultOffset = getDefaultPosition(\n effect,\n targetWidth,\n targetHeight,\n tipWidth,\n tipHeight\n );\n const { extraOffsetX, extraOffsetY } = calculateOffset(offset);\n\n const windowWidth = window.innerWidth;\n const windowHeight = window.innerHeight;\n\n const { parentTop, parentLeft } = getParent(node);\n\n // Get the edge offset of the tooltip\n const getTipOffsetLeft = (place) => {\n const offsetX = defaultOffset[place].l;\n return mouseX + offsetX + extraOffsetX;\n };\n const getTipOffsetRight = (place) => {\n const offsetX = defaultOffset[place].r;\n return mouseX + offsetX + extraOffsetX;\n };\n const getTipOffsetTop = (place) => {\n const offsetY = defaultOffset[place].t;\n return mouseY + offsetY + extraOffsetY;\n };\n const getTipOffsetBottom = (place) => {\n const offsetY = defaultOffset[place].b;\n return mouseY + offsetY + extraOffsetY;\n };\n\n //\n // Functions to test whether the tooltip's sides are inside\n // the client window for a given orientation p\n //\n // _____________\n // | | <-- Right side\n // | p = 'left' |\\\n // | |/ |\\\n // |_____________| |_\\ <-- Mouse\n // / \\ |\n // |\n // |\n // Bottom side\n //\n const outsideLeft = (p) => getTipOffsetLeft(p) < 0;\n const outsideRight = (p) => getTipOffsetRight(p) > windowWidth;\n const outsideTop = (p) => getTipOffsetTop(p) < 0;\n const outsideBottom = (p) => getTipOffsetBottom(p) > windowHeight;\n\n // Check whether the tooltip with orientation p is completely inside the client window\n const outside = (p) =>\n outsideLeft(p) || outsideRight(p) || outsideTop(p) || outsideBottom(p);\n const inside = (p) => !outside(p);\n\n const placeIsInside = {\n top: inside('top'),\n bottom: inside('bottom'),\n left: inside('left'),\n right: inside('right')\n };\n\n function choose() {\n const allPlaces = desiredPlace\n .split(',')\n .concat(place, ['top', 'bottom', 'left', 'right']);\n for (const d of allPlaces) {\n if (placeIsInside[d]) return d;\n }\n // if nothing is inside, just use the old place.\n return place;\n }\n\n const chosen = choose();\n\n let isNewState = false;\n let newPlace;\n if (chosen && chosen !== place) {\n isNewState = true;\n newPlace = chosen;\n }\n\n if (isNewState) {\n return {\n isNewState: true,\n newState: { place: newPlace }\n };\n }\n\n return {\n isNewState: false,\n position: {\n left: parseInt(getTipOffsetLeft(place) - parentLeft, 10),\n top: parseInt(getTipOffsetTop(place) - parentTop, 10)\n }\n };\n}\n\nconst getDimensions = (node) => {\n const { height, width } = node.getBoundingClientRect();\n return {\n height: parseInt(height, 10),\n width: parseInt(width, 10)\n };\n};\n\n// Get current mouse offset\nconst getCurrentOffset = (e, currentTarget, effect) => {\n const boundingClientRect = currentTarget.getBoundingClientRect();\n const targetTop = boundingClientRect.top;\n const targetLeft = boundingClientRect.left;\n const { width: targetWidth, height: targetHeight } =\n getDimensions(currentTarget);\n\n if (effect === 'float') {\n return {\n mouseX: e.clientX,\n mouseY: e.clientY\n };\n }\n return {\n mouseX: targetLeft + targetWidth / 2,\n mouseY: targetTop + targetHeight / 2\n };\n};\n\n// List all possibility of tooltip final offset\n// This is useful in judging if it is necessary for tooltip to switch position when out of window\nconst getDefaultPosition = (\n effect,\n targetWidth,\n targetHeight,\n tipWidth,\n tipHeight\n) => {\n let top;\n let right;\n let bottom;\n let left;\n const disToMouse = 3;\n const triangleHeight = 2;\n const cursorHeight = 12; // Optimize for float bottom only, cause the cursor will hide the tooltip\n\n if (effect === 'float') {\n top = {\n l: -(tipWidth / 2),\n r: tipWidth / 2,\n t: -(tipHeight + disToMouse + triangleHeight),\n b: -disToMouse\n };\n bottom = {\n l: -(tipWidth / 2),\n r: tipWidth / 2,\n t: disToMouse + cursorHeight,\n b: tipHeight + disToMouse + triangleHeight + cursorHeight\n };\n left = {\n l: -(tipWidth + disToMouse + triangleHeight),\n r: -disToMouse,\n t: -(tipHeight / 2),\n b: tipHeight / 2\n };\n right = {\n l: disToMouse,\n r: tipWidth + disToMouse + triangleHeight,\n t: -(tipHeight / 2),\n b: tipHeight / 2\n };\n } else if (effect === 'solid') {\n top = {\n l: -(tipWidth / 2),\n r: tipWidth / 2,\n t: -(targetHeight / 2 + tipHeight + triangleHeight),\n b: -(targetHeight / 2)\n };\n bottom = {\n l: -(tipWidth / 2),\n r: tipWidth / 2,\n t: targetHeight / 2,\n b: targetHeight / 2 + tipHeight + triangleHeight\n };\n left = {\n l: -(tipWidth + targetWidth / 2 + triangleHeight),\n r: -(targetWidth / 2),\n t: -(tipHeight / 2),\n b: tipHeight / 2\n };\n right = {\n l: targetWidth / 2,\n r: tipWidth + targetWidth / 2 + triangleHeight,\n t: -(tipHeight / 2),\n b: tipHeight / 2\n };\n }\n\n return { top, bottom, left, right };\n};\n\n// Consider additional offset into position calculation\nconst calculateOffset = (offset) => {\n let extraOffsetX = 0;\n let extraOffsetY = 0;\n\n if (Object.prototype.toString.apply(offset) === '[object String]') {\n offset = JSON.parse(offset.toString().replace(/'/g, '\"'));\n }\n for (const key in offset) {\n if (key === 'top') {\n extraOffsetY -= parseInt(offset[key], 10);\n } else if (key === 'bottom') {\n extraOffsetY += parseInt(offset[key], 10);\n } else if (key === 'left') {\n extraOffsetX -= parseInt(offset[key], 10);\n } else if (key === 'right') {\n extraOffsetX += parseInt(offset[key], 10);\n }\n }\n\n return { extraOffsetX, extraOffsetY };\n};\n\n// Get the offset of the parent elements\nconst getParent = (currentTarget) => {\n let currentParent = currentTarget;\n while (currentParent) {\n const computedStyle = window.getComputedStyle(currentParent);\n // transform and will-change: transform change the containing block\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_Block\n if (\n computedStyle.getPropertyValue('transform') !== 'none' ||\n computedStyle.getPropertyValue('will-change') === 'transform'\n )\n break;\n currentParent = currentParent.parentElement;\n }\n\n const parentTop =\n (currentParent && currentParent.getBoundingClientRect().top) || 0;\n const parentLeft =\n (currentParent && currentParent.getBoundingClientRect().left) || 0;\n\n return { parentTop, parentLeft };\n};\n","/**\n * To get the tooltip content\n * it may comes from data-tip or this.props.children\n * it should support multiline\n *\n * @params\n * - `tip` {String} value of data-tip\n * - `children` {ReactElement} this.props.children\n * - `multiline` {Any} could be Bool(true/false) or String('true'/'false')\n *\n * @return\n * - String or react component\n */\nimport React from 'react';\n\nexport default function TipContent(tip, children, getContent, multiline) {\n if (children) return children;\n if (getContent !== undefined && getContent !== null) return getContent; // getContent can be 0, '', etc.\n if (getContent === null) return null; // Tip not exist and children is null or undefined\n\n const regexp = //;\n if (!multiline || multiline === 'false' || !regexp.test(tip)) {\n // No trim(), so that user can keep their input\n return tip;\n }\n\n // Multiline tooltip content\n return tip.split(regexp).map((d, i) => {\n return (\n \n {d}\n \n );\n });\n}\n","/**\n * Support aria- and role in ReactTooltip\n *\n * @params props {Object}\n * @return {Object}\n */\nexport function parseAria(props) {\n const ariaObj = {};\n Object.keys(props)\n .filter(prop => {\n // aria-xxx and role is acceptable\n return /(^aria-\\w+$|^role$)/.test(prop);\n })\n .forEach(prop => {\n ariaObj[prop] = props[prop];\n });\n\n return ariaObj;\n}\n","/**\n * Convert nodelist to array\n * @see https://github.com/facebook/fbjs/blob/e66ba20ad5be433eb54423f2b097d829324d9de6/packages/fbjs/src/core/createArrayFromMixed.js#L24\n * NodeLists are functions in Safari\n */\n\nexport default function(nodeList) {\n const length = nodeList.length;\n if (nodeList.hasOwnProperty) {\n return Array.prototype.slice.call(nodeList);\n }\n return new Array(length).fill().map(index => nodeList[index]);\n}\n","/**\n * Default pop-up style values (text color, background color).\n */\nconst defaultColors = {\n dark: {\n text: '#fff',\n background: '#222',\n border: 'transparent',\n arrow: '#222'\n },\n success: {\n text: '#fff',\n background: '#8DC572',\n border: 'transparent',\n arrow: '#8DC572'\n },\n warning: {\n text: '#fff',\n background: '#F0AD4E',\n border: 'transparent',\n arrow: '#F0AD4E'\n },\n error: {\n text: '#fff',\n background: '#BE6464',\n border: 'transparent',\n arrow: '#BE6464'\n },\n info: {\n text: '#fff',\n background: '#337AB7',\n border: 'transparent',\n arrow: '#337AB7'\n },\n light: {\n text: '#222',\n background: '#fff',\n border: 'transparent',\n arrow: '#fff'\n }\n};\n\nexport function getDefaultPopupColors(type) {\n return defaultColors[type] ? { ...defaultColors[type] } : undefined;\n}\n\nexport const DEFAULT_PADDING = '8px 21px';\n\nexport const DEFAULT_RADIUS = {\n tooltip: 3,\n arrow: 0\n};\n","import {\n getDefaultPopupColors,\n DEFAULT_PADDING,\n DEFAULT_RADIUS\n} from './defaultStyles';\n\n/**\n * Generates the specific tooltip style for use on render.\n */\nexport function generateTooltipStyle(\n uuid,\n customColors,\n type,\n hasBorder,\n padding,\n radius\n) {\n return generateStyle(\n uuid,\n getPopupColors(customColors, type, hasBorder),\n padding,\n radius\n );\n}\n\n/**\n * Generates the tooltip style rules based on the element-specified \"data-type\" property.\n */\nfunction generateStyle(\n uuid,\n colors,\n padding = DEFAULT_PADDING,\n radius = DEFAULT_RADIUS\n) {\n const textColor = colors.text;\n const backgroundColor = colors.background;\n const borderColor = colors.border;\n const arrowColor = colors.arrow;\n const arrowRadius = radius.arrow;\n const tooltipRadius = radius.tooltip;\n\n return `\n \t.${uuid} {\n\t color: ${textColor};\n\t background: ${backgroundColor};\n\t border: 1px solid ${borderColor};\n\t border-radius: ${tooltipRadius}px;\n\t padding: ${padding};\n \t}\n\n \t.${uuid}.place-top {\n margin-top: -10px;\n }\n .${uuid}.place-top::before {\n content: \"\";\n background-color: inherit;\n position: absolute;\n z-index: -1;\n width: 18px;\n height: 10px;\n }\n .${uuid}.place-top::after {\n content: \"\";\n position: absolute;\n width: 10px;\n height: 10px;\n border-top-right-radius: ${arrowRadius}px;\n border: 1px solid ${borderColor};\n background-color: ${arrowColor};\n z-index: -2;\n bottom: -6px;\n left: 50%;\n margin-left: -8px;\n transform: rotate(135deg);\n }\n\n .${uuid}.place-bottom {\n margin-top: 10px;\n }\n .${uuid}.place-bottom::before {\n content: \"\";\n background-color: inherit;\n position: absolute;\n z-index: -1;\n width: 18px;\n height: 10px;\n }\n .${uuid}.place-bottom::after {\n content: \"\";\n position: absolute;\n width: 10px;\n height: 10px;\n border-top-right-radius: ${arrowRadius}px;\n border: 1px solid ${borderColor};\n background-color: ${arrowColor};\n z-index: -2;\n top: -6px;\n left: 50%;\n margin-left: -8px;\n transform: rotate(45deg);\n }\n\n .${uuid}.place-left {\n margin-left: -10px;\n }\n .${uuid}.place-left::before {\n content: \"\";\n background-color: inherit;\n position: absolute;\n z-index: -1;\n width: 10px;\n height: 18px;\n }\n .${uuid}.place-left::after {\n content: \"\";\n position: absolute;\n width: 10px;\n height: 10px;\n border-top-right-radius: ${arrowRadius}px;\n border: 1px solid ${borderColor};\n background-color: ${arrowColor};\n z-index: -2;\n right: -6px;\n top: 50%;\n margin-top: -6px;\n transform: rotate(45deg);\n }\n\n .${uuid}.place-right {\n margin-left: 10px;\n }\n .${uuid}.place-right::before {\n content: \"\";\n background-color: inherit;\n position: absolute;\n z-index: -1;\n width: 10px;\n height: 18px;\n }\n .${uuid}.place-right::after {\n content: \"\";\n position: absolute;\n width: 10px;\n height: 10px;\n border-top-right-radius: ${arrowRadius}px;\n border: 1px solid ${borderColor};\n background-color: ${arrowColor};\n z-index: -2;\n left: -6px;\n top: 50%;\n margin-top: -6px;\n transform: rotate(-135deg);\n }\n `;\n}\n\nfunction getPopupColors(customColors, type, hasBorder) {\n const textColor = customColors.text;\n const backgroundColor = customColors.background;\n const borderColor = customColors.border;\n const arrowColor = customColors.arrow\n ? customColors.arrow\n : customColors.background;\n\n const colors = getDefaultPopupColors(type);\n\n if (textColor) {\n colors.text = textColor;\n }\n\n if (backgroundColor) {\n colors.background = backgroundColor;\n }\n\n if (hasBorder) {\n if (borderColor) {\n colors.border = borderColor;\n } else {\n colors.border = type === 'light' ? 'black' : 'white';\n }\n }\n\n if (arrowColor) {\n colors.arrow = arrowColor;\n }\n\n return colors;\n}\n","/* eslint-disable no-unused-vars, dot-notation */\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n/* Decorators */\nimport staticMethods from './decorators/staticMethods';\nimport windowListener from './decorators/windowListener';\nimport customEvent from './decorators/customEvent';\nimport isCapture from './decorators/isCapture';\nimport getEffect from './decorators/getEffect';\nimport bodyMode from './decorators/bodyMode';\nimport trackRemoval from './decorators/trackRemoval';\n\n/* Utils */\nimport getPosition from './utils/getPosition';\nimport getTipContent from './utils/getTipContent';\nimport { parseAria } from './utils/aria';\nimport nodeListToArray from './utils/nodeListToArray';\nimport { generateUUID } from './utils/uuid';\n\n/* CSS */\nimport baseCss from './index.scss';\nimport { generateTooltipStyle } from './decorators/styler';\n\n/* Polyfill */\nimport 'core-js/modules/es.array.find';\n\n@staticMethods\n@windowListener\n@customEvent\n@isCapture\n@getEffect\n@bodyMode\n@trackRemoval\nclass ReactTooltip extends React.Component {\n static get propTypes() {\n return {\n uuid: PropTypes.string,\n children: PropTypes.any,\n place: PropTypes.string,\n type: PropTypes.string,\n effect: PropTypes.string,\n offset: PropTypes.object,\n padding: PropTypes.string,\n multiline: PropTypes.bool,\n border: PropTypes.bool,\n borderClass: PropTypes.string,\n textColor: PropTypes.string,\n backgroundColor: PropTypes.string,\n borderColor: PropTypes.string,\n arrowColor: PropTypes.string,\n arrowRadius: PropTypes.string,\n tooltipRadius: PropTypes.string,\n insecure: PropTypes.bool,\n class: PropTypes.string,\n className: PropTypes.string,\n id: PropTypes.string,\n html: PropTypes.bool,\n delayHide: PropTypes.number,\n delayUpdate: PropTypes.number,\n delayShow: PropTypes.number,\n event: PropTypes.string,\n eventOff: PropTypes.string,\n isCapture: PropTypes.bool,\n globalEventOff: PropTypes.string,\n getContent: PropTypes.any,\n afterShow: PropTypes.func,\n afterHide: PropTypes.func,\n overridePosition: PropTypes.func,\n disable: PropTypes.bool,\n scrollHide: PropTypes.bool,\n resizeHide: PropTypes.bool,\n wrapper: PropTypes.string,\n bodyMode: PropTypes.bool,\n possibleCustomEvents: PropTypes.string,\n possibleCustomEventsOff: PropTypes.string,\n clickable: PropTypes.bool,\n disableInternalStyle: PropTypes.bool\n };\n }\n\n static defaultProps = {\n insecure: true,\n resizeHide: true,\n wrapper: 'div',\n clickable: false\n };\n\n static supportedWrappers = ['div', 'span'];\n\n static displayName = 'ReactTooltip';\n\n constructor(props) {\n super(props);\n\n this.state = {\n uuid: props.uuid || generateUUID(),\n place: props.place || 'top', // Direction of tooltip\n desiredPlace: props.place || 'top',\n type: props.type || 'dark', // Color theme of tooltip\n effect: props.effect || 'float', // float or fixed\n show: false,\n border: false,\n borderClass: 'border',\n customColors: {},\n customRadius: {},\n offset: {},\n padding: props.padding,\n extraClass: '',\n html: false,\n delayHide: 0,\n delayShow: 0,\n event: props.event || null,\n eventOff: props.eventOff || null,\n currentEvent: null, // Current mouse event\n currentTarget: null, // Current target of mouse event\n ariaProps: parseAria(props), // aria- and role attributes\n isEmptyTip: false,\n disable: false,\n possibleCustomEvents: props.possibleCustomEvents || '',\n possibleCustomEventsOff: props.possibleCustomEventsOff || '',\n originTooltip: null,\n isMultiline: false\n };\n\n this.bind([\n 'showTooltip',\n 'updateTooltip',\n 'hideTooltip',\n 'hideTooltipOnScroll',\n 'getTooltipContent',\n 'globalRebuild',\n 'globalShow',\n 'globalHide',\n 'onWindowResize',\n 'mouseOnToolTip'\n ]);\n\n this.mount = true;\n this.delayShowLoop = null;\n this.delayHideLoop = null;\n this.delayReshow = null;\n this.intervalUpdateContent = null;\n }\n\n /**\n * For unify the bind and unbind listener\n */\n bind(methodArray) {\n methodArray.forEach((method) => {\n this[method] = this[method].bind(this);\n });\n }\n\n componentDidMount() {\n const { insecure, resizeHide, disableInternalStyle } = this.props;\n this.mount = true;\n\n this.bindListener(); // Bind listener for tooltip\n this.bindWindowEvents(resizeHide); // Bind global event for static method\n\n if (!disableInternalStyle) {\n this.injectStyles(); // Inject styles for each DOM root having tooltip.\n }\n }\n\n static getDerivedStateFromProps(nextProps, prevState) {\n const { ariaProps } = prevState;\n const newAriaProps = parseAria(nextProps);\n const isChanged = Object.keys(newAriaProps).some((props) => {\n return newAriaProps[props] !== ariaProps[props];\n });\n if (!isChanged) {\n return null;\n }\n return {\n ...prevState,\n ariaProps: newAriaProps\n };\n }\n\n componentWillUnmount() {\n this.mount = false;\n\n this.clearTimer();\n\n this.unbindListener();\n this.removeScrollListener(this.state.currentTarget);\n this.unbindWindowEvents();\n }\n\n /* Look for the closest DOM root having tooltip and inject styles. */\n injectStyles() {\n const { tooltipRef } = this;\n if (!tooltipRef) {\n return;\n }\n\n let parentNode = tooltipRef.parentNode;\n while (parentNode.parentNode) {\n parentNode = parentNode.parentNode;\n }\n\n let domRoot;\n\n switch (parentNode.constructor.name) {\n case 'Document':\n case 'HTMLDocument':\n case undefined:\n domRoot = parentNode.head;\n break;\n case 'ShadowRoot':\n default:\n domRoot = parentNode;\n break;\n }\n\n // Prevent styles duplication.\n if (!domRoot.querySelector('style[data-react-tooltip]')) {\n const style = document.createElement('style');\n style.textContent = baseCss;\n style.setAttribute('data-react-tooltip', 'true');\n\n domRoot.appendChild(style);\n }\n }\n\n /**\n * Return if the mouse is on the tooltip.\n * @returns {boolean} true - mouse is on the tooltip\n */\n mouseOnToolTip() {\n const { show } = this.state;\n\n if (show && this.tooltipRef) {\n /* old IE or Firefox work around */\n if (!this.tooltipRef.matches) {\n /* old IE work around */\n if (this.tooltipRef.msMatchesSelector) {\n this.tooltipRef.matches = this.tooltipRef.msMatchesSelector;\n } else {\n /* old Firefox work around */\n this.tooltipRef.matches = this.tooltipRef.mozMatchesSelector;\n }\n }\n return this.tooltipRef.matches(':hover');\n }\n return false;\n }\n\n /**\n * Pick out corresponded target elements\n */\n getTargetArray(id) {\n let targetArray = [];\n let selector;\n if (!id) {\n selector = '[data-tip]:not([data-for])';\n } else {\n const escaped = id.replace(/\\\\/g, '\\\\\\\\').replace(/\"/g, '\\\\\"');\n selector = `[data-tip][data-for=\"${escaped}\"]`;\n }\n\n // Scan document for shadow DOM elements\n nodeListToArray(document.getElementsByTagName('*'))\n .filter((element) => element.shadowRoot)\n .forEach((element) => {\n targetArray = targetArray.concat(\n nodeListToArray(element.shadowRoot.querySelectorAll(selector))\n );\n });\n return targetArray.concat(\n nodeListToArray(document.querySelectorAll(selector))\n );\n }\n\n /**\n * Bind listener to the target elements\n * These listeners used to trigger showing or hiding the tooltip\n */\n bindListener() {\n const { id, globalEventOff, isCapture } = this.props;\n const targetArray = this.getTargetArray(id);\n\n targetArray.forEach((target) => {\n if (target.getAttribute('currentItem') === null) {\n target.setAttribute('currentItem', 'false');\n }\n this.unbindBasicListener(target);\n if (this.isCustomEvent(target)) {\n this.customUnbindListener(target);\n }\n });\n\n if (this.isBodyMode()) {\n this.bindBodyListener(targetArray);\n } else {\n targetArray.forEach((target) => {\n const isCaptureMode = this.isCapture(target);\n const effect = this.getEffect(target);\n if (this.isCustomEvent(target)) {\n this.customBindListener(target);\n return;\n }\n\n target.addEventListener('mouseenter', this.showTooltip, isCaptureMode);\n target.addEventListener('focus', this.showTooltip, isCaptureMode);\n if (effect === 'float') {\n target.addEventListener(\n 'mousemove',\n this.updateTooltip,\n isCaptureMode\n );\n }\n target.addEventListener('mouseleave', this.hideTooltip, isCaptureMode);\n target.addEventListener('blur', this.hideTooltip, isCaptureMode);\n });\n }\n\n // Global event to hide tooltip\n if (globalEventOff) {\n window.removeEventListener(globalEventOff, this.hideTooltip);\n window.addEventListener(globalEventOff, this.hideTooltip, isCapture);\n }\n\n // Track removal of targetArray elements from DOM\n this.bindRemovalTracker();\n }\n\n /**\n * Unbind listeners on target elements\n */\n unbindListener() {\n const { id, globalEventOff } = this.props;\n if (this.isBodyMode()) {\n this.unbindBodyListener();\n } else {\n const targetArray = this.getTargetArray(id);\n targetArray.forEach((target) => {\n this.unbindBasicListener(target);\n if (this.isCustomEvent(target)) this.customUnbindListener(target);\n });\n }\n\n if (globalEventOff)\n window.removeEventListener(globalEventOff, this.hideTooltip);\n this.unbindRemovalTracker();\n }\n\n /**\n * Invoke this before bind listener and unmount the component\n * it is necessary to invoke this even when binding custom event\n * so that the tooltip can switch between custom and default listener\n */\n unbindBasicListener(target) {\n const isCaptureMode = this.isCapture(target);\n target.removeEventListener('mouseenter', this.showTooltip, isCaptureMode);\n target.removeEventListener('mousemove', this.updateTooltip, isCaptureMode);\n target.removeEventListener('mouseleave', this.hideTooltip, isCaptureMode);\n }\n\n getTooltipContent() {\n const { getContent, children } = this.props;\n\n // Generate tooltip content\n let content;\n if (getContent) {\n if (Array.isArray(getContent)) {\n content = getContent[0] && getContent[0](this.state.originTooltip);\n } else {\n content = getContent(this.state.originTooltip);\n }\n }\n\n return getTipContent(\n this.state.originTooltip,\n children,\n content,\n this.state.isMultiline\n );\n }\n\n isEmptyTip(placeholder) {\n return (\n (typeof placeholder === 'string' && placeholder === '') ||\n placeholder === null\n );\n }\n\n /**\n * When mouse enter, show the tooltip\n */\n showTooltip(e, isGlobalCall) {\n if (!this.tooltipRef) {\n return;\n }\n\n if (isGlobalCall) {\n // Don't trigger other elements belongs to other ReactTooltip\n const targetArray = this.getTargetArray(this.props.id);\n const isMyElement = targetArray.some((ele) => ele === e.currentTarget);\n if (!isMyElement) return;\n }\n // Get the tooltip content\n // calculate in this phrase so that tip width height can be detected\n const { multiline, getContent } = this.props;\n const originTooltip = e.currentTarget.getAttribute('data-tip');\n const isMultiline =\n e.currentTarget.getAttribute('data-multiline') || multiline || false;\n\n // If it is focus event or called by ReactTooltip.show, switch to `solid` effect\n const switchToSolid = e instanceof window.FocusEvent || isGlobalCall;\n\n // if it needs to skip adding hide listener to scroll\n let scrollHide = true;\n if (e.currentTarget.getAttribute('data-scroll-hide')) {\n scrollHide = e.currentTarget.getAttribute('data-scroll-hide') === 'true';\n } else if (this.props.scrollHide != null) {\n scrollHide = this.props.scrollHide;\n }\n\n // adding aria-describedby to target to make tooltips read by screen readers\n if (e && e.currentTarget && e.currentTarget.setAttribute) {\n e.currentTarget.setAttribute(\n 'aria-describedby',\n this.props.id || this.state.uuid\n );\n }\n\n // Make sure the correct place is set\n const desiredPlace =\n e.currentTarget.getAttribute('data-place') || this.props.place || 'top';\n const effect =\n (switchToSolid && 'solid') || this.getEffect(e.currentTarget);\n const offset =\n e.currentTarget.getAttribute('data-offset') || this.props.offset || {};\n const result = getPosition(\n e,\n e.currentTarget,\n this.tooltipRef,\n desiredPlace.split(',')[0],\n desiredPlace,\n effect,\n offset\n );\n if (result.position && this.props.overridePosition) {\n result.position = this.props.overridePosition(\n result.position,\n e,\n e.currentTarget,\n this.tooltipRef,\n desiredPlace,\n desiredPlace,\n effect,\n offset\n );\n }\n\n const place = result.isNewState\n ? result.newState.place\n : desiredPlace.split(',')[0];\n\n // To prevent previously created timers from triggering\n this.clearTimer();\n\n const target = e.currentTarget;\n\n const reshowDelay = this.state.show\n ? target.getAttribute('data-delay-update') || this.props.delayUpdate\n : 0;\n\n const self = this;\n\n const updateState = function updateState() {\n self.setState(\n {\n originTooltip: originTooltip,\n isMultiline: isMultiline,\n desiredPlace: desiredPlace,\n place: place,\n type: target.getAttribute('data-type') || self.props.type || 'dark',\n customColors: {\n text:\n target.getAttribute('data-text-color') ||\n self.props.textColor ||\n null,\n background:\n target.getAttribute('data-background-color') ||\n self.props.backgroundColor ||\n null,\n border:\n target.getAttribute('data-border-color') ||\n self.props.borderColor ||\n null,\n arrow:\n target.getAttribute('data-arrow-color') ||\n self.props.arrowColor ||\n null\n },\n customRadius: {\n tooltip:\n target.getAttribute('data-tooltip-radius') ||\n self.props.tooltipRadius ||\n '3',\n arrow:\n target.getAttribute('data-arrow-radius') ||\n self.props.arrowRadius ||\n '0'\n },\n effect: effect,\n offset: offset,\n padding: target.getAttribute('data-padding') || self.props.padding,\n html:\n (target.getAttribute('data-html')\n ? target.getAttribute('data-html') === 'true'\n : self.props.html) || false,\n delayShow:\n target.getAttribute('data-delay-show') || self.props.delayShow || 0,\n delayHide:\n target.getAttribute('data-delay-hide') || self.props.delayHide || 0,\n delayUpdate:\n target.getAttribute('data-delay-update') ||\n self.props.delayUpdate ||\n 0,\n border:\n (target.getAttribute('data-border')\n ? target.getAttribute('data-border') === 'true'\n : self.props.border) || false,\n borderClass:\n target.getAttribute('data-border-class') ||\n self.props.borderClass ||\n 'border',\n extraClass:\n target.getAttribute('data-class') ||\n self.props.class ||\n self.props.className ||\n '',\n disable:\n (target.getAttribute('data-tip-disable')\n ? target.getAttribute('data-tip-disable') === 'true'\n : self.props.disable) || false,\n currentTarget: target\n },\n () => {\n if (scrollHide) {\n self.addScrollListener(self.state.currentTarget);\n }\n\n self.updateTooltip(e);\n\n if (getContent && Array.isArray(getContent)) {\n self.intervalUpdateContent = setInterval(() => {\n if (self.mount) {\n const { getContent } = self.props;\n const placeholder = getTipContent(\n originTooltip,\n '',\n getContent[0](),\n isMultiline\n );\n const isEmptyTip = self.isEmptyTip(placeholder);\n self.setState({ isEmptyTip });\n self.updatePosition();\n }\n }, getContent[1]);\n }\n }\n );\n };\n\n // If there is no delay call immediately, don't allow events to get in first.\n if (reshowDelay) {\n this.delayReshow = setTimeout(updateState, reshowDelay);\n } else {\n updateState();\n }\n }\n\n /**\n * When mouse hover, update tool tip\n */\n updateTooltip(e) {\n const { delayShow, disable } = this.state;\n const { afterShow, disable: disableProp } = this.props;\n const placeholder = this.getTooltipContent();\n const eventTarget = e.currentTarget || e.target;\n\n // Check if the mouse is actually over the tooltip, if so don't hide the tooltip\n if (this.mouseOnToolTip()) {\n return;\n }\n\n // if the tooltip is empty, disable the tooltip\n if (this.isEmptyTip(placeholder) || disable || disableProp) {\n return;\n }\n\n const delayTime = !this.state.show ? parseInt(delayShow, 10) : 0;\n\n const updateState = () => {\n if (\n (Array.isArray(placeholder) && placeholder.length > 0) ||\n placeholder\n ) {\n const isInvisible = !this.state.show;\n this.setState(\n {\n currentEvent: e,\n currentTarget: eventTarget,\n show: true\n },\n () => {\n this.updatePosition(() => {\n if (isInvisible && afterShow) {\n afterShow(e);\n }\n });\n }\n );\n }\n };\n\n if (this.delayShowLoop) {\n clearTimeout(this.delayShowLoop);\n }\n if (delayTime) {\n this.delayShowLoop = setTimeout(updateState, delayTime);\n } else {\n this.delayShowLoop = null;\n updateState();\n }\n }\n\n /*\n * If we're mousing over the tooltip remove it when we leave.\n */\n listenForTooltipExit() {\n const { show } = this.state;\n\n if (show && this.tooltipRef) {\n this.tooltipRef.addEventListener('mouseleave', this.hideTooltip);\n }\n }\n\n removeListenerForTooltipExit() {\n const { show } = this.state;\n\n if (show && this.tooltipRef) {\n this.tooltipRef.removeEventListener('mouseleave', this.hideTooltip);\n }\n }\n\n /**\n * When mouse leave, hide tooltip\n */\n hideTooltip(e, hasTarget, options = { isScroll: false }) {\n const { disable } = this.state;\n const { isScroll } = options;\n const delayHide = isScroll ? 0 : this.state.delayHide;\n const { afterHide, disable: disableProp } = this.props;\n const placeholder = this.getTooltipContent();\n if (!this.mount) return;\n if (this.isEmptyTip(placeholder) || disable || disableProp) return; // if the tooltip is empty, disable the tooltip\n if (hasTarget) {\n // Don't trigger other elements belongs to other ReactTooltip\n const targetArray = this.getTargetArray(this.props.id);\n const isMyElement = targetArray.some((ele) => ele === e.currentTarget);\n if (!isMyElement || !this.state.show) return;\n }\n\n // clean up aria-describedby when hiding tooltip\n if (e && e.currentTarget && e.currentTarget.removeAttribute) {\n e.currentTarget.removeAttribute('aria-describedby');\n }\n\n const resetState = () => {\n const isVisible = this.state.show;\n // Check if the mouse is actually over the tooltip, if so don't hide the tooltip\n if (this.mouseOnToolTip()) {\n this.listenForTooltipExit();\n return;\n }\n\n this.removeListenerForTooltipExit();\n\n this.setState({ show: false }, () => {\n this.removeScrollListener(this.state.currentTarget);\n if (isVisible && afterHide) {\n afterHide(e);\n }\n });\n };\n\n this.clearTimer();\n if (delayHide) {\n this.delayHideLoop = setTimeout(resetState, parseInt(delayHide, 10));\n } else {\n resetState();\n }\n }\n\n /**\n * When scroll, hide tooltip\n */\n hideTooltipOnScroll(event, hasTarget) {\n this.hideTooltip(event, hasTarget, { isScroll: true });\n }\n\n /**\n * Add scroll event listener when tooltip show\n * automatically hide the tooltip when scrolling\n */\n addScrollListener(currentTarget) {\n const isCaptureMode = this.isCapture(currentTarget);\n window.addEventListener('scroll', this.hideTooltipOnScroll, isCaptureMode);\n }\n\n removeScrollListener(currentTarget) {\n const isCaptureMode = this.isCapture(currentTarget);\n window.removeEventListener(\n 'scroll',\n this.hideTooltipOnScroll,\n isCaptureMode\n );\n }\n\n // Calculation the position\n updatePosition(callbackAfter) {\n const { currentEvent, currentTarget, place, desiredPlace, effect, offset } =\n this.state;\n const node = this.tooltipRef;\n const result = getPosition(\n currentEvent,\n currentTarget,\n node,\n place,\n desiredPlace,\n effect,\n offset\n );\n if (result.position && this.props.overridePosition) {\n result.position = this.props.overridePosition(\n result.position,\n currentEvent,\n currentTarget,\n node,\n place,\n desiredPlace,\n effect,\n offset\n );\n }\n\n if (result.isNewState) {\n // Switch to reverse placement\n return this.setState(result.newState, () => {\n this.updatePosition(callbackAfter);\n });\n }\n\n if (callbackAfter && typeof callbackAfter === 'function') {\n callbackAfter();\n }\n\n // Set tooltip position\n node.style.left = result.position.left + 'px';\n node.style.top = result.position.top + 'px';\n }\n\n /**\n * CLear all kinds of timeout of interval\n */\n clearTimer() {\n if (this.delayShowLoop) {\n clearTimeout(this.delayShowLoop);\n this.delayShowLoop = null;\n }\n if (this.delayHideLoop) {\n clearTimeout(this.delayHideLoop);\n this.delayHideLoop = null;\n }\n if (this.delayReshow) {\n clearTimeout(this.delayReshow);\n this.delayReshow = null;\n }\n if (this.intervalUpdateContent) {\n clearInterval(this.intervalUpdateContent);\n this.intervalUpdateContent = null;\n }\n }\n\n hasCustomColors() {\n return Boolean(\n Object.keys(this.state.customColors).find(\n (color) => color !== 'border' && this.state.customColors[color]\n ) ||\n (this.state.border && this.state.customColors['border'])\n );\n }\n\n render() {\n const { extraClass, html, ariaProps, disable, uuid } = this.state;\n const content = this.getTooltipContent();\n const isEmptyTip = this.isEmptyTip(content);\n const style = this.props.disableInternalStyle\n ? ''\n : generateTooltipStyle(\n this.state.uuid,\n this.state.customColors,\n this.state.type,\n this.state.border,\n this.state.padding,\n this.state.customRadius\n );\n\n const tooltipClass =\n '__react_component_tooltip' +\n ` ${this.state.uuid}` +\n (this.state.show && !disable && !isEmptyTip ? ' show' : '') +\n (this.state.border ? ' ' + this.state.borderClass : '') +\n ` place-${this.state.place}` + // top, bottom, left, right\n ` type-${this.hasCustomColors() ? 'custom' : this.state.type}` + // dark, success, warning, error, info, light, custom\n (this.props.delayUpdate ? ' allow_hover' : '') +\n (this.props.clickable ? ' allow_click' : '');\n\n let Wrapper = this.props.wrapper;\n\n if (ReactTooltip.supportedWrappers.indexOf(Wrapper) < 0) {\n Wrapper = ReactTooltip.defaultProps.wrapper;\n }\n\n const wrapperClassName = [tooltipClass, extraClass]\n .filter(Boolean)\n .join(' ');\n\n if (html) {\n const htmlContent = `${content}${\n style ? `\\n` : ''\n }`;\n\n return (\n (this.tooltipRef = ref)}\n {...ariaProps}\n data-id=\"tooltip\"\n dangerouslySetInnerHTML={{ __html: htmlContent }}\n />\n );\n } else {\n return (\n (this.tooltipRef = ref)}\n data-id=\"tooltip\"\n >\n {style && (\n \n )}\n {content}\n \n );\n }\n }\n}\n\nexport default ReactTooltip;\n","/**\n * Tracking target removing from DOM.\n * It's necessary to hide tooltip when it's target disappears.\n * Otherwise, the tooltip would be shown forever until another target\n * is triggered.\n *\n * If MutationObserver is not available, this feature just doesn't work.\n */\n\n// https://hacks.mozilla.org/2012/05/dom-mutationobserver-reacting-to-dom-changes-without-killing-browser-performance/\nconst getMutationObserverClass = () => {\n return (\n window.MutationObserver ||\n window.WebKitMutationObserver ||\n window.MozMutationObserver\n );\n};\n\nexport default function(target) {\n target.prototype.bindRemovalTracker = function() {\n const MutationObserver = getMutationObserverClass();\n if (MutationObserver == null) return;\n\n const observer = new MutationObserver(mutations => {\n for (let m1 = 0; m1 < mutations.length; m1++) {\n const mutation = mutations[m1];\n for (let m2 = 0; m2 < mutation.removedNodes.length; m2++) {\n const element = mutation.removedNodes[m2];\n if (element === this.state.currentTarget) {\n this.hideTooltip();\n return;\n }\n }\n }\n });\n\n observer.observe(window.document, { childList: true, subtree: true });\n\n this.removalTracker = observer;\n };\n\n target.prototype.unbindRemovalTracker = function() {\n if (this.removalTracker) {\n this.removalTracker.disconnect();\n this.removalTracker = null;\n }\n };\n}\n","/**\n * Events that should be bound to the window\n */\nimport CONSTANT from '../constant';\n\nexport default function(target) {\n target.prototype.bindWindowEvents = function(resizeHide) {\n // ReactTooltip.hide\n window.removeEventListener(CONSTANT.GLOBAL.HIDE, this.globalHide);\n window.addEventListener(CONSTANT.GLOBAL.HIDE, this.globalHide, false);\n\n // ReactTooltip.rebuild\n window.removeEventListener(CONSTANT.GLOBAL.REBUILD, this.globalRebuild);\n window.addEventListener(CONSTANT.GLOBAL.REBUILD, this.globalRebuild, false);\n\n // ReactTooltip.show\n window.removeEventListener(CONSTANT.GLOBAL.SHOW, this.globalShow);\n window.addEventListener(CONSTANT.GLOBAL.SHOW, this.globalShow, false);\n\n // Resize\n if (resizeHide) {\n window.removeEventListener('resize', this.onWindowResize);\n window.addEventListener('resize', this.onWindowResize, false);\n }\n };\n\n target.prototype.unbindWindowEvents = function() {\n window.removeEventListener(CONSTANT.GLOBAL.HIDE, this.globalHide);\n window.removeEventListener(CONSTANT.GLOBAL.REBUILD, this.globalRebuild);\n window.removeEventListener(CONSTANT.GLOBAL.SHOW, this.globalShow);\n window.removeEventListener('resize', this.onWindowResize);\n };\n\n /**\n * invoked by resize event of window\n */\n target.prototype.onWindowResize = function() {\n if (!this.mount) return;\n this.hideTooltip();\n };\n}\n","/**\n * Util method to judge if it should follow capture model\n */\n\nexport default function(target) {\n target.prototype.isCapture = function(currentTarget) {\n return (\n (currentTarget &&\n currentTarget.getAttribute('data-iscapture') === 'true') ||\n this.props.isCapture ||\n false\n );\n };\n}\n","/**\n * Util method to get effect\n */\n\nexport default function(target) {\n target.prototype.getEffect = function(currentTarget) {\n const dataEffect = currentTarget.getAttribute('data-effect');\n return dataEffect || this.props.effect || 'float';\n };\n}\n","import { v4 as uuid } from 'uuid';\n\nexport function generateUUID() {\n return 't' + uuid();\n}\n","import React, { useState } from 'react'\nimport PropTypes from 'prop-types'\nimport {\n ComposableMap,\n Geographies,\n Geography\n} from 'react-simple-maps'\n\nimport { THEME_ENUM } from 'constants/theme.constant'\nimport WorldMap from 'assets/maps/world-countries-sans-antarctica.json'\nimport shadeColor from 'utils/shadeColor'\nimport { useSelector } from 'react-redux'\nimport ReactTooltip from 'react-tooltip'\nimport { theme } from 'twin.macro'\n\nconst twColor = theme`colors`\n\nconst geoUrl = WorldMap;\nconst hoverPercentage = -10;\n\nconst { MODE_DARK } = THEME_ENUM\n\nconst getHighlightedRegion = (name, data, defaultMapColor) => {\n\tif(data.length > 0 || name) {\n\t\tfor (let i = 0; i < data.length; i++) {\n\t\t\tconst elm = data[i];\n\t\t\tif(name === elm.name) {\n\t\t\t\treturn elm.color\n\t\t\t}\n\t\t}\n\t\treturn defaultMapColor\n\t}\n\treturn defaultMapColor\n}\n\nconst getRegionHoverColor = (name, data, defaultMapColor = '') => {\n\tif(data.length > 0 || name) {\n\t\tfor (let i = 0; i < data.length; i++) {\n\t\t\tconst elm = data[i];\n\t\t\tif(name === elm.name) {\n\t\t\t\treturn shadeColor(elm.color, hoverPercentage)\n\t\t\t}\n\t\t}\n\t\treturn shadeColor(defaultMapColor, hoverPercentage)\n\t}\n\treturn shadeColor(defaultMapColor, hoverPercentage)\n}\n\nconst getRegionValue = (name, data, suffix = '', prefix = '') => {\n\tif(data.length > 0 || name) {\n\t\tfor (let i = 0; i < data.length; i++) {\n\t\t\tconst elm = data[i];\n\t\t\tif(name === elm.name) {\n\t\t\t\treturn `${elm.name} - ${prefix}${elm.value}${suffix}`\n\t\t\t}\n\t\t}\n\t\treturn ''\n\t}\n\treturn ''\n}\n\nconst MapChart = props => {\n\n\tconst { setTooltipContent, data, mapSource, suffix, prefix } = props\n\n\tconst mode = useSelector((state) => state.theme.mode)\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{({ geographies }) =>\n\t\t\t\t\tgeographies.map(geo => {\n\t\t\t\t\t\tconst geoName = geo.properties.name \n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\tsetTooltipContent(getRegionValue(geoName, data, suffix, prefix));\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tonMouseLeave={() => {\n\t\t\t\t\t\t\t\t\tsetTooltipContent(\"\");\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tstrokeWidth={2}\n\t\t\t\t\t\t\t\tfill={getHighlightedRegion(geoName, data, mode === MODE_DARK ? twColor.gray['500'] : twColor.gray['100'])}\n\t\t\t\t\t\t\t\tstroke={mode === MODE_DARK ? twColor.gray['600'] : twColor.gray['300']}\n\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\thover: {\n\t\t\t\t\t\t\t\t\t\tfill: getRegionHoverColor(geoName, data, mode === MODE_DARK ? twColor.gray['500'] : twColor.gray['100']),\n\t\t\t\t\t\t\t\t\t\toutline: \"none\"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\n\t\t\n\t)\n}\n\nconst Map = props => {\n\tconst [content, setContent] = useState(\"\");\n\treturn (\n <>\n\t\t\n\t\t{content}\n \n );\n}\n\nconst RegionMap = props => {\n\n\tconst { data, mapSource, valueSuffix, valuePrefix } = props\n\n\treturn (\n\t\t\n\t)\n}\n\nRegionMap.propTypes = {\n\tdata: PropTypes.arrayOf(PropTypes.shape({\n\t\tname: PropTypes.string.isRequired,\n\t\tvalue: PropTypes.oneOfType([\n\t\t\tPropTypes.string,\n\t\t\tPropTypes.number\n\t\t]).isRequired,\n\t})).isRequired,\n\tmapSource: PropTypes.object,\n\tvalueSuffix: PropTypes.string,\n\tvaluePrefix: PropTypes.string\n}\n\nRegionMap.defaultProps = {\n\tdata: [],\n\tmapSource: geoUrl,\n\tmapType: 'world'\n};\n\nexport default RegionMap","import React, { forwardRef } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\nimport useThemeClass from 'utils/hooks/useThemeClass'\nimport { HiCheckCircle } from 'react-icons/hi'\n\nconst SegmentItemOption = forwardRef((props, ref) => {\n\n\tconst { \n\t\tactive,\n\t\tchildren, \n\t\tclassName,\n\t\tcustomCheck,\n\t\tdefaultGutter,\n\t\tdisabled,\n\t\thoverable,\n\t\tonSegmentItemClick\n\t} = props\n\n\tconst { textTheme, borderTheme, ringTheme } = useThemeClass()\n\n\treturn (\n\t\t\n\t\t\t{children}\n\t\t\t{(active && !customCheck) && (\n\t\t\t\t\n\t\t\t)}\n\t\t\t{active && customCheck}\n\t\t
\n\t)\n})\n\nSegmentItemOption.propTypes = {\n\tactive: PropTypes.bool,\n\tdisabled: PropTypes.bool,\n\thoverable: PropTypes.bool,\n\tdefaultGutter: PropTypes.bool,\n\tcustomCheck: PropTypes.oneOfType([\n\t\tPropTypes.string,\n\t\tPropTypes.node\n\t]),\n}\n\nSegmentItemOption.defaultProps = {\n\tdefaultGutter: true\n}\n\n\nexport default SegmentItemOption","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { Skeleton } from 'components/ui'\n\nconst TextBlockSkeleton = props => {\n\n\tconst { \n\t\theight, \n\t\tlastChildWidth, \n\t\trowCount, \n\t\ttitle, \n\t\ttitleWidth \n\t} = props\n\n\treturn (\n\t\t
\n\t\t\t{\n\t\t\t\ttitle && \n\t\t\t}\n\t\t\t{Array.from(new Array(rowCount), (_,i) => i+1).map((row, index) => (\n\t\t\t\t\n\t\t\t))}\n\t\t
\n\t)\n}\n\nTextBlockSkeleton.defaultProps = {\n\trowCount: 3,\n\tlastChildWidth: '60%',\n\ttitleWidth: '40%',\n\ttitle: true\n}\n\nTextBlockSkeleton.propTypes = {\n\trowCount: PropTypes.number,\n\tlastChildWidth: PropTypes.oneOfType([\n\t\tPropTypes.string,\n\t\tPropTypes.number\n\t]),\n\theight: PropTypes.oneOfType([\n\t\tPropTypes.string,\n\t\tPropTypes.number\n\t]),\n\ttitleWidth: PropTypes.oneOfType([\n\t\tPropTypes.string,\n\t\tPropTypes.number\n\t]),\n\ttitle: PropTypes.bool,\n}\n\nexport default TextBlockSkeleton","import React from 'react'\nimport PropTypes from 'prop-types'\n\nconst TextEllipsis = props => {\n\n\tconst { text, maxTextCount } = props\n\n\treturn (\n\t\t<>\n\t\t\t{(text && text.length) > maxTextCount ? text.substring(0, (maxTextCount - 3)) + '...' : text}\n\t\t\n\t)\n}\n\nTextEllipsis.propTypes = {\n\ttext: PropTypes.string,\n}\n\nTextEllipsis.defaultProps = {\n\ttext: '',\n\tmaxTextCount: 0\n}\n\nexport default TextEllipsis","export default function acronym (name = '') {\n\tconst shortName = name.match(/\\b(\\w)/g)\n\n\tif(shortName) {\n\t\treturn shortName.join('')\n\t}\n\n\treturn name\n}","import { useCallback } from 'react'\n\nconst whiteListTwColor = [\n 'indigo-600',\n 'emerald-500',\n 'cyan-500',\n 'blue-600',\n 'teal-500',\n 'fuchsia-500',\n 'pink-500',\n 'rose-500',\n 'red-500',\n 'amber-500',\n 'violet-500',\n 'purple-500'\n]\n\nfunction useTwColorByName(prefix = 'bg') {\n\n const hashName = (name) => {\n let hash = 0\n for (let i = 0; i < name.length; i++) {\n const charCode = name.charCodeAt(i)\n hash += charCode\n }\n return hash\n }\n\n const generateTwColor = useCallback((name) => {\n const hash = hashName(name)\n const index = hash % whiteListTwColor.length\n const color = whiteListTwColor[index]\n return `${prefix}-${color} dark:${prefix}-${color}`\n }, [prefix])\n\n return generateTwColor\n}\n\nexport default useTwColorByName","import React, { useMemo } from 'react'\nimport { Avatar, Tooltip } from 'components/ui'\nimport acronym from 'utils/acronym'\nimport PropTypes from 'prop-types'\nimport useTwColorByName from 'utils/hooks/useTwColorByName'\n\nconst UsersAvatarGroup = props => {\n\n\tconst { \n\t\tavatarGroupProps, \n\t\tavatarProps,\n\t\timgKey, \n\t\tnameKey, \n\t\tonAvatarClick, \n\t\tusers,\n\t\t...rest\n\t} = props\n\n\tconst bgColor = useTwColorByName()\n\n\tconst defaultAvatarProps = useMemo(() => {\n\t\treturn {\n\t\t\tshape: 'circle',\n\t\t\tsize: 30,\n\t\t\tclassName: 'cursor-pointer',\n\t\t\t...avatarProps\n\t\t}\n\t}, [avatarProps])\n\n\tconst handleAvatarClick = avatar => {\n\t\tonAvatarClick?.(avatar)\n\t} \n\t\n\treturn (\n\t\t\n\t\t\t{users.map((elm, index) => (\n\t\t\t\t\n\t\t\t\t\t handleAvatarClick(elm)}\n\t\t\t\t\t>\n\t\t\t\t\t\t{acronym(elm.name)}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t))}\n\t\t\n\t)\n}\n\nUsersAvatarGroup.defaultProps = {\n\tavatarProps: {},\n\tavatarGroupProps: {},\n\tusers: [],\n\tnameKey: 'name',\n\timgKey: 'img'\n}\n\nUsersAvatarGroup.propTypes = {\n\tusers: PropTypes.array,\n\tavatarProps: PropTypes.object,\n\tavatarGroupProps: PropTypes.object,\n\tnameKey: PropTypes.string,\n\timgKey: PropTypes.string,\n}\n\nexport default UsersAvatarGroup\n","import React from 'react'\nimport classNames from 'classnames'\nimport PropTypes from 'prop-types'\nimport { useConfig } from '../ConfigProvider'\nimport { useForm } from '../Form/context'\nimport { useInputGroup } from '../InputGroup/context'\nimport useColorLevel from '../hooks/useColorLevel'\nimport { CONTROL_SIZES, SIZES } from '../utils/constant'\nimport Spinner from '../Spinner'\n\nconst Button = React.forwardRef((props, ref) => {\n\tconst { children, size, color, shape, variant, block, icon, className, disabled, loading, active, danger, ...rest } = props\n\tconst { themeColor, controlSize, primaryColorLevel } = useConfig()\n\tconst formControlSize = useForm()?.size\n\tconst inputGroupSize = useInputGroup()?.size\n\tconst defaultClass = 'button'\n\tconst sizeIconClass = 'inline-flex items-center justify-center'\n\t\n\tconst splitedColor = color.split('-')\n\n\tconst buttonSize = size || inputGroupSize || formControlSize || controlSize\n\tconst buttonColor = splitedColor[0] || themeColor\n\tconst buttonColorLevel = splitedColor[1] || primaryColorLevel\n\n\tconst [increaseLevel, decreaseLevel] = useColorLevel(buttonColorLevel)\n\n\tconst getButtonSize = () => {\n\t\tlet sizeClass = ''\n\t\tswitch (buttonSize) {\n\t\t\tcase SIZES.LG:\n\t\t\t\tsizeClass = classNames(\n\t\t\t\t\t`h-${CONTROL_SIZES.lg}`,\n\t\t\t\t\t(icon && !children) ? `w-${CONTROL_SIZES.lg} ${sizeIconClass} text-2xl` : 'px-8 py-2 text-base'\n\t\t\t\t)\n\t\t\t\tbreak\n\t\t\tcase SIZES.SM:\n\t\t\t\tsizeClass = classNames(\n\t\t\t\t\t`h-${CONTROL_SIZES.sm}`,\n\t\t\t\t\t(icon && !children) ? `w-${CONTROL_SIZES.sm} ${sizeIconClass} text-lg` : 'px-3 py-2 text-sm'\n\t\t\t\t)\n\t\t\t\tbreak\n\t\t\tcase SIZES.XS:\n\t\t\t\tsizeClass = classNames(\n\t\t\t\t\t`h-${CONTROL_SIZES.xs}`,\n\t\t\t\t\t(icon && !children) ? `w-${CONTROL_SIZES.xs} ${sizeIconClass} text-base` : 'px-3 py-1 text-xs'\n\t\t\t\t)\n\t\t\t\tbreak\n\t\t\tdefault:\n\t\t\t\tsizeClass = classNames(\n\t\t\t\t\t`h-${CONTROL_SIZES.md}`,\n\t\t\t\t\t(icon && !children) ? `w-${CONTROL_SIZES.md} ${sizeIconClass} text-xl` : 'px-8 py-2'\n\t\t\t\t)\n\t\t\t\tbreak\n\t\t}\n\t\treturn sizeClass\n\t}\n\n\tconst disabledClass= 'opacity-50 cursor-not-allowed'\n\n\tconst solidColor = () => {\n\t\tconst btn = {\n\t\t\tbgColor: active ? `bg-${buttonColor}-${increaseLevel}` : `bg-${buttonColor}-${buttonColorLevel}`,\n\t\t\ttextColor: 'text-white',\n\t\t\thoverColor: active ? '' : `hover:bg-${buttonColor}-${decreaseLevel}`,\n\t\t\tactiveColor: `active:bg-${buttonColor}-${increaseLevel}`\n\t\t}\n\t\treturn getBtnColor(btn)\n\t}\n\n\tconst twoToneColor = () => {\n\t\tconst btn = {\n\t\t\tbgColor: active ? `bg-${buttonColor}-200 dark:bg-${buttonColor}-50` : `bg-${buttonColor}-50 dark:bg-${buttonColor}-500 dark:bg-opacity-20`,\n\t\t\ttextColor: `text-${buttonColor}-${buttonColorLevel} dark:text-${buttonColor}-50`,\n\t\t\thoverColor: active ? '' : `hover:bg-${buttonColor}-100 dark:hover:bg-${buttonColor}-500 dark:hover:bg-opacity-30`,\n\t\t\tactiveColor: `active:bg-${buttonColor}-200 dark:active:bg-${buttonColor}-500 dark:active:bg-opacity-40`\n\t\t}\n\t\treturn getBtnColor(btn)\n\t}\n\n\tconst defaultColor = () => {\n\t\tconst btn = {\n\t\t\tbgColor: active ? `bg-gray-100 border border-gray-300 dark:bg-gray-500 dark:border-gray-500` : `bg-white border border-gray-300 dark:bg-gray-700 dark:border-gray-700`,\n\t\t\ttextColor: `text-gray-600 dark:text-gray-100`,\n\t\t\thoverColor: active ? '' : `hover:bg-gray-50 dark:hover:bg-gray-600`,\n\t\t\tactiveColor: `active:bg-gray-100 dark:active:bg-gray-500 dark:active:border-gray-500`\n\t\t}\n\t\treturn getBtnColor(btn)\n\t}\n\n\tconst plainColor = () => {\n\t\tconst btn = {\n\t\t\tbgColor: active ? `bg-gray-100 dark:bg-gray-500` : 'bg-transparent border border-transparent',\n\t\t\ttextColor: `text-gray-600 dark:text-gray-100`,\n\t\t\thoverColor: active ? '' : `hover:bg-gray-50 dark:hover:bg-gray-600`,\n\t\t\tactiveColor: `active:bg-gray-100 dark:active:bg-gray-500 dark:active:border-gray-500`\n\t\t}\n\t\treturn getBtnColor(btn)\n\t}\n\n\tconst getBtnColor = ({bgColor, hoverColor, activeColor, textColor}) => {\n\t\treturn `${bgColor} ${disabled || loading ? disabledClass : (hoverColor + ' ' + activeColor)} ${textColor}`\n\t}\n\n\tconst btnColor = () => {\n\t\tswitch (variant) {\n\t\t\tcase 'solid':\n\t\t\t\treturn solidColor()\n\t\t\tcase 'twoTone':\n\t\t\t\treturn twoToneColor()\n\t\t\tcase 'plain':\n\t\t\t\treturn plainColor()\n\t\t\tcase 'default':\n\t\t\t\treturn defaultColor()\n\t\t\tdefault:\n\t\t\t\treturn defaultColor()\n\t\t}\n\t}\n\t\n\tconst classes = classNames(\n\t\tdefaultClass,\n\t\tbtnColor(),\n\t\t`radius-${shape}`,\n\t\tgetButtonSize(),\n\t\tclassName,\n\t\tblock ? 'w-full' : ''\n\t)\n\n\tconst handleClick = (e) => {\n\t\tconst { onClick } = props\n\t\tif (disabled || loading) {\n\t\t\te.preventDefault()\n\t\t\treturn\n\t\t}\n\t\t(onClick)?.(e)\n\t}\n\n\tconst renderChildren = () => {\n\n\t\tif(loading && children) {\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t{children}\n\t\t\t\t\n\t\t\t)\n\t\t}\n\n\t\tif((icon && !children) && loading) {\n\t\t\treturn \n\t\t}\n\n\t\tif((icon && !children) && !loading) {\n\t\t\treturn <>{icon}\n\t\t}\n\n\t\tif((icon && children) && !loading) {\n\t\t\treturn (\n\t\t\t\n\t\t\t\t{icon}\n\t\t\t\t{children}\n\t\t\t\n\t\t\t)\n\t\t}\n\n\t\treturn <>{children}\n\n\t}\n\n\treturn (\n\t\t\n\t)\n})\n\nButton.propTypes = {\n\tdisabled: PropTypes.bool,\n\tloading: PropTypes.bool,\n\tblock: PropTypes.bool,\n\tshape: PropTypes.oneOf(['round', 'circle', 'none']),\n\tclassName: PropTypes.string,\n\tsize: PropTypes.oneOf([SIZES.LG, SIZES.SM, SIZES.XS, SIZES.MD]),\n\tcolor: PropTypes.string,\n\tvariant: PropTypes.oneOf(['solid', 'twoTone', 'plain', 'default']),\n\ticon: PropTypes.oneOfType([\n\t\tPropTypes.string,\n\t\tPropTypes.node\n\t]),\n\tactive: PropTypes.bool,\n}\n\nButton.defaultProps = {\n\tvariant: 'default',\n\tshape: 'round',\n\tactive: false,\n\tloading: false,\n\tdisabled: false,\n\tcolor: ''\n}\n\nexport default Button\n","import Button from './Button'\n\nexport default Button","import React from 'react'\nimport { HiX } from 'react-icons/hi'\nimport classNames from 'classnames'\n\nconst CloseButton = React.forwardRef((props, ref) => {\n\n\tconst { absolute, className, defaultStyle, svgClass, ...rest } = props\n\tconst closeButtonAbsoluteClass = 'absolute z-10'\n\n\tconst closeButtonClass = classNames(\n\t\t'close-btn',\n\t\tdefaultStyle && 'close-btn-default',\n\t\tabsolute && closeButtonAbsoluteClass,\n\t\tclassName\n\t)\n\n\treturn (\n\t\t\n\t\t\t\n\t\t
\n\t)\n})\n\nCloseButton.defaultProps = {\n\tdefaultStyle: true\n}\n\nexport default CloseButton\n","import CloseButton from './CloseButton'\n\nexport default CloseButton","import { createContext, useContext } from 'react'\nimport { SIZES } from '../utils/constant'\n\nexport const defaultConfig = {\n themeColor: 'indigo',\n direction: 'ltr',\n mode: 'light',\n locale: 'en',\n primaryColorLevel: 600,\n cardBordered: false,\n controlSize: SIZES.MD,\n navMode: 'light'\n}\n\nexport const ConfigContext = createContext(defaultConfig)\n\nconst ConfigProvider = ConfigContext.Provider\n\nexport const ConfigConsumer = ConfigContext.Consumer\n\nexport function useConfig() {\n return useContext(ConfigContext)\n}\n\nexport default ConfigProvider","import ConfigProvider, { ConfigContext, ConfigConsumer, useConfig, defaultConfig } from './ConfigProvider'\n\nexport { ConfigContext, ConfigConsumer, useConfig, defaultConfig }\n\nexport default ConfigProvider\n","import React, { useRef, forwardRef } from 'react'\nimport dayjs from 'dayjs'\nimport localizedFormat from 'dayjs/plugin/localizedFormat'\nimport Input from '../Input'\nimport useRootClose from '../hooks/useRootClose'\nimport { usePopper } from 'react-popper'\nimport useMergedRef from '../hooks/useMergeRef'\nimport { HiOutlineCalendar } from 'react-icons/hi'\nimport CloseButton from '../CloseButton'\n\ndayjs.extend(localizedFormat)\n\nconst BasePicker = forwardRef((props, ref) => {\n\n\tconst { \n\t\tinputtable,\n\t\tclassName,\n\t\tclearButton,\n\t\tchildren,\n\t\tform,\n\t\tfield,\n\t\tsize,\n\t\tinputLabel,\n\t\tinputPrefix,\n\t\tinputSuffix = ,\n\t\tclearable = true,\n\t\tplaceholder,\n\t\tname,\n\t\tdropdownOpened,\n \tsetDropdownOpened,\n\t\tonDropdownOpen,\n\t\tonDropdownClose,\n\t\tonBlur,\n\t\tonFocus,\n\t\tonChange,\n\t\tonKeyDown,\n\t\tonClear,\n\t\tdisabled,\n\t\ttype\n\t} = props\n\n\tconst handleInputClick = () => {\n\t\t!inputtable ? toggleDropdown() : openDropdown()\n\t}\n\n\tconst closeDropdown = () => {\n\t\tsetDropdownOpened(false)\n\t\tonDropdownClose?.()\n\t}\n\n\tconst suffixIconSlot = (\n\t\tclearable ? (
{clearButton || }
) : <>{inputSuffix}\n\t)\n\n\tconst toggleDropdown = () => {\n\t\tsetDropdownOpened(!dropdownOpened)\n\t\t!dropdownOpened ? onDropdownOpen?.() : onDropdownClose?.()\n\t}\n\n\tconst openDropdown = () => {\n\t\tsetDropdownOpened(true)\n\t\tonDropdownOpen?.()\n\t}\n\n\tconst handleKeyDown = (event) => {\n\t\ttypeof onKeyDown === 'function' && onKeyDown(event)\n\t\tif ((event.key === 'Space' || event.key === 'Enter') && !inputtable) {\n\t\t\tevent.preventDefault()\n\t\t\topenDropdown()\n\t\t}\n\t}\n\n\tconst handleInputBlur = (event) => {\n\t\ttypeof onBlur === 'function' && onBlur(event)\n\t\tif (inputtable) {\n\t\t\tcloseDropdown()\n\t\t}\n\t}\n\n\tconst handleInputFocus = (event) => {\n\t\ttypeof onFocus === 'function' && onFocus(event)\n\t\tif (inputtable) {\n\t\t\topenDropdown()\n\t\t}\n\t}\n\n\tconst referenceRef = useRef(null)\n\tconst popperRef = useRef(null)\n\n\tconst { styles, attributes } = usePopper(\n\t\treferenceRef.current,\n\t\tpopperRef.current,\n\t\t{\n\t\t\tplacement: 'bottom-start',\n\t\t\tmodifiers: [\n\t\t\t\t{\n\t\t\t\t\tname: 'offset',\n\t\t\t\t\tenabled: true,\n\t\t\t\t\toptions: {\n\t\t\t\t\t\toffset: [0, 10]\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\t)\n\n\tuseRootClose(() => closeDropdown(), {\n\t\ttriggerTarget: referenceRef,\n\t\toverlayTarget: popperRef,\n\t\tdisabled: !dropdownOpened,\n\t\tlistenEscape: false\n\t})\n\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\t
\n\t\t\t\t{dropdownOpened &&
{children}
}\n\t\t\t
\n\t\t\n\t)\n})\n\nexport default BasePicker","import React from 'react'\nimport classNames from 'classnames'\nimport Button from '../../Buttons'\nimport { HiChevronRight, HiChevronLeft } from 'react-icons/hi'\n\nconst Header = (props) => {\n\n\tconst {\n\t\thasNext,\n\t\thasPrevious,\n\t\tonNext,\n\t\tonPrevious,\n\t\tonNextLevel,\n\t\tclassName,\n\t\tlabel,\n\t\tnextLevelDisabled,\n\t\tstyle,\n\t\tnextLabel,\n\t\tpreviousLabel,\n\t\tpreventLevelFocus = false,\n\t\trenderCenter = false,\n\t\tpreventFocus,\n\t\tchildren,\n\t\t...rest\n\t} = props\n\n\tconst headerLabel = (\n\t\t preventFocus && event.preventDefault()}\n\t\t>\n\t\t\t{label}\n\t\t\n\t)\n\n\tconst renderChildren = children ? children : headerLabel\n\n\treturn (\n\t\t
\n\t\t\t{!renderCenter && renderChildren}\n\t\t\t
\n\t\t\t\t}\n\t\t\t\t\tdisabled={!hasPrevious}\n\t\t\t\t\tonClick={onPrevious}\n\t\t\t\t\taria-label={previousLabel}\n\t\t\t\t\tonMouseDown={(event) => preventFocus && event.preventDefault()}\n\t\t\t\t/>\n\t\t\t\t{renderCenter && renderChildren}\n\t\t\t\t}\n\t\t\t\t\tdisabled={!hasNext}\n\t\t\t\t\tonClick={onNext}\n\t\t\t\t\taria-label={nextLabel}\n\t\t\t\t\tonMouseDown={(event) => preventFocus && event.preventDefault()}\n\t\t\t\t/>\n\t\t\t
\n\t\t
\n\t)\n}\n\nexport default Header","\nimport React, { forwardRef } from 'react'\nimport classNames from 'classnames'\nimport { useConfig } from '../../../ConfigProvider'\n\nfunction getDayTabIndex({ focusable, hasValue, selected, firstInMonth }) {\n\tif (!focusable) {\n\t\treturn -1\n\t}\n\n\tif (hasValue) {\n\t\treturn selected ? 0 : -1\n\t}\n\n\treturn firstInMonth ? 0 : -1\n}\n\nconst Day = forwardRef((props, ref) => {\n\n\tconst {\n\t\tclassName,\n\t\tvalue,\n\t\tselected,\n\t\tweekend,\n\t\toutOfMonth,\n\t\tonMouseEnter,\n\t\tstyles,\n\t\thasValue,\n\t\tfirstInRange,\n\t\tlastInRange,\n\t\tinRange,\n\t\tisToday,\n\t\tfullWidth,\n\t\tfirstInMonth,\n\t\tfocusable,\n\t\thideOutOfMonthDates,\n\t\trenderDay,\n\t\tdisabled,\n\t\t...others\n\t} = props\n\n\tconst { themeColor, primaryColorLevel } = useConfig()\n\n\treturn (\n\t\t onMouseEnter(value, event)}\n\t\t\ttabIndex={getDayTabIndex({ focusable, hasValue, selected, firstInMonth })}\n\t\t\tclassName={\n\t\t\t\tclassNames(\n\t\t\t\t\t'date-picker-cell-content',\n\t\t\t\t\tdisabled && 'date-picker-cell-disabled',\n\t\t\t\t\tisToday && `border border-${themeColor}-${primaryColorLevel}`,\n\t\t\t\t\t(weekend && !disabled) && 'date-picker-cell-weekend',\n\t\t\t\t\t(outOfMonth && !disabled) && 'date-picker-other-month',\n\t\t\t\t\t(outOfMonth && hideOutOfMonthDates) && 'd-none',\n\t\t\t\t\t(!outOfMonth && !disabled && !selected) && 'date-picker-cell-current-month',\n\t\t\t\t\t(!disabled && !selected && !inRange) && 'date-picker-cell-hoverable',\n\t\t\t\t\t(selected && !disabled) && `bg-${themeColor}-${primaryColorLevel} text-gray-100`,\n\t\t\t\t\t(inRange && !disabled && !firstInRange && !lastInRange && !selected) && `bg-${themeColor}-${primaryColorLevel} bg-opacity-10`,\n\t\t\t\t\t(!inRange && !firstInRange && !lastInRange) && 'rounded-lg',\n\t\t\t\t\t(firstInRange && !disabled) && 'ltr:rounded-tl-lg ltr:rounded-bl-lg rtl:rounded-tr-lg rtl:rounded-br-lg',\n\t\t\t\t\t(lastInRange && !disabled) && 'ltr:rounded-tr-lg ltr:rounded-br-lg rtl:rounded-tl-lg rtl:rounded-bl-lg',\n\t\t\t\t\tclassName\n\t\t\t\t)\n\t\t\t}\n\t\t>\n\t\t\t{typeof renderDay === 'function' ? renderDay(value) : value?.getDate()}\n\t\t\n\t)\n})\n\nexport default Day","export default function isWeekend(date, weekendDays = [0, 6]) {\n return weekendDays.includes(date.getDay())\n}","import dayjs from 'dayjs'\n\nexport default function isDisabled({\n minDate,\n maxDate,\n disableDate,\n disableOutOfMonth,\n date,\n outOfMonth,\n}) {\n const isAfterMax = maxDate instanceof Date && dayjs(maxDate).isBefore(date, 'day')\n const isBeforeMin = minDate instanceof Date && dayjs(minDate).isAfter(date, 'day')\n const shouldExclude = typeof disableDate === 'function' && disableDate(date)\n const disabledOutside = !!disableOutOfMonth && !!outOfMonth\n return isAfterMax || isBeforeMin || shouldExclude || disabledOutside\n}","import { isSameDate } from '../../../utils'\nimport isWeekend from './isWeekend'\nimport isOutside from './isOutside'\nimport isDisabled from './isDisabled'\nimport getRangeProps from './getRangeProps'\n\nexport default function getDayProps(props) {\n\n const {\n date,\n month,\n hasValue,\n minDate,\n maxDate,\n value,\n disableDate,\n disableOutOfMonth,\n range,\n weekendDays,\n } = props\n\n const outOfMonth = isOutside(date, month)\n const selected = hasValue && (Array.isArray(value) ? value.some((val) => isSameDate(val, date)) : isSameDate(date, value))\n const { inRange, lastInRange, firstInRange, selectedInRange } = getRangeProps(date, range)\n\n return {\n disabled: isDisabled({ minDate, maxDate, disableDate, disableOutOfMonth, date, outOfMonth }),\n weekend: isWeekend(date, weekendDays),\n selectedInRange,\n selected,\n inRange,\n firstInRange,\n lastInRange,\n outOfMonth\n }\n}","import { isSameMonth } from '../../../utils'\n\nexport default function isOutside(date, month) {\n return !isSameMonth(date, month)\n}","import dayjs from 'dayjs'\nimport { isSameDate } from '../../../utils'\n\nexport default function getRangeProps(date, range) {\n const hasRange = Array.isArray(range) && range.every((val) => val instanceof Date)\n const inclusiveRange = hasRange && [\n dayjs(range[0]).subtract(1, 'day'),\n dayjs(range[1]).add(1, 'day'),\n ]\n\n const firstInRange = hasRange && isSameDate(date, range[0])\n const lastInRange = hasRange && isSameDate(date, range[1])\n const inRange =\n hasRange &&\n dayjs(date).isAfter(inclusiveRange[0], 'day') &&\n dayjs(date).isBefore(inclusiveRange[1], 'day')\n\n return { firstInRange, lastInRange, inRange, selectedInRange: firstInRange || lastInRange }\n}","import React, { useMemo, forwardRef } from 'react'\nimport classNames from 'classnames'\nimport dayjs from 'dayjs'\nimport Day from './Day'\nimport getDayProps from './props/getDayProps'\nimport { isSameDate, getWeekdaysNames, getMonthDays } from '../../utils'\nimport { useConfig } from '../../../ConfigProvider'\n\nconst noop = () => false\n\nconst Month = forwardRef((props, ref) => {\n\n\tconst {\n\t\tclassName,\n\t\tmonth,\n\t\tvalue,\n\t\tonChange,\n\t\tdisableOutOfMonth,\n\t\tlocale,\n\t\tdayClassName,\n\t\tdayStyle,\n\t\tstyles,\n\t\tminDate,\n\t\tmaxDate,\n\t\tdisableDate,\n\t\tonDayMouseEnter,\n\t\trange,\n\t\thideWeekdays,\n\t\tfullWidth,\n\t\tpreventFocus,\n\t\tfocusable,\n\t\tfirstDayOfWeek,\n\t\tonDayKeyDown,\n\t\tdaysRefs,\n\t\thideOutOfMonthDates,\n\t\tisDateInRange = noop,\n\t\tisDateFirstInRange = noop,\n\t\tisDateLastInRange = noop,\n\t\trenderDay,\n\t\tweekdayLabelFormat,\n\t\tweekendDays,\n\t\t...rest\n\t} = props\n\n\tconst { locale: themeLocale } = useConfig()\n\n\tconst finalLocale = locale || themeLocale\n\tconst days = getMonthDays(month, firstDayOfWeek)\n\n\tconst weekdays = getWeekdaysNames(finalLocale, firstDayOfWeek, weekdayLabelFormat).map(\n\t\t(weekday) => (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{weekday}\n\t\t\t\t\n\t\t\t\n\t\t)\n\t)\n\n\tconst hasValue = Array.isArray(value) ? value.every((item) => item instanceof Date) : value instanceof Date\n\n\tconst hasValueInMonthRange = \n\t\tvalue instanceof Date \n\t\t&& dayjs(value).isAfter(dayjs(month).startOf('month')) \n\t\t&& dayjs(value).isBefore(dayjs(month).endOf('month'))\n\n\tconst firstIncludedDay = useMemo(() => days.flatMap((_) => _).find((date) => {\n\t\tconst dayProps = getDayProps({\n\t\t\tdate,\n\t\t\tmonth,\n\t\t\thasValue,\n\t\t\tminDate,\n\t\t\tmaxDate,\n\t\t\tvalue,\n\t\t\tdisableDate,\n\t\t\tdisableOutOfMonth,\n\t\t\trange,\n\t\t\tweekendDays,\n\t\t})\n\n\t\treturn !dayProps.disabled && !dayProps.outOfMonth\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}) || dayjs(month).startOf('month').toDate(),[])\n\n\tconst rows = days.map((row, rowIndex) => {\n\t\tconst cells = row.map((date, cellIndex) => {\n\n\t\t\tconst dayProps = getDayProps({\n\t\t\t\tdate,\n\t\t\t\tmonth,\n\t\t\t\thasValue,\n\t\t\t\tminDate,\n\t\t\t\tmaxDate,\n\t\t\t\tvalue,\n\t\t\t\tdisableDate,\n\t\t\t\tdisableOutOfMonth,\n\t\t\t\trange,\n\t\t\t\tweekendDays,\n\t\t\t})\n\n\t\t\tconst onKeyDownPayload = { rowIndex, cellIndex, date }\n\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\t {\n\t\t\t\t\t\t\tif (daysRefs) {\n\t\t\t\t\t\t\t\tif (!Array.isArray(daysRefs[rowIndex])) {\n\t\t\t\t\t\t\t\t\tdaysRefs[rowIndex] = []\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tdaysRefs[rowIndex][cellIndex] = button\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tonClick={() => typeof onChange === 'function' && onChange(date)}\n\t\t\t\t\t\tonMouseDown={(event) => preventFocus && event.preventDefault()}\n\t\t\t\t\t\toutOfMonth={dayProps.outOfMonth}\n\t\t\t\t\t\tweekend={dayProps.weekend}\n\t\t\t\t\t\tinRange={dayProps.inRange || isDateInRange(date, dayProps)}\n\t\t\t\t\t\tfirstInRange={dayProps.firstInRange || isDateFirstInRange(date, dayProps)}\n\t\t\t\t\t\tlastInRange={dayProps.lastInRange || isDateLastInRange(date, dayProps)}\n\t\t\t\t\t\tfirstInMonth={isSameDate(date, firstIncludedDay)}\n\t\t\t\t\t\tselected={dayProps.selected || dayProps.selectedInRange}\n\t\t\t\t\t\thasValue={hasValueInMonthRange}\n\t\t\t\t\t\tonKeyDown={(event) =>\n\t\t\t\t\t\t\ttypeof onDayKeyDown === 'function' && onDayKeyDown(onKeyDownPayload, event)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclassName={typeof dayClassName === 'function' ? dayClassName(date, dayProps) : null}\n\t\t\t\t\t\tstyle={typeof dayStyle === 'function' ? dayStyle(date, dayProps) : null}\n\t\t\t\t\t\tdisabled={dayProps.disabled}\n\t\t\t\t\t\tonMouseEnter={typeof onDayMouseEnter === 'function' ? onDayMouseEnter : noop}\n\t\t\t\t\t\tfullWidth={fullWidth}\n\t\t\t\t\t\tfocusable={focusable}\n\t\t\t\t\t\thideOutOfMonthDates={hideOutOfMonthDates}\n\t\t\t\t\t\tstyles={styles}\n\t\t\t\t\t\trenderDay={renderDay}\n\t\t\t\t\t\tisToday={isSameDate(date, new Date())}\n\t\t\t\t\t\tvalue={date}\n\t\t\t\t\t/>\n\t\t\t\t\n\t\t\t)\n\t\t})\n\n\t\treturn (\n\t\t\t\n\t\t\t\t{cells}\n\t\t\t\n\t\t)\n\t})\n\n\treturn (\n\t\t\n\t\t\t{!hideWeekdays && (\n\t\t\t\t\n\t\t\t\t\t{weekdays}\n\t\t\t\t\n\t\t\t)}\n\t\t\t{rows}\n\t\t
\n\t)\n})\n\nMonth.defaultProps = {\n\tdisableOutOfMonth: false,\n\thideWeekdays: false,\n\tsize: 'sm',\n\tfullWidth: false,\n\tpreventFocus: false,\n\tfocusable: true,\n\tfirstDayOfWeek: 'monday',\n\thideOutOfMonthDates: false,\n\tweekendDays: [0, 6]\n}\n\nexport default Month","import React from 'react'\nimport classNames from 'classnames'\nimport dayjs from 'dayjs'\nimport { isMonthInRange } from '../utils/isMonthInRange'\nimport Header from './Header'\nimport Month from './components/Month'\nimport capitalize from '../../utils/capitalize'\nimport { useConfig } from '../../ConfigProvider'\n\nfunction formatMonthLabel({ month, locale, format }) {\n\treturn capitalize(dayjs(month).locale(locale).format(format))\n}\n\nconst DateTable = (props) => {\n\n\tconst {\n\t\tdateViewCount,\n\t\tpaginateBy,\n\t\tmonth,\n\t\tlocale,\n\t\tminDate,\n\t\tmaxDate,\n\t\tenableHeaderLabel,\n\t\tdaysRefs,\n\t\tonMonthChange,\n\t\tonNextLevel,\n\t\tonDayKeyDown,\n\t\tclassName,\n\t\tlabelFormat,\n\t\tweekdayLabelFormat,\n\t\tpreventFocus,\n\t\trenderDay,\n\t\t...rest\n\t} = props\n\n\tconst nextMonth = dayjs(month).add(dateViewCount, 'months').toDate()\n\tconst previousMonth = dayjs(month).subtract(1, 'months').toDate()\n\n\tconst { themeColor, primaryColorLevel } = useConfig()\n\n\tconst pickerHeaderLabelClass = `picker-header-label hover:text-${themeColor}-${primaryColorLevel}`\n\n\tconst months = Array(dateViewCount).fill(0).map((_, index) => {\n\t\tconst monthDate = dayjs(month).add(index, 'months').toDate()\n\t\treturn (\n\t\t\t
\n\t\t\t\t onMonthChange(dayjs(month).add(paginateBy, 'months').toDate())}\n\t\t\t\t\tonPrevious={() => onMonthChange(dayjs(month).subtract(paginateBy, 'months').toDate())}\n\t\t\t\t\tclassName={className}\n\t\t\t\t\trenderCenter={dateViewCount > 1}\n\t\t\t\t>\n\t\t\t\t\t
\n\t\t\t\t\t\t onNextLevel('month')}\n\t\t\t\t\t\t\ttabIndex={index > 0 ? -1 : 0}\n\t\t\t\t\t\t\tonMouseDown={(event) => preventFocus && event.preventDefault()}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{formatMonthLabel({ month: monthDate, locale, format: labelFormat?.month || 'MMM' })}\n\t\t\t\t\t\t\n\t\t\t\t\t\t onNextLevel('year')}\n\t\t\t\t\t\t\ttabIndex={index > 0 ? -1 : 0}\n\t\t\t\t\t\t\tonMouseDown={(event) => preventFocus && event.preventDefault()}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{formatMonthLabel({ month: monthDate, locale, format: labelFormat?.year || 'YYYY' })}\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\n\t\t\t\t onDayKeyDown(index, ...args)}\n\t\t\t\t\tminDate={minDate}\n\t\t\t\t\tmaxDate={maxDate}\n\t\t\t\t\tclassName={className}\n\t\t\t\t\tlocale={locale}\n\t\t\t\t\tfocusable={index === 0}\n\t\t\t\t\tpreventFocus={preventFocus}\n\t\t\t\t\trenderDay={renderDay}\n\t\t\t\t\tweekdayLabelFormat={weekdayLabelFormat}\n\t\t\t\t\t{...rest}\n\t\t\t\t/>\n\t\t\t
\n\t\t)\n\t})\n\n\treturn (\n\t\t<>{months}\n\t)\n}\n\nexport default DateTable","import React from 'react'\nimport classNames from 'classnames'\nimport Header from './Header'\nimport { useConfig } from '../../ConfigProvider'\nimport { isMonthInRange, getMonthsNames, formatYear } from '../utils'\n\nconst MonthTable = (props) => {\n\n const {\n className,\n value,\n onChange,\n locale,\n year,\n onYearChange,\n onNextLevel,\n minDate,\n maxDate,\n preventFocus,\n monthLabelFormat = 'MMM',\n yearLabelFormat = 'YYYY',\n ...rest\n } = props\n\n const { themeColor, primaryColorLevel } = useConfig()\n\n const range = getMonthsNames(locale, monthLabelFormat)\n const minYear = minDate instanceof Date ? minDate.getFullYear() : undefined\n const maxYear = maxDate instanceof Date ? maxDate.getFullYear() : undefined\n\n\n const months = range.map((month, index) => {\n\n const disabled = !isMonthInRange({ date: new Date(year, index), minDate, maxDate })\n\n const active = index === value.month && year === value.year\n\n return (\n onChange(index)}\n className={classNames(\n 'year-picker-cell',\n (active && !disabled) && `bg-${themeColor}-${primaryColorLevel} text-white month-picker-cell-active`,\n (!active && !disabled) && 'hover:bg-gray-100',\n disabled && 'month-picker-cell-disabled'\n )} \n disabled={disabled}\n onMouseDown={(event) => preventFocus && event.preventDefault()}\n >\n {month}\n \n )\n })\n \n return (\n
\n minYear : true}\n onNext={() => onYearChange(year + 1)}\n onPrevious={() => onYearChange(year - 1)}\n onNextLevel={onNextLevel}\n className={className}\n nextLabel={'Next year'}\n\t\t\t\tpreviousLabel={'Previous year'}\n preventFocus={preventFocus}\n />\n
\n {months}\n
\n
\n )\n}\n\nexport default MonthTable","import React, { useState } from 'react'\nimport classNames from 'classnames'\nimport Header from './Header'\nimport { getDecadeRange, formatYear } from '../utils'\nimport { useConfig } from '../../ConfigProvider'\n\nconst YearTable = (props) => {\n\n\tconst {\n\t\tclassName,\n\t\tvalue,\n\t\tonChange,\n\t\tminYear,\n\t\tmaxYear,\n\t\tpreventFocus,\n\t\tyearLabelFormat = 'YYYY',\n\t\t...rest\n\t} = props\n\n\tconst { themeColor, primaryColorLevel } = useConfig()\n\n\tconst [decade, setDecade] = useState(value)\n\tconst range = getDecadeRange(decade)\n\n\tconst years = range.map((year) => {\n\n\t\tconst disabled = (year < minYear) || (year > maxYear)\n\n\t\tconst active = year === value\n\n\t\treturn (\n\t\t\t onChange(year)}\n\t\t\t\tdisabled={disabled}\n\t\t\t\tonMouseDown={(event) => preventFocus && event.preventDefault()}\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'year-picker-cell',\n\t\t\t\t\t(active && !disabled) && `bg-${themeColor}-${primaryColorLevel} text-white year-picker-cell-active`,\n\t\t\t\t\t(!active && !disabled) && 'hover:bg-gray-100',\n\t\t\t\t\tdisabled && 'year-picker-cell-disabled'\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t{formatYear(year, yearLabelFormat)}\n\t\t\t\n\t\t)\n\t})\n\n\treturn (\n\t\t
\n\t\t\t range[range.length - 1] : true}\n\t\t\t\tonNext={() => setDecade((current) => current + 10)}\n\t\t\t\tonPrevious={() => setDecade((current) => current - 10)}\n\t\t\t\tnextLevelDisabled\n\t\t\t\tnextLabel={'Next decade'}\n\t\t\t\tpreviousLabel={'Previous decade'}\n\t\t\t\tpreventFocus={preventFocus}\n\t\t\t/>\n\t\t\t
\n\t\t\t\t{years}\n\t\t\t
\n\t\t
\n\t)\n}\n\nexport default YearTable","import React, { useRef, useState, forwardRef } from 'react'\nimport classNames from 'classnames'\nimport useControllableState from '../hooks/useControllableState'\nimport { useConfig } from '../ConfigProvider'\nimport DateTable from './tables/DateTable'\nimport MonthTable from './tables/MonthTable'\nimport YearTable from './tables/YearTable'\n\nconst CalendarBase = forwardRef((props, ref) => {\n\n\tconst {\n\t\tclassName,\n\t\tdateViewCount = 1,\n\t\tdayClassName,\n\t\tdayStyle,\n\t\tdefaultMonth,\n\t\tdefaultView = 'date',\n\t\tdisableDate,\n\t\tdisableOutOfMonth,\n\t\tenableHeaderLabel = true,\n\t\tfirstDayOfWeek = 'monday',\n\t\thideOutOfMonthDates,\n\t\thideWeekdays,\n\t\tisDateFirstInRange,\n\t\tisDateInRange,\n\t\tisDateLastInRange,\n\t\tlabelFormat = 'MMMM YYYY',\n\t\tlocale,\n\t\tmaxDate,\n\t\tminDate,\n\t\tmonth,\n\t\tmonthLabelFormat = 'MMM',\n\t\tonChange,\n\t\tonDayMouseEnter,\n\t\tonMonthChange,\n\t\tpaginateBy = dateViewCount,\n\t\tpreventFocus,\n\t\trange,\n\t\trenderDay,\n\t\tstyle,\n\t\tvalue,\n\t\tweekdayLabelFormat = 'dd',\n\t\tweekendDays,\n\t\tyearLabelFormat = 'YYYY',\n\t\t...rest\n\t} = props\n\n\tconst { locale: themeLocale } = useConfig()\n\n\tconst [selectionState, setSelectionState] = useState(defaultView)\n\n\tconst finalLocale = locale || themeLocale\n\n\tconst daysRefs = useRef(Array(dateViewCount).fill(0).map(() => []))\n\n\tconst [_month, setMonth] = useControllableState({\n\t\tprop: month,\n\t\tdefaultProp: defaultMonth !== undefined ? defaultMonth : new Date(),\n\t\tonChange: onMonthChange,\n\t})\n\n\tconst [yearSelection, setYearSelection] = useState(_month.getFullYear())\n\tconst [monthSelection, setMonthSelection] = useState(_month.getMonth())\n\n\tconst minYear = minDate instanceof Date ? minDate.getFullYear() : 100\n const maxYear = maxDate instanceof Date ? maxDate.getFullYear() : 10000\n\n const daysPerRow = 6\n\n\tconst focusOnNextFocusableDay = (direction, monthIndex, payload, n = 1 ) => {\n\t\tconst changeRow = ['down', 'up'].includes(direction)\n\n\t\tconst rowIndex = changeRow\n\t\t\t? payload.rowIndex + (direction === 'down' ? n : -n)\n\t\t\t: payload.rowIndex\n\n\t\tconst cellIndex = changeRow\n\t\t\t? payload.cellIndex\n\t\t\t: payload.cellIndex + (direction === 'right' ? n : -n)\n\n\t\tconst dayToFocus = daysRefs.current[monthIndex][rowIndex][cellIndex]\n\n\t\tif (!dayToFocus) {\n\t\t\treturn\n\t\t}\n\n\t\tif (dayToFocus.disabled) {\n\t\t\tfocusOnNextFocusableDay(direction, monthIndex, payload, n + 1)\n\t\t} else {\n\t\t\tdayToFocus.focus()\n\t\t}\n\t}\n \n\tconst handleDayKeyDown = (monthIndex, payload, event) => {\n\t\tswitch (event.key) {\n\t\t\tcase 'ArrowDown': {\n\t\t\t\tevent.preventDefault()\n\n\t\t\t\tconst hasRowBelow = payload.rowIndex + 1 < daysRefs.current[monthIndex].length\n\t\t\t\tif (hasRowBelow) {\n\t\t\t\t\tfocusOnNextFocusableDay('down', monthIndex, payload)\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tcase 'ArrowUp': {\n\t\t\t\tevent.preventDefault()\n\n\t\t\t\tconst hasRowAbove = payload.rowIndex > 0\n\t\t\t\tif (hasRowAbove) {\n\t\t\t\t\tfocusOnNextFocusableDay('up', monthIndex, payload)\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tcase 'ArrowRight': {\n\t\t\t\tevent.preventDefault()\n\n\t\t\t\tconst isNotLastCell = payload.cellIndex !== daysPerRow\n\t\t\t\tif (isNotLastCell) {\n\t\t\t\t\tfocusOnNextFocusableDay('right', monthIndex, payload)\n\t\t\t\t} else if (monthIndex + 1 < dateViewCount) {\n\t\t\t\t\tif (daysRefs.current[monthIndex + 1][payload.rowIndex]) {\n\t\t\t\t\t\tdaysRefs.current[monthIndex + 1][payload.rowIndex][0]?.focus()\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tcase 'ArrowLeft': {\n\t\t\t\tevent.preventDefault()\n\n\t\t\t\tif (payload.cellIndex !== 0) {\n\t\t\t\t\tfocusOnNextFocusableDay('left', monthIndex, payload)\n\t\t\t\t} else if (monthIndex > 0) {\n\t\t\t\t\tif (daysRefs.current[monthIndex - 1][payload.rowIndex]) {\n\t\t\t\t\t\tdaysRefs.current[monthIndex - 1][payload.rowIndex][daysPerRow].focus()\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t}\n\t\t\tdefault:\n\t\t\t\tbreak\n\t\t}\n\t}\n\n\treturn (\n\t\t
\n\t\t\t{selectionState === 'year' && (\n\t\t\t\t {\n\t\t\t\t\t\tsetMonth(new Date(year, monthSelection, 1))\n\t\t\t\t\t\tsetYearSelection(year)\n\t\t\t\t\t\tsetSelectionState('date')\n\t\t\t\t\t}}\n\t\t\t\t\tclassName={className}\n\t\t\t\t\tpreventFocus={preventFocus}\n\t\t\t\t\tyearLabelFormat={yearLabelFormat}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t{selectionState === 'month' && (\n\t\t\t\t setSelectionState('year')}\n\t\t\t\t\tlocale={finalLocale}\n\t\t\t\t\tminDate={minDate}\n\t\t\t\t\tmaxDate={maxDate}\n\t\t\t\t\tonChange={(monthValue) => {\n\t\t\t\t\t\tsetMonth(new Date(yearSelection, monthValue, 1))\n\t\t\t\t\t\tsetMonthSelection(monthValue)\n\t\t\t\t\t\tsetSelectionState('date')\n\t\t\t\t\t}}\n\t\t\t\t\tclassName={className}\n\t\t\t\t\tstyle={style}\n\t\t\t\t\tpreventFocus={preventFocus}\n\t\t\t\t\tyearLabelFormat={yearLabelFormat}\n\t\t\t\t\tmonthLabelFormat={monthLabelFormat}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t{selectionState === 'date' && (\n\t\t\t\t setSelectionState(view)}\n\t\t\t\t\tonDayKeyDown={handleDayKeyDown}\n\t\t\t\t\tstyle={style}\n\t\t\t\t\tdayClassName={dayClassName}\n\t\t\t\t\tdayStyle={dayStyle}\n\t\t\t\t\tdisableOutOfMonth={disableOutOfMonth}\n\t\t\t\t\tdisableDate={disableDate}\n\t\t\t\t\thideWeekdays={hideWeekdays}\n\t\t\t\t\tpreventFocus={preventFocus}\n\t\t\t\t\tfirstDayOfWeek={firstDayOfWeek}\n\t\t\t\t\tvalue={value}\n\t\t\t\t\trange={range}\n\t\t\t\t\tonChange={onChange}\n\t\t\t\t\tlabelFormat={labelFormat}\n\t\t\t\t\tweekdayLabelFormat={weekdayLabelFormat}\n\t\t\t\t\tonDayMouseEnter={onDayMouseEnter}\n\t\t\t\t\trenderDay={renderDay}\n\t\t\t\t\thideOutOfMonthDates={hideOutOfMonthDates}\n\t\t\t\t\tisDateInRange={isDateInRange}\n\t\t\t\t\tisDateFirstInRange={isDateFirstInRange}\n\t\t\t\t\tisDateLastInRange={isDateLastInRange}\n\t\t\t\t\tweekendDays={weekendDays}\n\t\t\t\t/>\n\t\t\t)}\n\t\t
\n\t)\n})\n\nexport default CalendarBase","import React, { useState, useRef, forwardRef } from 'react'\nimport dayjs from 'dayjs'\nimport useControllableState from '../hooks/useControllableState'\nimport useMergedRef from '../hooks/useMergeRef'\nimport capitalize from '../utils/capitalize'\nimport RangeCalendar from './RangeCalendar'\nimport BasePicker from './BasePicker'\nimport { useConfig } from '../ConfigProvider'\n\nconst validationRule = (val) =>\n Array.isArray(val) && val.length === 2 && val.every((v) => v instanceof Date)\n\nconst isFirstDateSet = (val) =>\n Array.isArray(val) && val.length === 2 && val[0] instanceof Date\n\nconst DatePickerRange = forwardRef((props, ref) => {\n\n\tconst {\n\t\tclassName,\n\t\tclearable,\n\t\tclearButton,\n\t\tclosePickerOnChange,\n\t\tdateViewCount,\n\t\tdayClassName,\n\t\tdayStyle,\n\t\tdefaultMonth,\n\t\tdefaultOpen,\n\t\tdefaultValue,\n\t\tdefaultView,\n\t\tdisabled,\n\t\tdisableDate,\n\t\tenableHeaderLabel,\n\t\tdisableOutOfMonth,\n\t\tfirstDayOfWeek,\n\t\thideOutOfMonthDates,\n\t\thideWeekdays,\n\t\tinputFormat,\n\t\tinputPrefix,\n\t\tinputSuffix,\n\t\tlabelFormat,\n\t\tseperator,\n\t\tlocale,\n\t\tmaxDate,\n\t\tminDate,\n\t\tonChange,\n\t\tonDropdownClose,\n\t\tonDropdownOpen,\n\t\topenPickerOnClear,\n\t\trenderDay,\n\t\tsingleDate,\n\t\tsize,\n\t\tstyle,\n\t\tvalue,\n\t\tweekendDays,\n\t\tyearLabelFormat,\n\t\t...rest\n\t} = props\n\n\tconst { locale: themeLocale } = useConfig()\n\n\tconst finalLocale = locale || themeLocale\n\n\tconst dateFormat = inputFormat || 'YYYY-MM-DD'\n\n\tconst [dropdownOpened, setDropdownOpened] = useState(defaultOpen)\n\n\tconst inputRef = useRef()\n\n\tconst [_value, setValue] = useControllableState({\n\t\tprop: value,\n\t\tdefaultProp: defaultValue !== undefined ? defaultValue : [null, null],\n\t\tonChange,\n\t})\n\n\tconst handleValueChange = (range) => {\n\t\tsetValue(range)\n\t\tif (closePickerOnChange && validationRule(range)) {\n\t\t\tsetDropdownOpened(false)\n\t\t\tonDropdownClose?.()\n\t\t\twindow.setTimeout(() => inputRef.current?.focus(), 0)\n\t\t}\n\t}\n\n\tconst valueValid = validationRule(_value)\n const firstValueValid = isFirstDateSet(_value)\n\n\tconst firstDateLabel = _value[0] ? capitalize(dayjs(_value[0]).locale(finalLocale).format(dateFormat)) : ''\n\n\tconst secondDateLabel = _value[1] ? capitalize(dayjs(_value[1]).locale(finalLocale).format(dateFormat)) : ''\n\n\tconst handleClear = () => {\n\t\tsetValue([null, null])\n\t\tsetDropdownOpened(true)\n\t\topenPickerOnClear && onDropdownOpen?.()\n\t\tinputRef.current?.focus()\n\t}\n\n\tconst handleDropdownToggle = (isOpened) => {\n\t\tif (!isOpened && firstValueValid && _value[1] === null) {\n\t\t\thandleClear()\n\t\t}\n\t\tsetDropdownOpened(isOpened)\n\t}\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t)\n})\n\nDatePickerRange.defaultProps = {\n\tclosePickerOnChange: true,\n\tlabelFormat: {\n\t\tmonth: 'MMM',\n\t\tyear: 'YYYY'\n\t},\n\tdefaultOpen: false,\n\tseperator: '~',\n\tclearable: true,\n\tfirstDayOfWeek: 'monday',\n\tsingleDate: false,\n\tdateViewCount: 1,\n\topenPickerOnClear: false,\n}\n\nexport default DatePickerRange","import React, { useState, forwardRef } from 'react'\nimport dayjs from 'dayjs'\nimport { isSameDate } from './utils/isSameDate'\nimport CalendarBase from './CalendarBase'\n\nconst RangeCalendar = forwardRef((props, ref) => {\n\n\tconst {\n\t\tvalue,\n\t\tonChange,\n\t\tdayStyle,\n\t\tonMouseLeave,\n\t\tsingleDate,\n\t\tdateViewCount,\n\t\tpaginateBy,\n\t\t...rest\n\t} = props\n\n\tconst [hoveredDay, setHoveredDay] = useState(null)\n\tconst [pickedDate, setPickedDate] = useState(null)\n\n\tconst setRangeDate = (date) => {\n\t\tif (pickedDate instanceof Date) {\n\t\t\tif (isSameDate(date, pickedDate) && !singleDate) {\n\t\t\t\tsetPickedDate(null)\n\t\t\t\tsetHoveredDay(null)\n\t\t\t\treturn null\n\t\t\t}\n\n\t\t\tconst result = [date, pickedDate]\n\t\t\tresult.sort((a, b) => a.getTime() - b.getTime())\n\t\t\tonChange(result)\n\t\t\tsetPickedDate(null)\n\t\t\treturn null\n\t\t}\n\n\t\tif (value[0] && isSameDate(date, value[0]) && !singleDate) {\n\t\t\tsetPickedDate(null)\n\t\t\tsetHoveredDay(null)\n\t\t\tonChange([null, null])\n\t\t\treturn null\n\t\t}\n\n\t\tonChange([date, null])\n\t\tsetPickedDate(date)\n\t\treturn null\n\t}\n\n\tconst handleMouseLeave = (event) => {\n\t\ttypeof onMouseLeave === 'function' && onMouseLeave(event)\n\t\tsetHoveredDay(null)\n\t}\n \n\tconst shouldHighlightDate = (date, modifiers) => {\n\t\tif (pickedDate instanceof Date && hoveredDay instanceof Date) {\n\t\t\tconst result = [hoveredDay, pickedDate]\n\t\t\tresult.sort((a, b) => a.getTime() - b.getTime())\n\t\t\treturn (\n\t\t\t\t!modifiers.selected &&\n\t\t\t\tdayjs(date).subtract(1, 'day').isBefore(result[1]) &&\n\t\t\t\tdayjs(date).add(1, 'day').isAfter(result[0])\n\t\t\t)\n\t\t}\n\n\t\treturn false\n\t}\n\n\tconst isPickedDateFirstInRange = (date, modifiers) => {\n\t\tif (pickedDate instanceof Date && hoveredDay instanceof Date) {\n\t\t\tconst result = [hoveredDay, pickedDate]\n\t\t\tresult.sort((a, b) => a.getTime() - b.getTime())\n\t\t\treturn modifiers.selected && dayjs(date).isBefore(result[1])\n\t\t}\n\n\t\treturn false\n\t}\n\n\tconst isPickedDateLastInRange = (date, modifiers) => {\n\t\tif (pickedDate instanceof Date && hoveredDay instanceof Date) {\n\t\t\tconst result = [hoveredDay, pickedDate]\n\t\t\tresult.sort((a, b) => a.getTime() - b.getTime())\n\t\t\treturn modifiers.selected && dayjs(date).isAfter(result[0])\n\t\t}\n\n\t\treturn false\n\t}\n\n\treturn (\n\t\t setHoveredDay(date)}\n\t\t\tonChange={setRangeDate}\n\t\t\tvalue={pickedDate}\n\t\t\trange={value}\n\t\t\tdateViewCount={dateViewCount}\n\t\t\tpaginateBy={paginateBy || dateViewCount}\n\t\t\thideOutOfMonthDates={dateViewCount > 1}\n\t\t\tisDateInRange={shouldHighlightDate}\n\t\t\tisDateFirstInRange={isPickedDateFirstInRange}\n\t\t\tisDateLastInRange={isPickedDateLastInRange}\n\t\t\t{...rest}\n\t\t/>\n\t)\n})\n\nRangeCalendar.defaultProps = {\n\tsingleDate: false,\n \tdateViewCount: 1,\n}\n\nexport default RangeCalendar","import dayjs from 'dayjs'\n\nexport function formatYear(year, format) {\n return dayjs(new Date(year, 1, 1)).format(format)\n}","export function getDecadeRange(year) {\n const rounded = year - (year % 10) - 1\n const range = []\n for (let i = 0; i < 12; i += 1) {\n const rangeYear = rounded + i\n range.push(rangeYear)\n }\n\n return range\n}","export function getStartOfWeek(date, firstDayOfWeek = 'monday') {\n const value = new Date(date)\n const day = value.getDay() || 7\n const isSunday = firstDayOfWeek === 'sunday'\n\n const clampToFirstDay = isSunday ? day : day - 1\n\n if ((isSunday && day !== 0) || day !== 1) {\n value.setHours(-24 * clampToFirstDay)\n }\n\n return value\n}","export function getEndOfWeek(date, firstDayOfWeek = 'monday') {\n\tconst value = new Date(date)\n\tconst day = value.getDay()\n\tconst isSunday = firstDayOfWeek === 'sunday'\n\n\tconst clampToLastDay = 7 - (isSunday ? day + 1 : day)\n\n\tif ((isSunday && day !== 6) || day !== 0) {\n\t\tvalue.setDate(value.getDate() + clampToLastDay)\n\t}\n\n\treturn value\n}","import { getStartOfWeek } from './getStartOfWeek';\nimport { getEndOfWeek } from './getEndOfWeek';\n\nexport function getMonthDays(month, firstDayOfWeek = 'monday') {\n const currentMonth = month.getMonth()\n const startOfMonth = new Date(month.getFullYear(), currentMonth, 1)\n const endOfMonth = new Date(month.getFullYear(), month.getMonth() + 1, 0)\n const endDate = getEndOfWeek(endOfMonth, firstDayOfWeek)\n const date = getStartOfWeek(startOfMonth, firstDayOfWeek)\n const weeks = []\n\n while (date <= endDate) {\n const days = []\n\n for (let i = 0; i < 7; i += 1) {\n days.push(new Date(date))\n date.setDate(date.getDate() + 1)\n }\n\n weeks.push(days)\n }\n\n return weeks\n}","import dayjs from 'dayjs'\n\nexport function getMonthsNames(locale, format = 'MMM') {\n const names = []\n const date = new Date(2021, 0, 1)\n\n for (let i = 0; i < 12; i += 1) {\n names.push(dayjs(date).locale(locale).format(format))\n date.setMonth(date.getMonth() + 1)\n }\n\n return names\n}","import dayjs from 'dayjs'\nimport { getStartOfWeek } from './getStartOfWeek'\n\nexport function getWeekdaysNames(locale, firstDayOfWeek = 'monday', format = 'dd') {\n const names = []\n const date = getStartOfWeek(new Date(), firstDayOfWeek)\n\n for (let i = 0; i < 7; i += 1) {\n names.push(dayjs(date).locale(locale).format(format))\n date.setDate(date.getDate() + 1)\n }\n\n return names\n}","import dayjs from 'dayjs'\n\nexport function isMonthInRange({ date, minDate, maxDate }) {\n const hasMinDate = minDate instanceof Date\n const hasMaxDate = maxDate instanceof Date\n\n if (!hasMaxDate && !hasMinDate) {\n return true\n }\n\n const endOfMonth = dayjs(date).endOf('month')\n const startOfMonth = dayjs(date).startOf('month')\n const maxInRange = hasMaxDate ? startOfMonth.isBefore(maxDate) : true\n const minInRange = hasMinDate ? endOfMonth.isAfter(minDate) : true\n return maxInRange && minInRange\n}","import { isSameMonth } from './isSameMonth'\n\nexport function isSameDate(date, comparison) {\n return isSameMonth(date, comparison) && date.getDate() === comparison.getDate()\n}","export function isSameMonth(date, comparison) {\n return (\n date.getFullYear() === comparison.getFullYear() && date.getMonth() === comparison.getMonth()\n )\n}","import { createContext, useContext } from 'react'\n\nconst FormContext = createContext()\n\nexport const FormContextProvider = FormContext.Provider\n\nexport const FormContextConsumer = FormContext.Consumer\n\nexport function useForm() {\n return useContext(FormContext)\n}\n\nexport default FormContext","import React, { useState, useEffect, useMemo, useRef } from 'react'\nimport classNames from 'classnames'\nimport PropTypes from 'prop-types'\nimport { useConfig } from '../ConfigProvider'\nimport { useForm } from '../Form/context'\nimport { useInputGroup } from '../InputGroup/context'\nimport { CONTROL_SIZES, SIZES } from '../utils/constant'\nimport isEmpty from 'lodash/isEmpty'\nimport isNil from 'lodash/isNil'\nimport get from 'lodash/get'\n\nconst Input = React.forwardRef((props, ref) => {\n\n\tconst {\n\t\tasElement: Component,\n\t\tclassName,\n\t\tdisabled,\n\t\tinvalid,\n\t\tprefix,\n\t\tsize,\n\t\tsuffix,\n\t\ttextArea,\n\t\ttype, \n\t\tstyle,\n\t\tunstyle,\n\t\tfield,\n\t\tform,\n\t\t...rest \n\t} = props\n\n\tconst [prefixGutter, setPrefixGutter] = useState(0)\n\tconst [suffixGutter, setSuffixGutter] = useState(0)\n\t\n\tconst { themeColor, controlSize, primaryColorLevel, direction } = useConfig()\n\tconst formControlSize = useForm()?.size\n\tconst inputGroupSize = useInputGroup()?.size\n\n\tconst inputSize = size || inputGroupSize || formControlSize || controlSize \n\n\tconst fixControlledValue = val => {\n\t\tif (typeof val === 'undefined' || val === null) {\n\t\t\treturn ''\n\t\t}\n\t\treturn val\n\t}\n\n\tif ('value' in props) {\n\t\trest.value = fixControlledValue(props.value)\n\t\tdelete rest.defaultValue\n\t}\n\n\tconst isInvalid = useMemo(() => {\n\t\tlet validate = false\n\t\tif(!isEmpty(form)) {\n\t\t\tconst { touched, errors } = form\n\t\t\tconst touchedField = get(touched, field.name)\n\t\t\tconst errorField = get(errors, field.name)\n\t\t\tvalidate = touchedField && errorField\n\t\t}\n\t\tif(typeof invalid === 'boolean') {\n\t\t\tvalidate = invalid\n\t\t}\n\t\treturn validate\n\t}, [form, invalid, field])\n\n\tconst inputDefaultClass = 'input'\n\tconst inputSizeClass = `input-${inputSize} h-${CONTROL_SIZES[inputSize]}`\n\tconst inputFocusClass = `focus:ring-${themeColor}-${primaryColorLevel} focus-within:ring-${themeColor}-${primaryColorLevel} focus-within:border-${themeColor}-${primaryColorLevel} focus:border-${themeColor}-${primaryColorLevel}`\n\tconst inputWrapperClass = `input-wrapper ${prefix || suffix ? className : ''}`\n\tconst inputClass = classNames(\n\t\tinputDefaultClass,\n\t\t!textArea && inputSizeClass,\n\t\t!isInvalid && inputFocusClass, \n\t\t(!prefix && !suffix ? className : ''),\n\t\tdisabled && 'input-disabled',\n\t\tisInvalid && 'input-invalid',\n\t\ttextArea && 'input-textarea'\n\t)\n\n\tconst prefixNode = useRef()\n\tconst suffixNode = useRef()\n\n\tconst getAffixSize = () => {\n\n\t\tif (!prefixNode.current && !suffixNode.current) {\n\t\t\treturn\n\t\t}\n\t\tconst prefixNodeWidth = prefixNode?.current?.offsetWidth \n\t\tconst suffixNodeWidth = suffixNode?.current?.offsetWidth\n\n\t\tif(isNil(prefixNodeWidth) && isNil(suffixNodeWidth)) {\n\t\t\treturn\n\t\t}\n\n\t\tif(prefixNodeWidth) {\n\t\t\tsetPrefixGutter(prefixNodeWidth)\n\t\t}\n\n\t\tif(suffixNodeWidth) {\n\t\t\tsetSuffixGutter(suffixNodeWidth)\n\t\t}\n\t}\n\n\tuseEffect(() => {\n\t\tgetAffixSize()\n\t}, [prefix, suffix])\n\n\tconst remToPxConvertion = pixel => (0.0625 * pixel)\n\n\tconst affixGutterStyle = () => {\n\t\tconst leftGutter = `${remToPxConvertion(prefixGutter) + 1}rem`\n\t\tconst rightGutter = `${remToPxConvertion(suffixGutter) + 1}rem`\n\t\tlet gutterStyle = {}\n\n\t\tif(direction === 'ltr') {\n\t\t\tif(prefix) {\n\t\t\t\tgutterStyle.paddingLeft = leftGutter\n\t\t\t}\n\t\n\t\t\tif(suffix) {\n\t\t\t\tgutterStyle.paddingRight = rightGutter\n\t\t\t}\n\t\t}\n\n\t\tif(direction === 'rtl') {\n\t\t\tif(prefix) {\n\t\t\t\tgutterStyle.paddingRight = leftGutter\n\t\t\t}\n\t\n\t\t\tif(suffix) {\n\t\t\t\tgutterStyle.paddingLeft = rightGutter\n\t\t\t}\n\t\t}\n\t\t\t\n\t\treturn gutterStyle\n\t}\n\n\tconst inputProps = {\n\t\tclassName: !unstyle ? inputClass : '',\n\t\tdisabled,\n\t\ttype,\n\t\tref,\n\t\t...field,\n\t\t...rest\n\t}\n\n\tconst renderTextArea = (\n\t\t\n\t)\n\n\tconst renderInput = (\n\t\t\n\t)\n\n\tconst renderAffixInput = (\n\t\t\n\t\t\t{prefix ?
(prefixNode.current = node)}> {prefix}
: null}\n\t\t\t{renderInput}\n\t\t\t{suffix ?
(suffixNode.current = node)}>{suffix}
: null}\n\t\t
\n\t)\n\n\tconst renderChildren = () => {\n\n\t\tif(textArea) {\n\t\t\treturn renderTextArea\n\t\t}\n\n\t\tif (prefix || suffix) {\n\t\t\treturn renderAffixInput\n\t\t} else {\n\t\t\treturn renderInput\n\t\t}\n\t}\n\n\treturn (\n\t\trenderChildren()\n\t)\n})\n\nInput.propTypes = {\n\tasElement: PropTypes.string,\n\ttype: PropTypes.string,\n\tclassName: PropTypes.string,\n\tsize: PropTypes.oneOf([SIZES.LG, SIZES.SM, SIZES.MD]),\n\tvalue: PropTypes.any,\n\tinvalid: PropTypes.bool,\n\tsuffix: PropTypes.oneOfType([\n\t\tPropTypes.string,\n\t\tPropTypes.node\n\t]),\n\tprefix: PropTypes.oneOfType([\n\t\tPropTypes.string,\n\t\tPropTypes.node\n\t]),\n\tunstyle: PropTypes.bool\n}\n\nInput.defaultProps = {\n\ttype: 'text',\n\tasElement: 'input',\n\tclassName: '',\n\tunstyle: false\n}\n\nexport default Input\n","import Input from './Input'\n\nexport default Input","import { createContext, useContext } from 'react'\n\nconst InputGroupContext = createContext()\n\nexport const InputGroupContextProvider = InputGroupContext.Provider\n\nexport const InputGroupContextConsumer = InputGroupContext.Consumer\n\nexport function useInputGroup() {\n return useContext(InputGroupContext)\n}\n\nexport default InputGroupContext","import React from 'react'\nimport classNames from 'classnames'\nimport PropTypes from 'prop-types'\nimport { useConfig } from '../ConfigProvider'\nimport { CgSpinner } from 'react-icons/cg'\n\nconst Spinner = React.forwardRef((props, ref) => {\n\n const { \n className, \n color,\n enableTheme, \n indicator: Component, \n isSpining, \n size, \n style,\n ...rest \n } = props\n\n const { themeColor, primaryColorLevel } = useConfig()\n\n const spinnerColor = color || (enableTheme && `${themeColor}-${primaryColorLevel}`)\n\n const spinnerStyle = {\n height: size,\n width: size,\n ...style\n }\n\n const spinnerClass = classNames(\n isSpining && 'animate-spin',\n spinnerColor && `text-${spinnerColor}`, \n className\n )\n\n return (\n \n )\n})\n\nSpinner.defaultProps = {\n indicator: CgSpinner,\n isSpining: true,\n size: 20,\n enableTheme: true\n}\n\nSpinner.propTypes = {\n\tsize: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number\n ]),\n color: PropTypes.string,\n indicator: PropTypes.elementType,\n isSpining: PropTypes.bool,\n enableTheme: PropTypes.bool,\n}\n\nexport default Spinner\n","// THIS FILE IS AUTO GENERATED\nimport { GenIcon } from '../lib';\nexport function CgAbstract (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 5H19V19H16L16 8H5V5Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M10 19C12.7614 19 15 16.7614 15 14C15 11.2386 12.7614 9 10 9C7.23858 9 5 11.2386 5 14C5 16.7614 7.23858 19 10 19ZM10 16C11.1046 16 12 15.1046 12 14C12 12.8954 11.1046 12 10 12C8.89543 12 8 12.8954 8 14C8 15.1046 8.89543 16 10 16Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgAddR (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 6C12.5523 6 13 6.44772 13 7V11H17C17.5523 11 18 11.4477 18 12C18 12.5523 17.5523 13 17 13H13V17C13 17.5523 12.5523 18 12 18C11.4477 18 11 17.5523 11 17V13H7C6.44772 13 6 12.5523 6 12C6 11.4477 6.44772 11 7 11H11V7C11 6.44772 11.4477 6 12 6Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M5 22C3.34315 22 2 20.6569 2 19V5C2 3.34315 3.34315 2 5 2H19C20.6569 2 22 3.34315 22 5V19C22 20.6569 20.6569 22 19 22H5ZM4 19C4 19.5523 4.44772 20 5 20H19C19.5523 20 20 19.5523 20 19V5C20 4.44772 19.5523 4 19 4H5C4.44772 4 4 4.44772 4 5V19Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgAdd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12ZM12 4C7.58172 4 4 7.58172 4 12C4 16.4183 7.58172 20 12 20C16.4183 20 20 16.4183 20 12C20 7.58172 16.4183 4 12 4Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M13 7C13 6.44772 12.5523 6 12 6C11.4477 6 11 6.44772 11 7V11H7C6.44772 11 6 11.4477 6 12C6 12.5523 6.44772 13 7 13H11V17C11 17.5523 11.4477 18 12 18C12.5523 18 13 17.5523 13 17V13H17C17.5523 13 18 12.5523 18 12C18 11.4477 17.5523 11 17 11H13V7Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgAdidas (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.3294 19L0.731323 17.9641L5.06145 15.4641L7.1029 19H1.3294Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.1858 19H9.4123L5.7935 12.7321L10.1236 10.2321L15.1858 19Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M23.2687 19H17.4952L10.8557 7.5L15.1858 5L23.2687 19Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgAirplane (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.00967 5.12761H11.0097C12.1142 5.12761 13.468 5.89682 14.0335 6.8457L16.5089 11H21.0097C21.562 11 22.0097 11.4477 22.0097 12C22.0097 12.5523 21.562 13 21.0097 13H16.4138L13.9383 17.1543C13.3729 18.1032 12.0191 18.8724 10.9145 18.8724H8.91454L12.4138 13H5.42485L3.99036 15.4529H1.99036L4.00967 12L4.00967 11.967L2.00967 8.54712H4.00967L5.44417 11H12.5089L9.00967 5.12761Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgAlarm (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.45887 2L1 6.01478L2.33826 7.50107L6.79713 3.48629L5.45887 2Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 8H13V12H16V14H11V8Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M3 12C3 7.02944 7.02944 3 12 3C16.9706 3 21 7.02944 21 12C21 16.9706 16.9706 21 12 21C7.02944 21 3 16.9706 3 12ZM5 12C5 8.13401 8.13401 5 12 5C15.866 5 19 8.13401 19 12C19 15.866 15.866 19 12 19C8.13401 19 5 15.866 5 12Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18.5411 2L23 6.01478L21.6617 7.50107L17.2029 3.48629L18.5411 2Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgAlbum (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M2 19C2 20.6569 3.34315 22 5 22H19C20.6569 22 22 20.6569 22 19V5C22 3.34315 20.6569 2 19 2H5C3.34315 2 2 3.34315 2 5V19ZM20 19C20 19.5523 19.5523 20 19 20H5C4.44772 20 4 19.5523 4 19V5C4 4.44772 4.44772 4 5 4H10V12.0111L12.395 12.0112L14.0001 9.86419L15.6051 12.0112H18.0001L18 4H19C19.5523 4 20 4.44772 20 5V19ZM16 4H12V9.33585L14.0001 6.66046L16 9.33571V4Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgAlignBottom (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 10H17V16H13V10Z\",\"fill\":\"currentColor\",\"fillOpacity\":\"0.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 4H7V16H11V4Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 18H6V20H18V18Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgAlignCenter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 13H15V17H9V13Z\",\"fill\":\"currentColor\",\"fillOpacity\":\"0.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 7H18V11H6V7Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgAlignLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 13H14V17H8V13Z\",\"fill\":\"currentColor\",\"fillOpacity\":\"0.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 6H4V18H6V6Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 7H8V11H20V7Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgAlignMiddle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 9H17V15H13V9Z\",\"fill\":\"currentColor\",\"fillOpacity\":\"0.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 6H11V18H7V6Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgAlignRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M15.9991 13.0039L9.99907 12.9911L9.99054 16.9911L15.9905 17.0039L15.9991 13.0039Z\",\"fill\":\"currentColor\",\"fillOpacity\":\"0.5\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M19.978 18.0021L20.0036 6.00214L18.0036 5.99788L17.978 17.9979L19.978 18.0021Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M3.9964 10.9851L15.9964 11.0107L16.0049 7.0107L4.00493 6.98512L3.9964 10.9851Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgAlignTop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M13.0352 7.98797L13.0374 13.988L17.0374 13.9865L17.0352 7.98653L13.0352 7.98797Z\",\"fill\":\"currentColor\",\"fillOpacity\":\"0.5\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M17.9996 4.01189L5.99963 4.01837L6.00038 6.01837L18.0004 6.01189L17.9996 4.01189Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M11.0374 19.9864L11.0321 7.98637L7.03207 7.98813L7.03736 19.9881L11.0374 19.9864Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgAnchor (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M15 6C15 7.30622 14.1652 8.41746 13 8.82929V16.874C14.7252 16.4299 16 14.8638 16 13H18C18 15.973 15.8377 18.441 13 18.917V20C13 20.5523 12.5523 21 12 21C11.4477 21 11 20.5523 11 20V18.917C8.16229 18.441 6 15.973 6 13H8C8 14.8638 9.27477 16.4299 11 16.874V8.82929C9.83481 8.41746 9 7.30622 9 6C9 4.34315 10.3431 3 12 3C13.6569 3 15 4.34315 15 6ZM12 7C12.5523 7 13 6.55228 13 6C13 5.44772 12.5523 5 12 5C11.4477 5 11 5.44772 11 6C11 6.55228 11.4477 7 12 7Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgAppleWatch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M16.4975 5.02988C16.4973 5.07798 16.4959 5.12581 16.4934 5.17335C17.662 5.58332 18.5 6.69628 18.5 8.00496V9.00493H19.5V13.0049H18.5V16.005C18.5 17.3129 17.663 18.4254 16.4953 18.8359C16.4984 18.8919 16.5 18.9482 16.5 19.005C16.5 20.6618 15.1569 22.005 13.5 22.005H9.5C7.84315 22.005 6.5 20.6618 6.5 19.005C6.5 18.9482 6.50158 18.8919 6.50468 18.8359C5.33705 18.4254 4.5 17.3129 4.5 16.005V8.00496C4.5 6.69767 5.33618 5.58568 6.50286 5.17465C6.49907 5.11032 6.4973 5.04546 6.49763 4.98011C6.50587 3.32328 7.85569 1.98683 9.51252 1.99508L13.5125 2.01499C15.1693 2.02324 16.5058 3.37305 16.4975 5.02988ZM8.49764 5.00496H14.4975C14.4922 4.45954 14.0498 4.01769 13.5025 4.01496L9.50257 3.99505C8.95029 3.99231 8.50035 4.43779 8.4976 4.99006L8.49764 5.00496ZM15.7049 7.02596L11.4846 7.00496H7.5C6.94772 7.00496 6.5 7.45267 6.5 8.00496V16.005C6.5 16.5568 6.94696 17.0042 7.4986 17.005H15.5014C16.053 17.0042 16.5 16.5568 16.5 16.005V8.00496C16.5 7.52289 16.1589 7.12049 15.7049 7.02596ZM8.5 19.005C8.5 19.5572 8.94772 20.005 9.5 20.005H13.5C14.0523 20.005 14.5 19.5572 14.5 19.005H8.5Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgArrangeBack (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M3 3H11V7H17V13H21V21H13V17H7V11H3V3ZM15 13H13V15H9V11H11V9H15V13Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgArrangeFront (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M3 3H11V7H17V13H21V21H13V17H7V11H3V3ZM15 9H9V15H15V9Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgArrowAlignH (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 7H11V17H13V7Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.99996 7.75732L7.41418 9.17154L5.58572 11L9.99996 11V13L5.58579 13L7.41418 14.8284L5.99996 16.2426L1.75732 12L5.99996 7.75732Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 16.2427L16.5858 14.8285L18.4143 13H14V11L18.4142 11L16.5858 9.17161L18 7.75739L22.2427 12L18 16.2427Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgArrowAlignV (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 11L7 13H17V11H7Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.75732 18L9.17154 16.5858L11 18.4143V14H13V18.4142L14.8284 16.5858L16.2426 18L12 22.2427L7.75732 18Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.2427 5.99996L14.8285 7.41418L13 5.58572V9.99996H11L11 5.58579L9.17161 7.41418L7.75739 5.99996L12 1.75732L16.2427 5.99996Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgArrowBottomLeftO (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 10.0367L8.00002 10.0367L8 16.0367L14 16.0367L14 14.0367L11.4143 14.0366L16.7438 8.7071L15.3296 7.29289L10 12.6224L10 10.0367Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M23 12C23 18.0751 18.0751 23 12 23C5.92487 23 1 18.0751 1 12C1 5.92487 5.92487 1 12 1C18.0751 1 23 5.92487 23 12ZM21 12C21 16.9706 16.9706 21 12 21C7.02944 21 3 16.9706 3 12C3 7.02944 7.02944 3 12 3C16.9706 3 21 7.02944 21 12Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgArrowBottomLeftR (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 10.0367H8V16.0367H14V14.0367H11.4142L16.7438 8.70712L15.3296 7.2929L10 12.6225V10.0367Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M1 5C1 2.79086 2.79086 1 5 1H19C21.2091 1 23 2.79086 23 5V19C23 21.2091 21.2091 23 19 23H5C2.79086 23 1 21.2091 1 19V5ZM5 3H19C20.1046 3 21 3.89543 21 5V19C21 20.1046 20.1046 21 19 21H5C3.89543 21 3 20.1046 3 19V5C3 3.89543 3.89543 3 5 3Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgArrowBottomLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18.2426 7.17154L16.8284 5.75732L7.75739 14.8283L7.75739 10.2427H5.75739L5.75739 18.2427H13.7574V16.2427L9.17144 16.2427L18.2426 7.17154Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgArrowBottomRightO (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.0367 10.0367H16.0367V16.0367H10.0367V14.0367H12.6225L7.29297 8.70713L8.70718 7.29291L14.0367 12.6225L14.0367 10.0367Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M23 12C23 18.0751 18.0751 23 12 23C5.92487 23 1 18.0751 1 12C1 5.92487 5.92487 1 12 1C18.0751 1 23 5.92487 23 12ZM21 12C21 16.9706 16.9706 21 12 21C7.02944 21 3 16.9706 3 12C3 7.02944 7.02944 3 12 3C16.9706 3 21 7.02944 21 12Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgArrowBottomRightR (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.0367 10.0367H16.0367V16.0367H10.0367V14.0367H12.6225L7.29297 8.70713L8.70718 7.29292L14.0367 12.6225L14.0367 10.0367Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M1 5C1 2.79086 2.79086 1 5 1H19C21.2091 1 23 2.79086 23 5V19C23 21.2091 21.2091 23 19 23H5C2.79086 23 1 21.2091 1 19V5ZM5 3H19C20.1046 3 21 3.89543 21 5V19C21 20.1046 20.1046 21 19 21H5C3.89543 21 3 20.1046 3 19V5C3 3.89543 3.89543 3 5 3Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgArrowBottomRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.75739 7.17154L7.1716 5.75732L16.2426 14.8283L16.2426 10.2427H18.2426L18.2426 18.2427H10.2426V16.2427L14.8285 16.2427L5.75739 7.17154Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgArrowDownO (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.8285 12.0259L16.2427 13.4402L12 17.6828L7.7574 13.4402L9.17161 12.0259L11 13.8544V6.31724H13V13.8544L14.8285 12.0259Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M19.7782 19.7782C15.4824 24.0739 8.51759 24.0739 4.22183 19.7782C-0.0739417 15.4824 -0.0739417 8.51759 4.22183 4.22183C8.51759 -0.0739419 15.4824 -0.0739419 19.7782 4.22183C24.0739 8.51759 24.0739 15.4824 19.7782 19.7782ZM18.364 18.364C14.8492 21.8787 9.15076 21.8787 5.63604 18.364C2.12132 14.8492 2.12132 9.15076 5.63604 5.63604C9.15076 2.12132 14.8492 2.12132 18.364 5.63604C21.8787 9.15076 21.8787 14.8492 18.364 18.364Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgArrowDownR (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.8284 12.0259L16.2426 13.4402L12 17.6828L7.75733 13.4402L9.17155 12.0259L11 13.8544V6.31724H13V13.8544L14.8284 12.0259Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M1 5C1 2.79086 2.79086 1 5 1H19C21.2091 1 23 2.79086 23 5V19C23 21.2091 21.2091 23 19 23H5C2.79086 23 1 21.2091 1 19V5ZM5 3H19C20.1046 3 21 3.89543 21 5V19C21 20.1046 20.1046 21 19 21H5C3.89543 21 3 20.1046 3 19V5C3 3.89543 3.89543 3 5 3Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgArrowDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.0001 3.67157L13.0001 3.67157L13.0001 16.4999L16.2426 13.2574L17.6568 14.6716L12 20.3284L6.34314 14.6716L7.75735 13.2574L11.0001 16.5001L11.0001 3.67157Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgArrowLeftO (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.9481 14.8285L10.5339 16.2427L6.29122 12L10.5339 7.7574L11.9481 9.17161L10.1196 11H17.6568V13H10.1196L11.9481 14.8285Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M4.22183 19.7782C-0.0739419 15.4824 -0.0739419 8.51759 4.22183 4.22183C8.51759 -0.0739419 15.4824 -0.0739419 19.7782 4.22183C24.0739 8.51759 24.0739 15.4824 19.7782 19.7782C15.4824 24.0739 8.51759 24.0739 4.22183 19.7782ZM5.63604 18.364C2.12132 14.8492 2.12132 9.15076 5.63604 5.63604C9.15076 2.12132 14.8492 2.12132 18.364 5.63604C21.8787 9.15076 21.8787 14.8492 18.364 18.364C14.8492 21.8787 9.15076 21.8787 5.63604 18.364Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgArrowLeftR (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.9481 14.8285L10.5339 16.2427L6.29126 12L10.5339 7.7574L11.9481 9.17161L10.1197 11H17.6568V13H10.1197L11.9481 14.8285Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M23 19C23 21.2091 21.2091 23 19 23H5C2.79086 23 1 21.2091 1 19V5C1 2.79086 2.79086 1 5 1H19C21.2091 1 23 2.79086 23 5V19ZM19 21H5C3.89543 21 3 20.1046 3 19V5C3 3.89543 3.89543 3 5 3H19C20.1046 3 21 3.89543 21 5V19C21 20.1046 20.1046 21 19 21Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgArrowLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20.3284 11.0001V13.0001L7.50011 13.0001L10.7426 16.2426L9.32842 17.6568L3.67157 12L9.32842 6.34314L10.7426 7.75735L7.49988 11.0001L20.3284 11.0001Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgArrowLongDownC (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M10.9991 6.84976C9.83339 6.43819 8.99813 5.32671 8.99813 4.02014C8.99813 2.36329 10.3413 1.02014 11.9981 1.02014C13.655 1.02014 14.9981 2.36329 14.9981 4.02014C14.9981 5.32601 14.1638 6.43701 12.9991 6.84911L13.0121 19.1375L14.8244 17.315L16.2426 18.7253L12.0119 22.9799L7.75739 18.7491L9.16763 17.3309L11.0122 19.1652L10.9991 6.84976ZM11.9981 5.02014C11.4458 5.02014 10.9981 4.57243 10.9981 4.02014C10.9981 3.46786 11.4458 3.02014 11.9981 3.02014C12.5504 3.02014 12.9981 3.46786 12.9981 4.02014C12.9981 4.57243 12.5504 5.02014 11.9981 5.02014Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgArrowLongDownE (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M14.998 1.02014H8.99801V7.02014H10.9991L11.012 19.1652L9.16751 17.3309L7.75726 18.7491L12.0118 22.9799L16.2427 18.7253L14.8246 17.315L13.012 19.1378L12.9991 7.02014H14.998V1.02014ZM10.998 3.02014H12.998V5.02014H10.998V3.02014Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgArrowLongDownL (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.99801 0.972107V2.97211H11.9983L10.998 2.97299L11.0124 19.2135L9.16751 17.379L7.75726 18.7972L12.0118 23.0279L16.2427 18.7734L14.8246 17.3632L13.0124 19.1856L12.998 2.97211H14.998V0.972107H8.99801Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgArrowLongDownR (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M16.2416 4.64146L11.9989 0.398819L7.75629 4.64146L11.0003 7.88551L11.013 19.7865L9.16846 17.9523L7.75821 19.3704L12.0127 23.6012L16.2437 19.3466L14.8255 17.9363L13.013 19.7591L13.0003 7.8827L16.2416 4.64146ZM10.5847 4.64146L11.9989 3.22725L13.4131 4.64146L11.9989 6.05567L10.5847 4.64146Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgArrowLongDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.0125 19.162L14.8246 17.3398L16.2427 18.7501L12.012 23.0046L7.75726 18.7739L9.16751 17.3557L11.0126 19.1905L10.998 0.997021L12.998 0.995422L13.0125 19.162Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgArrowLongLeftC (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M5.27 7.75737L1.0202 11.9928L5.25576 16.2426L6.67236 14.8308L4.85801 13.0103L17.1463 13.0525C17.5532 14.219 18.6604 15.0583 19.9663 15.0642C21.6231 15.0717 22.9723 13.7346 22.9798 12.0777C22.9872 10.4209 21.6501 9.07172 19.9933 9.06427C18.6867 9.05841 17.5715 9.88865 17.1547 11.0525L4.83934 11.0102L6.68182 9.17397L5.27 7.75737ZM18.9798 12.0598C18.9823 11.5075 19.432 11.0618 19.9843 11.0643C20.5366 11.0667 20.9823 11.5165 20.9798 12.0687C20.9773 12.621 20.5276 13.0667 19.9753 13.0642C19.423 13.0618 18.9773 12.612 18.9798 12.0598Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgArrowLongLeftE (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M5.26323 7.75737L1.01343 11.9928L5.24893 16.2426L6.66553 14.8308L4.85123 13.0104L16.9685 13.0519L16.9596 15.0507L22.9595 15.0777L22.9865 9.07773L16.9865 9.05079L16.9775 11.0519L4.83252 11.0103L6.67505 9.17397L5.26323 7.75737ZM20.9775 11.0687L20.9685 13.0687L18.9685 13.0597L18.9775 11.0597L20.9775 11.0687Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgArrowLongLeftL (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.20837 7.75725L0.969116 12.0033L5.21515 16.2428L6.62823 14.8274L4.80949 13.0116L21.0229 13.0298L21.0189 15.0297L23.0189 15.0338L23.0309 9.03377L21.0309 9.02976L21.0249 12.019L21.0261 11.0298L4.78543 11.0115L6.62371 9.17033L5.20837 7.75725Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgArrowLongLeftR (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M4.64872 7.72528L0.398926 11.9608L4.63443 16.2105L6.05103 14.7987L4.23673 12.9783L16.1027 13.019L19.3585 16.2747L23.6011 12.0321L19.3585 7.78945L16.1289 11.019L4.21801 10.9782L6.06055 9.14188L4.64872 7.72528ZM17.9443 12.0321L19.3585 10.6179L20.7727 12.0321L19.3585 13.4463L17.9443 12.0321Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgArrowLongLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.02698 11.9929L5.26242 16.2426L6.67902 14.8308L4.85766 13.0033L22.9731 13.0012L22.9728 11.0012L4.85309 11.0033L6.6886 9.17398L5.27677 7.75739L1.02698 11.9929Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgArrowLongRightC (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M18.73 7.75739L22.9798 11.9929L18.7443 16.2426L17.3277 14.8308L19.142 13.0103L6.85364 13.0525C6.44678 14.219 5.33954 15.0584 4.03368 15.0642C2.37684 15.0717 1.02767 13.7346 1.02023 12.0777C1.01279 10.4209 2.34989 9.07173 4.00673 9.06429C5.31328 9.05842 6.4285 9.88867 6.84531 11.0525L19.1607 11.0103L17.3182 9.17398L18.73 7.75739ZM5.02019 12.0598C5.01771 11.5075 4.56799 11.0618 4.01571 11.0643C3.46343 11.0667 3.01773 11.5165 3.02021 12.0687C3.02269 12.621 3.47242 13.0667 4.02469 13.0642C4.57697 13.0618 5.02267 12.612 5.02019 12.0598Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgArrowLongRightE (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M22.9865 11.9929L18.7511 16.2426L17.3345 14.8308L19.1488 13.0104L7.0314 13.0519L7.04038 15.0507L1.04044 15.0777L1.01349 9.07773L7.01343 9.05079L7.02242 11.0519L19.1674 11.0103L17.3249 9.17398L18.7367 7.75739L22.9865 11.9929ZM3.02245 11.0687L3.03143 13.0687L5.03141 13.0597L5.02243 11.0597L3.02245 11.0687Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgArrowLongRightL (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18.9164 7.75739L23.1662 11.9929L18.9305 16.2426L17.5139 14.8308L19.3325 13.0061L2.8338 13.0285V15.0299H0.833801V9.02988H2.8338V11.0285L19.3429 11.0061L17.5046 9.17398L18.9164 7.75739Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgArrowLongRightR (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M19.3514 7.72525L23.6012 11.9607L19.3655 16.2105L17.9489 14.7987L19.7633 12.9781L7.89744 13.0188L4.64151 16.2748L0.398865 12.0321L4.64151 7.78947L7.87093 11.0189L19.782 10.9781L17.9395 9.14185L19.3514 7.72525ZM4.64151 13.4463L6.05572 12.0321L4.64151 10.6179L3.22729 12.0321L4.64151 13.4463Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgArrowLongRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M23.0677 11.9929L18.818 7.75739L17.4061 9.17398L19.2415 11.0032L0.932469 11.0012L0.932251 13.0012L19.2369 13.0032L17.4155 14.8308L18.8321 16.2426L23.0677 11.9929Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgArrowLongUpC (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M7.75751 5.23078L12.0321 1.02029L16.2425 5.29492L14.8177 6.69842L13.0141 4.86736L12.9427 17.1555C14.1054 17.5732 14.9345 18.6881 14.9283 19.994C14.9204 21.6508 13.5709 22.9876 11.9141 22.9797C10.2572 22.9718 8.92049 21.6223 8.92836 19.9655C8.93456 18.6589 9.77508 17.5514 10.9427 17.1454L11.0142 4.83017L9.161 6.65563L7.75751 5.23078ZM11.9331 18.9797C11.3808 18.9771 10.931 19.4227 10.9283 19.975C10.9257 20.5273 11.3713 20.9771 11.9236 20.9797C12.4759 20.9823 12.9257 20.5367 12.9283 19.9845C12.9309 19.4322 12.4853 18.9824 11.9331 18.9797Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgArrowLongUpE (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M12.0321 1.01318L16.2425 5.28781L14.8177 6.69131L13.014 4.86019L12.9436 16.9774L14.9425 16.9869L14.914 22.9868L8.91412 22.9583L8.9426 16.9584L10.9436 16.9679L11.0142 4.82318L9.16107 6.64852L7.75757 5.22367L12.0321 1.01318ZM10.9236 20.9678L12.9236 20.9773L12.9331 18.9773L10.9331 18.9678L10.9236 20.9678Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgArrowLongUpL (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.0321 1.01865L16.2425 5.29327L14.8177 6.69677L13.0192 4.87094L12.9676 20.9813H14.9644V22.9813H8.96441V20.9813H10.9676L11.0194 4.82354L9.16107 6.65399L7.75757 5.22914L12.0321 1.01865Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgArrowLongUpR (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M7.79337 4.60945L12.0679 0.398956L16.2785 4.67358L14.8536 6.07708L13.0499 4.24596L12.9809 16.1324L16.2068 19.3584L11.9642 23.601L7.72156 19.3584L10.981 16.0989L11.0501 4.20883L9.19686 6.0343L7.79337 4.60945ZM11.9642 20.7726L13.3784 19.3584L11.9642 17.9442L10.55 19.3584L11.9642 20.7726Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgArrowLongUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.0321 1.01712L7.75751 5.22761L9.161 6.65246L11.0197 4.82165L10.9644 22.9768L12.9644 22.9829L13.0195 4.86974L14.8177 6.69525L16.2425 5.29175L12.0321 1.01712Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgArrowRightO (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.0519 14.8285L13.4661 16.2427L17.7088 12L13.4661 7.7574L12.0519 9.17161L13.8804 11H6.34321V13H13.8803L12.0519 14.8285Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M19.7782 19.7782C24.0739 15.4824 24.0739 8.51759 19.7782 4.22183C15.4824 -0.0739417 8.51759 -0.0739417 4.22183 4.22183C-0.0739417 8.51759 -0.0739417 15.4824 4.22183 19.7782C8.51759 24.0739 15.4824 24.0739 19.7782 19.7782ZM18.364 18.364C21.8787 14.8492 21.8787 9.15076 18.364 5.63604C14.8492 2.12132 9.15076 2.12132 5.63604 5.63604C2.12132 9.15076 2.12132 14.8492 5.63604 18.364C9.15076 21.8787 14.8492 21.8787 18.364 18.364Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgArrowRightR (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.0519 14.8285L13.4661 16.2427L17.7087 12L13.4661 7.7574L12.0519 9.17161L13.8803 11H6.34318V13H13.8803L12.0519 14.8285Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M1 19C1 21.2091 2.79086 23 5 23H19C21.2091 23 23 21.2091 23 19V5C23 2.79086 21.2091 1 19 1H5C2.79086 1 1 2.79086 1 5V19ZM5 21H19C20.1046 21 21 20.1046 21 19V5C21 3.89543 20.1046 3 19 3H5C3.89543 3 3 3.89543 3 5V19C3 20.1046 3.89543 21 5 21Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgArrowRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.0378 6.34317L13.6269 7.76069L16.8972 11.0157L3.29211 11.0293L3.29413 13.0293L16.8619 13.0157L13.6467 16.2459L15.0643 17.6568L20.7079 11.9868L15.0378 6.34317Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgArrowTopLeftO (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 13.9633H8V7.96331H14V9.96331H11.4142L16.7438 15.2929L15.3296 16.7071L10 11.3775L10 13.9633Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M23 12C23 5.92487 18.0751 1 12 1C5.92487 1 1 5.92487 1 12C1 18.0751 5.92487 23 12 23C18.0751 23 23 18.0751 23 12ZM21 12C21 7.02944 16.9706 3 12 3C7.02944 3 3 7.02944 3 12C3 16.9706 7.02944 21 12 21C16.9706 21 21 16.9706 21 12Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgArrowTopLeftR (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 13.9633H8V7.96331H14V9.96331H11.4142L16.7438 15.2929L15.3296 16.7071L10 11.3775L10 13.9633Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M1 19C1 21.2091 2.79086 23 5 23H19C21.2091 23 23 21.2091 23 19V5C23 2.79086 21.2091 1 19 1H5C2.79086 1 1 2.79086 1 5V19ZM5 21H19C20.1046 21 21 20.1046 21 19V5C21 3.89543 20.1046 3 19 3H5C3.89543 3 3 3.89543 3 5V19C3 20.1046 3.89543 21 5 21Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgArrowTopLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.4747 5.49475L13.4793 7.49475L8.92175 7.50541L18.5253 17.0896L17.1125 18.5052L7.48259 8.89473L7.49339 13.5088L5.49339 13.5134L5.47467 5.51345L13.4747 5.49475Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgArrowTopRightO (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 13.9633H16V7.96331H10V9.96331H12.5858L7.25623 15.2929L8.67044 16.7071L14 11.3775L14 13.9633Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M1 12C1 5.92487 5.92487 1 12 1C18.0751 1 23 5.92487 23 12C23 18.0751 18.0751 23 12 23C5.92487 23 1 18.0751 1 12ZM3 12C3 7.02944 7.02944 3 12 3C16.9706 3 21 7.02944 21 12C21 16.9706 16.9706 21 12 21C7.02944 21 3 16.9706 3 12Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgArrowTopRightR (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 13.9633H16V7.96331H10V9.96331H12.5858L7.25623 15.2929L8.67044 16.7071L14 11.3775V13.9633Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M23 19C23 21.2091 21.2091 23 19 23H5C2.79086 23 1 21.2091 1 19V5C1 2.79086 2.79086 1 5 1H19C21.2091 1 23 2.79086 23 5V19ZM19 21H5C3.89543 21 3 20.1046 3 19V5C3 3.89543 3.89543 3 5 3H19C20.1046 3 21 3.89543 21 5V19C21 20.1046 20.1046 21 19 21Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgArrowTopRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.5253 5.49475L10.5206 7.49475L15.0782 7.50541L5.47473 17.0896L6.88752 18.5052L16.5173 8.89479L16.5065 13.5088L18.5065 13.5134L18.5253 5.51345L10.5253 5.49475Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgArrowUpO (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.8285 11.9481L16.2427 10.5339L12 6.29122L7.7574 10.5339L9.17161 11.9481L11 10.1196V17.6568H13V10.1196L14.8285 11.9481Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M19.7782 4.22183C15.4824 -0.0739415 8.51759 -0.0739422 4.22183 4.22183C-0.0739415 8.51759 -0.0739422 15.4824 4.22183 19.7782C8.51759 24.0739 15.4824 24.0739 19.7782 19.7782C24.0739 15.4824 24.0739 8.51759 19.7782 4.22183ZM18.364 5.63604C14.8492 2.12132 9.15076 2.12132 5.63604 5.63604C2.12132 9.15076 2.12132 14.8492 5.63604 18.364C9.15076 21.8787 14.8492 21.8787 18.364 18.364C21.8787 14.8492 21.8787 9.15076 18.364 5.63604Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgArrowUpR (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.8543 11.9741L16.2686 10.5599L12.0259 6.31724L7.78327 10.5599L9.19749 11.9741L11.0259 10.1457V17.6828H13.0259V10.1457L14.8543 11.9741Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M1 19C1 21.2091 2.79086 23 5 23H19C21.2091 23 23 21.2091 23 19V5C23 2.79086 21.2091 1 19 1H5C2.79086 1 1 2.79086 1 5V19ZM5 21H19C20.1046 21 21 20.1046 21 19V5C21 3.89543 20.1046 3 19 3H5C3.89543 3 3 3.89543 3 5V19C3 20.1046 3.89543 21 5 21Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgArrowUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17.6568 8.96219L16.2393 10.3731L12.9843 7.10285L12.9706 20.7079L10.9706 20.7059L10.9843 7.13806L7.75404 10.3532L6.34314 8.93572L12.0132 3.29211L17.6568 8.96219Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgArrowsBreakeH (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.24268 7H11.2427V11.0001H11.2477V13.0001H11.2427V17H9.24268V13.0001L4.82846 13L6.65685 14.8284L5.24264 16.2426L1 12L5.24264 7.75732L6.65685 9.17154L4.82839 11H9.24264L9.24268 7Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.2527 7.00012H13.2527V11.0001H13.2477V13.0001H13.2527V17.0001H15.2527V13.0001L19.667 13L17.8385 14.8285L19.2527 16.2427L23.4954 12L19.2527 7.75739L17.8385 9.17161L19.6669 11H15.2527L15.2527 7.00012Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgArrowsBreakeV (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16.2427 5.24264L14.8285 6.65685L13 4.82839L13.0001 9.24268H17.0001V11.2427H7.00012V9.24268H11.0001L11 4.82846L9.17161 6.65685L7.75739 5.24264L12 1L16.2427 5.24264Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 15.2527V13.2527H17V15.2527H13.0001L13 19.6669L14.8284 17.8385L16.2426 19.2527L12 23.4954L7.75732 19.2527L9.17154 17.8385L11 19.667V15.2527L7 15.2527Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgArrowsExchangeAltV (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.9841 4.99255C12.9841 4.44027 13.4318 3.99255 13.9841 3.99255C14.3415 3.99255 14.6551 4.18004 14.8319 4.46202L17.5195 7.14964C17.9101 7.54016 17.9101 8.17333 17.5195 8.56385C17.129 8.95438 16.4958 8.95438 16.1053 8.56385L14.9841 7.44263V14.9926C14.9841 15.5448 14.5364 15.9926 13.9841 15.9926C13.4318 15.9926 12.9841 15.5448 12.9841 14.9926V5.042C12.984 5.03288 12.984 5.02376 12.9841 5.01464V4.99255Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.0159 19.0074C11.0159 19.5597 10.5682 20.0074 10.0159 20.0074C9.6585 20.0074 9.3449 19.82 9.16807 19.538L6.48045 16.8504C6.08993 16.4598 6.08993 15.8267 6.48045 15.4361C6.87098 15.0456 7.50414 15.0456 7.89467 15.4361L9.01589 16.5574V9.00745C9.01589 8.45516 9.46361 8.00745 10.0159 8.00745C10.5682 8.00745 11.0159 8.45516 11.0159 9.00745V18.958C11.016 18.9671 11.016 18.9762 11.0159 18.9854V19.0074Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgArrowsExchangeAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.99255 11.0159C4.44027 11.0159 3.99255 10.5682 3.99255 10.0159C3.99255 9.6585 4.18004 9.3449 4.46202 9.16807L7.14964 6.48045C7.54016 6.08993 8.17333 6.08993 8.56385 6.48045C8.95438 6.87098 8.95438 7.50414 8.56385 7.89467L7.44263 9.0159L14.9926 9.01589C15.5448 9.01589 15.9926 9.46361 15.9926 10.0159C15.9926 10.5682 15.5448 11.0159 14.9926 11.0159L5.042 11.0159C5.03288 11.016 5.02376 11.016 5.01464 11.0159H4.99255Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19.0074 12.9841C19.5597 12.9841 20.0074 13.4318 20.0074 13.9841C20.0074 14.3415 19.82 14.6551 19.538 14.8319L16.8504 17.5195C16.4598 17.9101 15.8267 17.9101 15.4361 17.5195C15.0456 17.129 15.0456 16.4958 15.4361 16.1053L16.5574 14.9841H9.00745C8.45516 14.9841 8.00745 14.5364 8.00745 13.9841C8.00745 13.4318 8.45516 12.9841 9.00745 12.9841L18.958 12.9841C18.9671 12.984 18.9762 12.984 18.9854 12.9841H19.0074Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgArrowsExchangeV (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.9842 15C12.9842 15.5523 13.4319 16 13.9842 16C14.3416 16 14.6552 15.8125 14.832 15.5305L17.5196 12.8429C17.9101 12.4524 17.9101 11.8192 17.5196 11.4287C17.1291 11.0382 16.4959 11.0382 16.1054 11.4287L14.9842 12.5499L14.9842 5C14.9842 4.44771 14.5364 4 13.9842 4C13.4319 4 12.9842 4.44772 12.9842 5L12.9842 14.9506C12.984 14.9597 12.984 14.9688 12.9842 14.9779V15Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.016 9C11.016 8.44771 10.5682 8 10.016 8C9.65856 8 9.34496 8.18748 9.16813 8.46947L6.48052 11.1571C6.08999 11.5476 6.08999 12.1808 6.48051 12.5713C6.87104 12.9618 7.5042 12.9618 7.89473 12.5713L9.01596 11.4501L9.01596 19C9.01596 19.5523 9.46367 20 10.016 20C10.5682 20 11.016 19.5523 11.016 19L11.016 9.04945C11.0161 9.04033 11.0161 9.03121 11.016 9.02208V9Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgArrowsExchange (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.99255 12.9841C4.44027 12.9841 3.99255 13.4318 3.99255 13.9841C3.99255 14.3415 4.18004 14.6551 4.46202 14.8319L7.14964 17.5195C7.54016 17.9101 8.17333 17.9101 8.56385 17.5195C8.95438 17.129 8.95438 16.4958 8.56385 16.1053L7.44263 14.9841H14.9926C15.5448 14.9841 15.9926 14.5364 15.9926 13.9841C15.9926 13.4318 15.5448 12.9841 14.9926 12.9841L5.042 12.9841C5.03288 12.984 5.02376 12.984 5.01464 12.9841H4.99255Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19.0074 11.0159C19.5597 11.0159 20.0074 10.5682 20.0074 10.0159C20.0074 9.6585 19.82 9.3449 19.538 9.16807L16.8504 6.48045C16.4598 6.08993 15.8267 6.08993 15.4361 6.48045C15.0456 6.87098 15.0456 7.50414 15.4361 7.89467L16.5574 9.01589L9.00745 9.01589C8.45516 9.01589 8.00745 9.46361 8.00745 10.0159C8.00745 10.5682 8.45516 11.0159 9.00745 11.0159L18.958 11.0159C18.9671 11.016 18.9762 11.016 18.9854 11.0159H19.0074Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgArrowsExpandDownLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M13 5C13 3.89543 13.8954 3 15 3H19C20.1046 3 21 3.89543 21 5V9C21 10.1046 20.1046 11 19 11H15C13.8954 11 13 10.1046 13 9V5ZM15 5H19V9H15V5Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 13H3V21H11V19H6.41424L11.7782 13.6361C12.1687 13.2456 12.1687 12.6124 11.7782 12.2219C11.3876 11.8314 10.7545 11.8314 10.3639 12.2219L5 17.5858V13Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgArrowsExpandDownRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M11 5C11 3.89543 10.1046 3 9 3H5C3.89543 3 3 3.89543 3 5V9C3 10.1046 3.89543 11 5 11H9C10.1046 11 11 10.1046 11 9V5ZM9 5H5V9H9V5Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 13H21V21H13V19H17.5858L12.2218 13.6361C11.8313 13.2456 11.8313 12.6124 12.2218 12.2219C12.6124 11.8314 13.2455 11.8314 13.6361 12.2219L19 17.5858V13Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgArrowsExpandLeftAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.1005 2.10052V4.10052H5.51471L11.293 9.87878L9.87875 11.293L4.10046 5.51471L4.10046 10.1005H2.10046L2.10046 2.10052H10.1005Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21.8995 13.8995H19.8995V18.4853L14.1212 12.707L12.707 14.1213L18.4853 19.8995H13.8995V21.8995H21.8995V13.8995Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.2426 9.1716L14.8284 7.75739L7.7573 14.8285L9.17151 16.2427L16.2426 9.1716Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgArrowsExpandLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.1005 4.10052V2.10052H2.10046L2.10046 10.1005H4.10046L4.10046 5.51471L9.87875 11.293L11.293 9.87878L5.51471 4.10052H10.1005Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19.8995 13.8995H21.8995V21.8995H13.8995V19.8995H18.4853L12.7071 14.1212L14.1213 12.707L19.8995 18.4853V13.8995Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgArrowsExpandRightAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.8995 2.10052V4.10052H18.4852L12.707 9.87878L14.1212 11.293L19.8995 5.51471V10.1005H21.8995V2.10052H13.8995Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.51468 19.8995H10.1005V21.8995H2.10046V13.8995H4.10046V18.4853L9.87872 12.707L11.2929 14.1213L5.51468 19.8995Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.17154 7.75739L7.75732 9.1716L14.8284 16.2427L16.2426 14.8285L9.17154 7.75739Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgArrowsExpandRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.8995 4.10052V2.10052H21.8995V10.1005H19.8995V5.51477L14.1213 11.293L12.7071 9.87878L18.4854 4.10052H13.8995Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.10046 13.8995H2.10046V21.8995H10.1005V19.8995H5.51468L11.2929 14.1212L9.87872 12.707L4.10046 18.4853V13.8995Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgArrowsExpandUpLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 11H3L3 3L11 3V5L6.41419 5L11.7781 10.3639C12.1686 10.7545 12.1686 11.3876 11.7781 11.7782C11.3876 12.1687 10.7544 12.1687 10.3639 11.7782L5 6.41424L5 11Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M19 13C20.1046 13 21 13.8954 21 15V19C21 20.1046 20.1046 21 19 21H15C13.8954 21 13 20.1046 13 19V15C13 13.8954 13.8954 13 15 13H19ZM19 15V19H15V15H19Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgArrowsExpandUpRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 5V3L21 3V11H19V6.41424L13.6361 11.7782C13.2456 12.1687 12.6124 12.1687 12.2219 11.7782C11.8314 11.3876 11.8314 10.7545 12.2219 10.3639L17.5858 5L13 5Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M5 13C3.89543 13 3 13.8954 3 15L3 19C3 20.1046 3.89543 21 5 21H9C10.1046 21 11 20.1046 11 19V15C11 13.8954 10.1046 13 9 13H5ZM5 15L5 19H9V15H5Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgArrowsHAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.24267 7.75735L5.65688 9.17157L3.82842 11H20.1716L18.3431 9.17157L19.7573 7.75735L24 12L19.7572 16.2426L18.343 14.8284L20.1714 13H3.82845L5.65685 14.8284L4.24264 16.2426L0 12L4.24267 7.75735Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgArrowsH (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.65698 9.17157L4.24276 7.75735L0.00012207 12L4.24276 16.2426L5.65698 14.8284L3.82858 13H10.0001V11H3.82851L5.65698 9.17157Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.0001 11V13H20.1716L18.3432 14.8284L19.7574 16.2426L24.0001 12L19.7574 7.75735L18.3432 9.17157L20.1717 11H14.0001Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgArrowsMergeAltH (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.5033 6H3.5033V11H7.6749L5.84644 9.17154L7.26066 7.75732L11.5033 12L7.26066 16.2426L5.84644 14.8284L7.67483 13H3.5033V18H1.5033V6Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20.4967 6H22.4967V18H20.4967V13H16.3251L18.1536 14.8285L16.7393 16.2427L12.4967 12L16.7393 7.75739L18.1536 9.17161L16.3252 11H20.4967V6Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgArrowsMergeAltV (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18 1.5033V3.5033L13 3.5033V7.6749L14.8285 5.84644L16.2427 7.26066L12 11.5033L7.75739 7.26066L9.17161 5.84644L11 7.67483V3.5033L6 3.5033V1.5033L18 1.5033Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 20.4967V22.4967H6V20.4967H11V16.3251L9.17154 18.1536L7.75732 16.7393L12 12.4967L16.2426 16.7393L14.8284 18.1536L13 16.3252V20.4967H18Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgArrowsScrollH (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.3052 12L18.1299 9.17526L16.7157 7.76105L13.891 10.5858L13.8873 10.5821L12.4731 11.9963L12.4768 12L12.4731 12.0037L13.8873 13.4179L13.891 13.4142L16.7157 16.239L18.1299 14.8248L15.3052 12Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.1091 10.5858L10.1128 10.5821L11.527 11.9963L11.5233 12L11.527 12.0037L10.1128 13.4179L10.1091 13.4142L7.28433 16.239L5.87012 14.8248L8.69487 12L5.87012 9.17526L7.28433 7.76105L10.1091 10.5858Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgArrowsScrollV (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.4142 10.1091L13.4179 10.1128L12.0037 11.527L12 11.5233L11.9963 11.527L10.5821 10.1128L10.5858 10.1091L7.76105 7.28433L9.17526 5.87012L12 8.69486L14.8247 5.87012L16.239 7.28433L13.4142 10.1091Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 15.3052L14.8247 18.1299L16.239 16.7157L13.4142 13.891L13.4179 13.8873L12.0037 12.4731L12 12.4767L11.9963 12.4731L10.5821 13.8873L10.5858 13.891L7.76105 16.7157L9.17526 18.1299L12 15.3052Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgArrowsShrinkH (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 7H3V17H1V7Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.44769 7.75732L9.86191 9.17154L8.03344 11H15.9664L14.138 9.17154L15.5522 7.75732L19.7948 12L15.5522 16.2426L14.138 14.8284L15.9664 13H8.03354L9.86194 14.8284L8.44773 16.2426L4.20505 12L8.44769 7.75732Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M23 7H21V17H23V7Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgArrowsShrinkV (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17 1V3L7 3V1L17 1Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.2427 8.44772L14.8285 9.86194L13 8.03347L13 15.9665L14.8285 14.138L16.2427 15.5522L12 19.7949L7.75742 15.5522L9.17163 14.138L11 15.9664L11 8.03357L9.17163 9.86194L7.75742 8.44772L12 4.20508L16.2427 8.44772Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 23V21H7V23H17Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgArrowsVAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.1716 6.45504L7.75739 5.04083L12 0.798187L16.2426 5.04083L14.8284 6.45504L13.0001 4.62667V19.3733L14.8284 17.5449L16.2426 18.9592L12 23.2018L7.75739 18.9592L9.1716 17.5449L11.0001 19.3734V4.62658L9.1716 6.45504Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgArrowsV (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.75739 5.04077L9.1716 6.45498L11.0001 4.62652V10H13.0001V4.62661L14.8284 6.45498L16.2426 5.04077L12 0.798126L7.75739 5.04077Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.2426 18.9593L14.8284 17.545L13.0001 19.3734V14H11.0001V19.3735L9.1716 17.545L7.75739 18.9593L12 23.2019L16.2426 18.9593Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgAssign (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 6H10V4H4V10H6V6Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 18H6V14H4V20H10V18Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 6H18V10H20V4H14V6Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 18H18V14H20V20H14V18Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 8.5C10.067 8.5 8.5 10.067 8.5 12C8.5 13.933 10.067 15.5 12 15.5C13.933 15.5 15.5 13.933 15.5 12C15.5 10.067 13.933 8.5 12 8.5Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgAsterisk (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 6H13V10.079L16.3413 7.73938L17.4885 9.37768L13.7434 12L17.4885 14.6223L16.3413 16.2606L13 13.921V18H11V13.921L7.65864 16.2606L6.51148 14.6223L10.2565 12L6.51147 9.37769L7.65863 7.73938L11 10.079V6Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgAtlasian (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"opacity\":\"0.8\",\"d\":\"M8.50705 11.5562C8.19028 11.1038 7.78219 11.1585 7.59556 11.6783L5 18.9075H10.1778C10.6982 16.85 10.2481 14.0427 9.08063 12.3754L8.50705 11.5562Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.8745 7.12641C11.6074 8.93603 11.1992 12.0835 11.9627 14.1565L13.7126 18.9074H18.9644L14.3673 6.42648C14.1764 5.90823 13.7649 5.85485 13.4481 6.30726L12.8745 7.12641Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgAttachment (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 0C16.7614 0 19 2.23858 19 5V17C19 20.866 15.866 24 12 24C8.13401 24 5 20.866 5 17V9H7V17C7 19.7614 9.23858 22 12 22C14.7614 22 17 19.7614 17 17V5C17 3.34315 15.6569 2 14 2C12.3431 2 11 3.34315 11 5V17C11 17.5523 11.4477 18 12 18C12.5523 18 13 17.5523 13 17V6H15V17C15 18.6569 13.6569 20 12 20C10.3431 20 9 18.6569 9 17V5C9 2.23858 11.2386 0 14 0Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgAttribution (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 8C6.74028 8 7.38663 7.5978 7.73244 7H14C15.1046 7 16 7.89543 16 9C16 10.1046 15.1046 11 14 11H10C7.79086 11 6 12.7909 6 15C6 17.2091 7.79086 19 10 19H16.2676C16.6134 19.5978 17.2597 20 18 20C19.1046 20 20 19.1046 20 18C20 16.8954 19.1046 16 18 16C17.2597 16 16.6134 16.4022 16.2676 17H10C8.89543 17 8 16.1046 8 15C8 13.8954 8.89543 13 10 13H14C16.2091 13 18 11.2091 18 9C18 6.79086 16.2091 5 14 5H7.73244C7.38663 4.4022 6.74028 4 6 4C4.89543 4 4 4.89543 4 6C4 7.10457 4.89543 8 6 8Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgAwards (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M19 9C19 11.3787 17.8135 13.4804 16 14.7453V22H13.4142L12 20.5858L10.5858 22H8V14.7453C6.18652 13.4804 5 11.3787 5 9C5 5.13401 8.13401 2 12 2C15.866 2 19 5.13401 19 9ZM17 9C17 11.7614 14.7614 14 12 14C9.23858 14 7 11.7614 7 9C7 6.23858 9.23858 4 12 4C14.7614 4 17 6.23858 17 9ZM10 19.7573L12 17.7573L14 19.7574V15.7101C13.3663 15.8987 12.695 16 12 16C11.305 16 10.6337 15.8987 10 15.7101V19.7573Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgBackspace (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17.7427 8.46448L19.1569 9.87869L17.0356 12L19.157 14.1214L17.7428 15.5356L15.6214 13.4142L13.5 15.5355L12.0858 14.1213L14.2072 12L12.0859 9.87878L13.5002 8.46457L15.6214 10.5858L17.7427 8.46448Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M8.58579 19L2.29289 12.7071C1.90237 12.3166 1.90237 11.6834 2.29289 11.2929L8.58579 5H22.5857V19H8.58579ZM9.41421 7L4.41421 12L9.41421 17H20.5857V7H9.41421Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgBandAid (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.9389 9.76478C11.7055 10.2653 11.1105 10.4819 10.61 10.2485C10.1094 10.0151 9.89288 9.42008 10.1263 8.91954C10.3597 8.419 10.9547 8.20244 11.4552 8.43585C11.9558 8.66925 12.1723 9.26423 11.9389 9.76478Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.9195 13.8737C9.42004 14.1071 10.015 13.8905 10.2484 13.39C10.4818 12.8895 10.2653 12.2945 9.76474 12.0611C9.2642 11.8277 8.66922 12.0442 8.43581 12.5448C8.20241 13.0453 8.41896 13.6403 8.9195 13.8737Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13.8737 15.0805C13.6403 15.581 13.0453 15.7976 12.5447 15.5642C12.0442 15.3308 11.8276 14.7358 12.061 14.2352C12.2944 13.7347 12.8894 13.5181 13.39 13.7516C13.8905 13.985 14.1071 14.5799 13.8737 15.0805Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.2352 11.9389C14.7357 12.1723 15.3307 11.9558 15.5641 11.4552C15.7975 10.9547 15.581 10.3597 15.0804 10.1263C14.5799 9.89292 13.9849 10.1095 13.7515 10.61C13.5181 11.1106 13.7347 11.7055 14.2352 11.9389Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M17.0714 1.12432C14.0682 -0.276119 10.4983 1.02321 9.09783 4.02645L4.02641 14.9021C2.62598 17.9054 3.92531 21.4753 6.92855 22.8757C9.93179 24.2761 13.5017 22.9768 14.9021 19.9736L19.9735 9.09787C21.374 6.09463 20.0746 2.52475 17.0714 1.12432ZM13.9347 17.3157L17.3157 10.0653L10.0652 6.6843L6.68427 13.9348L13.9347 17.3157ZM13.0895 19.1283L5.83903 15.7474C4.90541 17.7495 5.77163 20.1295 7.77379 21.0631C9.77595 21.9967 12.1559 21.1305 13.0895 19.1283ZM16.2262 2.93693C18.2283 3.87055 19.0945 6.25047 18.1609 8.25264L10.9104 4.87169C11.8441 2.86953 14.224 2.00331 16.2262 2.93693Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgBatteryEmpty (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M18 6H5C3.34315 6 2 7.34315 2 9V15C2 16.6569 3.34315 18 5 18H18C19.6569 18 21 16.6569 21 15C21.5523 15 22 14.5523 22 14V10C22 9.44772 21.5523 9 21 9C21 7.34315 19.6569 6 18 6ZM18 8H5C4.44772 8 4 8.44772 4 9V15C4 15.5523 4.44772 16 5 16H18C18.5523 16 19 15.5523 19 15V9C19 8.44772 18.5523 8 18 8Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgBatteryFull (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 15C5.44772 15 5 14.5523 5 14V10C5 9.44772 5.44772 9 6 9H17C17.5523 9 18 9.44772 18 10V14C18 14.5523 17.5523 15 17 15H6Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M18 6H5C3.34315 6 2 7.34315 2 9V15C2 16.6569 3.34315 18 5 18H18C19.6569 18 21 16.6569 21 15C21.5523 15 22 14.5523 22 14V10C22 9.44772 21.5523 9 21 9C21 7.34315 19.6569 6 18 6ZM18 8H5C4.44772 8 4 8.44772 4 9V15C4 15.5523 4.44772 16 5 16H18C18.5523 16 19 15.5523 19 15V9C19 8.44772 18.5523 8 18 8Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgBattery (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 15C5.44772 15 5 14.5523 5 14V10C5 9.44772 5.44772 9 6 9H12V15H6Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M18 6H5C3.34315 6 2 7.34315 2 9V15C2 16.6569 3.34315 18 5 18H18C19.6569 18 21 16.6569 21 15C21.5523 15 22 14.5523 22 14V10C22 9.44772 21.5523 9 21 9C21 7.34315 19.6569 6 18 6ZM18 8H5C4.44772 8 4 8.44772 4 9V15C4 15.5523 4.44772 16 5 16H18C18.5523 16 19 15.5523 19 15V9C19 8.44772 18.5523 8 18 8Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgBee (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M17.9513 15.571C17.7695 17.2187 16.9205 18.6654 15.6805 19.635C15.332 20.4692 14.7092 21.1601 13.9247 21.5951C13.7025 22.4574 12.9196 23.0944 11.9879 23.0944C11.0562 23.0944 10.2733 22.4574 10.0511 21.5951C9.26672 21.1602 8.64392 20.4693 8.29547 19.6353C7.05955 18.6691 6.21203 17.229 6.02621 15.5883C4.93527 16.4161 3.37955 16.4118 2.28618 15.4944C1.01696 14.4294 0.851409 12.5371 1.91641 11.2679L6.00966 6.38975C6.27125 3.31753 8.84785 0.905579 11.9878 0.905579C15.1166 0.905579 17.6861 3.30046 17.9631 6.35711L22.0837 11.2679C23.1487 12.5371 22.9831 14.4294 21.7139 15.4944C20.613 16.4182 19.0433 16.4161 17.9513 15.571ZM15.6254 12.9056L13.9472 10.9056H10.0529L8.37467 12.9056H15.6254ZM17.9878 12.6095L19.0195 13.839C19.3745 14.2621 20.0053 14.3173 20.4283 13.9623C20.8514 13.6073 20.9066 12.9765 20.5516 12.5535L17.9878 9.49803V12.6095ZM15.9878 8.90558V6.90558C15.9878 4.69644 14.1969 2.90558 11.9878 2.90558C9.77865 2.90558 7.98779 4.69644 7.98779 6.90558V8.90558H15.9878ZM4.98059 13.839L5.98779 12.6387V9.52726L3.4485 12.5535C3.0935 12.9765 3.14869 13.6073 3.57176 13.9623C3.99483 14.3173 4.62559 14.2621 4.98059 13.839ZM11.9878 18.9056C9.77865 18.9056 7.98779 17.1147 7.98779 14.9056H15.9878C15.9878 17.1147 14.1969 18.9056 11.9878 18.9056Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgBell (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M14 3V3.28988C16.8915 4.15043 19 6.82898 19 10V17H20V19H4V17H5V10C5 6.82898 7.10851 4.15043 10 3.28988V3C10 1.89543 10.8954 1 12 1C13.1046 1 14 1.89543 14 3ZM7 17H17V10C17 7.23858 14.7614 5 12 5C9.23858 5 7 7.23858 7 10V17ZM14 21V20H10V21C10 22.1046 10.8954 23 12 23C13.1046 23 14 22.1046 14 21Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgBitbucket (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M4.5831 4.63507C4.03082 4.63507 3.66768 5.07472 3.77202 5.61706L6.22804 18.383C6.33238 18.9253 6.86468 19.3649 7.41696 19.3649H16.583C17.1353 19.3649 17.6676 18.9253 17.7719 18.383L20.2279 5.61706C20.3323 5.07472 19.9691 4.63507 19.4168 4.63507H4.5831ZM13.5449 14.3649L14.4549 9.63507H9.54504L10.455 14.3649H13.5449Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgBlock (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.46457 14.1213C8.07404 14.5118 8.07404 15.145 8.46457 15.5355C8.85509 15.926 9.48825 15.926 9.87878 15.5355L15.5356 9.87862C15.9262 9.4881 15.9262 8.85493 15.5356 8.46441C15.1451 8.07388 14.5119 8.07388 14.1214 8.46441L8.46457 14.1213Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M6.34315 17.6569C9.46734 20.781 14.5327 20.781 17.6569 17.6569C20.781 14.5327 20.781 9.46734 17.6569 6.34315C14.5327 3.21895 9.46734 3.21895 6.34315 6.34315C3.21895 9.46734 3.21895 14.5327 6.34315 17.6569ZM16.2426 16.2426C13.8995 18.5858 10.1005 18.5858 7.75736 16.2426C5.41421 13.8995 5.41421 10.1005 7.75736 7.75736C10.1005 5.41421 13.8995 5.41421 16.2426 7.75736C18.5858 10.1005 18.5858 13.8995 16.2426 16.2426Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgBmw (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M21 12C21 16.9706 16.9706 21 12 21C7.02944 21 3 16.9706 3 12C3 7.02944 7.02944 3 12 3C16.9706 3 21 7.02944 21 12ZM5 12C5 15.866 8.13401 19 12 19V12H19C19 8.13401 15.866 5 12 5V12H5Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgBoard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M6 4C3.79086 4 2 5.79086 2 8V16C2 18.2091 3.79086 20 6 20H18C20.2091 20 22 18.2091 22 16V8C22 5.79086 20.2091 4 18 4H6ZM14 6H10V18H14V6ZM16 6V18H18C19.1046 18 20 17.1046 20 16V8C20 6.89543 19.1046 6 18 6H16ZM6 18H8V6H6C4.89543 6 4 6.89543 4 8V16C4 17.1046 4.89543 18 6 18Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgBolt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 21.5L17.5 13L13 10L15 2.5L6.5 11L11 14L9 21.5Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgBookmark (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M19 20H17.1717L12.7072 15.5354C12.3166 15.1449 11.6835 15.1449 11.2929 15.5354L6.82843 20L5 20V7C5 5.34315 6.34315 4 8 4H16C17.6569 4 19 5.34314 19 7V20ZM17 7C17 6.44772 16.5523 6 16 6H8C7.44772 6 7 6.44772 7 7V17L9.87873 14.1212C11.0503 12.9497 12.9498 12.9497 14.1214 14.1212L17 16.9999V7Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgBorderAll (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 6.5H17.5V17.5H6.5V6.5Z\",\"stroke\":\"currentColor\",\"strokeWidth\":\"3\"}}]})(props);\n};\nexport function CgBorderBottom (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 8H16V15H19V5H5V15H8V8Z\",\"fill\":\"currentColor\",\"fillOpacity\":\"0.3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 17H19V20H5V17Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgBorderLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8V16H9L9 19H19L19 5L9 5V8H16Z\",\"fill\":\"currentColor\",\"fillOpacity\":\"0.3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 5L7 19H4L4 5L7 5Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgBorderRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16V8H15V5L5 5L5 19H15L15 16H8Z\",\"fill\":\"currentColor\",\"fillOpacity\":\"0.3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 19L17 5L20 5L20 19H17Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgBorderStyleDashed (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 11H8V13H4V11Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 11H14V13H10V11Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 11H16V13H20V11Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgBorderStyleDotted (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 11H1V13H3V11Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 11H5V13H7V11Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 11H11V13H9V11Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 11H13V13H15V11Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 11H19V13H17V11Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M23 11H21V13H23V11Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgBorderStyleSolid (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 11H22V13H2V11Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgBorderTop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16H16V9L19 9L19 19L5 19L5 9L8 9V16Z\",\"fill\":\"currentColor\",\"fillOpacity\":\"0.3\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 7L19 7V4L5 4L5 7Z\"}}]})(props);\n};\nexport function CgBot (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.1254 13H10.1254V15H14.1254V13Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M8.12537 13C9.22994 13 10.1254 12.1046 10.1254 11C10.1254 9.89543 9.22994 9 8.12537 9C7.0208 9 6.12537 9.89543 6.12537 11C6.12537 12.1046 7.0208 13 8.12537 13ZM8.12537 11.5C8.40151 11.5 8.62537 11.2761 8.62537 11C8.62537 10.7239 8.40151 10.5 8.12537 10.5C7.84922 10.5 7.62537 10.7239 7.62537 11C7.62537 11.2761 7.84922 11.5 8.12537 11.5Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M18.1254 11C18.1254 12.1046 17.2299 13 16.1254 13C15.0208 13 14.1254 12.1046 14.1254 11C14.1254 9.89543 15.0208 9 16.1254 9C17.2299 9 18.1254 9.89543 18.1254 11ZM16.6254 11C16.6254 11.2761 16.4015 11.5 16.1254 11.5C15.8492 11.5 15.6254 11.2761 15.6254 11C15.6254 10.7239 15.8492 10.5 16.1254 10.5C16.4015 10.5 16.6254 10.7239 16.6254 11Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M2.74884 14.6663C3.73056 16.6421 5.76939 18 8.12537 18H16.1254C18.5654 18 20.6652 16.5435 21.6029 14.4525C22.3722 13.9093 22.8746 13.0133 22.8746 12C22.8746 10.9867 22.3722 10.0907 21.6029 9.54753C20.6652 7.45651 18.5654 6 16.1254 6H8.12537C5.76939 6 3.73056 7.3579 2.74884 9.33375C1.78448 9.83263 1.12537 10.8393 1.12537 12C1.12537 13.1607 1.78448 14.1674 2.74884 14.6663ZM8.12537 8H16.1254C17.5088 8 18.7282 8.70234 19.4465 9.76991C19.7227 10.4593 19.8746 11.2119 19.8746 12C19.8746 12.7881 19.7227 13.5407 19.4465 14.2301C18.7282 15.2977 17.5088 16 16.1254 16H8.12537C5.91623 16 4.12537 14.2091 4.12537 12C4.12537 9.79086 5.91623 8 8.12537 8Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgBowl (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M20.5468 3.67162C20.1563 3.28109 19.5231 3.28109 19.1326 3.67162L13.7687 9.03555H2V11.0356H2.00842C2.22563 16.3663 6.61591 20.6213 12 20.6213C17.3841 20.6213 21.7744 16.3663 21.9916 11.0356H22V9.03555H16.5971L20.5468 5.08583C20.9374 4.69531 20.9374 4.06214 20.5468 3.67162ZM14.1762 11.0356C14.1806 11.0356 14.1851 11.0356 14.1896 11.0356H19.9895C19.7739 15.2613 16.2793 18.6213 12 18.6213C7.72066 18.6213 4.22609 15.2613 4.01054 11.0356H14.1762Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgBox (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 12C9.44769 12 9 12.4477 9 13C9 13.5523 9.44769 14 10 14H14C14.5522 14 15 13.5523 15 13C15 12.4477 14.5522 12 14 12H10Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M4 2C2.34314 2 1 3.34314 1 5V19C1 20.6569 2.34314 22 4 22H20C21.6569 22 23 20.6569 23 19V5C23 3.34314 21.6569 2 20 2H4ZM20 4H4C3.44769 4 3 4.44769 3 5V8H21V5C21 4.44769 20.5522 4 20 4ZM3 19V10H21V19C21 19.5523 20.5522 20 20 20H4C3.44769 20 3 19.5523 3 19Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgBoy (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 14C9.55228 14 10 13.5523 10 13C10 12.4477 9.55228 12 9 12C8.44771 12 8 12.4477 8 13C8 13.5523 8.44771 14 9 14Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 13C16 13.5523 15.5523 14 15 14C14.4477 14 14 13.5523 14 13C14 12.4477 14.4477 12 15 12C15.5523 12 16 12.4477 16 13Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22ZM12 20C16.4183 20 20 16.4183 20 12C20 11.1637 19.8717 10.3574 19.6337 9.59973C18.7991 9.82556 17.9212 9.94604 17.0152 9.94604C13.2921 9.94604 10.0442 7.91139 8.32277 4.89334C5.75469 6.22486 4 8.90751 4 12C4 16.4183 7.58172 20 12 20Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgBrackets (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 7V9H9V15H11V17H7V7H11Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 15H13V17H17V7H13V9H15V15Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M3 6C3 4.34315 4.34315 3 6 3H18C19.6569 3 21 4.34315 21 6V18C21 19.6569 19.6569 21 18 21H6C4.34315 21 3 19.6569 3 18V6ZM6 5H18C18.5523 5 19 5.44772 19 6V18C19 18.5523 18.5523 19 18 19H6C5.44772 19 5 18.5523 5 18V6C5 5.44772 5.44772 5 6 5Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgBriefcase (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 11H10V13H14V11Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M7 5V4C7 2.89545 7.89539 2 9 2H15C16.1046 2 17 2.89545 17 4V5H20C21.6569 5 23 6.34314 23 8V18C23 19.6569 21.6569 21 20 21H4C2.34314 21 1 19.6569 1 18V8C1 6.34314 2.34314 5 4 5H7ZM9 4H15V5H9V4ZM4 7C3.44775 7 3 7.44769 3 8V14H21V8C21 7.44769 20.5522 7 20 7H4ZM3 18V16H21V18C21 18.5523 20.5522 19 20 19H4C3.44775 19 3 18.5523 3 18Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgBrowse (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M14.364 13.1214C15.2876 14.045 15.4831 15.4211 14.9504 16.5362L16.4853 18.0711C16.8758 18.4616 16.8758 19.0948 16.4853 19.4853C16.0948 19.8758 15.4616 19.8758 15.0711 19.4853L13.5361 17.9504C12.421 18.4831 11.045 18.2876 10.1213 17.364C8.94975 16.1924 8.94975 14.2929 10.1213 13.1214C11.2929 11.9498 13.1924 11.9498 14.364 13.1214ZM12.9497 15.9498C13.3403 15.5593 13.3403 14.9261 12.9497 14.5356C12.5592 14.145 11.9261 14.145 11.5355 14.5356C11.145 14.9261 11.145 15.5593 11.5355 15.9498C11.9261 16.3403 12.5592 16.3403 12.9497 15.9498Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 5H16V7H8V5Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 9H8V11H16V9Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M4 4C4 2.34315 5.34315 1 7 1H17C18.6569 1 20 2.34315 20 4V20C20 21.6569 18.6569 23 17 23H7C5.34315 23 4 21.6569 4 20V4ZM7 3H17C17.5523 3 18 3.44772 18 4V20C18 20.5523 17.5523 21 17 21H7C6.44772 21 6 20.5523 6 20V4C6 3.44772 6.44771 3 7 3Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgBrowser (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 8C4.55228 8 5 7.55228 5 7C5 6.44772 4.55228 6 4 6C3.44772 6 3 6.44772 3 7C3 7.55228 3.44772 8 4 8Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 7C8 7.55228 7.55228 8 7 8C6.44772 8 6 7.55228 6 7C6 6.44772 6.44772 6 7 6C7.55228 6 8 6.44772 8 7Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 8C10.5523 8 11 7.55228 11 7C11 6.44772 10.5523 6 10 6C9.44771 6 9 6.44772 9 7C9 7.55228 9.44771 8 10 8Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M3 3C1.34315 3 0 4.34315 0 6V18C0 19.6569 1.34315 21 3 21H21C22.6569 21 24 19.6569 24 18V6C24 4.34315 22.6569 3 21 3H3ZM21 5H3C2.44772 5 2 5.44772 2 6V9H22V6C22 5.44772 21.5523 5 21 5ZM2 18V11H22V18C22 18.5523 21.5523 19 21 19H3C2.44772 19 2 18.5523 2 18Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgBrush (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M15 11H18C18.5523 11 19 11.4477 19 12V18C19 19.6569 17.6569 21 16 21H8C6.34315 21 5 19.6569 5 18V12C5 11.4477 5.44772 11 6 11H9V6C9 4.34315 10.3431 3 12 3C13.6569 3 15 4.34315 15 6V11ZM13 6C13 5.44772 12.5523 5 12 5C11.4477 5 11 5.44772 11 6V13H7V18C7 18.5523 7.44772 19 8 19H9V16H11V19H13V16H15V19H16C16.5523 19 17 18.5523 17 18V13H13V6Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgBulb (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M4 9C4 11.9611 5.60879 14.5465 8 15.9297V15.9999C8 18.2091 9.79086 19.9999 12 19.9999C14.2091 19.9999 16 18.2091 16 15.9999V15.9297C18.3912 14.5465 20 11.9611 20 9C20 4.58172 16.4183 1 12 1C7.58172 1 4 4.58172 4 9ZM16 13.4722C17.2275 12.3736 18 10.777 18 9C18 5.68629 15.3137 3 12 3C8.68629 3 6 5.68629 6 9C6 10.777 6.7725 12.3736 8 13.4722L10 13.4713V16C10 17.1045 10.8954 17.9999 12 17.9999C13.1045 17.9999 14 17.1045 14 15.9999V13.4713L16 13.4722Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 21.0064V21C10.5883 21.3403 11.2714 21.5351 12 21.5351C12.7286 21.5351 13.4117 21.3403 14 21V21.0064C14 22.111 13.1046 23.0064 12 23.0064C10.8954 23.0064 10 22.111 10 21.0064Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgCPlusPlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.207 16.278C11.1241 17.343 9.63879 18 8 18C4.68629 18 2 15.3137 2 12C2 8.68629 4.68629 6 8 6C9.67492 6 11.1896 6.6863 12.278 7.79303L13.6923 6.37878C12.2418 4.91014 10.2272 4 8 4C3.58172 4 0 7.58172 0 12C0 16.4183 3.58172 20 8 20C10.1911 20 12.1764 19.1192 13.6212 17.6923L12.207 16.278Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 9H13V11H11V13H13V15H15V13H17V11H15V9Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 9H22V11H24V13H22V15H20V13H18V11H20V9Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgCalculator (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17 5H7V7H17V5Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 9H9V11H7V9Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 13H7V15H9V13Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 17H9V19H7V17Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 9H11V11H13V9Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 13H13V15H11V13Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 17H11V19H13V17Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 9H17V11H15V9Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 13H15V19H17V13Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M3 3C3 1.89543 3.89543 1 5 1H19C20.1046 1 21 1.89543 21 3V21C21 22.1046 20.1046 23 19 23H5C3.89543 23 3 22.1046 3 21V3ZM5 3H19V21H5V3Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgCalendarDates (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 13C7.44772 13 7 12.5523 7 12C7 11.4477 7.44772 11 8 11C8.55228 11 9 11.4477 9 12C9 12.5523 8.55228 13 8 13Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 17C7.44772 17 7 16.5523 7 16C7 15.4477 7.44772 15 8 15C8.55228 15 9 15.4477 9 16C9 16.5523 8.55228 17 8 17Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 16C11 16.5523 11.4477 17 12 17C12.5523 17 13 16.5523 13 16C13 15.4477 12.5523 15 12 15C11.4477 15 11 15.4477 11 16Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 17C15.4477 17 15 16.5523 15 16C15 15.4477 15.4477 15 16 15C16.5523 15 17 15.4477 17 16C17 16.5523 16.5523 17 16 17Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 12C11 12.5523 11.4477 13 12 13C12.5523 13 13 12.5523 13 12C13 11.4477 12.5523 11 12 11C11.4477 11 11 11.4477 11 12Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 13C15.4477 13 15 12.5523 15 12C15 11.4477 15.4477 11 16 11C16.5523 11 17 11.4477 17 12C17 12.5523 16.5523 13 16 13Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 7C7.44772 7 7 7.44772 7 8C7 8.55228 7.44772 9 8 9H16C16.5523 9 17 8.55228 17 8C17 7.44772 16.5523 7 16 7H8Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M6 3C4.34315 3 3 4.34315 3 6V18C3 19.6569 4.34315 21 6 21H18C19.6569 21 21 19.6569 21 18V6C21 4.34315 19.6569 3 18 3H6ZM18 5H6C5.44772 5 5 5.44772 5 6V18C5 18.5523 5.44772 19 6 19H18C18.5523 19 19 18.5523 19 18V6C19 5.44772 18.5523 5 18 5Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgCalendarDue (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 8C7 7.44772 7.44772 7 8 7H16C16.5523 7 17 7.44772 17 8C17 8.55228 16.5523 9 16 9H8C7.44772 9 7 8.55228 7 8Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 16C13.1046 16 14 15.1046 14 14C14 12.8954 13.1046 12 12 12C10.8954 12 10 12.8954 10 14C10 15.1046 10.8954 16 12 16Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M6 3C4.34315 3 3 4.34315 3 6V18C3 19.6569 4.34315 21 6 21H18C19.6569 21 21 19.6569 21 18V6C21 4.34315 19.6569 3 18 3H6ZM18 5H6C5.44772 5 5 5.44772 5 6V18C5 18.5523 5.44772 19 6 19H18C18.5523 19 19 18.5523 19 18V6C19 5.44772 18.5523 5 18 5Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgCalendarNext (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.7249 16.5461L16.2249 13.9481L11.7249 11.35V12.9481H7.7749V14.9481H11.7249V16.5461Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 7C7.44772 7 7 7.44772 7 8C7 8.55228 7.44772 9 8 9H16C16.5523 9 17 8.55228 17 8C17 7.44772 16.5523 7 16 7H8Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M6 3C4.34315 3 3 4.34315 3 6V18C3 19.6569 4.34315 21 6 21H18C19.6569 21 21 19.6569 21 18V6C21 4.34315 19.6569 3 18 3H6ZM18 5H6C5.44772 5 5 5.44772 5 6V18C5 18.5523 5.44772 19 6 19H18C18.5523 19 19 18.5523 19 18V6C19 5.44772 18.5523 5 18 5Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgCalendarToday (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15 17C16.1046 17 17 16.1046 17 15C17 13.8954 16.1046 13 15 13C13.8954 13 13 13.8954 13 15C13 16.1046 13.8954 17 15 17Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M6 3C4.34315 3 3 4.34315 3 6V18C3 19.6569 4.34315 21 6 21H18C19.6569 21 21 19.6569 21 18V6C21 4.34315 19.6569 3 18 3H6ZM5 18V7H19V18C19 18.5523 18.5523 19 18 19H6C5.44772 19 5 18.5523 5 18Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgCalendarTwo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 7C7.44772 7 7 7.44772 7 8C7 8.55228 7.44772 9 8 9H16C16.5523 9 17 8.55228 17 8C17 7.44772 16.5523 7 16 7H8Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M3 6C3 4.34315 4.34315 3 6 3H18C19.6569 3 21 4.34315 21 6V18C21 19.6569 19.6569 21 18 21H6C4.34315 21 3 19.6569 3 18V6ZM6 5H18C18.5523 5 19 5.44772 19 6V18C19 18.5523 18.5523 19 18 19H6C5.44772 19 5 18.5523 5 18V6C5 5.44772 5.44772 5 6 5Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgCalendar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 9C7.44772 9 7 9.44771 7 10C7 10.5523 7.44772 11 8 11H16C16.5523 11 17 10.5523 17 10C17 9.44771 16.5523 9 16 9H8Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M6 3C4.34315 3 3 4.34315 3 6V18C3 19.6569 4.34315 21 6 21H18C19.6569 21 21 19.6569 21 18V6C21 4.34315 19.6569 3 18 3H6ZM5 18V7H19V18C19 18.5523 18.5523 19 18 19H6C5.44772 19 5 18.5523 5 18Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgCalibrate (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.0503 5C14.51 5 16.7393 5.98676 18.3638 7.58602L14.1208 11.8291C13.5824 11.3154 12.8531 11 12.0503 11C11.1963 11 10.4256 11.3568 9.87927 11.9295L5.63623 7.68651C7.26871 6.0282 9.53941 5 12.0503 5Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.0503 19C13.7071 19 15.0503 17.6569 15.0503 16C15.0503 14.3431 13.7071 13 12.0503 13C10.3934 13 9.05029 14.3431 9.05029 16C9.05029 17.6569 10.3934 19 12.0503 19Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgCamera (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M4 4.5V6.5H12V7.5H3C1.34315 7.5 0 8.84315 0 10.5V16.5C0 18.1569 1.34315 19.5 3 19.5H15C16.5731 19.5 17.8634 18.2892 17.9898 16.7487L24 17.5V9.5L17.9898 10.2513C17.8634 8.71078 16.5731 7.5 15 7.5H14V5.5C14 4.94772 13.5523 4.5 13 4.5H4ZM18 12.2656V14.7344L22 15.2344V11.7656L18 12.2656ZM16 10.5C16 9.94772 15.5523 9.5 15 9.5H3C2.44772 9.5 2 9.94772 2 10.5V16.5C2 17.0523 2.44772 17.5 3 17.5H15C15.5523 17.5 16 17.0523 16 16.5V10.5Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgCap (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 18V20H16V18H8Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M13.988 3.2203C13.9959 3.14796 14 3.07446 14 3C14 1.89543 13.1046 1 12 1C10.8954 1 10 1.89543 10 3C10 3.07446 10.0041 3.14796 10.012 3.2203C5.99799 4.12533 3 7.71255 3 12C3 12.3883 3.02459 12.7709 3.0723 13.1462C1.86949 13.5369 1 14.6669 1 16V20C1 21.6569 2.34315 23 4 23H20C21.6569 23 23 21.6569 23 20V16C23 14.6669 22.1305 13.5369 20.9277 13.1462C20.9754 12.7709 21 12.3883 21 12C21 7.71255 18.002 4.12533 13.988 3.2203ZM12 5C8.13401 5 5 8.13401 5 12C5 12.3402 5.02412 12.674 5.07063 13H18.9294C18.9759 12.674 19 12.3402 19 12C19 8.13401 15.866 5 12 5ZM3 16C3 15.4477 3.44772 15 4 15H20C20.5523 15 21 15.4477 21 16V20C21 20.5523 20.5523 21 20 21H4C3.44772 21 3 20.5523 3 20V16Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgCaptions (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 8V10H8V14H11V16H6V8H11Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 8V10H15V14H18V16H13V8H18Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M2 5C2 4.44772 2.44772 4 3 4H21C21.5523 4 22 4.44772 22 5V19C22 19.5523 21.5523 20 21 20H3C2.44772 20 2 19.5523 2 19V5ZM4 18V6H20V18H4Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgCardClubs (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 11C13.1046 11 14 10.1046 14 9C14 7.89543 13.1046 7 12 7C10.8954 7 10 7.89543 10 9C10 10.1046 10.8954 11 12 11Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 13C11 14.1046 10.1046 15 9 15C7.89543 15 7 14.1046 7 13C7 11.8954 7.89543 11 9 11C10.1046 11 11 11.8954 11 13Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 15C16.1046 15 17 14.1046 17 13C17 11.8954 16.1046 11 15 11C13.8954 11 13 11.8954 13 13C13 14.1046 13.8954 15 15 15Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M3 4C3 2.34315 4.34315 1 6 1H18C19.6569 1 21 2.34315 21 4V20C21 21.6569 19.6569 23 18 23H6C4.34315 23 3 21.6569 3 20V4ZM6 3H18C18.5523 3 19 3.44772 19 4V20C19 20.5523 18.5523 21 18 21H6C5.44772 21 5 20.5523 5 20V4C5 3.44772 5.44772 3 6 3Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgCardDiamonds (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 7.75736L7.75736 12L12 16.2426L16.2426 12L12 7.75736Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M3 4C3 2.34315 4.34315 1 6 1H18C19.6569 1 21 2.34315 21 4V20C21 21.6569 19.6569 23 18 23H6C4.34315 23 3 21.6569 3 20V4ZM6 3H18C18.5523 3 19 3.44772 19 4V20C19 20.5523 18.5523 21 18 21H6C5.44772 21 5 20.5523 5 20V4C5 3.44772 5.44772 3 6 3Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgCardHearts (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.14648 12.2929C8.36544 11.5118 8.36544 10.2455 9.14648 9.46444C9.92753 8.68339 11.1939 8.68339 11.9749 9.46444L12 9.48955L12.0251 9.46449C12.8061 8.68345 14.0725 8.68345 14.8535 9.46449C15.6346 10.2455 15.6346 11.5119 14.8535 12.2929L12.0251 15.1213L12 15.0962L11.9749 15.1213L9.14648 12.2929Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M3 4C3 2.34315 4.34315 1 6 1H18C19.6569 1 21 2.34315 21 4V20C21 21.6569 19.6569 23 18 23H6C4.34315 23 3 21.6569 3 20V4ZM6 3H18C18.5523 3 19 3.44772 19 4V20C19 20.5523 18.5523 21 18 21H6C5.44772 21 5 20.5523 5 20V4C5 3.44772 5.44772 3 6 3Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgCardSpades (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.14648 11.7071C8.36544 12.4882 8.36544 13.7545 9.14648 14.5356C9.92753 15.3166 11.1939 15.3166 11.9749 14.5356L12 14.5104L12.0251 14.5355C12.8061 15.3166 14.0725 15.3166 14.8535 14.5355C15.6346 13.7545 15.6346 12.4881 14.8535 11.7071L12.0251 8.87865L12 8.90377L11.9749 8.87871L9.14648 11.7071Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M3 20C3 21.6569 4.34315 23 6 23H18C19.6569 23 21 21.6569 21 20V4C21 2.34315 19.6569 1 18 1H6C4.34315 1 3 2.34315 3 4V20ZM6 21H18C18.5523 21 19 20.5523 19 20V4C19 3.44772 18.5523 3 18 3H6C5.44772 3 5 3.44772 5 4V20C5 20.5523 5.44772 21 6 21Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgCarousel (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M4 3C2.34315 3 1 4.34315 1 6V10C1 11.6569 2.34315 13 4 13H20C21.6569 13 23 11.6569 23 10V6C23 4.34315 21.6569 3 20 3H4ZM20 5H4C3.44772 5 3 5.44772 3 6V10C3 10.5523 3.44772 11 4 11H20C20.5523 11 21 10.5523 21 10V6C21 5.44771 20.5523 5 20 5Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 20C7 19.4477 7.44772 19 8 19H16C16.5523 19 17 19.4477 17 20C17 20.5523 16.5523 21 16 21H8C7.44772 21 7 20.5523 7 20Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 15C4.44772 15 4 15.4477 4 16C4 16.5523 4.44772 17 5 17H19C19.5523 17 20 16.5523 20 16C20 15.4477 19.5523 15 19 15H5Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgCast (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 6H4V8H2V6C2 4.89543 2.89543 4 4 4H20C21.1046 4 22 4.89543 22 6V18C22 19.1046 21.1046 20 20 20H15V18H20V6Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 13C5.86599 13 9 16.134 9 20H7C7 17.2386 4.76142 15 2 15V13Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 17C3.65685 17 5 18.3431 5 20H2V17Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 9C8.07513 9 13 13.9249 13 20H11C11 15.0294 6.97056 11 2 11V9Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgChanel (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M6.07178 3.17291C4.32593 3.5202 2.72229 4.37738 1.46362 5.63605L3.59332 7.76575C4.43079 6.92835 5.4978 6.35803 6.65936 6.12695C7.53564 5.95264 8.43604 5.9773 9.29523 6.19452C9.0791 6.45056 8.87671 6.71936 8.68927 6.99988C7.70032 8.47992 7.17249 10.22 7.17249 12C7.17249 13.78 7.70032 15.5201 8.68927 17.0001C8.87671 17.2806 9.07916 17.5494 9.29529 17.8055C8.4361 18.0227 7.53564 18.0474 6.65936 17.873C5.4978 17.642 4.43079 17.0717 3.59332 16.2343L1.46362 18.364C2.72229 19.6226 4.32593 20.4798 6.07178 20.8271C7.81757 21.1743 9.6272 20.9961 11.2717 20.3149C11.5201 20.212 11.7632 20.0983 12.0001 19.9744C12.2369 20.0983 12.4799 20.212 12.7283 20.3149C14.3729 20.9961 16.1825 21.1743 17.9283 20.8271C19.6741 20.4798 21.2778 19.6226 22.5364 18.364L20.4067 16.2343C19.5693 17.0717 18.5023 17.642 17.3407 17.873C16.4644 18.0474 15.564 18.0227 14.7048 17.8055C14.9209 17.5494 15.1234 17.2806 15.3108 17.0001C16.2997 15.5201 16.8276 13.78 16.8276 12C16.8276 10.22 16.2997 8.47992 15.3108 6.99988C15.1234 6.71936 14.921 6.45056 14.7048 6.19452C15.564 5.9773 16.4644 5.95264 17.3407 6.12695C18.5023 6.35803 19.5693 6.92835 20.4067 7.76575L22.5364 5.63605C21.2778 4.37738 19.6741 3.5202 17.9283 3.17291C16.1825 2.82568 14.3729 3.00391 12.7283 3.68506C12.4799 3.78796 12.2369 3.90167 12.0001 4.02564C11.7632 3.90167 11.5201 3.78796 11.2717 3.68506C9.6272 3.00391 7.81757 2.82568 6.07178 3.17291ZM12.0001 7.7049C11.6994 7.99695 11.4288 8.32117 11.1935 8.67316C10.5356 9.6579 10.1844 10.8157 10.1844 12C10.1844 13.1843 10.5356 14.3421 11.1935 15.3268C11.4288 15.6788 11.6994 16.0031 12.0001 16.2951C12.3007 16.0031 12.5713 15.6788 12.8065 15.3268C13.4645 14.3421 13.8157 13.1843 13.8157 12C13.8157 10.8157 13.4645 9.6579 12.8065 8.67316C12.5713 8.32117 12.3007 7.99695 12.0001 7.7049Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgChart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M22.775 8C22.9242 8.65461 23 9.32542 23 10H14V1C14.6746 1 15.3454 1.07584 16 1.22504C16.4923 1.33724 16.9754 1.49094 17.4442 1.68508C18.5361 2.13738 19.5282 2.80031 20.364 3.63604C21.1997 4.47177 21.8626 5.46392 22.3149 6.55585C22.5091 7.02455 22.6628 7.5077 22.775 8ZM20.7082 8C20.6397 7.77018 20.5593 7.54361 20.4672 7.32122C20.1154 6.47194 19.5998 5.70026 18.9497 5.05025C18.2997 4.40024 17.5281 3.88463 16.6788 3.53284C16.4564 3.44073 16.2298 3.36031 16 3.2918V8H20.7082Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M1 14C1 9.02944 5.02944 5 10 5C10.6746 5 11.3454 5.07584 12 5.22504V12H18.775C18.9242 12.6546 19 13.3254 19 14C19 18.9706 14.9706 23 10 23C5.02944 23 1 18.9706 1 14ZM16.8035 14H10V7.19648C6.24252 7.19648 3.19648 10.2425 3.19648 14C3.19648 17.7575 6.24252 20.8035 10 20.8035C13.7575 20.8035 16.8035 17.7575 16.8035 14Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgCheckO (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.2426 16.3137L6 12.071L7.41421 10.6568L10.2426 13.4853L15.8995 7.8284L17.3137 9.24262L10.2426 16.3137Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M1 12C1 5.92487 5.92487 1 12 1C18.0751 1 23 5.92487 23 12C23 18.0751 18.0751 23 12 23C5.92487 23 1 18.0751 1 12ZM12 21C7.02944 21 3 16.9706 3 12C3 7.02944 7.02944 3 12 3C16.9706 3 21 7.02944 21 12C21 16.9706 16.9706 21 12 21Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgCheckR (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.2426 16.3137L6 12.071L7.41421 10.6568L10.2426 13.4853L15.8995 7.8284L17.3137 9.24262L10.2426 16.3137Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M1 5C1 2.79086 2.79086 1 5 1H19C21.2091 1 23 2.79086 23 5V19C23 21.2091 21.2091 23 19 23H5C2.79086 23 1 21.2091 1 19V5ZM5 3H19C20.1046 3 21 3.89543 21 5V19C21 20.1046 20.1046 21 19 21H5C3.89543 21 3 20.1046 3 19V5C3 3.89543 3.89543 3 5 3Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.5858 13.4142L7.75735 10.5858L6.34314 12L10.5858 16.2427L17.6568 9.1716L16.2426 7.75739L10.5858 13.4142Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgChevronDoubleDownO (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.75732 8.46448L9.17154 7.05026L12 9.87869L14.8284 7.05029L16.2426 8.46451L12 12.7071L7.75732 8.46448Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.17154 11.2929L7.75732 12.7071L11.9999 16.9498L16.2426 12.7071L14.8284 11.2929L12 14.1213L9.17154 11.2929Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M23 12C23 18.0751 18.0751 23 12 23C5.92487 23 1 18.0751 1 12C1 5.92487 5.92487 1 12 1C18.0751 1 23 5.92487 23 12ZM21 12C21 16.9706 16.9706 21 12 21C7.02944 21 3 16.9706 3 12C3 7.02944 7.02944 3 12 3C16.9706 3 21 7.02944 21 12Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgChevronDoubleDownR (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.75732 8.46448L9.17154 7.05026L12 9.87869L14.8284 7.05029L16.2426 8.46451L12 12.7071L7.75732 8.46448Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.17154 11.2929L7.75732 12.7071L11.9999 16.9498L16.2426 12.7071L14.8284 11.2929L12 14.1213L9.17154 11.2929Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M1 5C1 2.79086 2.79086 1 5 1H19C21.2091 1 23 2.79086 23 5V19C23 21.2091 21.2091 23 19 23H5C2.79086 23 1 21.2091 1 19V5ZM5 3H19C20.1046 3 21 3.89543 21 5V19C21 20.1046 20.1046 21 19 21H5C3.89543 21 3 20.1046 3 19V5C3 3.89543 3.89543 3 5 3Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgChevronDoubleDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.75735 5.63605L6.34314 7.05026L12 12.7071L17.6569 7.05029L16.2427 5.63608L12 9.87872L7.75735 5.63605Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.34314 12.7071L7.75735 11.2929L12 15.5356L16.2427 11.2929L17.6569 12.7071L12 18.364L6.34314 12.7071Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgChevronDoubleLeftO (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.7071 9.1716L11.2929 7.75739L7.05024 12L11.2929 16.2426L12.7071 14.8284L9.87869 12L12.7071 9.1716Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.5355 7.75739L16.9497 9.1716L14.1213 12L16.9497 14.8284L15.5355 16.2426L11.2929 12L15.5355 7.75739Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M23 12C23 18.0751 18.0751 23 12 23C5.92487 23 1 18.0751 1 12C1 5.92487 5.92487 1 12 1C18.0751 1 23 5.92487 23 12ZM21 12C21 16.9706 16.9706 21 12 21C7.02944 21 3 16.9706 3 12C3 7.02944 7.02944 3 12 3C16.9706 3 21 7.02944 21 12Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgChevronDoubleLeftR (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.7071 9.1716L11.2929 7.75739L7.05024 12L11.2929 16.2426L12.7071 14.8284L9.87869 12L12.7071 9.1716Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.5355 7.75739L16.9497 9.1716L14.1213 12L16.9497 14.8284L15.5355 16.2426L11.2929 12L15.5355 7.75739Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M1 5C1 2.79086 2.79086 1 5 1H19C21.2091 1 23 2.79086 23 5V19C23 21.2091 21.2091 23 19 23H5C2.79086 23 1 21.2091 1 19V5ZM5 3H19C20.1046 3 21 3.89543 21 5V19C21 20.1046 20.1046 21 19 21H5C3.89543 21 3 20.1046 3 19V5C3 3.89543 3.89543 3 5 3Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgChevronDoubleLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18.3639 7.75735L16.9497 6.34314L11.2929 12L16.9497 17.6568L18.3639 16.2426L14.1213 12L18.3639 7.75735Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.2929 6.34314L12.7071 7.75735L8.46447 12L12.7071 16.2426L11.2929 17.6568L5.63605 12L11.2929 6.34314Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgChevronDoubleRightO (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.46448 7.75739L7.05026 9.1716L9.87869 12L7.05029 14.8284L8.46451 16.2426L12.7071 12L8.46448 7.75739Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.2929 9.1716L12.7071 7.75739L16.9498 12L12.7071 16.2426L11.2929 14.8284L14.1213 12L11.2929 9.1716Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M1 12C1 18.0751 5.92487 23 12 23C18.0751 23 23 18.0751 23 12C23 5.92487 18.0751 1 12 1C5.92487 1 1 5.92487 1 12ZM3 12C3 16.9706 7.02944 21 12 21C16.9706 21 21 16.9706 21 12C21 7.02944 16.9706 3 12 3C7.02944 3 3 7.02944 3 12Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgChevronDoubleRightR (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.46448 7.75739L7.05026 9.1716L9.87869 12L7.05029 14.8284L8.46451 16.2426L12.7071 12L8.46448 7.75739Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.2929 9.1716L12.7071 7.75739L16.9498 12L12.7071 16.2426L11.2929 14.8284L14.1213 12L11.2929 9.1716Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M23 5C23 2.79086 21.2091 1 19 1H5C2.79086 1 1 2.79086 1 5V19C1 21.2091 2.79086 23 5 23H19C21.2091 23 23 21.2091 23 19V5ZM19 3H5C3.89543 3 3 3.89543 3 5V19C3 20.1046 3.89543 21 5 21H19C20.1046 21 21 20.1046 21 19V5C21 3.89543 20.1046 3 19 3Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgChevronDoubleRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.63605 7.75735L7.05026 6.34314L12.7071 12L7.05029 17.6568L5.63608 16.2426L9.87869 12L5.63605 7.75735Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.7071 6.34314L11.2929 7.75735L15.5356 12L11.2929 16.2426L12.7072 17.6568L18.364 12L12.7071 6.34314Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgChevronDoubleUpO (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.8284 12.7071L16.2426 11.2929L12 7.05027L7.75739 11.2929L9.1716 12.7071L12 9.87869L14.8284 12.7071Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.8284 16.9497L16.2426 15.5355L12 11.2929L7.75739 15.5355L9.1716 16.9497L12 14.1213L14.8284 16.9497Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M1 12C1 18.0751 5.92487 23 12 23C18.0751 23 23 18.0751 23 12C23 5.92487 18.0751 1 12 1C5.92487 1 1 5.92487 1 12ZM3 12C3 16.9706 7.02944 21 12 21C16.9706 21 21 16.9706 21 12C21 7.02944 16.9706 3 12 3C7.02944 3 3 7.02944 3 12Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgChevronDoubleUpR (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.8284 12.4813L16.2426 11.067L12 6.82444L7.75732 11.0671L9.17154 12.4813L12 9.65286L14.8284 12.4813Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.8284 16.7239L16.2426 15.3097L12 11.0671L7.75732 15.3097L9.17154 16.7239L12 13.8955L14.8284 16.7239Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M23 4.77411C23 2.56497 21.2091 0.774109 19 0.774109H5C2.79086 0.774109 1 2.56497 1 4.77411V18.7741C1 20.9832 2.79086 22.7741 5 22.7741H19C21.2091 22.7741 23 20.9832 23 18.7741V4.77411ZM19 2.77411H5C3.89543 2.77411 3 3.66954 3 4.77411V18.7741C3 19.8787 3.89543 20.7741 5 20.7741H19C20.1046 20.7741 21 19.8787 21 18.7741V4.77411C21 3.66954 20.1046 2.77411 19 2.77411Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgChevronDoubleUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17.6569 11.2929L16.2427 12.7071L12 8.46444L7.75735 12.7071L6.34314 11.2929L12 5.63605L17.6569 11.2929Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17.6569 16.9497L16.2427 18.3639L12 14.1213L7.75735 18.364L6.34314 16.9498L12 11.2929L17.6569 16.9497Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgChevronDownO (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.75745 10.5858L9.17166 9.17154L12.0001 12L14.8285 9.17157L16.2427 10.5858L12.0001 14.8284L7.75745 10.5858Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M1 12C1 5.92487 5.92487 1 12 1C18.0751 1 23 5.92487 23 12C23 18.0751 18.0751 23 12 23C5.92487 23 1 18.0751 1 12ZM12 21C7.02944 21 3 16.9706 3 12C3 7.02944 7.02944 3 12 3C16.9706 3 21 7.02944 21 12C21 16.9706 16.9706 21 12 21Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgChevronDownR (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.75739 10.5858L9.1716 9.17154L12 12L14.8284 9.17157L16.2426 10.5858L12 14.8284L7.75739 10.5858Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M1 5C1 2.79086 2.79086 1 5 1H19C21.2091 1 23 2.79086 23 5V19C23 21.2091 21.2091 23 19 23H5C2.79086 23 1 21.2091 1 19V5ZM5 3H19C20.1046 3 21 3.89543 21 5V19C21 20.1046 20.1046 21 19 21H5C3.89543 21 3 20.1046 3 19V5C3 3.89543 3.89543 3 5 3Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgChevronDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.34317 7.75732L4.92896 9.17154L12 16.2426L19.0711 9.17157L17.6569 7.75735L12 13.4142L6.34317 7.75732Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgChevronLeftO (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 7.75739L13.4142 9.1716L10.5858 12L13.4142 14.8285L12 16.2427L7.75736 12L12 7.75739Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M12 1C18.0751 1 23 5.92487 23 12C23 18.0751 18.0751 23 12 23C5.92487 23 1 18.0751 1 12C1 5.92487 5.92487 1 12 1ZM3 12C3 7.02944 7.02944 3 12 3C16.9706 3 21 7.02944 21 12C21 16.9706 16.9706 21 12 21C7.02944 21 3 16.9706 3 12Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgChevronLeftR (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 7.75739L14.4142 9.1716L11.5858 12L14.4142 14.8284L13 16.2426L8.75736 12L13 7.75739Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M19 1C21.2091 1 23 2.79086 23 5V19C23 21.2091 21.2091 23 19 23H5C2.79086 23 1 21.2091 1 19V5C1 2.79086 2.79086 1 5 1H19ZM21 5V19C21 20.1046 20.1046 21 19 21H5C3.89543 21 3 20.1046 3 19L3 5C3 3.89543 3.89543 3 5 3L19 3C20.1046 3 21 3.89543 21 5Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgChevronLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16.2426 6.34317L14.8284 4.92896L7.75739 12L14.8285 19.0711L16.2427 17.6569L10.5858 12L16.2426 6.34317Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgChevronRightO (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.0858 7.75739L15.3284 12L11.0858 16.2427L9.67157 14.8285L12.5 12L9.67157 9.1716L11.0858 7.75739Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M12 1C5.92487 1 1 5.92487 1 12C1 18.0751 5.92487 23 12 23C18.0751 23 23 18.0751 23 12C23 5.92487 18.0751 1 12 1ZM21 12C21 7.02944 16.9706 3 12 3C7.02944 3 3 7.02944 3 12C3 16.9706 7.02944 21 12 21C16.9706 21 21 16.9706 21 12Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgChevronRightR (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16.4853 12.0451L12.2426 7.80249L10.8284 9.2167L13.6568 12.0451L10.8284 14.8736L12.2426 16.2878L16.4853 12.0451Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M1 4C1 2.34315 2.34315 1 4 1H20C21.6569 1 23 2.34315 23 4V20C23 21.6569 21.6569 23 20 23H4C2.34315 23 1 21.6569 1 20V4ZM4 3H20C20.5523 3 21 3.44772 21 4V20C21 20.5523 20.5523 21 20 21H4C3.44772 21 3 20.5523 3 20V4C3 3.44772 3.44772 3 4 3Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgChevronRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.5858 6.34317L12 4.92896L19.0711 12L12 19.0711L10.5858 17.6569L16.2427 12L10.5858 6.34317Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgChevronUpO (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.8285 14.8284L16.2427 13.4142L12.0001 9.17161L7.75745 13.4142L9.17166 14.8285L12.0001 12L14.8285 14.8284Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M1 12C1 18.0751 5.92487 23 12 23C18.0751 23 23 18.0751 23 12C23 5.92487 18.0751 1 12 1C5.92487 1 1 5.92487 1 12ZM12 3C7.02944 3 3 7.02944 3 12C3 16.9706 7.02944 21 12 21C16.9706 21 21 16.9706 21 12C21 7.02944 16.9706 3 12 3Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgChevronUpR (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.8285 14.8284L16.2427 13.4142L12.0001 9.17161L7.75745 13.4142L9.17166 14.8285L12.0001 12L14.8285 14.8284Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M1 19C1 21.2091 2.79086 23 5 23H19C21.2091 23 23 21.2091 23 19V5C23 2.79086 21.2091 1 19 1H5C2.79086 1 1 2.79086 1 5V19ZM5 21H19C20.1046 21 21 20.1046 21 19V5C21 3.89543 20.1046 3 19 3H5C3.89543 3 3 3.89543 3 5V19C3 20.1046 3.89543 21 5 21Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgChevronUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17.6569 16.2427L19.0711 14.8285L12.0001 7.75739L4.92896 14.8285L6.34317 16.2427L12.0001 10.5858L17.6569 16.2427Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgCircleci (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M12 0C5.37258 0 0 5.37258 0 12C0 18.6274 5.37258 24 12 24C18.6274 24 24 18.6274 24 12C24 5.37258 18.6274 0 12 0ZM4.14355 13.5165C4.85219 17.2096 8.10023 20 12 20C16.4183 20 20 16.4183 20 12C20 7.58172 16.4183 4 12 4C8.0886 4 4.83283 6.80704 4.13728 10.5165L6.72824 10.5071C7.37819 8.20738 9.49236 6.52222 12.0001 6.52222C15.0254 6.52222 17.4779 8.9747 17.4779 12C17.4779 15.0253 15.0254 17.4778 12.0001 17.4778C9.49752 17.4778 7.3869 15.7995 6.73228 13.5071L4.14355 13.5165ZM9.52234 12C9.52234 13.3684 10.6317 14.4778 12.0001 14.4778C13.3685 14.4778 14.4779 13.3684 14.4779 12C14.4779 10.6316 13.3685 9.52222 12.0001 9.52222C10.6317 9.52222 9.52234 10.6316 9.52234 12Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgClapperBoard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M20.1702 3L20.1663 3.00453C21.7458 3.09084 23 4.39896 23 6V18C23 19.6569 21.6569 21 20 21H4C2.34315 21 1 19.6569 1 18V6C1 4.34315 2.34315 3 4 3H20.1702ZM10.4764 5H16.4764L13.089 9H7.08899L10.4764 5ZM5.08899 9L8.47644 5H4C3.44772 5 3 5.44772 3 6V9H5.08899ZM3 11V18C3 18.5523 3.44772 19 4 19H20C20.5523 19 21 18.5523 21 18V11H3ZM21 9V6C21 5.44771 20.5523 5 20 5H18.4764L15.089 9H21Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgClipboard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 11C7.44772 11 7 11.4477 7 12C7 12.5523 7.44772 13 8 13H15.9595C16.5118 13 16.9595 12.5523 16.9595 12C16.9595 11.4477 16.5118 11 15.9595 11H8Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.04053 15.0665C7.48824 15.0665 7.04053 15.5142 7.04053 16.0665C7.04053 16.6188 7.48824 17.0665 8.04053 17.0665H16C16.5523 17.0665 17 16.6188 17 16.0665C17 15.5142 16.5523 15.0665 16 15.0665H8.04053Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M5 3C3.89543 3 3 3.89543 3 5V19C3 20.1046 3.89543 21 5 21H19C20.1046 21 21 20.1046 21 19V5C21 3.89543 20.1046 3 19 3H5ZM7 5H5L5 19H19V5H17V6C17 7.65685 15.6569 9 14 9H10C8.34315 9 7 7.65685 7 6V5ZM9 5V6C9 6.55228 9.44772 7 10 7H14C14.5523 7 15 6.55228 15 6V5H9Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgCloseO (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16.3394 9.32245C16.7434 8.94589 16.7657 8.31312 16.3891 7.90911C16.0126 7.50509 15.3798 7.48283 14.9758 7.85938L12.0497 10.5866L9.32245 7.66048C8.94589 7.25647 8.31312 7.23421 7.90911 7.61076C7.50509 7.98731 7.48283 8.62008 7.85938 9.0241L10.5866 11.9502L7.66048 14.6775C7.25647 15.054 7.23421 15.6868 7.61076 16.0908C7.98731 16.4948 8.62008 16.5171 9.0241 16.1405L11.9502 13.4133L14.6775 16.3394C15.054 16.7434 15.6868 16.7657 16.0908 16.3891C16.4948 16.0126 16.5171 15.3798 16.1405 14.9758L13.4133 12.0497L16.3394 9.32245Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M1 12C1 5.92487 5.92487 1 12 1C18.0751 1 23 5.92487 23 12C23 18.0751 18.0751 23 12 23C5.92487 23 1 18.0751 1 12ZM12 21C7.02944 21 3 16.9706 3 12C3 7.02944 7.02944 3 12 3C16.9706 3 21 7.02944 21 12C21 16.9706 16.9706 21 12 21Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgCloseR (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16.3956 7.75734C16.7862 8.14786 16.7862 8.78103 16.3956 9.17155L13.4142 12.153L16.0896 14.8284C16.4802 15.2189 16.4802 15.8521 16.0896 16.2426C15.6991 16.6331 15.0659 16.6331 14.6754 16.2426L12 13.5672L9.32458 16.2426C8.93405 16.6331 8.30089 16.6331 7.91036 16.2426C7.51984 15.8521 7.51984 15.2189 7.91036 14.8284L10.5858 12.153L7.60436 9.17155C7.21383 8.78103 7.21383 8.14786 7.60436 7.75734C7.99488 7.36681 8.62805 7.36681 9.01857 7.75734L12 10.7388L14.9814 7.75734C15.372 7.36681 16.0051 7.36681 16.3956 7.75734Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M4 1C2.34315 1 1 2.34315 1 4V20C1 21.6569 2.34315 23 4 23H20C21.6569 23 23 21.6569 23 20V4C23 2.34315 21.6569 1 20 1H4ZM20 3H4C3.44772 3 3 3.44772 3 4V20C3 20.5523 3.44772 21 4 21H20C20.5523 21 21 20.5523 21 20V4C21 3.44772 20.5523 3 20 3Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgClose (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.2253 4.81108C5.83477 4.42056 5.20161 4.42056 4.81108 4.81108C4.42056 5.20161 4.42056 5.83477 4.81108 6.2253L10.5858 12L4.81114 17.7747C4.42062 18.1652 4.42062 18.7984 4.81114 19.1889C5.20167 19.5794 5.83483 19.5794 6.22535 19.1889L12 13.4142L17.7747 19.1889C18.1652 19.5794 18.7984 19.5794 19.1889 19.1889C19.5794 18.7984 19.5794 18.1652 19.1889 17.7747L13.4142 12L19.189 6.2253C19.5795 5.83477 19.5795 5.20161 19.189 4.81108C18.7985 4.42056 18.1653 4.42056 17.7748 4.81108L12 10.5858L6.2253 4.81108Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgCloud (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M14.738 19.9964C14.8186 19.9988 14.8994 20 14.9806 20C19.3989 20 22.9806 16.4183 22.9806 12C22.9806 7.58172 19.3989 4 14.9806 4C12.4542 4 10.2013 5.17108 8.73522 7H7.51941C3.92956 7 1.01941 9.91015 1.01941 13.5C1.01941 17.0899 3.92956 20 7.51941 20H14.5194C14.5926 20 14.6654 19.9988 14.738 19.9964ZM16.6913 17.721C19.0415 16.9522 20.9806 14.6815 20.9806 12C20.9806 8.68629 18.2943 6 14.9806 6C11.6669 6 8.98059 8.68629 8.98059 12H6.98059C6.98059 10.9391 7.1871 9.92643 7.56211 9H7.51941C5.03413 9 3.01941 11.0147 3.01941 13.5C3.01941 15.9853 5.03413 18 7.51941 18H14.5194C15.0691 18 15.9041 17.9014 16.6913 17.721Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgCodeClimate (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.49506 8.1109L3.1311 14.4749L4.54532 15.8891L9.49506 10.9393L14.4448 15.8891L15.859 14.4749L9.49506 8.1109Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.5049 8.11092L12.5317 10.0842L13.9503 11.494L14.5049 10.9393L19.4547 15.8891L20.8689 14.4749L14.5049 8.11092Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgCodeSlash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.325 3.05011L8.66741 20.4323L10.5993 20.9499L15.2568 3.56775L13.325 3.05011Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.61197 18.3608L8.97136 16.9124L8.97086 16.8933L3.87657 12.1121L8.66699 7.00798L7.20868 5.63928L1.04956 12.2017L7.61197 18.3608Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.388 18.3608L15.0286 16.9124L15.0291 16.8933L20.1234 12.1121L15.333 7.00798L16.7913 5.63928L22.9504 12.2017L16.388 18.3608Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgCode (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.95263 16.9123L8.59323 18.3608L2.03082 12.2016L8.18994 5.63922L9.64826 7.00791L4.85783 12.112L9.95212 16.8932L9.95263 16.9123Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.0474 16.9123L15.4068 18.3608L21.9692 12.2016L15.8101 5.63922L14.3517 7.00791L19.1422 12.112L14.0479 16.8932L14.0474 16.9123Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgCoffee (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 2.5C5.44772 2.5 5 2.94772 5 3.5V5.5C5 6.05228 5.44772 6.5 6 6.5C6.55228 6.5 7 6.05228 7 5.5V3.5C7 2.94772 6.55228 2.5 6 2.5Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M13 21.5C15.973 21.5 18.441 19.3377 18.917 16.5H19C21.2091 16.5 23 14.7091 23 12.5C23 10.2909 21.2091 8.5 19 8.5V7.5H1V15.5C1 18.8137 3.68629 21.5 7 21.5H13ZM3 9.5V15.5C3 17.7091 4.79086 19.5 7 19.5H13C15.2091 19.5 17 17.7091 17 15.5V9.5H3ZM21 12.5C21 13.6046 20.1046 14.5 19 14.5V10.5C20.1046 10.5 21 11.3954 21 12.5Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 3.5C9 2.94772 9.44771 2.5 10 2.5C10.5523 2.5 11 2.94772 11 3.5V5.5C11 6.05228 10.5523 6.5 10 6.5C9.44771 6.5 9 6.05228 9 5.5V3.5Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 2.5C13.4477 2.5 13 2.94772 13 3.5V5.5C13 6.05228 13.4477 6.5 14 6.5C14.5523 6.5 15 6.05228 15 5.5V3.5C15 2.94772 14.5523 2.5 14 2.5Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgCollage (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M4 5C4 3.34315 5.34315 2 7 2H17C18.6569 2 20 3.34315 20 5V19C20 20.6569 18.6569 22 17 22H7C5.34315 22 4 20.6569 4 19V5ZM13 4H17C17.5523 4 18 4.44772 18 5V13H13V4ZM13 15V20H17C17.5523 20 18 19.5523 18 19V15H13ZM11 4H7C6.44771 4 6 4.44772 6 5V8H11V4ZM6 19V10H11V20H7C6.44772 20 6 19.5523 6 19Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgColorBucket (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M8.20348 2.00378C9.46407 2.00378 10.5067 3.10742 10.6786 4.54241L19.1622 13.0259L11.384 20.8041C10.2124 21.9757 8.31291 21.9757 7.14134 20.8041L2.8987 16.5615C1.72713 15.3899 1.72713 13.4904 2.8987 12.3188L5.70348 9.51404V4.96099C5.70348 3.32777 6.82277 2.00378 8.20348 2.00378ZM8.70348 4.96099V6.51404L7.70348 7.51404V4.96099C7.70348 4.63435 7.92734 4.36955 8.20348 4.36955C8.47963 4.36955 8.70348 4.63435 8.70348 4.96099ZM8.70348 10.8754V9.34247L4.31291 13.733C3.92239 14.1236 3.92239 14.7567 4.31291 15.1473L8.55555 19.3899C8.94608 19.7804 9.57924 19.7804 9.96977 19.3899L16.3337 13.0259L10.7035 7.39569V10.8754C10.7035 10.9184 10.7027 10.9612 10.7012 11.0038H8.69168C8.69941 10.9625 8.70348 10.9195 8.70348 10.8754Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.8586 16.8749C15.687 18.0465 15.687 19.946 16.8586 21.1175C18.0302 22.2891 19.9297 22.2891 21.1013 21.1175C22.2728 19.946 22.2728 18.0465 21.1013 16.8749L18.9799 14.7536L16.8586 16.8749Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgColorPicker (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20.3847 2.87868C19.2132 1.70711 17.3137 1.70711 16.1421 2.87868L14.0202 5.00052L13.313 4.29332C12.9225 3.9028 12.2894 3.9028 11.8988 4.29332C11.5083 4.68385 11.5083 5.31701 11.8988 5.70754L17.5557 11.3644C17.9462 11.7549 18.5794 11.7549 18.9699 11.3644C19.3604 10.9739 19.3604 10.3407 18.9699 9.95018L18.2629 9.24316L20.3847 7.12132C21.5563 5.94975 21.5563 4.05025 20.3847 2.87868Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M11.9297 7.09116L4.1515 14.8693C3.22786 15.793 3.03239 17.169 3.5651 18.2842L1.99994 19.8493L3.41415 21.2635L4.97931 19.6984C6.09444 20.2311 7.4705 20.0356 8.39414 19.112L16.1723 11.3338L11.9297 7.09116ZM13.3439 11.3338L11.9297 9.91959L5.56571 16.2835C5.17518 16.6741 5.17518 17.3072 5.56571 17.6978C5.95623 18.0883 6.5894 18.0883 6.97992 17.6978L13.3439 11.3338Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgComedyCentral (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.5445 19C14.4105 19 17.5445 15.866 17.5445 12C17.5445 8.13401 14.4105 5 10.5445 5C8.61148 5 6.86148 5.7835 5.59473 7.05025L3.47343 4.92896L3.45544 4.94694C5.26649 3.12672 7.7739 2 10.5445 2C16.0673 2 20.5445 6.47715 20.5445 12C20.5445 17.5228 16.0673 22 10.5445 22C7.78307 22 5.28308 20.8807 3.47343 19.0711L5.59475 16.9498C6.8615 18.2165 8.61149 19 10.5445 19Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.5445 14C11.1376 14 11.6704 13.7418 12.0367 13.3317L14.1594 15.4544C13.249 16.4068 11.966 17 10.5445 17C7.78305 17 5.54447 14.7614 5.54447 12C5.54447 9.23858 7.78305 7 10.5445 7C11.966 7 13.249 7.59323 14.1594 8.54563L12.0367 10.6683C11.6704 10.2582 11.1376 10 10.5445 10C9.4399 10 8.54447 10.8954 8.54447 12C8.54447 13.1046 9.4399 14 10.5445 14Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgComment (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17 9H7V7H17V9Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 13H17V11H7V13Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M2 18V2H22V18H16V22H14C11.7909 22 10 20.2091 10 18H2ZM12 16V18C12 19.1046 12.8954 20 14 20V16H20V4H4V16H12Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgCommunity (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M12 17.456C11.2389 17.8053 10.3922 18 9.5 18C6.18629 18 3.5 15.3137 3.5 12C3.5 8.68629 6.18629 6 9.5 6C10.3922 6 11.2389 6.19474 12 6.54404C12.7611 6.19474 13.6078 6 14.5 6C17.8137 6 20.5 8.68629 20.5 12C20.5 15.3137 17.8137 18 14.5 18C13.6078 18 12.7611 17.8053 12 17.456ZM10.0003 15.969C9.83637 15.9895 9.66942 16 9.5 16C7.29086 16 5.5 14.2091 5.5 12C5.5 9.79086 7.29086 8 9.5 8C9.66942 8 9.83637 8.01053 10.0003 8.03098C9.06656 9.08871 8.5 10.4782 8.5 12C8.5 13.5218 9.06656 14.9113 10.0003 15.969ZM13.9998 8.03098C14.1636 8.01054 14.3306 8 14.5 8C16.7091 8 18.5 9.79086 18.5 12C18.5 14.2091 16.7091 16 14.5 16C14.3306 16 14.1636 15.9895 13.9998 15.969C14.9334 14.9113 15.5 13.5218 15.5 12C15.5 10.4782 14.9334 9.08872 13.9998 8.03098ZM12 8.87732C12.9145 9.61038 13.5 10.7368 13.5 12C13.5 13.2632 12.9145 14.3896 12 15.1227C11.0855 14.3896 10.5 13.2632 10.5 12C10.5 10.7368 11.0855 9.61038 12 8.87732Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgComponents (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M7.7572 6.3431L11.9998 2.10046L16.2425 6.3431L11.9998 10.5857L7.7572 6.3431ZM10.5856 6.3431L11.9998 4.92889L13.4141 6.3431L11.9998 7.75732L10.5856 6.3431Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M2.10046 11.9999L6.3431 7.75726L10.5857 11.9999L6.3431 16.2425L2.10046 11.9999ZM4.92889 11.9999L6.3431 10.5857L7.75732 11.9999L6.3431 13.4141L4.92889 11.9999Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M13.4142 11.9999L17.6568 16.2425L21.8995 11.9999L17.6568 7.75726L13.4142 11.9999ZM17.6568 10.5857L16.2426 11.9999L17.6568 13.4141L19.071 11.9999L17.6568 10.5857Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M7.7572 17.6569L11.9998 13.4142L16.2425 17.6569L11.9998 21.8995L7.7572 17.6569ZM10.5856 17.6569L11.9998 16.2427L13.4141 17.6569L11.9998 19.0711L10.5856 17.6569Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgCompressLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.97867 9.45703L4.40883 9.45423L4.40726 11.4542L11.4073 11.4597L11.4127 4.45972L9.41274 4.45815L9.40992 8.05978L3.09616 1.76935L1.68457 3.18618L7.97867 9.45703Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19.5615 14.5521L19.5535 12.5521L12.5536 12.58L12.5814 19.5799L14.5814 19.572L14.5671 15.9706L20.9105 22.2307L22.3153 20.8071L15.9914 14.5663L19.5615 14.5521Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgCompressRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.567 8.02947L20.9105 1.76929L22.3153 3.19282L15.9916 9.43352L19.5614 9.44772L19.5534 11.4477L12.5535 11.4199L12.5813 4.41992L14.5813 4.42788L14.567 8.02947Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.97879 14.5429L4.40886 14.5457L4.40729 12.5457L11.4073 12.5402L11.4128 19.5402L9.41277 19.5417L9.40995 15.9402L3.09623 22.2306L1.68463 20.8138L7.97879 14.5429Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgCompressV (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.0338 7.3559L15.4999 4.85376L16.9244 6.25768L12.0107 11.2432L7.02515 6.32948L8.42907 4.90505L11.0329 7.47139L11.0834 0.843506L13.0833 0.858735L13.0338 7.3559Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.5627 18.532L16.9749 17.1159L12.0184 12.1729L7.07543 17.1295L8.49159 18.5418L11.0762 15.95L11.1019 23.1566L13.1019 23.1495L13.0765 16.0528L15.5627 18.532Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgCompress (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19.0954 8.42986L17.6711 7.02576L12.7568 12.0107L17.7417 16.925L19.1458 15.5007L16.644 13.0344L23.1411 13.0847L23.1565 11.0848L16.5286 11.0334L19.0954 8.42986Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.46742 15.5618L6.88341 16.9742L11.827 12.0183L6.87102 7.07476L5.45857 8.49074L8.04995 11.0756L0.843506 11.1004L0.850384 13.1004L7.94701 13.076L5.46742 15.5618Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgController (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.8284 6.34313L16.2426 4.92892L12 0.686279L7.75735 4.92892L9.17156 6.34313L12 3.51471L14.8284 6.34313Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.92892 16.2426L6.34313 14.8284L3.51471 12L6.34313 9.17156L4.92892 7.75735L0.686279 12L4.92892 16.2426Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.75735 19.0711L12 23.3137L16.2426 19.0711L14.8284 17.6568L12 20.4853L9.17156 17.6568L7.75735 19.0711Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17.6568 9.17156L20.4853 12L17.6568 14.8284L19.0711 16.2426L23.3137 12L19.0711 7.75735L17.6568 9.17156Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M12 8C14.2091 8 16 9.79086 16 12C16 14.2091 14.2091 16 12 16C9.79086 16 8 14.2091 8 12C8 9.79086 9.79086 8 12 8ZM12 10C13.1046 10 14 10.8954 14 12C14 13.1046 13.1046 14 12 14C10.8954 14 10 13.1046 10 12C10 10.8954 10.8954 10 12 10Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgCopy (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 7H7V5H13V7Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 11H7V9H13V11Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 15H13V13H7V15Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M3 19V1H17V5H21V23H7V19H3ZM15 17V3H5V17H15ZM17 7V19H9V21H19V7H17Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgCopyright (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.392 10.4362L14.8106 9.0176C14.1031 8.38476 13.169 8 12.145 8C9.93588 8 8.14502 9.79086 8.14502 12C8.14502 14.2091 9.93588 16 12.145 16C13.2563 16 14.2617 15.5468 14.9866 14.8152L13.674 13.5026L13.4646 13.503C13.1124 13.8124 12.6506 14 12.145 14C11.0405 14 10.145 13.1046 10.145 12C10.145 10.8954 11.0405 10 12.145 10C12.6166 10 13.0501 10.1632 13.392 10.4362Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M12 3C16.9706 3 21 7.02944 21 12C21 16.9706 16.9706 21 12 21C7.02944 21 3 16.9706 3 12C3 7.02944 7.02944 3 12 3ZM12 5C15.866 5 19 8.13401 19 12C19 15.866 15.866 19 12 19C8.13401 19 5 15.866 5 12C5 8.13401 8.13401 5 12 5Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgCornerDoubleDownLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.2952 7.69432L16.1357 2.6377L21.1924 7.47821L19.8094 8.92296L17.3474 6.56617L17.5094 12.6C17.5805 15.25 15.49 17.456 12.8399 17.5271L6.91369 17.6863L9.20765 19.9335L7.80805 21.3622L2.80768 16.4636L7.70628 11.4632L9.13495 12.8628L6.75759 15.2896L12.7755 15.128C14.1005 15.0924 15.1458 13.9895 15.1102 12.6645L14.9519 6.76668L12.74 9.07732L11.2952 7.69432Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgCornerDoubleDownRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.6004 7.67915L7.63814 2.74194L2.70093 7.7042L4.11871 9.11483L6.52249 6.69886L6.5075 12.7348C6.50092 15.3857 8.64461 17.5401 11.2956 17.5467L17.224 17.5614L14.9855 19.8638L16.4195 21.258L21.299 16.239L16.2801 11.3595L14.8859 12.7934L17.3217 15.1616L11.3015 15.1467C9.97605 15.1434 8.9042 14.0662 8.9075 12.7407L8.92214 6.84077L11.1898 9.09694L12.6004 7.67915Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgCornerDoubleLeftDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21.299 7.7609L16.2801 12.6405L14.8859 11.2065L17.3217 8.83829L11.3015 8.85324C9.97605 8.85653 8.9042 9.93371 8.9075 11.2592L8.92214 17.1591L11.1898 14.903L12.6004 16.3208L7.63814 21.258L2.70093 16.2957L4.11871 14.8851L6.52249 17.3011L6.5075 11.2652C6.50092 8.61419 8.64461 6.45983 11.2956 6.45325L17.224 6.43853L14.9855 4.1361L16.4195 2.74194L21.299 7.7609Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgCornerDoubleLeftUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.78372 9.25045L6.36951 7.83624L10.6121 3.59363L14.8548 7.83627L13.4406 9.25048L10.6121 6.42205L7.78372 9.25045Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13.4406 13.4932L14.8548 12.0789L10.6121 7.83628L6.36951 12.0789L7.78372 13.4931L9.63052 11.6463V16.4063C9.63052 18.6155 11.4214 20.4063 13.6305 20.4063H17.6305V18.4063H13.6305C12.526 18.4063 11.6305 17.5109 11.6305 16.4063V11.6831L13.4406 13.4932Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgCornerDoubleRightDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.69438 12.7048L2.63776 7.86424L7.47827 2.80762L8.92302 4.19062L6.56623 6.65263L12.6002 6.49061C15.2502 6.41945 17.4561 8.51002 17.5273 11.16L17.6864 17.0862L19.9335 14.7924L21.3622 16.192L16.4636 21.1924L11.4632 16.2938L12.8628 14.8651L15.2897 17.2426L15.1281 11.2245C15.0926 9.89945 13.9896 8.85417 12.6646 8.88974L6.76674 9.04811L9.07738 11.26L7.69438 12.7048Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgCornerDoubleRightUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16.2163 9.25045L17.6305 7.83624L13.3879 3.59363L9.14526 7.83627L10.5595 9.25048L13.3879 6.42205L16.2163 9.25045Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.5595 13.4932L9.14526 12.0789L13.3879 7.83628L17.6305 12.0789L16.2163 13.4931L14.3695 11.6463V16.4063C14.3695 18.6155 12.5786 20.4063 10.3695 20.4063H6.36951V18.4063H10.3695C11.4741 18.4063 12.3695 17.5109 12.3695 16.4063V11.6831L10.5595 13.4932Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgCornerDoubleUpLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.25045 7.78369L7.83624 6.36948L3.59363 10.6121L7.83627 14.8547L9.25048 13.4405L6.42205 10.6121L9.25045 7.78369Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13.4932 13.4405L12.0789 14.8547L7.83627 10.6121L12.0789 6.36948L13.4931 7.78369L11.6463 9.63049L16.4063 9.63049C18.6155 9.63049 20.4063 11.4214 20.4063 13.6305L20.4063 17.6305L18.4063 17.6305L18.4063 13.6305C18.4063 12.5259 17.5109 11.6305 16.4063 11.6305L11.6831 11.6305L13.4932 13.4405Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgCornerDoubleUpRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.7495 7.78369L16.1638 6.36948L20.4064 10.6121L16.1637 14.8547L14.7495 13.4405L17.5779 10.6121L14.7495 7.78369Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.5068 13.4405L11.9211 14.8547L16.1637 10.6121L11.9211 6.36948L10.5069 7.78369L12.3537 9.63049L7.59366 9.63049C5.38452 9.63049 3.59366 11.4214 3.59366 13.6305L3.59366 17.6305L5.59366 17.6305L5.59366 13.6305C5.59366 12.5259 6.48909 11.6305 7.59366 11.6305L12.3169 11.6305L10.5068 13.4405Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgCornerDownLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17.1495 13.4005C18.2541 13.4005 19.1495 12.5051 19.1495 11.4005V3.40051H21.1495V11.4005C21.1495 13.6097 19.3587 15.4005 17.1495 15.4005H6.84398L10.6286 19.1852L9.21443 20.5994L2.85046 14.2354L9.21443 7.87146L10.6286 9.28567L6.5138 13.4005H17.1495Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgCornerDownRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.85046 13.4005C5.74589 13.4005 4.85046 12.5051 4.85046 11.4005V3.40051H2.85046V11.4005C2.85046 13.6097 4.64132 15.4005 6.85046 15.4005H17.156L13.3714 19.1852L14.7856 20.5994L21.1495 14.2354L14.7856 7.87146L13.3714 9.28567L17.4862 13.4005H6.85046Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgCornerLeftDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.6013 6.84996C10.6023 5.74539 11.4986 4.85079 12.6032 4.85181L20.6032 4.8592L20.605 2.8592L12.605 2.85181C10.3959 2.84977 8.60335 4.63897 8.60131 6.84811L8.59179 17.1538L4.81054 13.3656L3.39502 14.7785L9.7531 21.1483L16.1229 14.7902L14.71 13.3747L10.5915 17.4856L10.6013 6.84996Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgCornerLeftUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.71 10.6254L16.1229 9.20989L9.7531 2.85181L3.39502 9.22164L4.81054 10.6346L8.59179 6.84631L8.60131 17.152C8.60335 19.3611 10.3959 21.1503 12.605 21.1483L20.605 21.1409L20.6032 19.1409L12.6032 19.1483C11.4986 19.1493 10.6023 18.2547 10.6013 17.1501L10.5915 6.51446L14.71 10.6254Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgCornerRightDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.3987 6.84996C13.3977 5.74539 12.5014 4.85079 11.3969 4.85181L3.39687 4.8592L3.39502 2.8592L11.395 2.85181C13.6042 2.84977 15.3967 4.63897 15.3987 6.84811L15.4082 17.1538L19.1895 13.3656L20.605 14.7785L14.2469 21.1483L7.87709 14.7902L9.28999 13.3747L13.4085 17.4856L13.3987 6.84996Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgCornerRightUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.28999 10.6254L7.87709 9.20989L14.2469 2.85181L20.605 9.22164L19.1895 10.6346L15.4082 6.84631L15.3987 17.152C15.3967 19.3611 13.6042 21.1503 11.395 21.1483L3.39502 21.1409L3.39687 19.1409L11.3969 19.1483C12.5014 19.1493 13.3977 18.2547 13.3987 17.1501L13.4085 6.51446L9.28999 10.6254Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgCornerUpLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.6276 14.7219L9.21641 16.1391L2.83875 9.78892L9.18897 3.41125L10.6062 4.82242L6.82971 8.61526L17.1353 8.59304C19.3445 8.58828 21.1392 10.3753 21.144 12.5844L21.1612 20.5844L19.1612 20.5887L19.144 12.5887C19.1416 11.4841 18.2442 10.5907 17.1396 10.593L6.50391 10.616L10.6276 14.7219Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgCornerUpRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.3724 14.7219L14.7835 16.1391L21.1612 9.78892L14.811 3.41125L13.3937 4.82242L17.1702 8.61526L6.86461 8.59304C4.65547 8.58828 2.86076 10.3753 2.85599 12.5844L2.83875 20.5844L4.83874 20.5887L4.85599 12.5887C4.85837 11.4841 5.75573 10.5907 6.8603 10.593L17.496 10.616L13.3724 14.7219Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgCreditCard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 9C4 8.44772 4.44772 8 5 8H9C9.55228 8 10 8.44772 10 9C10 9.55228 9.55228 10 9 10H5C4.44772 10 4 9.55228 4 9Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M4 3C1.79086 3 0 4.79086 0 7V17C0 19.2091 1.79086 21 4 21H20C22.2091 21 24 19.2091 24 17V7C24 4.79086 22.2091 3 20 3H4ZM20 5H4C2.89543 5 2 5.89543 2 7V14H22V7C22 5.89543 21.1046 5 20 5ZM22 16H2V17C2 18.1046 2.89543 19 4 19H20C21.1046 19 22 18.1046 22 17V16Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgCrop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M7.93164 9.00891V16H15V20.0089H17V16H20.9316V14H17V7.00891H9.93164V3H7.93164V7.00891H4V9.00891H7.93164ZM9.93164 9.00891V14H15V9.00891H9.93164Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgCross (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 6C13 5.44772 12.5523 5 12 5C11.4477 5 11 5.44772 11 6V9H7C6.44772 9 6 9.44772 6 10C6 10.5523 6.44772 11 7 11H11V18C11 18.5523 11.4477 19 12 19C12.5523 19 13 18.5523 13 18V11H17C17.5523 11 18 10.5523 18 10C18 9.44772 17.5523 9 17 9H13V6Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgCrowdfire (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M2 12C2 6.47715 6.47715 2 12 2V4H20V12H22C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12ZM18 12H16V8H12V6C8.68629 6 6 8.68629 6 12C6 15.3137 8.68629 18 12 18C15.3137 18 18 15.3137 18 12Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgCrown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M2.5 6.09143L7.21997 10.8114L12.0005 6.03088L16.7811 10.8114L21.5 6.09245V14.9691C21.5 16.626 20.1569 17.9691 18.5 17.9691H5.5C3.84314 17.9691 2.5 16.626 2.5 14.9691V6.09143ZM19.5 10.9087V14.9691C19.5 15.5214 19.0523 15.9691 18.5 15.9691H5.5C4.94771 15.9691 4.5 15.5214 4.5 14.9691V10.9077L7.21997 13.6277L12.0005 8.84717L16.7811 13.6277L19.5 10.9087Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgDanger (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 6C12.5523 6 13 6.44772 13 7V13C13 13.5523 12.5523 14 12 14C11.4477 14 11 13.5523 11 13V7C11 6.44772 11.4477 6 12 6Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 16C11.4477 16 11 16.4477 11 17C11 17.5523 11.4477 18 12 18C12.5523 18 13 17.5523 13 17C13 16.4477 12.5523 16 12 16Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2ZM4 12C4 16.4183 7.58172 20 12 20C16.4183 20 20 16.4183 20 12C20 7.58172 16.4183 4 12 4C7.58172 4 4 7.58172 4 12Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgDarkMode (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 16C14.2091 16 16 14.2091 16 12C16 9.79086 14.2091 8 12 8V16Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2ZM12 4V8C9.79086 8 8 9.79086 8 12C8 14.2091 9.79086 16 12 16V20C16.4183 20 20 16.4183 20 12C20 7.58172 16.4183 4 12 4Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgData (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M12 8.88916C13.6569 8.88916 15 10.2323 15 11.8892C15 13.1954 14.1652 14.3066 13 14.7185V19.8892H11V14.7185C9.83481 14.3066 9 13.1954 9 11.8892C9 10.2323 10.3431 8.88916 12 8.88916ZM12 10.8892C12.5523 10.8892 13 11.3369 13 11.8892C13 12.4414 12.5523 12.8892 12 12.8892C11.4477 12.8892 11 12.4414 11 11.8892C11 11.3369 11.4477 10.8892 12 10.8892Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.05019 6.93938C5.78348 8.20612 5 9.9561 5 11.8891C5 14.0666 5.99426 16.0119 7.55355 17.2957L8.97712 15.8721C7.7757 14.9589 7 13.5146 7 11.8891C7 10.5084 7.55962 9.25841 8.46441 8.35359L7.05019 6.93938Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.5355 8.35348C16.4403 9.25831 17 10.5083 17 11.8891C17 13.5146 16.2243 14.959 15.0228 15.8722L16.4463 17.2958C18.0057 16.012 19 14.0666 19 11.8891C19 9.95604 18.2165 8.20602 16.9497 6.93927L15.5355 8.35348Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 11.8891C1 8.85152 2.23119 6.10155 4.22176 4.11095L5.63598 5.52516C4.00733 7.15383 3 9.40381 3 11.8891C3 14.3743 4.00733 16.6243 5.63597 18.2529L4.22175 19.6672C2.23119 17.6766 1 14.9266 1 11.8891Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19.7781 19.6673C21.7688 17.6767 23 14.9266 23 11.8891C23 8.85147 21.7688 6.10145 19.7781 4.11084L18.3639 5.52505C19.9926 7.15374 21 9.40376 21 11.8891C21 14.3744 19.9926 16.6244 18.3639 18.2531L19.7781 19.6673Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgDatabase (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 9V7H7V9H5Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 9H19V7H9V9Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 15V17H7V15H5Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 17H9V15H19V17Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M1 6C1 4.34315 2.34315 3 4 3H20C21.6569 3 23 4.34315 23 6V18C23 19.6569 21.6569 21 20 21H4C2.34315 21 1 19.6569 1 18V6ZM4 5H20C20.5523 5 21 5.44772 21 6V11H3V6C3 5.44772 3.44772 5 4 5ZM3 13V18C3 18.5523 3.44772 19 4 19H20C20.5523 19 21 18.5523 21 18V13H3Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgDebug (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 11C10 10.4477 10.4477 10 11 10H13C13.5523 10 14 10.4477 14 11C14 11.5523 13.5523 12 13 12H11C10.4477 12 10 11.5523 10 11Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 14C10.4477 14 10 14.4477 10 15C10 15.5523 10.4477 16 11 16H13C13.5523 16 14 15.5523 14 15C14 14.4477 13.5523 14 13 14H11Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M9.09447 4.74918C8.41606 4.03243 8 3.0648 8 2H10C10 3.10457 10.8954 4 12 4C13.1046 4 14 3.10457 14 2H16C16 3.0648 15.5839 4.03243 14.9055 4.74918C16.1782 5.45491 17.1673 6.6099 17.6586 8H19C19.5523 8 20 8.44772 20 9C20 9.55229 19.5523 10 19 10H18V12H19C19.5523 12 20 12.4477 20 13C20 13.5523 19.5523 14 19 14H18V16H19C19.5523 16 20 16.4477 20 17C20 17.5523 19.5523 18 19 18H17.6586C16.8349 20.3304 14.6124 22 12 22C9.38756 22 7.16508 20.3304 6.34141 18H5C4.44772 18 4 17.5523 4 17C4 16.4477 4.44772 16 5 16H6V14H5C4.44772 14 4 13.5523 4 13C4 12.4477 4.44772 12 5 12H6V10H5C4.44772 10 4 9.55229 4 9C4 8.44772 4.44772 8 5 8H6.34141C6.83274 6.6099 7.82181 5.45491 9.09447 4.74918ZM8 16V10C8 7.79086 9.79086 6 12 6C14.2091 6 16 7.79086 16 10V16C16 18.2091 14.2091 20 12 20C9.79086 20 8 18.2091 8 16Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgDesignmodo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M7 4.05444C4.23858 4.05444 2 6.29302 2 9.05444C2 11.8159 4.23858 14.0544 7 14.0544C9.76142 14.0544 12 11.8159 12 9.05444C12 6.29302 9.76142 4.05444 7 4.05444ZM5 9.05444C5 10.159 5.89543 11.0544 7 11.0544C8.10457 11.0544 9 10.159 9 9.05444C9 7.94987 8.10457 7.05444 7 7.05444C5.89543 7.05444 5 7.94987 5 9.05444Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 10.5544H17V7.55444H22V10.5544Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.5503 16.9457C12.6786 16.9457 13.6977 16.4786 14.4249 15.7272C14.4097 15.7429 14.3943 15.7585 14.3788 15.774L16.5001 17.8954C15.2334 19.1621 13.4834 19.9457 11.5503 19.9457C9.61734 19.9457 7.86734 19.1622 6.60059 17.8954L8.72191 15.7741C9.44576 16.498 10.4458 16.9457 11.5503 16.9457Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgDesktop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15C7.44772 15 7 15.4477 7 16C7 16.5523 7.44772 17 8 17C8.55228 17 9 16.5523 9 16C9 15.4477 8.55228 15 8 15Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 16C11 15.4477 11.4477 15 12 15C12.5523 15 13 15.4477 13 16C13 16.5523 12.5523 17 12 17C11.4477 17 11 16.5523 11 16Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 15C15.4477 15 15 15.4477 15 16C15 16.5523 15.4477 17 16 17C16.5523 17 17 16.5523 17 16C17 15.4477 16.5523 15 16 15Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M4 3C2.34315 3 1 4.34315 1 6V18C1 19.6569 2.34315 21 4 21H20C21.6569 21 23 19.6569 23 18V6C23 4.34315 21.6569 3 20 3H4ZM20 5H4C3.44772 5 3 5.44772 3 6V7H21V6C21 5.44772 20.5523 5 20 5ZM3 18V9H21V18C21 18.5523 20.5523 19 20 19H4C3.44772 19 3 18.5523 3 18Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgDetailsLess (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 9C2.44772 9 2 9.44772 2 10C2 10.5523 2.44772 11 3 11H21C21.5523 11 22 10.5523 22 10C22 9.44772 21.5523 9 21 9H3Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 13C2.44772 13 2 13.4477 2 14C2 14.5523 2.44772 15 3 15H15C15.5523 15 16 14.5523 16 14C16 13.4477 15.5523 13 15 13H3Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgDetailsMore (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 8C2 7.44772 2.44772 7 3 7H21C21.5523 7 22 7.44772 22 8C22 8.55228 21.5523 9 21 9H3C2.44772 9 2 8.55228 2 8Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 12C2 11.4477 2.44772 11 3 11H21C21.5523 11 22 11.4477 22 12C22 12.5523 21.5523 13 21 13H3C2.44772 13 2 12.5523 2 12Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 15C2.44772 15 2 15.4477 2 16C2 16.5523 2.44772 17 3 17H15C15.5523 17 16 16.5523 16 16C16 15.4477 15.5523 15 15 15H3Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgDialpad (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 3H8.5V6H5.5V3Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 8H8.5V11H5.5V8Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 13V16H8.5V13H5.5Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.5 3H13.5V6H10.5V3Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.5 8V11H13.5V8H10.5Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.5 13H13.5V16H10.5V13Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.5 18V21H13.5V18H10.5Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.5 3H18.5V6H15.5V3Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.5 8V11H18.5V8H15.5Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.5 13H18.5V16H15.5V13Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgDice1 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 12C10 10.8954 10.8954 10 12 10C13.1046 10 14 10.8954 14 12C14 13.1046 13.1046 14 12 14C10.8954 14 10 13.1046 10 12Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M1 4C1 2.34315 2.34315 1 4 1H20C21.6569 1 23 2.34315 23 4V20C23 21.6569 21.6569 23 20 23H4C2.34315 23 1 21.6569 1 20V4ZM4 3H20C20.5523 3 21 3.44772 21 4V20C21 20.5523 20.5523 21 20 21H4C3.44772 21 3 20.5523 3 20V4C3 3.44772 3.44772 3 4 3Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgDice2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17.2 14.9431C16.0954 14.9431 15.2 15.8385 15.2 16.9431C15.2 18.0477 16.0954 18.9431 17.2 18.9431C18.3045 18.9431 19.2 18.0477 19.2 16.9431C19.2 15.8385 18.3045 14.9431 17.2 14.9431Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.05518 7.05518C5.05518 5.95061 5.95061 5.05518 7.05518 5.05518C8.15975 5.05518 9.05518 5.95061 9.05518 7.05518C9.05518 8.15975 8.15975 9.05518 7.05518 9.05518C5.95061 9.05518 5.05518 8.15975 5.05518 7.05518Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M4 1C2.34315 1 1 2.34315 1 4V20C1 21.6569 2.34315 23 4 23H20C21.6569 23 23 21.6569 23 20V4C23 2.34315 21.6569 1 20 1H4ZM20 3H4C3.44772 3 3 3.44772 3 4V20C3 20.5523 3.44772 21 4 21H20C20.5523 21 21 20.5523 21 20V4C21 3.44772 20.5523 3 20 3Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgDice3 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 12C10 10.8954 10.8954 10 12 10C13.1046 10 14 10.8954 14 12C14 13.1046 13.1046 14 12 14C10.8954 14 10 13.1046 10 12Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.9451 14.8921C15.8405 14.8921 14.9451 15.7875 14.9451 16.8921C14.9451 17.9967 15.8405 18.8921 16.9451 18.8921C18.0496 18.8921 18.9451 17.9967 18.9451 16.8921C18.9451 15.7875 18.0496 14.8921 16.9451 14.8921Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.05518 7.05518C5.05518 5.95061 5.95061 5.05518 7.05518 5.05518C8.15975 5.05518 9.05518 5.95061 9.05518 7.05518C9.05518 8.15975 8.15975 9.05518 7.05518 9.05518C5.95061 9.05518 5.05518 8.15975 5.05518 7.05518Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M1 4C1 2.34315 2.34315 1 4 1H20C21.6569 1 23 2.34315 23 4V20C23 21.6569 21.6569 23 20 23H4C2.34315 23 1 21.6569 1 20V4ZM4 3H20C20.5523 3 21 3.44772 21 4V20C21 20.5523 20.5523 21 20 21H4C3.44772 21 3 20.5523 3 20V4C3 3.44772 3.44772 3 4 3Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgDice4 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16.9451 5.05518C15.8405 5.05518 14.9451 5.95061 14.9451 7.05518C14.9451 8.15975 15.8405 9.05518 16.9451 9.05518C18.0496 9.05518 18.9451 8.15975 18.9451 7.05518C18.9451 5.95061 18.0496 5.05518 16.9451 5.05518Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.9451 16.8921C14.9451 15.7875 15.8405 14.8921 16.9451 14.8921C18.0496 14.8921 18.9451 15.7875 18.9451 16.8921C18.9451 17.9967 18.0496 18.8921 16.9451 18.8921C15.8405 18.8921 14.9451 17.9967 14.9451 16.8921Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.05518 14.8921C5.95061 14.8921 5.05518 15.7875 5.05518 16.8921C5.05518 17.9967 5.95061 18.8921 7.05518 18.8921C8.15975 18.8921 9.05518 17.9967 9.05518 16.8921C9.05518 15.7875 8.15975 14.8921 7.05518 14.8921Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.05518 7.05518C5.05518 5.95061 5.95061 5.05518 7.05518 5.05518C8.15975 5.05518 9.05518 5.95061 9.05518 7.05518C9.05518 8.15975 8.15975 9.05518 7.05518 9.05518C5.95061 9.05518 5.05518 8.15975 5.05518 7.05518Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M4 1C2.34315 1 1 2.34315 1 4V20C1 21.6569 2.34315 23 4 23H20C21.6569 23 23 21.6569 23 20V4C23 2.34315 21.6569 1 20 1H4ZM20 3H4C3.44772 3 3 3.44772 3 4V20C3 20.5523 3.44772 21 4 21H20C20.5523 21 21 20.5523 21 20V4C21 3.44772 20.5523 3 20 3Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgDice5 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.9451 7.05518C14.9451 5.95061 15.8405 5.05518 16.9451 5.05518C18.0496 5.05518 18.9451 5.95061 18.9451 7.05518C18.9451 8.15975 18.0496 9.05518 16.9451 9.05518C15.8405 9.05518 14.9451 8.15975 14.9451 7.05518Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.9451 14.8921C15.8405 14.8921 14.9451 15.7875 14.9451 16.8921C14.9451 17.9967 15.8405 18.8921 16.9451 18.8921C18.0496 18.8921 18.9451 17.9967 18.9451 16.8921C18.9451 15.7875 18.0496 14.8921 16.9451 14.8921Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.05518 16.8921C5.05518 15.7875 5.95061 14.8921 7.05518 14.8921C8.15975 14.8921 9.05518 15.7875 9.05518 16.8921C9.05518 17.9967 8.15975 18.8921 7.05518 18.8921C5.95061 18.8921 5.05518 17.9967 5.05518 16.8921Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.05518 5.05518C5.95061 5.05518 5.05518 5.95061 5.05518 7.05518C5.05518 8.15975 5.95061 9.05518 7.05518 9.05518C8.15975 9.05518 9.05518 8.15975 9.05518 7.05518C9.05518 5.95061 8.15975 5.05518 7.05518 5.05518Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 12C10 10.8954 10.8954 10 12 10C13.1046 10 14 10.8954 14 12C14 13.1046 13.1046 14 12 14C10.8954 14 10 13.1046 10 12Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M1 4C1 2.34315 2.34315 1 4 1H20C21.6569 1 23 2.34315 23 4V20C23 21.6569 21.6569 23 20 23H4C2.34315 23 1 21.6569 1 20V4ZM4 3H20C20.5523 3 21 3.44772 21 4V20C21 20.5523 20.5523 21 20 21H4C3.44772 21 3 20.5523 3 20V4C3 3.44772 3.44772 3 4 3Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgDice6 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16.9451 5.05518C15.8405 5.05518 14.9451 5.95061 14.9451 7.05518C14.9451 8.15975 15.8405 9.05518 16.9451 9.05518C18.0496 9.05518 18.9451 8.15975 18.9451 7.05518C18.9451 5.95061 18.0496 5.05518 16.9451 5.05518Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.9451 16.8921C14.9451 15.7875 15.8405 14.8921 16.9451 14.8921C18.0496 14.8921 18.9451 15.7875 18.9451 16.8921C18.9451 17.9967 18.0496 18.8921 16.9451 18.8921C15.8405 18.8921 14.9451 17.9967 14.9451 16.8921Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.05518 14.8921C5.95061 14.8921 5.05518 15.7875 5.05518 16.8921C5.05518 17.9967 5.95061 18.8921 7.05518 18.8921C8.15975 18.8921 9.05518 17.9967 9.05518 16.8921C9.05518 15.7875 8.15975 14.8921 7.05518 14.8921Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.05518 7.05518C5.05518 5.95061 5.95061 5.05518 7.05518 5.05518C8.15975 5.05518 9.05518 5.95061 9.05518 7.05518C9.05518 8.15975 8.15975 9.05518 7.05518 9.05518C5.95061 9.05518 5.05518 8.15975 5.05518 7.05518Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.9451 9.97363C15.8405 9.97363 14.9451 10.8691 14.9451 11.9736C14.9451 13.0782 15.8405 13.9736 16.9451 13.9736C18.0496 13.9736 18.9451 13.0782 18.9451 11.9736C18.9451 10.8691 18.0496 9.97363 16.9451 9.97363Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.05518 11.9736C5.05518 10.8691 5.95061 9.97363 7.05518 9.97363C8.15975 9.97363 9.05518 10.8691 9.05518 11.9736C9.05518 13.0782 8.15975 13.9736 7.05518 13.9736C5.95061 13.9736 5.05518 13.0782 5.05518 11.9736Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M4 1C2.34315 1 1 2.34315 1 4V20C1 21.6569 2.34315 23 4 23H20C21.6569 23 23 21.6569 23 20V4C23 2.34315 21.6569 1 20 1H4ZM20 3H4C3.44772 3 3 3.44772 3 4V20C3 20.5523 3.44772 21 4 21H20C20.5523 21 21 20.5523 21 20V4C21 3.44772 20.5523 3 20 3Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgDigitalocean (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 6C8.68629 6 6 8.68629 6 12H1C1 5.92487 5.92487 1 12 1C18.0751 1 23 5.92487 23 12C23 18.0751 18.0751 23 12 23V18C15.3137 18 18 15.3137 18 12C18 8.68629 15.3137 6 12 6Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 18V13H12V18H7Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 18V22H7V18H3Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 18H1V16H3V18Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgDisc (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M12 9C10.3431 9 9 10.3431 9 12C9 13.6569 10.3431 15 12 15C13.6569 15 15 13.6569 15 12C15 10.3431 13.6569 9 12 9ZM11 12C11 12.5523 11.4477 13 12 13C12.5523 13 13 12.5523 13 12C13 11.4477 12.5523 11 12 11C11.4477 11 11 11.4477 11 12Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 12C5 8.13401 8.13401 5 12 5V7C9.23858 7 7 9.23858 7 12H5Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 17C14.7614 17 17 14.7614 17 12H19C19 15.866 15.866 19 12 19V17Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M12 1C5.92487 1 1 5.92487 1 12C1 18.0751 5.92487 23 12 23C18.0751 23 23 18.0751 23 12C23 5.92487 18.0751 1 12 1ZM3 12C3 16.9706 7.02944 21 12 21C16.9706 21 21 16.9706 21 12C21 7.02944 16.9706 3 12 3C7.02944 3 3 7.02944 3 12Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgDisplayFlex (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 17V7H8V17H6Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 7V17H18V7H16Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M2 3H22V21H2V3ZM4 5V19H20V5H4Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgDisplayFullwidth (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 5H22V3H2V5Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 21H22V19H2V21Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M2 7V17H22V7H2ZM4 9H20V15H4V9Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgDisplayGrid (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 7V11H11V7H7Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 7H17V11H13V7Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 13V17H17V13H13Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 13H11V17H7V13Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M3 3H21V21H3V3ZM5 5V19H19V5H5Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgDisplaySpacing (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 21V3H5V21H3Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M7 3H17V21H7V3ZM9 5V19H15V5H9Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 3V21H21V3H19Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgDistributeHorizontal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 9H13V15H11V9Z\",\"stroke\":\"currentColor\",\"strokeOpacity\":\"0.5\",\"strokeWidth\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 5V19H7V5H5Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 5V19H19V5H17Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgDistributeVertical (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 11H15V13H9V11Z\",\"stroke\":\"currentColor\",\"strokeOpacity\":\"0.5\",\"strokeWidth\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 7H5V5H19V7Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 19H5V17H19V19Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgDockBottom (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M2 20V4H22V20H2ZM4 6H20V14H4V6Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgDockLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M2 4H22V20H2V4ZM8 6H20V18H8V6Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgDockRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M2 4H22V20H2V4ZM16 18V6H4V18H16Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgDockWindow (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M2 20V4H22V20H2ZM20 6H6V16L20 16V6Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgDolby (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M0 4V20H24V4H0ZM10 12C10 9.79086 8.20914 8 6 8H4V16H6C8.20914 16 10 14.2091 10 12ZM18 16H20V8H18C15.7909 8 14 9.79086 14 12C14 14.2091 15.7909 16 18 16Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgDollar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M11 19V22H13V19H14C16.2091 19 18 17.2091 18 15C18 12.7909 16.2091 11 14 11H13V7H15V9H17V5H13V2H11V5H10C7.79086 5 6 6.79086 6 9C6 11.2091 7.79086 13 10 13H11V17H9V15H7V19H11ZM13 17H14C15.1046 17 16 16.1046 16 15C16 13.8954 15.1046 13 14 13H13V17ZM11 11V7H10C8.89543 7 8 7.89543 8 9C8 10.1046 8.89543 11 10 11H11Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgDribbble (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M1 11.9554V12.0446C1.01066 14.7301 1.98363 17.1885 3.59196 19.0931C4.05715 19.6439 4.57549 20.1485 5.13908 20.5987C5.70631 21.0519 6.31937 21.4501 6.97019 21.7853C7.90271 22.2656 8.91275 22.6165 9.97659 22.8143C10.5914 22.9286 11.2243 22.9918 11.8705 22.9993C11.9136 22.9998 11.9567 23 11.9999 23C15.6894 23 18.9547 21.1836 20.9502 18.3962C21.3681 17.8125 21.7303 17.1861 22.0291 16.525C22.6528 15.1448 22.9999 13.613 22.9999 12C22.9999 8.73978 21.5816 5.81084 19.3283 3.79653C18.8064 3.32998 18.2397 2.91249 17.6355 2.55132C15.9873 1.56615 14.0597 1 11.9999 1C11.888 1 11.7764 1.00167 11.6653 1.00499C9.99846 1.05479 8.42477 1.47541 7.0239 2.18719C6.07085 2.67144 5.19779 3.29045 4.42982 4.01914C3.7166 4.69587 3.09401 5.4672 2.58216 6.31302C2.22108 6.90969 1.91511 7.54343 1.6713 8.20718C1.24184 9.37631 1.00523 10.6386 1 11.9554ZM20.4812 15.0186C20.8171 14.075 20.9999 13.0588 20.9999 12C20.9999 9.54265 20.0151 7.31533 18.4186 5.6912C17.5975 7.05399 16.5148 8.18424 15.2668 9.0469C15.7351 10.2626 15.9886 11.5603 16.0045 12.8778C16.7692 13.0484 17.5274 13.304 18.2669 13.6488C19.0741 14.0252 19.8141 14.487 20.4812 15.0186ZM15.8413 14.8954C16.3752 15.0321 16.904 15.22 17.4217 15.4614C18.222 15.8346 18.9417 16.3105 19.5723 16.8661C18.0688 19.2008 15.5151 20.7953 12.5788 20.9817C13.5517 20.0585 14.3709 18.9405 14.972 17.6514C15.3909 16.7531 15.678 15.8272 15.8413 14.8954ZM13.9964 12.6219C13.9583 11.7382 13.7898 10.8684 13.5013 10.0408C10.6887 11.2998 7.36584 11.3765 4.35382 9.97197C4.01251 9.81281 3.68319 9.63837 3.36632 9.44983C3.12787 10.2584 2.99991 11.1142 2.99991 12C2.99991 13.9462 3.61763 15.748 4.6677 17.2203C6.83038 14.1875 10.3685 12.4987 13.9964 12.6219ZM6.047 18.7502C7.77258 16.059 10.7714 14.5382 13.8585 14.6191C13.723 15.3586 13.4919 16.093 13.1594 16.8062C12.3777 18.4825 11.1453 19.805 9.67385 20.6965C8.31043 20.3328 7.07441 19.6569 6.047 18.7502ZM11.9999 3C13.7846 3 15.4479 3.51946 16.847 4.41543C16.2113 5.54838 15.3593 6.4961 14.368 7.23057C13.3472 5.57072 11.8752 4.16433 10.027 3.21692C10.6619 3.07492 11.3222 3 11.9999 3ZM8.80619 4.84582C10.4462 5.61056 11.7474 6.80659 12.6379 8.23588C10.3464 9.24654 7.64722 9.30095 5.19906 8.15936C4.83384 7.98905 4.48541 7.79735 4.15458 7.58645C4.91365 6.24006 6.00929 5.10867 7.32734 4.30645C7.82672 4.44058 8.32138 4.61975 8.80619 4.84582Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgDrive (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 11C18.4477 11 18 11.4477 18 12C18 12.5523 18.4477 13 19 13C19.5523 13 20 12.5523 20 12C20 11.4477 19.5523 11 19 11Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 12C14 11.4477 14.4477 11 15 11C15.5523 11 16 11.4477 16 12C16 12.5523 15.5523 13 15 13C14.4477 13 14 12.5523 14 12Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M2 8C0.895431 8 0 8.89543 0 10V14C0 15.1046 0.89543 16 2 16H22C23.1046 16 24 15.1046 24 14V10C24 8.89543 23.1046 8 22 8H2ZM22 10H2L2 14H22V10Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgDropInvert (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M12.0001 1.13611L5.63604 7.50002C2.12132 11.0147 2.12132 16.7132 5.63604 20.2279C7.39343 21.9853 9.69679 22.864 12.0001 22.864C12.288 22.864 12.5759 22.8502 12.8627 22.8228C14.8706 22.6306 16.8264 21.7657 18.3641 20.2279C21.8788 16.7132 21.8788 11.0147 18.3641 7.50002L12.0001 1.13611ZM7.05025 8.91423L12 3.96448L12.0001 20.864C10.2086 20.864 8.41711 20.1806 7.05025 18.8137C4.31658 16.0801 4.31658 11.6479 7.05025 8.91423Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgDropOpacity (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M15.9451 21.9559C12.5884 23.5927 8.42477 23.0167 5.63598 20.2279C2.12126 16.7132 2.12126 11.0147 5.63598 7.49995L11.9999 1.13599L18.3639 7.49995C19.2521 8.38814 19.9158 9.41578 20.3551 10.5124C21.6543 13.7553 20.9906 17.6012 18.364 20.2278C17.6381 20.9538 16.8189 21.5298 15.9451 21.9559ZM7.05019 8.91416L11.9999 3.96441L16.9497 8.91416C18.274 10.2385 18.9568 11.9615 18.998 13.6968H5.00192C5.04309 11.9615 5.72585 10.2385 7.05019 8.91416Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgDrop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.34315 19.5208C3.21895 16.3966 3.21895 11.3312 6.34315 8.20705L12 2.5502L17.6569 8.20705C20.781 11.3312 20.781 16.3966 17.6569 19.5208C14.5327 22.645 9.46734 22.645 6.34315 19.5208Z\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\"}}]})(props);\n};\nexport function CgDuplicate (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 5H7V3H21V17H19V5Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 13V11H11V13H13V15H11V17H9V15H7V13H9Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M3 7H17V21H3V7ZM5 9H15V19H5V9Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgEditBlackPoint (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M8 12C8 9.79086 9.79086 8 12 8C14.2091 8 16 9.79086 16 12C16 14.2091 14.2091 16 12 16C9.79086 16 8 14.2091 8 12ZM12 13C11.4477 13 11 12.5523 11 12C11 11.4477 11.4477 11 12 11C12.5523 11 13 11.4477 13 12C13 12.5523 12.5523 13 12 13Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M3 12C3 7.02944 7.02944 3 12 3C16.9706 3 21 7.02944 21 12C21 16.9706 16.9706 21 12 21C7.02944 21 3 16.9706 3 12ZM12 19C8.13401 19 5 15.866 5 12C5 8.13401 8.13401 5 12 5C15.866 5 19 8.13401 19 12C19 15.866 15.866 19 12 19Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgEditContrast (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 18C10.4633 18 9.06151 17.4223 8 16.4722C6.7725 15.3736 6 13.777 6 12C6 10.223 6.7725 8.62643 8 7.52779C9.06151 6.57771 10.4633 6 12 6V18Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12ZM12 20C7.58172 20 4 16.4183 4 12C4 7.58172 7.58172 4 12 4C16.4183 4 20 7.58172 20 12C20 16.4183 16.4183 20 12 20Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgEditExposure (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M12 20C7.58172 20 4 16.4183 4 12C4 7.58172 7.58172 4 12 4C16.4183 4 20 7.58172 20 12C20 16.4183 16.4183 20 12 20ZM2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12ZM11 7V9H9V11H11V13H13V11H15V9H13V7H11ZM9 15V17H15V15H9Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgEditFade (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 12C8 10.5194 8.8044 9.22675 10 8.53513V15.4649C8.8044 14.7733 8 13.4806 8 12Z\",\"stroke\":\"currentColor\",\"strokeOpacity\":\"0.3\",\"strokeWidth\":\"4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 15.4649V8.53513C15.1956 9.22675 16 10.5194 16 12C16 13.4806 15.1956 14.7733 14 15.4649Z\",\"stroke\":\"currentColor\",\"strokeOpacity\":\"0.6\",\"strokeWidth\":\"4\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 12C3 7.02944 7.02944 3 12 3C16.9706 3 21 7.02944 21 12C21 16.9706 16.9706 21 12 21C7.02944 21 3 16.9706 3 12Z\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\"}}]})(props);\n};\nexport function CgEditFlipH (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18 7C18.5523 7 19 7.44772 19 8V16C19 16.5523 18.5523 17 18 17H15V19H18C19.6569 19 21 17.6569 21 16V8C21 6.34315 19.6569 5 18 5H15V7H18Z\",\"fill\":\"currentColor\",\"fillOpacity\":\"0.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 3H11V21H13V3Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 8C5 7.44772 5.44772 7 6 7H9V5H6C4.34315 5 3 6.34315 3 8V16C3 17.6569 4.34315 19 6 19H9V17H6C5.44772 17 5 16.5523 5 16V8Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgEditFlipV (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17 18C17 18.5523 16.5523 19 16 19L8 19C7.44772 19 7 18.5523 7 18L7 15L5 15L5 18C5 19.6569 6.34315 21 8 21L16 21C17.6569 21 19 19.6569 19 18V15L17 15V18Z\",\"fill\":\"currentColor\",\"fillOpacity\":\"0.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 5C16.5523 5 17 5.44772 17 6V9H19V6C19 4.34315 17.6569 3 16 3L8 3C6.34315 3 5 4.34315 5 6V9H7V6C7 5.44772 7.44772 5 8 5L16 5Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 13V11L3 11V13H21Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgEditHighlight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 6C10.7785 6 9.64223 6.36502 8.69435 6.99194H12V7.99194H7.53501C7.00911 8.57742 6.59669 9.26689 6.33237 10.0258H12V11.0258H6.07869C6.02692 11.3428 6 11.6683 6 12C6 12.3379 6.02793 12.6693 6.08161 12.9919H12V13.9919H6.33857C6.60189 14.7404 7.00941 15.4208 7.52779 16H12V17H8.68221C9.63251 17.6318 10.7733 18 12 18C15.3137 18 18 15.3137 18 12C18 8.68629 15.3137 6 12 6Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12ZM12 20C7.58172 20 4 16.4183 4 12C4 7.58172 7.58172 4 12 4C16.4183 4 20 7.58172 20 12C20 16.4183 16.4183 20 12 20Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgEditMarkup (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M12 24C18.6274 24 24 18.6274 24 12C24 5.37258 18.6274 0 12 0C5.37258 0 0 5.37258 0 12C0 18.6274 5.37258 24 12 24ZM18.5793 19.531C20.6758 17.698 22 15.0036 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 14.9616 3.28743 17.6225 5.33317 19.4535L6.99999 10.9738H9.17026L12 6.07251L14.8297 10.9738H17L18.5793 19.531ZM16.0919 21.1272L15.2056 12.9738H8.79438L7.90814 21.1272C9.15715 21.688 10.5421 22 12 22C13.4579 22 14.8428 21.688 16.0919 21.1272Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgEditMask (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 14C13.1046 14 14 13.1046 14 12C14 10.8954 13.1046 10 12 10C10.8954 10 10 10.8954 10 12C10 13.1046 10.8954 14 12 14Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M12 22C6.47716 22 2 17.5228 2 12C2 6.47717 6.47716 2 12 2C17.5228 2 22 6.47717 22 12C22 17.5228 17.5228 22 12 22ZM9.0307 19.4308C9.01047 19.29 9 19.1462 9 19C9 17.3431 10.3431 16 12 16C13.6569 16 15 17.3431 15 19C15 19.1462 14.9895 19.29 14.9693 19.4308C16.9993 18.6189 18.619 16.9993 19.4308 14.9692C19.2901 14.9895 19.1463 15 19 15C17.3431 15 16 13.6569 16 12C16 10.3431 17.3431 9 19 9C19.0637 9 19.127 9.00195 19.1897 9.00586C19.271 9.01099 19.3514 9.01929 19.4308 9.03076C18.6189 7.00073 16.9993 5.3811 14.9693 4.56921C14.9895 4.70996 15 4.85376 15 5C15 6.65686 13.6569 8 12 8C10.3431 8 9 6.65686 9 5C9 4.85376 9.01048 4.70996 9.03072 4.56921C7.0007 5.3811 5.38106 7.00073 4.56915 9.03076C4.64857 9.01929 4.729 9.01099 4.8103 9.00586C4.87303 9.00195 4.93628 9 5 9C6.65686 9 8 10.3431 8 12C8 13.6569 6.65686 15 5 15C4.8537 15 4.70985 14.9895 4.56915 14.9692C5.38104 16.9993 7.00069 18.6189 9.0307 19.4308Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgEditNoise (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.4044 17.7657C10.419 17.7803 10.4329 17.7953 10.446 17.8108C10.1948 17.7439 9.95005 17.661 9.71293 17.5634C9.95429 17.5106 10.2167 17.578 10.4044 17.7657Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.43574 16.705C8.40862 16.7321 8.37994 16.7567 8.34999 16.7788C7.95661 16.4775 7.60163 16.1285 7.29364 15.7406C7.31765 15.7068 7.3448 15.6746 7.37508 15.6443C7.66797 15.3514 8.14285 15.3514 8.43574 15.6443C8.72863 15.9372 8.72863 16.4121 8.43574 16.705Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.37104 13.6475C6.59701 13.8735 6.64864 14.2077 6.52594 14.4832C6.38527 14.1723 6.27034 13.8472 6.18387 13.5107C6.25129 13.5454 6.31455 13.591 6.37104 13.6475Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.37104 10.6753C6.29401 10.7523 6.2044 10.8091 6.10883 10.8456C6.18637 10.4523 6.30234 10.0728 6.45268 9.71119C6.66079 10.004 6.63357 10.4128 6.37104 10.6753Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.37508 8.70669C7.28995 8.62156 7.22957 8.52106 7.19392 8.41413C7.45907 8.06093 7.76228 7.73793 8.09747 7.45124C8.22139 7.48394 8.33858 7.54887 8.43574 7.64603C8.72863 7.93892 8.72863 8.41379 8.43574 8.70669C8.14285 8.99958 7.66797 8.99958 7.37508 8.70669Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.34371 6.76662C9.31335 6.73627 9.28614 6.70396 9.26208 6.6701C9.6881 6.45171 10.1437 6.28277 10.6212 6.17088C10.6397 6.38399 10.5675 6.60352 10.4044 6.76662C10.1115 7.05952 9.6366 7.05952 9.34371 6.76662Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13.2872 17.8734C13.5967 17.8055 13.8973 17.7136 14.1868 17.6C13.9165 17.4914 13.5957 17.5466 13.3766 17.7657C13.3429 17.7993 13.3131 17.8354 13.2872 17.8734Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.5312 16.8608C15.935 16.5658 16.3005 16.2216 16.619 15.8369C16.6005 15.8133 16.5803 15.7906 16.5586 15.7688C16.2657 15.4759 15.7908 15.4759 15.4979 15.7688C15.205 16.0617 15.205 16.5366 15.4979 16.8295C15.5088 16.8403 15.5199 16.8508 15.5312 16.8608Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17.3654 14.6921C17.5637 14.2953 17.7194 13.8735 17.8264 13.4326C17.6636 13.451 17.5058 13.5227 17.3809 13.6475C17.0933 13.9351 17.0881 14.3982 17.3654 14.6921Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17.8911 10.8934C17.8032 10.4272 17.6613 9.98016 17.4722 9.55885C17.4507 9.57609 17.4299 9.59469 17.4099 9.61465C17.117 9.90755 17.117 10.3824 17.4099 10.6753C17.5439 10.8093 17.7159 10.882 17.8911 10.8934Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.7556 8.35985C16.4971 8.02355 16.2038 7.71542 15.8811 7.44086C15.7407 7.46881 15.6068 7.5372 15.4979 7.64603C15.205 7.93892 15.205 8.41379 15.4979 8.70669C15.7908 8.99958 16.2657 8.99958 16.5586 8.70669C16.658 8.60729 16.7237 8.48694 16.7556 8.35985Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.4373 6.76662C14.4906 6.71331 14.5342 6.65397 14.5681 6.59079C14.1273 6.38127 13.6569 6.22392 13.1649 6.12671C13.1317 6.35331 13.2022 6.59223 13.3766 6.76662C13.6695 7.05952 14.1444 7.05952 14.4373 6.76662Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5257 7.64603C12.8186 7.93892 12.8186 8.41379 12.5257 8.70669C12.2328 8.99958 11.7579 8.99958 11.465 8.70669C11.1721 8.41379 11.1721 7.93892 11.465 7.64603C11.7579 7.35313 12.2328 7.35313 12.5257 7.64603Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.4044 9.61465C10.6973 9.90755 10.6973 10.3824 10.4044 10.6753C10.1115 10.9682 9.6366 10.9682 9.34371 10.6753C9.05081 10.3824 9.05081 9.90755 9.34371 9.61465C9.6366 9.32176 10.1115 9.32176 10.4044 9.61465Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.43574 12.7967C8.72863 12.5038 8.72863 12.0289 8.43574 11.736C8.14285 11.4431 7.66797 11.4431 7.37508 11.736C7.08218 12.0289 7.08218 12.5038 7.37508 12.7967C7.66797 13.0895 8.14285 13.0895 8.43574 12.7967Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.4044 13.6475C10.6973 13.9404 10.6973 14.4153 10.4044 14.7082C10.1115 15.001 9.6366 15.001 9.34371 14.7082C9.05081 14.4153 9.05081 13.9404 9.34371 13.6475C9.6366 13.3546 10.1115 13.3546 10.4044 13.6475Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.5257 12.7967C12.8186 12.5038 12.8186 12.0289 12.5257 11.736C12.2328 11.4431 11.7579 11.4431 11.465 11.736C11.1721 12.0289 11.1721 12.5038 11.465 12.7967C11.7579 13.0895 12.2328 13.0895 12.5257 12.7967Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.4373 9.61465C14.7302 9.90755 14.7302 10.3824 14.4373 10.6753C14.1444 10.9682 13.6695 10.9682 13.3766 10.6753C13.0837 10.3824 13.0837 9.90755 13.3766 9.61465C13.6695 9.32176 14.1444 9.32176 14.4373 9.61465Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.5586 12.7681C16.8515 12.4752 16.8515 12.0003 16.5586 11.7074C16.2657 11.4145 15.7908 11.4145 15.4979 11.7074C15.205 12.0003 15.205 12.4752 15.4979 12.7681C15.7908 13.061 16.2657 13.061 16.5586 12.7681Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.423 13.6902C14.7159 13.9831 14.7159 14.458 14.423 14.7509C14.1301 15.0438 13.6552 15.0438 13.3623 14.7509C13.0694 14.458 13.0694 13.9831 13.3623 13.6902C13.6552 13.3973 14.1301 13.3973 14.423 13.6902Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.3159 16.705C12.6088 16.4121 12.6088 15.9372 12.3159 15.6443C12.023 15.3514 11.5482 15.3514 11.2553 15.6443C10.9624 15.9372 10.9624 16.4121 11.2553 16.705C11.5482 16.9979 12.023 16.9979 12.3159 16.705Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12ZM20 12C20 16.4183 16.4183 20 12 20C7.58172 20 4 16.4183 4 12C4 7.58172 7.58172 4 12 4C16.4183 4 20 7.58172 20 12Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgEditShadows (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.3056 6.99194C14.3578 6.36502 13.2215 6 12 6C8.68629 6 6 8.68629 6 12C6 15.3137 8.68629 18 12 18C13.2267 18 14.3675 17.6318 15.3178 17H12V16H16.4722C16.9906 15.4208 17.3981 14.7404 17.6614 13.9919H12V12.9919H17.9184C17.9721 12.6693 18 12.3379 18 12C18 11.6683 17.9731 11.3428 17.9213 11.0258H12V10.0258H17.6676C17.4033 9.26689 16.9909 8.57742 16.465 7.99194H12V6.99194H15.3056Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22C17.5228 22 22 17.5228 22 12ZM12 20C16.4183 20 20 16.4183 20 12C20 7.58172 16.4183 4 12 4C7.58172 4 4 7.58172 4 12C4 16.4183 7.58172 20 12 20Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgEditStraight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 4C15.866 4 19 7.13401 19 11H5C5 7.13401 8.13401 4 12 4Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 13H1V11H5V13Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 13C19 16.866 15.866 20 12 20C8.13401 20 5 16.866 5 13H19Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 13V11H23V13H19Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgEditUnmask (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15 5C15 6.65685 13.6569 8 12 8C10.3431 8 9 6.65685 9 5C9 3.34315 10.3431 2 12 2C13.6569 2 15 3.34315 15 5Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 12C14 13.1046 13.1046 14 12 14C10.8954 14 10 13.1046 10 12C10 10.8954 10.8954 10 12 10C13.1046 10 14 10.8954 14 12Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C13.6569 22 15 20.6569 15 19C15 17.3431 13.6569 16 12 16C10.3431 16 9 17.3431 9 19C9 20.6569 10.3431 22 12 22Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 12C22 13.6569 20.6569 15 19 15C17.3431 15 16 13.6569 16 12C16 10.3431 17.3431 9 19 9C20.6569 9 22 10.3431 22 12Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 15C6.65685 15 8 13.6569 8 12C8 10.3431 6.65685 9 5 9C3.34315 9 2 10.3431 2 12C2 13.6569 3.34315 15 5 15Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgEject (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16.9498 14.3948L18.364 12.9805L12 6.61658L5.63605 12.9805L7.05026 14.3948L12 9.445L16.9498 14.3948Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.00014 17.3835H18.0001V15.3835H6.00014V17.3835Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgEnter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 5H8V9H6V3H22V21H6V15H8V19H20V5Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13.0743 16.9498L11.6601 15.5356L14.1957 13H2V11H14.1956L11.6601 8.46451L13.0743 7.05029L18.024 12L13.0743 16.9498Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgErase (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M3.49997 12.8995C2.71892 13.6805 2.71892 14.9468 3.49997 15.7279L7.35785 19.5858H4.08576C3.53347 19.5858 3.08576 20.0335 3.08576 20.5858C3.08576 21.1381 3.53347 21.5858 4.08576 21.5858H20.0858C20.638 21.5858 21.0858 21.1381 21.0858 20.5858C21.0858 20.0335 20.638 19.5858 20.0858 19.5858H10.9558L20.4705 10.071C21.2516 9.28999 21.2516 8.02366 20.4705 7.24261L16.2279 2.99997C15.4468 2.21892 14.1805 2.21892 13.3995 2.99997L3.49997 12.8995ZM7.82579 11.4021L4.91418 14.3137L9.15683 18.5563L12.0684 15.6447L7.82579 11.4021ZM9.24 9.98787L13.4826 14.2305L19.0563 8.65683L14.8137 4.41418L9.24 9.98787Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgEreader (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 7C15.4477 7 15 7.44772 15 8C15 8.55228 15.4477 9 16 9H19C19.5523 9 20 8.55228 20 8C20 7.44772 19.5523 7 19 7H16Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 12C15 11.4477 15.4477 11 16 11H19C19.5523 11 20 11.4477 20 12C20 12.5523 19.5523 13 19 13H16C15.4477 13 15 12.5523 15 12Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 15C15.4477 15 15 15.4477 15 16C15 16.5523 15.4477 17 16 17H19C19.5523 17 20 16.5523 20 16C20 15.4477 19.5523 15 19 15H16Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M3 3C1.34315 3 0 4.34315 0 6V18C0 19.6569 1.34315 21 3 21H21C22.6569 21 24 19.6569 24 18V6C24 4.34315 22.6569 3 21 3H3ZM21 5H13V19H21C21.5523 19 22 18.5523 22 18V6C22 5.44772 21.5523 5 21 5ZM3 5H11V19H3C2.44772 19 2 18.5523 2 18V6C2 5.44772 2.44772 5 3 5Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgEricsson (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.71689 5.72315C6.71581 6.18996 6.2827 7.37992 6.74951 8.381C7.21632 9.38208 8.40628 9.81519 9.40736 9.34838L20.2831 4.27696C21.2841 3.81015 21.7172 2.62019 21.2504 1.61911C20.7836 0.618028 19.5937 0.184918 18.5926 0.651729L7.71689 5.72315Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.74951 15.381C4.2827 14.3799 4.71581 13.19 5.71689 12.7231L16.5926 7.65173C17.5937 7.18492 18.7836 7.61803 19.2504 8.61911C19.7172 9.62019 19.2841 10.8101 18.2831 11.277L7.40736 16.3484C6.40628 16.8152 5.21632 16.3821 4.74951 15.381Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.74951 22.381C2.2827 21.3799 2.71581 20.19 3.71689 19.7231L14.5926 14.6517C15.5937 14.1849 16.7836 14.618 17.2504 15.6191C17.7172 16.6202 17.2841 17.8101 16.2831 18.277L5.40736 23.3484C4.40628 23.8152 3.21632 23.3821 2.74951 22.381Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgEthernet (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M4 0.5V20.5H11V23.5H13V20.5H20V0.5H4ZM18 2.5H6V8.5H10V14.5H14V8.5H18V2.5ZM6 18.5V10.5H8V16.5H16V10.5H18V18.5H6Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgEuro (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18.5535 15.5355C17.6487 16.4404 16.3987 17 15.018 17C13.1416 17 11.5066 15.9664 10.6513 14.4374H13.0323L13.7284 12.5625H10.0493C10.0286 12.3779 10.018 12.1902 10.018 12C10.018 11.8098 10.0286 11.6221 10.0493 11.4374H14.3362L15.0324 9.5625H10.6514C11.5066 8.0336 13.1416 7 15.018 7C16.3987 7 17.6487 7.55964 18.5535 8.46447L19.9677 7.05025C18.701 5.7835 16.951 5 15.018 5C12.0092 5 9.44381 6.89827 8.45407 9.5625H6.03241L5.33624 11.4374H8.04028C8.02552 11.623 8.018 11.8106 8.018 12C8.018 12.1894 8.02552 12.3769 8.04027 12.5625H4.72845L4.03229 14.4374H8.45404C9.44377 17.1017 12.0092 19 15.018 19C16.951 19 18.701 18.2165 19.9677 16.9497L18.5535 15.5355Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgEventbrite (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M14.6734 17.4378C12.3057 18.5419 9.5858 17.9679 7.85444 16.2039L21.8647 9.67074C21.7105 9.02969 21.4902 8.39446 21.2008 7.77376C18.8667 2.76836 12.9169 0.602811 7.91152 2.93687C2.90612 5.27092 0.740567 11.2207 3.07462 16.2261C5.40868 21.2315 11.3585 23.3971 16.3639 21.063C19.016 19.8263 20.8708 17.5746 21.6815 14.986H17.3424C16.7484 16.0235 15.8393 16.8941 14.6734 17.4378ZM9.60199 6.5621C7.23436 7.66615 5.92572 10.1185 6.16403 12.5786L16.4208 7.79583C14.6894 6.03194 11.9696 5.45805 9.60199 6.5621Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgExpand (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.3062 16.5933L12.2713 18.593L5.2724 18.4708L5.39457 11.4719L7.39426 11.5068L7.33168 15.092L15.2262 7.46833L11.6938 7.40668L11.7287 5.40698L18.7277 5.52915L18.6055 12.5281L16.6058 12.4932L16.6693 8.85507L8.72095 16.5307L12.3062 16.5933Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgExport (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16.9498 5.96781L15.5356 7.38203L13 4.84646V17.0421H11V4.84653L8.46451 7.38203L7.05029 5.96781L12 1.01807L16.9498 5.96781Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 20.9819V10.9819H9V8.98193H3V22.9819H21V8.98193H15V10.9819H19V20.9819H5Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgExtensionAdd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 4H18V6H20V8H18V10H16V8H14V6H16V4Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M12 12V6H4V20H18V12H12ZM6 8H10V12H6V8ZM10 14V18H6V14H10ZM16 14V18H12V14H16Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgExtensionAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M5 5V19H13V13H19V5H5ZM11 7H7V11H11V7ZM11 13H7V17H11V13ZM13 11H17V7H13V11Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgExtensionRemove (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M12 11V5H4V19H18V11H12ZM6 7H10V11H6V7ZM10 13V17H6V13H10ZM16 13V17H12V13H16Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 7H14V9H20V7Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgExtension (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M13 3H21V11H13V3ZM15 5H19V9H15V5Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M17 21V13H11V7H3V21H17ZM9 9H5V13H9V9ZM5 19L5 15H9V19H5ZM11 19V15H15V19H11Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgExternal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.6396 7.02527H12.0181V5.02527H19.0181V12.0253H17.0181V8.47528L12.1042 13.3892L10.6899 11.975L15.6396 7.02527Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.9819 6.97473H4.98193V18.9747H16.9819V12.9747H14.9819V16.9747H6.98193V8.97473H10.9819V6.97473Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgEyeAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 12C14 13.1046 13.1046 14 12 14C10.8954 14 10 13.1046 10 12C10 10.8954 10.8954 10 12 10C13.1046 10 14 10.8954 14 12Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M12 3C6.40848 3 1.71018 6.82432 0.378052 12C1.71018 17.1757 6.40848 21 12 21C17.5915 21 22.2898 17.1757 23.6219 12C22.2898 6.82432 17.5915 3 12 3ZM16 12C16 14.2091 14.2091 16 12 16C9.79086 16 8 14.2091 8 12C8 9.79086 9.79086 8 12 8C14.2091 8 16 9.79086 16 12Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgEye (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M16 12C16 14.2091 14.2091 16 12 16C9.79086 16 8 14.2091 8 12C8 9.79086 9.79086 8 12 8C14.2091 8 16 9.79086 16 12ZM14 12C14 13.1046 13.1046 14 12 14C10.8954 14 10 13.1046 10 12C10 10.8954 10.8954 10 12 10C13.1046 10 14 10.8954 14 12Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M12 3C17.5915 3 22.2898 6.82432 23.6219 12C22.2898 17.1757 17.5915 21 12 21C6.40848 21 1.71018 17.1757 0.378052 12C1.71018 6.82432 6.40848 3 12 3ZM12 19C7.52443 19 3.73132 16.0581 2.45723 12C3.73132 7.94186 7.52443 5 12 5C16.4756 5 20.2687 7.94186 21.5428 12C20.2687 16.0581 16.4756 19 12 19Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgFacebook (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.19795 21.5H13.198V13.4901H16.8021L17.198 9.50977H13.198V7.5C13.198 6.94772 13.6457 6.5 14.198 6.5H17.198V2.5H14.198C11.4365 2.5 9.19795 4.73858 9.19795 7.5V9.50977H7.19795L6.80206 13.4901H9.19795V21.5Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgFeed (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.552 8C11.9997 8 11.552 8.44772 11.552 9C11.552 9.55228 11.9997 10 12.552 10H16.552C17.1043 10 17.552 9.55228 17.552 9C17.552 8.44772 17.1043 8 16.552 8H12.552Z\",\"fill\":\"currentColor\",\"fillOpacity\":\"0.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.552 17C11.9997 17 11.552 17.4477 11.552 18C11.552 18.5523 11.9997 19 12.552 19H16.552C17.1043 19 17.552 18.5523 17.552 18C17.552 17.4477 17.1043 17 16.552 17H12.552Z\",\"fill\":\"currentColor\",\"fillOpacity\":\"0.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.552 5C11.9997 5 11.552 5.44772 11.552 6C11.552 6.55228 11.9997 7 12.552 7H20.552C21.1043 7 21.552 6.55228 21.552 6C21.552 5.44772 21.1043 5 20.552 5H12.552Z\",\"fill\":\"currentColor\",\"fillOpacity\":\"0.8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.552 14C11.9997 14 11.552 14.4477 11.552 15C11.552 15.5523 11.9997 16 12.552 16H20.552C21.1043 16 21.552 15.5523 21.552 15C21.552 14.4477 21.1043 14 20.552 14H12.552Z\",\"fill\":\"currentColor\",\"fillOpacity\":\"0.8\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.448 4.00208C2.89571 4.00208 2.448 4.44979 2.448 5.00208V10.0021C2.448 10.5544 2.89571 11.0021 3.448 11.0021H8.448C9.00028 11.0021 9.448 10.5544 9.448 10.0021V5.00208C9.448 4.44979 9.00028 4.00208 8.448 4.00208H3.448Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.448 12.9979C2.89571 12.9979 2.448 13.4456 2.448 13.9979V18.9979C2.448 19.5502 2.89571 19.9979 3.448 19.9979H8.448C9.00028 19.9979 9.448 19.5502 9.448 18.9979V13.9979C9.448 13.4456 9.00028 12.9979 8.448 12.9979H3.448Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgFigma (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 2C6.84315 2 5.5 3.34315 5.5 5C5.5 6.65685 6.84315 8 8.5 8H15.5C17.1569 8 18.5 6.65685 18.5 5C18.5 3.34315 17.1569 2 15.5 2H8.5Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.5 9C13.8431 9 12.5 10.3431 12.5 12C12.5 13.6569 13.8431 15 15.5 15C17.1569 15 18.5 13.6569 18.5 12C18.5 10.3431 17.1569 9 15.5 9Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 12C5.5 10.3431 6.84315 9 8.5 9H11.5V15H8.5C6.84315 15 5.5 13.6569 5.5 12Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 16C6.84315 16 5.5 17.3431 5.5 19C5.5 20.6569 6.84315 22 8.5 22C10.1569 22 11.5 20.6569 11.5 19V16H8.5Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgFileAdd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 18V16H8V14H10V12H12V14H14V16H12V18H10Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M6 2C4.34315 2 3 3.34315 3 5V19C3 20.6569 4.34315 22 6 22H18C19.6569 22 21 20.6569 21 19V9C21 5.13401 17.866 2 14 2H6ZM6 4H13V9H19V19C19 19.5523 18.5523 20 18 20H6C5.44772 20 5 19.5523 5 19V5C5 4.44772 5.44772 4 6 4ZM15 4.10002C16.6113 4.4271 17.9413 5.52906 18.584 7H15V4.10002Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgFileDocument (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 18H17V16H7V18Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 14H7V12H17V14Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 10H11V8H7V10Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M6 2C4.34315 2 3 3.34315 3 5V19C3 20.6569 4.34315 22 6 22H18C19.6569 22 21 20.6569 21 19V9C21 5.13401 17.866 2 14 2H6ZM6 4H13V9H19V19C19 19.5523 18.5523 20 18 20H6C5.44772 20 5 19.5523 5 19V5C5 4.44772 5.44772 4 6 4ZM15 4.10002C16.6113 4.4271 17.9413 5.52906 18.584 7H15V4.10002Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgFileRemove (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 15H15V13H9V15Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M6 2C4.34315 2 3 3.34315 3 5V19C3 20.6569 4.34315 22 6 22H18C19.6569 22 21 20.6569 21 19V9C21 5.13401 17.866 2 14 2H6ZM6 4H13V9H19V19C19 19.5523 18.5523 20 18 20H6C5.44772 20 5 19.5523 5 19V5C5 4.44772 5.44772 4 6 4ZM15 4.10002C16.6113 4.4271 17.9413 5.52906 18.584 7H15V4.10002Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgFile (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M3 5C3 3.34315 4.34315 2 6 2H14C17.866 2 21 5.13401 21 9V19C21 20.6569 19.6569 22 18 22H6C4.34315 22 3 20.6569 3 19V5ZM13 4H6C5.44772 4 5 4.44772 5 5V19C5 19.5523 5.44772 20 6 20H18C18.5523 20 19 19.5523 19 19V9H13V4ZM18.584 7C17.9413 5.52906 16.6113 4.4271 15 4.10002V7H18.584Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgFilm (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 7C5.44772 7 5 7.44772 5 8C5 8.55228 5.44772 9 6 9C6.55228 9 7 8.55228 7 8C7 7.44772 6.55228 7 6 7Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 8C17 7.44772 17.4477 7 18 7C18.5523 7 19 7.44772 19 8C19 8.55228 18.5523 9 18 9C17.4477 9 17 8.55228 17 8Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 11C5.44772 11 5 11.4477 5 12C5 12.5523 5.44772 13 6 13C6.55228 13 7 12.5523 7 12C7 11.4477 6.55228 11 6 11Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 12C17 11.4477 17.4477 11 18 11C18.5523 11 19 11.4477 19 12C19 12.5523 18.5523 13 18 13C17.4477 13 17 12.5523 17 12Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 15C5.44772 15 5 15.4477 5 16C5 16.5523 5.44772 17 6 17C6.55228 17 7 16.5523 7 16C7 15.4477 6.55228 15 6 15Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 16C17 15.4477 17.4477 15 18 15C18.5523 15 19 15.4477 19 16C19 16.5523 18.5523 17 18 17C17.4477 17 17 16.5523 17 16Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M4 3C2.34315 3 1 4.34315 1 6V18C1 19.6569 2.34315 21 4 21H20C21.6569 21 23 19.6569 23 18V6C23 4.34315 21.6569 3 20 3H4ZM20 5H4C3.44772 5 3 5.44772 3 6V18C3 18.5523 3.44772 19 4 19H20C20.5523 19 21 18.5523 21 18V6C21 5.44772 20.5523 5 20 5Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgFilters (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M4.70834 15.4397C5.92663 16.2928 7.3222 16.7038 8.70461 16.7063C9.17977 18.0045 10.0433 19.1753 11.2616 20.0284C14.4284 22.2458 18.7932 21.4762 21.0107 18.3093C23.2281 15.1425 22.4585 10.7777 19.2916 8.56024C18.0734 7.70719 16.6778 7.29621 15.2954 7.29371C14.8202 5.99552 13.9567 4.82467 12.7384 3.97161C9.57158 1.75417 5.20676 2.52381 2.98931 5.69064C0.771871 8.85748 1.54151 13.2223 4.70834 15.4397ZM5.8555 13.8014C6.6016 14.3239 7.44081 14.6142 8.28736 14.6875C8.20112 13.1725 8.60464 11.6187 9.54254 10.2793C10.4804 8.9398 11.8025 8.0292 13.2556 7.59209C12.8972 6.82166 12.3374 6.13235 11.5913 5.60992C9.32924 4.02603 6.21151 4.57577 4.62762 6.8378C3.04373 9.09982 3.59347 12.2176 5.8555 13.8014ZM18.1445 10.1985C17.3984 9.67611 16.5592 9.38581 15.7126 9.31251C15.7989 10.8275 15.3953 12.3813 14.4574 13.7207C13.5195 15.0602 12.1975 15.9708 10.7444 16.4079C11.1028 17.1783 11.6626 17.8676 12.4087 18.3901C14.6707 19.9739 17.7885 19.4242 19.3724 17.1622C20.9562 14.9002 20.4065 11.7824 18.1445 10.1985Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgFlagAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M12.4388 7L14.8387 4H7V10H14.8387L12.4388 7ZM19 12H7V22H5V2H19L15 7L19 12Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgFlag (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M4 21H6V11H12V13H20V5H13V3H4V21ZM12 5H6V9H13V11H18V7H12V5Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgFolderAdd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 14.5V16.5H13V14.5H15V12.5H13V10.5H11V12.5H9V14.5H11Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M4 1.5C2.89543 1.5 2 2.39543 2 3.5V4.5C2 4.55666 2.00236 4.61278 2.00698 4.66825C0.838141 5.07811 0 6.19118 0 7.5V19.5C0 21.1569 1.34315 22.5 3 22.5H21C22.6569 22.5 24 21.1569 24 19.5V7.5C24 5.84315 22.6569 4.5 21 4.5H11.874C11.4299 2.77477 9.86384 1.5 8 1.5H4ZM9.73244 4.5C9.38663 3.9022 8.74028 3.5 8 3.5H4V4.5H9.73244ZM3 6.5C2.44772 6.5 2 6.94772 2 7.5V19.5C2 20.0523 2.44772 20.5 3 20.5H21C21.5523 20.5 22 20.0523 22 19.5V7.5C22 6.94772 21.5523 6.5 21 6.5H3Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgFolderRemove (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 14.5V12.5H15V14.5H9Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M4 1.5C2.89543 1.5 2 2.39543 2 3.5V4.5C2 4.55666 2.00236 4.61278 2.00698 4.66825C0.838141 5.07811 0 6.19118 0 7.5V19.5C0 21.1569 1.34315 22.5 3 22.5H21C22.6569 22.5 24 21.1569 24 19.5V7.5C24 5.84315 22.6569 4.5 21 4.5H11.874C11.4299 2.77477 9.86384 1.5 8 1.5H4ZM9.73244 4.5C9.38663 3.9022 8.74028 3.5 8 3.5H4V4.5H9.73244ZM3 6.5C2.44772 6.5 2 6.94772 2 7.5V19.5C2 20.0523 2.44772 20.5 3 20.5H21C21.5523 20.5 22 20.0523 22 19.5V7.5C22 6.94772 21.5523 6.5 21 6.5H3Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgFolder (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M4 1.5C2.89543 1.5 2 2.39543 2 3.5V4.5C2 4.55666 2.00236 4.61278 2.00698 4.66825C0.838141 5.07811 0 6.19118 0 7.5V19.5C0 21.1569 1.34315 22.5 3 22.5H21C22.6569 22.5 24 21.1569 24 19.5V7.5C24 5.84315 22.6569 4.5 21 4.5H11.874C11.4299 2.77477 9.86384 1.5 8 1.5H4ZM9.73244 4.5C9.38663 3.9022 8.74028 3.5 8 3.5H4V4.5H9.73244ZM3 6.5C2.44772 6.5 2 6.94772 2 7.5V19.5C2 20.0523 2.44772 20.5 3 20.5H21C21.5523 20.5 22 20.0523 22 19.5V7.5C22 6.94772 21.5523 6.5 21 6.5H3Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgFontHeight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 5V3H3V5H21Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 19V21H3V19H21Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M12.0001 7.37636C11.602 7.35207 11.2112 7.56874 11.0325 7.95204L7.65154 15.2025C7.41815 15.7031 7.6347 16.2981 8.13522 16.5315C8.63577 16.7649 9.23074 16.5484 9.46417 16.0477L9.95278 14.9999H14.0473L14.5359 16.0477C14.7693 16.5484 15.3643 16.7649 15.8648 16.5315C16.3654 16.2981 16.5819 15.7031 16.3485 15.2025L12.9676 7.95204C12.7888 7.56874 12.3981 7.35207 12.0001 7.37636ZM13.1147 12.9999H10.8854L12.0001 10.6095L13.1147 12.9999Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgFontSpacing (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 21H21V3H19L19 21Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 21H3V3H5L5 21Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M9.46416 16.0479L9.95281 14.9999H14.0473L14.5359 16.0478C14.7693 16.5484 15.3643 16.7649 15.8649 16.5315C16.3654 16.2981 16.582 15.7031 16.3485 15.2026L12.9676 7.95213C12.7888 7.56877 12.398 7.35199 11.9999 7.37637C11.6019 7.35214 11.2112 7.5689 11.0325 7.95216L7.65155 15.2026C7.41814 15.7032 7.6347 16.2981 8.13524 16.5315C8.63578 16.7649 9.23076 16.5484 9.46416 16.0479ZM12.0001 10.6096L10.8854 12.9999H13.1147L12.0001 10.6096Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgFormatBold (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.946 10.7833L11.2754 12.209L13.4476 12.533C14.8919 12.7485 16 13.9957 16 15.5C16 13.8431 14.6569 12.5 13 12.5H9H8V11.5H9H11C12.6283 11.5 13.9536 10.2028 13.9988 8.58539C13.9743 9.4647 13.5724 10.2488 12.946 10.7833Z\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\"}}]})(props);\n};\nexport function CgFormatCenter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 5C3.44772 5 3 5.44772 3 6C3 6.55228 3.44772 7 4 7H20C20.5523 7 21 6.55228 21 6C21 5.44772 20.5523 5 20 5H4Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 13C3.44772 13 3 13.4477 3 14C3 14.5523 3.44772 15 4 15H20C20.5523 15 21 14.5523 21 14C21 13.4477 20.5523 13 20 13H4Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 10C6 9.44772 6.44772 9 7 9H17C17.5523 9 18 9.44772 18 10C18 10.5523 17.5523 11 17 11H7C6.44772 11 6 10.5523 6 10Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 17C6.44772 17 6 17.4477 6 18C6 18.5523 6.44772 19 7 19H17C17.5523 19 18 18.5523 18 18C18 17.4477 17.5523 17 17 17H7Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgFormatColor (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M12.9479 3.20946C12.7721 2.83236 12.391 2.61645 11.9997 2.63269C11.6086 2.61666 11.2278 2.83255 11.0521 3.20948L5.1354 15.8978C4.90199 16.3983 5.11855 16.9933 5.61909 17.2267C6.11963 17.4601 6.71461 17.2436 6.94801 16.743L8.39869 13.632H15.6013L17.052 16.743C17.2854 17.2435 17.8804 17.4601 18.3809 17.2267C18.8814 16.9933 19.098 16.3983 18.8646 15.8978L12.9479 3.20946ZM14.6687 11.632L12 5.909L9.33131 11.632H14.6687Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 19.3682C5.44772 19.3682 5 19.816 5 20.3682C5 20.9205 5.44772 21.3682 6 21.3682H18C18.5523 21.3682 19 20.9205 19 20.3682C19 19.816 18.5523 19.3682 18 19.3682H6Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgFormatHeading (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 19V5H8V11H16V5H18V19H16V13H8V19H6Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgFormatIndentDecrease (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 7H4V5H20V7Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 11H12V9H20V11Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 15H20V13H12V15Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 9L4 12L9 15V9Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 17V19H20V17H4Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgFormatIndentIncrease (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 7H4V5H20V7Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 11H12V9H20V11Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 15H20V13H12V15Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 15L9 12L4 9V15Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 17V19H20V17H4Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgFormatItalic (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.4903 5.45801H17.4903L16.7788 7.32716H14.7788L11.2212 16.6729H13.2212L12.5097 18.5421H6.5097L7.22122 16.6729H9.22122L12.7788 7.32716H10.7788L11.4903 5.45801Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgFormatJustify (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 5C3.44772 5 3 5.44772 3 6C3 6.55228 3.44772 7 4 7H20C20.5523 7 21 6.55228 21 6C21 5.44772 20.5523 5 20 5H4Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 9C3.44772 9 3 9.44772 3 10C3 10.5523 3.44772 11 4 11H20C20.5523 11 21 10.5523 21 10C21 9.44772 20.5523 9 20 9H4Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 14C3 13.4477 3.44772 13 4 13H20C20.5523 13 21 13.4477 21 14C21 14.5523 20.5523 15 20 15H4C3.44772 15 3 14.5523 3 14Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 17C3.44772 17 3 17.4477 3 18C3 18.5523 3.44772 19 4 19H20C20.5523 19 21 18.5523 21 18C21 17.4477 20.5523 17 20 17H4Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgFormatLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 5C3.44772 5 3 5.44772 3 6C3 6.55228 3.44772 7 4 7H20C20.5523 7 21 6.55228 21 6C21 5.44772 20.5523 5 20 5H4Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 9C3.44772 9 3 9.44772 3 10C3 10.5523 3.44772 11 4 11H12C12.5523 11 13 10.5523 13 10C13 9.44772 12.5523 9 12 9H4Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 14C3 13.4477 3.44772 13 4 13H20C20.5523 13 21 13.4477 21 14C21 14.5523 20.5523 15 20 15H4C3.44772 15 3 14.5523 3 14Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 17C3.44772 17 3 17.4477 3 18C3 18.5523 3.44772 19 4 19H12C12.5523 19 13 18.5523 13 18C13 17.4477 12.5523 17 12 17H4Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgFormatLineHeight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.09668 6.99707H7.17358L4.17358 3.99707L1.17358 6.99707H3.09668V17.0031H1.15881L4.15881 20.0031L7.15881 17.0031H5.09668V6.99707Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22.8412 7H8.84119V5H22.8412V7Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22.8412 11H8.84119V9H22.8412V11Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.84119 15H22.8412V13H8.84119V15Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22.8412 19H8.84119V17H22.8412V19Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgFormatRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 5C20.5523 5 21 5.44772 21 6C21 6.55228 20.5523 7 20 7H4C3.44772 7 3 6.55228 3 6C3 5.44772 3.44772 5 4 5H20Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 9C20.5523 9 21 9.44772 21 10C21 10.5523 20.5523 11 20 11H12C11.4477 11 11 10.5523 11 10C11 9.44772 11.4477 9 12 9H20Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 14C21 13.4477 20.5523 13 20 13H4C3.44772 13 3 13.4477 3 14C3 14.5523 3.44772 15 4 15H20C20.5523 15 21 14.5523 21 14Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 17C20.5523 17 21 17.4477 21 18C21 18.5523 20.5523 19 20 19H12C11.4477 19 11 18.5523 11 18C11 17.4477 11.4477 17 12 17H20Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgFormatSeparator (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"g\",\"attr\":{\"opacity\":\"0.5\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 5C16.5523 5 17 4.55229 17 4C17 3.44772 16.5523 3 16 3H8C7.44771 3 7 3.44772 7 4C7 4.55228 7.44771 5 8 5L16 5Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 7C16.5523 7 17 7.44772 17 8C17 8.55229 16.5523 9 16 9H8C7.44771 9 7 8.55229 7 8C7 7.44772 7.44771 7 8 7H16Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 12C17 12.5523 16.5523 13 16 13L8 13C7.44771 13 7 12.5523 7 12C7 11.4477 7.44771 11 8 11L16 11C16.5523 11 17 11.4477 17 12Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 21C16.5523 21 17 20.5523 17 20C17 19.4477 16.5523 19 16 19L8 19C7.44771 19 7 19.4477 7 20C7 20.5523 7.44771 21 8 21H16Z\",\"fill\":\"currentColor\"}}]},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M21 16C21 16.5523 20.5523 17 20 17L4 17C3.44772 17 3 16.5523 3 16C3 15.4477 3.44772 15 4 15L20 15C20.5523 15 21 15.4477 21 16Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgFormatSlash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M14.526 6.10576C15.0265 6.33917 15.2667 6.88343 15.0625 7.3214L9.88541 18.4237C9.68118 18.8616 9.10985 19.0275 8.60931 18.7941C8.10877 18.5607 7.86857 18.0164 8.0728 17.5784L13.2499 6.47616C13.4541 6.03819 14.0254 5.87235 14.526 6.10576Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgFormatStrike (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 7H17V5H7V7H11V10H13V7Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 19V14H13V19H11Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 13H19V11H5V13Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgFormatText (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 3H3V6.5H4V4H6.5V3Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.5 4V3H11V4H8.5Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 4H15.5V3H13V4Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17.5 3V4H20V6.5H21V3H17.5Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 8.5H20V11H21V8.5Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 13H20V15.5H21V13Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 17.5H20V20H17.5V21H21V17.5Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.5 21V20H13V21H15.5Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 21V20H8.5V21H11Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.5 21V20H4V17.5H3V21H6.5Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 15.5H4V13H3V15.5Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 11H4V8.5H3V11Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 9.5H7V7.5H17V9.5H13V16.5H11V9.5Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgFormatUnderline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 10V4H8V10C8 12.2091 9.79086 14 12 14C14.2091 14 16 12.2091 16 10V4H18V10C18 13.3137 15.3137 16 12 16C8.68629 16 6 13.3137 6 10Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 18C6.44772 18 6 18.4477 6 19C6 19.5523 6.44771 20 7 20H17C17.5523 20 18 19.5523 18 19C18 18.4477 17.5523 18 17 18H7Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgFormatUppercase (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M13 9H10V17H8V9H5V7H13V9ZM18 13H16V17H14V13H12V11H18V13Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgFramer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 21L12 9L6 9L6 15L12 21Z\",\"fill\":\"currentColor\",\"fillOpacity\":\"0.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 9V3H6L12 9H6V15H18L12 9H18Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgGames (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.4695 11.2929C15.0789 10.9024 14.4458 10.9024 14.0553 11.2929C13.6647 11.6834 13.6647 12.3166 14.0553 12.7071C14.4458 13.0976 15.0789 13.0976 15.4695 12.7071C15.86 12.3166 15.86 11.6834 15.4695 11.2929Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.1766 9.17156C16.5671 8.78103 17.2003 8.78103 17.5908 9.17156C17.9813 9.56208 17.9813 10.1952 17.5908 10.5858C17.2003 10.9763 16.5671 10.9763 16.1766 10.5858C15.7861 10.1952 15.7861 9.56208 16.1766 9.17156Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19.7121 11.2929C19.3216 10.9024 18.6885 10.9024 18.2979 11.2929C17.9074 11.6834 17.9074 12.3166 18.2979 12.7071C18.6885 13.0976 19.3216 13.0976 19.7121 12.7071C20.1027 12.3166 20.1027 11.6834 19.7121 11.2929Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.1766 13.4142C16.5671 13.0237 17.2003 13.0237 17.5908 13.4142C17.9813 13.8048 17.9813 14.4379 17.5908 14.8284C17.2003 15.219 16.5671 15.219 16.1766 14.8284C15.7861 14.4379 15.7861 13.8048 16.1766 13.4142Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 13H4V11H6V9H8V11H10V13H8V15H6V13Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M7 5C3.13401 5 0 8.13401 0 12C0 15.866 3.13401 19 7 19H17C20.866 19 24 15.866 24 12C24 8.13401 20.866 5 17 5H7ZM17 7H7C4.23858 7 2 9.23858 2 12C2 14.7614 4.23858 17 7 17H17C19.7614 17 22 14.7614 22 12C22 9.23858 19.7614 7 17 7Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgGenderFemale (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M12 3C9.23858 3 7 5.23858 7 8C7 10.419 8.71776 12.4367 11 12.9V15H8V17H11V21H13V17H16V15H13V12.9C15.2822 12.4367 17 10.419 17 8C17 5.23858 14.7614 3 12 3ZM9 8C9 9.65685 10.3431 11 12 11C13.6569 11 15 9.65685 15 8C15 6.34315 13.6569 5 12 5C10.3431 5 9 6.34315 9 8Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgGenderMale (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M12.1888 7L12.1909 5L19.1909 5.00746L19.1834 12.0075L17.1834 12.0053L17.1873 8.41678L14.143 11.4611C15.4612 13.4063 15.2587 16.0743 13.5355 17.7975C11.5829 19.7501 8.41709 19.7501 6.46447 17.7975C4.51184 15.8449 4.51184 12.6791 6.46447 10.7264C8.16216 9.02873 10.777 8.80709 12.7141 10.0615L15.7718 7.00382L12.1888 7ZM7.87868 12.1406C9.05025 10.9691 10.9497 10.9691 12.1213 12.1406C13.2929 13.3122 13.2929 15.2117 12.1213 16.3833C10.9497 17.5549 9.05025 17.5549 7.87868 16.3833C6.70711 15.2117 6.70711 13.3122 7.87868 12.1406Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgGhostCharacter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.9759 9C10.9759 9.55228 10.5282 10 9.97589 10C9.42361 10 8.97589 9.55228 8.97589 9C8.97589 8.44771 9.42361 8 9.97589 8C10.5282 8 10.9759 8.44771 10.9759 9Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13.9712 10C14.5235 10 14.9712 9.55228 14.9712 9C14.9712 8.44771 14.5235 8 13.9712 8C13.4189 8 12.9712 8.44771 12.9712 9C12.9712 9.55228 13.4189 10 13.9712 10Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M19 20.9999V10C19 6.13401 15.866 3 12 3C8.13401 3 5 6.13401 5 10V21L7.82846 21L9.24264 19.5858L10.6569 21L13.3433 21L14.7574 19.5858L16.1717 21L19 20.9999ZM17 10C17 7.23858 14.7614 5 12 5C9.23858 5 7 7.23858 7 10V19L9.24264 16.7573L12 19.5147L14.7574 16.7573L17 18.9999V10Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgGhost (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 4H15V8H3V4Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 8H17V4H21V8Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 10H21V14H3V10Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 16H3V20H11V16Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 16V20H21V16H13Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgGift (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M17.5354 2.87868C16.3638 1.70711 14.4644 1.70711 13.2928 2.87868L11.8786 4.29289C11.8183 4.35317 11.7611 4.41538 11.707 4.47931C11.653 4.41539 11.5958 4.3532 11.5355 4.29293L10.1213 2.87871C8.94975 1.70714 7.05025 1.70714 5.87868 2.87871C4.70711 4.05029 4.70711 5.94978 5.87868 7.12136L6.75732 8H1V14H3V22H21V14H23V8H16.6567L17.5354 7.12132C18.707 5.94975 18.707 4.05025 17.5354 2.87868ZM14.707 7.12132L16.1212 5.70711C16.5117 5.31658 16.5117 4.68342 16.1212 4.29289C15.7307 3.90237 15.0975 3.90237 14.707 4.29289L13.2928 5.70711C12.9023 6.09763 12.9023 6.7308 13.2928 7.12132C13.6833 7.51184 14.3165 7.51184 14.707 7.12132ZM10.1213 5.70714L8.70711 4.29293C8.31658 3.9024 7.68342 3.9024 7.29289 4.29293C6.90237 4.68345 6.90237 5.31662 7.29289 5.70714L8.70711 7.12136C9.09763 7.51188 9.7308 7.51188 10.1213 7.12136C10.5118 6.73083 10.5118 6.09767 10.1213 5.70714ZM21 10V12H3V10H21ZM12.9167 14H19V20H12.9167V14ZM11.0834 14V20H5V14H11.0834Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgGirl (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 12C10 12.5523 9.55228 13 9 13C8.44772 13 8 12.5523 8 12C8 11.4477 8.44772 11 9 11C9.55228 11 10 11.4477 10 12Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 13C15.5523 13 16 12.5523 16 12C16 11.4477 15.5523 11 15 11C14.4477 11 14 11.4477 14 12C14 12.5523 14.4477 13 15 13Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M12.0244 2.00003L12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22C17.5228 22 22 17.5228 22 12C22 6.74235 17.9425 2.43237 12.788 2.03059L12.7886 2.0282C12.5329 2.00891 12.278 1.99961 12.0244 2.00003ZM12 20C16.4183 20 20 16.4183 20 12C20 11.3014 19.9105 10.6237 19.7422 9.97775C16.1597 10.2313 12.7359 8.52461 10.7605 5.60246C9.31322 7.07886 7.2982 7.99666 5.06879 8.00253C4.38902 9.17866 4 10.5439 4 12C4 16.4183 7.58172 20 12 20ZM11.9785 4.00003L12.0236 4.00003L12 4L11.9785 4.00003Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgGitBranch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 3C7.89543 3 7 3.89543 7 5C7 5.74028 7.4022 6.38663 8 6.73244V17.2676C7.4022 17.6134 7 18.2597 7 19C7 20.1046 7.89543 21 9 21C9.74028 21 10.3866 20.5978 10.7324 20H11.9585C14.1676 20 15.9585 18.2091 15.9585 16V14.7324C16.5563 14.3866 16.9585 13.7403 16.9585 13C16.9585 11.8954 16.0631 11 14.9585 11C13.8539 11 12.9585 11.8954 12.9585 13C12.9585 13.7403 13.3607 14.3866 13.9585 14.7324V16C13.9585 17.1046 13.0631 18 11.9585 18H10.7324C10.5568 17.6964 10.3036 17.4432 10 17.2676V6.73244C10.5978 6.38663 11 5.74028 11 5C11 3.89543 10.1046 3 9 3Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgGitCommit (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M11 4C11 3.44772 11.4477 3 12 3C12.5523 3 13 3.44772 13 4V9.17071C14.1652 9.58254 15 10.6938 15 12C15 13.3062 14.1652 14.4175 13 14.8293V20C13 20.5523 12.5523 21 12 21C11.4477 21 11 20.5523 11 20V14.8293C9.83481 14.4175 9 13.3062 9 12C9 10.6938 9.83481 9.58254 11 9.17071V4ZM12 13C12.5523 13 13 12.5523 13 12C13 11.4477 12.5523 11 12 11C11.4477 11 11 11.4477 11 12C11 12.5523 11.4477 13 12 13Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgGitFork (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 5C7 3.89543 7.89543 3 9 3C10.1046 3 11 3.89543 11 5C11 5.74028 10.5978 6.38663 10 6.73244V14.0396H11.7915C12.8961 14.0396 13.7915 13.1441 13.7915 12.0396V10.7838C13.1823 10.4411 12.7708 9.78837 12.7708 9.03955C12.7708 7.93498 13.6662 7.03955 14.7708 7.03955C15.8753 7.03955 16.7708 7.93498 16.7708 9.03955C16.7708 9.77123 16.3778 10.4111 15.7915 10.7598V12.0396C15.7915 14.2487 14.0006 16.0396 11.7915 16.0396H10V17.2676C10.5978 17.6134 11 18.2597 11 19C11 20.1046 10.1046 21 9 21C7.89543 21 7 20.1046 7 19C7 18.2597 7.4022 17.6134 8 17.2676V6.73244C7.4022 6.38663 7 5.74028 7 5Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgGitPull (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 5C7 3.89543 7.89543 3 9 3C10.1046 3 11 3.89543 11 5C11 5.34168 10.9143 5.66336 10.7633 5.9447H11.3438C13.5529 5.9447 15.3438 7.73556 15.3438 9.9447V11.2244C15.9301 11.5731 16.323 12.213 16.323 12.9447C16.323 14.0493 15.4276 14.9447 14.323 14.9447C13.2184 14.9447 12.323 14.0493 12.323 12.9447C12.323 12.1959 12.7345 11.5432 13.3438 11.2004V9.9447C13.3438 8.84013 12.4483 7.9447 11.3438 7.9447H10V17.2676C10.5978 17.6134 11 18.2597 11 19C11 20.1046 10.1046 21 9 21C7.89543 21 7 20.1046 7 19C7 18.2597 7.4022 17.6134 8 17.2676V6.73244C7.4022 6.38663 7 5.74028 7 5Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgGitter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 1.5H7V14.5H5V1.5Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 4.5H11V22.5H9V4.5Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 4.5H13V22.5H15V4.5Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 4.5H19V14.5H17V4.5Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgGlassAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M5 2H19L17.3602 18.398C17.1557 20.4428 15.4351 22 13.38 22H10.62C8.56494 22 6.84428 20.4428 6.6398 18.398L5 2ZM7.50998 7L7.20998 4H16.79L16.49 7H7.50998ZM7.70998 9L8.62988 18.199C8.73212 19.2214 9.59245 20 10.62 20H13.38C14.4076 20 15.2679 19.2214 15.3701 18.199L16.29 9H7.70998Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgGlass (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M17 10C17 12.419 15.2822 14.4367 13 14.9V17H15V19H9V17H11V14.9C8.71776 14.4367 7 12.419 7 10V5H17V10ZM15 7H9V10C9 11.6569 10.3431 13 12 13C13.6569 13 15 11.6569 15 10V7Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgGlobeAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M12 21C16.9706 21 21 16.9706 21 12C21 7.02944 16.9706 3 12 3C7.02944 3 3 7.02944 3 12C3 16.9706 7.02944 21 12 21ZM14.8055 18.4151C17.1228 17.4003 18.7847 15.1667 18.9806 12.525C18.1577 12.9738 17.12 13.3418 15.9371 13.598C15.7882 15.4676 15.3827 17.1371 14.8055 18.4151ZM9.1945 5.58487C7.24725 6.43766 5.76275 8.15106 5.22208 10.244C5.4537 10.4638 5.84813 10.7341 6.44832 11.0008C6.89715 11.2003 7.42053 11.3798 8.00537 11.5297C8.05853 9.20582 8.50349 7.11489 9.1945 5.58487ZM10.1006 13.9108C10.2573 15.3675 10.5852 16.6202 10.9992 17.5517C11.2932 18.2133 11.5916 18.6248 11.8218 18.8439C11.9037 18.9219 11.9629 18.9634 12 18.9848C12.0371 18.9634 12.0963 18.9219 12.1782 18.8439C12.4084 18.6248 12.7068 18.2133 13.0008 17.5517C13.4148 16.6202 13.7427 15.3675 13.8994 13.9108C13.2871 13.9692 12.6516 14 12 14C11.3484 14 10.7129 13.9692 10.1006 13.9108ZM8.06286 13.598C8.21176 15.4676 8.61729 17.1371 9.1945 18.4151C6.8772 17.4003 5.21525 15.1666 5.01939 12.525C5.84231 12.9738 6.88001 13.3418 8.06286 13.598ZM13.9997 11.8896C13.369 11.9609 12.6993 12 12 12C11.3008 12 10.631 11.9609 10.0003 11.8896C10.0135 9.66408 10.4229 7.74504 10.9992 6.44832C11.2932 5.78673 11.5916 5.37516 11.8218 5.15605C11.9037 5.07812 11.9629 5.03659 12 5.01516C12.0371 5.03659 12.0963 5.07812 12.1782 5.15605C12.4084 5.37516 12.7068 5.78673 13.0008 6.44832C13.5771 7.74504 13.9865 9.66408 13.9997 11.8896ZM15.9946 11.5297C15.9415 9.20582 15.4965 7.11489 14.8055 5.58487C16.7528 6.43766 18.2373 8.15107 18.7779 10.244C18.5463 10.4638 18.1519 10.7341 17.5517 11.0008C17.1029 11.2003 16.5795 11.3798 15.9946 11.5297Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgGlobe (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M6.85327 8C6.85327 5.23858 9.09185 3 11.8533 3C14.6147 3 16.8533 5.23858 16.8533 8C16.8533 10.7614 14.6147 13 11.8533 13C9.09185 13 6.85327 10.7614 6.85327 8ZM11.8533 11C10.1964 11 8.85327 9.65685 8.85327 8C8.85327 6.34315 10.1964 5 11.8533 5C13.5101 5 14.8533 6.34315 14.8533 8C14.8533 9.65685 13.5101 11 11.8533 11Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 12.1294C6.25216 14.2031 8.4189 15.6624 10.9414 15.9486V18H8.85327V20H14.8533V18H12.9414V15.9266C16.8449 15.3958 19.8532 12.0492 19.8532 8.00001C19.8532 6.43638 19.4046 4.97752 18.6291 3.74512L16.9253 4.79326C17.513 5.72084 17.8532 6.82069 17.8532 8.00001C17.8532 11.3137 15.167 14 11.8532 14C9.66611 14 7.75231 12.8298 6.70381 11.0813L5 12.1294Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgGoogleTasks (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16.7679 5.71447C17.4779 4.86832 18.7394 4.75795 19.5856 5.46796C20.4317 6.17796 20.5421 7.43947 19.8321 8.28562L10.833 19.0102C10.123 19.8564 8.86153 19.9668 8.01538 19.2568C7.16923 18.5468 7.05886 17.2852 7.76886 16.4391L16.7679 5.71447Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 12.7396C3 11.6351 3.89543 10.7396 5 10.7396C6.10457 10.7396 7 11.6351 7 12.7396C7 13.8442 6.10457 14.7396 5 14.7396C3.89543 14.7396 3 13.8442 3 12.7396Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgGoogle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 12C6 15.3137 8.68629 18 12 18C14.6124 18 16.8349 16.3304 17.6586 14H12V10H21.8047V14H21.8C20.8734 18.5645 16.8379 22 12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C15.445 2 18.4831 3.742 20.2815 6.39318L17.0039 8.68815C15.9296 7.06812 14.0895 6 12 6C8.68629 6 6 8.68629 6 12Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgGym (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20.2739 9.86883L16.8325 4.95392L18.4708 3.80676L21.9122 8.72167L20.2739 9.86883Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18.3901 12.4086L16.6694 9.95121L8.47783 15.687L10.1985 18.1444L8.56023 19.2916L3.97162 12.7383L5.60992 11.5912L7.33068 14.0487L15.5222 8.31291L13.8015 5.8554L15.4398 4.70825L20.0284 11.2615L18.3901 12.4086Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20.7651 7.08331L22.4034 5.93616L21.2562 4.29785L19.6179 5.445L20.7651 7.08331Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.16753 19.046L3.72607 14.131L2.08777 15.2782L5.52923 20.1931L7.16753 19.046Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.38208 18.5549L2.74377 19.702L1.59662 18.0637L3.23492 16.9166L4.38208 18.5549Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgHashtag (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M8 4V8H4V10H8V14H4V16H8V20H10V16H14V20H16V16H20V14H16V10H20V8H16V4H14V8H10V4H8ZM14 14V10H10V14H14Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgHeadset (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M17 21C15.8954 21 15 20.1046 15 19V15C15 13.8954 15.8954 13 17 13H19V12C19 8.13401 15.866 5 12 5C8.13401 5 5 8.13401 5 12V13H7C8.10457 13 9 13.8954 9 15V19C9 20.1046 8.10457 21 7 21H3V12C3 7.02944 7.02944 3 12 3C16.9706 3 21 7.02944 21 12V21H17ZM19 15H17V19H19V15ZM7 15H5V19H7V15Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgHeart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M12.0122 5.57169L10.9252 4.48469C8.77734 2.33681 5.29493 2.33681 3.14705 4.48469C0.999162 6.63258 0.999162 10.115 3.14705 12.2629L11.9859 21.1017L11.9877 21.0999L12.014 21.1262L20.8528 12.2874C23.0007 10.1395 23.0007 6.65711 20.8528 4.50923C18.705 2.36134 15.2226 2.36134 13.0747 4.50923L12.0122 5.57169ZM11.9877 18.2715L16.9239 13.3352L18.3747 11.9342L18.3762 11.9356L19.4386 10.8732C20.8055 9.50635 20.8055 7.29028 19.4386 5.92344C18.0718 4.55661 15.8557 4.55661 14.4889 5.92344L12.0133 8.39904L12.006 8.3918L12.005 8.39287L9.51101 5.89891C8.14417 4.53207 5.92809 4.53207 4.56126 5.89891C3.19442 7.26574 3.19442 9.48182 4.56126 10.8487L7.10068 13.3881L7.10248 13.3863L11.9877 18.2715Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgHello (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17.5 12C17.5 13.576 16.8371 14.9972 15.7749 16C14.7899 16.9299 13.4615 17.5 12 17.5C10.5385 17.5 9.21007 16.9299 8.22506 16C7.16289 14.9972 6.5 13.576 6.5 12H17.5Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M1 7C1 3.68629 3.68629 1 7 1H17C20.3137 1 23 3.68629 23 7V17C23 20.3137 20.3137 23 17 23H1V7ZM3.75 12C3.75 7.44365 7.44365 3.75 12 3.75C16.5563 3.75 20.25 7.44365 20.25 12C20.25 16.5563 16.5563 20.25 12 20.25C7.44365 20.25 3.75 16.5563 3.75 12Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgHomeAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M6 22.8787C4.34315 22.8787 3 21.5355 3 19.8787V9.87866C3 9.84477 3.00169 9.81126 3.00498 9.77823H3C3 9.20227 3.2288 8.64989 3.63607 8.24262L9.87868 2.00002C11.0502 0.828445 12.9497 0.828445 14.1213 2.00002L20.3639 8.24264C20.7712 8.6499 21 9.20227 21 9.77823H20.995C20.9983 9.81126 21 9.84477 21 9.87866V19.8787C21 21.5355 19.6569 22.8787 18 22.8787H6ZM12.7071 3.41423L19 9.70713V19.8787C19 20.4309 18.5523 20.8787 18 20.8787H15V15.8787C15 14.2218 13.6569 12.8787 12 12.8787C10.3431 12.8787 9 14.2218 9 15.8787V20.8787H6C5.44772 20.8787 5 20.4309 5 19.8787V9.7072L11.2929 3.41423C11.6834 3.02371 12.3166 3.02371 12.7071 3.41423Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgHomeScreen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 5C10 5.55228 9.55228 6 9 6C8.44771 6 8 5.55228 8 5C8 4.44772 8.44771 4 9 4C9.55228 4 10 4.44772 10 5Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 9C9.55228 9 10 8.55228 10 8C10 7.44772 9.55228 7 9 7C8.44771 7 8 7.44772 8 8C8 8.55228 8.44771 9 9 9Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 19C10 19.5523 9.55228 20 9 20C8.44771 20 8 19.5523 8 19C8 18.4477 8.44771 18 9 18C9.55228 18 10 18.4477 10 19Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 12C9.55228 12 10 11.5523 10 11C10 10.4477 9.55228 10 9 10C8.44771 10 8 10.4477 8 11C8 11.5523 8.44771 12 9 12Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 5C13 5.55228 12.5523 6 12 6C11.4477 6 11 5.55228 11 5C11 4.44772 11.4477 4 12 4C12.5523 4 13 4.44772 13 5Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 9C12.5523 9 13 8.55228 13 8C13 7.44772 12.5523 7 12 7C11.4477 7 11 7.44772 11 8C11 8.55228 11.4477 9 12 9Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 19C13 19.5523 12.5523 20 12 20C11.4477 20 11 19.5523 11 19C11 18.4477 11.4477 18 12 18C12.5523 18 13 18.4477 13 19Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 6C15.5523 6 16 5.55228 16 5C16 4.44772 15.5523 4 15 4C14.4477 4 14 4.44772 14 5C14 5.55228 14.4477 6 15 6Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 8C16 8.55228 15.5523 9 15 9C14.4477 9 14 8.55228 14 8C14 7.44772 14.4477 7 15 7C15.5523 7 16 7.44772 16 8Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 20C15.5523 20 16 19.5523 16 19C16 18.4477 15.5523 18 15 18C14.4477 18 14 18.4477 14 19C14 19.5523 14.4477 20 15 20Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M8 1C6.34315 1 5 2.34315 5 4V20C5 21.6569 6.34315 23 8 23H16C17.6569 23 19 21.6569 19 20V4C19 2.34315 17.6569 1 16 1H8ZM16 3H8C7.44771 3 7 3.44772 7 4V20C7 20.5523 7.44772 21 8 21H16C16.5523 21 17 20.5523 17 20V4C17 3.44772 16.5523 3 16 3Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgHome (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M21 8.77217L14.0208 1.79299C12.8492 0.621414 10.9497 0.621413 9.77817 1.79299L3 8.57116V23.0858H10V17.0858C10 15.9812 10.8954 15.0858 12 15.0858C13.1046 15.0858 14 15.9812 14 17.0858V23.0858H21V8.77217ZM11.1924 3.2072L5 9.39959V21.0858H8V17.0858C8 14.8767 9.79086 13.0858 12 13.0858C14.2091 13.0858 16 14.8767 16 17.0858V21.0858H19V9.6006L12.6066 3.2072C12.2161 2.81668 11.5829 2.81668 11.1924 3.2072Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgIcecream (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M15 17H19V8C19 4.13401 15.866 1 12 1C8.13401 1 5 4.13401 5 8V17H9V20C9 21.6569 10.3431 23 12 23C13.6569 23 15 21.6569 15 20V17ZM17 15V8C17 5.23858 14.7614 3 12 3C9.23858 3 7 5.23858 7 8V15H11V20C11 20.5523 11.4477 21 12 21C12.5523 21 13 20.5523 13 20V15H17Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgIfDesign (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 5H14V19H10V5Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 19V10H9V19H5Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 5C5.89543 5 5 5.89543 5 7C5 8.10457 5.89543 9 7 9C8.10457 9 9 8.10457 9 7C9 5.89543 8.10457 5 7 5Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 5H19V9H15V5Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 10H15V14H19V10Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgImage (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M7 7C5.34315 7 4 8.34315 4 10C4 11.6569 5.34315 13 7 13C8.65685 13 10 11.6569 10 10C10 8.34315 8.65685 7 7 7ZM6 10C6 9.44772 6.44772 9 7 9C7.55228 9 8 9.44772 8 10C8 10.5523 7.55228 11 7 11C6.44772 11 6 10.5523 6 10Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M3 3C1.34315 3 0 4.34315 0 6V18C0 19.6569 1.34315 21 3 21H21C22.6569 21 24 19.6569 24 18V6C24 4.34315 22.6569 3 21 3H3ZM21 5H3C2.44772 5 2 5.44772 2 6V18C2 18.5523 2.44772 19 3 19H7.31374L14.1924 12.1214C15.364 10.9498 17.2635 10.9498 18.435 12.1214L22 15.6863V6C22 5.44772 21.5523 5 21 5ZM21 19H10.1422L15.6066 13.5356C15.9971 13.145 16.6303 13.145 17.0208 13.5356L21.907 18.4217C21.7479 18.7633 21.4016 19 21 19Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgImport (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 9.98193V19.9819H19V9.98193H15V7.98193H21V21.9819H3V7.98193H9V9.98193H5Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13.0001 2H11.0001V14.0531L8.46451 11.5175L7.05029 12.9317L12 17.8815L16.9498 12.9317L15.5356 11.5175L13.0001 14.053V2Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgInbox (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M2 5C2 3.34315 3.34315 2 5 2H19C20.6569 2 22 3.34315 22 5V20C22 21.1046 21.1046 22 20 22H8.1477C8.09893 22.0036 8.04968 22.0054 8 22.0054H4C2.89543 22.0054 2 21.1099 2 20.0054V5ZM5 4H19C19.5523 4 20 4.44771 20 5V14H16C14.8954 14 14 14.8954 14 16V17H10V16.0054C10 14.9008 9.10457 14.0054 8 14.0054H4V5C4 4.44772 4.44771 4 5 4Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgIndieHackers (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 6H7V18H4V6Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 6H13V10.5H17V6H20V18H17V13.5H13V18H10V6Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgInfinity (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.12132 9.87868L10.2044 11.9617L10.2106 11.9555L11.6631 13.408L11.6693 13.4142L13.7907 15.5355C15.7433 17.4882 18.9091 17.4882 20.8617 15.5355C22.8144 13.5829 22.8144 10.4171 20.8617 8.46447C18.9091 6.51184 15.7433 6.51184 13.7907 8.46447L13.0773 9.17786L14.4915 10.5921L15.2049 9.87868C16.3764 8.70711 18.2759 8.70711 19.4475 9.87868C20.6191 11.0503 20.6191 12.9497 19.4475 14.1213C18.2759 15.2929 16.3764 15.2929 15.2049 14.1213L13.1326 12.0491L13.1263 12.0554L9.53553 8.46447C7.58291 6.51184 4.41709 6.51184 2.46447 8.46447C0.511845 10.4171 0.511845 13.5829 2.46447 15.5355C4.41709 17.4882 7.58291 17.4882 9.53553 15.5355L10.2488 14.8222L8.83463 13.408L8.12132 14.1213C6.94975 15.2929 5.05025 15.2929 3.87868 14.1213C2.70711 12.9497 2.70711 11.0503 3.87868 9.87868C5.05025 8.70711 6.94975 8.70711 8.12132 9.87868Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgInfo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 10.9794C11 10.4271 11.4477 9.97937 12 9.97937C12.5523 9.97937 13 10.4271 13 10.9794V16.9794C13 17.5317 12.5523 17.9794 12 17.9794C11.4477 17.9794 11 17.5317 11 16.9794V10.9794Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 6.05115C11.4477 6.05115 11 6.49886 11 7.05115C11 7.60343 11.4477 8.05115 12 8.05115C12.5523 8.05115 13 7.60343 13 7.05115C13 6.49886 12.5523 6.05115 12 6.05115Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2ZM4 12C4 16.4183 7.58172 20 12 20C16.4183 20 20 16.4183 20 12C20 7.58172 16.4183 4 12 4C7.58172 4 4 7.58172 4 12Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgInpicture (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 12H14V17H20V12Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M1 6C1 4.89543 1.89543 4 3 4H21C22.1046 4 23 4.89543 23 6V18C23 19.1046 22.1046 20 21 20H3C1.89543 20 1 19.1046 1 18V6ZM3 6H21V18H3L3 6Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgInsertAfterO (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 8C8.44772 8 8 8.44772 8 9C8 9.55229 8.44772 10 9 10H11V12C11 12.5523 11.4477 13 12 13C12.5523 13 13 12.5523 13 12V10H15C15.5523 10 16 9.55229 16 9C16 8.44772 15.5523 8 15 8H13V6C13 5.44772 12.5523 5 12 5C11.4477 5 11 5.44772 11 6V8H9Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M4 9C4 4.58172 7.58172 1 12 1C16.4183 1 20 4.58172 20 9C20 13.4183 16.4183 17 12 17C7.58172 17 4 13.4183 4 9ZM12 15C8.68629 15 6 12.3137 6 9C6 5.68629 8.68629 3 12 3C15.3137 3 18 5.68629 18 9C18 12.3137 15.3137 15 12 15Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 20C4.44772 20 4 20.4477 4 21C4 21.5523 4.44772 22 5 22H19C19.5523 22 20 21.5523 20 21C20 20.4477 19.5523 20 19 20H5Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgInsertAfterR (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 8C8.44772 8 8 8.44772 8 9C8 9.55229 8.44772 10 9 10H11V12C11 12.5523 11.4477 13 12 13C12.5523 13 13 12.5523 13 12V10H15C15.5523 10 16 9.55229 16 9C16 8.44772 15.5523 8 15 8H13V6C13 5.44772 12.5523 5 12 5C11.4477 5 11 5.44772 11 6V8H9Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M4 4C4 2.34315 5.34315 1 7 1H17C18.6569 1 20 2.34315 20 4V14C20 15.6569 18.6569 17 17 17H7C5.34315 17 4 15.6569 4 14V4ZM7 3H17C17.5523 3 18 3.44772 18 4V14C18 14.5523 17.5523 15 17 15H7C6.44772 15 6 14.5523 6 14V4C6 3.44772 6.44772 3 7 3Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 20C4.44772 20 4 20.4477 4 21C4 21.5523 4.44772 22 5 22H19C19.5523 22 20 21.5523 20 21C20 20.4477 19.5523 20 19 20H5Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgInsertAfter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 4C12.5523 4 13 4.44772 13 5V8H16C16.5523 8 17 8.44772 17 9C17 9.55228 16.5523 10 16 10H13V13C13 13.5523 12.5523 14 12 14C11.4477 14 11 13.5523 11 13V10H8C7.44772 10 7 9.55228 7 9C7 8.44772 7.44772 8 8 8H11V5C11 4.44772 11.4477 4 12 4Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 19C3 18.4477 3.44772 18 4 18H20C20.5523 18 21 18.4477 21 19C21 19.5523 20.5523 20 20 20H4C3.44772 20 3 19.5523 3 19Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgInsertBeforeO (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 3C4.44772 3 4 2.55228 4 2C4 1.44772 4.44772 1 5 1H19C19.5523 1 20 1.44772 20 2C20 2.55228 19.5523 3 19 3H5Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 15C8.44772 15 8 14.5523 8 14C8 13.4477 8.44772 13 9 13H11V11C11 10.4477 11.4477 10 12 10C12.5523 10 13 10.4477 13 11V13H15C15.5523 13 16 13.4477 16 14C16 14.5523 15.5523 15 15 15H13V17C13 17.5523 12.5523 18 12 18C11.4477 18 11 17.5523 11 17V15H9Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M4 14C4 18.4183 7.58172 22 12 22C16.4183 22 20 18.4183 20 14C20 9.58172 16.4183 6 12 6C7.58172 6 4 9.58172 4 14ZM12 8C8.68629 8 6 10.6863 6 14C6 17.3137 8.68629 20 12 20C15.3137 20 18 17.3137 18 14C18 10.6863 15.3137 8 12 8Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgInsertBeforeR (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 3C4.44772 3 4 2.55228 4 2C4 1.44772 4.44772 1 5 1H19C19.5523 1 20 1.44772 20 2C20 2.55228 19.5523 3 19 3H5Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 15C8.44772 15 8 14.5523 8 14C8 13.4477 8.44772 13 9 13H11V11C11 10.4477 11.4477 10 12 10C12.5523 10 13 10.4477 13 11V13H15C15.5523 13 16 13.4477 16 14C16 14.5523 15.5523 15 15 15H13V17C13 17.5523 12.5523 18 12 18C11.4477 18 11 17.5523 11 17V15H9Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M4 19C4 20.6569 5.34315 22 7 22H17C18.6569 22 20 20.6569 20 19V9C20 7.34315 18.6569 6 17 6H7C5.34315 6 4 7.34315 4 9V19ZM17 20C17.5523 20 18 19.5523 18 19V9C18 8.44772 17.5523 8 17 8H7C6.44772 8 6 8.44772 6 9V19C6 19.5523 6.44772 20 7 20H17Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgInsertBefore (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 5C3 5.55228 3.44772 6 4 6H20C20.5523 6 21 5.55228 21 5C21 4.44772 20.5523 4 20 4H4C3.44772 4 3 4.44772 3 5Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 20C12.5523 20 13 19.5523 13 19V16H16C16.5523 16 17 15.5523 17 15C17 14.4477 16.5523 14 16 14H13V11C13 10.4477 12.5523 10 12 10C11.4477 10 11 10.4477 11 11V14H8C7.44772 14 7 14.4477 7 15C7 15.5523 7.44772 16 8 16H11V19C11 19.5523 11.4477 20 12 20Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgInsights (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M15 8H19V20H5V10H9V4H15V8ZM13 6H11V18H13V6ZM15 10V18H17V10H15ZM9 12V18H7V12H9Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgInstagram (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M12 7C9.23858 7 7 9.23858 7 12C7 14.7614 9.23858 17 12 17C14.7614 17 17 14.7614 17 12C17 9.23858 14.7614 7 12 7ZM9 12C9 13.6569 10.3431 15 12 15C13.6569 15 15 13.6569 15 12C15 10.3431 13.6569 9 12 9C10.3431 9 9 10.3431 9 12Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 5C17.4477 5 17 5.44772 17 6C17 6.55228 17.4477 7 18 7C18.5523 7 19 6.55228 19 6C19 5.44772 18.5523 5 18 5Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M5 1C2.79086 1 1 2.79086 1 5V19C1 21.2091 2.79086 23 5 23H19C21.2091 23 23 21.2091 23 19V5C23 2.79086 21.2091 1 19 1H5ZM19 3H5C3.89543 3 3 3.89543 3 5V19C3 20.1046 3.89543 21 5 21H19C20.1046 21 21 20.1046 21 19V5C21 3.89543 20.1046 3 19 3Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgInternal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20.7084 4.41165L10.4586 14.6986H14.0488V16.6986H7.04883V9.69861H9.04883V13.2799L19.2916 3L20.7084 4.41165Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 4.70581V6.70581H5V18.7058H17V12.7058H19V20.7058H3V4.70581H11Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgKey (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M6 8C4.34315 8 3 9.34315 3 11V13C3 14.6569 4.34315 16 6 16C7.65685 16 9 14.6569 9 13H15V15H17V13H18V15H20V11H9C9 9.34315 7.65685 8 6 8ZM7 13V11C7 10.4477 6.55228 10 6 10C5.44772 10 5 10.4477 5 11V13C5 13.5523 5.44772 14 6 14C6.55228 14 7 13.5523 7 13Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgKeyboard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 9C8.55228 9 9 8.55228 9 8C9 7.44772 8.55228 7 8 7C7.44772 7 7 7.44772 7 8C7 8.55228 7.44772 9 8 9Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 15C8.44772 15 8 15.4477 8 16C8 16.5523 8.44772 17 9 17H15C15.5523 17 16 16.5523 16 16C16 15.4477 15.5523 15 15 15H9Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 12C9 12.5523 8.55228 13 8 13C7.44772 13 7 12.5523 7 12C7 11.4477 7.44772 11 8 11C8.55228 11 9 11.4477 9 12Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 9C12.5523 9 13 8.55228 13 8C13 7.44772 12.5523 7 12 7C11.4477 7 11 7.44772 11 8C11 8.55228 11.4477 9 12 9Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 12C13 12.5523 12.5523 13 12 13C11.4477 13 11 12.5523 11 12C11 11.4477 11.4477 11 12 11C12.5523 11 13 11.4477 13 12Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 9C16.5523 9 17 8.55228 17 8C17 7.44772 16.5523 7 16 7C15.4477 7 15 7.44772 15 8C15 8.55228 15.4477 9 16 9Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 12C17 12.5523 16.5523 13 16 13C15.4477 13 15 12.5523 15 12C15 11.4477 15.4477 11 16 11C16.5523 11 17 11.4477 17 12Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M3 6C3 4.34315 4.34315 3 6 3H18C19.6569 3 21 4.34315 21 6V18C21 19.6569 19.6569 21 18 21H6C4.34315 21 3 19.6569 3 18V6ZM6 5H18C18.5523 5 19 5.44772 19 6V18C19 18.5523 18.5523 19 18 19H6C5.44772 19 5 18.5523 5 18V6C5 5.44772 5.44772 5 6 5Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgKeyhole (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M13 12.8293C14.1652 12.4175 15 11.3062 15 10C15 8.34315 13.6569 7 12 7C10.3431 7 9 8.34315 9 10C9 11.3062 9.83481 12.4175 11 12.8293V16C11 16.5523 11.4477 17 12 17C12.5523 17 13 16.5523 13 16V12.8293ZM11 10C11 10.5523 11.4477 11 12 11C12.5523 11 13 10.5523 13 10C13 9.44772 12.5523 9 12 9C11.4477 9 11 9.44772 11 10Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2ZM4 12C4 16.4183 7.58172 20 12 20C16.4183 20 20 16.4183 20 12C20 7.58172 16.4183 4 12 4C7.58172 4 4 7.58172 4 12Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgLaptop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M3 6C3 4.89543 3.89543 4 5 4H19C20.1046 4 21 4.89543 21 6V14C21 15.1046 20.1046 16 19 16H5C3.89543 16 3 15.1046 3 14V6ZM5 6H19V14H5V6Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 18C1.44772 18 1 18.4477 1 19C1 19.5523 1.44772 20 2 20H22C22.5523 20 23 19.5523 23 19C23 18.4477 22.5523 18 22 18H2Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgLastpass (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21 6C20.4477 6 20 6.44771 20 7V17C20 17.5523 20.4477 18 21 18C21.5523 18 22 17.5523 22 17V7C22 6.44772 21.5523 6 21 6Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 14C5.10457 14 6 13.1046 6 12C6 10.8954 5.10457 10 4 10C2.89543 10 2 10.8954 2 12C2 13.1046 2.89543 14 4 14Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 12C12 13.1046 11.1046 14 10 14C8.89543 14 8 13.1046 8 12C8 10.8954 8.89543 10 10 10C11.1046 10 12 10.8954 12 12Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 14C17.1046 14 18 13.1046 18 12C18 10.8954 17.1046 10 16 10C14.8954 10 14 10.8954 14 12C14 13.1046 14.8954 14 16 14Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgLayoutGridSmall (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 7H9V9H7V7Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 7H13V9H11V7Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 7H15V9H17V7Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 11H9V13H7V11Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 11H11V13H13V11Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 11H17V13H15V11Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 15H7V17H9V15Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 15H13V17H11V15Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 15H15V17H17V15Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgLayoutGrid (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 7H7V11H11V7Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 13H7V17H11V13Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 13H17V17H13V13Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 7H13V11H17V7Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgLayoutList (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 7H7V9H9V7Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 13V11H9V13H7Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 15V17H9V15H7Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 15V17H17V15H11Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 13V11H11V13H17Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 7V9H11V7H17Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgLayoutPin (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M16.9307 4.01587H14.7655C14.3582 2.84239 13.2428 2 11.9307 2C10.6185 2 9.50313 2.84239 9.09581 4.01587H6.93066C5.27381 4.01587 3.93066 5.35901 3.93066 7.01587V9.21205C2.80183 9.64283 2 10.7357 2 12.0159C2 13.296 2.80183 14.3889 3.93066 14.8197V17.0159C3.93066 18.6727 5.27381 20.0159 6.93066 20.0159H9.08467C9.48247 21.2064 10.6064 22.0645 11.9307 22.0645C13.255 22.0645 14.3789 21.2064 14.7767 20.0159H16.9307C18.5875 20.0159 19.9307 18.6727 19.9307 17.0159V14.8446C21.095 14.4322 21.929 13.3214 21.929 12.0159C21.929 10.7103 21.095 9.5995 19.9307 9.18718V7.01587C19.9307 5.35901 18.5875 4.01587 16.9307 4.01587ZM5.93066 14.8687V17.0159C5.93066 17.5682 6.37838 18.0159 6.93066 18.0159H9.11902C9.54426 16.8761 10.6427 16.0645 11.9307 16.0645C13.2187 16.0645 14.3171 16.8761 14.7423 18.0159H16.9307C17.4829 18.0159 17.9307 17.5682 17.9307 17.0159V14.8458C16.7646 14.4344 15.929 13.3227 15.929 12.0159C15.929 10.709 16.7646 9.59732 17.9307 9.18597V7.01587C17.9307 6.46358 17.4829 6.01587 16.9307 6.01587H14.7543C14.338 7.17276 13.2309 8 11.9307 8C10.6304 8 9.52331 7.17276 9.10703 6.01587H6.93066C6.37838 6.01587 5.93066 6.46358 5.93066 7.01587V9.16302C7.13193 9.55465 8 10.6839 8 12.0159C8 13.3479 7.13193 14.4771 5.93066 14.8687Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgLinear (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.03509 12.9431C3.24245 14.9227 4.10472 16.8468 5.62188 18.364C7.13904 19.8811 9.0631 20.7434 11.0428 20.9508L3.03509 12.9431Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 11.4938L12.4921 20.9858C13.2976 20.9407 14.0981 20.7879 14.8704 20.5273L3.4585 9.11548C3.19793 9.88771 3.0451 10.6883 3 11.4938Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.86722 8.10999L15.8758 20.1186C16.4988 19.8201 17.0946 19.4458 17.6493 18.9956L4.99021 6.33659C4.54006 6.89125 4.16573 7.487 3.86722 8.10999Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.66301 5.59517C9.18091 2.12137 14.8488 2.135 18.3498 5.63604C21.8508 9.13708 21.8645 14.8049 18.3907 18.3228L5.66301 5.59517Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgLink (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.8284 12L16.2426 13.4142L19.071 10.5858C20.6331 9.02365 20.6331 6.49099 19.071 4.9289C17.509 3.3668 14.9763 3.3668 13.4142 4.9289L10.5858 7.75732L12 9.17154L14.8284 6.34311C15.6095 5.56206 16.8758 5.56206 17.6568 6.34311C18.4379 7.12416 18.4379 8.39049 17.6568 9.17154L14.8284 12Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 14.8285L13.4142 16.2427L10.5858 19.0711C9.02372 20.6332 6.49106 20.6332 4.92896 19.0711C3.36686 17.509 3.36686 14.9764 4.92896 13.4143L7.75739 10.5858L9.1716 12L6.34317 14.8285C5.56212 15.6095 5.56212 16.8758 6.34317 17.6569C7.12422 18.4379 8.39055 18.4379 9.1716 17.6569L12 14.8285Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.8285 10.5857C15.219 10.1952 15.219 9.56199 14.8285 9.17147C14.4379 8.78094 13.8048 8.78094 13.4142 9.17147L9.1716 13.4141C8.78107 13.8046 8.78107 14.4378 9.1716 14.8283C9.56212 15.2188 10.1953 15.2188 10.5858 14.8283L14.8285 10.5857Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgListTree (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M9 1H1V9H9V6H11V20H15V23H23V15H15V18H13V6H15V9H23V1H15V4H9V1ZM21 3H17V7H21V3ZM17 17H21V21H17V17Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgList (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M20 4H4C3.44771 4 3 4.44772 3 5V19C3 19.5523 3.44772 20 4 20H20C20.5523 20 21 19.5523 21 19V5C21 4.44771 20.5523 4 20 4ZM4 2C2.34315 2 1 3.34315 1 5V19C1 20.6569 2.34315 22 4 22H20C21.6569 22 23 20.6569 23 19V5C23 3.34315 21.6569 2 20 2H4ZM6 7H8V9H6V7ZM11 7C10.4477 7 10 7.44772 10 8C10 8.55228 10.4477 9 11 9H17C17.5523 9 18 8.55228 18 8C18 7.44772 17.5523 7 17 7H11ZM8 11H6V13H8V11ZM10 12C10 11.4477 10.4477 11 11 11H17C17.5523 11 18 11.4477 18 12C18 12.5523 17.5523 13 17 13H11C10.4477 13 10 12.5523 10 12ZM8 15H6V17H8V15ZM10 16C10 15.4477 10.4477 15 11 15H17C17.5523 15 18 15.4477 18 16C18 16.5523 17.5523 17 17 17H11C10.4477 17 10 16.5523 10 16Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgLivePhoto (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.9805 21.9525C12.6579 21.9839 12.3308 22 12 22C11.6692 22 11.3421 21.9839 11.0194 21.9525L11.2132 19.9619C11.4715 19.9871 11.7339 20 12 20C12.2661 20 12.5285 19.9871 12.7868 19.9619L12.9805 21.9525Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.09617 21.5719L9.67608 19.6578C9.17124 19.5048 8.68725 19.3031 8.22951 19.058L7.28519 20.821C7.8578 21.1277 8.46374 21.3803 9.09617 21.5719Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5.65597 19.7304L6.92562 18.1851C6.5202 17.852 6.14801 17.4798 5.81491 17.0744L4.2696 18.344C4.68539 18.8501 5.1499 19.3146 5.65597 19.7304Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.17901 16.7148L4.94204 15.7705C4.69686 15.3127 4.49516 14.8288 4.34221 14.3239L2.42813 14.9038C2.61974 15.5363 2.87231 16.1422 3.17901 16.7148Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.04746 12.9805L4.03806 12.7868C4.01292 12.5285 4 12.2661 4 12C4 11.7339 4.01292 11.4715 4.03806 11.2132L2.04746 11.0195C2.01607 11.3421 2 11.6692 2 12C2 12.3308 2.01607 12.6579 2.04746 12.9805Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.42813 9.09617L4.34221 9.67608C4.49517 9.17124 4.69686 8.68725 4.94204 8.22951L3.17901 7.28519C2.87231 7.8578 2.61974 8.46374 2.42813 9.09617Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4.2696 5.65597L5.81491 6.92562C6.14801 6.5202 6.5202 6.14801 6.92562 5.81491L5.65597 4.2696C5.14991 4.68539 4.68539 5.1499 4.2696 5.65597Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.2852 3.17901L8.22951 4.94204C8.68726 4.69686 9.17124 4.49516 9.67608 4.34221L9.09617 2.42813C8.46374 2.61974 7.8578 2.87231 7.2852 3.17901Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.0195 2.04746C11.3421 2.01607 11.6692 2 12 2C12.3308 2 12.6579 2.01607 12.9805 2.04746L12.7868 4.03806C12.5285 4.01292 12.2661 4 12 4C11.7339 4 11.4715 4.01292 11.2132 4.03806L11.0195 2.04746Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.9038 2.42813L14.3239 4.34221C14.8288 4.49517 15.3127 4.69686 15.7705 4.94204L16.7148 3.17901C16.1422 2.87231 15.5363 2.61974 14.9038 2.42813Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18.344 4.2696L17.0744 5.81491C17.4798 6.14801 17.852 6.5202 18.1851 6.92562L19.7304 5.65597C19.3146 5.14991 18.8501 4.68539 18.344 4.2696Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20.821 7.2852L19.058 8.22951C19.3031 8.68726 19.5048 9.17124 19.6578 9.67608L21.5719 9.09617C21.3803 8.46374 21.1277 7.8578 20.821 7.2852Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21.9525 11.0195L19.9619 11.2132C19.9871 11.4715 20 11.7339 20 12C20 12.2661 19.9871 12.5285 19.9619 12.7868L21.9525 12.9806C21.9839 12.6579 22 12.3308 22 12C22 11.6692 21.9839 11.3421 21.9525 11.0195Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21.5719 14.9038L19.6578 14.3239C19.5048 14.8288 19.3031 15.3127 19.058 15.7705L20.821 16.7148C21.1277 16.1422 21.3803 15.5363 21.5719 14.9038Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19.7304 18.344L18.1851 17.0744C17.852 17.4798 17.4798 17.852 17.0744 18.1851L18.344 19.7304C18.8501 19.3146 19.3146 18.8501 19.7304 18.344Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.7148 20.821L15.7705 19.058C15.3127 19.3031 14.8288 19.5048 14.3239 19.6578L14.9038 21.5719C15.5363 21.3803 16.1422 21.1277 16.7148 20.821Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M9 12C9 10.3431 10.3431 9 12 9C13.6569 9 15 10.3431 15 12C15 13.6569 13.6569 15 12 15C10.3431 15 9 13.6569 9 12ZM12 13C11.4477 13 11 12.5523 11 12C11 11.4477 11.4477 11 12 11C12.5523 11 13 11.4477 13 12C13 12.5523 12.5523 13 12 13Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M12 6C8.68629 6 6 8.68629 6 12C6 15.3137 8.68629 18 12 18C15.3137 18 18 15.3137 18 12C18 8.68629 15.3137 6 12 6ZM8 12C8 14.2091 9.79086 16 12 16C14.2091 16 16 14.2091 16 12C16 9.79086 14.2091 8 12 8C9.79086 8 8 9.79086 8 12Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgLoadbarAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"opacity\":\"0.3\",\"x\":\"3\",\"y\":\"10\",\"width\":\"18\",\"height\":\"4\",\"rx\":\"2\",\"fill\":\"currentColor\"}},{\"tag\":\"rect\",\"attr\":{\"x\":\"7\",\"y\":\"10\",\"width\":\"10\",\"height\":\"4\",\"rx\":\"2\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgLoadbarDoc (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M17 5H7C6.44772 5 6 5.44772 6 6V18C6 18.5523 6.44772 19 7 19H17C17.5523 19 18 18.5523 18 18V6C18 5.44772 17.5523 5 17 5ZM7 3C5.34315 3 4 4.34315 4 6V18C4 19.6569 5.34315 21 7 21H17C18.6569 21 20 19.6569 20 18V6C20 4.34315 18.6569 3 17 3H7Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 7H16V9H8V7Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 11H16V13H8V11Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15H13V17H8V15Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgLoadbarSound (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 6H13V18H11V6Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 13H9V18H7V13Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 9H17V18H15V9Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgLoadbar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"x\":\"3\",\"y\":\"10\",\"width\":\"18\",\"height\":\"4\",\"rx\":\"2\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgLockUnlock (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M19 7H17C17 4.79086 15.2091 3 13 3C10.7909 3 9 4.79086 9 7V10H18C19.6569 10 21 11.3431 21 13V19C21 20.6569 19.6569 22 18 22H6C4.34315 22 3 20.6569 3 19V13C3 11.3431 4.34315 10 6 10H7V7C7 3.68629 9.68629 1 13 1C16.3137 1 19 3.68629 19 7ZM18 12H6C5.44772 12 5 12.4477 5 13V19C5 19.5523 5.44772 20 6 20H18C18.5523 20 19 19.5523 19 19V13C19 12.4477 18.5523 12 18 12Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgLock (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M18 10.5C19.6569 10.5 21 11.8431 21 13.5V19.5C21 21.1569 19.6569 22.5 18 22.5H6C4.34315 22.5 3 21.1569 3 19.5V13.5C3 11.8431 4.34315 10.5 6 10.5V7.5C6 4.18629 8.68629 1.5 12 1.5C15.3137 1.5 18 4.18629 18 7.5V10.5ZM12 3.5C14.2091 3.5 16 5.29086 16 7.5V10.5H8V7.5C8 5.29086 9.79086 3.5 12 3.5ZM18 12.5H6C5.44772 12.5 5 12.9477 5 13.5V19.5C5 20.0523 5.44772 20.5 6 20.5H18C18.5523 20.5 19 20.0523 19 19.5V13.5C19 12.9477 18.5523 12.5 18 12.5Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgLogIn (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.4857 20H19.4857C20.5903 20 21.4857 19.1046 21.4857 18V6C21.4857 4.89543 20.5903 4 19.4857 4H15.4857V6H19.4857V18H15.4857V20Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.1582 17.385L8.73801 15.9768L12.6572 12.0242L3.51428 12.0242C2.96199 12.0242 2.51428 11.5765 2.51428 11.0242C2.51429 10.4719 2.962 10.0242 3.51429 10.0242L12.6765 10.0242L8.69599 6.0774L10.1042 4.6572L16.4951 10.9941L10.1582 17.385Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgLogOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 4.00894C13.0002 3.45665 12.5527 3.00876 12.0004 3.00854C11.4481 3.00833 11.0002 3.45587 11 4.00815L10.9968 12.0116C10.9966 12.5639 11.4442 13.0118 11.9965 13.012C12.5487 13.0122 12.9966 12.5647 12.9968 12.0124L13 4.00894Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 12.9917C4 10.7826 4.89541 8.7826 6.34308 7.33488L7.7573 8.7491C6.67155 9.83488 6 11.3349 6 12.9917C6 16.3054 8.68629 18.9917 12 18.9917C15.3137 18.9917 18 16.3054 18 12.9917C18 11.3348 17.3284 9.83482 16.2426 8.74903L17.6568 7.33481C19.1046 8.78253 20 10.7825 20 12.9917C20 17.41 16.4183 20.9917 12 20.9917C7.58172 20.9917 4 17.41 4 12.9917Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgLogOut (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.51428 20H4.51428C3.40971 20 2.51428 19.1046 2.51428 18V6C2.51428 4.89543 3.40971 4 4.51428 4H8.51428V6H4.51428V18H8.51428V20Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13.8418 17.385L15.262 15.9768L11.3428 12.0242L20.4857 12.0242C21.038 12.0242 21.4857 11.5765 21.4857 11.0242C21.4857 10.4719 21.038 10.0242 20.4857 10.0242L11.3236 10.0242L15.304 6.0774L13.8958 4.6572L7.5049 10.9941L13.8418 17.385Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgLoupe (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 11V8H13V11H16V13H13V16H11V13H8V11H11Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M3 12C3 16.9706 7.02944 21 12 21H18C19.6569 21 21 19.6569 21 18V12C21 7.02944 16.9706 3 12 3C7.02944 3 3 7.02944 3 12ZM12 5C15.866 5 19 8.13401 19 12C19 15.866 15.866 19 12 19C8.13401 19 5 15.866 5 12C5 8.13401 8.13401 5 12 5Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgMagnet (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 2.5H4V5.5H8V2.5Z\",\"fill\":\"currentColor\",\"fillOpacity\":\"0.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 2.5H16V5.5H20V2.5Z\",\"fill\":\"currentColor\",\"fillOpacity\":\"0.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 7.5H4V13.5C4 17.9183 7.58172 21.5 12 21.5C16.4183 21.5 20 17.9183 20 13.5V7.5H16V13.5C16 15.7091 14.2091 17.5 12 17.5C9.79086 17.5 8 15.7091 8 13.5V7.5Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgMailForward (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.6378 15.529L15.052 16.9432L20.0018 11.9934L15.052 7.0437L13.6378 8.45791L16.1363 10.9564H7.99823C5.78909 10.9564 3.99823 12.7472 3.99823 14.9564V16.9564H5.99823V14.9564C5.99823 13.8518 6.89366 12.9564 7.99823 12.9564H16.2104L13.6378 15.529Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgMailOpen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M3.05002 10.0151C2.79178 9.30708 2.94668 8.48233 3.51474 7.91427L9.8787 1.55031C11.0503 0.378738 12.9498 0.378738 14.1213 1.55031L20.4853 7.91427C21.0534 8.48239 21.2083 9.30727 20.9499 10.0154C20.9824 10.1139 20.9999 10.2191 20.9999 10.3285V21.3285C20.9999 22.4331 20.1045 23.3285 18.9999 23.3285H4.99994C3.89537 23.3285 2.99994 22.4331 2.99994 21.3285V10.3285C2.99994 10.219 3.01752 10.1137 3.05002 10.0151ZM4.92896 9.32848L11.2929 2.96452C11.6834 2.574 12.3166 2.574 12.7071 2.96452L19.0711 9.32848H19.0408V9.3588L12.7071 15.6924C12.3166 16.083 11.6834 16.083 11.2929 15.6924L4.92896 9.32848ZM18.9999 12.2281L14.1213 17.1067C12.9498 18.2782 11.0503 18.2782 9.8787 17.1067L4.99994 12.2279L4.99994 21.3285H18.9999V12.2281Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgMailReply (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.3623 15.529L8.94804 16.9432L3.99829 11.9934L8.94804 7.0437L10.3623 8.45791L7.86379 10.9564H16.0018C18.2109 10.9564 20.0018 12.7472 20.0018 14.9564V16.9564H18.0018V14.9564C18.0018 13.8518 17.1063 12.9564 16.0018 12.9564H7.78965L10.3623 15.529Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgMail (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M3.00977 5.83789C3.00977 5.28561 3.45748 4.83789 4.00977 4.83789H20C20.5523 4.83789 21 5.28561 21 5.83789V17.1621C21 18.2667 20.1046 19.1621 19 19.1621H5C3.89543 19.1621 3 18.2667 3 17.1621V6.16211C3 6.11449 3.00333 6.06765 3.00977 6.0218V5.83789ZM5 8.06165V17.1621H19V8.06199L14.1215 12.9405C12.9499 14.1121 11.0504 14.1121 9.87885 12.9405L5 8.06165ZM6.57232 6.80554H17.428L12.7073 11.5263C12.3168 11.9168 11.6836 11.9168 11.2931 11.5263L6.57232 6.80554Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgMathDivide (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 7C14 8.10457 13.1046 9 12 9C10.8954 9 10 8.10457 10 7C10 5.89543 10.8954 5 12 5C13.1046 5 14 5.89543 14 7Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 12C3 11.4477 3.44772 11 4 11H20C20.5523 11 21 11.4477 21 12C21 12.5523 20.5523 13 20 13H4C3.44772 13 3 12.5523 3 12Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 19C13.1046 19 14 18.1046 14 17C14 15.8954 13.1046 15 12 15C10.8954 15 10 15.8954 10 17C10 18.1046 10.8954 19 12 19Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgMathEqual (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 9C4.44772 9 4 9.44771 4 10C4 10.5523 4.44772 11 5 11H19C19.5523 11 20 10.5523 20 10C20 9.44771 19.5523 9 19 9H5Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 13C4.44772 13 4 13.4477 4 14C4 14.5523 4.44772 15 5 15H19C19.5523 15 20 14.5523 20 14C20 13.4477 19.5523 13 19 13H5Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgMathMinus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 12C4 11.4477 4.44772 11 5 11H19C19.5523 11 20 11.4477 20 12C20 12.5523 19.5523 13 19 13H5C4.44772 13 4 12.5523 4 12Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgMathPercent (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16.2426 6.34319C16.6331 5.95266 17.2663 5.95266 17.6568 6.34319C18.0474 6.73371 18.0474 7.36688 17.6568 7.7574L7.75734 17.6569C7.36681 18.0474 6.73365 18.0474 6.34313 17.6569C5.9526 17.2664 5.9526 16.6332 6.34313 16.2427L16.2426 6.34319Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.87866 9.87872C9.09761 10.6598 7.83128 10.6598 7.05023 9.87872C6.26918 9.09767 6.26918 7.83134 7.05023 7.05029C7.83128 6.26924 9.09761 6.26924 9.87866 7.05029C10.6597 7.83134 10.6597 9.09767 9.87866 9.87872Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.1213 16.9498C14.9023 17.7308 16.1687 17.7308 16.9497 16.9498C17.7308 16.1687 17.7308 14.9024 16.9497 14.1214C16.1687 13.3403 14.9023 13.3403 14.1213 14.1214C13.3403 14.9024 13.3403 16.1687 14.1213 16.9498Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgMathPlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 4C11.4477 4 11 4.44772 11 5V11H5C4.44772 11 4 11.4477 4 12C4 12.5523 4.44772 13 5 13H11V19C11 19.5523 11.4477 20 12 20C12.5523 20 13 19.5523 13 19V13H19C19.5523 13 20 12.5523 20 12C20 11.4477 19.5523 11 19 11H13V5C13 4.44772 12.5523 4 12 4Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgMaximizeAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3H9V5H6.46173L11.3047 9.84298L9.8905 11.2572L5 6.3667V9H3V3Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 21H9V19H6.3764L11.3046 14.0718L9.89038 12.6576L5 17.548V15H3V21Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 21H21V15H19V17.5244L14.1332 12.6576L12.719 14.0718L17.6472 19H15V21Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 3H15V5H17.5619L12.7189 9.84301L14.1331 11.2572L19 6.39032V9H21V3Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgMaximize (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3H9V5H5V9H3V3Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 21H9V19H5V15H3V21Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 21H21V15H19V19H15V21Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 3H15V5H19V9H21V3Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgMaze (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.3709 9.59273L8.77816 7L1 14.7782L3.59272 17.3709L11.3709 9.59273Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.2218 7L23 14.7782L20.424 17.3542L15.2218 12.152L10.0197 17.3542L7.44367 14.7782L15.2218 7Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgMediaLive (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M15 12C15 13.6569 13.6569 15 12 15C10.3431 15 9 13.6569 9 12C9 10.3431 10.3431 9 12 9C13.6569 9 15 10.3431 15 12ZM13 12C13 12.5523 12.5523 13 12 13C11.4477 13 11 12.5523 11 12C11 11.4477 11.4477 11 12 11C12.5523 11 13 11.4477 13 12Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M12 19C15.866 19 19 15.866 19 12C19 8.13401 15.866 5 12 5C8.13401 5 5 8.13401 5 12C5 15.866 8.13401 19 12 19ZM12 17C14.7614 17 17 14.7614 17 12C17 9.23858 14.7614 7 12 7C9.23858 7 7 9.23858 7 12C7 14.7614 9.23858 17 12 17Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M12 23C18.0751 23 23 18.0751 23 12C23 5.92487 18.0751 1 12 1C5.92487 1 1 5.92487 1 12C1 18.0751 5.92487 23 12 23ZM12 21C16.9706 21 21 16.9706 21 12C21 7.02944 16.9706 3 12 3C7.02944 3 3 7.02944 3 12C3 16.9706 7.02944 21 12 21Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgMediaPodcast (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.6361 20.364C4.00738 18.7353 3 16.4853 3 14C3 9.02944 7.02944 5 12 5C16.9706 5 21 9.02944 21 14C21 16.4853 19.9926 18.7353 18.364 20.3639L19.7782 21.7782C21.7688 19.7875 23 17.0376 23 14C23 7.92487 18.0751 3 12 3C5.92487 3 1 7.92487 1 14C1 17.0376 2.23124 19.7876 4.22189 21.7782L5.6361 20.364Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.9498 18.9497C18.2165 17.683 19 15.933 19 14C19 10.134 15.866 7 12 7C8.13401 7 5 10.134 5 14C5 15.933 5.78353 17.6831 7.05031 18.9498L8.46453 17.5356C7.55967 16.6308 7 15.3807 7 14C7 11.2386 9.23858 9 12 9C14.7614 9 17 11.2386 17 14C17 15.3807 16.4404 16.6307 15.5356 17.5355L16.9498 18.9497Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.1213 16.1213C14.6642 15.5784 15 14.8284 15 14C15 12.3431 13.6569 11 12 11C10.3431 11 9 12.3431 9 14C9 14.8285 9.33581 15.5785 9.87874 16.1214L11.293 14.7072C11.112 14.5262 11 14.2762 11 14C11 13.4477 11.4477 13 12 13C12.5523 13 13 13.4477 13 14C13 14.2761 12.8881 14.5261 12.7071 14.7071L14.1213 16.1213Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgMenuBoxed (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.01562 6.98193C7.46334 6.98193 7.01562 7.43285 7.01562 7.98513C7.01562 8.53742 7.46334 8.98833 8.01563 8.98833H15.9659C16.5182 8.98833 16.9659 8.53742 16.9659 7.98513C16.9659 7.43285 16.5182 6.98193 15.9659 6.98193H8.01562Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.01562 12C7.01562 11.4477 7.46334 10.9968 8.01562 10.9968H15.9659C16.5182 10.9968 16.9659 11.4477 16.9659 12C16.9659 12.5523 16.5182 13.0032 15.9659 13.0032H8.01563C7.46334 13.0032 7.01562 12.5523 7.01562 12Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.0249 15.0122C7.47262 15.0122 7.0249 15.4631 7.0249 16.0154C7.0249 16.5677 7.47262 17.0186 8.0249 17.0186H15.9752C16.5275 17.0186 16.9752 16.5677 16.9752 16.0154C16.9752 15.4631 16.5275 15.0122 15.9752 15.0122H8.0249Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M3 6C3 4.34315 4.34315 3 6 3H18C19.6569 3 21 4.34315 21 6V18C21 19.6569 19.6569 21 18 21H6C4.34315 21 3 19.6569 3 18V6ZM6 5H18C18.5523 5 19 5.44772 19 6V18C19 18.5523 18.5523 19 18 19H6C5.44772 19 5 18.5523 5 18V6C5 5.44772 5.44772 5 6 5Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgMenuCake (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 8C13.1046 8 14 7.10457 14 6C14 4.89543 13.1046 4 12 4C10.8954 4 10 4.89543 10 6C10 7.10457 10.8954 8 12 8Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 10C4.44772 10 4 10.4477 4 11C4 11.5523 4.44772 12 5 12H19C19.5523 12 20 11.5523 20 11C20 10.4477 19.5523 10 19 10H5Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 15C4 14.4477 4.44772 14 5 14H19C19.5523 14 20 14.4477 20 15C20 15.5523 19.5523 16 19 16H5C4.44772 16 4 15.5523 4 15Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 18C4.44772 18 4 18.4477 4 19C4 19.5523 4.44772 20 5 20H19C19.5523 20 20 19.5523 20 19C20 18.4477 19.5523 18 19 18H5Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgMenuCheese (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 6C3 5.44772 3.44772 5 4 5H20C20.5523 5 21 5.44772 21 6C21 6.55228 20.5523 7 20 7H4C3.44772 7 3 6.55228 3 6Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 18C3 17.4477 3.44772 17 4 17H20C20.5523 17 21 17.4477 21 18C21 18.5523 20.5523 19 20 19H4C3.44772 19 3 18.5523 3 18Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 12C3 11.4477 3.44772 11 4 11H20C20.5523 11 21 11.4477 21 12C21 12.5523 20.5523 13 20 13H10.2625L7.61456 15.6479L4.96662 13H4C3.44772 13 3 12.5523 3 12Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgMenuGridO (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 6C8 7.10457 7.10457 8 6 8C4.89543 8 4 7.10457 4 6C4 4.89543 4.89543 4 6 4C7.10457 4 8 4.89543 8 6Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 12C8 13.1046 7.10457 14 6 14C4.89543 14 4 13.1046 4 12C4 10.8954 4.89543 10 6 10C7.10457 10 8 10.8954 8 12Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 20C7.10457 20 8 19.1046 8 18C8 16.8954 7.10457 16 6 16C4.89543 16 4 16.8954 4 18C4 19.1046 4.89543 20 6 20Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 6C14 7.10457 13.1046 8 12 8C10.8954 8 10 7.10457 10 6C10 4.89543 10.8954 4 12 4C13.1046 4 14 4.89543 14 6Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 14C13.1046 14 14 13.1046 14 12C14 10.8954 13.1046 10 12 10C10.8954 10 10 10.8954 10 12C10 13.1046 10.8954 14 12 14Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 18C14 19.1046 13.1046 20 12 20C10.8954 20 10 19.1046 10 18C10 16.8954 10.8954 16 12 16C13.1046 16 14 16.8954 14 18Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 8C19.1046 8 20 7.10457 20 6C20 4.89543 19.1046 4 18 4C16.8954 4 16 4.89543 16 6C16 7.10457 16.8954 8 18 8Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 12C20 13.1046 19.1046 14 18 14C16.8954 14 16 13.1046 16 12C16 10.8954 16.8954 10 18 10C19.1046 10 20 10.8954 20 12Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 20C19.1046 20 20 19.1046 20 18C20 16.8954 19.1046 16 18 16C16.8954 16 16 16.8954 16 18C16 19.1046 16.8954 20 18 20Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgMenuGridR (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 4H8V8H4V4Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 10H8V14H4V10Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16H4V20H8V16Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 4H14V8H10V4Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 10H10V14H14V10Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 16H14V20H10V16Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 4H16V8H20V4Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 10H20V14H16V10Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 16H16V20H20V16Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgMenuHotdog (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 6C5.34315 6 4 7.34315 4 9H20C20 7.34315 18.6569 6 17 6H7Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 18C5.34315 18 4 16.6569 4 15H20C20 16.6569 18.6569 18 17 18H7Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 11C2.44772 11 2 11.4477 2 12C2 12.5523 2.44772 13 3 13H21C21.5523 13 22 12.5523 22 12C22 11.4477 21.5523 11 21 11H3Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgMenuLeftAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 6C4 5.44772 4.44772 5 5 5H19C19.5523 5 20 5.44772 20 6C20 6.55228 19.5523 7 19 7H5C4.44772 7 4 6.55228 4 6Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 18C4 17.4477 4.44772 17 5 17H19C19.5523 17 20 17.4477 20 18C20 18.5523 19.5523 19 19 19H5C4.44772 19 4 18.5523 4 18Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 11C4.44772 11 4 11.4477 4 12C4 12.5523 4.44772 13 5 13H13C13.5523 13 14 12.5523 14 12C14 11.4477 13.5523 11 13 11H5Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgMenuLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 5.99519C2 5.44556 2.44556 5 2.99519 5H11.0048C11.5544 5 12 5.44556 12 5.99519C12 6.54482 11.5544 6.99039 11.0048 6.99039H2.99519C2.44556 6.99039 2 6.54482 2 5.99519Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 11.9998C2 11.4501 2.44556 11.0046 2.99519 11.0046H21.0048C21.5544 11.0046 22 11.4501 22 11.9998C22 12.5494 21.5544 12.9949 21.0048 12.9949H2.99519C2.44556 12.9949 2 12.5494 2 11.9998Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2.99519 17.0096C2.44556 17.0096 2 17.4552 2 18.0048C2 18.5544 2.44556 19 2.99519 19H15.0048C15.5544 19 16 18.5544 16 18.0048C16 17.4552 15.5544 17.0096 15.0048 17.0096H2.99519Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgMenuMotion (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 5C11.4477 5 11 5.44772 11 6C11 6.55228 11.4477 7 12 7H20C20.5523 7 21 6.55228 21 6C21 5.44772 20.5523 5 20 5H12Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 12C7 11.4477 7.44772 11 8 11H16C16.5523 11 17 11.4477 17 12C17 12.5523 16.5523 13 16 13H8C7.44772 13 7 12.5523 7 12Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 18C3 17.4477 3.44772 17 4 17H12C12.5523 17 13 17.4477 13 18C13 18.5523 12.5523 19 12 19H4C3.44772 19 3 18.5523 3 18Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgMenuOreos (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 3C5.34315 3 4 4.34315 4 6H20C20 4.34315 18.6569 3 17 3H7Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 11C5.34315 11 4 9.65685 4 8H20C20 9.65685 18.6569 11 17 11H7Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 13C5.34315 13 4 14.3431 4 16H20C20 14.3431 18.6569 13 17 13H7Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 21C5.34315 21 4 19.6569 4 18H20C20 19.6569 18.6569 21 17 21H7Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgMenuRightAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 6C4 5.44772 4.44772 5 5 5H19C19.5523 5 20 5.44772 20 6C20 6.55228 19.5523 7 19 7H5C4.44772 7 4 6.55228 4 6Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 18C4 17.4477 4.44772 17 5 17H19C19.5523 17 20 17.4477 20 18C20 18.5523 19.5523 19 19 19H5C4.44772 19 4 18.5523 4 18Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 11C10.4477 11 10 11.4477 10 12C10 12.5523 10.4477 13 11 13H19C19.5523 13 20 12.5523 20 12C20 11.4477 19.5523 11 19 11H11Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgMenuRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M22 18.0048C22 18.5544 21.5544 19 21.0048 19H12.9952C12.4456 19 12 18.5544 12 18.0048C12 17.4552 12.4456 17.0096 12.9952 17.0096H21.0048C21.5544 17.0096 22 17.4552 22 18.0048Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 12.0002C22 12.5499 21.5544 12.9954 21.0048 12.9954H2.99519C2.44556 12.9954 2 12.5499 2 12.0002C2 11.4506 2.44556 11.0051 2.99519 11.0051H21.0048C21.5544 11.0051 22 11.4506 22 12.0002Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21.0048 6.99039C21.5544 6.99039 22 6.54482 22 5.99519C22 5.44556 21.5544 5 21.0048 5H8.99519C8.44556 5 8 5.44556 8 5.99519C8 6.54482 8.44556 6.99039 8.99519 6.99039H21.0048Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgMenuRound (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 6.9834C7.44772 6.9834 7 7.43111 7 7.9834C7 8.53568 7.44772 8.9834 8 8.9834H16C16.5523 8.9834 17 8.53568 17 7.9834C17 7.43111 16.5523 6.9834 16 6.9834H8Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 12C7 11.4477 7.44772 11 8 11H16C16.5523 11 17 11.4477 17 12C17 12.5523 16.5523 13 16 13H8C7.44772 13 7 12.5523 7 12Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 15.017C7.44772 15.017 7 15.4647 7 16.017C7 16.5693 7.44772 17.017 8 17.017H16C16.5523 17.017 17 16.5693 17 16.017C17 15.4647 16.5523 15.017 16 15.017H8Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12ZM20 12C20 16.4183 16.4183 20 12 20C7.58172 20 4 16.4183 4 12C4 7.58172 7.58172 4 12 4C16.4183 4 20 7.58172 20 12Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgMenu (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 6C2 5.44772 2.44772 5 3 5H21C21.5523 5 22 5.44772 22 6C22 6.55228 21.5523 7 21 7H3C2.44772 7 2 6.55228 2 6Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 12.0322C2 11.4799 2.44772 11.0322 3 11.0322H21C21.5523 11.0322 22 11.4799 22 12.0322C22 12.5845 21.5523 13.0322 21 13.0322H3C2.44772 13.0322 2 12.5845 2 12.0322Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 17.0645C2.44772 17.0645 2 17.5122 2 18.0645C2 18.6167 2.44772 19.0645 3 19.0645H21C21.5523 19.0645 22 18.6167 22 18.0645C22 17.5122 21.5523 17.0645 21 17.0645H3Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgMergeHorizontal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 8.9757L16.2426 4.73306L14.8284 3.31885L12 6.14727L9.17157 3.31885L7.75736 4.73306L12 8.9757Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 11.9998C5 11.4475 5.44772 10.9997 6 10.9997H18C18.5523 10.9997 19 11.4475 19 11.9998C19 12.552 18.5523 12.9998 18 12.9998H6C5.44772 12.9998 5 12.552 5 11.9998Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 15.0242L7.75736 19.2668L9.17157 20.681L12 17.8526L14.8284 20.681L16.2426 19.2668L12 15.0242Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgMergeVertical (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.97576 12L4.73312 7.75736L3.31891 9.17157L6.14734 12L3.31891 14.8284L4.73312 16.2426L8.97576 12Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.9998 19C11.4475 19 10.9998 18.5523 10.9998 18V6C10.9998 5.44772 11.4475 5 11.9998 5C12.5521 5 12.9998 5.44772 12.9998 6V18C12.9998 18.5523 12.5521 19 11.9998 19Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.0242 12L19.2669 16.2426L20.6811 14.8284L17.8527 12L20.6811 9.17157L19.2669 7.75736L15.0242 12Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgMic (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M9 4C9 2.34315 10.3431 1 12 1C13.6569 1 15 2.34315 15 4V12C15 13.6569 13.6569 15 12 15C10.3431 15 9 13.6569 9 12V4ZM13 4V12C13 12.5523 12.5523 13 12 13C11.4477 13 11 12.5523 11 12V4C11 3.44772 11.4477 3 12 3C12.5523 3 13 3.44772 13 4Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 12C18 14.973 15.8377 17.441 13 17.917V21H17V23H7V21H11V17.917C8.16229 17.441 6 14.973 6 12V9H8V12C8 14.2091 9.79086 16 12 16C14.2091 16 16 14.2091 16 12V9H18V12Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgMicrobit (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 14C8.10457 14 9 13.1046 9 12C9 10.8954 8.10457 10 7 10C5.89543 10 5 10.8954 5 12C5 13.1046 5.89543 14 7 14Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 12C19 13.1046 18.1046 14 17 14C15.8954 14 15 13.1046 15 12C15 10.8954 15.8954 10 17 10C18.1046 10 19 10.8954 19 12Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M7 5C3.13401 5 0 8.13401 0 12C0 15.866 3.13401 19 7 19H17C20.866 19 24 15.866 24 12C24 8.13401 20.866 5 17 5H7ZM17 8H7C4.79086 8 3 9.79086 3 12C3 14.2091 4.79086 16 7 16H17C19.2091 16 21 14.2091 21 12C21 9.79086 19.2091 8 17 8Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgMicrosoft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3H11V11H3V3Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 13H11V21H3V13Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 3H21V11H13V3Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 13H21V21H13V13Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgMiniPlayer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M3 6C3 4.34315 4.34315 3 6 3H18C19.6569 3 21 4.34315 21 6V18C21 19.6569 19.6569 21 18 21H6C4.34315 21 3 19.6569 3 18V6ZM6 5H18C18.5523 5 19 5.44772 19 6V12.2676C18.7058 12.0974 18.3643 12 18 12H14C12.8954 12 12 12.8954 12 14V18C12 18.3643 12.0974 18.7058 12.2676 19H6C5.44772 19 5 18.5523 5 18V6C5 5.44772 5.44772 5 6 5Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgMinimizeAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20.0735 2L21.4877 3.41421L15.6378 9.26416H18.1824V11.2642H12.1824V5.26416H14.1824V7.89111L20.0735 2Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.1824 12.2642V18.2642H9.1824V15.8422L3.41421 21.6104L2 20.1962L7.93203 14.2642H5.1824V12.2642H11.1824Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgMinimize (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 9H3V7H7V3H9V9Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 15H3V17H7V21H9V15Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 15H15V21H17V17H21V15Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 9.00012H21V7.00012H17V3.00012H15V9.00012Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgModem (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18 16.6341C18 17.1864 17.5523 17.6341 17 17.6341C16.4477 17.6341 16 17.1864 16 16.6341C16 16.0819 16.4477 15.6341 17 15.6341C17.5523 15.6341 18 16.0819 18 16.6341Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M5.86603 3.13414C5.38773 2.858 4.77614 3.02187 4.5 3.50017C4.22386 3.97846 4.38773 4.59005 4.86603 4.86619L18.3205 12.6341H2V16.6341C2 18.8433 3.79086 20.6341 6 20.6341H18C20.2091 20.6341 22 18.8433 22 16.6341V12.6341L5.86603 3.13414ZM20 14.6341H4V16.6341C4 17.7387 4.89543 18.6341 6 18.6341H18C19.1046 18.6341 20 17.7387 20 16.6341V14.6341Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgMonday (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6.77857 6.13915C7.7289 4.78193 9.59953 4.45209 10.9568 5.40242C12.314 6.35275 12.6438 8.22339 11.6935 9.58061L5.95771 17.7721C5.00738 19.1293 3.13674 19.4592 1.77953 18.5089C0.422312 17.5585 0.0924684 15.6879 1.0428 14.3307L6.77857 6.13915Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.2678 6.22811C16.2182 4.8709 18.0888 4.54105 19.446 5.49138C20.8032 6.44172 21.1331 8.31235 20.1827 9.66957L14.447 17.8611C13.4966 19.2183 11.626 19.5481 10.2688 18.5978C8.91158 17.6475 8.58173 15.7768 9.53207 14.4196L15.2678 6.22811Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20.5 18.8596C22.1569 18.8596 23.5 17.5165 23.5 15.8596C23.5 14.2028 22.1569 12.8596 20.5 12.8596C18.8431 12.8596 17.5 14.2028 17.5 15.8596C17.5 17.5165 18.8431 18.8596 20.5 18.8596Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgMoon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M12.2256 2.00253C9.59172 1.94346 6.93894 2.9189 4.92893 4.92891C1.02369 8.83415 1.02369 15.1658 4.92893 19.071C8.83418 22.9763 15.1658 22.9763 19.0711 19.071C21.0811 17.061 22.0565 14.4082 21.9975 11.7743C21.9796 10.9772 21.8669 10.1818 21.6595 9.40643C21.0933 9.9488 20.5078 10.4276 19.9163 10.8425C18.5649 11.7906 17.1826 12.4053 15.9301 12.6837C14.0241 13.1072 12.7156 12.7156 12 12C11.2844 11.2844 10.8928 9.97588 11.3163 8.0699C11.5947 6.81738 12.2094 5.43511 13.1575 4.08368C13.5724 3.49221 14.0512 2.90664 14.5935 2.34046C13.8182 2.13305 13.0228 2.02041 12.2256 2.00253ZM17.6569 17.6568C18.9081 16.4056 19.6582 14.8431 19.9072 13.2186C16.3611 15.2643 12.638 15.4664 10.5858 13.4142C8.53361 11.362 8.73568 7.63895 10.7814 4.09281C9.1569 4.34184 7.59434 5.09193 6.34315 6.34313C3.21895 9.46732 3.21895 14.5326 6.34315 17.6568C9.46734 20.781 14.5327 20.781 17.6569 17.6568Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgMoreAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 12C8 13.1046 7.10457 14 6 14C4.89543 14 4 13.1046 4 12C4 10.8954 4.89543 10 6 10C7.10457 10 8 10.8954 8 12Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 12C14 13.1046 13.1046 14 12 14C10.8954 14 10 13.1046 10 12C10 10.8954 10.8954 10 12 10C13.1046 10 14 10.8954 14 12Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 14C19.1046 14 20 13.1046 20 12C20 10.8954 19.1046 10 18 10C16.8954 10 16 10.8954 16 12C16 13.1046 16.8954 14 18 14Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgMoreO (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 14C8.10457 14 9 13.1046 9 12C9 10.8954 8.10457 10 7 10C5.89543 10 5 10.8954 5 12C5 13.1046 5.89543 14 7 14Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 12C14 13.1046 13.1046 14 12 14C10.8954 14 10 13.1046 10 12C10 10.8954 10.8954 10 12 10C13.1046 10 14 10.8954 14 12Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 14C18.1046 14 19 13.1046 19 12C19 10.8954 18.1046 10 17 10C15.8954 10 15 10.8954 15 12C15 13.1046 15.8954 14 17 14Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M24 12C24 18.6274 18.6274 24 12 24C5.37258 24 0 18.6274 0 12C0 5.37258 5.37258 0 12 0C18.6274 0 24 5.37258 24 12ZM22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgMoreR (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 14C8.10457 14 9 13.1046 9 12C9 10.8954 8.10457 10 7 10C5.89543 10 5 10.8954 5 12C5 13.1046 5.89543 14 7 14Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 12C14 13.1046 13.1046 14 12 14C10.8954 14 10 13.1046 10 12C10 10.8954 10.8954 10 12 10C13.1046 10 14 10.8954 14 12Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 14C18.1046 14 19 13.1046 19 12C19 10.8954 18.1046 10 17 10C15.8954 10 15 10.8954 15 12C15 13.1046 15.8954 14 17 14Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M0 5C0 3.34315 1.34315 2 3 2H21C22.6569 2 24 3.34315 24 5V19C24 20.6569 22.6569 22 21 22H3C1.34315 22 0 20.6569 0 19V5ZM3 4H21C21.5523 4 22 4.44772 22 5V19C22 19.5523 21.5523 20 21 20H3C2.44772 20 2 19.5523 2 19V5C2 4.44772 2.44771 4 3 4Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgMoreVerticalAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 6C14 7.10457 13.1046 8 12 8C10.8954 8 10 7.10457 10 6C10 4.89543 10.8954 4 12 4C13.1046 4 14 4.89543 14 6Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 12C14 13.1046 13.1046 14 12 14C10.8954 14 10 13.1046 10 12C10 10.8954 10.8954 10 12 10C13.1046 10 14 10.8954 14 12Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 18C14 19.1046 13.1046 20 12 20C10.8954 20 10 19.1046 10 18C10 16.8954 10.8954 16 12 16C13.1046 16 14 16.8954 14 18Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgMoreVerticalO (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 9C13.1046 9 14 8.10457 14 7C14 5.89543 13.1046 5 12 5C10.8954 5 10 5.89543 10 7C10 8.10457 10.8954 9 12 9Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 12C14 13.1046 13.1046 14 12 14C10.8954 14 10 13.1046 10 12C10 10.8954 10.8954 10 12 10C13.1046 10 14 10.8954 14 12Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 19C13.1046 19 14 18.1046 14 17C14 15.8954 13.1046 15 12 15C10.8954 15 10 15.8954 10 17C10 18.1046 10.8954 19 12 19Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M24 12C24 18.6274 18.6274 24 12 24C5.37258 24 0 18.6274 0 12C0 5.37258 5.37258 0 12 0C18.6274 0 24 5.37258 24 12ZM22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgMoreVerticalR (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 9C13.1046 9 14 8.10457 14 7C14 5.89543 13.1046 5 12 5C10.8954 5 10 5.89543 10 7C10 8.10457 10.8954 9 12 9Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 12C14 13.1046 13.1046 14 12 14C10.8954 14 10 13.1046 10 12C10 10.8954 10.8954 10 12 10C13.1046 10 14 10.8954 14 12Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 19C13.1046 19 14 18.1046 14 17C14 15.8954 13.1046 15 12 15C10.8954 15 10 15.8954 10 17C10 18.1046 10.8954 19 12 19Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M2 3C2 1.34315 3.34315 0 5 0H19C20.6569 0 22 1.34315 22 3V21C22 22.6569 20.6569 24 19 24H5C3.34315 24 2 22.6569 2 21V3ZM5 2H19C19.5523 2 20 2.44771 20 3V21C20 21.5523 19.5523 22 19 22H5C4.44772 22 4 21.5523 4 21V3C4 2.44772 4.44772 2 5 2Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgMoreVertical (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M12 5C12.5523 5 13 4.55228 13 4C13 3.44772 12.5523 3 12 3C11.4477 3 11 3.44772 11 4C11 4.55228 11.4477 5 12 5ZM12 13C12.5523 13 13 12.5523 13 12C13 11.4477 12.5523 11 12 11C11.4477 11 11 11.4477 11 12C11 12.5523 11.4477 13 12 13ZM12 21C12.5523 21 13 20.5523 13 20C13 19.4477 12.5523 19 12 19C11.4477 19 11 19.4477 11 20C11 20.5523 11.4477 21 12 21ZM15 4C15 5.65685 13.6569 7 12 7C10.3431 7 9 5.65685 9 4C9 2.34315 10.3431 1 12 1C13.6569 1 15 2.34315 15 4ZM15 12C15 13.6569 13.6569 15 12 15C10.3431 15 9 13.6569 9 12C9 10.3431 10.3431 9 12 9C13.6569 9 15 10.3431 15 12ZM12 23C13.6569 23 15 21.6569 15 20C15 18.3431 13.6569 17 12 17C10.3431 17 9 18.3431 9 20C9 21.6569 10.3431 23 12 23Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgMore (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M5 15C6.65685 15 8 13.6569 8 12C8 10.3431 6.65685 9 5 9C3.34315 9 2 10.3431 2 12C2 13.6569 3.34315 15 5 15ZM5 13C5.55228 13 6 12.5523 6 12C6 11.4477 5.55228 11 5 11C4.44772 11 4 11.4477 4 12C4 12.5523 4.44772 13 5 13Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M12 15C13.6569 15 15 13.6569 15 12C15 10.3431 13.6569 9 12 9C10.3431 9 9 10.3431 9 12C9 13.6569 10.3431 15 12 15ZM12 13C12.5523 13 13 12.5523 13 12C13 11.4477 12.5523 11 12 11C11.4477 11 11 11.4477 11 12C11 12.5523 11.4477 13 12 13Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M22 12C22 13.6569 20.6569 15 19 15C17.3431 15 16 13.6569 16 12C16 10.3431 17.3431 9 19 9C20.6569 9 22 10.3431 22 12ZM20 12C20 12.5523 19.5523 13 19 13C18.4477 13 18 12.5523 18 12C18 11.4477 18.4477 11 19 11C19.5523 11 20 11.4477 20 12Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgMouse (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 5C11.4477 5 11 5.44772 11 6V10C11 10.5523 11.4477 11 12 11C12.5523 11 13 10.5523 13 10V6C13 5.44772 12.5523 5 12 5Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M4 8C4 3.58172 7.58172 0 12 0C16.4183 0 20 3.58172 20 8V16C20 20.4183 16.4183 24 12 24C7.58172 24 4 20.4183 4 16V8ZM18 8V16C18 19.3137 15.3137 22 12 22C8.68629 22 6 19.3137 6 16V8C6 4.68629 8.68629 2 12 2C15.3137 2 18 4.68629 18 8Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgMoveDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 5H9V13H7V5Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 5H17V13H15V5Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.0001 5H13.0001V14.9999H16.0355L12.0356 19.071L8.03564 14.9999H11.0001V5Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgMoveLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19.071 17V15H11.071V17H19.071Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19.071 9V7H11.071V9H19.071Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19.071 12.9999V10.9999H9.07109V7.96454L5 11.9644L9.07109 15.9644V12.9999H19.071Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgMoveRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 17V15H13V17H5Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 9V7H13V9H5Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 12.9999V10.9999H14.9999V7.96454L19.071 11.9644L14.9999 15.9644V12.9999H5Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgMoveTask (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18.9641 7H10.9641V9H18.9641V7Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 8.82864V15.1714L9.9642 12L6 8.82864Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18.9641 11H10.9641V13H18.9641V11Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.9641 15H18.9641V17H10.9641V15Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgMoveUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17 19.071H15V11.071H17V19.071Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 19.071H7V11.071H9V19.071Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.9999 19.071H10.9999V9.07109H7.96454L11.9644 5L15.9644 9.07109H12.9999V19.071Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgMusicNote (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M12 8.95439L17.6352 7.82736C19.0102 7.55235 20 6.34501 20 4.94274C20 3.08637 18.3017 1.69406 16.4813 2.05813L12.4117 2.87206C11.0094 3.15252 10 4.38376 10 5.8138V13.8895C9.41165 13.5492 8.72857 13.3544 8 13.3544C5.79086 13.3544 4 15.1453 4 17.3544C4 19.5635 5.79086 21.3544 8 21.3544C10.2091 21.3544 12 19.5635 12 17.3544V8.95439ZM16.8736 4.01929L12.8039 4.83322C12.3365 4.92671 12 5.33712 12 5.8138V6.91479L17.2429 5.8662C17.6831 5.77816 18 5.39165 18 4.94274C18 4.34846 17.4563 3.90274 16.8736 4.01929ZM10 17.3544C10 16.2498 9.10457 15.3544 8 15.3544C6.89543 15.3544 6 16.2498 6 17.3544C6 18.459 6.89543 19.3544 8 19.3544C9.10457 19.3544 10 18.459 10 17.3544Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgMusicSpeaker (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M12 18.939C14.2091 18.939 16 17.1482 16 14.939C16 12.7299 14.2091 10.939 12 10.939C9.79086 10.939 8 12.7299 8 14.939C8 17.1482 9.79086 18.939 12 18.939ZM12 16.939C13.1046 16.939 14 16.0436 14 14.939C14 13.8345 13.1046 12.939 12 12.939C10.8954 12.939 10 13.8345 10 14.939C10 16.0436 10.8954 16.939 12 16.939Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 9.04401C13.1046 9.04401 14 8.14858 14 7.04401C14 5.93944 13.1046 5.04401 12 5.04401C10.8954 5.04401 10 5.93944 10 7.04401C10 8.14858 10.8954 9.04401 12 9.04401Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M7 1C5.34315 1 4 2.34315 4 4V20C4 21.6569 5.34315 23 7 23H17C18.6569 23 20 21.6569 20 20V4C20 2.34315 18.6569 1 17 1H7ZM17 3H7C6.44772 3 6 3.44772 6 4V20C6 20.5523 6.44772 21 7 21H17C17.5523 21 18 20.5523 18 20V4C18 3.44772 17.5523 3 17 3Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgMusic (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M22 6.00086C22 3.54932 19.8148 1.6746 17.3918 2.04737L10.3918 3.1243C8.44044 3.4245 7 5.1035 7 7.07778V15.8407C6.54537 15.6248 6.0368 15.5039 5.5 15.5039C3.567 15.5039 2 17.0709 2 19.0039C2 20.9369 3.567 22.5039 5.5 22.5039C7.43296 22.5039 8.99994 20.937 9 19.004V7.07778C9 6.09064 9.72022 5.25114 10.6959 5.10104L17.6959 4.02412C18.9074 3.83773 20 4.77509 20 6.00086V12.8407C19.5454 12.6248 19.0368 12.5039 18.5 12.5039C16.567 12.5039 15 14.0709 15 16.0039C15 17.9369 16.567 19.5039 18.5 19.5039C20.433 19.5039 21.9999 17.937 22 16.004V6.00086ZM20 16.0039C20 15.1755 19.3284 14.5039 18.5 14.5039C17.6716 14.5039 17 15.1755 17 16.0039C17 16.8323 17.6716 17.5039 18.5 17.5039C19.3284 17.5039 19.9999 16.8323 20 16.0039ZM7 19.0039C7 18.1755 6.32843 17.5039 5.5 17.5039C4.67157 17.5039 4 18.1755 4 19.0039C4 19.8323 4.67157 20.5039 5.5 20.5039C6.32839 20.5039 6.99994 19.8323 7 19.0039Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgNametag (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 14V20H10V18H6V14H4Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M9 9V15H15V9H9ZM13 11H11V13H13V11Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 10V4H10V6H6V10H4Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 10V4H14V6H18V10H20Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 14V20H14V18H18V14H20Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgNotes (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 6C6 5.44772 6.44772 5 7 5H17C17.5523 5 18 5.44772 18 6C18 6.55228 17.5523 7 17 7H7C6.44771 7 6 6.55228 6 6Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 10C6 9.44771 6.44772 9 7 9H17C17.5523 9 18 9.44771 18 10C18 10.5523 17.5523 11 17 11H7C6.44771 11 6 10.5523 6 10Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 13C6.44772 13 6 13.4477 6 14C6 14.5523 6.44771 15 7 15H17C17.5523 15 18 14.5523 18 14C18 13.4477 17.5523 13 17 13H7Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 18C6 17.4477 6.44772 17 7 17H11C11.5523 17 12 17.4477 12 18C12 18.5523 11.5523 19 11 19H7C6.44772 19 6 18.5523 6 18Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M2 4C2 2.34315 3.34315 1 5 1H19C20.6569 1 22 2.34315 22 4V20C22 21.6569 20.6569 23 19 23H5C3.34315 23 2 21.6569 2 20V4ZM5 3H19C19.5523 3 20 3.44771 20 4V20C20 20.5523 19.5523 21 19 21H5C4.44772 21 4 20.5523 4 20V4C4 3.44772 4.44771 3 5 3Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgNotifications (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 7C20 8.65685 18.6569 10 17 10C15.3431 10 14 8.65685 14 7C14 5.34315 15.3431 4 17 4C18.6569 4 20 5.34315 20 7Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 6H4V20H18V12H16V18H6V8H12V6Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgNpm (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M5 21C3.89543 21 3 20.1046 3 19V5C3 3.89543 3.89543 3 5 3H19C20.1046 3 21 3.89543 21 5V19C21 20.1046 20.1046 21 19 21H5ZM6 18V6H18V18H15V9H12V18H6Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgOculus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M16 10H8C6.89543 10 6 10.8954 6 12C6 13.1046 6.89543 14 8 14H16C17.1046 14 18 13.1046 18 12C18 10.8954 17.1046 10 16 10ZM8 6C4.68629 6 2 8.68629 2 12C2 15.3137 4.68629 18 8 18H16C19.3137 18 22 15.3137 22 12C22 8.68629 19.3137 6 16 6H8Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgOpenCollective (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16.6818 15.7529L18.8116 17.8827C20.1752 16.3052 21 14.249 21 12.0001C21 9.78747 20.2016 7.76133 18.8771 6.19409L16.7444 8.32671C17.5315 9.34177 18 10.6162 18 12.0001C18 13.4203 17.5066 14.7253 16.6818 15.7529Z\",\"fill\":\"currentColor\",\"fillOpacity\":\"0.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.6734 16.7445C14.6583 17.5315 13.3839 18 12 18C8.68629 18 6 15.3137 6 12C6 8.68629 8.68629 6 12 6C13.4202 6 14.7252 6.49344 15.7528 7.31823L17.8826 5.18843C16.3051 3.82482 14.2489 3 12 3C7.02944 3 3 7.02944 3 12C3 16.9706 7.02944 21 12 21C14.2126 21 16.2387 20.2016 17.806 18.8771L15.6734 16.7445Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgOptions (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M7 3C8.86384 3 10.4299 4.27477 10.874 6H19V8H10.874C10.4299 9.72523 8.86384 11 7 11C4.79086 11 3 9.20914 3 7C3 4.79086 4.79086 3 7 3ZM7 9C8.10457 9 9 8.10457 9 7C9 5.89543 8.10457 5 7 5C5.89543 5 5 5.89543 5 7C5 8.10457 5.89543 9 7 9Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M17 20C15.1362 20 13.5701 18.7252 13.126 17H5V15H13.126C13.5701 13.2748 15.1362 12 17 12C19.2091 12 21 13.7909 21 16C21 18.2091 19.2091 20 17 20ZM17 18C18.1046 18 19 17.1046 19 16C19 14.8954 18.1046 14 17 14C15.8954 14 15 14.8954 15 16C15 17.1046 15.8954 18 17 18Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgOrganisation (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17 15H19V17H17V15Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 11H17V13H19V11Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M13 7H23V21H1V3H13V7ZM8 5H11V7H8V5ZM11 19V17H8V19H11ZM11 15V13H8V15H11ZM11 11V9H8V11H11ZM21 19V9H13V11H15V13H13V15H15V17H13V19H21ZM3 19V17H6V19H3ZM3 15H6V13H3V15ZM6 11V9H3V11H6ZM3 7H6V5H3V7Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgOverflow (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"opacity\":\"0.2\",\"d\":\"M22 11C22 13.6522 20.9464 16.1957 19.0711 18.0711C17.1957 19.9464 14.6522 21 12 21C9.34784 21 6.8043 19.9464 4.92893 18.0711C3.05357 16.1957 2 13.6522 2 11L22 11Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"opacity\":\"0.3\",\"d\":\"M20 11C20 13.1217 19.1571 15.1566 17.6569 16.6569C16.1566 18.1571 14.1217 19 12 19C9.87827 19 7.84344 18.1571 6.34315 16.6569C4.84286 15.1566 4 13.1217 4 11L20 11Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 11C20 8.87827 19.1571 6.84344 17.6569 5.34315C16.1566 3.84285 14.1217 3 12 3C9.87827 3 7.84344 3.84285 6.34315 5.34315C4.84286 6.84344 4 8.87827 4 11L20 11Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgPacman (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.0636 8C14.6159 8 15.0636 7.55228 15.0636 7C15.0636 6.44772 14.6159 6 14.0636 6C13.5113 6 13.0636 6.44772 13.0636 7C13.0636 7.55228 13.5113 8 14.0636 8Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M13 3C15.1523 3 17.1281 3.7555 18.6768 5.01576L20.124 6.46299L18.8288 7.75818L18.828 7.75738L14.5854 12L18.2236 15.6383L18.2224 15.6396L20.1273 17.5445L18.7144 18.9575L18.7122 18.9553C17.1583 20.2329 15.1687 21 13 21C8.02944 21 4 16.9706 4 12C4 7.02944 8.02944 3 13 3ZM11.7569 12L17.2893 17.5323C16.1044 18.4523 14.6162 19 13 19C9.13401 19 6 15.866 6 12C6 8.13401 9.13401 5 13 5C14.6162 5 16.1045 5.54772 17.2893 6.46768L11.7569 12Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgPassword (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 12C6 12.5523 5.55228 13 5 13C4.44772 13 4 12.5523 4 12C4 11.4477 4.44772 11 5 11C5.55228 11 6 11.4477 6 12Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 13C9.55228 13 10 12.5523 10 12C10 11.4477 9.55228 11 9 11C8.44771 11 8 11.4477 8 12C8 12.5523 8.44771 13 9 13Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 12C14 12.5523 13.5523 13 13 13C12.4477 13 12 12.5523 12 12C12 11.4477 12.4477 11 13 11C13.5523 11 14 11.4477 14 12Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 11H16V13H20V11Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M2 6C0.895431 6 0 6.89543 0 8V16C0 17.1046 0.89543 18 2 18H22C23.1046 18 24 17.1046 24 16V8C24 6.89543 23.1046 6 22 6H2ZM22 8H2L2 16H22V8Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgPathBack (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M9 14H4V4H14V9H19V19H9V14ZM6 6H12V12H6V6Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgPathCrop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"opacity\":\"0.5\",\"x\":\"6\",\"y\":\"6\",\"width\":\"8\",\"height\":\"8\",\"stroke\":\"currentColor\",\"strokeWidth\":\"2\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M9 9H19V19H9V9ZM15 11H17V17H11V15H15V11Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgPathDivide (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 5H15V9H9V15H5V5Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 15V19H19V9H15V15H9Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 10H14V14H10V10Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgPathExclude (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M5 5H15V9H9V15H5V5ZM9 15V19H19V9H15V15H9Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgPathFront (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M5 5H15V9H19V19H9V15H5V5ZM11 11V17H17V11H11Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgPathIntersect (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M15 5H5V15H9V19H19V9H15V5ZM13 7H7V13H9V9H13V7ZM17 17H11V15H15V11H17V17Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgPathOutline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M5 5H15V9H19V19H9V15H5V5ZM7 7H13V9H9V13H7V7ZM11 17H17V11H15V15H11V17ZM13 11H11V13H13V11Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgPathTrim (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 5H15V8H8V15H5V5Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 9H9V19H19V9Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgPathUnite (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15 5H5V15H9V19H19V9H15V5Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgPatreon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"opacity\":\"0.5\",\"d\":\"M21 10C21 13.3137 18.3137 16 15 16C11.6863 16 9 13.3137 9 10C9 6.68629 11.6863 4 15 4C18.3137 4 21 6.68629 21 10Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 4H7V20H3V4Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgPaypal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M6.47005 3.54443H14.4701C16.1089 3.54443 17.4146 4.31866 18.0963 5.51496C19.3165 6.38743 19.9427 7.91487 19.6082 9.65332C19.0865 12.365 16.425 14.5633 13.6636 14.5633H11.6636L10.5301 20.4553H6.39824L6.62891 19.2563H3.44727L6.47005 3.54443ZM8.0922 5.50842H14.0922C15.7491 5.50842 16.8385 6.82737 16.5254 8.45439C16.2124 10.0814 14.6155 11.4004 12.9587 11.4004H8.95866L7.82511 17.2923H5.82511L8.0922 5.50842Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgPen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M21.2635 2.29289C20.873 1.90237 20.2398 1.90237 19.8493 2.29289L18.9769 3.16525C17.8618 2.63254 16.4857 2.82801 15.5621 3.75165L4.95549 14.3582L10.6123 20.0151L21.2189 9.4085C22.1426 8.48486 22.338 7.1088 21.8053 5.99367L22.6777 5.12132C23.0682 4.7308 23.0682 4.09763 22.6777 3.70711L21.2635 2.29289ZM16.9955 10.8035L10.6123 17.1867L7.78392 14.3582L14.1671 7.9751L16.9955 10.8035ZM18.8138 8.98525L19.8047 7.99429C20.1953 7.60376 20.1953 6.9706 19.8047 6.58007L18.3905 5.16586C18 4.77534 17.3668 4.77534 16.9763 5.16586L15.9853 6.15683L18.8138 8.98525Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 22.9502L4.12171 15.1717L9.77817 20.8289L2 22.9502Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgPentagonBottomLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M13.3301 9.23205L10 5L5 13.6603L8.33013 17.8923L13.6603 18.6603L18.6603 10L13.3301 9.23205ZM15.4512 11.5583L12.2531 11.0975L10.255 8.5583L7.40908 13.4876L9.40716 16.0268L12.6052 16.4876L15.4512 11.5583Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgPentagonBottomRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M10.3301 8.23205L13.6603 4L18.6603 12.6603L15.3301 16.8923L10 17.6603L5 9L10.3301 8.23205ZM8.20908 10.5583L11.4072 10.0975L13.4052 7.5583L16.2512 12.4876L14.2531 15.0268L11.055 15.4876L8.20908 10.5583Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgPentagonDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M12 8L7 6V16L12 18.5L17 16V6L12 8ZM15 8.95407L12 10.1541L9 8.95407V14.7639L12 16.2639L15 14.7639V8.95407Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgPentagonLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M16 12L18 7H8L6 12L8 17H18L16 12ZM15.0459 15L13.8459 12L15.0459 9H9.35407L8.15407 12L9.35407 15H15.0459Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgPentagonRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M8 12L6 7H16L18 12L16 17H6L8 12ZM8.95407 15L10.1541 12L8.95407 9H14.6459L15.8459 12L14.6459 15H8.95407Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgPentagonTopLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M14.3301 15.1601L11 19.3922L6 10.7319L9.33013 6.49988L14.6603 5.73193L19.6603 14.3922L14.3301 15.1601ZM16.4512 12.8339L13.2531 13.2947L11.255 15.8339L8.40908 10.9046L10.4072 8.36536L13.6052 7.90459L16.4512 12.8339Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgPentagonTopRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M10.3301 15.1601L5 14.3922L10 5.73193L15.3301 6.49988L18.6603 10.7319L13.6603 19.3922L10.3301 15.1601ZM13.4052 15.8339L11.4072 13.2947L8.20908 12.8339L11.055 7.90459L14.2531 8.36536L16.2512 10.9046L13.4052 15.8339Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgPentagonUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M12 16L17 18V8L12 6L7 8V18L12 16ZM9 15.0459L12 13.8459L15 15.0459V9.35407L12 8.15407L9 9.35407V15.0459Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgPerformance (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M11 9V13.1707C9.83481 13.5825 9 14.6938 9 16C9 17.6569 10.3431 19 12 19C13.6569 19 15 17.6569 15 16C15 14.6938 14.1652 13.5825 13 13.1707V9H11ZM11 16C11 15.4477 11.4477 15 12 15C12.5523 15 13 15.4477 13 16C13 16.5523 12.5523 17 12 17C11.4477 17 11 16.5523 11 16Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 5C15.866 5 19 8.13401 19 12V13H17V12C17 9.23858 14.7614 7 12 7C9.23858 7 7 9.23858 7 12V13H5V12C5 8.13401 8.13401 5 12 5Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M12 23C18.0751 23 23 18.0751 23 12C23 5.92487 18.0751 1 12 1C5.92487 1 1 5.92487 1 12C1 18.0751 5.92487 23 12 23ZM12 21C16.9706 21 21 16.9706 21 12C21 7.02944 16.9706 3 12 3C7.02944 3 3 7.02944 3 12C3 16.9706 7.02944 21 12 21Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgPexels (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M12 5C12.7111 5 13.3875 5.14845 14 5.41604C15.7659 6.1876 17 7.94968 17 10C17 12.0503 15.7659 13.8124 14 14.584C13.3875 14.8516 12.7111 15 12 15V19H6V5H12ZM8 7V17H10V13H12L12.0032 12.9988C13.6427 13.0303 15.0746 11.6934 15.0443 9.95469L15.0375 9.56529C15.0121 8.10183 13.7882 6.94549 12.3257 7.00299L12.0203 7.00762L12 7H8Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgPhone (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M22 12C22 10.6868 21.7413 9.38647 21.2388 8.1731C20.7362 6.95996 19.9997 5.85742 19.0711 4.92896C18.1425 4.00024 17.0401 3.26367 15.8268 2.76123C14.6136 2.25854 13.3132 2 12 2V4C13.0506 4 14.0909 4.20703 15.0615 4.60889C16.0321 5.01099 16.914 5.60034 17.6569 6.34326C18.3997 7.08594 18.989 7.96802 19.391 8.93848C19.7931 9.90918 20 10.9495 20 12H22Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 10V5C2 4.44775 2.44772 4 3 4H8C8.55228 4 9 4.44775 9 5V9C9 9.55225 8.55228 10 8 10H6C6 14.4182 9.58173 18 14 18V16C14 15.4478 14.4477 15 15 15H19C19.5523 15 20 15.4478 20 16V21C20 21.5522 19.5523 22 19 22H14C7.37259 22 2 16.6274 2 10Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17.5433 9.70386C17.8448 10.4319 18 11.2122 18 12H16.2C16.2 11.4485 16.0914 10.9023 15.8803 10.3928C15.6692 9.88306 15.3599 9.42017 14.9698 9.03027C14.5798 8.64014 14.1169 8.33081 13.6073 8.11963C13.0977 7.90869 12.5515 7.80005 12 7.80005V6C12.7879 6 13.5681 6.15527 14.2961 6.45679C15.024 6.7583 15.6855 7.2002 16.2426 7.75732C16.7998 8.31445 17.2418 8.97583 17.5433 9.70386Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgPhotoscan (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 8C9.55228 8 10 7.55228 10 7C10 6.44772 9.55228 6 9 6C8.44772 6 8 6.44772 8 7C8 7.55228 8.44772 8 9 8Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M17 3C18.1046 3 19 3.89543 19 5V19C19 20.1046 18.1046 21 17 21H7C5.89543 21 5 20.1046 5 19V5C5 3.89543 5.89543 3 7 3H17ZM12.4649 5H17V16H7L7 10.4649C7.58835 10.8052 8.27143 11 9 11C11.2091 11 13 9.20914 13 7C13 6.27143 12.8052 5.58835 12.4649 5ZM9 5C7.89543 5 7 5.89543 7 7C7 8.10457 7.89543 9 9 9C10.1046 9 11 8.10457 11 7C11 5.89543 10.1046 5 9 5Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgPiano (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M22 21C23.1046 21 24 20.1046 24 19V5C24 3.89543 23.1046 3 22 3H3C1.89543 3 1 3.89543 1 5V19C1 20.1046 1.89543 21 3 21H22ZM11 5H8.98486V13H7.98511V19H12V13H11V5ZM18.0151 19H22V5H19.0151V13H18.0151V19ZM17.0151 13H16.0151V5H14V13H13V19H17.0151V13ZM6.98511 19V13H5.98486V5H3L3 19H6.98511Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgPill (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M12.6569 2.75736C15 0.414213 18.799 0.414214 21.1421 2.75736C23.4853 5.1005 23.4853 8.8995 21.1421 11.2426L11.2426 21.1421C8.89949 23.4853 5.1005 23.4853 2.75736 21.1421C0.414214 18.799 0.414213 15 2.75736 12.6569L12.6569 2.75736ZM19.7279 9.82843L15.4853 14.0711L9.82843 8.41421L14.0711 4.17157C15.6332 2.60948 18.1658 2.60948 19.7279 4.17157C21.29 5.73367 21.29 8.26633 19.7279 9.82843Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgPinAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 11C13.1046 11 14 10.1046 14 9C14 7.89543 13.1046 7 12 7C10.8954 7 10 7.89543 10 9C10 10.1046 10.8954 11 12 11Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M18 9C18 11.973 15.8377 14.441 13 14.917V20C13 20.5523 12.5523 21 12 21C11.4477 21 11 20.5523 11 20V14.917C8.16229 14.441 6 11.973 6 9C6 5.68629 8.68629 3 12 3C15.3137 3 18 5.68629 18 9ZM12 13C14.2091 13 16 11.2091 16 9C16 6.79086 14.2091 5 12 5C9.79086 5 8 6.79086 8 9C8 11.2091 9.79086 13 12 13Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgPinBottom (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 11C13.1046 11 14 10.1046 14 9C14 7.89543 13.1046 7 12 7C10.8954 7 10 7.89543 10 9C10 10.1046 10.8954 11 12 11Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M18 9C18 11.973 15.8377 14.441 13 14.917V20H16C16.5523 20 17 20.4477 17 21C17 21.5523 16.5523 22 16 22H8C7.44772 22 7 21.5523 7 21C7 20.4477 7.44772 20 8 20H11V14.917C8.16229 14.441 6 11.973 6 9C6 5.68629 8.68629 3 12 3C15.3137 3 18 5.68629 18 9ZM12 13C14.2091 13 16 11.2091 16 9C16 6.79086 14.2091 5 12 5C9.79086 5 8 6.79086 8 9C8 11.2091 9.79086 13 12 13Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgPinTop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 14C13.1046 14 14 14.8954 14 16C14 17.1046 13.1046 18 12 18C10.8954 18 10 17.1046 10 16C10 14.8954 10.8954 14 12 14Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M8 5C7.44772 5 7 4.55228 7 4C7 3.44772 7.44772 3 8 3H16C16.5523 3 17 3.44772 17 4C17 4.55228 16.5523 5 16 5H13V10.083C15.8377 10.559 18 13.027 18 16C18 19.3137 15.3137 22 12 22C8.68629 22 6 19.3137 6 16C6 13.027 8.16229 10.559 11 10.083V5H8ZM12 12C14.2091 12 16 13.7909 16 16C16 18.2091 14.2091 20 12 20C9.79086 20 8 18.2091 8 16C8 13.7909 9.79086 12 12 12Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgPin (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M16.2721 10.2721C16.2721 12.4813 14.4813 14.2721 12.2721 14.2721C10.063 14.2721 8.27214 12.4813 8.27214 10.2721C8.27214 8.06298 10.063 6.27212 12.2721 6.27212C14.4813 6.27212 16.2721 8.06298 16.2721 10.2721ZM14.2721 10.2721C14.2721 11.3767 13.3767 12.2721 12.2721 12.2721C11.1676 12.2721 10.2721 11.3767 10.2721 10.2721C10.2721 9.16755 11.1676 8.27212 12.2721 8.27212C13.3767 8.27212 14.2721 9.16755 14.2721 10.2721Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M5.79417 16.5183C2.19424 13.0909 2.05438 7.39409 5.48178 3.79417C8.90918 0.194243 14.6059 0.054383 18.2059 3.48178C21.8058 6.90918 21.9457 12.6059 18.5183 16.2059L12.3124 22.7241L5.79417 16.5183ZM17.0698 14.8268L12.243 19.8965L7.17324 15.0698C4.3733 12.404 4.26452 7.97318 6.93028 5.17324C9.59603 2.3733 14.0268 2.26452 16.8268 4.93028C19.6267 7.59603 19.7355 12.0268 17.0698 14.8268Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgPlayBackwards (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 7H5V17H2V7Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 12L13.0023 7.00003V17L6 12Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21.0023 7.00003L14 12L21.0023 17V7.00003Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgPlayButtonO (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M12 21C16.9706 21 21 16.9706 21 12C21 7.02944 16.9706 3 12 3C7.02944 3 3 7.02944 3 12C3 16.9706 7.02944 21 12 21ZM12 23C18.0751 23 23 18.0751 23 12C23 5.92487 18.0751 1 12 1C5.92487 1 1 5.92487 1 12C1 18.0751 5.92487 23 12 23Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 12L10 16.3301V7.66987L16 12Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgPlayButtonR (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M19 3H5C3.89543 3 3 3.89543 3 5V19C3 20.1046 3.89543 21 5 21H19C20.1046 21 21 20.1046 21 19V5C21 3.89543 20.1046 3 19 3ZM5 1C2.79086 1 1 2.79086 1 5V19C1 21.2091 2.79086 23 5 23H19C21.2091 23 23 21.2091 23 19V5C23 2.79086 21.2091 1 19 1H5Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 12L10 16.3301V7.66987L16 12Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgPlayButton (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15 12.3301L9 16.6603L9 8L15 12.3301Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgPlayForwards (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M21.0023 17H18.0023V7H21.0023V17Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17.0023 12L10 17V7L17.0023 12Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 17L9.00232 12L2 7V17Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgPlayListAdd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 5H14V7H2V5Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 9H14V11H2V9Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 13H2V15H10V13Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 9H18V13H22V15H18V19H16V15H12V13H16V9Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgPlayListCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15 6H3V8H15V6Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 10H3V12H15V10Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 14H11V16H3V14Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.9905 15.025L13.4049 13.6106L15.526 15.7321L19.7687 11.4895L21.1829 12.9037L15.526 18.5606L11.9905 15.025Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgPlayListRemove (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.9644 4.63379H3.96442V6.63379H15.9644V4.63379Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.9644 8.63379H3.96442V10.6338H15.9644V8.63379Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.96442 12.6338H11.9644V14.6338H3.96442V12.6338Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.9645 13.7093L14.3787 12.295L16.5 14.4163L18.6213 12.2951L20.0355 13.7093L17.9142 15.8305L20.0356 17.9519L18.6214 19.3661L16.5 17.2447L14.3786 19.3661L12.9644 17.9519L15.0858 15.8305L12.9645 13.7093Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgPlayListSearch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15.8787 4.87866H3.87872V6.87866H15.8787V4.87866Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.8787 8.87866H3.87872V10.8787H15.8787V8.87866Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3.87872 12.8787H11.8787V14.8787H3.87872V12.8787Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M13.7574 12.7573C12.5858 13.9289 12.5858 15.8284 13.7574 17C14.681 17.9236 16.0571 18.1191 17.1722 17.5864L18.7071 19.1213L20.1213 17.7071L18.5864 16.1722C19.1191 15.057 18.9236 13.681 18 12.7573C16.8284 11.5858 14.9289 11.5858 13.7574 12.7573ZM15.1716 15.5858C15.5621 15.9763 16.1953 15.9763 16.5858 15.5858C16.9763 15.1952 16.9763 14.5621 16.5858 14.1716C16.1953 13.781 15.5621 13.781 15.1716 14.1716C14.7811 14.5621 14.7811 15.1952 15.1716 15.5858Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgPlayList (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 5H4V7H16V5Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 9H4V11H16V9Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 13H12V15H4V13Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 16L14 13V19L20 16Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgPlayPauseO (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 9H11V15H9V9Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 15H13V9H15V15Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M23 12C23 18.0751 18.0751 23 12 23C5.92487 23 1 18.0751 1 12C1 5.92487 5.92487 1 12 1C18.0751 1 23 5.92487 23 12ZM21 12C21 16.9706 16.9706 21 12 21C7.02944 21 3 16.9706 3 12C3 7.02944 7.02944 3 12 3C16.9706 3 21 7.02944 21 12Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgPlayPauseR (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 9H11V15H9V9Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 15H13V9H15V15Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M1 5C1 2.79086 2.79086 1 5 1H19C21.2091 1 23 2.79086 23 5V19C23 21.2091 21.2091 23 19 23H5C2.79086 23 1 21.2091 1 19V5ZM5 3H19C20.1046 3 21 3.89543 21 5V19C21 20.1046 20.1046 21 19 21H5C3.89543 21 3 20.1046 3 19V5C3 3.89543 3.89543 3 5 3Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgPlayPause (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 7H8V17H11V7Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 17H16V7H13V17Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgPlayStopO (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15 9H9V15H15V9Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M23 12C23 18.0751 18.0751 23 12 23C5.92487 23 1 18.0751 1 12C1 5.92487 5.92487 1 12 1C18.0751 1 23 5.92487 23 12ZM21 12C21 16.9706 16.9706 21 12 21C7.02944 21 3 16.9706 3 12C3 7.02944 7.02944 3 12 3C16.9706 3 21 7.02944 21 12Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgPlayStopR (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15 9H9V15H15V9Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M1 5C1 2.79086 2.79086 1 5 1H19C21.2091 1 23 2.79086 23 5V19C23 21.2091 21.2091 23 19 23H5C2.79086 23 1 21.2091 1 19V5ZM5 3H19C20.1046 3 21 3.89543 21 5V19C21 20.1046 20.1046 21 19 21H5C3.89543 21 3 20.1046 3 19V5C3 3.89543 3.89543 3 5 3Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgPlayStop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 7H17V17H7V7Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgPlayTrackNextO (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M12 21C7.02944 21 3 16.9706 3 12C3 7.02944 7.02944 3 12 3C16.9706 3 21 7.02944 21 12C21 16.9706 16.9706 21 12 21ZM1 12C1 5.92487 5.92487 1 12 1C18.0751 1 23 5.92487 23 12C23 18.0751 18.0751 23 12 23C5.92487 23 1 18.0751 1 12ZM14 9C14 8.44772 14.4477 8 15 8C15.5523 8 16 8.44772 16 9V15C16 15.5523 15.5523 16 15 16C14.4477 16 14 15.5523 14 15V9ZM13 12L7 15.4641V8.5359L13 12Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgPlayTrackNextR (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15 9C15 8.44772 15.4477 8 16 8C16.5523 8 17 8.44772 17 9V15C17 15.5523 16.5523 16 16 16C15.4477 16 15 15.5523 15 15V9Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 12L8 15.4641V8.5359L14 12Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M1 5C1 2.79086 2.79086 1 5 1H19C21.2091 1 23 2.79086 23 5V19C23 21.2091 21.2091 23 19 23H5C2.79086 23 1 21.2091 1 19V5ZM5 3H19C20.1046 3 21 3.89543 21 5V19C21 20.1046 20.1046 21 19 21H5C3.89543 21 3 20.1046 3 19V5C3 3.89543 3.89543 3 5 3Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgPlayTrackNext (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 17L14 12L6 7V17Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 7H15V12V17H18V7Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgPlayTrackPrevO (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M8 8C8.55228 8 9 8.44772 9 9V15C9 15.5523 8.55228 16 8 16C7.44771 16 7 15.5523 7 15V9C7 8.44772 7.44771 8 8 8ZM16 15.4641L10 12L16 8.5359V15.4641Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M3 12C3 16.9706 7.02944 21 12 21C16.9706 21 21 16.9706 21 12C21 7.02944 16.9706 3 12 3C7.02944 3 3 7.02944 3 12ZM12 1C5.92487 1 1 5.92487 1 12C1 18.0751 5.92487 23 12 23C18.0751 23 23 18.0751 23 12C23 5.92487 18.0751 1 12 1Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgPlayTrackPrevR (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M8 8C8.55228 8 9 8.44772 9 9V15C9 15.5523 8.55228 16 8 16C7.44771 16 7 15.5523 7 15V9C7 8.44772 7.44771 8 8 8ZM16 15.4641L10 12L16 8.5359V15.4641Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M19 3H5C3.89543 3 3 3.89543 3 5V19C3 20.1046 3.89543 21 5 21H19C20.1046 21 21 20.1046 21 19V5C21 3.89543 20.1046 3 19 3ZM5 1C2.79086 1 1 2.79086 1 5V19C1 21.2091 2.79086 23 5 23H19C21.2091 23 23 21.2091 23 19V5C23 2.79086 21.2091 1 19 1H5Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgPlayTrackPrev (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18 17L10 12L18 7V17Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 7H9V17H6V7Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgPlug (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M9 2C8.44771 2 8 2.44772 8 3V5C8 5.55228 8.44771 6 9 6C9.55229 6 10 5.55228 10 5V3C10 2.44772 9.55229 2 9 2ZM8 9H16V11C16 13.2091 14.2091 15 12 15C9.79086 15 8 13.2091 8 11V9ZM13 16.917C15.8377 16.441 18 13.973 18 11V7H6V11C6 13.973 8.16229 16.441 11 16.917V22C11 22.5523 11.4477 23 12 23C12.5523 23 13 22.5523 13 22V16.917ZM14 3C14 2.44772 14.4477 2 15 2C15.5523 2 16 2.44772 16 3V5C16 5.55228 15.5523 6 15 6C14.4477 6 14 5.55228 14 5V3Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgPocket (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M3 4H21V11C21 15.9706 16.9706 20 12 20C7.02944 20 3 15.9706 3 11V4ZM1 2H23V11C23 17.0751 18.0751 22 12 22C5.92487 22 1 17.0751 1 11V2ZM11.2929 14.6935C11.6834 15.084 12.3166 15.084 12.7071 14.6935L16.9497 10.4508C17.3403 10.0603 17.3403 9.42714 16.9497 9.03661C16.5592 8.64609 15.9261 8.64609 15.5355 9.03661L12 12.5721L8.46447 9.03661C8.07394 8.64609 7.44078 8.64609 7.05025 9.03661C6.65973 9.42714 6.65973 10.0603 7.05025 10.4508L11.2929 14.6935Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgPokemon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M3 12C3 7.02944 7.02944 3 12 3C16.9706 3 21 7.02944 21 12C21 16.9706 16.9706 21 12 21C7.02944 21 3 16.9706 3 12ZM5.07089 13C5.55612 16.3923 8.47353 19 12 19C15.5265 19 18.4439 16.3923 18.9291 13H14.8293C14.4174 14.1652 13.3062 15 12 15C10.6938 15 9.58251 14.1652 9.17068 13H5.07089ZM18.9291 11C18.4439 7.60771 15.5265 5 12 5C8.47353 5 5.55612 7.60771 5.07089 11H9.17068C9.58251 9.83481 10.6938 9 12 9C13.3062 9 14.4174 9.83481 14.8293 11H18.9291ZM12 13C12.5523 13 13 12.5523 13 12C13 11.4477 12.5523 11 12 11C11.4477 11 11 11.4477 11 12C11 12.5523 11.4477 13 12 13Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgPolaroid (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M3 4C3 2.89543 3.89543 2 5 2H19C20.1046 2 21 2.89543 21 4V20C21 21.1046 20.1046 22 19 22H5C3.89543 22 3 21.1046 3 20V4ZM5 4H19V15H5V4Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgPoll (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M19 4H5C4.44771 4 4 4.44772 4 5V19C4 19.5523 4.44772 20 5 20H19C19.5523 20 20 19.5523 20 19V5C20 4.44771 19.5523 4 19 4ZM5 2C3.34315 2 2 3.34315 2 5V19C2 20.6569 3.34315 22 5 22H19C20.6569 22 22 20.6569 22 19V5C22 3.34315 20.6569 2 19 2H5Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 7H13V17H11V7Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 13H17V17H15V13Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 10H9V17H7V10Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgPresentation (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22ZM20 12H18C18 8.68629 15.3137 6 12 6C8.68629 6 6 8.68629 6 12H4C4 7.58172 7.58172 4 12 4C16.4183 4 20 7.58172 20 12ZM4.25204 14H19.748C18.8599 17.4505 15.7277 20 12 20C8.27232 20 5.14012 17.4505 4.25204 14ZM8 12C8 9.79086 9.79086 8 12 8C14.2091 8 16 9.79086 16 12H8Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgPrinter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M8 4H16V6H8V4ZM18 6H22V18H18V22H6V18H2V6H6V2H18V6ZM20 16H18V14H6V16H4V8H20V16ZM8 16H16V20H8V16ZM8 10H6V12H8V10Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgProductHunt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M12 19C8.13401 19 5 15.866 5 12C5 8.13401 8.13401 5 12 5C15.866 5 19 8.13401 19 12C19 15.866 15.866 19 12 19ZM3 12C3 7.02944 7.02944 3 12 3C16.9706 3 21 7.02944 21 12C21 16.9706 16.9706 21 12 21C7.02944 21 3 16.9706 3 12ZM9 16V8H13C14.6569 8 16 9.34315 16 11C16 12.6569 14.6569 14 13 14H11V16H9ZM14 11C14 11.5523 13.5523 12 13 12H11V10H13C13.5523 10 14 10.4477 14 11Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgProfile (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M16 9C16 11.2091 14.2091 13 12 13C9.79086 13 8 11.2091 8 9C8 6.79086 9.79086 5 12 5C14.2091 5 16 6.79086 16 9ZM14 9C14 10.1046 13.1046 11 12 11C10.8954 11 10 10.1046 10 9C10 7.89543 10.8954 7 12 7C13.1046 7 14 7.89543 14 9Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M12 1C5.92487 1 1 5.92487 1 12C1 18.0751 5.92487 23 12 23C18.0751 23 23 18.0751 23 12C23 5.92487 18.0751 1 12 1ZM3 12C3 14.0902 3.71255 16.014 4.90798 17.5417C6.55245 15.3889 9.14627 14 12.0645 14C14.9448 14 17.5092 15.3531 19.1565 17.4583C20.313 15.9443 21 14.0524 21 12C21 7.02944 16.9706 3 12 3C7.02944 3 3 7.02944 3 12ZM12 21C9.84977 21 7.87565 20.2459 6.32767 18.9878C7.59352 17.1812 9.69106 16 12.0645 16C14.4084 16 16.4833 17.1521 17.7538 18.9209C16.1939 20.2191 14.1881 21 12 21Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgPullClear (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 6H2V16C2 17.1046 2.89543 18 4 18H20C21.1046 18 22 17.1046 22 16V6H20V16H4V6Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 12H18V14H6V12Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 8H6V10H18V8Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgPushChevronDownO (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 14V16H8V14H16Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.75732 8.70261L9.17153 7.2884L12 10.1168L14.8284 7.28842L16.2426 8.70264L11.9999 12.9453L7.75732 8.70261Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M12 23C18.0751 23 23 18.0751 23 12C23 5.92487 18.0751 1 12 1C5.92487 1 1 5.92487 1 12C1 18.0751 5.92487 23 12 23ZM12 21C16.9706 21 21 16.9706 21 12C21 7.02944 16.9706 3 12 3C7.02944 3 3 7.02944 3 12C3 16.9706 7.02944 21 12 21Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgPushChevronDownR (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.17154 7.28839L7.75732 8.7026L11.9999 12.9453L16.2426 8.70263L14.8284 7.28842L12 10.1168L9.17154 7.28839Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.00001 14H16V16H8.00001V14Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M1 5C1 2.79086 2.79086 1 5 1H19C21.2091 1 23 2.79086 23 5V19C23 21.2091 21.2091 23 19 23H5C2.79086 23 1 21.2091 1 19V5ZM5 3H19C20.1046 3 21 3.89543 21 5V19C21 20.1046 20.1046 21 19 21H5C3.89543 21 3 20.1046 3 19V5C3 3.89543 3.89543 3 5 3Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgPushChevronDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 7.41421L6.41421 6L12.0711 11.6569L17.7279 6L19.1421 7.41421L12.0711 14.4853L5 7.41421Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 16.3432H5V18.3432H19V16.3432Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgPushChevronLeftO (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 16H8V8H10V16Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15.2974 7.75732L16.7116 9.17153L13.8832 12L16.7116 14.8284L15.2974 16.2426L11.0547 11.9999L15.2974 7.75732Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M1 12C1 18.0751 5.92487 23 12 23C18.0751 23 23 18.0751 23 12C23 5.92487 18.0751 1 12 1C5.92487 1 1 5.92487 1 12ZM3 12C3 16.9706 7.02944 21 12 21C16.9706 21 21 16.9706 21 12C21 7.02944 16.9706 3 12 3C7.02944 3 3 7.02944 3 12Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgPushChevronLeftR (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16.6743 9.1716L15.26 7.75739L11.0174 12L15.26 16.2426L16.6742 14.8284L13.8458 12L16.6743 9.1716Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.96265 8.00007V16.0001H7.96265V8.00007H9.96265Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M1 5C1 2.79086 2.79086 1 5 1H19C21.2091 1 23 2.79086 23 5V19C23 21.2091 21.2091 23 19 23H5C2.79086 23 1 21.2091 1 19V5ZM5 3H19C20.1046 3 21 3.89543 21 5V19C21 20.1046 20.1046 21 19 21H5C3.89543 21 3 20.1046 3 19V5C3 3.89543 3.89543 3 5 3Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgPushChevronLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16.929 5L18.3432 6.41421L12.6863 12.0711L18.3432 17.7279L16.929 19.1421L9.85789 12.0711L16.929 5Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 19V5H6V19H8Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgPushChevronRightO (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 8H16V16H14V8Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.70261 16.2427L7.2884 14.8285L10.1168 12L7.28842 9.17164L8.70264 7.75743L12.9453 12.0001L8.70261 16.2427Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M23 12C23 5.92487 18.0751 1 12 1C5.92487 1 1 5.92487 1 12C1 18.0751 5.92487 23 12 23C18.0751 23 23 18.0751 23 12ZM21 12C21 7.02944 16.9706 3 12 3C7.02944 3 3 7.02944 3 12C3 16.9706 7.02944 21 12 21C16.9706 21 21 16.9706 21 12Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgPushChevronRightR (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.64429 14.8284L9.0585 16.2426L13.3012 12L9.05853 7.75739L7.64432 9.1716L10.4727 12L7.64429 14.8284Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.3559 16L14.3559 7.99996H16.3559V16H14.3559Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M1 5C1 2.79086 2.79086 1 5 1H19C21.2091 1 23 2.79086 23 5V19C23 21.2091 21.2091 23 19 23H5C2.79086 23 1 21.2091 1 19V5ZM5 3H19C20.1046 3 21 3.89543 21 5V19C21 20.1046 20.1046 21 19 21H5C3.89543 21 3 20.1046 3 19V5C3 3.89543 3.89543 3 5 3Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgPushChevronRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.41421 5L6 6.41421L11.6569 12.0711L6 17.7279L7.41421 19.1421L14.4853 12.0711L7.41421 5Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.3432 19V5H18.3432V19H16.3432Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgPushChevronUpO (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M12 3C7.02944 3 3 7.02944 3 12C3 16.9706 7.02944 21 12 21C16.9706 21 21 16.9706 21 12C21 7.02944 16.9706 3 12 3ZM12 1C5.92487 1 1 5.92487 1 12C1 18.0751 5.92487 23 12 23C18.0751 23 23 18.0751 23 12C23 5.92487 18.0751 1 12 1ZM8 10V8H16V10H8ZM16.2427 15.2974L14.8285 16.7116L12 13.8832L9.17164 16.7116L7.75743 15.2974L12.0001 11.0547L16.2427 15.2974Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgPushChevronUpR (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M5 21H19C20.1046 21 21 20.1046 21 19V5C21 3.89543 20.1046 3 19 3H5C3.89543 3 3 3.89543 3 5V19C3 20.1046 3.89543 21 5 21ZM1 19C1 21.2091 2.79086 23 5 23H19C21.2091 23 23 21.2091 23 19V5C23 2.79086 21.2091 1 19 1H5C2.79086 1 1 2.79086 1 5V19ZM9.17154 16.7116L7.75732 15.2974L11.9999 11.0547L16.2426 15.2974L14.8284 16.7116L12 13.8832L9.17154 16.7116ZM8.00001 10H16V8H8.00001V10Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgPushChevronUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 16.929L6.41421 18.3432L12.0711 12.6863L17.7279 18.3432L19.1421 16.929L12.0711 9.85789L5 16.929Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 8H5V6H19V8Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgPushDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.0001 1H13.0001V15.4853L16.2428 12.2427L17.657 13.6569L12.0001 19.3137L6.34326 13.6569L7.75748 12.2427L11.0001 15.4853V1Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 20.2877H6V22.2877H18V20.2877Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgPushLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M22.2877 11.0001V13.0001H7.80237L11.045 16.2428L9.63079 17.657L3.97394 12.0001L9.63079 6.34326L11.045 7.75748L7.80236 11.0001H22.2877Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 18V6H1V18H3Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgPushRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1 12.9999V10.9999H15.4853L12.2427 7.75724L13.6569 6.34303L19.3137 11.9999L13.6569 17.6567L12.2427 16.2425L15.4853 12.9999H1Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20.2877 6V18H22.2877V6H20.2877Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgPushUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M11.0001 22.2877H13.0001V7.80237L16.2428 11.045L17.657 9.63079L12.0001 3.97394L6.34326 9.63079L7.75748 11.045L11.0001 7.80236V22.2877ZM18 3H6V1H18V3Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgQr (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M9 3H3V9H5V5H9V3ZM3 21V15H5V19H9V21H3ZM15 3V5H19V9H21V3H15ZM19 15H21V21H15V19H19V15ZM7 7H11V11H7V7ZM7 13H11V17H7V13ZM17 7H13V11H17V7ZM13 13H17V17H13V13Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgQuoteO (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M20 5H4V19H20V5ZM4 3C2.89543 3 2 3.89543 2 5V19C2 20.1046 2.89543 21 4 21H20C21.1046 21 22 20.1046 22 19V5C22 3.89543 21.1046 3 20 3H4Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.06723 9.19629H12.0672L9.93267 14.8038H6.93267L9.06723 9.19629Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.0672 9.19629H17.0672L14.9327 14.8038H11.9327L14.0672 9.19629Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgQuote (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.13456 9H12.1346L10 14.6075H7L9.13456 9Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.1346 9H17.1346L15 14.6075H12L14.1346 9Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgRadioCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M12 20C16.4183 20 20 16.4183 20 12C20 7.58172 16.4183 4 12 4C7.58172 4 4 7.58172 4 12C4 16.4183 7.58172 20 12 20ZM12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgRadioChecked (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 16C14.2091 16 16 14.2091 16 12C16 9.79086 14.2091 8 12 8C9.79086 8 8 9.79086 8 12C8 14.2091 9.79086 16 12 16Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12ZM20 12C20 16.4183 16.4183 20 12 20C7.58172 20 4 16.4183 4 12C4 7.58172 7.58172 4 12 4C16.4183 4 20 7.58172 20 12Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgRatio (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 6V12H6V8L10 8V6H4Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 18H14V16H18V12H20V18Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M4 2C1.79086 2 0 3.79086 0 6V18C0 20.2091 1.79086 22 4 22H20C22.2091 22 24 20.2091 24 18V6C24 3.79086 22.2091 2 20 2H4ZM20 4H4C2.89543 4 2 4.89543 2 6V18C2 19.1046 2.89543 20 4 20H20C21.1046 20 22 19.1046 22 18V6C22 4.89543 21.1046 4 20 4Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgRead (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M7 14C8.10457 14 9 13.1046 9 12C9 10.8954 8.10457 10 7 10C5.89543 10 5 10.8954 5 12C5 13.1046 5.89543 14 7 14ZM10.4649 10C9.77325 8.8044 8.48056 8 7 8C5.13616 8 3.57006 9.27477 3.12602 11H2C1.44772 11 1 11.4477 1 12C1 12.5523 1.44772 13 2 13H3.12602C3.57006 14.7252 5.13616 16 7 16C9.20914 16 11 14.2091 11 12H13C13 14.2091 14.7909 16 17 16C18.8638 16 20.4299 14.7252 20.874 13H22C22.5523 13 23 12.5523 23 12C23 11.4477 22.5523 11 22 11H20.874C20.4299 9.27477 18.8638 8 17 8C15.5194 8 14.2267 8.8044 13.5351 10H10.4649ZM15 12C15 13.1046 15.8954 14 17 14C18.1046 14 19 13.1046 19 12C19 10.8954 18.1046 10 17 10C15.8954 10 15 10.8954 15 12Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgReadme (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M4 5.5H9C10.1046 5.5 11 6.39543 11 7.5V16.5C11 17.0523 10.5523 17.5 10 17.5H4C3.44772 17.5 3 17.0523 3 16.5V6.5C3 5.94772 3.44772 5.5 4 5.5ZM14 19.5C13.6494 19.5 13.3128 19.4398 13 19.3293V19.5C13 20.0523 12.5523 20.5 12 20.5C11.4477 20.5 11 20.0523 11 19.5V19.3293C10.6872 19.4398 10.3506 19.5 10 19.5H4C2.34315 19.5 1 18.1569 1 16.5V6.5C1 4.84315 2.34315 3.5 4 3.5H9C10.1947 3.5 11.2671 4.02376 12 4.85418C12.7329 4.02376 13.8053 3.5 15 3.5H20C21.6569 3.5 23 4.84315 23 6.5V16.5C23 18.1569 21.6569 19.5 20 19.5H14ZM13 7.5V16.5C13 17.0523 13.4477 17.5 14 17.5H20C20.5523 17.5 21 17.0523 21 16.5V6.5C21 5.94772 20.5523 5.5 20 5.5H15C13.8954 5.5 13 6.39543 13 7.5ZM5 7.5H9V9.5H5V7.5ZM15 7.5H19V9.5H15V7.5ZM19 10.5H15V12.5H19V10.5ZM5 10.5H9V12.5H5V10.5ZM19 13.5H15V15.5H19V13.5ZM5 13.5H9V15.5H5V13.5Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgRecord (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 15C13.6569 15 15 13.6569 15 12C15 10.3431 13.6569 9 12 9C10.3431 9 9 10.3431 9 12C9 13.6569 10.3431 15 12 15Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12ZM20 12C20 16.4183 16.4183 20 12 20C7.58172 20 4 16.4183 4 12C4 7.58172 7.58172 4 12 4C16.4183 4 20 7.58172 20 12Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgRedo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.1459 11.0499L12.9716 9.05752L15.3462 8.84977C14.4471 7.98322 13.2242 7.4503 11.8769 7.4503C9.11547 7.4503 6.87689 9.68888 6.87689 12.4503C6.87689 15.2117 9.11547 17.4503 11.8769 17.4503C13.6977 17.4503 15.2911 16.4771 16.1654 15.0224L18.1682 15.5231C17.0301 17.8487 14.6405 19.4503 11.8769 19.4503C8.0109 19.4503 4.87689 16.3163 4.87689 12.4503C4.87689 8.58431 8.0109 5.4503 11.8769 5.4503C13.8233 5.4503 15.5842 6.24474 16.853 7.52706L16.6078 4.72412L18.6002 4.5498L19.1231 10.527L13.1459 11.0499Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgRemote (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17.0514 4.32178L18.4656 5.73599L14.223 9.97863L18.4656 14.2213L17.0514 15.6355L11.3946 9.97863L17.0514 4.32178Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6.94864 19.6785L5.53442 18.2643L9.77706 14.0216L5.53442 9.77897L6.94864 8.36476L12.6055 14.0216L6.94864 19.6785Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgRemoveR (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 11C7.44772 11 7 11.4477 7 12C7 12.5523 7.44772 13 8 13H16C16.5523 13 17 12.5523 17 12C17 11.4477 16.5523 11 16 11H8Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M1 5C1 2.79086 2.79086 1 5 1H19C21.2091 1 23 2.79086 23 5V19C23 21.2091 21.2091 23 19 23H5C2.79086 23 1 21.2091 1 19V5ZM5 3H19C20.1046 3 21 3.89543 21 5V19C21 20.1046 20.1046 21 19 21H5C3.89543 21 3 20.1046 3 19V5C3 3.89543 3.89543 3 5 3Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgRemove (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 11C7.44772 11 7 11.4477 7 12C7 12.5523 7.44772 13 8 13H16C16.5523 13 17 12.5523 17 12C17 11.4477 16.5523 11 16 11H8Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M23 12C23 18.0751 18.0751 23 12 23C5.92487 23 1 18.0751 1 12C1 5.92487 5.92487 1 12 1C18.0751 1 23 5.92487 23 12ZM21 12C21 16.9706 16.9706 21 12 21C7.02944 21 3 16.9706 3 12C3 7.02944 7.02944 3 12 3C16.9706 3 21 7.02944 21 12Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgRename (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M10 4H8V6H5C3.34315 6 2 7.34315 2 9V15C2 16.6569 3.34315 18 5 18H8V20H10V4ZM8 8V16H5C4.44772 16 4 15.5523 4 15V9C4 8.44772 4.44772 8 5 8H8Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 16H12V18H19C20.6569 18 22 16.6569 22 15V9C22 7.34315 20.6569 6 19 6H12V8H19C19.5523 8 20 8.44771 20 9V15C20 15.5523 19.5523 16 19 16Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgReorder (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 4C3 3.44772 3.44772 3 4 3H12C12.5523 3 13 3.44772 13 4C13 4.55228 12.5523 5 12 5H4C3.44772 5 3 4.55228 3 4Z\",\"fill\":\"currentColor\",\"fillOpacity\":\"0.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 12C3 11.4477 3.44772 11 4 11H12C12.5523 11 13 11.4477 13 12C13 12.5523 12.5523 13 12 13H4C3.44772 13 3 12.5523 3 12Z\",\"fill\":\"currentColor\",\"fillOpacity\":\"0.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 16C3 15.4477 3.44772 15 4 15H12C12.5523 15 13 15.4477 13 16C13 16.5523 12.5523 17 12 17H4C3.44772 17 3 16.5523 3 16Z\",\"fill\":\"currentColor\",\"fillOpacity\":\"0.5\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 20C3 19.4477 3.44772 19 4 19H12C12.5523 19 13 19.4477 13 20C13 20.5523 12.5523 21 12 21H4C3.44772 21 3 20.5523 3 20Z\",\"fill\":\"currentColor\",\"fillOpacity\":\"0.5\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M15.1707 9C15.5825 10.1652 16.6938 11 18 11C19.6569 11 21 9.65685 21 8C21 6.34315 19.6569 5 18 5C16.6938 5 15.5825 5.83481 15.1707 7H4C3.44772 7 3 7.44772 3 8C3 8.55228 3.44772 9 4 9H15.1707ZM19 8C19 8.55228 18.5523 9 18 9C17.4477 9 17 8.55228 17 8C17 7.44772 17.4477 7 18 7C18.5523 7 19 7.44772 19 8Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgRepeat (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18.3701 7.99993L13.8701 10.598V8.99993H6.88989V12.9999H4.88989V6.99993H13.8701V5.40186L18.3701 7.99993Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.1299 16.9999H19.1101V10.9999H17.1101V14.9999H10.1299V13.4019L5.62988 15.9999L10.1299 18.598V16.9999Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgRing (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M6.34326 3.68567C6.83159 3.19735 7.36734 2.78535 7.93569 2.44968C10.4352 0.97348 13.5651 0.97348 16.0645 2.44968C16.6329 2.78535 17.1686 3.19735 17.657 3.68567L12.0001 9.34253L6.34326 3.68567ZM12.0001 6.5141L9.4131 3.92709C11.0447 3.14768 12.9556 3.14768 14.5871 3.92709L12.0001 6.5141Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 12.6576C2 9.52653 3.43899 6.73156 5.69172 4.89796L7.11528 6.32152C5.22043 7.78449 4 10.0785 4 12.6576C4 17.0759 7.58172 20.6576 12 20.6576C16.4183 20.6576 20 17.0759 20 12.6576C20 10.0785 18.7796 7.78451 16.8847 6.32154L18.3083 4.89798C20.561 6.73158 22 9.52654 22 12.6576C22 18.1804 17.5228 22.6576 12 22.6576C6.47715 22.6576 2 18.1804 2 12.6576Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgRowFirst (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"g\",\"attr\":{\"opacity\":\"0.5\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 11C5.44772 11 5 11.4477 5 12C5 12.5523 5.44772 13 6 13H14C14.5523 13 15 12.5523 15 12C15 11.4477 14.5523 11 14 11H6Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 15C5.44772 15 5 15.4477 5 16C5 16.5523 5.44772 17 6 17H14C14.5523 17 15 16.5523 15 16C15 15.4477 14.5523 15 14 15H6Z\",\"fill\":\"currentColor\"}}]},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 8C5 7.44772 5.44772 7 6 7H18C18.5523 7 19 7.44772 19 8C19 8.55228 18.5523 9 18 9H6C5.44772 9 5 8.55228 5 8Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgRowLast (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"g\",\"attr\":{\"opacity\":\"0.5\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 13C5.44772 13 5 12.5523 5 12C5 11.4477 5.44772 11 6 11H14C14.5523 11 15 11.4477 15 12C15 12.5523 14.5523 13 14 13H6Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 9C5.44772 9 5 8.55228 5 8C5 7.44772 5.44772 7 6 7H14C14.5523 7 15 7.44772 15 8C15 8.55228 14.5523 9 14 9H6Z\",\"fill\":\"currentColor\"}}]},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 16C5 16.5523 5.44772 17 6 17H18C18.5523 17 19 16.5523 19 16C19 15.4477 18.5523 15 18 15H6C5.44772 15 5 15.4477 5 16Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgRuler (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M3 6C1.34315 6 0 7.34315 0 9V16C0 17.6569 1.34315 19 3 19H21C22.6569 19 24 17.6569 24 16V9C24 7.34315 22.6569 6 21 6H3ZM9 8H7V13C7 13.5523 6.55228 14 6 14C5.44772 14 5 13.5523 5 13V8H3C2.44772 8 2 8.44772 2 9V16C2 16.5523 2.44772 17 3 17H21C21.5523 17 22 16.5523 22 16V9C22 8.44772 21.5523 8 21 8H19V11C19 11.5523 18.5523 12 18 12C17.4477 12 17 11.5523 17 11V8H15V13C15 13.5523 14.5523 14 14 14C13.4477 14 13 13.5523 13 13V8H11V11C11 11.5523 10.5523 12 10 12C9.44771 12 9 11.5523 9 11V8Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgSandClock (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 6H11V7C11 7.55228 11.4477 8 12 8C12.5523 8 13 7.55228 13 7V6Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M6 2V4H7V7C7 9.76142 9.23858 12 12 12C9.23858 12 7 14.2386 7 17V20H6V22H18V20H17V17C17 14.2386 14.7614 12 12 12C14.7614 12 17 9.76142 17 7V4H18V2H6ZM9 4H15V7C15 8.65685 13.6569 10 12 10C10.3431 10 9 8.65685 9 7V4ZM9 17V20H15V17C15 15.3431 13.6569 14 12 14C10.3431 14 9 15.3431 9 17Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgScan (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 3H13V21H11V3Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 8C5 7.44771 5.44772 7 6 7H9V5H6C4.34315 5 3 6.34315 3 8V16C3 17.6569 4.34315 19 6 19H9V17H6C5.44772 17 5 16.5523 5 16V8Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 8C19 7.44771 18.5523 7 18 7H15V5H18C19.6569 5 21 6.34315 21 8V16C21 17.6569 19.6569 19 18 19H15V17H18C18.5523 17 19 16.5523 19 16V8Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgScreenMirror (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 8H19V14H16V16H21V6H3V16H8V14H5V8Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.3301 19L12 13L7.66987 19H16.3301Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgScreenShot (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 8V6H8V10H10V8H12Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 14H16V18H12V16H14V14Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M4 3C4 2.44772 4.44772 2 5 2H19C19.5523 2 20 2.44772 20 3V21C20 21.5523 19.5523 22 19 22H5C4.44772 22 4 21.5523 4 21V3ZM6 20V4H18V20H6Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgScreenWide (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M11 16H3C1.34315 16 0 14.6569 0 13V8C0 6.34315 1.34315 5 3 5H21C22.6569 5 24 6.34315 24 8V13C24 14.6569 22.6569 16 21 16H13V17H15C15.5523 17 16 17.4477 16 18C16 18.5523 15.5523 19 15 19H9C8.44771 19 8 18.5523 8 18C8 17.4477 8.44771 17 9 17H11V16ZM3 7H21C21.5523 7 22 7.44772 22 8V13C22 13.5523 21.5523 14 21 14H3C2.44772 14 2 13.5523 2 13V8C2 7.44772 2.44772 7 3 7Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgScreen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M11 17H4C2.34315 17 1 15.6569 1 14V6C1 4.34315 2.34315 3 4 3H20C21.6569 3 23 4.34315 23 6V14C23 15.6569 21.6569 17 20 17H13V19H16C16.5523 19 17 19.4477 17 20C17 20.5523 16.5523 21 16 21H8C7.44772 21 7 20.5523 7 20C7 19.4477 7.44772 19 8 19H11V17ZM4 5H20C20.5523 5 21 5.44772 21 6V14C21 14.5523 20.5523 15 20 15H4C3.44772 15 3 14.5523 3 14V6C3 5.44772 3.44772 5 4 5Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgScrollH (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.18188 9.17154L5.76766 7.75732L1.52502 12L5.76766 16.2426L7.18188 14.8284L4.35345 12L7.18188 9.17154Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.8181 14.8284L18.2323 16.2426L22.4749 12L18.2323 7.75733L16.8181 9.17155L19.6465 12L16.8181 14.8284Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M14.9999 12C14.9999 13.6569 13.6567 15 11.9999 15C10.343 15 8.99988 13.6569 8.99988 12C8.99988 10.3431 10.343 9 11.9999 9C13.6567 9 14.9999 10.3431 14.9999 12ZM12.9999 12C12.9999 12.5523 12.5522 13 11.9999 13C11.4476 13 10.9999 12.5523 10.9999 12C10.9999 11.4477 11.4476 11 11.9999 11C12.5522 11 12.9999 11.4477 12.9999 12Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgScrollV (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.17154 16.8182L7.75732 18.2324L12 22.475L16.2426 18.2324L14.8284 16.8182L12 19.6466L9.17154 16.8182Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.8284 7.182L16.2426 5.76779L12 1.52515L7.75733 5.76779L9.17155 7.182L12 4.35357L14.8284 7.182Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M12 9.00018C13.6569 9.00018 15 10.3433 15 12.0002C15 13.657 13.6569 15.0002 12 15.0002C10.3431 15.0002 9 13.657 9 12.0002C9 10.3433 10.3431 9.00018 12 9.00018ZM12 11.0002C12.5523 11.0002 13 11.4479 13 12.0002C13 12.5525 12.5523 13.0002 12 13.0002C11.4477 13.0002 11 12.5525 11 12.0002C11 11.4479 11.4477 11.0002 12 11.0002Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgSearchFound (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.66542 10.2366L9.19751 8.951L10.4831 10.4831L13.5473 7.91194L14.8328 9.44402L10.2366 13.3007L7.66542 10.2366Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M16.2071 4.89344C19.0923 7.77862 19.3131 12.3193 16.8693 15.4578C16.8846 15.4713 16.8996 15.4854 16.9143 15.5L21.1569 19.7427C21.5474 20.1332 21.5474 20.7664 21.1569 21.1569C20.7664 21.5474 20.1332 21.5474 19.7427 21.1569L15.5 16.9143C15.4854 16.8996 15.4713 16.8846 15.4578 16.8693C12.3193 19.3131 7.77862 19.0923 4.89344 16.2071C1.76924 13.083 1.76924 8.01763 4.89344 4.89344C8.01763 1.76924 13.083 1.76924 16.2071 4.89344ZM14.7929 14.7929C17.1361 12.4498 17.1361 8.6508 14.7929 6.30765C12.4498 3.96451 8.6508 3.96451 6.30765 6.30765C3.96451 8.6508 3.96451 12.4498 6.30765 14.7929C8.6508 17.1361 12.4498 17.1361 14.7929 14.7929Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgSearchLoading (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.55024 10.5503C8.55024 11.1026 8.10253 11.5503 7.55024 11.5503C6.99796 11.5503 6.55024 11.1026 6.55024 10.5503C6.55024 9.99801 6.99796 9.55029 7.55024 9.55029C8.10253 9.55029 8.55024 9.99801 8.55024 10.5503Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.5502 11.5503C11.1025 11.5503 11.5502 11.1026 11.5502 10.5503C11.5502 9.99801 11.1025 9.55029 10.5502 9.55029C9.99796 9.55029 9.55024 9.99801 9.55024 10.5503C9.55024 11.1026 9.99796 11.5503 10.5502 11.5503Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13.5502 11.5503C14.1025 11.5503 14.5502 11.1026 14.5502 10.5503C14.5502 9.99801 14.1025 9.55029 13.5502 9.55029C12.998 9.55029 12.5502 9.99801 12.5502 10.5503C12.5502 11.1026 12.998 11.5503 13.5502 11.5503Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M16.2071 4.89344C19.0922 7.7786 19.313 12.3192 16.8693 15.4577C16.8846 15.4712 16.8996 15.4853 16.9142 15.4999L21.1568 19.7426C21.5473 20.1331 21.5473 20.7663 21.1568 21.1568C20.7663 21.5473 20.1331 21.5473 19.7426 21.1568L15.5 16.9141C15.4853 16.8995 15.4713 16.8846 15.4578 16.8693C12.3193 19.3131 7.77858 19.0923 4.89338 16.2071C1.76918 13.083 1.76918 8.01763 4.89338 4.89344C8.01757 1.76924 13.0829 1.76924 16.2071 4.89344ZM6.30759 14.7929C8.65074 17.1361 12.4497 17.1361 14.7929 14.7929C17.136 12.4498 17.136 8.6508 14.7929 6.30765C12.4497 3.96451 8.65074 3.96451 6.30759 6.30765C3.96445 8.6508 3.96445 12.4498 6.30759 14.7929Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgSearch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M18.319 14.4326C20.7628 11.2941 20.542 6.75347 17.6569 3.86829C14.5327 0.744098 9.46734 0.744098 6.34315 3.86829C3.21895 6.99249 3.21895 12.0578 6.34315 15.182C9.22833 18.0672 13.769 18.2879 16.9075 15.8442C16.921 15.8595 16.9351 15.8745 16.9497 15.8891L21.1924 20.1317C21.5829 20.5223 22.2161 20.5223 22.6066 20.1317C22.9971 19.7412 22.9971 19.1081 22.6066 18.7175L18.364 14.4749C18.3493 14.4603 18.3343 14.4462 18.319 14.4326ZM16.2426 5.28251C18.5858 7.62565 18.5858 11.4246 16.2426 13.7678C13.8995 16.1109 10.1005 16.1109 7.75736 13.7678C5.41421 11.4246 5.41421 7.62565 7.75736 5.28251C10.1005 2.93936 13.8995 2.93936 16.2426 5.28251Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgSelectO (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.17154 11.508L7.75732 10.0938L12 5.85114L16.2426 10.0938L14.8284 11.508L12 8.67956L9.17154 11.508Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.17154 12.492L7.75732 13.9062L12 18.1489L16.2426 13.9062L14.8284 12.492L12 15.3204L9.17154 12.492Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M23 12C23 18.0751 18.0751 23 12 23C5.92487 23 1 18.0751 1 12C1 5.92487 5.92487 1 12 1C18.0751 1 23 5.92487 23 12ZM21 12C21 16.9706 16.9706 21 12 21C7.02944 21 3 16.9706 3 12C3 7.02944 7.02944 3 12 3C16.9706 3 21 7.02944 21 12Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgSelectR (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.17154 11.508L7.75732 10.0938L12 5.85113L16.2426 10.0938L14.8284 11.508L12 8.67956L9.17154 11.508Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.17154 12.492L7.75732 13.9062L12 18.1489L16.2426 13.9062L14.8284 12.492L12 15.3204L9.17154 12.492Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M1 5C1 2.79086 2.79086 1 5 1H19C21.2091 1 23 2.79086 23 5V19C23 21.2091 21.2091 23 19 23H5C2.79086 23 1 21.2091 1 19V5ZM5 3H19C20.1046 3 21 3.89543 21 5V19C21 20.1046 20.1046 21 19 21H5C3.89543 21 3 20.1046 3 19V5C3 3.89543 3.89543 3 5 3Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgSelect (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 9.65685L7.41421 11.0711L11.6569 6.82843L15.8995 11.0711L17.3137 9.65685L11.6569 4L6 9.65685Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 14.4433L7.41421 13.0291L11.6569 17.2717L15.8995 13.0291L17.3137 14.4433L11.6569 20.1001L6 14.4433Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgServer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 6C8.44772 6 8 6.44772 8 7C8 7.55228 8.44772 8 9 8H15C15.5523 8 16 7.55228 16 7C16 6.44772 15.5523 6 15 6H9Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 10C8.44772 10 8 10.4477 8 11C8 11.5523 8.44772 12 9 12H15C15.5523 12 16 11.5523 16 11C16 10.4477 15.5523 10 15 10H9Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 17C13 17.5523 12.5523 18 12 18C11.4477 18 11 17.5523 11 17C11 16.4477 11.4477 16 12 16C12.5523 16 13 16.4477 13 17Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M4 5C4 3.34315 5.34315 2 7 2H17C18.6569 2 20 3.34315 20 5V19C20 20.6569 18.6569 22 17 22H7C5.34315 22 4 20.6569 4 19V5ZM7 4H17C17.5523 4 18 4.44772 18 5V19C18 19.5523 17.5523 20 17 20H7C6.44772 20 6 19.5523 6 19V5C6 4.44772 6.44771 4 7 4Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgServerless (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11.7872 6H5V9H10.6953L11.7872 6Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.96735 11H5V14H8.87544L9.96735 11Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.0038 14L12.0957 11H20V14H11.0038Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.1475 16H5V19H7.05559L8.1475 16Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9.18394 19L10.2759 16H20V19H9.18394Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.8236 9L13.9156 6H20V9H12.8236Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgShapeCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M12 17C14.7614 17 17 14.7614 17 12C17 9.23858 14.7614 7 12 7C9.23858 7 7 9.23858 7 12C7 14.7614 9.23858 17 12 17ZM12 20C16.4183 20 20 16.4183 20 12C20 7.58172 16.4183 4 12 4C7.58172 4 4 7.58172 4 12C4 16.4183 7.58172 20 12 20Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgShapeHalfCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 4C11.5817 4 8 7.58172 8 12C8 16.4183 11.5817 20 16 20V17C13.2386 17 11 14.7614 11 12C11 9.23858 13.2386 7 16 7V4Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgShapeHexagon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M6 15.2348L12 18.5681L18 15.2348V8.76521L12 5.43188L6 8.76521V15.2348ZM12 2L3 7V17L12 22L21 17V7L12 2Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgShapeRhombus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M12 6.34315L6.34317 12L12 17.6569L17.6569 12L12 6.34315ZM2.10052 12L12 21.8995L21.8995 12L12 2.10051L2.10052 12Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgShapeSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M17 7H7V17H17V7ZM4 4V20H20V4H4Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgShapeTriangle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M11.6603 5L3 20H20.3205L11.6603 5ZM11.6603 11L8.19615 17H15.1244L11.6603 11Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgShapeZigzag (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M2.31212 9L1 10.5094L4.77355 13.7897L6.28297 15.1018L7.59509 13.5924L9.13456 11.8214L11.3988 13.7897L12.9082 15.1018L14.2203 13.5924L15.7584 11.823L18.0209 13.7897L19.5303 15.1018L20.8424 13.5924L22.8106 11.3283L21.3012 10.0162L19.333 12.2803L15.5594 9L14.2473 10.5094L14.249 10.5109L12.7109 12.2803L8.93736 9L8.05395 10.0163L6.08567 12.2803L2.31212 9Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgShare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18 9C19.6569 9 21 7.65685 21 6C21 4.34315 19.6569 3 18 3C16.3431 3 15 4.34315 15 6C15 6.12549 15.0077 6.24919 15.0227 6.37063L8.08261 9.84066C7.54305 9.32015 6.80891 9 6 9C4.34315 9 3 10.3431 3 12C3 13.6569 4.34315 15 6 15C6.80891 15 7.54305 14.6798 8.08261 14.1593L15.0227 17.6294C15.0077 17.7508 15 17.8745 15 18C15 19.6569 16.3431 21 18 21C19.6569 21 21 19.6569 21 18C21 16.3431 19.6569 15 18 15C17.1911 15 16.457 15.3202 15.9174 15.8407L8.97733 12.3706C8.99229 12.2492 9 12.1255 9 12C9 11.8745 8.99229 11.7508 8.97733 11.6294L15.9174 8.15934C16.457 8.67985 17.1911 9 18 9Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgShield (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M7 8V13C7 15.7614 9.23858 18 12 18C14.7614 18 17 15.7614 17 13V8H7ZM5 4H19V13C19 16.866 15.866 20 12 20C8.13401 20 5 16.866 5 13V4Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgShoppingBag (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M5 4H19C19.5523 4 20 4.44771 20 5V19C20 19.5523 19.5523 20 19 20H5C4.44772 20 4 19.5523 4 19V5C4 4.44772 4.44771 4 5 4ZM2 5C2 3.34315 3.34315 2 5 2H19C20.6569 2 22 3.34315 22 5V19C22 20.6569 20.6569 22 19 22H5C3.34315 22 2 20.6569 2 19V5ZM12 12C9.23858 12 7 9.31371 7 6H9C9 8.56606 10.6691 10 12 10C13.3309 10 15 8.56606 15 6H17C17 9.31371 14.7614 12 12 12Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgShoppingCart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M5.79166 2H1V4H4.2184L6.9872 16.6776H7V17H20V16.7519L22.1932 7.09095L22.5308 6H6.6552L6.08485 3.38852L5.79166 2ZM19.9869 8H7.092L8.62081 15H18.3978L19.9869 8Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 22C11.1046 22 12 21.1046 12 20C12 18.8954 11.1046 18 10 18C8.89543 18 8 18.8954 8 20C8 21.1046 8.89543 22 10 22Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 20C19 21.1046 18.1046 22 17 22C15.8954 22 15 21.1046 15 20C15 18.8954 15.8954 18 17 18C18.1046 18 19 18.8954 19 20Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgShortcut (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16.1925 7.70711C15.8019 7.31658 15.1688 7.31658 14.7782 7.70711L7.70718 14.7782C7.31665 15.1687 7.31665 15.8019 7.70718 16.1924C8.0977 16.5829 8.73087 16.5829 9.12139 16.1924L16.1925 9.12132C16.583 8.7308 16.583 8.09763 16.1925 7.70711Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M3 6C3 4.34315 4.34315 3 6 3H18C19.6569 3 21 4.34315 21 6V18C21 19.6569 19.6569 21 18 21H6C4.34315 21 3 19.6569 3 18V6ZM6 5H18C18.5523 5 19 5.44772 19 6V18C19 18.5523 18.5523 19 18 19H6C5.44772 19 5 18.5523 5 18V6C5 5.44772 5.44772 5 6 5Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgShutterstock (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 17C12 17.5523 12.4477 18 13 18H17C17.5523 18 18 17.5523 18 17V13C18 12.4477 17.5523 12 17 12H16V16H12V17Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 6C11.5523 6 12 6.44772 12 7V8H8V12H7C6.44772 12 6 11.5523 6 11V7C6 6.44772 6.44772 6 7 6H11Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M5 2C3.34315 2 2 3.34315 2 5V19C2 20.6569 3.34315 22 5 22H19C20.6569 22 22 20.6569 22 19V5C22 3.34315 20.6569 2 19 2H5ZM19 4H5C4.44771 4 4 4.44772 4 5V19C4 19.5523 4.44772 20 5 20H19C19.5523 20 20 19.5523 20 19V5C20 4.44771 19.5523 4 19 4Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgSidebarOpen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M3 4H21V20H3V4ZM9 6H19V18H9V6Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgSidebarRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M3 4H17V20H3V4ZM5 6H15V18H5V6Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 4H19V20H21V4Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgSidebar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M21 20H7V4H21V20ZM19 18H9V6H19V18Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 20H5V4H3V20Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgSignal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15 7C15 6.44772 15.4477 6 16 6C16.5523 6 17 6.44772 17 7V17C17 17.5523 16.5523 18 16 18C15.4477 18 15 17.5523 15 17V7Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 15C7 14.4477 7.44772 14 8 14C8.55228 14 9 14.4477 9 15V17C9 17.5523 8.55228 18 8 18C7.44772 18 7 17.5523 7 17V15Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 10C11.4477 10 11 10.4477 11 11V17C11 17.5523 11.4477 18 12 18C12.5523 18 13 17.5523 13 17V11C13 10.4477 12.5523 10 12 10Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgSize (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M12 6V4H20V20H12V18H8V16H4V8H8V6H12ZM14 6H18V18H14V6ZM12 8H10V16H12V8ZM8 10V14H6V10H8Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgSketch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M5.20879 3H18.903L20.1118 10.2527L12.0559 21.1858L4 10.2527L5.20879 3ZM6.90304 5L6.11184 9.74726L12.0559 17.8142L18 9.74726L17.2088 5H6.90304Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.05592 8H16.0559V10H8.05592V8Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgSlack (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M13 10C13 11.1046 13.8954 12 15 12C16.1046 12 17 11.1046 17 10V5C17 3.89543 16.1046 3 15 3C13.8954 3 13 3.89543 13 5V10ZM5 8C3.89543 8 3 8.89543 3 10C3 11.1046 3.89543 12 5 12H10C11.1046 12 12 11.1046 12 10C12 8.89543 11.1046 8 10 8H5ZM15 13C13.8954 13 13 13.8954 13 15C13 16.1046 13.8954 17 15 17H20C21.1046 17 22 16.1046 22 15C22 13.8954 21.1046 13 20 13H15ZM10 22C8.89543 22 8 21.1046 8 20L8 15C8 13.8954 8.89543 13 10 13C11.1046 13 12 13.8954 12 15V20C12 21.1046 11.1046 22 10 22ZM8 5C8 3.89543 8.89543 3 10 3C11.1046 3 12 3.89543 12 5V7H10C8.89543 7 8 6.10457 8 5ZM3 15C3 16.1046 3.89543 17 5 17C6.10457 17 7 16.1046 7 15V13H5C3.89543 13 3 13.8954 3 15ZM17 20C17 21.1046 16.1046 22 15 22C13.8954 22 13 21.1046 13 20V18H15C16.1046 18 17 18.8954 17 20ZM22 10C22 8.89543 21.1046 8 20 8C18.8954 8 18 8.89543 18 10V12H20C21.1046 12 22 11.1046 22 10Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgSleep (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M21 12C21 16.9706 16.9706 21 12 21C7.02944 21 3 16.9706 3 12C3 7.02944 7.02944 3 12 3C16.9706 3 21 7.02944 21 12ZM16.899 17C15.6364 18.2372 13.9073 19 12 19C10.0927 19 8.36355 18.2372 7.10102 17H16.899ZM18.3264 15C18.7583 14.0907 19 13.0736 19 12C19 8.13401 15.866 5 12 5C8.13401 5 5 8.13401 5 12C5 13.0736 5.24169 14.0907 5.67363 15H18.3264Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgSmartHomeBoiler (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M5 5C5 2.79086 6.79086 1 9 1H15C17.2091 1 19 2.79086 19 5V21H15.144L15.8865 22.9999H13.8865L13.144 21H11.144L11.8865 22.9999H9.88653L9.14397 21H5V5ZM9 3H15C16.1046 3 17 3.89543 17 5V7H7V5C7 3.89543 7.89543 3 9 3ZM7 9H17V19H7V9Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgSmartHomeCooker (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M15 16C15 17.6569 13.6569 19 12 19C10.3431 19 9 17.6569 9 16C9 14.3431 10.3431 13 12 13C13.6569 13 15 14.3431 15 16ZM13 16C13 16.5523 12.5523 17 12 17C11.4477 17 11 16.5523 11 16C11 15.4477 11.4477 15 12 15C12.5523 15 13 15.4477 13 16Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M15 1H9V3H11V5H7C4.79086 5 3 6.79086 3 9V19C3 21.2091 4.79086 23 7 23H17C19.2091 23 21 21.2091 21 19V9C21 6.79086 19.2091 5 17 5H13V3H15V1ZM17 7H7C5.89543 7 5 7.89543 5 9H19C19 7.89543 18.1046 7 17 7ZM19 11H5V19C5 20.1046 5.89543 21 7 21H17C18.1046 21 19 20.1046 19 19V11Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgSmartHomeHeat (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17 11H7C6.44772 11 6 11.4477 6 12C6 12.5523 6.44772 13 7 13H10V15H7C5.34315 15 4 13.6569 4 12C4 10.3431 5.34315 9 7 9H17C18.6569 9 20 10.3431 20 12C20 13.6569 18.6569 15 17 15H14V13H17C17.5523 13 18 12.5523 18 12C18 11.4477 17.5523 11 17 11Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M0 12C0 8.13401 3.13401 5 7 5H17C20.866 5 24 8.13401 24 12C24 15.866 20.866 19 17 19H7C3.13401 19 0 15.866 0 12ZM7 7H17C19.7614 7 22 9.23858 22 12C22 14.7614 19.7614 17 17 17H7C4.23858 17 2 14.7614 2 12C2 9.23858 4.23858 7 7 7Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgSmartHomeLight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M7.03435 6.5C7.03435 3.73858 9.27293 1.5 12.0344 1.5C14.7958 1.5 17.0344 3.73858 17.0344 6.5V10.5C17.0344 13.2614 14.7958 15.5 12.0344 15.5C9.27293 15.5 7.03435 13.2614 7.03435 10.5V6.5ZM15.0344 6.5V10.5C15.0344 12.1569 13.6912 13.5 12.0344 13.5C10.3775 13.5 9.03435 12.1569 9.03435 10.5V6.5C9.03435 4.84315 10.3775 3.5 12.0344 3.5C13.6912 3.5 15.0344 4.84315 15.0344 6.5Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.0344 16.5C11.4821 16.5 11.0344 16.9477 11.0344 17.5V21.5C11.0344 22.0523 11.4821 22.5 12.0344 22.5C12.5866 22.5 13.0344 22.0523 13.0344 21.5V17.5C13.0344 16.9477 12.5866 16.5 12.0344 16.5Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.74433 16.4397C7.93323 15.9207 8.50707 15.6531 9.02605 15.842C9.54502 16.0309 9.81261 16.6048 9.62372 17.1237L8.25564 20.8825C8.06675 21.4015 7.4929 21.6691 6.97393 21.4802C6.45495 21.2913 6.18736 20.7174 6.37625 20.1985L7.74433 16.4397Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14.974 15.8421C14.4551 16.031 14.1875 16.6048 14.3764 17.1238L15.7445 20.8825C15.9333 21.4015 16.5072 21.6691 17.0262 21.4802C17.5451 21.2913 17.8127 20.7175 17.6238 20.1985L16.2558 16.4397C16.0669 15.9208 15.493 15.6532 14.974 15.8421Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgSmartHomeRefrigerator (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 6C9 5.44772 9.44772 5 10 5C10.5523 5 11 5.44772 11 6V8C11 8.55228 10.5523 9 10 9C9.44772 9 9 8.55228 9 8V6Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 13C9.44772 13 9 13.4477 9 14V16C9 16.5523 9.44772 17 10 17C10.5523 17 11 16.5523 11 16V14C11 13.4477 10.5523 13 10 13Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M5 4C5 2.34315 6.34315 1 8 1H16C17.6569 1 19 2.34315 19 4V20C19 21.6569 17.6569 23 16 23H8C6.34315 23 5 21.6569 5 20V4ZM8 3H16C16.5523 3 17 3.44772 17 4V10H7V4C7 3.44772 7.44772 3 8 3ZM7 12H17V20C17 20.5523 16.5523 21 16 21H8C7.44772 21 7 20.5523 7 20V12Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgSmartHomeWashMachine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M6 4H18C18.5523 4 19 4.44772 19 5V8H5V5C5 4.44772 5.44771 4 6 4ZM19 19V10H5V19C5 19.5523 5.44772 20 6 20H18C18.5523 20 19 19.5523 19 19ZM3 5C3 3.34315 4.34315 2 6 2H18C19.6569 2 21 3.34315 21 5V19C21 20.6569 19.6569 22 18 22H6C4.34315 22 3 20.6569 3 19V5ZM7 5C6.44772 5 6 5.44772 6 6C6 6.55228 6.44772 7 7 7H9C9.55228 7 10 6.55228 10 6C10 5.44772 9.55228 5 9 5H7ZM14 7C14.5523 7 15 6.55228 15 6C15 5.44772 14.5523 5 14 5C13.4477 5 13 5.44772 13 6C13 6.55228 13.4477 7 14 7ZM18 6C18 6.55228 17.5523 7 17 7C16.4477 7 16 6.55228 16 6C16 5.44772 16.4477 5 17 5C17.5523 5 18 5.44772 18 6ZM14 15C14 16.1046 13.1046 17 12 17C10.8954 17 10 16.1046 10 15C10 13.8954 10.8954 13 12 13C13.1046 13 14 13.8954 14 15ZM16 15C16 17.2091 14.2091 19 12 19C9.79086 19 8 17.2091 8 15C8 12.7909 9.79086 11 12 11C14.2091 11 16 12.7909 16 15Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgSmartphoneChip (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M9 22C9 22.5523 8.55228 23 8 23C7.44772 23 7 22.5523 7 22C7 21.4477 7.44772 21 8 21C8.55228 21 9 21.4477 9 22ZM13 22C13 22.5523 12.5523 23 12 23C11.4477 23 11 22.5523 11 22C11 21.4477 11.4477 21 12 21C12.5523 21 13 21.4477 13 22ZM16 23C16.5523 23 17 22.5523 17 22C17 21.4477 16.5523 21 16 21C15.4477 21 15 21.4477 15 22C15 22.5523 15.4477 23 16 23Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M9 2C9 2.55228 8.55228 3 8 3C7.44772 3 7 2.55228 7 2C7 1.44772 7.44772 1 8 1C8.55228 1 9 1.44772 9 2ZM13 2C13 2.55228 12.5523 3 12 3C11.4477 3 11 2.55228 11 2C11 1.44772 11.4477 1 12 1C12.5523 1 13 1.44772 13 2ZM16 3C16.5523 3 17 2.55228 17 2C17 1.44772 16.5523 1 16 1C15.4477 1 15 1.44772 15 2C15 2.55228 15.4477 3 16 3ZM9 22C9 22.5523 8.55228 23 8 23C7.44772 23 7 22.5523 7 22C7 21.4477 7.44772 21 8 21C8.55228 21 9 21.4477 9 22ZM13 22C13 22.5523 12.5523 23 12 23C11.4477 23 11 22.5523 11 22C11 21.4477 11.4477 21 12 21C12.5523 21 13 21.4477 13 22ZM16 23C16.5523 23 17 22.5523 17 22C17 21.4477 16.5523 21 16 21C15.4477 21 15 21.4477 15 22C15 22.5523 15.4477 23 16 23ZM23 16C23 15.4477 22.5523 15 22 15C21.4477 15 21 15.4477 21 16C21 16.5523 21.4477 17 22 17C22.5523 17 23 16.5523 23 16ZM23 12C23 11.4477 22.5523 11 22 11C21.4477 11 21 11.4477 21 12C21 12.5523 21.4477 13 22 13C22.5523 13 23 12.5523 23 12ZM22 7C22.5523 7 23 7.44771 23 8C23 8.55229 22.5523 9 22 9C21.4477 9 21 8.55229 21 8C21 7.44771 21.4477 7 22 7ZM2 15C2.55228 15 3 15.4477 3 16C3 16.5523 2.55228 17 2 17C1.44772 17 1 16.5523 1 16C1 15.4477 1.44772 15 2 15ZM2 11C2.55228 11 3 11.4477 3 12C3 12.5523 2.55228 13 2 13C1.44772 13 1 12.5523 1 12C1 11.4477 1.44772 11 2 11ZM3 8C3 7.44771 2.55228 7 2 7C1.44772 7 1 7.44771 1 8C1 8.55229 1.44772 9 2 9C2.55228 9 3 8.55229 3 8ZM17 6H7C6.44772 6 6 6.44772 6 7V17C6 17.5523 6.44772 18 7 18H17C17.5523 18 18 17.5523 18 17V7C18 6.44772 17.5523 6 17 6ZM7 4C5.34315 4 4 5.34315 4 7V17C4 18.6569 5.34315 20 7 20H17C18.6569 20 20 18.6569 20 17V7C20 5.34315 18.6569 4 17 4H7ZM14 10H10V14H14V10ZM8 8V16H16V8H8Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgSmartphoneRam (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 4C5 4.55228 4.55228 5 4 5C3.44772 5 3 4.55228 3 4C3 3.44772 3.44772 3 4 3C4.55228 3 5 3.44772 5 4Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 4C9 4.55228 8.55228 5 8 5C7.44772 5 7 4.55228 7 4C7 3.44772 7.44772 3 8 3C8.55228 3 9 3.44772 9 4Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 5C12.5523 5 13 4.55228 13 4C13 3.44772 12.5523 3 12 3C11.4477 3 11 3.44772 11 4C11 4.55228 11.4477 5 12 5Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 4C17 4.55228 16.5523 5 16 5C15.4477 5 15 4.55228 15 4C15 3.44772 15.4477 3 16 3C16.5523 3 17 3.44772 17 4Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 5C20.5523 5 21 4.55228 21 4C21 3.44772 20.5523 3 20 3C19.4477 3 19 3.44772 19 4C19 4.55228 19.4477 5 20 5Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 20C5 20.5523 4.55228 21 4 21C3.44772 21 3 20.5523 3 20C3 19.4477 3.44772 19 4 19C4.55228 19 5 19.4477 5 20Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 20C9 20.5523 8.55228 21 8 21C7.44772 21 7 20.5523 7 20C7 19.4477 7.44772 19 8 19C8.55228 19 9 19.4477 9 20Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 21C12.5523 21 13 20.5523 13 20C13 19.4477 12.5523 19 12 19C11.4477 19 11 19.4477 11 20C11 20.5523 11.4477 21 12 21Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 20C17 20.5523 16.5523 21 16 21C15.4477 21 15 20.5523 15 20C15 19.4477 15.4477 19 16 19C16.5523 19 17 19.4477 17 20Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 21C20.5523 21 21 20.5523 21 20C21 19.4477 20.5523 19 20 19C19.4477 19 19 19.4477 19 20C19 20.5523 19.4477 21 20 21Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 12C5.55228 12 6 11.5523 6 11C6 10.4477 5.55228 10 5 10C4.44772 10 4 10.4477 4 11C4 11.5523 4.44772 12 5 12Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 13C20 13.5523 19.5523 14 19 14C18.4477 14 18 13.5523 18 13C18 12.4477 18.4477 12 19 12C19.5523 12 20 12.4477 20 13Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M0 9C0 7.34315 1.34315 6 3 6H21C22.6569 6 24 7.34315 24 9V15C24 16.6569 22.6569 18 21 18H3C1.34315 18 0 16.6569 0 15V9ZM3 8H21C21.5523 8 22 8.44772 22 9V15C22 15.5523 21.5523 16 21 16H3C2.44772 16 2 15.5523 2 15V9C2 8.44772 2.44772 8 3 8Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgSmartphoneShake (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 14H11V16H13V14Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M8 7C8 5.89543 8.89543 5 10 5H14C15.1046 5 16 5.89543 16 7V17C16 18.1046 15.1046 19 14 19H10C8.89543 19 8 18.1046 8 17V7ZM10 7H14V17H10V7Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 9H20V15H18V9Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M0 14H2V10H0V14Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 15H4V9H6V15Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M24 10H22V14H24V10Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgSmartphone (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 16H11V18H13V16Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M5 4C5 2.89543 5.89543 2 7 2H17C18.1046 2 19 2.89543 19 4V20C19 21.1046 18.1046 22 17 22H7C5.89543 22 5 21.1046 5 20V4ZM7 4H17V20H7L7 4Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgSmileMouthOpen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 17C14.2091 17 16 15.2091 16 13H8C8 15.2091 9.79086 17 12 17Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 10C10 10.5523 9.55228 11 9 11C8.44772 11 8 10.5523 8 10C8 9.44772 8.44772 9 9 9C9.55228 9 10 9.44772 10 10Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 11C15.5523 11 16 10.5523 16 10C16 9.44772 15.5523 9 15 9C14.4477 9 14 9.44772 14 10C14 10.5523 14.4477 11 15 11Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12ZM20 12C20 16.4183 16.4183 20 12 20C7.58172 20 4 16.4183 4 12C4 7.58172 7.58172 4 12 4C16.4183 4 20 7.58172 20 12Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgSmileNeutral (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 11C9.55228 11 10 10.5523 10 10C10 9.44772 9.55228 9 9 9C8.44772 9 8 9.44772 8 10C8 10.5523 8.44772 11 9 11Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 15C8.44772 15 8 15.4477 8 16C8 16.5523 8.44772 17 9 17H15C15.5523 17 16 16.5523 16 16C16 15.4477 15.5523 15 15 15H9Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 10C16 10.5523 15.5523 11 15 11C14.4477 11 14 10.5523 14 10C14 9.44772 14.4477 9 15 9C15.5523 9 16 9.44772 16 10Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12ZM20 12C20 16.4183 16.4183 20 12 20C7.58172 20 4 16.4183 4 12C4 7.58172 7.58172 4 12 4C16.4183 4 20 7.58172 20 12Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgSmileNoMouth (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 10C10 10.5523 9.55228 11 9 11C8.44772 11 8 10.5523 8 10C8 9.44772 8.44772 9 9 9C9.55228 9 10 9.44772 10 10Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 11C15.5523 11 16 10.5523 16 10C16 9.44772 15.5523 9 15 9C14.4477 9 14 9.44772 14 10C14 10.5523 14.4477 11 15 11Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22ZM12 20C16.4183 20 20 16.4183 20 12C20 7.58172 16.4183 4 12 4C7.58172 4 4 7.58172 4 12C4 16.4183 7.58172 20 12 20Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgSmileNone (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 9C7.44772 9 7 9.44772 7 10C7 10.5523 7.44772 11 8 11H9C9.55228 11 10 10.5523 10 10C10 9.44772 9.55228 9 9 9H8Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 9C14.4477 9 14 9.44772 14 10C14 10.5523 14.4477 11 15 11H16C16.5523 11 17 10.5523 17 10C17 9.44772 16.5523 9 16 9H15Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 15C8.44772 15 8 15.4477 8 16C8 16.5523 8.44772 17 9 17H15C15.5523 17 16 16.5523 16 16C16 15.4477 15.5523 15 15 15H9Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22ZM12 20C16.4183 20 20 16.4183 20 12C20 7.58172 16.4183 4 12 4C7.58172 4 4 7.58172 4 12C4 16.4183 7.58172 20 12 20Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgSmileSad (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 11C9.55228 11 10 10.5523 10 10C10 9.44772 9.55228 9 9 9C8.44772 9 8 9.44772 8 10C8 10.5523 8.44772 11 9 11Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 17C14 15.8954 13.1046 15 12 15C10.8954 15 10 15.8954 10 17H8C8 14.7909 9.79086 13 12 13C14.2091 13 16 14.7909 16 17H14Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 10C16 10.5523 15.5523 11 15 11C14.4477 11 14 10.5523 14 10C14 9.44772 14.4477 9 15 9C15.5523 9 16 9.44772 16 10Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12ZM20 12C20 16.4183 16.4183 20 12 20C7.58172 20 4 16.4183 4 12C4 7.58172 7.58172 4 12 4C16.4183 4 20 7.58172 20 12Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgSmileUpside (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 11H14C14 9.89543 13.1046 9 12 9C10.8954 9 10 9.89543 10 11H8C8 8.79086 9.79086 7 12 7C14.2091 7 16 8.79086 16 11Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 14C10 13.4477 9.55228 13 9 13C8.44772 13 8 13.4477 8 14C8 14.5523 8.44772 15 9 15C9.55228 15 10 14.5523 10 14Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 13C15.5523 13 16 13.4477 16 14C16 14.5523 15.5523 15 15 15C14.4477 15 14 14.5523 14 14C14 13.4477 14.4477 13 15 13Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22C17.5228 22 22 17.5228 22 12ZM20 12C20 7.58172 16.4183 4 12 4C7.58172 4 4 7.58172 4 12C4 16.4183 7.58172 20 12 20C16.4183 20 20 16.4183 20 12Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgSmile (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 13H14C14 14.1046 13.1046 15 12 15C10.8954 15 10 14.1046 10 13H8C8 15.2091 9.79086 17 12 17C14.2091 17 16 15.2091 16 13Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10 10C10 10.5523 9.55228 11 9 11C8.44772 11 8 10.5523 8 10C8 9.44771 8.44772 9 9 9C9.55228 9 10 9.44771 10 10Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 11C15.5523 11 16 10.5523 16 10C16 9.44771 15.5523 9 15 9C14.4477 9 14 9.44771 14 10C14 10.5523 14.4477 11 15 11Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12ZM20 12C20 16.4183 16.4183 20 12 20C7.58172 20 4 16.4183 4 12C4 7.58172 7.58172 4 12 4C16.4183 4 20 7.58172 20 12Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgSoftwareDownload (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 5C11 4.44772 11.4477 4 12 4C12.5523 4 13 4.44772 13 5V12.1578L16.2428 8.91501L17.657 10.3292L12.0001 15.9861L6.34326 10.3292L7.75748 8.91501L11 12.1575V5Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 14H6V18H18V14H20V18C20 19.1046 19.1046 20 18 20H6C4.89543 20 4 19.1046 4 18V14Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgSoftwareUpload (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 14.9861C11 15.5384 11.4477 15.9861 12 15.9861C12.5523 15.9861 13 15.5384 13 14.9861V7.82831L16.2428 11.0711L17.657 9.65685L12.0001 4L6.34326 9.65685L7.75748 11.0711L11 7.82854V14.9861Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 14H6V18H18V14H20V18C20 19.1046 19.1046 20 18 20H6C4.89543 20 4 19.1046 4 18V14Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgSortAz (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 8C6 7.44772 6.44772 7 7 7H17C17.5523 7 18 7.44772 18 8C18 8.55228 17.5523 9 17 9H7C6.44772 9 6 8.55228 6 8Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 12C8 11.4477 8.44772 11 9 11H15C15.5523 11 16 11.4477 16 12C16 12.5523 15.5523 13 15 13H9C8.44772 13 8 12.5523 8 12Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 15C10.4477 15 10 15.4477 10 16C10 16.5523 10.4477 17 11 17H13C13.5523 17 14 16.5523 14 16C14 15.4477 13.5523 15 13 15H11Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgSortZa (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 16C6 16.5523 6.44772 17 7 17H17C17.5523 17 18 16.5523 18 16C18 15.4477 17.5523 15 17 15H7C6.44772 15 6 15.4477 6 16Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 12C8 12.5523 8.44772 13 9 13H15C15.5523 13 16 12.5523 16 12C16 11.4477 15.5523 11 15 11H9C8.44772 11 8 11.4477 8 12Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 9C10.4477 9 10 8.55229 10 8C10 7.44771 10.4477 7 11 7H13C13.5523 7 14 7.44771 14 8C14 8.55229 13.5523 9 13 9H11Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgSpaceBetweenV (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 5V9H19V5H17V7H7V5H5Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 19V15H19V19H17V17H7V19H5Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 11H17V13H7V11Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgSpaceBetween (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M19 5L15 5L15 19H19V17H17L17 7L19 7V5Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 5L9 5L9 19H5L5 17H7L7 7H5L5 5Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 7V17H11L11 7H13Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgSpectrum (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 16H16C16 11.5817 12.4183 8 8 8V12C10.2091 12 12 13.7909 12 16Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgSpinnerAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 12C2 6.47715 6.47715 2 12 2V5C8.13401 5 5 8.13401 5 12H2Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgSpinnerTwoAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C17.5228 22 22 17.5228 22 12H19C19 15.866 15.866 19 12 19V22Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 12C2 6.47715 6.47715 2 12 2V5C8.13401 5 5 8.13401 5 12H2Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgSpinnerTwo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"opacity\":\"0.2\",\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M12 19C15.866 19 19 15.866 19 12C19 8.13401 15.866 5 12 5C8.13401 5 5 8.13401 5 12C5 15.866 8.13401 19 12 19ZM12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 22C17.5228 22 22 17.5228 22 12H19C19 15.866 15.866 19 12 19V22Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 12C2 6.47715 6.47715 2 12 2V5C8.13401 5 5 8.13401 5 12H2Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgSpinner (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"opacity\":\"0.2\",\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M12 19C15.866 19 19 15.866 19 12C19 8.13401 15.866 5 12 5C8.13401 5 5 8.13401 5 12C5 15.866 8.13401 19 12 19ZM12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 12C2 6.47715 6.47715 2 12 2V5C8.13401 5 5 8.13401 5 12H2Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 10H10V14H14V10Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M5 9C5 6.79086 6.79086 5 9 5H15C17.2091 5 19 6.79086 19 9V15C19 17.2091 17.2091 19 15 19H9C6.79086 19 5 17.2091 5 15V9ZM9 8H15C15.5523 8 16 8.44772 16 9V15C16 15.5523 15.5523 16 15 16H9C8.44772 16 8 15.5523 8 15V9C8 8.44772 8.44772 8 9 8Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgStack (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M20 4V16H22V2H8V4H20Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M2 8V22H16V8H2ZM14 10H4V20H14V10Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 7H5V5H19V19H17V7Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgStark (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.17222 18.0249C5.81662 17.2862 4.69522 16.1661 3.95526 14.791C3.01664 13.0467 2.75847 11.0163 3.23071 9.0927C3.70295 7.16908 4.87201 5.48904 6.51164 4.37775C8.15127 3.26646 10.1449 2.80295 12.1066 3.07692L11.67 6.20259C10.4822 6.03669 9.2751 6.31735 8.28231 6.99024C7.28951 7.66312 6.58164 8.68039 6.2957 9.84514C6.00976 11.0099 6.16608 12.2393 6.73442 13.2954C7.18247 14.1281 7.86148 14.8063 8.6823 15.2536L14.8278 3.97537L17.4621 5.4108C18.8177 6.14946 19.9391 7.26961 20.679 8.64469C21.6177 10.3889 21.8758 12.4193 21.4036 14.343C20.9314 16.2666 19.7623 17.9466 18.1227 19.0579C16.483 20.1692 14.4894 20.6327 12.5277 20.3587L12.9643 17.2331C14.1521 17.399 15.3592 17.1183 16.352 16.4454C17.3448 15.7725 18.0527 14.7553 18.3386 13.5905C18.6245 12.4258 18.4682 11.1964 17.8999 10.1402C17.4518 9.30761 16.7728 8.62938 15.952 8.18212L9.80647 19.4604L7.17222 18.0249Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgStopwatch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18.6214 2.55029L21.4498 5.37872L20.0356 6.79293L17.2071 3.96451L18.6214 2.55029Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.8225 8.60055H10.8225V12.6005H12.8225V8.60055Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M5.18633 18.8137C8.70105 22.3285 14.3995 22.3285 17.9143 18.8137C21.429 15.299 21.429 9.60055 17.9143 6.08583C14.3995 2.57111 8.70105 2.57111 5.18633 6.08583C1.67161 9.60054 1.67161 15.299 5.18633 18.8137ZM6.60054 17.3995C9.33422 20.1332 13.7664 20.1332 16.5 17.3995C19.2337 14.6659 19.2337 10.2337 16.5 7.50004C13.7664 4.76637 9.33422 4.76637 6.60054 7.50004C3.86688 10.2337 3.86688 14.6659 6.60054 17.3995Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgStories (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M15 6H9C8.44772 6 8 6.44772 8 7V17C8 17.5523 8.44772 18 9 18H15C15.5523 18 16 17.5523 16 17V7C16 6.44772 15.5523 6 15 6ZM9 4C7.34315 4 6 5.34315 6 7V17C6 18.6569 7.34315 20 9 20H15C16.6569 20 18 18.6569 18 17V7C18 5.34315 16.6569 4 15 4H9Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 6C2 5.44772 2.44772 5 3 5C3.55228 5 4 5.44772 4 6V18C4 18.5523 3.55228 19 3 19C2.44772 19 2 18.5523 2 18V6Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 6C20 5.44772 20.4477 5 21 5C21.5523 5 22 5.44772 22 6V18C22 18.5523 21.5523 19 21 19C20.4477 19 20 18.5523 20 18V6Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgStudio (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17 13H13V17H17V13Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M3 3H21V21H3V3ZM5 5H19V19H5V5Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgStyle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M13 21V13H21V21H13ZM15 15H19L19 19H15V15Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M3 11L3 3L11 3V11H3ZM5 5L9 5V9L5 9L5 5Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 6V12H16V8L12 8V6L18 6Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 18H6L6 12H8L8 16H12V18Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgSun (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M12 16C14.2091 16 16 14.2091 16 12C16 9.79086 14.2091 8 12 8C9.79086 8 8 9.79086 8 12C8 14.2091 9.79086 16 12 16ZM12 18C15.3137 18 18 15.3137 18 12C18 8.68629 15.3137 6 12 6C8.68629 6 6 8.68629 6 12C6 15.3137 8.68629 18 12 18Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M11 0H13V4.06189C12.6724 4.02104 12.3387 4 12 4C11.6613 4 11.3276 4.02104 11 4.06189V0ZM7.0943 5.68018L4.22173 2.80761L2.80752 4.22183L5.6801 7.09441C6.09071 6.56618 6.56608 6.0908 7.0943 5.68018ZM4.06189 11H0V13H4.06189C4.02104 12.6724 4 12.3387 4 12C4 11.6613 4.02104 11.3276 4.06189 11ZM5.6801 16.9056L2.80751 19.7782L4.22173 21.1924L7.0943 18.3198C6.56608 17.9092 6.09071 17.4338 5.6801 16.9056ZM11 19.9381V24H13V19.9381C12.6724 19.979 12.3387 20 12 20C11.6613 20 11.3276 19.979 11 19.9381ZM16.9056 18.3199L19.7781 21.1924L21.1923 19.7782L18.3198 16.9057C17.9092 17.4339 17.4338 17.9093 16.9056 18.3199ZM19.9381 13H24V11H19.9381C19.979 11.3276 20 11.6613 20 12C20 12.3387 19.979 12.6724 19.9381 13ZM18.3198 7.0943L21.1923 4.22183L19.7781 2.80762L16.9056 5.6801C17.4338 6.09071 17.9092 6.56608 18.3198 7.0943Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgSupport (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M12.2607 21.9966C12.174 21.9988 12.0871 22 12 22C11.9128 22 11.8259 21.9988 11.7393 21.9966C7.68318 21.8928 4.22762 19.3738 2.7573 15.8242C1.74192 13.3674 1.7476 10.588 2.77433 8.13481C3.27688 6.93672 4.00599 5.85718 4.90808 4.94979L4.94983 4.90804C5.85259 4.01056 6.92574 3.28429 8.1165 2.78202C10.5894 1.74123 13.3958 1.73933 15.87 2.77633C17.0688 3.27993 18.1488 4.01042 19.0562 4.91407L19.0859 4.94373C19.9989 5.86054 20.7351 6.95351 21.2392 8.16721C21.7279 9.34662 21.9812 10.6006 21.999 11.8573C21.9997 11.9047 22 11.9523 22 12C22 12.0506 21.9996 12.1012 21.9989 12.1516C21.9376 16.2743 19.3814 19.7925 15.7731 21.2637C14.6481 21.7213 13.4566 21.9656 12.2607 21.9966ZM14.0322 15.4464L16.906 18.3202C14.0281 20.5599 9.97192 20.5599 7.09402 18.3202L9.96779 15.4464C11.2175 16.1845 12.7825 16.1845 14.0322 15.4464ZM8.55358 14.0322L5.67981 16.906C3.44007 14.0281 3.44007 9.97192 5.67981 7.09402L8.55358 9.96779C7.81548 11.2175 7.81548 12.7825 8.55358 14.0322ZM10.0824 12.5694C10.0773 12.5523 10.0725 12.5351 10.0679 12.5179C9.97738 12.179 9.97738 11.821 10.0679 11.4821C10.1556 11.1537 10.3282 10.8434 10.5858 10.5858C10.8299 10.3417 11.1213 10.1739 11.4306 10.0824C11.4477 10.0773 11.4649 10.0725 11.4821 10.0679C11.821 9.97738 12.179 9.97737 12.5179 10.0679C12.8463 10.1556 13.1566 10.3282 13.4142 10.5858C13.6583 10.8299 13.8261 11.1213 13.9176 11.4306C13.9227 11.4477 13.9275 11.4649 13.9321 11.4821C14.0226 11.821 14.0226 12.179 13.9321 12.5179C13.8444 12.8462 13.6718 13.1566 13.4142 13.4142C13.1701 13.6583 12.8787 13.8261 12.5694 13.9176C12.5523 13.9227 12.5351 13.9275 12.5179 13.9321C12.179 14.0226 11.821 14.0226 11.4821 13.9321C11.1538 13.8444 10.8434 13.6718 10.5858 13.4142C10.3417 13.1701 10.1739 12.8787 10.0824 12.5694ZM14.0322 8.55357C12.7825 7.81548 11.2175 7.81548 9.96779 8.55357L7.09402 5.6798C9.97192 3.44007 14.0281 3.44007 16.906 5.6798L14.0322 8.55357ZM18.3202 16.906C20.5599 14.0281 20.5599 9.97192 18.3202 7.09402L15.4464 9.96779C16.1845 11.2175 16.1845 12.7825 15.4464 14.0322L18.3202 16.906Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgSwapVertical (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 16H13.5L13.5 10H15.5L15.5 16H17L14.5 19L12 16Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 8H9.5L9.5 14H11.5L11.5 8H13L10.5 5L8 8Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgSwap (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 13V11.5H10V9.5H16V8L19 10.5L16 13Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 17V15.5H14V13.5H8V12L5 14.5L8 17Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgSweden (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M23 4H10V11H23V4Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M23 13V20H10V13H23Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 13V20H1V13H8Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M1 11V4H8V11H1Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgSwiss (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M3 3V21H21V3H3ZM14 7H10V10H7V14H10V17H14V14H17V10H14V7Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgSync (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.56079 10.6418L6.35394 3.94971L8.25402 5.84979C11.7312 3.6588 16.3814 4.07764 19.41 7.1063L17.9958 8.52052C15.7536 6.27827 12.3686 5.87519 9.71551 7.31128L11.2529 8.84869L4.56079 10.6418Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19.4392 13.3581L17.646 20.0502L15.7459 18.1501C12.2688 20.3411 7.61857 19.9223 4.58991 16.8936L6.00413 15.4794C8.24638 17.7217 11.6313 18.1247 14.2844 16.6887L12.747 15.1512L19.4392 13.3581Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgTab (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M18.9999 4C20.6568 4 21.9999 5.34315 21.9999 7V17C21.9999 18.6569 20.6568 20 18.9999 20H4.99994C3.34308 20 1.99994 18.6569 1.99994 17V7C1.99994 5.34315 3.34308 4 4.99994 4H18.9999ZM19.9999 9.62479H13C12.4478 9.62479 11.8442 9.20507 11.652 8.68732L10.6542 6H4.99994C4.44765 6 3.99994 6.44772 3.99994 7V17C3.99994 17.5523 4.44765 18 4.99994 18H18.9999C19.5522 18 19.9999 17.5523 19.9999 17V9.62479Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgTag (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M2 8V16C2 16.5523 2.44772 17 3 17H16.6202C16.9121 17 17.1895 16.8724 17.3795 16.6508L20.808 12.6508C21.129 12.2763 21.129 11.7237 20.808 11.3492L17.3795 7.34921C17.1895 7.12756 16.9121 7 16.6202 7H3C2.44772 7 2 7.44772 2 8ZM0 8V16C0 17.6569 1.34315 19 3 19H16.6202C17.496 19 18.328 18.6173 18.898 17.9524L22.3265 13.9524C23.2895 12.8289 23.2895 11.1711 22.3265 10.0476L18.898 6.04763C18.328 5.38269 17.496 5 16.6202 5H3C1.34315 5 0 6.34315 0 8Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M15 13C15.5523 13 16 12.5523 16 12C16 11.4477 15.5523 11 15 11C14.4477 11 14 11.4477 14 12C14 12.5523 14.4477 13 15 13ZM15 15C16.6569 15 18 13.6569 18 12C18 10.3431 16.6569 9 15 9C13.3431 9 12 10.3431 12 12C12 13.6569 13.3431 15 15 15Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgTally (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.66124 2.67117C3.71341 2.4 3.97956 2.18018 4.2557 2.18018H6.2557C6.53184 2.18018 6.71341 2.4 6.66124 2.67117L5.33877 9.54511C5.2866 9.81628 5.02045 10.0361 4.74431 10.0361H2.74431C2.46817 10.0361 2.2866 9.81628 2.33877 9.54511L3.66124 2.67117Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8.66124 2.67117C8.71341 2.4 8.97956 2.18018 9.2557 2.18018H11.2557C11.5318 2.18018 11.7134 2.4 11.6612 2.67117L8.07168 21.329C8.01951 21.6002 7.75336 21.82 7.47722 21.82H5.47722C5.20108 21.82 5.01951 21.6002 5.07168 21.329L8.66124 2.67117Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13.6612 2.67117C13.7134 2.4 13.9796 2.18018 14.2557 2.18018H16.2557C16.5318 2.18018 16.7134 2.4 16.6612 2.67117L13.0717 21.329C13.0195 21.6002 12.7534 21.82 12.4772 21.82H10.4772C10.2011 21.82 10.0195 21.6002 10.0717 21.329L13.6612 2.67117Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18.6612 2.67117C18.7134 2.4 18.9796 2.18018 19.2557 2.18018H21.2557C21.5318 2.18018 21.7134 2.4 21.6612 2.67117L20.3388 9.54511C20.2866 9.81628 20.0205 10.0361 19.7443 10.0361H17.7443C17.4682 10.0361 17.2866 9.81628 17.3388 9.54511L18.6612 2.67117Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgTapDouble (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M14.9236 18V14C14.9236 12.3431 13.5804 11 11.9236 11C10.2667 11 8.92355 12.3431 8.92355 14V18C8.92355 19.6569 10.2667 21 11.9236 21C13.5804 21 14.9236 19.6569 14.9236 18ZM11.9236 9C9.16213 9 6.92355 11.2386 6.92355 14V18C6.92355 20.7614 9.16213 23 11.9236 23C14.685 23 16.9236 20.7614 16.9236 18V14C16.9236 11.2386 14.685 9 11.9236 9Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.9236 14C10.9236 13.4477 11.3713 13 11.9236 13C12.4758 13 12.9236 13.4477 12.9236 14V17H10.9236V14Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11.9235 1C14.7023 1 17.2164 2.13339 19.0286 3.96311L17.6144 5.37735C16.1641 3.90955 14.15 3 11.9235 3C9.77436 3 7.82311 3.84749 6.38577 5.22651L4.97131 3.81205C6.7708 2.07122 9.22207 1 11.9235 1Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M11.9233 5C13.5809 5 15.1038 5.5761 16.3029 6.53898L14.8768 7.9651C14.0493 7.35833 13.0281 7 11.9233 7C10.848 7 9.85204 7.33943 9.03662 7.91699L7.60779 6.48816C8.79686 5.55586 10.2952 5 11.9233 5Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgTapSingle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12.0491 3.11401C14.1927 3.11401 16.1393 3.95706 17.5756 5.32967L16.1609 6.74437C15.087 5.73346 13.6404 5.11401 12.0491 5.11401C10.4086 5.11401 8.92183 5.77243 7.83868 6.83944L6.42444 5.42519C7.86954 3.99627 9.85631 3.11401 12.0491 3.11401Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.9767 11.886C10.9767 11.3337 11.4244 10.886 11.9767 10.886C12.529 10.886 12.9767 11.3337 12.9767 11.886V13.886H10.9767V11.886Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M11.9767 6.88599C9.21526 6.88599 6.97668 9.12456 6.97668 11.886V15.886C6.97668 18.6474 9.21526 20.886 11.9767 20.886C14.7381 20.886 16.9767 18.6474 16.9767 15.886V11.886C16.9767 9.12456 14.7381 6.88599 11.9767 6.88599ZM14.9767 15.886V11.886C14.9767 10.2291 13.6335 8.88599 11.9767 8.88599C10.3198 8.88599 8.97668 10.2291 8.97668 11.886V15.886C8.97668 17.5428 10.3198 18.886 11.9767 18.886C13.6335 18.886 14.9767 17.5428 14.9767 15.886Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgTemplate (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M3 3V9H21V3H3ZM19 5H5V7H19V5Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M3 11V21H11V11H3ZM9 13H5V19H9V13Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 11H13V13H21V11Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 15H21V17H13V15Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M21 19H13V21H21V19Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgTennis (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M19.0711 19.0711C22.9763 15.1658 22.9763 8.83418 19.0711 4.92893C15.1658 1.02369 8.83418 1.02369 4.92893 4.92893C1.02369 8.83418 1.02369 15.1658 4.92893 19.0711C8.83418 22.9763 15.1658 22.9763 19.0711 19.0711ZM19.9426 11.0407C19.7364 9.32374 18.9745 7.6608 17.6569 6.34315C16.3343 5.0206 14.6639 4.25792 12.9402 4.0551L12.93 4.11139C12.1086 8.58308 8.58304 12.1086 4.11136 12.93L4.05511 12.9402C4.25793 14.6639 5.02061 16.3343 6.34315 17.6569C7.66079 18.9745 9.32373 19.7364 11.0407 19.9426C11.0449 19.9191 11.0491 19.8956 11.0534 19.8721C11.8748 15.4004 15.4003 11.8748 19.872 11.0534C19.8955 11.0491 19.9191 11.0449 19.9426 11.0407ZM19.872 13.4292V13.0951C16.5073 13.8586 13.8586 16.5073 13.095 19.8721H13.429C14.9777 19.5924 16.4598 18.8539 17.6569 17.6569C18.8539 16.4598 19.5923 14.9778 19.872 13.4292ZM4.11136 10.8884L4.11136 10.666C4.37766 9.08301 5.12159 7.5647 6.34315 6.34315C7.56465 5.12165 9.08288 4.37773 10.6658 4.11139L10.8883 4.11139C10.1248 7.47615 7.47612 10.1249 4.11136 10.8884Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgTerminal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.0333 14.8284L6.44751 16.2426L10.6902 12L6.44751 7.75733L5.0333 9.17155L7.86172 12L5.0333 14.8284Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 14H11V16H15V14Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M2 2C0.895431 2 0 2.89543 0 4V20C0 21.1046 0.89543 22 2 22H22C23.1046 22 24 21.1046 24 20V4C24 2.89543 23.1046 2 22 2H2ZM22 4H2L2 20H22V4Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgTerrain (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 10L3 18H13L8 10Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M10.5286 10.7543L13.5 6L21 18H15.0572L10.5286 10.7543Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgThermometer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16.9498 5.63615C17.3403 5.24563 17.9735 5.24563 18.364 5.63615C18.7545 6.02668 18.7545 6.65984 18.364 7.05037L11.2929 14.1214C10.9024 14.512 10.2693 14.512 9.87873 14.1214C9.48821 13.7309 9.48821 13.0977 9.87873 12.7072L16.9498 5.63615Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M7.82813 17.5862C9.7695 18.8725 12.4109 18.6603 14.1214 16.9499L21.1924 9.8788C23.1451 7.92617 23.1451 4.76035 21.1924 2.80773C19.2398 0.855106 16.074 0.855106 14.1214 2.80773L7.0503 9.8788C5.33984 11.5893 5.12771 14.2307 6.41392 16.172L2.80766 19.7783C2.41714 20.1688 2.41714 20.802 2.80766 21.1925C3.19819 21.583 3.83135 21.583 4.22188 21.1925L7.82813 17.5862ZM12.7072 15.5356L19.7782 8.46458C20.9498 7.29301 20.9498 5.39351 19.7782 4.22194C18.6067 3.05037 16.7072 3.05037 15.5356 4.22194L8.46452 11.293C7.29294 12.4646 7.29294 14.3641 8.46452 15.5356C9.63609 16.7072 11.5356 16.7072 12.7072 15.5356Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgThermostat (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 19C12.5523 19 13 18.5523 13 18C13 17.4477 12.5523 17 12 17C11.4477 17 11 17.4477 11 18C11 18.5523 11.4477 19 12 19Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M15 13.9997C16.2144 14.9119 17 16.3642 17 18C17 20.7614 14.7614 23 12 23C9.23858 23 7 20.7614 7 18C7 16.3642 7.78555 14.9119 9 13.9997V4C9 2.34315 10.3431 1 12 1C13.6569 1 15 2.34315 15 4V13.9997ZM13 4V15.1707C14.1652 15.5826 15 16.6938 15 18C15 19.6569 13.6569 21 12 21C10.3431 21 9 19.6569 9 18C9 16.6938 9.83481 15.5826 11 15.1707V4C11 3.44772 11.4477 3 12 3C12.5523 3 13 3.44772 13 4Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgTikcode (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M9 5H5V9H9V5ZM3 3V11H11V3H3Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M19 5H15V9H19V5ZM13 3V11H21V3H13Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M9 15H5V19H9V15ZM3 13V21H11V13H3Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 13H15V21H13V13Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 13H18V21H16V13Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M19 13H21V21H19V13Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgTime (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 7H11V12H16V14H9V7Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12ZM20 12C20 16.4183 16.4183 20 12 20C7.58172 20 4 16.4183 4 12C4 7.58172 7.58172 4 12 4C16.4183 4 20 7.58172 20 12Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgTimelapse (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 19C10.067 19 8.31704 18.2165 7.05029 16.9498L12 12L12 5C15.866 5 19 8.13401 19 12C19 15.866 15.866 19 12 19Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M23 12C23 18.0751 18.0751 23 12 23C5.92487 23 1 18.0751 1 12C1 5.92487 5.92487 1 12 1C18.0751 1 23 5.92487 23 12ZM21 12C21 16.9706 16.9706 21 12 21C7.02944 21 3 16.9706 3 12C3 7.02944 7.02944 3 12 3C16.9706 3 21 7.02944 21 12Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgTimer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 5.07089C16.3923 5.55612 19 8.47353 19 12C19 15.866 15.866 19 12 19C8.13401 19 5 15.866 5 12C5 9.96159 5.87128 8.12669 7.26175 6.84738L5.84658 5.43221C4.09461 7.0743 3 9.40932 3 12C3 16.9706 7.02944 21 12 21C16.9706 21 21 16.9706 21 12C21 7.02944 16.9706 3 12 3C11.662 3 11.3283 3.01863 11 3.05493V9.08551H13V5.07089Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7.70711 8.70708C7.31658 9.0976 7.31658 9.73077 7.70711 10.1213L10.5355 12.9497C10.9261 13.3402 11.5592 13.3402 11.9497 12.9497C12.3403 12.5592 12.3403 11.926 11.9497 11.5355L9.12132 8.70708C8.7308 8.31655 8.09763 8.31655 7.70711 8.70708Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgToday (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"rect\",\"attr\":{\"opacity\":\"0.5\",\"x\":\"7\",\"y\":\"9\",\"width\":\"10\",\"height\":\"10\",\"rx\":\"1\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M18 3H6C5.44772 3 5 3.44772 5 4V20C5 20.5523 5.44772 21 6 21H18C18.5523 21 19 20.5523 19 20V4C19 3.44772 18.5523 3 18 3ZM6 1C4.34315 1 3 2.34315 3 4V20C3 21.6569 4.34315 23 6 23H18C19.6569 23 21 21.6569 21 20V4C21 2.34315 19.6569 1 18 1H6Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 6C7 5.44772 7.44772 5 8 5H12C12.5523 5 13 5.44772 13 6C13 6.55228 12.5523 7 12 7H8C7.44772 7 7 6.55228 7 6Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgToggleOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17 15C18.6569 15 20 13.6569 20 12C20 10.3431 18.6569 9 17 9C15.3431 9 14 10.3431 14 12C14 13.6569 15.3431 15 17 15Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M0 12C0 8.13401 3.13401 5 7 5H17C20.866 5 24 8.13401 24 12C24 15.866 20.866 19 17 19H7C3.13401 19 0 15.866 0 12ZM7 7H17C19.7614 7 22 9.23858 22 12C22 14.7614 19.7614 17 17 17H7C4.23858 17 2 14.7614 2 12C2 9.23858 4.23858 7 7 7Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgToggleOn (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 15C5.34315 15 4 13.6569 4 12C4 10.3431 5.34315 9 7 9C8.65685 9 10 10.3431 10 12C10 13.6569 8.65685 15 7 15Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M24 12C24 8.13401 20.866 5 17 5H7C3.13401 5 0 8.13401 0 12C0 15.866 3.13401 19 7 19H17C20.866 19 24 15.866 24 12ZM17 7H7C4.23858 7 2 9.23858 2 12C2 14.7614 4.23858 17 7 17H17C19.7614 17 22 14.7614 22 12C22 9.23858 19.7614 7 17 7Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgToggleSquareOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15 9C14.4477 9 14 9.44772 14 10V14C14 14.5523 14.4477 15 15 15H19C19.5523 15 20 14.5523 20 14V10C20 9.44772 19.5523 9 19 9H15Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M0 7C0 5.89543 0.895431 5 2 5H22C23.1046 5 24 5.89543 24 7V17C24 18.1046 23.1046 19 22 19H2C0.89543 19 0 18.1046 0 17V7ZM2 7H22V17H2L2 7Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgToggleSquare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 9C9.55228 9 10 9.44772 10 10V14C10 14.5523 9.55228 15 9 15H5C4.44772 15 4 14.5523 4 14V10C4 9.44772 4.44772 9 5 9H9Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M24 7C24 5.89543 23.1046 5 22 5H2C0.89543 5 0 5.89543 0 7V17C0 18.1046 0.895432 19 2 19H22C23.1046 19 24 18.1046 24 17V7ZM22 7H2V17H22V7Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgToolbarBottom (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18 13H6V15H18V13Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M2 8C2 6.34315 3.34315 5 5 5H19C20.6569 5 22 6.34315 22 8V16C22 17.6569 20.6569 19 19 19H5C3.34315 19 2 17.6569 2 16V8ZM5 7H19C19.5523 7 20 7.44771 20 8V16C20 16.5523 19.5523 17 19 17H5C4.44772 17 4 16.5523 4 16V8C4 7.44772 4.44772 7 5 7Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgToolbarLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 9H6V15H8V9Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M2 8C2 6.34315 3.34315 5 5 5H19C20.6569 5 22 6.34315 22 8V16C22 17.6569 20.6569 19 19 19H5C3.34315 19 2 17.6569 2 16V8ZM5 7H19C19.5523 7 20 7.44771 20 8V16C20 16.5523 19.5523 17 19 17H5C4.44772 17 4 16.5523 4 16V8C4 7.44772 4.44772 7 5 7Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgToolbarRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M16 9H18V15H16V9Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M22 8C22 6.34315 20.6569 5 19 5H5C3.34315 5 2 6.34315 2 8V16C2 17.6569 3.34315 19 5 19H19C20.6569 19 22 17.6569 22 16V8ZM19 7H5C4.44772 7 4 7.44771 4 8V16C4 16.5523 4.44772 17 5 17H19C19.5523 17 20 16.5523 20 16V8C20 7.44772 19.5523 7 19 7Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgToolbarTop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18 11H6V9H18V11Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M2 16C2 17.6569 3.34315 19 5 19H19C20.6569 19 22 17.6569 22 16V8C22 6.34315 20.6569 5 19 5H5C3.34315 5 2 6.34315 2 8V16ZM5 17H19C19.5523 17 20 16.5523 20 16V8C20 7.44772 19.5523 7 19 7H5C4.44772 7 4 7.44771 4 8V16C4 16.5523 4.44772 17 5 17Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgToolbox (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M17 5.5H20C21.1046 5.5 22 6.39543 22 7.5V19.5C22 20.6046 21.1046 21.5 20 21.5H4C2.89543 21.5 2 20.6046 2 19.5V7.5C2 6.39543 2.89543 5.5 4 5.5H7C7 3.84315 8.34315 2.5 10 2.5H14C15.6569 2.5 17 3.84315 17 5.5ZM14 4.5H10C9.44772 4.5 9 4.94772 9 5.5H15C15 4.94772 14.5523 4.5 14 4.5ZM20 7.5H4V9.5H20V7.5ZM4 19.5V11.5H7V13.5H11V11.5H13V13.5H17V11.5H20V19.5H4Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgTouchpad (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M20 21C21.6569 21 23 19.6569 23 18V6C23 4.34315 21.6569 3 20 3H4C2.34315 3 1 4.34315 1 6V18C1 19.6569 2.34315 21 4 21H20ZM4 5H20C20.5523 5 21 5.44772 21 6V14H3V6C3 5.44772 3.44772 5 4 5ZM3 16V18C3 18.5523 3.44772 19 4 19H11V16H3ZM13 19V16H21V18C21 18.5523 20.5523 19 20 19H13Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgTrack (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 15C13.6569 15 15 13.6569 15 12C15 10.3431 13.6569 9 12 9C10.3431 9 9 10.3431 9 12C9 13.6569 10.3431 15 12 15Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M12 3C12.5523 3 13 3.44772 13 4V5.07089C16.0657 5.5094 18.4906 7.93431 18.9291 11H20C20.5523 11 21 11.4477 21 12C21 12.5523 20.5523 13 20 13H18.9291C18.4906 16.0657 16.0657 18.4906 13 18.9291V20C13 20.5523 12.5523 21 12 21C11.4477 21 11 20.5523 11 20V18.9291C7.93431 18.4906 5.5094 16.0657 5.07089 13H4C3.44772 13 3 12.5523 3 12C3 11.4477 3.44772 11 4 11H5.07089C5.5094 7.93431 7.93431 5.5094 11 5.07089V4C11 3.44772 11.4477 3 12 3ZM7 12C7 9.23858 9.23858 7 12 7C14.7614 7 17 9.23858 17 12C17 14.7614 14.7614 17 12 17C9.23858 17 7 14.7614 7 12Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgTranscript (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 16C5 15.4477 5.44772 15 6 15H14C14.5523 15 15 15.4477 15 16C15 16.5523 14.5523 17 14 17H6C5.44772 17 5 16.5523 5 16Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 11C18.5523 11 19 11.4477 19 12C19 12.5523 18.5523 13 18 13H10C9.44772 13 9 12.5523 9 12C9 11.4477 9.44772 11 10 11H18Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 16C16 15.4477 16.4477 15 17 15H18C18.5523 15 19 15.4477 19 16C19 16.5523 18.5523 17 18 17H17C16.4477 17 16 16.5523 16 16Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M7 11C7.55228 11 8 11.4477 8 12C8 12.5523 7.55228 13 7 13H6C5.44772 13 5 12.5523 5 12C5 11.4477 5.44772 11 6 11H7Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M4 3C2.34315 3 1 4.34315 1 6V18C1 19.6569 2.34315 21 4 21H20C21.6569 21 23 19.6569 23 18V6C23 4.34315 21.6569 3 20 3H4ZM20 5H4C3.44772 5 3 5.44772 3 6V18C3 18.5523 3.44772 19 4 19H20C20.5523 19 21 18.5523 21 18V6C21 5.44771 20.5523 5 20 5Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgTrashEmpty (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M17 6V5C17 3.89543 16.1046 3 15 3H9C7.89543 3 7 3.89543 7 5V6H4C3.44772 6 3 6.44772 3 7C3 7.55228 3.44772 8 4 8H5V19C5 20.6569 6.34315 22 8 22H16C17.6569 22 19 20.6569 19 19V8H20C20.5523 8 21 7.55228 21 7C21 6.44772 20.5523 6 20 6H17ZM15 5H9V6H15V5ZM17 8H7V19C7 19.5523 7.44772 20 8 20H16C16.5523 20 17 19.5523 17 19V8Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgTrash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M17 5V4C17 2.89543 16.1046 2 15 2H9C7.89543 2 7 2.89543 7 4V5H4C3.44772 5 3 5.44772 3 6C3 6.55228 3.44772 7 4 7H5V18C5 19.6569 6.34315 21 8 21H16C17.6569 21 19 19.6569 19 18V7H20C20.5523 7 21 6.55228 21 6C21 5.44772 20.5523 5 20 5H17ZM15 4H9V5H15V4ZM17 7H7V18C7 18.5523 7.44772 19 8 19H16C16.5523 19 17 18.5523 17 18V7Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 9H11V17H9V9Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 9H15V17H13V9Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgTree (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M11 17.9C8.71776 17.4367 7 15.419 7 13V7C7 4.23858 9.23858 2 12 2C14.7614 2 17 4.23858 17 7V13C17 15.419 15.2822 17.4367 13 17.9V21C13 21.5523 12.5523 22 12 22C11.4477 22 11 21.5523 11 21V17.9ZM12 4C13.6569 4 15 5.34315 15 7V13C15 14.3062 14.1652 15.4175 13 15.8293V11C13 10.4477 12.5523 10 12 10C11.4477 10 11 10.4477 11 11V15.8293C9.83481 15.4175 9 14.3062 9 13V7C9 5.34315 10.3431 4 12 4Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgTrees (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M12.7401 16.3185C12.035 17.1126 11.0808 17.6806 10 17.9V21C10 21.5523 9.55228 22 9 22C8.44772 22 8 21.5523 8 21V17.9C5.71776 17.4367 4 15.419 4 13V7C4 4.23858 6.23858 2 9 2C11.6087 2 13.7508 3.99781 13.9797 6.54693C14.5726 6.1993 15.2631 6 16 6C18.2091 6 20 7.79086 20 10V14C20 15.8638 18.7252 17.4299 17 17.874V21C17 21.5523 16.5523 22 16 22C15.4477 22 15 21.5523 15 21V17.874C14.0747 17.6358 13.279 17.075 12.7401 16.3185ZM12 7V13C12 14.3062 11.1652 15.4175 10 15.8293V13C10 12.4477 9.55228 12 9 12C8.44772 12 8 12.4477 8 13V15.8293C6.83481 15.4175 6 14.3062 6 13V7C6 5.34315 7.34315 4 9 4C10.6569 4 12 5.34315 12 7ZM17 15.7324V13C17 12.4477 16.5523 12 16 12C15.4477 12 15 12.4477 15 13V15.7324C14.4022 15.3866 14 14.7403 14 14V10C14 8.89543 14.8954 8 16 8C17.1046 8 18 8.89543 18 10V14C18 14.7403 17.5978 15.3866 17 15.7324Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgTrello (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 7C6 6.44771 6.44772 6 7 6H10C10.5523 6 11 6.44772 11 7V17C11 17.5523 10.5523 18 10 18H7C6.44772 18 6 17.5523 6 17V7Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M13 7C13 6.44772 13.4477 6 14 6H17C17.5523 6 18 6.44772 18 7V13C18 13.5523 17.5523 14 17 14H14C13.4477 14 13 13.5523 13 13V7Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M2 4C2 2.89543 2.89543 2 4 2H20C21.1046 2 22 2.89543 22 4V20C22 21.1046 21.1046 22 20 22H4C2.89543 22 2 21.1046 2 20V4ZM4 4H20V20H4V4Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgTrendingDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.85104 8.10628L0.436829 9.52049L7.5079 16.5916L13.8719 10.2276L18.1145 14.4702L16.3721 16.2126L23.0642 18.0058L21.2711 11.3136L19.5287 13.056L13.8719 7.39917L7.5079 13.7631L1.85104 8.10628Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgTrending (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M1.41421 16.4322L0 15.018L7.07107 7.94693L13.435 14.3109L17.6777 10.0682L15.9353 8.32587L22.6274 6.53271L20.8343 13.2248L19.0919 11.4825L13.435 17.1393L7.07107 10.7754L1.41421 16.4322Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgTrophy (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M13 15.9C15.2822 15.4367 17 13.419 17 11V4H7V11C7 13.419 8.71776 15.4367 11 15.9V18H9V20H15V18H13V15.9ZM9 6H15V11C15 12.6569 13.6569 14 12 14C10.3431 14 9 12.6569 9 11V6Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 6H20V11H18V6Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 6H4V11H6V6Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgTv (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M8 6.11861L9.4131 4.70551L11.5371 6.82954L14.3667 4L15.7782 5.41151L13.3137 7.87598H18C19.1046 7.87598 20 8.77141 20 9.87598V16.876C20 17.9805 19.1046 18.876 18 18.876H6C4.89543 18.876 4 17.9805 4 16.876V9.87598C4 8.77141 4.89543 7.87598 6 7.87598H9.75736L8 6.11861ZM18 9.87598H6V16.876H18V9.87598Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M8 19.876H16V20.876H8V19.876Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgTwilio (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 9C11 10.1046 10.1046 11 9 11C7.89543 11 7 10.1046 7 9C7 7.89543 7.89543 7 9 7C10.1046 7 11 7.89543 11 9Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 9C17 10.1046 16.1046 11 15 11C13.8954 11 13 10.1046 13 9C13 7.89543 13.8954 7 15 7C16.1046 7 17 7.89543 17 9Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 17C16.1046 17 17 16.1046 17 15C17 13.8954 16.1046 13 15 13C13.8954 13 13 13.8954 13 15C13 16.1046 13.8954 17 15 17Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 15C11 16.1046 10.1046 17 9 17C7.89543 17 7 16.1046 7 15C7 13.8954 7.89543 13 9 13C10.1046 13 11 13.8954 11 15Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M24 12C24 18.6274 18.6274 24 12 24C5.37258 24 0 18.6274 0 12C0 5.37258 5.37258 0 12 0C18.6274 0 24 5.37258 24 12ZM21 12C21 16.9706 16.9706 21 12 21C7.02944 21 3 16.9706 3 12C3 7.02944 7.02944 3 12 3C16.9706 3 21 7.02944 21 12Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgTwitter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M8 3C9.10457 3 10 3.89543 10 5V8H16C17.1046 8 18 8.89543 18 10C18 11.1046 17.1046 12 16 12H10V14C10 15.6569 11.3431 17 13 17H16C17.1046 17 18 17.8954 18 19C18 20.1046 17.1046 21 16 21H13C9.13401 21 6 17.866 6 14V5C6 3.89543 6.89543 3 8 3Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgUiKit (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M14 6H10C9.44772 6 9 6.44772 9 7V17C9 17.5523 9.44772 18 10 18H14C14.5523 18 15 17.5523 15 17V7C15 6.44772 14.5523 6 14 6ZM10 4C8.34315 4 7 5.34315 7 7V17C7 18.6569 8.34315 20 10 20H14C15.6569 20 17 18.6569 17 17V7C17 5.34315 15.6569 4 14 4H10Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 7.45936L3.4932 7.04156C1.6646 6.73679 0 8.14692 0 10.0007V14.918C0 16.7718 1.6646 18.1819 3.4932 17.8772L6 17.4594V15.4318L3.1644 15.9044C2.55487 16.006 2 15.5359 2 14.918V10.0007C2 9.3828 2.55487 8.91276 3.1644 9.01435L6 9.48695V7.45936Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 7.45936L20.5068 7.04156C22.3354 6.73679 24 8.14692 24 10.0007V14.918C24 16.7718 22.3354 18.1819 20.5068 17.8772L18 17.4594V15.4318L20.8356 15.9044C21.4451 16.006 22 15.5359 22 14.918V10.0007C22 9.3828 21.4451 8.91276 20.8356 9.01435L18 9.48695V7.45936Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgUmbrella (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M4 9C4 4.58172 7.58172 1 12 1C16.4183 1 20 4.58172 20 9V11H13.0187V20.5C13.0187 21.8807 11.8994 23 10.5187 23C9.13797 23 8.01868 21.8807 8.01868 20.5V17.8571H10.0187V20.5C10.0187 20.7761 10.2425 21 10.5187 21C10.7948 21 11.0187 20.7761 11.0187 20.5V11H4V9ZM12 3C15.3137 3 18 5.68629 18 9H6C6 5.68629 8.68629 3 12 3Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgUnavailable (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M18.364 5.63604C21.8787 9.15076 21.8787 14.8492 18.364 18.364C14.8492 21.8787 9.15076 21.8787 5.63604 18.364C2.12132 14.8492 2.12132 9.15076 5.63604 5.63604C9.15076 2.12132 14.8492 2.12132 18.364 5.63604ZM16.1925 17.6067L6.39327 7.80749C4.33767 10.5493 4.55666 14.4562 7.05025 16.9497C9.54384 19.4433 13.4507 19.6623 16.1925 17.6067ZM16.9497 7.05025C19.4433 9.54384 19.6623 13.4507 17.6067 16.1925L7.80749 6.39327C10.5493 4.33767 14.4562 4.55666 16.9497 7.05025Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgUnblock (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M5.63604 18.364C9.15076 21.8787 14.8492 21.8787 18.364 18.364C21.8787 14.8492 21.8787 9.15076 18.364 5.63604C14.8492 2.12132 9.15076 2.12132 5.63604 5.63604C2.12132 9.15076 2.12132 14.8492 5.63604 18.364ZM7.80749 17.6067C10.5493 19.6623 14.4562 19.4433 16.9497 16.9497C19.4433 14.4562 19.6623 10.5493 17.6067 7.80749L14.8284 10.5858C14.4379 10.9763 13.8047 10.9763 13.4142 10.5858C13.0237 10.1953 13.0237 9.5621 13.4142 9.17157L16.1925 6.39327C13.4507 4.33767 9.54384 4.55666 7.05025 7.05025C4.55666 9.54384 4.33767 13.4507 6.39327 16.1925L9.17157 13.4142C9.5621 13.0237 10.1953 13.0237 10.5858 13.4142C10.9763 13.8047 10.9763 14.4379 10.5858 14.8284L7.80749 17.6067Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgUndo (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.33929 4.46777H7.33929V7.02487C8.52931 6.08978 10.0299 5.53207 11.6607 5.53207C15.5267 5.53207 18.6607 8.66608 18.6607 12.5321C18.6607 16.3981 15.5267 19.5321 11.6607 19.5321C9.51025 19.5321 7.58625 18.5623 6.30219 17.0363L7.92151 15.8515C8.83741 16.8825 10.1732 17.5321 11.6607 17.5321C14.4222 17.5321 16.6607 15.2935 16.6607 12.5321C16.6607 9.77065 14.4222 7.53207 11.6607 7.53207C10.5739 7.53207 9.56805 7.87884 8.74779 8.46777L11.3393 8.46777V10.4678H5.33929V4.46777Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgUnfold (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 12C2 17.5228 6.47715 22 12 22C17.5228 22 22 17.5228 22 12H2Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgUnsplash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15 4.5H9V8.5H15V4.5Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 10.5H9V14.5H15V10.5H20V19.5H4V10.5Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgUsbC (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 11C7.44772 11 7 11.4477 7 12C7 12.5523 7.44772 13 8 13H16C16.5523 13 17 12.5523 17 12C17 11.4477 16.5523 11 16 11H8Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M3 12C3 9.23858 5.23858 7 8 7H16C18.7614 7 21 9.23858 21 12C21 14.7614 18.7614 17 16 17H8C5.23858 17 3 14.7614 3 12ZM8 9H16C17.6569 9 19 10.3431 19 12C19 13.6569 17.6569 15 16 15H8C6.34315 15 5 13.6569 5 12C5 10.3431 6.34315 9 8 9Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgUsb (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 4.5H11V6.5H10V4.5Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M14 4.5H13V6.5H14V4.5Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M7 8.5V1.5H17V8.5H19V19.5C19 21.1569 17.6569 22.5 16 22.5H8C6.34315 22.5 5 21.1569 5 19.5V8.5H7ZM9 3.5H15V8.5H9V3.5ZM17 10.5H7V19.5C7 20.0523 7.44772 20.5 8 20.5H16C16.5523 20.5 17 20.0523 17 19.5V10.5Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgUserAdd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M8 11C10.2091 11 12 9.20914 12 7C12 4.79086 10.2091 3 8 3C5.79086 3 4 4.79086 4 7C4 9.20914 5.79086 11 8 11ZM8 9C9.10457 9 10 8.10457 10 7C10 5.89543 9.10457 5 8 5C6.89543 5 6 5.89543 6 7C6 8.10457 6.89543 9 8 9Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 14C11.5523 14 12 14.4477 12 15V21H14V15C14 13.3431 12.6569 12 11 12H5C3.34315 12 2 13.3431 2 15V21H4V15C4 14.4477 4.44772 14 5 14H11Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 7H20V9H22V11H20V13H18V11H16V9H18V7Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgUserList (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M8 11C10.2091 11 12 9.20914 12 7C12 4.79086 10.2091 3 8 3C5.79086 3 4 4.79086 4 7C4 9.20914 5.79086 11 8 11ZM8 9C9.10457 9 10 8.10457 10 7C10 5.89543 9.10457 5 8 5C6.89543 5 6 5.89543 6 7C6 8.10457 6.89543 9 8 9Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 14C11.5523 14 12 14.4477 12 15V21H14V15C14 13.3431 12.6569 12 11 12H5C3.34315 12 2 13.3431 2 15V21H4V15C4 14.4477 4.44772 14 5 14H11Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 11H16V13H22V11Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 15H22V17H16V15Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 7H16V9H22V7Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgUserRemove (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M8 11C10.2091 11 12 9.20914 12 7C12 4.79086 10.2091 3 8 3C5.79086 3 4 4.79086 4 7C4 9.20914 5.79086 11 8 11ZM8 9C9.10457 9 10 8.10457 10 7C10 5.89543 9.10457 5 8 5C6.89543 5 6 5.89543 6 7C6 8.10457 6.89543 9 8 9Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 14C11.5523 14 12 14.4477 12 15V21H14V15C14 13.3431 12.6569 12 11 12H5C3.34315 12 2 13.3431 2 15V21H4V15C4 14.4477 4.44772 14 5 14H11Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M22 9H16V11H22V9Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgUser (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M16 7C16 9.20914 14.2091 11 12 11C9.79086 11 8 9.20914 8 7C8 4.79086 9.79086 3 12 3C14.2091 3 16 4.79086 16 7ZM14 7C14 8.10457 13.1046 9 12 9C10.8954 9 10 8.10457 10 7C10 5.89543 10.8954 5 12 5C13.1046 5 14 5.89543 14 7Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16 15C16 14.4477 15.5523 14 15 14H9C8.44772 14 8 14.4477 8 15V21H6V15C6 13.3431 7.34315 12 9 12H15C16.6569 12 18 13.3431 18 15V21H16V15Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgUserlane (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15 4H21V10H15V4Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 12C3 16.9706 7.02944 21 12 21C16.9706 21 21 16.9706 21 12H17C17 14.7614 14.7614 17 12 17C9.23858 17 7 14.7614 7 12H3Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 10C7.65685 10 9 8.65685 9 7C9 5.34315 7.65685 4 6 4C4.34315 4 3 5.34315 3 7C3 8.65685 4.34315 10 6 10Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgViewCols (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M2 8C2 6.34315 3.34315 5 5 5H19C20.6569 5 22 6.34315 22 8V16C22 17.6569 20.6569 19 19 19H5C3.34315 19 2 17.6569 2 16V8ZM16 7H19C19.5523 7 20 7.44771 20 8V16C20 16.5523 19.5523 17 19 17H16V7ZM14 7H10V17H14V7ZM8 17V7H5C4.44772 7 4 7.44772 4 8V16C4 16.5523 4.44772 17 5 17H8Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgViewComfortable (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M2 8C2 6.34315 3.34315 5 5 5H19C20.6569 5 22 6.34315 22 8V16C22 17.6569 20.6569 19 19 19H5C3.34315 19 2 17.6569 2 16V8ZM5 7H19C19.5523 7 20 7.44771 20 8V11H4V8C4 7.44772 4.44772 7 5 7ZM4 13V16C4 16.5523 4.44772 17 5 17H8V13H4ZM10 17H19C19.5523 17 20 16.5523 20 16V13H10V17Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgViewDay (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M2 8C2 6.34315 3.34315 5 5 5H19C20.6569 5 22 6.34315 22 8V16C22 17.6569 20.6569 19 19 19H5C3.34315 19 2 17.6569 2 16V8ZM13 7H19C19.5523 7 20 7.44771 20 8V11H13V7ZM11 7H5C4.44772 7 4 7.44772 4 8V11H11V7ZM4 13V16C4 16.5523 4.44772 17 5 17H11V13H4ZM13 17H19C19.5523 17 20 16.5523 20 16V13H13V17Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgViewGrid (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M5 5C3.34315 5 2 6.34315 2 8V16C2 17.6569 3.34315 19 5 19H19C20.6569 19 22 17.6569 22 16V8C22 6.34315 20.6569 5 19 5H5ZM8 7H5C4.44772 7 4 7.44772 4 8V9H8V7ZM10 7V9H14V7H10ZM16 7V9H20V8C20 7.44771 19.5523 7 19 7H16ZM14 11H10V13H14V11ZM16 13V11H20V13H16ZM14 15H10V17H14V15ZM16 17V15H20V16C20 16.5523 19.5523 17 19 17H16ZM8 17V15H4V16C4 16.5523 4.44772 17 5 17H8ZM8 13V11H4V13H8Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgViewList (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M5 5C3.34315 5 2 6.34315 2 8V16C2 17.6569 3.34315 19 5 19H19C20.6569 19 22 17.6569 22 16V8C22 6.34315 20.6569 5 19 5H5ZM7 7H5C4.44772 7 4 7.44772 4 8V9H7V7ZM9 7V9H20V8C20 7.44771 19.5523 7 19 7H9ZM7 11H4V13H7V11ZM9 13V11H20V13H9ZM7 15H4V16C4 16.5523 4.44772 17 5 17H7V15ZM9 17V15H20V16C20 16.5523 19.5523 17 19 17H9Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgViewMonth (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M2 8C2 6.34315 3.34315 5 5 5H19C20.6569 5 22 6.34315 22 8V16C22 17.6569 20.6569 19 19 19H5C3.34315 19 2 17.6569 2 16V8ZM17 7H19C19.5523 7 20 7.44771 20 8V9H17V7ZM15 7H13V9H15V7ZM11 7H9V9H11V7ZM7 7H5C4.44772 7 4 7.44772 4 8V9H7V7ZM4 11V13H7V11H4ZM4 15V16C4 16.5523 4.44772 17 5 17H7V15H4ZM9 17H11V15H9V17ZM13 17H15V15H13V17ZM17 17H19C19.5523 17 20 16.5523 20 16V15H17V17ZM20 13V11H17V13H20ZM11 13H9V11H11V13ZM15 13H13V11H15V13Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgViewSplit (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M2 8C2 6.34315 3.34315 5 5 5H19C20.6569 5 22 6.34315 22 8V16C22 17.6569 20.6569 19 19 19H5C3.34315 19 2 17.6569 2 16V8ZM13 7H19C19.5523 7 20 7.44771 20 8V16C20 16.5523 19.5523 17 19 17H13V7ZM11 7H5C4.44772 7 4 7.44772 4 8V16C4 16.5523 4.44772 17 5 17H11V7Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgVinyl (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 13C12.5523 13 13 12.5523 13 12C13 11.4477 12.5523 11 12 11C11.4477 11 11 11.4477 11 12C11 12.5523 11.4477 13 12 13Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M20 12C20 16.4183 16.4183 20 12 20C7.58172 20 4 16.4183 4 12C4 7.58172 7.58172 4 12 4C16.4183 4 20 7.58172 20 12ZM16 12C16 14.2091 14.2091 16 12 16C9.79086 16 8 14.2091 8 12C8 9.79086 9.79086 8 12 8C14.2091 8 16 9.79086 16 12Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgVoicemailO (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M11 12C11 12.3506 10.9398 12.6872 10.8293 13H13.1707C13.0602 12.6872 13 12.3506 13 12C13 10.3431 14.3431 9 16 9C17.6569 9 19 10.3431 19 12C19 13.6569 17.6569 15 16 15H8C6.34315 15 5 13.6569 5 12C5 10.3431 6.34315 9 8 9C9.65685 9 11 10.3431 11 12ZM9 12C9 12.5523 8.55228 13 8 13C7.44772 13 7 12.5523 7 12C7 11.4477 7.44772 11 8 11C8.55228 11 9 11.4477 9 12ZM17 12C17 12.5523 16.5523 13 16 13C15.4477 13 15 12.5523 15 12C15 11.4477 15.4477 11 16 11C16.5523 11 17 11.4477 17 12Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M23 12C23 18.0751 18.0751 23 12 23C5.92487 23 1 18.0751 1 12C1 5.92487 5.92487 1 12 1C18.0751 1 23 5.92487 23 12ZM21 12C21 16.9706 16.9706 21 12 21C7.02944 21 3 16.9706 3 12C3 7.02944 7.02944 3 12 3C16.9706 3 21 7.02944 21 12Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgVoicemailR (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M11.5 12C11.5 12.3506 11.4398 12.6872 11.3293 13H13.6707C13.5602 12.6872 13.5 12.3506 13.5 12C13.5 10.3431 14.8431 9 16.5 9C18.1569 9 19.5 10.3431 19.5 12C19.5 13.6569 18.1569 15 16.5 15H8.5C6.84315 15 5.5 13.6569 5.5 12C5.5 10.3431 6.84315 9 8.5 9C10.1569 9 11.5 10.3431 11.5 12ZM9.5 12C9.5 12.5523 9.05228 13 8.5 13C7.94772 13 7.5 12.5523 7.5 12C7.5 11.4477 7.94772 11 8.5 11C9.05228 11 9.5 11.4477 9.5 12ZM17.5 12C17.5 12.5523 17.0523 13 16.5 13C15.9477 13 15.5 12.5523 15.5 12C15.5 11.4477 15.9477 11 16.5 11C17.0523 11 17.5 11.4477 17.5 12Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M1.5 8C1.5 6.34315 2.84315 5 4.5 5H19.5C21.1569 5 22.5 6.34315 22.5 8V16C22.5 17.6569 21.1569 19 19.5 19H4.5C2.84315 19 1.5 17.6569 1.5 16V8ZM4.5 7H19.5C20.0523 7 20.5 7.44772 20.5 8V16C20.5 16.5523 20.0523 17 19.5 17H4.5C3.94772 17 3.5 16.5523 3.5 16V8C3.5 7.44772 3.94772 7 4.5 7Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgVoicemail (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M10.0004 15C10.6281 14.1643 11 13.1256 11 12C11 9.23858 8.76142 7 6 7C3.23858 7 1 9.23858 1 12C1 14.7614 3.23858 17 6 17H18C20.7614 17 23 14.7614 23 12C23 9.23858 20.7614 7 18 7C15.2386 7 13 9.23858 13 12C13 13.1256 13.3719 14.1643 13.9996 15H10.0004ZM6 15C7.65685 15 9 13.6569 9 12C9 10.3431 7.65685 9 6 9C4.34315 9 3 10.3431 3 12C3 13.6569 4.34315 15 6 15ZM18 15C19.6569 15 21 13.6569 21 12C21 10.3431 19.6569 9 18 9C16.3431 9 15 10.3431 15 12C15 13.6569 16.3431 15 18 15Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgVolume (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M24 12C24 16.4183 20.4183 20 16 20V18C19.3137 18 22 15.3137 22 12C22 8.68629 19.3137 6 16 6V4C20.4183 4 24 7.58172 24 12Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M20 12C20 14.2091 18.2091 16 16 16V14C17.1046 14 18 13.1046 18 12C18 10.8954 17.1046 10 16 10V8C18.2091 8 20 9.79086 20 12Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M9 16L15 20V4L9 8H5C2.79086 8 1 9.79086 1 12C1 14.2091 2.79086 16 5 16H9ZM5 10H9L13 7.5V16.5L9 14H5C3.89543 14 3 13.1046 3 12C3 10.8954 3.89543 10 5 10Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgWebcam (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 10C13 10.5523 12.5523 11 12 11C11.4477 11 11 10.5523 11 10C11 9.44772 11.4477 9 12 9C12.5523 9 13 9.44772 13 10Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M13 14.9C15.2822 14.4367 17 12.419 17 10C17 7.23858 14.7614 5 12 5C9.23858 5 7 7.23858 7 10C7 12.419 8.71776 14.4367 11 14.9V17H7V19H17V17H13V14.9ZM12 13C13.6569 13 15 11.6569 15 10C15 8.34315 13.6569 7 12 7C10.3431 7 9 8.34315 9 10C9 11.6569 10.3431 13 12 13Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgWebsite (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M14 7C13.4477 7 13 7.44772 13 8V16C13 16.5523 13.4477 17 14 17H18C18.5523 17 19 16.5523 19 16V8C19 7.44772 18.5523 7 18 7H14ZM17 9H15V15H17V9Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 7C5.44772 7 5 7.44772 5 8C5 8.55228 5.44772 9 6 9H10C10.5523 9 11 8.55228 11 8C11 7.44772 10.5523 7 10 7H6Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 11C5.44772 11 5 11.4477 5 12C5 12.5523 5.44772 13 6 13H10C10.5523 13 11 12.5523 11 12C11 11.4477 10.5523 11 10 11H6Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 16C5 15.4477 5.44772 15 6 15H10C10.5523 15 11 15.4477 11 16C11 16.5523 10.5523 17 10 17H6C5.44772 17 5 16.5523 5 16Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M4 3C2.34315 3 1 4.34315 1 6V18C1 19.6569 2.34315 21 4 21H20C21.6569 21 23 19.6569 23 18V6C23 4.34315 21.6569 3 20 3H4ZM20 5H4C3.44772 5 3 5.44772 3 6V18C3 18.5523 3.44772 19 4 19H20C20.5523 19 21 18.5523 21 18V6C21 5.44772 20.5523 5 20 5Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgWindows (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 5.5485L10.1954 4.58174V11.6106L3.00672 11.6651L3 5.5485ZM10.1954 12.3909V19.4957L3.00571 18.5105L3.0053 12.3909H10.1954ZM11.1134 4.45599L20.9977 3V11.5334L11.1134 11.6106V4.45599ZM21 12.505L20.9977 21L11.1134 19.6466V12.505H21Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgWorkAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M17 7C17 5.34315 15.6569 4 14 4H10C8.34315 4 7 5.34315 7 7H6C4.34315 7 3 8.34315 3 10V18C3 19.6569 4.34315 21 6 21H18C19.6569 21 21 19.6569 21 18V10C21 8.34315 19.6569 7 18 7H17ZM14 6H10C9.44772 6 9 6.44772 9 7H15C15 6.44772 14.5523 6 14 6ZM6 9H18C18.5523 9 19 9.44772 19 10V18C19 18.5523 18.5523 19 18 19H6C5.44772 19 5 18.5523 5 18V10C5 9.44772 5.44772 9 6 9Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgYinyang (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14 16C14 17.1046 13.1046 18 12 18C10.8954 18 10 17.1046 10 16C10 14.8954 10.8954 14 12 14C13.1046 14 14 14.8954 14 16Z\",\"fill\":\"currentColor\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12ZM12 12C9.79086 12 8 10.2091 8 8C8 5.79086 9.79086 4 12 4C7.58172 4 4 7.58172 4 12C4 16.4183 7.58172 20 12 20C14.2091 20 16 18.2091 16 16C16 13.7909 14.2091 12 12 12ZM14 8C14 9.10457 13.1046 10 12 10C10.8954 10 10 9.10457 10 8C10 6.89543 10.8954 6 12 6C13.1046 6 14 6.89543 14 8Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgYoutube (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M5 7H19C19.5523 7 20 7.44771 20 8V16C20 16.5523 19.5523 17 19 17H5C4.44772 17 4 16.5523 4 16V8C4 7.44772 4.44772 7 5 7ZM2 8C2 6.34315 3.34315 5 5 5H19C20.6569 5 22 6.34315 22 8V16C22 17.6569 20.6569 19 19 19H5C3.34315 19 2 17.6569 2 16V8ZM10 9L14 12L10 15V9Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgZeit (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17.9923 17.0225L11.9806 6.97729L6.00775 17.0225H17.9923Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgZoomIn (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M15.3431 15.2426C17.6863 12.8995 17.6863 9.1005 15.3431 6.75736C13 4.41421 9.20101 4.41421 6.85786 6.75736C4.51472 9.1005 4.51472 12.8995 6.85786 15.2426C9.20101 17.5858 13 17.5858 15.3431 15.2426ZM16.7574 5.34315C19.6425 8.22833 19.8633 12.769 17.4195 15.9075C17.4348 15.921 17.4498 15.9351 17.4645 15.9497L21.7071 20.1924C22.0976 20.5829 22.0976 21.2161 21.7071 21.6066C21.3166 21.9971 20.6834 21.9971 20.2929 21.6066L16.0503 17.364C16.0356 17.3493 16.0215 17.3343 16.008 17.319C12.8695 19.7628 8.32883 19.542 5.44365 16.6569C2.31946 13.5327 2.31946 8.46734 5.44365 5.34315C8.56785 2.21895 13.6332 2.21895 16.7574 5.34315ZM10.1005 7H12.1005V10H15.1005V12H12.1005V15H10.1005V12H7.10052V10H10.1005V7Z\",\"fill\":\"currentColor\"}}]})(props);\n};\nexport function CgZoomOut (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 24 24\",\"fill\":\"none\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"clipRule\":\"evenodd\",\"d\":\"M15.3431 15.2426C17.6863 12.8995 17.6863 9.1005 15.3431 6.75736C13 4.41421 9.20101 4.41421 6.85786 6.75736C4.51472 9.1005 4.51472 12.8995 6.85786 15.2426C9.20101 17.5858 13 17.5858 15.3431 15.2426ZM16.7574 5.34315C19.6425 8.22833 19.8633 12.769 17.4195 15.9075C17.4348 15.921 17.4498 15.9351 17.4645 15.9497L21.7071 20.1924C22.0976 20.5829 22.0976 21.2161 21.7071 21.6066C21.3166 21.9971 20.6834 21.9971 20.2929 21.6066L16.0503 17.364C16.0356 17.3493 16.0215 17.3343 16.008 17.319C12.8695 19.7628 8.32883 19.542 5.44365 16.6569C2.31946 13.5327 2.31946 8.46734 5.44365 5.34315C8.56785 2.21895 13.6332 2.21895 16.7574 5.34315ZM7.10052 10V12H15.1005V10L7.10052 10Z\",\"fill\":\"currentColor\"}}]})(props);\n};\n","import Spinner from './Spinner'\n\nexport default Spinner","import React, { forwardRef } from 'react'\nimport classNames from 'classnames'\nimport PropTypes from 'prop-types'\n\nconst TFoot = forwardRef((props, ref) => {\n\tconst { children, className, asElement: Component, ...rest } = props\n\n\tconst tBodyClass = classNames(\n\t\tComponent !== 'tfoot' && 'tfoot',\n\t\tclassName\n\t)\n\n\treturn (\n\t\t\n\t\t\t{children}\n\t\t\n\t)\n})\n\nTFoot.propTypes = {\n\tasElement: PropTypes.string\n};\n\nTFoot.defaultProps = {\n\tasElement: 'tfoot'\n}\n\nexport default TFoot\n","import { useRef, useEffect, useMemo } from 'react'\n\nfunction useCallbackRef(cb) {\n const cbRef = useRef(cb)\n\n useEffect(() => {\n cbRef.current = cb\n })\n\n return useMemo(() => ((...args) => cbRef.current?.(...args)), [])\n}\n\nexport default useCallbackRef","function useColorLevel(level) {\n const colorLevel = ['50', '100', '200', '300', '400', '500', '600', '700', '800', '900']\n const index = colorLevel.indexOf(level?.toString())\n \n function calculateLevel(action) {\n if(index === 0 || index === colorLevel.length - 1) {\n return level\n }\n if(action === 'decrement') {\n return colorLevel[index - 1]\n }\n if(action === 'increment') {\n return colorLevel[index + 1]\n }\n }\n\n const decreaseLevel = calculateLevel('decrement')\n\n const increaseLevel = calculateLevel('increment')\n\n return [increaseLevel, decreaseLevel]\n}\n\nexport default useColorLevel","import { useState, useCallback, useRef, useEffect } from 'react'\nimport useCallbackRef from './useCallbackRef'\n\nfunction useUncontrolledState ({ defaultProp, onChange }) {\n const uncontrolledState = useState(defaultProp)\n const [value] = uncontrolledState\n const prevValueRef = useRef(value)\n const handleChange = useCallbackRef(onChange)\n \n useEffect(() => {\n if (prevValueRef.current !== value) {\n handleChange(value)\n prevValueRef.current = value\n }\n }, [value, prevValueRef, handleChange])\n \n return uncontrolledState\n}\n\nfunction useControllableState({ prop, defaultProp, onChange = () => {} }) {\n const [uncontrolledProp, setUncontrolledProp] = useUncontrolledState({ defaultProp, onChange })\n const isControlled = prop !== undefined\n const value = isControlled ? prop : uncontrolledProp\n const handleChange = useCallbackRef(onChange)\n \n const setValue = useCallback(\n (nextValue) => {\n \n const setter = nextValue\n if (isControlled) {\n const value = typeof nextValue === 'function' ? setter(prop) : nextValue\n if (value !== prop) {\n handleChange(value)\n }\n } else {\n setUncontrolledProp(nextValue)\n }\n },\n [isControlled, prop, setUncontrolledProp, handleChange]\n )\n \n return [value, setValue]\n}\n\nexport default useControllableState","const useMergedRef = (...refs) => (element) => refs.forEach((ref) => {\n if (typeof ref === 'function') {\n ref(element)\n } else if (ref && typeof ref === 'object') {\n ref.current = element\n }\n})\n\nexport default useMergedRef","import { useEffect, useCallback } from 'react'\nimport { findDOMNode } from 'react-dom'\n\nconst domContains = (context, node) => {\n if (context.contains) {\n return context.contains(node)\n } else if (context.compareDocumentPosition) {\n return context === node || !!(context.compareDocumentPosition(node) & 16)\n }\n if (node) {\n do {\n if (node === context) {\n return true\n }\n } while ((node = node.parentNode))\n }\n return false\n}\n\nconst getRefTarget = (ref) => {\n return ref && ('current' in ref ? ref.current : ref)\n}\n\nfunction getDOMNode(elementOrRef) {\n\n const element = elementOrRef?.root || elementOrRef?.child || getRefTarget(elementOrRef)\n\n if (element?.nodeType && typeof element?.nodeName === 'string') {\n return element\n }\n\n return findDOMNode(element)\n }\n\nfunction isLeftClickEvent(e) {\n return e?.button === 0\n}\n\nfunction isModifiedEvent(e) {\n return !!(e.metaKey || e.altKey || e.ctrlKey || e?.shiftKey)\n}\n\nfunction onEventListener(target, eventType, listener, options = false ) {\n\n\n target.addEventListener(eventType, listener, options)\n \n return {\n off() {\n target.removeEventListener(eventType, listener, options)\n }\n }\n}\n\nfunction useRootClose(onRootClose ,{ disabled, triggerTarget, overlayTarget }) {\n\n const handleDocumentMouseDown = useCallback(event => {\n const triggerElement = getDOMNode(triggerTarget)\n const overlayElement = getDOMNode(overlayTarget)\n\n if (triggerElement && domContains(triggerElement, event.target)) {\n return\n }\n\n if (overlayElement && domContains(overlayElement, event.target)) {\n return\n }\n\n if (isModifiedEvent(event) || !isLeftClickEvent(event)) {\n return\n }\n\n onRootClose?.(event)\n }, [onRootClose, triggerTarget, overlayTarget])\n\n useEffect(() => {\n const currentTarget = getDOMNode(triggerTarget)\n\n if (disabled || !currentTarget) return\n\n const doc = () => (currentTarget && currentTarget.ownerDocument) || document\n const onDocumentMouseDownListener = onEventListener(doc(), 'mousedown', handleDocumentMouseDown, true)\n \n\n return () => {\n onDocumentMouseDownListener?.off()\n }\n }, [triggerTarget, disabled, onRootClose, handleDocumentMouseDown])\n}\n\nexport default useRootClose","import { useEffect, useRef, useCallback } from 'react'\n\nfunction useTimeout(fn, ms = 0, open = true) {\n\tconst timeout = useRef()\n\n\tconst clear = useCallback(() => {\n\t\ttimeout.current && clearTimeout(timeout.current)\n\t}, [])\n\n\tconst set = useCallback(() => {\n\t\ttimeout.current = open && setTimeout(() => fn?.(), ms)\n\t}, [ms, fn, open])\n\n\tuseEffect(() => {\n\t\tset()\n\t\treturn clear\n\t}, [fn, ms, open, clear, set])\n\n\treturn { clear, reset: set }\n}\n\nexport default useTimeout\n","var createDefinition = function (propNames) { return ({\n isEnabled: function (props) { return propNames.some(function (name) { return !!props[name]; }); },\n}); };\nvar featureDefinitions = {\n measureLayout: createDefinition([\n \"layout\",\n \"layoutId\",\n \"drag\",\n \"_layoutResetTransform\",\n ]),\n animation: createDefinition([\n \"animate\",\n \"exit\",\n \"variants\",\n \"whileHover\",\n \"whileTap\",\n \"whileFocus\",\n \"whileDrag\",\n ]),\n exit: createDefinition([\"exit\"]),\n drag: createDefinition([\"drag\", \"dragControls\"]),\n focus: createDefinition([\"whileFocus\"]),\n hover: createDefinition([\"whileHover\", \"onHoverStart\", \"onHoverEnd\"]),\n tap: createDefinition([\"whileTap\", \"onTap\", \"onTapStart\", \"onTapCancel\"]),\n pan: createDefinition([\n \"onPan\",\n \"onPanStart\",\n \"onPanSessionStart\",\n \"onPanEnd\",\n ]),\n layoutAnimation: createDefinition([\"layout\", \"layoutId\"]),\n};\nfunction loadFeatures(features) {\n for (var key in features) {\n var Component = features[key];\n if (Component !== null)\n featureDefinitions[key].Component = Component;\n }\n}\n\nexport { featureDefinitions, loadFeatures };\n","import { createContext } from 'react';\n\nvar LazyContext = createContext({ strict: false });\n\nexport { LazyContext };\n","import { __assign } from 'tslib';\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport { featureDefinitions } from './definitions.js';\nimport { invariant } from 'hey-listen';\nimport { LazyContext } from '../../context/LazyContext.js';\n\nvar featureNames = Object.keys(featureDefinitions);\nvar numFeatures = featureNames.length;\n/**\n * Load features via renderless components based on the provided MotionProps.\n */\nfunction useFeatures(props, visualElement, preloadedFeatures) {\n var features = [];\n var lazyContext = useContext(LazyContext);\n if (!visualElement)\n return null;\n /**\n * If we're in development mode, check to make sure we're not rendering a motion component\n * as a child of LazyMotion, as this will break the file-size benefits of using it.\n */\n if (process.env.NODE_ENV !== \"production\" &&\n preloadedFeatures &&\n lazyContext.strict) {\n invariant(false, \"You have rendered a `motion` component within a `LazyMotion` component. This will break tree shaking. Import and render a `m` component instead.\");\n }\n for (var i = 0; i < numFeatures; i++) {\n var name_1 = featureNames[i];\n var _a = featureDefinitions[name_1], isEnabled = _a.isEnabled, Component = _a.Component;\n /**\n * It might be possible in the future to use this moment to\n * dynamically request functionality. In initial tests this\n * was producing a lot of duplication amongst bundles.\n */\n if (isEnabled(props) && Component) {\n features.push(React.createElement(Component, __assign({ key: name_1 }, props, { visualElement: visualElement })));\n }\n }\n return features;\n}\n\nexport { useFeatures };\n","import { createContext } from 'react';\n\n/**\n * @public\n */\nvar MotionConfigContext = createContext({\n transformPagePoint: function (p) { return p; },\n isStatic: false,\n});\n\nexport { MotionConfigContext };\n","import { useContext, createContext } from 'react';\n\nvar MotionContext = createContext({});\nfunction useVisualElementContext() {\n return useContext(MotionContext).visualElement;\n}\n\nexport { MotionContext, useVisualElementContext };\n","import { createContext } from 'react';\n\n/**\n * @public\n */\nvar PresenceContext = createContext(null);\n\nexport { PresenceContext };\n","import { useRef } from 'react';\n\n/**\n * Creates a constant value over the lifecycle of a component.\n *\n * Even if `useMemo` is provided an empty array as its final argument, it doesn't offer\n * a guarantee that it won't re-run for performance reasons later on. By using `useConstant`\n * you can ensure that initialisers don't execute twice or more.\n */\nfunction useConstant(init) {\n var ref = useRef(null);\n if (ref.current === null) {\n ref.current = init();\n }\n return ref.current;\n}\n\nexport { useConstant };\n","import { useContext, useEffect } from 'react';\nimport { PresenceContext } from '../../context/PresenceContext.js';\nimport { useConstant } from '../../utils/use-constant.js';\n\n/**\n * When a component is the child of `AnimatePresence`, it can use `usePresence`\n * to access information about whether it's still present in the React tree.\n *\n * ```jsx\n * import { usePresence } from \"framer-motion\"\n *\n * export const Component = () => {\n * const [isPresent, safeToRemove] = usePresence()\n *\n * useEffect(() => {\n * !isPresent && setTimeout(safeToRemove, 1000)\n * }, [isPresent])\n *\n * return
\n * }\n * ```\n *\n * If `isPresent` is `false`, it means that a component has been removed the tree, but\n * `AnimatePresence` won't really remove it until `safeToRemove` has been called.\n *\n * @public\n */\nfunction usePresence() {\n var context = useContext(PresenceContext);\n if (context === null)\n return [true, null];\n var isPresent = context.isPresent, onExitComplete = context.onExitComplete, register = context.register;\n // It's safe to call the following hooks conditionally (after an early return) because the context will always\n // either be null or non-null for the lifespan of the component.\n // Replace with useOpaqueId when released in React\n var id = useUniqueId();\n useEffect(function () { return register(id); }, []);\n var safeToRemove = function () { return onExitComplete === null || onExitComplete === void 0 ? void 0 : onExitComplete(id); };\n return !isPresent && onExitComplete ? [false, safeToRemove] : [true];\n}\n/**\n * Similar to `usePresence`, except `useIsPresent` simply returns whether or not the component is present.\n * There is no `safeToRemove` function.\n *\n * ```jsx\n * import { useIsPresent } from \"framer-motion\"\n *\n * export const Component = () => {\n * const isPresent = useIsPresent()\n *\n * useEffect(() => {\n * !isPresent && console.log(\"I've been removed!\")\n * }, [isPresent])\n *\n * return
\n * }\n * ```\n *\n * @public\n */\nfunction useIsPresent() {\n return isPresent(useContext(PresenceContext));\n}\nfunction isPresent(context) {\n return context === null ? true : context.isPresent;\n}\nvar counter = 0;\nvar incrementId = function () { return counter++; };\nvar useUniqueId = function () { return useConstant(incrementId); };\n\nexport { isPresent, useIsPresent, usePresence };\n","import { createContext } from 'react';\n\n/**\n * @internal\n */\nvar LayoutGroupContext = createContext(null);\n\nexport { LayoutGroupContext };\n","var isBrowser = typeof window !== \"undefined\";\n\nexport { isBrowser };\n","import { useLayoutEffect, useEffect } from 'react';\nimport { isBrowser } from './is-browser.js';\n\nvar useIsomorphicLayoutEffect = isBrowser ? useLayoutEffect : useEffect;\n\nexport { useIsomorphicLayoutEffect };\n","import { __assign } from 'tslib';\nimport { useContext, useRef, useEffect } from 'react';\nimport { PresenceContext } from '../../context/PresenceContext.js';\nimport { isPresent } from '../../components/AnimatePresence/use-presence.js';\nimport { LayoutGroupContext } from '../../context/LayoutGroupContext.js';\nimport { useVisualElementContext } from '../../context/MotionContext/index.js';\nimport { useIsomorphicLayoutEffect } from '../../utils/use-isomorphic-effect.js';\nimport { MotionConfigContext } from '../../context/MotionConfigContext.js';\nimport { LazyContext } from '../../context/LazyContext.js';\n\nfunction useLayoutId(_a) {\n var layoutId = _a.layoutId;\n var layoutGroupId = useContext(LayoutGroupContext);\n return layoutGroupId && layoutId !== undefined\n ? layoutGroupId + \"-\" + layoutId\n : layoutId;\n}\nfunction useVisualElement(Component, visualState, props, createVisualElement) {\n var config = useContext(MotionConfigContext);\n var lazyContext = useContext(LazyContext);\n var parent = useVisualElementContext();\n var presenceContext = useContext(PresenceContext);\n var layoutId = useLayoutId(props);\n var visualElementRef = useRef(undefined);\n /**\n * If we haven't preloaded a renderer, check to see if we have one lazy-loaded\n */\n if (!createVisualElement)\n createVisualElement = lazyContext.renderer;\n if (!visualElementRef.current && createVisualElement) {\n visualElementRef.current = createVisualElement(Component, {\n visualState: visualState,\n parent: parent,\n props: __assign(__assign({}, props), { layoutId: layoutId }),\n presenceId: presenceContext === null || presenceContext === void 0 ? void 0 : presenceContext.id,\n blockInitialAnimation: (presenceContext === null || presenceContext === void 0 ? void 0 : presenceContext.initial) === false,\n });\n }\n var visualElement = visualElementRef.current;\n useIsomorphicLayoutEffect(function () {\n if (!visualElement)\n return;\n visualElement.setProps(__assign(__assign(__assign({}, config), props), { layoutId: layoutId }));\n visualElement.isPresent = isPresent(presenceContext);\n visualElement.isPresenceRoot =\n !parent || parent.presenceId !== (presenceContext === null || presenceContext === void 0 ? void 0 : presenceContext.id);\n /**\n * Fire a render to ensure the latest state is reflected on-screen.\n */\n visualElement.syncRender();\n });\n useEffect(function () {\n var _a;\n if (!visualElement)\n return;\n /**\n * In a future refactor we can replace the features-as-components and\n * have this loop through them all firing \"effect\" listeners\n */\n (_a = visualElement.animationState) === null || _a === void 0 ? void 0 : _a.animateChanges();\n });\n useIsomorphicLayoutEffect(function () { return function () { return visualElement === null || visualElement === void 0 ? void 0 : visualElement.notifyUnmount(); }; }, []);\n return visualElement;\n}\n\nexport { useVisualElement };\n","function isRefObject(ref) {\n return (typeof ref === \"object\" &&\n Object.prototype.hasOwnProperty.call(ref, \"current\"));\n}\n\nexport { isRefObject };\n","/**\n * Decides if the supplied variable is an array of variant labels\n */\nfunction isVariantLabels(v) {\n return Array.isArray(v);\n}\n/**\n * Decides if the supplied variable is variant label\n */\nfunction isVariantLabel(v) {\n return typeof v === \"string\" || isVariantLabels(v);\n}\n/**\n * Creates an object containing the latest state of every MotionValue on a VisualElement\n */\nfunction getCurrent(visualElement) {\n var current = {};\n visualElement.forEachValue(function (value, key) { return (current[key] = value.get()); });\n return current;\n}\n/**\n * Creates an object containing the latest velocity of every MotionValue on a VisualElement\n */\nfunction getVelocity(visualElement) {\n var velocity = {};\n visualElement.forEachValue(function (value, key) { return (velocity[key] = value.getVelocity()); });\n return velocity;\n}\nfunction resolveVariantFromProps(props, definition, custom, currentValues, currentVelocity) {\n var _a;\n if (currentValues === void 0) { currentValues = {}; }\n if (currentVelocity === void 0) { currentVelocity = {}; }\n if (typeof definition === \"string\") {\n definition = (_a = props.variants) === null || _a === void 0 ? void 0 : _a[definition];\n }\n return typeof definition === \"function\"\n ? definition(custom !== null && custom !== void 0 ? custom : props.custom, currentValues, currentVelocity)\n : definition;\n}\nfunction resolveVariant(visualElement, definition, custom) {\n var props = visualElement.getProps();\n return resolveVariantFromProps(props, definition, custom !== null && custom !== void 0 ? custom : props.custom, getCurrent(visualElement), getVelocity(visualElement));\n}\nfunction checkIfControllingVariants(props) {\n var _a;\n return (typeof ((_a = props.animate) === null || _a === void 0 ? void 0 : _a.start) === \"function\" ||\n isVariantLabel(props.initial) ||\n isVariantLabel(props.animate) ||\n isVariantLabel(props.whileHover) ||\n isVariantLabel(props.whileDrag) ||\n isVariantLabel(props.whileTap) ||\n isVariantLabel(props.whileFocus) ||\n isVariantLabel(props.exit));\n}\nfunction checkIfVariantNode(props) {\n return Boolean(checkIfControllingVariants(props) || props.variants);\n}\n\nexport { checkIfControllingVariants, checkIfVariantNode, isVariantLabel, isVariantLabels, resolveVariant, resolveVariantFromProps };\n","import { useMemo, useContext } from 'react';\nimport { MotionContext } from './index.js';\nimport { getCurrentTreeVariants } from './utils.js';\n\nfunction useCreateMotionContext(props, isStatic) {\n var _a = getCurrentTreeVariants(props, useContext(MotionContext)), initial = _a.initial, animate = _a.animate;\n return useMemo(function () { return ({ initial: initial, animate: animate }); }, \n /**\n * Only break memoisation in static mode\n */\n isStatic\n ? [\n variantLabelsAsDependency(initial),\n variantLabelsAsDependency(animate),\n ]\n : []);\n}\nfunction variantLabelsAsDependency(prop) {\n return Array.isArray(prop) ? prop.join(\" \") : prop;\n}\n\nexport { useCreateMotionContext };\n","import { checkIfControllingVariants, isVariantLabel } from '../../render/utils/variants.js';\n\nfunction getCurrentTreeVariants(props, context) {\n if (checkIfControllingVariants(props)) {\n var initial = props.initial, animate = props.animate;\n return {\n initial: initial === false || isVariantLabel(initial)\n ? initial\n : undefined,\n animate: isVariantLabel(animate) ? animate : undefined,\n };\n }\n return props.inherit !== false ? context : {};\n}\n\nexport { getCurrentTreeVariants };\n","import * as React from 'react';\nimport { forwardRef, useContext } from 'react';\nimport { useFeatures } from './features/use-features.js';\nimport { MotionConfigContext } from '../context/MotionConfigContext.js';\nimport { MotionContext } from '../context/MotionContext/index.js';\nimport { useVisualElement } from './utils/use-visual-element.js';\nimport { useMotionRef } from './utils/use-motion-ref.js';\nimport { useCreateMotionContext } from '../context/MotionContext/create.js';\nimport { loadFeatures } from './features/definitions.js';\nimport { isBrowser } from '../utils/is-browser.js';\n\n/**\n * Create a `motion` component.\n *\n * This function accepts a Component argument, which can be either a string (ie \"div\"\n * for `motion.div`), or an actual React component.\n *\n * Alongside this is a config option which provides a way of rendering the provided\n * component \"offline\", or outside the React render cycle.\n *\n * @internal\n */\nfunction createMotionComponent(_a) {\n var preloadedFeatures = _a.preloadedFeatures, createVisualElement = _a.createVisualElement, useRender = _a.useRender, useVisualState = _a.useVisualState, Component = _a.Component;\n preloadedFeatures && loadFeatures(preloadedFeatures);\n function MotionComponent(props, externalRef) {\n /**\n * If we're rendering in a static environment, we only visually update the component\n * as a result of a React-rerender rather than interactions or animations. This\n * means we don't need to load additional memory structures like VisualElement,\n * or any gesture/animation features.\n */\n var isStatic = useContext(MotionConfigContext).isStatic;\n var features = null;\n /**\n * Create the tree context. This is memoized and will only trigger renders\n * when the current tree variant changes in static mode.\n */\n var context = useCreateMotionContext(props, isStatic);\n /**\n *\n */\n var visualState = useVisualState(props, isStatic);\n if (!isStatic && isBrowser) {\n /**\n * Create a VisualElement for this component. A VisualElement provides a common\n * interface to renderer-specific APIs (ie DOM/Three.js etc) as well as\n * providing a way of rendering to these APIs outside of the React render loop\n * for more performant animations and interactions\n */\n context.visualElement = useVisualElement(Component, visualState, props, createVisualElement);\n /**\n * Load Motion gesture and animation features. These are rendered as renderless\n * components so each feature can optionally make use of React lifecycle methods.\n *\n * TODO: The intention is to move these away from a React-centric to a\n * VisualElement-centric lifecycle scheme.\n */\n features = useFeatures(props, context.visualElement, preloadedFeatures);\n }\n /**\n * The mount order and hierarchy is specific to ensure our element ref\n * is hydrated by the time features fire their effects.\n */\n return (React.createElement(React.Fragment, null,\n React.createElement(MotionContext.Provider, { value: context }, useRender(Component, props, useMotionRef(visualState, context.visualElement, externalRef), visualState, isStatic)),\n features));\n }\n return forwardRef(MotionComponent);\n}\n\nexport { createMotionComponent };\n","import { useCallback } from 'react';\nimport { isRefObject } from '../../utils/is-ref-object.js';\n\n/**\n * Creates a ref function that, when called, hydrates the provided\n * external ref and VisualElement.\n */\nfunction useMotionRef(visualState, visualElement, externalRef) {\n return useCallback(function (instance) {\n var _a;\n instance && ((_a = visualState.mount) === null || _a === void 0 ? void 0 : _a.call(visualState, instance));\n if (visualElement) {\n instance\n ? visualElement.mount(instance)\n : visualElement.unmount();\n }\n if (externalRef) {\n if (typeof externalRef === \"function\") {\n externalRef(instance);\n }\n else if (isRefObject(externalRef)) {\n externalRef.current = instance;\n }\n }\n }, \n /**\n * Only pass a new ref callback to React if we've received a visual element\n * factory. Otherwise we'll be mounting/remounting every time externalRef\n * or other dependencies change.\n */\n [visualElement]);\n}\n\nexport { useMotionRef };\n","import { createMotionComponent } from '../../motion/index.js';\n\n/**\n * Convert any React component into a `motion` component. The provided component\n * **must** use `React.forwardRef` to the underlying DOM component you want to animate.\n *\n * ```jsx\n * const Component = React.forwardRef((props, ref) => {\n * return
\n * })\n *\n * const MotionComponent = motion(Component)\n * ```\n *\n * @public\n */\nfunction createMotionProxy(createConfig) {\n function custom(Component, customMotionComponentConfig) {\n if (customMotionComponentConfig === void 0) { customMotionComponentConfig = {}; }\n return createMotionComponent(createConfig(Component, customMotionComponentConfig));\n }\n /**\n * A cache of generated `motion` components, e.g `motion.div`, `motion.input` etc.\n * Rather than generating them anew every render.\n */\n var componentCache = new Map();\n return new Proxy(custom, {\n /**\n * Called when `motion` is referenced with a prop: `motion.div`, `motion.input` etc.\n * The prop name is passed through as `key` and we can use that to generate a `motion`\n * DOM component with that name.\n */\n get: function (_target, key) {\n /**\n * If this element doesn't exist in the component cache, create it and cache.\n */\n if (!componentCache.has(key)) {\n componentCache.set(key, custom(key));\n }\n return componentCache.get(key);\n },\n });\n}\n\nexport { createMotionProxy };\n","/**\n * We keep these listed seperately as we use the lowercase tag names as part\n * of the runtime bundle to detect SVG components\n */\nvar lowercaseSVGElements = [\n \"animate\",\n \"circle\",\n \"defs\",\n \"desc\",\n \"ellipse\",\n \"g\",\n \"image\",\n \"line\",\n \"filter\",\n \"marker\",\n \"mask\",\n \"metadata\",\n \"path\",\n \"pattern\",\n \"polygon\",\n \"polyline\",\n \"rect\",\n \"stop\",\n \"svg\",\n \"switch\",\n \"symbol\",\n \"text\",\n \"tspan\",\n \"use\",\n \"view\",\n];\n\nexport { lowercaseSVGElements };\n","import { lowercaseSVGElements } from '../../svg/lowercase-elements.js';\n\nfunction isSVGComponent(Component) {\n if (\n /**\n * If it's not a string, it's a custom React component. Currently we only support\n * HTML custom React components.\n */\n typeof Component !== \"string\" ||\n /**\n * If it contains a dash, the element is a custom HTML webcomponent.\n */\n Component.includes(\"-\")) {\n return false;\n }\n else if (\n /**\n * If it's in our list of lowercase SVG tags, it's an SVG component\n */\n lowercaseSVGElements.indexOf(Component) > -1 ||\n /**\n * If it contains a capital letter, it's an SVG component\n */\n /[A-Z]/.test(Component)) {\n return true;\n }\n return false;\n}\n\nexport { isSVGComponent };\n","var valueScaleCorrection = {};\n/**\n * @internal\n */\nfunction addScaleCorrection(correctors) {\n for (var key in correctors) {\n valueScaleCorrection[key] = correctors[key];\n }\n}\n\nexport { addScaleCorrection, valueScaleCorrection };\n","/**\n * A list of all transformable axes. We'll use this list to generated a version\n * of each axes for each transform.\n */\nvar transformAxes = [\"\", \"X\", \"Y\", \"Z\"];\n/**\n * An ordered array of each transformable value. By default, transform values\n * will be sorted to this order.\n */\nvar order = [\"translate\", \"scale\", \"rotate\", \"skew\"];\n/**\n * Generate a list of every possible transform key.\n */\nvar transformProps = [\"transformPerspective\", \"x\", \"y\", \"z\"];\norder.forEach(function (operationKey) {\n return transformAxes.forEach(function (axesKey) {\n return transformProps.push(operationKey + axesKey);\n });\n});\n/**\n * A function to use with Array.sort to sort transform keys by their default order.\n */\nfunction sortTransformProps(a, b) {\n return transformProps.indexOf(a) - transformProps.indexOf(b);\n}\n/**\n * A quick lookup for transform props.\n */\nvar transformPropSet = new Set(transformProps);\nfunction isTransformProp(key) {\n return transformPropSet.has(key);\n}\n/**\n * A quick lookup for transform origin props\n */\nvar transformOriginProps = new Set([\"originX\", \"originY\", \"originZ\"]);\nfunction isTransformOriginProp(key) {\n return transformOriginProps.has(key);\n}\n\nexport { isTransformOriginProp, isTransformProp, sortTransformProps, transformAxes, transformProps };\n","import { valueScaleCorrection } from '../../render/dom/projection/scale-correction.js';\nimport { isTransformProp, isTransformOriginProp } from '../../render/html/utils/transform.js';\n\nfunction isForcedMotionValue(key, _a) {\n var layout = _a.layout, layoutId = _a.layoutId;\n return (isTransformProp(key) ||\n isTransformOriginProp(key) ||\n ((layout || layoutId !== undefined) &&\n (!!valueScaleCorrection[key] || key === \"opacity\")));\n}\n\nexport { isForcedMotionValue };\n","var isMotionValue = function (value) {\n return value !== null && typeof value === \"object\" && value.getVelocity;\n};\n\nexport { isMotionValue };\n","import { sortTransformProps } from './transform.js';\n\nvar translateAlias = {\n x: \"translateX\",\n y: \"translateY\",\n z: \"translateZ\",\n transformPerspective: \"perspective\",\n};\n/**\n * Build a CSS transform style from individual x/y/scale etc properties.\n *\n * This outputs with a default order of transforms/scales/rotations, this can be customised by\n * providing a transformTemplate function.\n */\nfunction buildTransform(_a, _b, transformIsDefault, transformTemplate) {\n var transform = _a.transform, transformKeys = _a.transformKeys;\n var _c = _b.enableHardwareAcceleration, enableHardwareAcceleration = _c === void 0 ? true : _c, _d = _b.allowTransformNone, allowTransformNone = _d === void 0 ? true : _d;\n // The transform string we're going to build into.\n var transformString = \"\";\n // Transform keys into their default order - this will determine the output order.\n transformKeys.sort(sortTransformProps);\n // Track whether the defined transform has a defined z so we don't add a\n // second to enable hardware acceleration\n var transformHasZ = false;\n // Loop over each transform and build them into transformString\n var numTransformKeys = transformKeys.length;\n for (var i = 0; i < numTransformKeys; i++) {\n var key = transformKeys[i];\n transformString += (translateAlias[key] || key) + \"(\" + transform[key] + \") \";\n if (key === \"z\")\n transformHasZ = true;\n }\n if (!transformHasZ && enableHardwareAcceleration) {\n transformString += \"translateZ(0)\";\n }\n else {\n transformString = transformString.trim();\n }\n // If we have a custom `transform` template, pass our transform values and\n // generated transformString to that before returning\n if (transformTemplate) {\n transformString = transformTemplate(transform, transformIsDefault ? \"\" : transformString);\n }\n else if (allowTransformNone && transformIsDefault) {\n transformString = \"none\";\n }\n return transformString;\n}\n/**\n * Build a transformOrigin style. Uses the same defaults as the browser for\n * undefined origins.\n */\nfunction buildTransformOrigin(_a) {\n var _b = _a.originX, originX = _b === void 0 ? \"50%\" : _b, _c = _a.originY, originY = _c === void 0 ? \"50%\" : _c, _d = _a.originZ, originZ = _d === void 0 ? 0 : _d;\n return originX + \" \" + originY + \" \" + originZ;\n}\n\nexport { buildTransform, buildTransformOrigin };\n","/**\n * Returns true if the provided key is a CSS variable\n */\nfunction isCSSVariable(key) {\n return key.startsWith(\"--\");\n}\n\nexport { isCSSVariable };\n","/**\n * Provided a value and a ValueType, returns the value as that value type.\n */\nvar getValueAsType = function (value, type) {\n return type && typeof value === \"number\"\n ? type.transform(value)\n : value;\n};\n\nexport { getValueAsType };\n","var clamp = function (min, max) { return function (v) {\n return Math.max(Math.min(v, max), min);\n}; };\nvar sanitize = function (v) { return (v % 1 ? Number(v.toFixed(5)) : v); };\nvar floatRegex = /(-)?([\\d]*\\.?[\\d])+/g;\nvar colorRegex = /(#[0-9a-f]{6}|#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\\((-?[\\d\\.]+%?[,\\s]+){2,3}\\s*\\/*\\s*[\\d\\.]+%?\\))/gi;\nvar singleColorRegex = /^(#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\\((-?[\\d\\.]+%?[,\\s]+){2,3}\\s*\\/*\\s*[\\d\\.]+%?\\))$/i;\nfunction isString(v) {\n return typeof v === 'string';\n}\n\nexport { clamp, colorRegex, floatRegex, isString, sanitize, singleColorRegex };\n","import { __assign } from 'tslib';\nimport { isString } from '../utils.js';\n\nvar createUnitType = function (unit) { return ({\n test: function (v) {\n return isString(v) && v.endsWith(unit) && v.split(' ').length === 1;\n },\n parse: parseFloat,\n transform: function (v) { return \"\" + v + unit; },\n}); };\nvar degrees = createUnitType('deg');\nvar percent = createUnitType('%');\nvar px = createUnitType('px');\nvar vh = createUnitType('vh');\nvar vw = createUnitType('vw');\nvar progressPercentage = __assign(__assign({}, percent), { parse: function (v) { return percent.parse(v) / 100; }, transform: function (v) { return percent.transform(v * 100); } });\n\nexport { degrees, percent, progressPercentage, px, vh, vw };\n","import { __assign } from 'tslib';\nimport { clamp } from '../utils.js';\n\nvar number = {\n test: function (v) { return typeof v === 'number'; },\n parse: parseFloat,\n transform: function (v) { return v; },\n};\nvar alpha = __assign(__assign({}, number), { transform: clamp(0, 1) });\nvar scale = __assign(__assign({}, number), { default: 1 });\n\nexport { alpha, number, scale };\n","import { __assign } from 'tslib';\nimport { number } from 'style-value-types';\n\nvar int = __assign(__assign({}, number), { transform: Math.round });\n\nexport { int };\n","import { px, degrees, scale, alpha, progressPercentage } from 'style-value-types';\nimport { int } from './type-int.js';\n\nvar numberValueTypes = {\n // Border props\n borderWidth: px,\n borderTopWidth: px,\n borderRightWidth: px,\n borderBottomWidth: px,\n borderLeftWidth: px,\n borderRadius: px,\n radius: px,\n borderTopLeftRadius: px,\n borderTopRightRadius: px,\n borderBottomRightRadius: px,\n borderBottomLeftRadius: px,\n // Positioning props\n width: px,\n maxWidth: px,\n height: px,\n maxHeight: px,\n size: px,\n top: px,\n right: px,\n bottom: px,\n left: px,\n // Spacing props\n padding: px,\n paddingTop: px,\n paddingRight: px,\n paddingBottom: px,\n paddingLeft: px,\n margin: px,\n marginTop: px,\n marginRight: px,\n marginBottom: px,\n marginLeft: px,\n // Transform props\n rotate: degrees,\n rotateX: degrees,\n rotateY: degrees,\n rotateZ: degrees,\n scale: scale,\n scaleX: scale,\n scaleY: scale,\n scaleZ: scale,\n skew: degrees,\n skewX: degrees,\n skewY: degrees,\n distance: px,\n translateX: px,\n translateY: px,\n translateZ: px,\n x: px,\n y: px,\n z: px,\n perspective: px,\n transformPerspective: px,\n opacity: alpha,\n originX: progressPercentage,\n originY: progressPercentage,\n originZ: px,\n // Misc\n zIndex: int,\n // SVG\n fillOpacity: alpha,\n strokeOpacity: alpha,\n numOctaves: int,\n};\n\nexport { numberValueTypes };\n","import { valueScaleCorrection } from '../../dom/projection/scale-correction.js';\nimport { buildTransform, buildTransformOrigin } from './build-transform.js';\nimport { isCSSVariable } from '../../dom/utils/is-css-variable.js';\nimport { isTransformProp, isTransformOriginProp } from './transform.js';\nimport { getValueAsType } from '../../dom/value-types/get-as-type.js';\nimport { numberValueTypes } from '../../dom/value-types/number.js';\n\nfunction buildHTMLStyles(state, latestValues, projection, layoutState, options, transformTemplate, buildProjectionTransform, buildProjectionTransformOrigin) {\n var _a;\n var style = state.style, vars = state.vars, transform = state.transform, transformKeys = state.transformKeys, transformOrigin = state.transformOrigin;\n // Empty the transformKeys array. As we're throwing out refs to its items\n // this might not be as cheap as suspected. Maybe using the array as a buffer\n // with a manual incrementation would be better.\n transformKeys.length = 0;\n // Track whether we encounter any transform or transformOrigin values.\n var hasTransform = false;\n var hasTransformOrigin = false;\n // Does the calculated transform essentially equal \"none\"?\n var transformIsNone = true;\n /**\n * Loop over all our latest animated values and decide whether to handle them\n * as a style or CSS variable.\n *\n * Transforms and transform origins are kept seperately for further processing.\n */\n for (var key in latestValues) {\n var value = latestValues[key];\n /**\n * If this is a CSS variable we don't do any further processing.\n */\n if (isCSSVariable(key)) {\n vars[key] = value;\n continue;\n }\n // Convert the value to its default value type, ie 0 -> \"0px\"\n var valueType = numberValueTypes[key];\n var valueAsType = getValueAsType(value, valueType);\n if (isTransformProp(key)) {\n // If this is a transform, flag to enable further transform processing\n hasTransform = true;\n transform[key] = valueAsType;\n transformKeys.push(key);\n // If we already know we have a non-default transform, early return\n if (!transformIsNone)\n continue;\n // Otherwise check to see if this is a default transform\n if (value !== ((_a = valueType.default) !== null && _a !== void 0 ? _a : 0))\n transformIsNone = false;\n }\n else if (isTransformOriginProp(key)) {\n transformOrigin[key] = valueAsType;\n // If this is a transform origin, flag and enable further transform-origin processing\n hasTransformOrigin = true;\n }\n else {\n /**\n * If layout projection is on, and we need to perform scale correction for this\n * value type, perform it.\n */\n if ((projection === null || projection === void 0 ? void 0 : projection.isHydrated) &&\n (layoutState === null || layoutState === void 0 ? void 0 : layoutState.isHydrated) &&\n valueScaleCorrection[key]) {\n var correctedValue = valueScaleCorrection[key].process(value, layoutState, projection);\n /**\n * Scale-correctable values can define a number of other values to break\n * down into. For instance borderRadius needs applying to borderBottomLeftRadius etc\n */\n var applyTo = valueScaleCorrection[key].applyTo;\n if (applyTo) {\n var num = applyTo.length;\n for (var i = 0; i < num; i++) {\n style[applyTo[i]] = correctedValue;\n }\n }\n else {\n style[key] = correctedValue;\n }\n }\n else {\n style[key] = valueAsType;\n }\n }\n }\n if (layoutState &&\n projection &&\n buildProjectionTransform &&\n buildProjectionTransformOrigin) {\n style.transform = buildProjectionTransform(layoutState.deltaFinal, layoutState.treeScale, hasTransform ? transform : undefined);\n if (transformTemplate) {\n style.transform = transformTemplate(transform, style.transform);\n }\n style.transformOrigin = buildProjectionTransformOrigin(layoutState);\n }\n else {\n if (hasTransform) {\n style.transform = buildTransform(state, options, transformIsNone, transformTemplate);\n }\n if (hasTransformOrigin) {\n style.transformOrigin = buildTransformOrigin(transformOrigin);\n }\n }\n}\n\nexport { buildHTMLStyles };\n","var createHtmlRenderState = function () { return ({\n style: {},\n transform: {},\n transformKeys: [],\n transformOrigin: {},\n vars: {},\n}); };\n\nexport { createHtmlRenderState };\n","import { __assign } from 'tslib';\nimport { useMemo } from 'react';\nimport { isForcedMotionValue } from '../../motion/utils/is-forced-motion-value.js';\nimport { isMotionValue } from '../../value/utils/is-motion-value.js';\nimport { buildHTMLStyles } from './utils/build-styles.js';\nimport { createHtmlRenderState } from './utils/create-render-state.js';\n\nfunction copyRawValuesOnly(target, source, props) {\n for (var key in source) {\n if (!isMotionValue(source[key]) && !isForcedMotionValue(key, props)) {\n target[key] = source[key];\n }\n }\n}\nfunction useInitialMotionValues(_a, visualState, isStatic) {\n var transformTemplate = _a.transformTemplate;\n return useMemo(function () {\n var state = createHtmlRenderState();\n buildHTMLStyles(state, visualState, undefined, undefined, { enableHardwareAcceleration: !isStatic }, transformTemplate);\n var vars = state.vars, style = state.style;\n return __assign(__assign({}, vars), style);\n }, [visualState]);\n}\nfunction useStyle(props, visualState, isStatic) {\n var styleProp = props.style || {};\n var style = {};\n /**\n * Copy non-Motion Values straight into style\n */\n copyRawValuesOnly(style, styleProp, props);\n Object.assign(style, useInitialMotionValues(props, visualState, isStatic));\n if (props.transformValues) {\n style = props.transformValues(style);\n }\n return style;\n}\nfunction useHTMLProps(props, visualState, isStatic) {\n // The `any` isn't ideal but it is the type of createElement props argument\n var htmlProps = {};\n var style = useStyle(props, visualState, isStatic);\n if (Boolean(props.drag)) {\n // Disable the ghost element when a user drags\n htmlProps.draggable = false;\n // Disable text selection\n style.userSelect = style.WebkitUserSelect = style.WebkitTouchCallout =\n \"none\";\n // Disable scrolling on the draggable direction\n style.touchAction =\n props.drag === true\n ? \"none\"\n : \"pan-\" + (props.drag === \"x\" ? \"y\" : \"x\");\n }\n htmlProps.style = style;\n return htmlProps;\n}\n\nexport { copyRawValuesOnly, useHTMLProps, useStyle };\n","/**\n * A list of all valid MotionProps.\n *\n * @internalremarks\n * This doesn't throw if a `MotionProp` name is missing - it should.\n */\nvar validMotionProps = new Set([\n \"initial\",\n \"animate\",\n \"exit\",\n \"style\",\n \"variants\",\n \"transition\",\n \"transformTemplate\",\n \"transformValues\",\n \"custom\",\n \"inherit\",\n \"layout\",\n \"layoutId\",\n \"_layoutResetTransform\",\n \"onLayoutAnimationComplete\",\n \"onViewportBoxUpdate\",\n \"onLayoutMeasure\",\n \"onBeforeLayoutMeasure\",\n \"onAnimationStart\",\n \"onAnimationComplete\",\n \"onUpdate\",\n \"onDragStart\",\n \"onDrag\",\n \"onDragEnd\",\n \"onMeasureDragConstraints\",\n \"onDirectionLock\",\n \"onDragTransitionEnd\",\n \"drag\",\n \"dragControls\",\n \"dragListener\",\n \"dragConstraints\",\n \"dragDirectionLock\",\n \"_dragX\",\n \"_dragY\",\n \"dragElastic\",\n \"dragMomentum\",\n \"dragPropagation\",\n \"dragTransition\",\n \"whileDrag\",\n \"onPan\",\n \"onPanStart\",\n \"onPanEnd\",\n \"onPanSessionStart\",\n \"onTap\",\n \"onTapStart\",\n \"onTapCancel\",\n \"onHoverStart\",\n \"onHoverEnd\",\n \"whileFocus\",\n \"whileTap\",\n \"whileHover\",\n]);\n/**\n * Check whether a prop name is a valid `MotionProp` key.\n *\n * @param key - Name of the property to check\n * @returns `true` is key is a valid `MotionProp`.\n *\n * @public\n */\nfunction isValidMotionProp(key) {\n return validMotionProps.has(key);\n}\n\nexport { isValidMotionProp };\n","import { isValidMotionProp } from '../../../motion/utils/valid-prop.js';\n\nvar shouldForward = function (key) { return !isValidMotionProp(key); };\n/**\n * Emotion and Styled Components both allow users to pass through arbitrary props to their components\n * to dynamically generate CSS. They both use the `@emotion/is-prop-valid` package to determine which\n * of these should be passed to the underlying DOM node.\n *\n * However, when styling a Motion component `styled(motion.div)`, both packages pass through *all* props\n * as it's seen as an arbitrary component rather than a DOM node. Motion only allows arbitrary props\n * passed through the `custom` prop so it doesn't *need* the payload or computational overhead of\n * `@emotion/is-prop-valid`, however to fix this problem we need to use it.\n *\n * By making it an optionalDependency we can offer this functionality only in the situations where it's\n * actually required.\n */\ntry {\n var emotionIsPropValid_1 = require(\"@emotion/is-prop-valid\").default;\n shouldForward = function (key) {\n // Handle events explicitly as Emotion validates them all as true\n if (key.startsWith(\"on\")) {\n return !isValidMotionProp(key);\n }\n else {\n return emotionIsPropValid_1(key);\n }\n };\n}\ncatch (_a) {\n // We don't need to actually do anything here - the fallback is the existing `isPropValid`.\n}\nfunction filterProps(props, isDom, forwardMotionProps) {\n var filteredProps = {};\n for (var key in props) {\n if (shouldForward(key) ||\n (forwardMotionProps === true && isValidMotionProp(key)) ||\n (!isDom && !isValidMotionProp(key))) {\n filteredProps[key] = props[key];\n }\n }\n return filteredProps;\n}\n\nexport { filterProps };\n","import { px } from 'style-value-types';\n\nfunction calcOrigin(origin, offset, size) {\n return typeof origin === \"string\"\n ? origin\n : px.transform(offset + size * origin);\n}\n/**\n * The SVG transform origin defaults are different to CSS and is less intuitive,\n * so we use the measured dimensions of the SVG to reconcile these.\n */\nfunction calcSVGTransformOrigin(dimensions, originX, originY) {\n var pxOriginX = calcOrigin(originX, dimensions.x, dimensions.width);\n var pxOriginY = calcOrigin(originY, dimensions.y, dimensions.height);\n return pxOriginX + \" \" + pxOriginY;\n}\n\nexport { calcSVGTransformOrigin };\n","import { px } from 'style-value-types';\n\n// Convert a progress 0-1 to a pixels value based on the provided length\nvar progressToPixels = function (progress, length) {\n return px.transform(progress * length);\n};\nvar dashKeys = {\n offset: \"stroke-dashoffset\",\n array: \"stroke-dasharray\",\n};\nvar camelKeys = {\n offset: \"strokeDashoffset\",\n array: \"strokeDasharray\",\n};\n/**\n * Build SVG path properties. Uses the path's measured length to convert\n * our custom pathLength, pathSpacing and pathOffset into stroke-dashoffset\n * and stroke-dasharray attributes.\n *\n * This function is mutative to reduce per-frame GC.\n */\nfunction buildSVGPath(attrs, totalLength, length, spacing, offset, useDashCase) {\n if (spacing === void 0) { spacing = 1; }\n if (offset === void 0) { offset = 0; }\n if (useDashCase === void 0) { useDashCase = true; }\n // We use dash case when setting attributes directly to the DOM node and camel case\n // when defining props on a React component.\n var keys = useDashCase ? dashKeys : camelKeys;\n // Build the dash offset\n attrs[keys.offset] = progressToPixels(-offset, totalLength);\n // Build the dash array\n var pathLength = progressToPixels(length, totalLength);\n var pathSpacing = progressToPixels(spacing, totalLength);\n attrs[keys.array] = pathLength + \" \" + pathSpacing;\n}\n\nexport { buildSVGPath };\n","import { __rest } from 'tslib';\nimport { buildHTMLStyles } from '../../html/utils/build-styles.js';\nimport { calcSVGTransformOrigin } from './transform-origin.js';\nimport { buildSVGPath } from './path.js';\n\n/**\n * Build SVG visual attrbutes, like cx and style.transform\n */\nfunction buildSVGAttrs(state, _a, projection, layoutState, options, transformTemplate, buildProjectionTransform, buildProjectionTransformOrigin) {\n var attrX = _a.attrX, attrY = _a.attrY, originX = _a.originX, originY = _a.originY, pathLength = _a.pathLength, _b = _a.pathSpacing, pathSpacing = _b === void 0 ? 1 : _b, _c = _a.pathOffset, pathOffset = _c === void 0 ? 0 : _c, \n // This is object creation, which we try to avoid per-frame.\n latest = __rest(_a, [\"attrX\", \"attrY\", \"originX\", \"originY\", \"pathLength\", \"pathSpacing\", \"pathOffset\"]);\n buildHTMLStyles(state, latest, projection, layoutState, options, transformTemplate, buildProjectionTransform, buildProjectionTransformOrigin);\n state.attrs = state.style;\n state.style = {};\n var attrs = state.attrs, style = state.style, dimensions = state.dimensions, totalPathLength = state.totalPathLength;\n /**\n * However, we apply transforms as CSS transforms. So if we detect a transform we take it from attrs\n * and copy it into style.\n */\n if (attrs.transform) {\n if (dimensions)\n style.transform = attrs.transform;\n delete attrs.transform;\n }\n // Parse transformOrigin\n if (dimensions &&\n (originX !== undefined || originY !== undefined || style.transform)) {\n style.transformOrigin = calcSVGTransformOrigin(dimensions, originX !== undefined ? originX : 0.5, originY !== undefined ? originY : 0.5);\n }\n // Treat x/y not as shortcuts but as actual attributes\n if (attrX !== undefined)\n attrs.x = attrX;\n if (attrY !== undefined)\n attrs.y = attrY;\n // Build SVG path if one has been measured\n if (totalPathLength !== undefined && pathLength !== undefined) {\n buildSVGPath(attrs, totalPathLength, pathLength, pathSpacing, pathOffset, false);\n }\n}\n\nexport { buildSVGAttrs };\n","import { __assign } from 'tslib';\nimport { createHtmlRenderState } from '../../html/utils/create-render-state.js';\n\nvar createSvgRenderState = function () { return (__assign(__assign({}, createHtmlRenderState()), { attrs: {} })); };\n\nexport { createSvgRenderState };\n","import { __assign } from 'tslib';\nimport { useMemo } from 'react';\nimport { copyRawValuesOnly } from '../html/use-props.js';\nimport { buildSVGAttrs } from './utils/build-attrs.js';\nimport { createSvgRenderState } from './utils/create-render-state.js';\n\nfunction useSVGProps(props, visualState) {\n var visualProps = useMemo(function () {\n var state = createSvgRenderState();\n buildSVGAttrs(state, visualState, undefined, undefined, { enableHardwareAcceleration: false }, props.transformTemplate);\n return __assign(__assign({}, state.attrs), { style: __assign({}, state.style) });\n }, [visualState]);\n if (props.style) {\n var rawStyles = {};\n copyRawValuesOnly(rawStyles, props.style, props);\n visualProps.style = __assign(__assign({}, rawStyles), visualProps.style);\n }\n return visualProps;\n}\n\nexport { useSVGProps };\n","import { __assign } from 'tslib';\nimport { createElement } from 'react';\nimport { useHTMLProps } from '../html/use-props.js';\nimport { filterProps } from './utils/filter-props.js';\nimport { isSVGComponent } from './utils/is-svg-component.js';\nimport { useSVGProps } from '../svg/use-props.js';\n\nfunction createUseRender(forwardMotionProps) {\n if (forwardMotionProps === void 0) { forwardMotionProps = false; }\n var useRender = function (Component, props, ref, _a, isStatic) {\n var latestValues = _a.latestValues;\n var useVisualProps = isSVGComponent(Component)\n ? useSVGProps\n : useHTMLProps;\n var visualProps = useVisualProps(props, latestValues, isStatic);\n var filteredProps = filterProps(props, typeof Component === \"string\", forwardMotionProps);\n var elementProps = __assign(__assign(__assign({}, filteredProps), visualProps), { ref: ref });\n return createElement(Component, elementProps);\n };\n return useRender;\n}\n\nexport { createUseRender };\n","var CAMEL_CASE_PATTERN = /([a-z])([A-Z])/g;\nvar REPLACE_TEMPLATE = \"$1-$2\";\n/**\n * Convert camelCase to dash-case properties.\n */\nvar camelToDash = function (str) {\n return str.replace(CAMEL_CASE_PATTERN, REPLACE_TEMPLATE).toLowerCase();\n};\n\nexport { camelToDash };\n","function renderHTML(element, _a) {\n var style = _a.style, vars = _a.vars;\n // Directly assign style into the Element's style prop. In tests Object.assign is the\n // fastest way to assign styles.\n Object.assign(element.style, style);\n // Loop over any CSS variables and assign those.\n for (var key in vars) {\n element.style.setProperty(key, vars[key]);\n }\n}\n\nexport { renderHTML };\n","/**\n * A set of attribute names that are always read/written as camel case.\n */\nvar camelCaseAttributes = new Set([\n \"baseFrequency\",\n \"diffuseConstant\",\n \"kernelMatrix\",\n \"kernelUnitLength\",\n \"keySplines\",\n \"keyTimes\",\n \"limitingConeAngle\",\n \"markerHeight\",\n \"markerWidth\",\n \"numOctaves\",\n \"targetX\",\n \"targetY\",\n \"surfaceScale\",\n \"specularConstant\",\n \"specularExponent\",\n \"stdDeviation\",\n \"tableValues\",\n \"viewBox\",\n \"gradientTransform\",\n]);\n\nexport { camelCaseAttributes };\n","import { camelToDash } from '../../dom/utils/camel-to-dash.js';\nimport { renderHTML } from '../../html/utils/render.js';\nimport { camelCaseAttributes } from './camel-case-attrs.js';\n\nfunction renderSVG(element, renderState) {\n renderHTML(element, renderState);\n for (var key in renderState.attrs) {\n element.setAttribute(!camelCaseAttributes.has(key) ? camelToDash(key) : key, renderState.attrs[key]);\n }\n}\n\nexport { renderSVG };\n","import { isForcedMotionValue } from '../../../motion/utils/is-forced-motion-value.js';\nimport { isMotionValue } from '../../../value/utils/is-motion-value.js';\n\nfunction scrapeMotionValuesFromProps(props) {\n var style = props.style;\n var newValues = {};\n for (var key in style) {\n if (isMotionValue(style[key]) || isForcedMotionValue(key, props)) {\n newValues[key] = style[key];\n }\n }\n return newValues;\n}\n\nexport { scrapeMotionValuesFromProps };\n","import { isMotionValue } from '../../../value/utils/is-motion-value.js';\nimport { scrapeMotionValuesFromProps as scrapeMotionValuesFromProps$1 } from '../../html/utils/scrape-motion-values.js';\n\nfunction scrapeMotionValuesFromProps(props) {\n var newValues = scrapeMotionValuesFromProps$1(props);\n for (var key in props) {\n if (isMotionValue(props[key])) {\n var targetKey = key === \"x\" || key === \"y\" ? \"attr\" + key.toUpperCase() : key;\n newValues[targetKey] = props[key];\n }\n }\n return newValues;\n}\n\nexport { scrapeMotionValuesFromProps };\n","function isAnimationControls(v) {\n return typeof v === \"object\" && typeof v.start === \"function\";\n}\n\nexport { isAnimationControls };\n","var isKeyframesTarget = function (v) {\n return Array.isArray(v);\n};\n\nexport { isKeyframesTarget };\n","import { isCustomValue } from '../../utils/resolve-value.js';\nimport { isMotionValue } from './is-motion-value.js';\n\n/**\n * If the provided value is a MotionValue, this returns the actual value, otherwise just the value itself\n *\n * TODO: Remove and move to library\n *\n * @internal\n */\nfunction resolveMotionValue(value) {\n var unwrappedValue = isMotionValue(value) ? value.get() : value;\n return isCustomValue(unwrappedValue)\n ? unwrappedValue.toValue()\n : unwrappedValue;\n}\n\nexport { resolveMotionValue };\n","import { isKeyframesTarget } from '../animation/utils/is-keyframes-target.js';\n\nvar isCustomValue = function (v) {\n return Boolean(v && typeof v === \"object\" && v.mix && v.toValue);\n};\nvar resolveFinalValueInKeyframes = function (v) {\n // TODO maybe throw if v.length - 1 is placeholder token?\n return isKeyframesTarget(v) ? v[v.length - 1] || 0 : v;\n};\n\nexport { isCustomValue, resolveFinalValueInKeyframes };\n","import { __rest } from 'tslib';\nimport { useContext } from 'react';\nimport { isAnimationControls } from '../../animation/utils/is-animation-controls.js';\nimport { PresenceContext } from '../../context/PresenceContext.js';\nimport { checkIfControllingVariants, checkIfVariantNode, resolveVariantFromProps } from '../../render/utils/variants.js';\nimport { useConstant } from '../../utils/use-constant.js';\nimport { resolveMotionValue } from '../../value/utils/resolve-motion-value.js';\nimport { MotionContext } from '../../context/MotionContext/index.js';\n\nfunction makeState(_a, props, context, presenceContext) {\n var scrapeMotionValuesFromProps = _a.scrapeMotionValuesFromProps, createRenderState = _a.createRenderState, onMount = _a.onMount;\n var state = {\n latestValues: makeLatestValues(props, context, presenceContext, scrapeMotionValuesFromProps),\n renderState: createRenderState(),\n };\n if (onMount) {\n state.mount = function (instance) { return onMount(props, instance, state); };\n }\n return state;\n}\nvar makeUseVisualState = function (config) { return function (props, isStatic) {\n var context = useContext(MotionContext);\n var presenceContext = useContext(PresenceContext);\n return isStatic\n ? makeState(config, props, context, presenceContext)\n : useConstant(function () { return makeState(config, props, context, presenceContext); });\n}; };\nfunction makeLatestValues(props, context, presenceContext, scrapeMotionValues) {\n var values = {};\n var blockInitialAnimation = (presenceContext === null || presenceContext === void 0 ? void 0 : presenceContext.initial) === false;\n var motionValues = scrapeMotionValues(props);\n for (var key in motionValues) {\n values[key] = resolveMotionValue(motionValues[key]);\n }\n var initial = props.initial, animate = props.animate;\n var isControllingVariants = checkIfControllingVariants(props);\n var isVariantNode = checkIfVariantNode(props);\n if (context &&\n isVariantNode &&\n !isControllingVariants &&\n props.inherit !== false) {\n initial !== null && initial !== void 0 ? initial : (initial = context.initial);\n animate !== null && animate !== void 0 ? animate : (animate = context.animate);\n }\n var variantToSet = blockInitialAnimation || initial === false ? animate : initial;\n if (variantToSet &&\n typeof variantToSet !== \"boolean\" &&\n !isAnimationControls(variantToSet)) {\n var list = Array.isArray(variantToSet) ? variantToSet : [variantToSet];\n list.forEach(function (definition) {\n var resolved = resolveVariantFromProps(props, definition);\n if (!resolved)\n return;\n var transitionEnd = resolved.transitionEnd; resolved.transition; var target = __rest(resolved, [\"transitionEnd\", \"transition\"]);\n for (var key in target)\n values[key] = target[key];\n for (var key in transitionEnd)\n values[key] = transitionEnd[key];\n });\n }\n return values;\n}\n\nexport { makeUseVisualState };\n","import { renderSVG } from './utils/render.js';\nimport { scrapeMotionValuesFromProps } from './utils/scrape-motion-values.js';\nimport { makeUseVisualState } from '../../motion/utils/use-visual-state.js';\nimport { createSvgRenderState } from './utils/create-render-state.js';\nimport { buildSVGAttrs } from './utils/build-attrs.js';\n\nvar svgMotionConfig = {\n useVisualState: makeUseVisualState({\n scrapeMotionValuesFromProps: scrapeMotionValuesFromProps,\n createRenderState: createSvgRenderState,\n onMount: function (props, instance, _a) {\n var renderState = _a.renderState, latestValues = _a.latestValues;\n try {\n renderState.dimensions =\n typeof instance.getBBox ===\n \"function\"\n ? instance.getBBox()\n : instance.getBoundingClientRect();\n }\n catch (e) {\n // Most likely trying to measure an unrendered element under Firefox\n renderState.dimensions = {\n x: 0,\n y: 0,\n width: 0,\n height: 0,\n };\n }\n if (isPath(instance)) {\n renderState.totalPathLength = instance.getTotalLength();\n }\n buildSVGAttrs(renderState, latestValues, undefined, undefined, { enableHardwareAcceleration: false }, props.transformTemplate);\n // TODO: Replace with direct assignment\n renderSVG(instance, renderState);\n },\n }),\n};\nfunction isPath(element) {\n return element.tagName === \"path\";\n}\n\nexport { svgMotionConfig };\n","import { makeUseVisualState } from '../../motion/utils/use-visual-state.js';\nimport { scrapeMotionValuesFromProps } from './utils/scrape-motion-values.js';\nimport { createHtmlRenderState } from './utils/create-render-state.js';\n\nvar htmlMotionConfig = {\n useVisualState: makeUseVisualState({\n scrapeMotionValuesFromProps: scrapeMotionValuesFromProps,\n createRenderState: createHtmlRenderState,\n }),\n};\n\nexport { htmlMotionConfig };\n","var AnimationType;\n(function (AnimationType) {\n AnimationType[\"Animate\"] = \"animate\";\n AnimationType[\"Hover\"] = \"whileHover\";\n AnimationType[\"Tap\"] = \"whileTap\";\n AnimationType[\"Drag\"] = \"whileDrag\";\n AnimationType[\"Focus\"] = \"whileFocus\";\n AnimationType[\"Exit\"] = \"exit\";\n})(AnimationType || (AnimationType = {}));\n\nexport { AnimationType };\n","import { useEffect } from 'react';\n\nfunction addDomEvent(target, eventName, handler, options) {\n target.addEventListener(eventName, handler, options);\n return function () { return target.removeEventListener(eventName, handler, options); };\n}\n/**\n * Attaches an event listener directly to the provided DOM element.\n *\n * Bypassing React's event system can be desirable, for instance when attaching non-passive\n * event handlers.\n *\n * ```jsx\n * const ref = useRef(null)\n *\n * useDomEvent(ref, 'wheel', onWheel, { passive: false })\n *\n * return
\n * ```\n *\n * @param ref - React.RefObject that's been provided to the element you want to bind the listener to.\n * @param eventName - Name of the event you want listen for.\n * @param handler - Function to fire when receiving the event.\n * @param options - Options to pass to `Event.addEventListener`.\n *\n * @public\n */\nfunction useDomEvent(ref, eventName, handler, options) {\n useEffect(function () {\n var element = ref.current;\n if (handler && element) {\n return addDomEvent(element, eventName, handler, options);\n }\n }, [ref, eventName, handler, options]);\n}\n\nexport { addDomEvent, useDomEvent };\n","function isMouseEvent(event) {\n // PointerEvent inherits from MouseEvent so we can't use a straight instanceof check.\n if (typeof PointerEvent !== \"undefined\" && event instanceof PointerEvent) {\n return !!(event.pointerType === \"mouse\");\n }\n return event instanceof MouseEvent;\n}\nfunction isTouchEvent(event) {\n var hasTouches = !!event.touches;\n return hasTouches;\n}\n\nexport { isMouseEvent, isTouchEvent };\n","import { isTouchEvent } from '../gestures/utils/event-type.js';\n\n/**\n * Filters out events not attached to the primary pointer (currently left mouse button)\n * @param eventHandler\n */\nfunction filterPrimaryPointer(eventHandler) {\n return function (event) {\n var isMouseEvent = event instanceof MouseEvent;\n var isPrimaryPointer = !isMouseEvent ||\n (isMouseEvent && event.button === 0);\n if (isPrimaryPointer) {\n eventHandler(event);\n }\n };\n}\nvar defaultPagePoint = { pageX: 0, pageY: 0 };\nfunction pointFromTouch(e, pointType) {\n if (pointType === void 0) { pointType = \"page\"; }\n var primaryTouch = e.touches[0] || e.changedTouches[0];\n var point = primaryTouch || defaultPagePoint;\n return {\n x: point[pointType + \"X\"],\n y: point[pointType + \"Y\"],\n };\n}\nfunction pointFromMouse(point, pointType) {\n if (pointType === void 0) { pointType = \"page\"; }\n return {\n x: point[pointType + \"X\"],\n y: point[pointType + \"Y\"],\n };\n}\nfunction extractEventInfo(event, pointType) {\n if (pointType === void 0) { pointType = \"page\"; }\n return {\n point: isTouchEvent(event)\n ? pointFromTouch(event, pointType)\n : pointFromMouse(event, pointType),\n };\n}\nfunction getViewportPointFromEvent(event) {\n return extractEventInfo(event, \"client\");\n}\nvar wrapHandler = function (handler, shouldFilterPrimaryPointer) {\n if (shouldFilterPrimaryPointer === void 0) { shouldFilterPrimaryPointer = false; }\n var listener = function (event) {\n return handler(event, extractEventInfo(event));\n };\n return shouldFilterPrimaryPointer\n ? filterPrimaryPointer(listener)\n : listener;\n};\n\nexport { extractEventInfo, getViewportPointFromEvent, wrapHandler };\n","import { useDomEvent, addDomEvent } from './use-dom-event.js';\nimport { wrapHandler } from './event-info.js';\nimport { supportsPointerEvents, supportsTouchEvents, supportsMouseEvents } from './utils.js';\n\nvar mouseEventNames = {\n pointerdown: \"mousedown\",\n pointermove: \"mousemove\",\n pointerup: \"mouseup\",\n pointercancel: \"mousecancel\",\n pointerover: \"mouseover\",\n pointerout: \"mouseout\",\n pointerenter: \"mouseenter\",\n pointerleave: \"mouseleave\",\n};\nvar touchEventNames = {\n pointerdown: \"touchstart\",\n pointermove: \"touchmove\",\n pointerup: \"touchend\",\n pointercancel: \"touchcancel\",\n};\nfunction getPointerEventName(name) {\n if (supportsPointerEvents()) {\n return name;\n }\n else if (supportsTouchEvents()) {\n return touchEventNames[name];\n }\n else if (supportsMouseEvents()) {\n return mouseEventNames[name];\n }\n return name;\n}\nfunction addPointerEvent(target, eventName, handler, options) {\n return addDomEvent(target, getPointerEventName(eventName), wrapHandler(handler, eventName === \"pointerdown\"), options);\n}\nfunction usePointerEvent(ref, eventName, handler, options) {\n return useDomEvent(ref, getPointerEventName(eventName), handler && wrapHandler(handler, eventName === \"pointerdown\"), options);\n}\n\nexport { addPointerEvent, usePointerEvent };\n","import { isBrowser } from '../utils/is-browser.js';\n\n// We check for event support via functions in case they've been mocked by a testing suite.\nvar supportsPointerEvents = function () {\n return isBrowser && window.onpointerdown === null;\n};\nvar supportsTouchEvents = function () {\n return isBrowser && window.ontouchstart === null;\n};\nvar supportsMouseEvents = function () {\n return isBrowser && window.onmousedown === null;\n};\n\nexport { supportsMouseEvents, supportsPointerEvents, supportsTouchEvents };\n","function createLock(name) {\n var lock = null;\n return function () {\n var openLock = function () {\n lock = null;\n };\n if (lock === null) {\n lock = name;\n return openLock;\n }\n return false;\n };\n}\nvar globalHorizontalLock = createLock(\"dragHorizontal\");\nvar globalVerticalLock = createLock(\"dragVertical\");\nfunction getGlobalLock(drag) {\n var lock = false;\n if (drag === \"y\") {\n lock = globalVerticalLock();\n }\n else if (drag === \"x\") {\n lock = globalHorizontalLock();\n }\n else {\n var openHorizontal_1 = globalHorizontalLock();\n var openVertical_1 = globalVerticalLock();\n if (openHorizontal_1 && openVertical_1) {\n lock = function () {\n openHorizontal_1();\n openVertical_1();\n };\n }\n else {\n // Release the locks because we don't use them\n if (openHorizontal_1)\n openHorizontal_1();\n if (openVertical_1)\n openVertical_1();\n }\n }\n return lock;\n}\nfunction isDragActive() {\n // Check the gesture lock - if we get it, it means no drag gesture is active\n // and we can safely fire the tap gesture.\n var openGestureLock = getGlobalLock(true);\n if (!openGestureLock)\n return true;\n openGestureLock();\n return false;\n}\n\nexport { createLock, getGlobalLock, isDragActive };\n","import { isMouseEvent } from './utils/event-type.js';\nimport { AnimationType } from '../render/utils/types.js';\nimport { usePointerEvent } from '../events/use-pointer-event.js';\nimport { isDragActive } from './drag/utils/lock.js';\n\nfunction createHoverEvent(visualElement, isActive, callback) {\n return function (event, info) {\n var _a;\n if (!isMouseEvent(event) || isDragActive())\n return;\n callback === null || callback === void 0 ? void 0 : callback(event, info);\n (_a = visualElement.animationState) === null || _a === void 0 ? void 0 : _a.setActive(AnimationType.Hover, isActive);\n };\n}\nfunction useHoverGesture(_a) {\n var onHoverStart = _a.onHoverStart, onHoverEnd = _a.onHoverEnd, whileHover = _a.whileHover, visualElement = _a.visualElement;\n usePointerEvent(visualElement, \"pointerenter\", onHoverStart || whileHover\n ? createHoverEvent(visualElement, true, onHoverStart)\n : undefined);\n usePointerEvent(visualElement, \"pointerleave\", onHoverEnd || whileHover\n ? createHoverEvent(visualElement, false, onHoverEnd)\n : undefined);\n}\n\nexport { useHoverGesture };\n","/**\n * Recursively traverse up the tree to check whether the provided child node\n * is the parent or a descendant of it.\n *\n * @param parent - Element to find\n * @param child - Element to test against parent\n */\nvar isNodeOrChild = function (parent, child) {\n if (!child) {\n return false;\n }\n else if (parent === child) {\n return true;\n }\n else {\n return isNodeOrChild(parent, child.parentElement);\n }\n};\n\nexport { isNodeOrChild };\n","import { useEffect } from 'react';\n\nfunction useUnmountEffect(callback) {\n return useEffect(function () { return function () { return callback(); }; }, []);\n}\n\nexport { useUnmountEffect };\n","var combineFunctions = function (a, b) { return function (v) { return b(a(v)); }; };\nvar pipe = function () {\n var transformers = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n transformers[_i] = arguments[_i];\n }\n return transformers.reduce(combineFunctions);\n};\n\nexport { pipe };\n","var makeRenderlessComponent = function (hook) { return function (props) {\n hook(props);\n return null;\n}; };\n\nexport { makeRenderlessComponent };\n","import { useFocusGesture } from '../../gestures/use-focus-gesture.js';\nimport { useHoverGesture } from '../../gestures/use-hover-gesture.js';\nimport { useTapGesture } from '../../gestures/use-tap-gesture.js';\nimport { makeRenderlessComponent } from '../utils/make-renderless-component.js';\n\nvar gestureAnimations = {\n tap: makeRenderlessComponent(useTapGesture),\n focus: makeRenderlessComponent(useFocusGesture),\n hover: makeRenderlessComponent(useHoverGesture),\n};\n\nexport { gestureAnimations };\n","import { useRef } from 'react';\nimport { isNodeOrChild } from './utils/is-node-or-child.js';\nimport { usePointerEvent, addPointerEvent } from '../events/use-pointer-event.js';\nimport { useUnmountEffect } from '../utils/use-unmount-effect.js';\nimport { pipe } from 'popmotion';\nimport { AnimationType } from '../render/utils/types.js';\nimport { isDragActive } from './drag/utils/lock.js';\n\n/**\n * @param handlers -\n * @internal\n */\nfunction useTapGesture(_a) {\n var onTap = _a.onTap, onTapStart = _a.onTapStart, onTapCancel = _a.onTapCancel, whileTap = _a.whileTap, visualElement = _a.visualElement;\n var hasPressListeners = onTap || onTapStart || onTapCancel || whileTap;\n var isPressing = useRef(false);\n var cancelPointerEndListeners = useRef(null);\n function removePointerEndListener() {\n var _a;\n (_a = cancelPointerEndListeners.current) === null || _a === void 0 ? void 0 : _a.call(cancelPointerEndListeners);\n cancelPointerEndListeners.current = null;\n }\n function checkPointerEnd() {\n var _a;\n removePointerEndListener();\n isPressing.current = false;\n (_a = visualElement.animationState) === null || _a === void 0 ? void 0 : _a.setActive(AnimationType.Tap, false);\n return !isDragActive();\n }\n function onPointerUp(event, info) {\n if (!checkPointerEnd())\n return;\n /**\n * We only count this as a tap gesture if the event.target is the same\n * as, or a child of, this component's element\n */\n !isNodeOrChild(visualElement.getInstance(), event.target)\n ? onTapCancel === null || onTapCancel === void 0 ? void 0 : onTapCancel(event, info)\n : onTap === null || onTap === void 0 ? void 0 : onTap(event, info);\n }\n function onPointerCancel(event, info) {\n if (!checkPointerEnd())\n return;\n onTapCancel === null || onTapCancel === void 0 ? void 0 : onTapCancel(event, info);\n }\n function onPointerDown(event, info) {\n var _a;\n removePointerEndListener();\n if (isPressing.current)\n return;\n isPressing.current = true;\n cancelPointerEndListeners.current = pipe(addPointerEvent(window, \"pointerup\", onPointerUp), addPointerEvent(window, \"pointercancel\", onPointerCancel));\n onTapStart === null || onTapStart === void 0 ? void 0 : onTapStart(event, info);\n (_a = visualElement.animationState) === null || _a === void 0 ? void 0 : _a.setActive(AnimationType.Tap, true);\n }\n usePointerEvent(visualElement, \"pointerdown\", hasPressListeners ? onPointerDown : undefined);\n useUnmountEffect(removePointerEndListener);\n}\n\nexport { useTapGesture };\n","import { AnimationType } from '../render/utils/types.js';\nimport { useDomEvent } from '../events/use-dom-event.js';\n\n/**\n *\n * @param props\n * @param ref\n * @internal\n */\nfunction useFocusGesture(_a) {\n var whileFocus = _a.whileFocus, visualElement = _a.visualElement;\n var onFocus = function () {\n var _a;\n (_a = visualElement.animationState) === null || _a === void 0 ? void 0 : _a.setActive(AnimationType.Focus, true);\n };\n var onBlur = function () {\n var _a;\n (_a = visualElement.animationState) === null || _a === void 0 ? void 0 : _a.setActive(AnimationType.Focus, false);\n };\n useDomEvent(visualElement, \"focus\", whileFocus ? onFocus : undefined);\n useDomEvent(visualElement, \"blur\", whileFocus ? onBlur : undefined);\n}\n\nexport { useFocusGesture };\n","function shallowCompare(next, prev) {\n if (!Array.isArray(prev))\n return false;\n var prevLength = prev.length;\n if (prevLength !== next.length)\n return false;\n for (var i = 0; i < prevLength; i++) {\n if (prev[i] !== next[i])\n return false;\n }\n return true;\n}\n\nexport { shallowCompare };\n","var clamp = function (min, max, v) {\n return Math.min(Math.max(v, min), max);\n};\n\nexport { clamp };\n","import { warning } from 'hey-listen';\nimport { clamp } from '../../utils/clamp.js';\n\nvar safeMin = 0.001;\nvar minDuration = 0.01;\nvar maxDuration = 10.0;\nvar minDamping = 0.05;\nvar maxDamping = 1;\nfunction findSpring(_a) {\n var _b = _a.duration, duration = _b === void 0 ? 800 : _b, _c = _a.bounce, bounce = _c === void 0 ? 0.25 : _c, _d = _a.velocity, velocity = _d === void 0 ? 0 : _d, _e = _a.mass, mass = _e === void 0 ? 1 : _e;\n var envelope;\n var derivative;\n warning(duration <= maxDuration * 1000, \"Spring duration must be 10 seconds or less\");\n var dampingRatio = 1 - bounce;\n dampingRatio = clamp(minDamping, maxDamping, dampingRatio);\n duration = clamp(minDuration, maxDuration, duration / 1000);\n if (dampingRatio < 1) {\n envelope = function (undampedFreq) {\n var exponentialDecay = undampedFreq * dampingRatio;\n var delta = exponentialDecay * duration;\n var a = exponentialDecay - velocity;\n var b = calcAngularFreq(undampedFreq, dampingRatio);\n var c = Math.exp(-delta);\n return safeMin - (a / b) * c;\n };\n derivative = function (undampedFreq) {\n var exponentialDecay = undampedFreq * dampingRatio;\n var delta = exponentialDecay * duration;\n var d = delta * velocity + velocity;\n var e = Math.pow(dampingRatio, 2) * Math.pow(undampedFreq, 2) * duration;\n var f = Math.exp(-delta);\n var g = calcAngularFreq(Math.pow(undampedFreq, 2), dampingRatio);\n var factor = -envelope(undampedFreq) + safeMin > 0 ? -1 : 1;\n return (factor * ((d - e) * f)) / g;\n };\n }\n else {\n envelope = function (undampedFreq) {\n var a = Math.exp(-undampedFreq * duration);\n var b = (undampedFreq - velocity) * duration + 1;\n return -safeMin + a * b;\n };\n derivative = function (undampedFreq) {\n var a = Math.exp(-undampedFreq * duration);\n var b = (velocity - undampedFreq) * (duration * duration);\n return a * b;\n };\n }\n var initialGuess = 5 / duration;\n var undampedFreq = approximateRoot(envelope, derivative, initialGuess);\n duration = duration * 1000;\n if (isNaN(undampedFreq)) {\n return {\n stiffness: 100,\n damping: 10,\n duration: duration,\n };\n }\n else {\n var stiffness = Math.pow(undampedFreq, 2) * mass;\n return {\n stiffness: stiffness,\n damping: dampingRatio * 2 * Math.sqrt(mass * stiffness),\n duration: duration,\n };\n }\n}\nvar rootIterations = 12;\nfunction approximateRoot(envelope, derivative, initialGuess) {\n var result = initialGuess;\n for (var i = 1; i < rootIterations; i++) {\n result = result - envelope(result) / derivative(result);\n }\n return result;\n}\nfunction calcAngularFreq(undampedFreq, dampingRatio) {\n return undampedFreq * Math.sqrt(1 - dampingRatio * dampingRatio);\n}\n\nexport { calcAngularFreq, findSpring, maxDamping, maxDuration, minDamping, minDuration };\n","import { __rest, __assign } from 'tslib';\nimport { findSpring, calcAngularFreq } from '../utils/find-spring.js';\n\nvar durationKeys = [\"duration\", \"bounce\"];\nvar physicsKeys = [\"stiffness\", \"damping\", \"mass\"];\nfunction isSpringType(options, keys) {\n return keys.some(function (key) { return options[key] !== undefined; });\n}\nfunction getSpringOptions(options) {\n var springOptions = __assign({ velocity: 0.0, stiffness: 100, damping: 10, mass: 1.0, isResolvedFromDuration: false }, options);\n if (!isSpringType(options, physicsKeys) &&\n isSpringType(options, durationKeys)) {\n var derived = findSpring(options);\n springOptions = __assign(__assign(__assign({}, springOptions), derived), { velocity: 0.0, mass: 1.0 });\n springOptions.isResolvedFromDuration = true;\n }\n return springOptions;\n}\nfunction spring(_a) {\n var _b = _a.from, from = _b === void 0 ? 0.0 : _b, _c = _a.to, to = _c === void 0 ? 1.0 : _c, _d = _a.restSpeed, restSpeed = _d === void 0 ? 2 : _d, restDelta = _a.restDelta, options = __rest(_a, [\"from\", \"to\", \"restSpeed\", \"restDelta\"]);\n var state = { done: false, value: from };\n var _e = getSpringOptions(options), stiffness = _e.stiffness, damping = _e.damping, mass = _e.mass, velocity = _e.velocity, duration = _e.duration, isResolvedFromDuration = _e.isResolvedFromDuration;\n var resolveSpring = zero;\n var resolveVelocity = zero;\n function createSpring() {\n var initialVelocity = velocity ? -(velocity / 1000) : 0.0;\n var initialDelta = to - from;\n var dampingRatio = damping / (2 * Math.sqrt(stiffness * mass));\n var undampedAngularFreq = Math.sqrt(stiffness / mass) / 1000;\n restDelta !== null && restDelta !== void 0 ? restDelta : (restDelta = Math.abs(to - from) <= 1 ? 0.01 : 0.4);\n if (dampingRatio < 1) {\n var angularFreq_1 = calcAngularFreq(undampedAngularFreq, dampingRatio);\n resolveSpring = function (t) {\n var envelope = Math.exp(-dampingRatio * undampedAngularFreq * t);\n return (to -\n envelope *\n (((initialVelocity +\n dampingRatio * undampedAngularFreq * initialDelta) /\n angularFreq_1) *\n Math.sin(angularFreq_1 * t) +\n initialDelta * Math.cos(angularFreq_1 * t)));\n };\n resolveVelocity = function (t) {\n var envelope = Math.exp(-dampingRatio * undampedAngularFreq * t);\n return (dampingRatio *\n undampedAngularFreq *\n envelope *\n ((Math.sin(angularFreq_1 * t) *\n (initialVelocity +\n dampingRatio *\n undampedAngularFreq *\n initialDelta)) /\n angularFreq_1 +\n initialDelta * Math.cos(angularFreq_1 * t)) -\n envelope *\n (Math.cos(angularFreq_1 * t) *\n (initialVelocity +\n dampingRatio *\n undampedAngularFreq *\n initialDelta) -\n angularFreq_1 *\n initialDelta *\n Math.sin(angularFreq_1 * t)));\n };\n }\n else if (dampingRatio === 1) {\n resolveSpring = function (t) {\n return to -\n Math.exp(-undampedAngularFreq * t) *\n (initialDelta +\n (initialVelocity + undampedAngularFreq * initialDelta) *\n t);\n };\n }\n else {\n var dampedAngularFreq_1 = undampedAngularFreq * Math.sqrt(dampingRatio * dampingRatio - 1);\n resolveSpring = function (t) {\n var envelope = Math.exp(-dampingRatio * undampedAngularFreq * t);\n var freqForT = Math.min(dampedAngularFreq_1 * t, 300);\n return (to -\n (envelope *\n ((initialVelocity +\n dampingRatio * undampedAngularFreq * initialDelta) *\n Math.sinh(freqForT) +\n dampedAngularFreq_1 *\n initialDelta *\n Math.cosh(freqForT))) /\n dampedAngularFreq_1);\n };\n }\n }\n createSpring();\n return {\n next: function (t) {\n var current = resolveSpring(t);\n if (!isResolvedFromDuration) {\n var currentVelocity = resolveVelocity(t) * 1000;\n var isBelowVelocityThreshold = Math.abs(currentVelocity) <= restSpeed;\n var isBelowDisplacementThreshold = Math.abs(to - current) <= restDelta;\n state.done =\n isBelowVelocityThreshold && isBelowDisplacementThreshold;\n }\n else {\n state.done = t >= duration;\n }\n state.value = state.done ? to : current;\n return state;\n },\n flipTarget: function () {\n var _a;\n velocity = -velocity;\n _a = [to, from], from = _a[0], to = _a[1];\n createSpring();\n },\n };\n}\nspring.needsInterpolation = function (a, b) {\n return typeof a === \"string\" || typeof b === \"string\";\n};\nvar zero = function (_t) { return 0; };\n\nexport { spring };\n","var progress = function (from, to, value) {\n var toFromDifference = to - from;\n return toFromDifference === 0 ? 1 : (value - from) / toFromDifference;\n};\n\nexport { progress };\n","var mix = function (from, to, progress) {\n return -progress * from + progress * to + from;\n};\n\nexport { mix };\n","import { isString, singleColorRegex, floatRegex } from '../utils.js';\n\nvar isColorString = function (type, testProp) { return function (v) {\n return Boolean((isString(v) && singleColorRegex.test(v) && v.startsWith(type)) ||\n (testProp && Object.prototype.hasOwnProperty.call(v, testProp)));\n}; };\nvar splitColor = function (aName, bName, cName) { return function (v) {\n var _a;\n if (!isString(v))\n return v;\n var _b = v.match(floatRegex), a = _b[0], b = _b[1], c = _b[2], alpha = _b[3];\n return _a = {},\n _a[aName] = parseFloat(a),\n _a[bName] = parseFloat(b),\n _a[cName] = parseFloat(c),\n _a.alpha = alpha !== undefined ? parseFloat(alpha) : 1,\n _a;\n}; };\n\nexport { isColorString, splitColor };\n","import { __assign } from 'tslib';\nimport { number, alpha } from '../numbers/index.js';\nimport { sanitize, clamp } from '../utils.js';\nimport { isColorString, splitColor } from './utils.js';\n\nvar clampRgbUnit = clamp(0, 255);\nvar rgbUnit = __assign(__assign({}, number), { transform: function (v) { return Math.round(clampRgbUnit(v)); } });\nvar rgba = {\n test: isColorString('rgb', 'red'),\n parse: splitColor('red', 'green', 'blue'),\n transform: function (_a) {\n var red = _a.red, green = _a.green, blue = _a.blue, _b = _a.alpha, alpha$1 = _b === void 0 ? 1 : _b;\n return 'rgba(' +\n rgbUnit.transform(red) +\n ', ' +\n rgbUnit.transform(green) +\n ', ' +\n rgbUnit.transform(blue) +\n ', ' +\n sanitize(alpha.transform(alpha$1)) +\n ')';\n },\n};\n\nexport { rgbUnit, rgba };\n","import { rgba } from './rgba.js';\nimport { isColorString } from './utils.js';\n\nfunction parseHex(v) {\n var r = '';\n var g = '';\n var b = '';\n var a = '';\n if (v.length > 5) {\n r = v.substr(1, 2);\n g = v.substr(3, 2);\n b = v.substr(5, 2);\n a = v.substr(7, 2);\n }\n else {\n r = v.substr(1, 1);\n g = v.substr(2, 1);\n b = v.substr(3, 1);\n a = v.substr(4, 1);\n r += r;\n g += g;\n b += b;\n a += a;\n }\n return {\n red: parseInt(r, 16),\n green: parseInt(g, 16),\n blue: parseInt(b, 16),\n alpha: a ? parseInt(a, 16) / 255 : 1,\n };\n}\nvar hex = {\n test: isColorString('#'),\n parse: parseHex,\n transform: rgba.transform,\n};\n\nexport { hex };\n","import { alpha } from '../numbers/index.js';\nimport { percent } from '../numbers/units.js';\nimport { sanitize } from '../utils.js';\nimport { isColorString, splitColor } from './utils.js';\n\nvar hsla = {\n test: isColorString('hsl', 'hue'),\n parse: splitColor('hue', 'saturation', 'lightness'),\n transform: function (_a) {\n var hue = _a.hue, saturation = _a.saturation, lightness = _a.lightness, _b = _a.alpha, alpha$1 = _b === void 0 ? 1 : _b;\n return ('hsla(' +\n Math.round(hue) +\n ', ' +\n percent.transform(sanitize(saturation)) +\n ', ' +\n percent.transform(sanitize(lightness)) +\n ', ' +\n sanitize(alpha.transform(alpha$1)) +\n ')');\n },\n};\n\nexport { hsla };\n","import { __assign } from 'tslib';\nimport { mix } from './mix.js';\nimport { hex, rgba, hsla } from 'style-value-types';\nimport { invariant } from 'hey-listen';\n\nvar mixLinearColor = function (from, to, v) {\n var fromExpo = from * from;\n var toExpo = to * to;\n return Math.sqrt(Math.max(0, v * (toExpo - fromExpo) + fromExpo));\n};\nvar colorTypes = [hex, rgba, hsla];\nvar getColorType = function (v) {\n return colorTypes.find(function (type) { return type.test(v); });\n};\nvar notAnimatable = function (color) {\n return \"'\" + color + \"' is not an animatable color. Use the equivalent color code instead.\";\n};\nvar mixColor = function (from, to) {\n var fromColorType = getColorType(from);\n var toColorType = getColorType(to);\n invariant(!!fromColorType, notAnimatable(from));\n invariant(!!toColorType, notAnimatable(to));\n invariant(fromColorType.transform === toColorType.transform, \"Both colors must be hex/RGBA, OR both must be HSLA.\");\n var fromColor = fromColorType.parse(from);\n var toColor = toColorType.parse(to);\n var blended = __assign({}, fromColor);\n var mixFunc = fromColorType === hsla ? mix : mixLinearColor;\n return function (v) {\n for (var key in blended) {\n if (key !== \"alpha\") {\n blended[key] = mixFunc(fromColor[key], toColor[key], v);\n }\n }\n blended.alpha = mix(fromColor.alpha, toColor.alpha, v);\n return fromColorType.transform(blended);\n };\n};\n\nexport { mixColor, mixLinearColor };\n","import { isString } from '../utils.js';\nimport { hex } from './hex.js';\nimport { hsla } from './hsla.js';\nimport { rgba } from './rgba.js';\n\nvar color = {\n test: function (v) { return rgba.test(v) || hex.test(v) || hsla.test(v); },\n parse: function (v) {\n if (rgba.test(v)) {\n return rgba.parse(v);\n }\n else if (hsla.test(v)) {\n return hsla.parse(v);\n }\n else {\n return hex.parse(v);\n }\n },\n transform: function (v) {\n return isString(v)\n ? v\n : v.hasOwnProperty('red')\n ? rgba.transform(v)\n : hsla.transform(v);\n },\n};\n\nexport { color };\n","import { color } from '../color/index.js';\nimport { number } from '../numbers/index.js';\nimport { isString, floatRegex, colorRegex, sanitize } from '../utils.js';\n\nvar colorToken = '${c}';\nvar numberToken = '${n}';\nfunction test(v) {\n var _a, _b, _c, _d;\n return (isNaN(v) &&\n isString(v) &&\n ((_b = (_a = v.match(floatRegex)) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0) + ((_d = (_c = v.match(colorRegex)) === null || _c === void 0 ? void 0 : _c.length) !== null && _d !== void 0 ? _d : 0) > 0);\n}\nfunction analyse(v) {\n var values = [];\n var numColors = 0;\n var colors = v.match(colorRegex);\n if (colors) {\n numColors = colors.length;\n v = v.replace(colorRegex, colorToken);\n values.push.apply(values, colors.map(color.parse));\n }\n var numbers = v.match(floatRegex);\n if (numbers) {\n v = v.replace(floatRegex, numberToken);\n values.push.apply(values, numbers.map(number.parse));\n }\n return { values: values, numColors: numColors, tokenised: v };\n}\nfunction parse(v) {\n return analyse(v).values;\n}\nfunction createTransformer(v) {\n var _a = analyse(v), values = _a.values, numColors = _a.numColors, tokenised = _a.tokenised;\n var numValues = values.length;\n return function (v) {\n var output = tokenised;\n for (var i = 0; i < numValues; i++) {\n output = output.replace(i < numColors ? colorToken : numberToken, i < numColors ? color.transform(v[i]) : sanitize(v[i]));\n }\n return output;\n };\n}\nvar convertNumbersToZero = function (v) {\n return typeof v === 'number' ? 0 : v;\n};\nfunction getAnimatableNone(v) {\n var parsed = parse(v);\n var transformer = createTransformer(v);\n return transformer(parsed.map(convertNumbersToZero));\n}\nvar complex = { test: test, parse: parse, createTransformer: createTransformer, getAnimatableNone: getAnimatableNone };\n\nexport { complex };\n","var zeroPoint = {\n x: 0,\n y: 0,\n z: 0\n};\nvar isNum = function (v) { return typeof v === 'number'; };\n\nexport { isNum, zeroPoint };\n","import { __spreadArray, __assign } from 'tslib';\nimport { complex, color } from 'style-value-types';\nimport { mix } from './mix.js';\nimport { mixColor } from './mix-color.js';\nimport { isNum } from './inc.js';\nimport { pipe } from './pipe.js';\nimport { invariant } from 'hey-listen';\n\nfunction getMixer(origin, target) {\n if (isNum(origin)) {\n return function (v) { return mix(origin, target, v); };\n }\n else if (color.test(origin)) {\n return mixColor(origin, target);\n }\n else {\n return mixComplex(origin, target);\n }\n}\nvar mixArray = function (from, to) {\n var output = __spreadArray([], from);\n var numValues = output.length;\n var blendValue = from.map(function (fromThis, i) { return getMixer(fromThis, to[i]); });\n return function (v) {\n for (var i = 0; i < numValues; i++) {\n output[i] = blendValue[i](v);\n }\n return output;\n };\n};\nvar mixObject = function (origin, target) {\n var output = __assign(__assign({}, origin), target);\n var blendValue = {};\n for (var key in output) {\n if (origin[key] !== undefined && target[key] !== undefined) {\n blendValue[key] = getMixer(origin[key], target[key]);\n }\n }\n return function (v) {\n for (var key in blendValue) {\n output[key] = blendValue[key](v);\n }\n return output;\n };\n};\nfunction analyse(value) {\n var parsed = complex.parse(value);\n var numValues = parsed.length;\n var numNumbers = 0;\n var numRGB = 0;\n var numHSL = 0;\n for (var i = 0; i < numValues; i++) {\n if (numNumbers || typeof parsed[i] === \"number\") {\n numNumbers++;\n }\n else {\n if (parsed[i].hue !== undefined) {\n numHSL++;\n }\n else {\n numRGB++;\n }\n }\n }\n return { parsed: parsed, numNumbers: numNumbers, numRGB: numRGB, numHSL: numHSL };\n}\nvar mixComplex = function (origin, target) {\n var template = complex.createTransformer(target);\n var originStats = analyse(origin);\n var targetStats = analyse(target);\n invariant(originStats.numHSL === targetStats.numHSL &&\n originStats.numRGB === targetStats.numRGB &&\n originStats.numNumbers >= targetStats.numNumbers, \"Complex values '\" + origin + \"' and '\" + target + \"' too different to mix. Ensure all colors are of the same type.\");\n return pipe(mixArray(originStats.parsed, targetStats.parsed), template);\n};\n\nexport { mixArray, mixComplex, mixObject };\n","import { progress } from './progress.js';\nimport { mix } from './mix.js';\nimport { mixColor } from './mix-color.js';\nimport { mixComplex, mixArray, mixObject } from './mix-complex.js';\nimport { color } from 'style-value-types';\nimport { clamp } from './clamp.js';\nimport { pipe } from './pipe.js';\nimport { invariant } from 'hey-listen';\n\nvar mixNumber = function (from, to) { return function (p) { return mix(from, to, p); }; };\nfunction detectMixerFactory(v) {\n if (typeof v === 'number') {\n return mixNumber;\n }\n else if (typeof v === 'string') {\n if (color.test(v)) {\n return mixColor;\n }\n else {\n return mixComplex;\n }\n }\n else if (Array.isArray(v)) {\n return mixArray;\n }\n else if (typeof v === 'object') {\n return mixObject;\n }\n}\nfunction createMixers(output, ease, customMixer) {\n var mixers = [];\n var mixerFactory = customMixer || detectMixerFactory(output[0]);\n var numMixers = output.length - 1;\n for (var i = 0; i < numMixers; i++) {\n var mixer = mixerFactory(output[i], output[i + 1]);\n if (ease) {\n var easingFunction = Array.isArray(ease) ? ease[i] : ease;\n mixer = pipe(easingFunction, mixer);\n }\n mixers.push(mixer);\n }\n return mixers;\n}\nfunction fastInterpolate(_a, _b) {\n var from = _a[0], to = _a[1];\n var mixer = _b[0];\n return function (v) { return mixer(progress(from, to, v)); };\n}\nfunction slowInterpolate(input, mixers) {\n var inputLength = input.length;\n var lastInputIndex = inputLength - 1;\n return function (v) {\n var mixerIndex = 0;\n var foundMixerIndex = false;\n if (v <= input[0]) {\n foundMixerIndex = true;\n }\n else if (v >= input[lastInputIndex]) {\n mixerIndex = lastInputIndex - 1;\n foundMixerIndex = true;\n }\n if (!foundMixerIndex) {\n var i = 1;\n for (; i < inputLength; i++) {\n if (input[i] > v || i === lastInputIndex) {\n break;\n }\n }\n mixerIndex = i - 1;\n }\n var progressInRange = progress(input[mixerIndex], input[mixerIndex + 1], v);\n return mixers[mixerIndex](progressInRange);\n };\n}\nfunction interpolate(input, output, _a) {\n var _b = _a === void 0 ? {} : _a, _c = _b.clamp, isClamp = _c === void 0 ? true : _c, ease = _b.ease, mixer = _b.mixer;\n var inputLength = input.length;\n invariant(inputLength === output.length, 'Both input and output ranges must be the same length');\n invariant(!ease || !Array.isArray(ease) || ease.length === inputLength - 1, 'Array of easing functions must be of length `input.length - 1`, as it applies to the transitions **between** the defined values.');\n if (input[0] > input[inputLength - 1]) {\n input = [].concat(input);\n output = [].concat(output);\n input.reverse();\n output.reverse();\n }\n var mixers = createMixers(output, ease, mixer);\n var interpolator = inputLength === 2\n ? fastInterpolate(input, mixers)\n : slowInterpolate(input, mixers);\n return isClamp\n ? function (v) { return interpolator(clamp(input[0], input[inputLength - 1], v)); }\n : interpolator;\n}\n\nexport { interpolate };\n","var reverseEasing = function (easing) { return function (p) { return 1 - easing(1 - p); }; };\nvar mirrorEasing = function (easing) { return function (p) {\n return p <= 0.5 ? easing(2 * p) / 2 : (2 - easing(2 * (1 - p))) / 2;\n}; };\nvar createExpoIn = function (power) { return function (p) { return Math.pow(p, power); }; };\nvar createBackIn = function (power) { return function (p) {\n return p * p * ((power + 1) * p - power);\n}; };\nvar createAnticipate = function (power) {\n var backEasing = createBackIn(power);\n return function (p) {\n return (p *= 2) < 1\n ? 0.5 * backEasing(p)\n : 0.5 * (2 - Math.pow(2, -10 * (p - 1)));\n };\n};\n\nexport { createAnticipate, createBackIn, createExpoIn, mirrorEasing, reverseEasing };\n","import { createExpoIn, reverseEasing, mirrorEasing, createBackIn, createAnticipate } from './utils.js';\n\nvar DEFAULT_OVERSHOOT_STRENGTH = 1.525;\nvar BOUNCE_FIRST_THRESHOLD = 4.0 / 11.0;\nvar BOUNCE_SECOND_THRESHOLD = 8.0 / 11.0;\nvar BOUNCE_THIRD_THRESHOLD = 9.0 / 10.0;\nvar linear = function (p) { return p; };\nvar easeIn = createExpoIn(2);\nvar easeOut = reverseEasing(easeIn);\nvar easeInOut = mirrorEasing(easeIn);\nvar circIn = function (p) { return 1 - Math.sin(Math.acos(p)); };\nvar circOut = reverseEasing(circIn);\nvar circInOut = mirrorEasing(circOut);\nvar backIn = createBackIn(DEFAULT_OVERSHOOT_STRENGTH);\nvar backOut = reverseEasing(backIn);\nvar backInOut = mirrorEasing(backIn);\nvar anticipate = createAnticipate(DEFAULT_OVERSHOOT_STRENGTH);\nvar ca = 4356.0 / 361.0;\nvar cb = 35442.0 / 1805.0;\nvar cc = 16061.0 / 1805.0;\nvar bounceOut = function (p) {\n if (p === 1 || p === 0)\n return p;\n var p2 = p * p;\n return p < BOUNCE_FIRST_THRESHOLD\n ? 7.5625 * p2\n : p < BOUNCE_SECOND_THRESHOLD\n ? 9.075 * p2 - 9.9 * p + 3.4\n : p < BOUNCE_THIRD_THRESHOLD\n ? ca * p2 - cb * p + cc\n : 10.8 * p * p - 20.52 * p + 10.72;\n};\nvar bounceIn = reverseEasing(bounceOut);\nvar bounceInOut = function (p) {\n return p < 0.5\n ? 0.5 * (1.0 - bounceOut(1.0 - p * 2.0))\n : 0.5 * bounceOut(p * 2.0 - 1.0) + 0.5;\n};\n\nexport { anticipate, backIn, backInOut, backOut, bounceIn, bounceInOut, bounceOut, circIn, circInOut, circOut, easeIn, easeInOut, easeOut, linear };\n","import { interpolate } from '../../utils/interpolate.js';\nimport { easeInOut } from '../../easing/index.js';\n\nfunction defaultEasing(values, easing) {\n return values.map(function () { return easing || easeInOut; }).splice(0, values.length - 1);\n}\nfunction defaultOffset(values) {\n var numValues = values.length;\n return values.map(function (_value, i) {\n return i !== 0 ? i / (numValues - 1) : 0;\n });\n}\nfunction convertOffsetToTimes(offset, duration) {\n return offset.map(function (o) { return o * duration; });\n}\nfunction keyframes(_a) {\n var _b = _a.from, from = _b === void 0 ? 0 : _b, _c = _a.to, to = _c === void 0 ? 1 : _c, ease = _a.ease, offset = _a.offset, _d = _a.duration, duration = _d === void 0 ? 300 : _d;\n var state = { done: false, value: from };\n var values = Array.isArray(to) ? to : [from, to];\n var times = convertOffsetToTimes(offset && offset.length === values.length\n ? offset\n : defaultOffset(values), duration);\n function createInterpolator() {\n return interpolate(times, values, {\n ease: Array.isArray(ease) ? ease : defaultEasing(values, ease),\n });\n }\n var interpolator = createInterpolator();\n return {\n next: function (t) {\n state.value = interpolator(t);\n state.done = t >= duration;\n return state;\n },\n flipTarget: function () {\n values.reverse();\n interpolator = createInterpolator();\n },\n };\n}\n\nexport { convertOffsetToTimes, defaultEasing, defaultOffset, keyframes };\n","import { spring } from '../generators/spring.js';\nimport { keyframes } from '../generators/keyframes.js';\nimport { decay } from '../generators/decay.js';\n\nvar types = { keyframes: keyframes, spring: spring, decay: decay };\nfunction detectAnimationFromOptions(config) {\n if (Array.isArray(config.to)) {\n return keyframes;\n }\n else if (types[config.type]) {\n return types[config.type];\n }\n var keys = new Set(Object.keys(config));\n if (keys.has(\"ease\") ||\n (keys.has(\"duration\") && !keys.has(\"dampingRatio\"))) {\n return keyframes;\n }\n else if (keys.has(\"dampingRatio\") ||\n keys.has(\"stiffness\") ||\n keys.has(\"mass\") ||\n keys.has(\"damping\") ||\n keys.has(\"restSpeed\") ||\n keys.has(\"restDelta\")) {\n return spring;\n }\n return keyframes;\n}\n\nexport { detectAnimationFromOptions };\n","function decay(_a) {\n var _b = _a.velocity, velocity = _b === void 0 ? 0 : _b, _c = _a.from, from = _c === void 0 ? 0 : _c, _d = _a.power, power = _d === void 0 ? 0.8 : _d, _e = _a.timeConstant, timeConstant = _e === void 0 ? 350 : _e, _f = _a.restDelta, restDelta = _f === void 0 ? 0.5 : _f, modifyTarget = _a.modifyTarget;\n var state = { done: false, value: from };\n var amplitude = power * velocity;\n var ideal = from + amplitude;\n var target = modifyTarget === undefined ? ideal : modifyTarget(ideal);\n if (target !== ideal)\n amplitude = target - from;\n return {\n next: function (t) {\n var delta = -amplitude * Math.exp(-t / timeConstant);\n state.done = !(delta > restDelta || delta < -restDelta);\n state.value = state.done ? target : target + delta;\n return state;\n },\n flipTarget: function () { },\n };\n}\n\nexport { decay };\n","var defaultTimestep = (1 / 60) * 1000;\nvar getCurrentTime = typeof performance !== \"undefined\"\n ? function () { return performance.now(); }\n : function () { return Date.now(); };\nvar onNextFrame = typeof window !== \"undefined\"\n ? function (callback) {\n return window.requestAnimationFrame(callback);\n }\n : function (callback) {\n return setTimeout(function () { return callback(getCurrentTime()); }, defaultTimestep);\n };\n\nexport { defaultTimestep, onNextFrame };\n","import { onNextFrame, defaultTimestep } from './on-next-frame.js';\nimport { createRenderStep } from './create-render-step.js';\n\nvar maxElapsed = 40;\nvar useDefaultElapsed = true;\nvar runNextFrame = false;\nvar isProcessing = false;\nvar frame = {\n delta: 0,\n timestamp: 0\n};\nvar stepsOrder = [\"read\", \"update\", \"preRender\", \"render\", \"postRender\"];\nvar steps = /*#__PURE__*/stepsOrder.reduce(function (acc, key) {\n acc[key] = createRenderStep(function () {\n return runNextFrame = true;\n });\n return acc;\n}, {});\nvar sync = /*#__PURE__*/stepsOrder.reduce(function (acc, key) {\n var step = steps[key];\n acc[key] = function (process, keepAlive, immediate) {\n if (keepAlive === void 0) {\n keepAlive = false;\n }\n if (immediate === void 0) {\n immediate = false;\n }\n if (!runNextFrame) startLoop();\n return step.schedule(process, keepAlive, immediate);\n };\n return acc;\n}, {});\nvar cancelSync = /*#__PURE__*/stepsOrder.reduce(function (acc, key) {\n acc[key] = steps[key].cancel;\n return acc;\n}, {});\nvar flushSync = /*#__PURE__*/stepsOrder.reduce(function (acc, key) {\n acc[key] = function () {\n return steps[key].process(frame);\n };\n return acc;\n}, {});\nvar processStep = function (stepId) {\n return steps[stepId].process(frame);\n};\nvar processFrame = function (timestamp) {\n runNextFrame = false;\n frame.delta = useDefaultElapsed ? defaultTimestep : Math.max(Math.min(timestamp - frame.timestamp, maxElapsed), 1);\n frame.timestamp = timestamp;\n isProcessing = true;\n stepsOrder.forEach(processStep);\n isProcessing = false;\n if (runNextFrame) {\n useDefaultElapsed = false;\n onNextFrame(processFrame);\n }\n};\nvar startLoop = function () {\n runNextFrame = true;\n useDefaultElapsed = true;\n if (!isProcessing) onNextFrame(processFrame);\n};\nvar getFrameData = function () {\n return frame;\n};\n\nexport default sync;\nexport { cancelSync, flushSync, getFrameData };\n","function createRenderStep(runNextFrame) {\n var toRun = [];\n var toRunNextFrame = [];\n var numToRun = 0;\n var isProcessing = false;\n var toKeepAlive = new WeakSet();\n var step = {\n schedule: function (callback, keepAlive, immediate) {\n if (keepAlive === void 0) { keepAlive = false; }\n if (immediate === void 0) { immediate = false; }\n var addToCurrentFrame = immediate && isProcessing;\n var buffer = addToCurrentFrame ? toRun : toRunNextFrame;\n if (keepAlive)\n toKeepAlive.add(callback);\n if (buffer.indexOf(callback) === -1) {\n buffer.push(callback);\n if (addToCurrentFrame && isProcessing)\n numToRun = toRun.length;\n }\n return callback;\n },\n cancel: function (callback) {\n var index = toRunNextFrame.indexOf(callback);\n if (index !== -1)\n toRunNextFrame.splice(index, 1);\n toKeepAlive.delete(callback);\n },\n process: function (frameData) {\n var _a;\n isProcessing = true;\n _a = [toRunNextFrame, toRun], toRun = _a[0], toRunNextFrame = _a[1];\n toRunNextFrame.length = 0;\n numToRun = toRun.length;\n if (numToRun) {\n for (var i = 0; i < numToRun; i++) {\n var callback = toRun[i];\n callback(frameData);\n if (toKeepAlive.has(callback)) {\n step.schedule(callback);\n runNextFrame();\n }\n }\n }\n isProcessing = false;\n },\n };\n return step;\n}\n\nexport { createRenderStep };\n","function loopElapsed(elapsed, duration, delay) {\n if (delay === void 0) { delay = 0; }\n return elapsed - duration - delay;\n}\nfunction reverseElapsed(elapsed, duration, delay, isForwardPlayback) {\n if (delay === void 0) { delay = 0; }\n if (isForwardPlayback === void 0) { isForwardPlayback = true; }\n return isForwardPlayback\n ? loopElapsed(duration + -elapsed, duration, delay)\n : duration - (elapsed - duration) + delay;\n}\nfunction hasRepeatDelayElapsed(elapsed, duration, delay, isForwardPlayback) {\n return isForwardPlayback ? elapsed >= duration + delay : elapsed <= -delay;\n}\n\nexport { hasRepeatDelayElapsed, loopElapsed, reverseElapsed };\n","import { __rest, __assign } from 'tslib';\nimport { detectAnimationFromOptions } from './utils/detect-animation-from-options.js';\nimport sync, { cancelSync } from 'framesync';\nimport { interpolate } from '../utils/interpolate.js';\nimport { hasRepeatDelayElapsed, reverseElapsed, loopElapsed } from './utils/elapsed.js';\n\nvar framesync = function (update) {\n var passTimestamp = function (_a) {\n var delta = _a.delta;\n return update(delta);\n };\n return {\n start: function () { return sync.update(passTimestamp, true); },\n stop: function () { return cancelSync.update(passTimestamp); },\n };\n};\nfunction animate(_a) {\n var _b, _c;\n var from = _a.from, _d = _a.autoplay, autoplay = _d === void 0 ? true : _d, _e = _a.driver, driver = _e === void 0 ? framesync : _e, _f = _a.elapsed, elapsed = _f === void 0 ? 0 : _f, _g = _a.repeat, repeatMax = _g === void 0 ? 0 : _g, _h = _a.repeatType, repeatType = _h === void 0 ? \"loop\" : _h, _j = _a.repeatDelay, repeatDelay = _j === void 0 ? 0 : _j, onPlay = _a.onPlay, onStop = _a.onStop, onComplete = _a.onComplete, onRepeat = _a.onRepeat, onUpdate = _a.onUpdate, options = __rest(_a, [\"from\", \"autoplay\", \"driver\", \"elapsed\", \"repeat\", \"repeatType\", \"repeatDelay\", \"onPlay\", \"onStop\", \"onComplete\", \"onRepeat\", \"onUpdate\"]);\n var to = options.to;\n var driverControls;\n var repeatCount = 0;\n var computedDuration = options.duration;\n var latest;\n var isComplete = false;\n var isForwardPlayback = true;\n var interpolateFromNumber;\n var animator = detectAnimationFromOptions(options);\n if ((_c = (_b = animator).needsInterpolation) === null || _c === void 0 ? void 0 : _c.call(_b, from, to)) {\n interpolateFromNumber = interpolate([0, 100], [from, to], {\n clamp: false,\n });\n from = 0;\n to = 100;\n }\n var animation = animator(__assign(__assign({}, options), { from: from, to: to }));\n function repeat() {\n repeatCount++;\n if (repeatType === \"reverse\") {\n isForwardPlayback = repeatCount % 2 === 0;\n elapsed = reverseElapsed(elapsed, computedDuration, repeatDelay, isForwardPlayback);\n }\n else {\n elapsed = loopElapsed(elapsed, computedDuration, repeatDelay);\n if (repeatType === \"mirror\")\n animation.flipTarget();\n }\n isComplete = false;\n onRepeat && onRepeat();\n }\n function complete() {\n driverControls.stop();\n onComplete && onComplete();\n }\n function update(delta) {\n if (!isForwardPlayback)\n delta = -delta;\n elapsed += delta;\n if (!isComplete) {\n var state = animation.next(Math.max(0, elapsed));\n latest = state.value;\n if (interpolateFromNumber)\n latest = interpolateFromNumber(latest);\n isComplete = isForwardPlayback ? state.done : elapsed <= 0;\n }\n onUpdate === null || onUpdate === void 0 ? void 0 : onUpdate(latest);\n if (isComplete) {\n if (repeatCount === 0)\n computedDuration !== null && computedDuration !== void 0 ? computedDuration : (computedDuration = elapsed);\n if (repeatCount < repeatMax) {\n hasRepeatDelayElapsed(elapsed, computedDuration, repeatDelay, isForwardPlayback) && repeat();\n }\n else {\n complete();\n }\n }\n }\n function play() {\n onPlay === null || onPlay === void 0 ? void 0 : onPlay();\n driverControls = driver(update);\n driverControls.start();\n }\n autoplay && play();\n return {\n stop: function () {\n onStop === null || onStop === void 0 ? void 0 : onStop();\n driverControls.stop();\n },\n };\n}\n\nexport { animate };\n","function velocityPerSecond(velocity, frameDuration) {\n return frameDuration ? velocity * (1000 / frameDuration) : 0;\n}\n\nexport { velocityPerSecond };\n","/**\n * Converts seconds to milliseconds\n *\n * @param seconds - Time in seconds.\n * @return milliseconds - Converted time in milliseconds.\n */\nvar secondsToMilliseconds = function (seconds) { return seconds * 1000; };\n\nexport { secondsToMilliseconds };\n","import { linear } from './index.js';\n\nvar a = function (a1, a2) { return 1.0 - 3.0 * a2 + 3.0 * a1; };\nvar b = function (a1, a2) { return 3.0 * a2 - 6.0 * a1; };\nvar c = function (a1) { return 3.0 * a1; };\nvar calcBezier = function (t, a1, a2) {\n return ((a(a1, a2) * t + b(a1, a2)) * t + c(a1)) * t;\n};\nvar getSlope = function (t, a1, a2) {\n return 3.0 * a(a1, a2) * t * t + 2.0 * b(a1, a2) * t + c(a1);\n};\nvar subdivisionPrecision = 0.0000001;\nvar subdivisionMaxIterations = 10;\nfunction binarySubdivide(aX, aA, aB, mX1, mX2) {\n var currentX;\n var currentT;\n var i = 0;\n do {\n currentT = aA + (aB - aA) / 2.0;\n currentX = calcBezier(currentT, mX1, mX2) - aX;\n if (currentX > 0.0) {\n aB = currentT;\n }\n else {\n aA = currentT;\n }\n } while (Math.abs(currentX) > subdivisionPrecision &&\n ++i < subdivisionMaxIterations);\n return currentT;\n}\nvar newtonIterations = 8;\nvar newtonMinSlope = 0.001;\nfunction newtonRaphsonIterate(aX, aGuessT, mX1, mX2) {\n for (var i = 0; i < newtonIterations; ++i) {\n var currentSlope = getSlope(aGuessT, mX1, mX2);\n if (currentSlope === 0.0) {\n return aGuessT;\n }\n var currentX = calcBezier(aGuessT, mX1, mX2) - aX;\n aGuessT -= currentX / currentSlope;\n }\n return aGuessT;\n}\nvar kSplineTableSize = 11;\nvar kSampleStepSize = 1.0 / (kSplineTableSize - 1.0);\nfunction cubicBezier(mX1, mY1, mX2, mY2) {\n if (mX1 === mY1 && mX2 === mY2)\n return linear;\n var sampleValues = new Float32Array(kSplineTableSize);\n for (var i = 0; i < kSplineTableSize; ++i) {\n sampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2);\n }\n function getTForX(aX) {\n var intervalStart = 0.0;\n var currentSample = 1;\n var lastSample = kSplineTableSize - 1;\n for (; currentSample !== lastSample && sampleValues[currentSample] <= aX; ++currentSample) {\n intervalStart += kSampleStepSize;\n }\n --currentSample;\n var dist = (aX - sampleValues[currentSample]) /\n (sampleValues[currentSample + 1] - sampleValues[currentSample]);\n var guessForT = intervalStart + dist * kSampleStepSize;\n var initialSlope = getSlope(guessForT, mX1, mX2);\n if (initialSlope >= newtonMinSlope) {\n return newtonRaphsonIterate(aX, guessForT, mX1, mX2);\n }\n else if (initialSlope === 0.0) {\n return guessForT;\n }\n else {\n return binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize, mX1, mX2);\n }\n }\n return function (t) {\n return t === 0 || t === 1 ? t : calcBezier(getTForX(t), mY1, mY2);\n };\n}\n\nexport { cubicBezier };\n","import { __read } from 'tslib';\nimport { invariant } from 'hey-listen';\nimport { cubicBezier, linear, easeIn, easeInOut, easeOut, circIn, circInOut, circOut, backIn, backInOut, backOut, anticipate, bounceIn, bounceInOut, bounceOut } from 'popmotion';\n\nvar easingLookup = {\n linear: linear,\n easeIn: easeIn,\n easeInOut: easeInOut,\n easeOut: easeOut,\n circIn: circIn,\n circInOut: circInOut,\n circOut: circOut,\n backIn: backIn,\n backInOut: backInOut,\n backOut: backOut,\n anticipate: anticipate,\n bounceIn: bounceIn,\n bounceInOut: bounceInOut,\n bounceOut: bounceOut,\n};\nvar easingDefinitionToFunction = function (definition) {\n if (Array.isArray(definition)) {\n // If cubic bezier definition, create bezier curve\n invariant(definition.length === 4, \"Cubic bezier arrays must contain four numerical values.\");\n var _a = __read(definition, 4), x1 = _a[0], y1 = _a[1], x2 = _a[2], y2 = _a[3];\n return cubicBezier(x1, y1, x2, y2);\n }\n else if (typeof definition === \"string\") {\n // Else lookup from table\n invariant(easingLookup[definition] !== undefined, \"Invalid easing type '\" + definition + \"'\");\n return easingLookup[definition];\n }\n return definition;\n};\nvar isEasingArray = function (ease) {\n return Array.isArray(ease) && typeof ease[0] !== \"number\";\n};\n\nexport { easingDefinitionToFunction, isEasingArray };\n","import { complex } from 'style-value-types';\n\n/**\n * Check if a value is animatable. Examples:\n *\n * ✅: 100, \"100px\", \"#fff\"\n * ❌: \"block\", \"url(2.jpg)\"\n * @param value\n *\n * @internal\n */\nvar isAnimatable = function (key, value) {\n // If the list of keys tat might be non-animatable grows, replace with Set\n if (key === \"zIndex\")\n return false;\n // If it's a number or a keyframes array, we can animate it. We might at some point\n // need to do a deep isAnimatable check of keyframes, or let Popmotion handle this,\n // but for now lets leave it like this for performance reasons\n if (typeof value === \"number\" || Array.isArray(value))\n return true;\n if (typeof value === \"string\" && // It's animatable if we have a string\n complex.test(value) && // And it contains numbers and/or colors\n !value.startsWith(\"url(\") // Unless it starts with \"url(\"\n ) {\n return true;\n }\n return false;\n};\n\nexport { isAnimatable };\n","import { __assign } from 'tslib';\nimport { isKeyframesTarget } from './is-keyframes-target.js';\n\nvar underDampedSpring = function () { return ({\n type: \"spring\",\n stiffness: 500,\n damping: 25,\n restDelta: 0.5,\n restSpeed: 10,\n}); };\nvar criticallyDampedSpring = function (to) { return ({\n type: \"spring\",\n stiffness: 550,\n damping: to === 0 ? 2 * Math.sqrt(550) : 30,\n restDelta: 0.01,\n restSpeed: 10,\n}); };\nvar linearTween = function () { return ({\n type: \"keyframes\",\n ease: \"linear\",\n duration: 0.3,\n}); };\nvar keyframes = function (values) { return ({\n type: \"keyframes\",\n duration: 0.8,\n values: values,\n}); };\nvar defaultTransitions = {\n x: underDampedSpring,\n y: underDampedSpring,\n z: underDampedSpring,\n rotate: underDampedSpring,\n rotateX: underDampedSpring,\n rotateY: underDampedSpring,\n rotateZ: underDampedSpring,\n scaleX: criticallyDampedSpring,\n scaleY: criticallyDampedSpring,\n scale: criticallyDampedSpring,\n opacity: linearTween,\n backgroundColor: linearTween,\n color: linearTween,\n default: criticallyDampedSpring,\n};\nvar getDefaultTransition = function (valueKey, to) {\n var transitionFactory;\n if (isKeyframesTarget(to)) {\n transitionFactory = keyframes;\n }\n else {\n transitionFactory =\n defaultTransitions[valueKey] || defaultTransitions.default;\n }\n return __assign({ to: to }, transitionFactory(to));\n};\n\nexport { criticallyDampedSpring, getDefaultTransition, linearTween, underDampedSpring };\n","import { __assign } from 'tslib';\nimport { complex } from './index.js';\nimport { floatRegex } from '../utils.js';\n\nvar maxDefaults = new Set(['brightness', 'contrast', 'saturate', 'opacity']);\nfunction applyDefaultFilter(v) {\n var _a = v.slice(0, -1).split('('), name = _a[0], value = _a[1];\n if (name === 'drop-shadow')\n return v;\n var number = (value.match(floatRegex) || [])[0];\n if (!number)\n return v;\n var unit = value.replace(number, '');\n var defaultValue = maxDefaults.has(name) ? 1 : 0;\n if (number !== value)\n defaultValue *= 100;\n return name + '(' + defaultValue + unit + ')';\n}\nvar functionRegex = /([a-z-]*)\\(.*?\\)/g;\nvar filter = __assign(__assign({}, complex), { getAnimatableNone: function (v) {\n var functions = v.match(functionRegex);\n return functions ? functions.map(applyDefaultFilter).join(' ') : v;\n } });\n\nexport { filter };\n","import { __assign } from 'tslib';\nimport { color, filter } from 'style-value-types';\nimport { numberValueTypes } from './number.js';\n\n/**\n * A map of default value types for common values\n */\nvar defaultValueTypes = __assign(__assign({}, numberValueTypes), { \n // Color props\n color: color, backgroundColor: color, outlineColor: color, fill: color, stroke: color, \n // Border props\n borderColor: color, borderTopColor: color, borderRightColor: color, borderBottomColor: color, borderLeftColor: color, filter: filter, WebkitFilter: filter });\n/**\n * Gets the default ValueType for the provided value key\n */\nvar getDefaultValueType = function (key) { return defaultValueTypes[key]; };\n\nexport { defaultValueTypes, getDefaultValueType };\n","import { filter, complex } from 'style-value-types';\nimport { getDefaultValueType } from './defaults.js';\n\nfunction getAnimatableNone(key, value) {\n var _a;\n var defaultValueType = getDefaultValueType(key);\n if (defaultValueType !== filter)\n defaultValueType = complex;\n // If value is not recognised as animatable, ie \"none\", create an animatable version origin based on the target\n return (_a = defaultValueType.getAnimatableNone) === null || _a === void 0 ? void 0 : _a.call(defaultValueType, value);\n}\n\nexport { getAnimatableNone };\n","import { __assign, __rest, __spreadArray, __read } from 'tslib';\nimport { inertia, animate } from 'popmotion';\nimport { secondsToMilliseconds } from '../../utils/time-conversion.js';\nimport { isEasingArray, easingDefinitionToFunction } from './easing.js';\nimport { isAnimatable } from './is-animatable.js';\nimport { getDefaultTransition } from './default-transitions.js';\nimport { warning } from 'hey-listen';\nimport { getAnimatableNone } from '../../render/dom/value-types/animatable-none.js';\n\n/**\n * Decide whether a transition is defined on a given Transition.\n * This filters out orchestration options and returns true\n * if any options are left.\n */\nfunction isTransitionDefined(_a) {\n _a.when; _a.delay; _a.delayChildren; _a.staggerChildren; _a.staggerDirection; _a.repeat; _a.repeatType; _a.repeatDelay; _a.from; var transition = __rest(_a, [\"when\", \"delay\", \"delayChildren\", \"staggerChildren\", \"staggerDirection\", \"repeat\", \"repeatType\", \"repeatDelay\", \"from\"]);\n return !!Object.keys(transition).length;\n}\nvar legacyRepeatWarning = false;\n/**\n * Convert Framer Motion's Transition type into Popmotion-compatible options.\n */\nfunction convertTransitionToAnimationOptions(_a) {\n var ease = _a.ease, times = _a.times, yoyo = _a.yoyo, flip = _a.flip, loop = _a.loop, transition = __rest(_a, [\"ease\", \"times\", \"yoyo\", \"flip\", \"loop\"]);\n var options = __assign({}, transition);\n if (times)\n options[\"offset\"] = times;\n /**\n * Convert any existing durations from seconds to milliseconds\n */\n if (transition.duration)\n options[\"duration\"] = secondsToMilliseconds(transition.duration);\n if (transition.repeatDelay)\n options.repeatDelay = secondsToMilliseconds(transition.repeatDelay);\n /**\n * Map easing names to Popmotion's easing functions\n */\n if (ease) {\n options[\"ease\"] = isEasingArray(ease)\n ? ease.map(easingDefinitionToFunction)\n : easingDefinitionToFunction(ease);\n }\n /**\n * Support legacy transition API\n */\n if (transition.type === \"tween\")\n options.type = \"keyframes\";\n /**\n * TODO: These options are officially removed from the API.\n */\n if (yoyo || loop || flip) {\n warning(!legacyRepeatWarning, \"yoyo, loop and flip have been removed from the API. Replace with repeat and repeatType options.\");\n legacyRepeatWarning = true;\n if (yoyo) {\n options.repeatType = \"reverse\";\n }\n else if (loop) {\n options.repeatType = \"loop\";\n }\n else if (flip) {\n options.repeatType = \"mirror\";\n }\n options.repeat = loop || yoyo || flip || transition.repeat;\n }\n /**\n * TODO: Popmotion 9 has the ability to automatically detect whether to use\n * a keyframes or spring animation, but does so by detecting velocity and other spring options.\n * It'd be good to introduce a similar thing here.\n */\n if (transition.type !== \"spring\")\n options.type = \"keyframes\";\n return options;\n}\n/**\n * Get the delay for a value by checking Transition with decreasing specificity.\n */\nfunction getDelayFromTransition(transition, key) {\n var _a;\n var valueTransition = getValueTransition(transition, key) || {};\n return (_a = valueTransition.delay) !== null && _a !== void 0 ? _a : 0;\n}\nfunction hydrateKeyframes(options) {\n if (Array.isArray(options.to) && options.to[0] === null) {\n options.to = __spreadArray([], __read(options.to));\n options.to[0] = options.from;\n }\n return options;\n}\nfunction getPopmotionAnimationOptions(transition, options, key) {\n var _a;\n if (Array.isArray(options.to)) {\n (_a = transition.duration) !== null && _a !== void 0 ? _a : (transition.duration = 0.8);\n }\n hydrateKeyframes(options);\n /**\n * Get a default transition if none is determined to be defined.\n */\n if (!isTransitionDefined(transition)) {\n transition = __assign(__assign({}, transition), getDefaultTransition(key, options.to));\n }\n return __assign(__assign({}, options), convertTransitionToAnimationOptions(transition));\n}\n/**\n *\n */\nfunction getAnimation(key, value, target, transition, onComplete) {\n var _a;\n var valueTransition = getValueTransition(transition, key);\n var origin = (_a = valueTransition.from) !== null && _a !== void 0 ? _a : value.get();\n var isTargetAnimatable = isAnimatable(key, target);\n if (origin === \"none\" && isTargetAnimatable && typeof target === \"string\") {\n /**\n * If we're trying to animate from \"none\", try and get an animatable version\n * of the target. This could be improved to work both ways.\n */\n origin = getAnimatableNone(key, target);\n }\n else if (isZero(origin) && typeof target === \"string\") {\n origin = getZeroUnit(target);\n }\n else if (!Array.isArray(target) &&\n isZero(target) &&\n typeof origin === \"string\") {\n target = getZeroUnit(origin);\n }\n var isOriginAnimatable = isAnimatable(key, origin);\n warning(isOriginAnimatable === isTargetAnimatable, \"You are trying to animate \" + key + \" from \\\"\" + origin + \"\\\" to \\\"\" + target + \"\\\". \" + origin + \" is not an animatable value - to enable this animation set \" + origin + \" to a value animatable to \" + target + \" via the `style` property.\");\n function start() {\n var options = {\n from: origin,\n to: target,\n velocity: value.getVelocity(),\n onComplete: onComplete,\n onUpdate: function (v) { return value.set(v); },\n };\n return valueTransition.type === \"inertia\" ||\n valueTransition.type === \"decay\"\n ? inertia(__assign(__assign({}, options), valueTransition))\n : animate(__assign(__assign({}, getPopmotionAnimationOptions(valueTransition, options, key)), { onUpdate: function (v) {\n var _a;\n options.onUpdate(v);\n (_a = valueTransition.onUpdate) === null || _a === void 0 ? void 0 : _a.call(valueTransition, v);\n }, onComplete: function () {\n var _a;\n options.onComplete();\n (_a = valueTransition.onComplete) === null || _a === void 0 ? void 0 : _a.call(valueTransition);\n } }));\n }\n function set() {\n var _a;\n value.set(target);\n onComplete();\n (_a = valueTransition === null || valueTransition === void 0 ? void 0 : valueTransition.onComplete) === null || _a === void 0 ? void 0 : _a.call(valueTransition);\n return { stop: function () { } };\n }\n return !isOriginAnimatable ||\n !isTargetAnimatable ||\n valueTransition.type === false\n ? set\n : start;\n}\nfunction isZero(value) {\n return (value === 0 ||\n (typeof value === \"string\" &&\n parseFloat(value) === 0 &&\n value.indexOf(\" \") === -1));\n}\nfunction getZeroUnit(potentialUnitType) {\n return typeof potentialUnitType === \"number\"\n ? 0\n : getAnimatableNone(\"\", potentialUnitType);\n}\nfunction getValueTransition(transition, key) {\n return transition[key] || transition[\"default\"] || transition;\n}\n/**\n * Start animation on a MotionValue. This function is an interface between\n * Framer Motion and Popmotion\n *\n * @internal\n */\nfunction startAnimation(key, value, target, transition) {\n if (transition === void 0) { transition = {}; }\n return value.start(function (onComplete) {\n var delayTimer;\n var controls;\n var animation = getAnimation(key, value, target, transition, onComplete);\n var delay = getDelayFromTransition(transition, key);\n var start = function () { return (controls = animation()); };\n if (delay) {\n delayTimer = setTimeout(start, secondsToMilliseconds(delay));\n }\n else {\n start();\n }\n return function () {\n clearTimeout(delayTimer);\n controls === null || controls === void 0 ? void 0 : controls.stop();\n };\n });\n}\n\nexport { convertTransitionToAnimationOptions, getDelayFromTransition, getPopmotionAnimationOptions, getValueTransition, getZeroUnit, hydrateKeyframes, isTransitionDefined, isZero, startAnimation };\n","import { __assign } from 'tslib';\nimport { animate } from './index.js';\nimport { velocityPerSecond } from '../utils/velocity-per-second.js';\nimport { getFrameData } from 'framesync';\n\nfunction inertia(_a) {\n var _b = _a.from, from = _b === void 0 ? 0 : _b, _c = _a.velocity, velocity = _c === void 0 ? 0 : _c, min = _a.min, max = _a.max, _d = _a.power, power = _d === void 0 ? 0.8 : _d, _e = _a.timeConstant, timeConstant = _e === void 0 ? 750 : _e, _f = _a.bounceStiffness, bounceStiffness = _f === void 0 ? 500 : _f, _g = _a.bounceDamping, bounceDamping = _g === void 0 ? 10 : _g, _h = _a.restDelta, restDelta = _h === void 0 ? 1 : _h, modifyTarget = _a.modifyTarget, driver = _a.driver, onUpdate = _a.onUpdate, onComplete = _a.onComplete;\n var currentAnimation;\n function isOutOfBounds(v) {\n return (min !== undefined && v < min) || (max !== undefined && v > max);\n }\n function boundaryNearest(v) {\n if (min === undefined)\n return max;\n if (max === undefined)\n return min;\n return Math.abs(min - v) < Math.abs(max - v) ? min : max;\n }\n function startAnimation(options) {\n currentAnimation === null || currentAnimation === void 0 ? void 0 : currentAnimation.stop();\n currentAnimation = animate(__assign(__assign({}, options), { driver: driver, onUpdate: function (v) {\n var _a;\n onUpdate === null || onUpdate === void 0 ? void 0 : onUpdate(v);\n (_a = options.onUpdate) === null || _a === void 0 ? void 0 : _a.call(options, v);\n }, onComplete: onComplete }));\n }\n function startSpring(options) {\n startAnimation(__assign({ type: \"spring\", stiffness: bounceStiffness, damping: bounceDamping, restDelta: restDelta }, options));\n }\n if (isOutOfBounds(from)) {\n startSpring({ from: from, velocity: velocity, to: boundaryNearest(from) });\n }\n else {\n var target = power * velocity + from;\n if (typeof modifyTarget !== \"undefined\")\n target = modifyTarget(target);\n var boundary_1 = boundaryNearest(target);\n var heading_1 = boundary_1 === min ? -1 : 1;\n var prev_1;\n var current_1;\n var checkBoundary = function (v) {\n prev_1 = current_1;\n current_1 = v;\n velocity = velocityPerSecond(v - prev_1, getFrameData().delta);\n if ((heading_1 === 1 && v > boundary_1) ||\n (heading_1 === -1 && v < boundary_1)) {\n startSpring({ from: v, to: boundary_1, velocity: velocity });\n }\n };\n startAnimation({\n type: \"decay\",\n from: from,\n velocity: velocity,\n timeConstant: timeConstant,\n power: power,\n restDelta: restDelta,\n modifyTarget: modifyTarget,\n onUpdate: isOutOfBounds(target) ? checkBoundary : undefined,\n });\n }\n return {\n stop: function () { return currentAnimation === null || currentAnimation === void 0 ? void 0 : currentAnimation.stop(); },\n };\n}\n\nexport { inertia };\n","function addUniqueItem(arr, item) {\n arr.indexOf(item) === -1 && arr.push(item);\n}\nfunction removeItem(arr, item) {\n var index = arr.indexOf(item);\n index > -1 && arr.splice(index, 1);\n}\n\nexport { addUniqueItem, removeItem };\n","import { addUniqueItem, removeItem } from './array.js';\n\nvar SubscriptionManager = /** @class */ (function () {\n function SubscriptionManager() {\n this.subscriptions = [];\n }\n SubscriptionManager.prototype.add = function (handler) {\n var _this = this;\n addUniqueItem(this.subscriptions, handler);\n return function () { return removeItem(_this.subscriptions, handler); };\n };\n SubscriptionManager.prototype.notify = function (a, b, c) {\n var numSubscriptions = this.subscriptions.length;\n if (!numSubscriptions)\n return;\n if (numSubscriptions === 1) {\n /**\n * If there's only a single handler we can just call it without invoking a loop.\n */\n this.subscriptions[0](a, b, c);\n }\n else {\n for (var i = 0; i < numSubscriptions; i++) {\n /**\n * Check whether the handler exists before firing as it's possible\n * the subscriptions were modified during this loop running.\n */\n var handler = this.subscriptions[i];\n handler && handler(a, b, c);\n }\n }\n };\n SubscriptionManager.prototype.getSize = function () {\n return this.subscriptions.length;\n };\n SubscriptionManager.prototype.clear = function () {\n this.subscriptions.length = 0;\n };\n return SubscriptionManager;\n}());\n\nexport { SubscriptionManager };\n","import sync, { getFrameData } from 'framesync';\nimport { velocityPerSecond } from 'popmotion';\nimport { SubscriptionManager } from '../utils/subscription-manager.js';\n\nvar isFloat = function (value) {\n return !isNaN(parseFloat(value));\n};\n/**\n * `MotionValue` is used to track the state and velocity of motion values.\n *\n * @public\n */\nvar MotionValue = /** @class */ (function () {\n /**\n * @param init - The initiating value\n * @param config - Optional configuration options\n *\n * - `transformer`: A function to transform incoming values with.\n *\n * @internal\n */\n function MotionValue(init) {\n var _this = this;\n /**\n * Duration, in milliseconds, since last updating frame.\n *\n * @internal\n */\n this.timeDelta = 0;\n /**\n * Timestamp of the last time this `MotionValue` was updated.\n *\n * @internal\n */\n this.lastUpdated = 0;\n /**\n * Functions to notify when the `MotionValue` updates.\n *\n * @internal\n */\n this.updateSubscribers = new SubscriptionManager();\n /**\n * Functions to notify when the velocity updates.\n *\n * @internal\n */\n this.velocityUpdateSubscribers = new SubscriptionManager();\n /**\n * Functions to notify when the `MotionValue` updates and `render` is set to `true`.\n *\n * @internal\n */\n this.renderSubscribers = new SubscriptionManager();\n /**\n * Tracks whether this value can output a velocity. Currently this is only true\n * if the value is numerical, but we might be able to widen the scope here and support\n * other value types.\n *\n * @internal\n */\n this.canTrackVelocity = false;\n this.updateAndNotify = function (v, render) {\n if (render === void 0) { render = true; }\n _this.prev = _this.current;\n _this.current = v;\n // Update timestamp\n var _a = getFrameData(), delta = _a.delta, timestamp = _a.timestamp;\n if (_this.lastUpdated !== timestamp) {\n _this.timeDelta = delta;\n _this.lastUpdated = timestamp;\n sync.postRender(_this.scheduleVelocityCheck);\n }\n // Update update subscribers\n if (_this.prev !== _this.current) {\n _this.updateSubscribers.notify(_this.current);\n }\n // Update velocity subscribers\n if (_this.velocityUpdateSubscribers.getSize()) {\n _this.velocityUpdateSubscribers.notify(_this.getVelocity());\n }\n // Update render subscribers\n if (render) {\n _this.renderSubscribers.notify(_this.current);\n }\n };\n /**\n * Schedule a velocity check for the next frame.\n *\n * This is an instanced and bound function to prevent generating a new\n * function once per frame.\n *\n * @internal\n */\n this.scheduleVelocityCheck = function () { return sync.postRender(_this.velocityCheck); };\n /**\n * Updates `prev` with `current` if the value hasn't been updated this frame.\n * This ensures velocity calculations return `0`.\n *\n * This is an instanced and bound function to prevent generating a new\n * function once per frame.\n *\n * @internal\n */\n this.velocityCheck = function (_a) {\n var timestamp = _a.timestamp;\n if (timestamp !== _this.lastUpdated) {\n _this.prev = _this.current;\n _this.velocityUpdateSubscribers.notify(_this.getVelocity());\n }\n };\n this.hasAnimated = false;\n this.prev = this.current = init;\n this.canTrackVelocity = isFloat(this.current);\n }\n /**\n * Adds a function that will be notified when the `MotionValue` is updated.\n *\n * It returns a function that, when called, will cancel the subscription.\n *\n * When calling `onChange` inside a React component, it should be wrapped with the\n * `useEffect` hook. As it returns an unsubscribe function, this should be returned\n * from the `useEffect` function to ensure you don't add duplicate subscribers..\n *\n * @library\n *\n * ```jsx\n * function MyComponent() {\n * const x = useMotionValue(0)\n * const y = useMotionValue(0)\n * const opacity = useMotionValue(1)\n *\n * useEffect(() => {\n * function updateOpacity() {\n * const maxXY = Math.max(x.get(), y.get())\n * const newOpacity = transform(maxXY, [0, 100], [1, 0])\n * opacity.set(newOpacity)\n * }\n *\n * const unsubscribeX = x.onChange(updateOpacity)\n * const unsubscribeY = y.onChange(updateOpacity)\n *\n * return () => {\n * unsubscribeX()\n * unsubscribeY()\n * }\n * }, [])\n *\n * return \n * }\n * ```\n *\n * @motion\n *\n * ```jsx\n * export const MyComponent = () => {\n * const x = useMotionValue(0)\n * const y = useMotionValue(0)\n * const opacity = useMotionValue(1)\n *\n * useEffect(() => {\n * function updateOpacity() {\n * const maxXY = Math.max(x.get(), y.get())\n * const newOpacity = transform(maxXY, [0, 100], [1, 0])\n * opacity.set(newOpacity)\n * }\n *\n * const unsubscribeX = x.onChange(updateOpacity)\n * const unsubscribeY = y.onChange(updateOpacity)\n *\n * return () => {\n * unsubscribeX()\n * unsubscribeY()\n * }\n * }, [])\n *\n * return \n * }\n * ```\n *\n * @internalremarks\n *\n * We could look into a `useOnChange` hook if the above lifecycle management proves confusing.\n *\n * ```jsx\n * useOnChange(x, () => {})\n * ```\n *\n * @param subscriber - A function that receives the latest value.\n * @returns A function that, when called, will cancel this subscription.\n *\n * @public\n */\n MotionValue.prototype.onChange = function (subscription) {\n return this.updateSubscribers.add(subscription);\n };\n MotionValue.prototype.clearListeners = function () {\n this.updateSubscribers.clear();\n };\n /**\n * Adds a function that will be notified when the `MotionValue` requests a render.\n *\n * @param subscriber - A function that's provided the latest value.\n * @returns A function that, when called, will cancel this subscription.\n *\n * @internal\n */\n MotionValue.prototype.onRenderRequest = function (subscription) {\n // Render immediately\n subscription(this.get());\n return this.renderSubscribers.add(subscription);\n };\n /**\n * Attaches a passive effect to the `MotionValue`.\n *\n * @internal\n */\n MotionValue.prototype.attach = function (passiveEffect) {\n this.passiveEffect = passiveEffect;\n };\n /**\n * Sets the state of the `MotionValue`.\n *\n * @remarks\n *\n * ```jsx\n * const x = useMotionValue(0)\n * x.set(10)\n * ```\n *\n * @param latest - Latest value to set.\n * @param render - Whether to notify render subscribers. Defaults to `true`\n *\n * @public\n */\n MotionValue.prototype.set = function (v, render) {\n if (render === void 0) { render = true; }\n if (!render || !this.passiveEffect) {\n this.updateAndNotify(v, render);\n }\n else {\n this.passiveEffect(v, this.updateAndNotify);\n }\n };\n /**\n * Returns the latest state of `MotionValue`\n *\n * @returns - The latest state of `MotionValue`\n *\n * @public\n */\n MotionValue.prototype.get = function () {\n return this.current;\n };\n /**\n * @public\n */\n MotionValue.prototype.getPrevious = function () {\n return this.prev;\n };\n /**\n * Returns the latest velocity of `MotionValue`\n *\n * @returns - The latest velocity of `MotionValue`. Returns `0` if the state is non-numerical.\n *\n * @public\n */\n MotionValue.prototype.getVelocity = function () {\n // This could be isFloat(this.prev) && isFloat(this.current), but that would be wasteful\n return this.canTrackVelocity\n ? // These casts could be avoided if parseFloat would be typed better\n velocityPerSecond(parseFloat(this.current) -\n parseFloat(this.prev), this.timeDelta)\n : 0;\n };\n /**\n * Registers a new animation to control this `MotionValue`. Only one\n * animation can drive a `MotionValue` at one time.\n *\n * ```jsx\n * value.start()\n * ```\n *\n * @param animation - A function that starts the provided animation\n *\n * @internal\n */\n MotionValue.prototype.start = function (animation) {\n var _this = this;\n this.stop();\n return new Promise(function (resolve) {\n _this.hasAnimated = true;\n _this.stopAnimation = animation(resolve);\n }).then(function () { return _this.clearAnimation(); });\n };\n /**\n * Stop the currently active animation.\n *\n * @public\n */\n MotionValue.prototype.stop = function () {\n if (this.stopAnimation)\n this.stopAnimation();\n this.clearAnimation();\n };\n /**\n * Returns `true` if this value is currently animating.\n *\n * @public\n */\n MotionValue.prototype.isAnimating = function () {\n return !!this.stopAnimation;\n };\n MotionValue.prototype.clearAnimation = function () {\n this.stopAnimation = null;\n };\n /**\n * Destroy and clean up subscribers to this `MotionValue`.\n *\n * The `MotionValue` hooks like `useMotionValue` and `useTransform` automatically\n * handle the lifecycle of the returned `MotionValue`, so this method is only necessary if you've manually\n * created a `MotionValue` via the `motionValue` function.\n *\n * @public\n */\n MotionValue.prototype.destroy = function () {\n this.updateSubscribers.clear();\n this.renderSubscribers.clear();\n this.stop();\n };\n return MotionValue;\n}());\n/**\n * @internal\n */\nfunction motionValue(init) {\n return new MotionValue(init);\n}\n\nexport { MotionValue, motionValue };\n","/**\n * Tests a provided value against a ValueType\n */\nvar testValueType = function (v) { return function (type) { return type.test(v); }; };\n\nexport { testValueType };\n","import { number, px, percent, degrees, vw, vh } from 'style-value-types';\nimport { testValueType } from './test.js';\nimport { auto } from './type-auto.js';\n\n/**\n * A list of value types commonly used for dimensions\n */\nvar dimensionValueTypes = [number, px, percent, degrees, vw, vh, auto];\n/**\n * Tests a dimensional value against the list of dimension ValueTypes\n */\nvar findDimensionValueType = function (v) {\n return dimensionValueTypes.find(testValueType(v));\n};\n\nexport { dimensionValueTypes, findDimensionValueType };\n","/**\n * ValueType for \"auto\"\n */\nvar auto = {\n test: function (v) { return v === \"auto\"; },\n parse: function (v) { return v; },\n};\n\nexport { auto };\n","import { __spreadArray, __read } from 'tslib';\nimport { color, complex } from 'style-value-types';\nimport { dimensionValueTypes } from './dimensions.js';\nimport { testValueType } from './test.js';\n\n/**\n * A list of all ValueTypes\n */\nvar valueTypes = __spreadArray(__spreadArray([], __read(dimensionValueTypes)), [color, complex]);\n/**\n * Tests a value against the list of ValueTypes\n */\nvar findValueType = function (v) { return valueTypes.find(testValueType(v)); };\n\nexport { findValueType };\n","import { __rest, __assign, __spreadArray, __read } from 'tslib';\nimport { complex } from 'style-value-types';\nimport { isNumericalString } from '../../utils/is-numerical-string.js';\nimport { resolveFinalValueInKeyframes } from '../../utils/resolve-value.js';\nimport { motionValue } from '../../value/index.js';\nimport { getAnimatableNone } from '../dom/value-types/animatable-none.js';\nimport { findValueType } from '../dom/value-types/find.js';\nimport { resolveVariant } from './variants.js';\n\n/**\n * Set VisualElement's MotionValue, creating a new MotionValue for it if\n * it doesn't exist.\n */\nfunction setMotionValue(visualElement, key, value) {\n if (visualElement.hasValue(key)) {\n visualElement.getValue(key).set(value);\n }\n else {\n visualElement.addValue(key, motionValue(value));\n }\n}\nfunction setTarget(visualElement, definition) {\n var resolved = resolveVariant(visualElement, definition);\n var _a = resolved\n ? visualElement.makeTargetAnimatable(resolved, false)\n : {}, _b = _a.transitionEnd, transitionEnd = _b === void 0 ? {} : _b; _a.transition; var target = __rest(_a, [\"transitionEnd\", \"transition\"]);\n target = __assign(__assign({}, target), transitionEnd);\n for (var key in target) {\n var value = resolveFinalValueInKeyframes(target[key]);\n setMotionValue(visualElement, key, value);\n }\n}\nfunction setVariants(visualElement, variantLabels) {\n var reversedLabels = __spreadArray([], __read(variantLabels)).reverse();\n reversedLabels.forEach(function (key) {\n var _a;\n var variant = visualElement.getVariant(key);\n variant && setTarget(visualElement, variant);\n (_a = visualElement.variantChildren) === null || _a === void 0 ? void 0 : _a.forEach(function (child) {\n setVariants(child, variantLabels);\n });\n });\n}\nfunction setValues(visualElement, definition) {\n if (Array.isArray(definition)) {\n return setVariants(visualElement, definition);\n }\n else if (typeof definition === \"string\") {\n return setVariants(visualElement, [definition]);\n }\n else {\n setTarget(visualElement, definition);\n }\n}\nfunction checkTargetForNewValues(visualElement, target, origin) {\n var _a, _b, _c;\n var _d;\n var newValueKeys = Object.keys(target).filter(function (key) { return !visualElement.hasValue(key); });\n var numNewValues = newValueKeys.length;\n if (!numNewValues)\n return;\n for (var i = 0; i < numNewValues; i++) {\n var key = newValueKeys[i];\n var targetValue = target[key];\n var value = null;\n /**\n * If the target is a series of keyframes, we can use the first value\n * in the array. If this first value is null, we'll still need to read from the DOM.\n */\n if (Array.isArray(targetValue)) {\n value = targetValue[0];\n }\n /**\n * If the target isn't keyframes, or the first keyframe was null, we need to\n * first check if an origin value was explicitly defined in the transition as \"from\",\n * if not read the value from the DOM. As an absolute fallback, take the defined target value.\n */\n if (value === null) {\n value = (_b = (_a = origin[key]) !== null && _a !== void 0 ? _a : visualElement.readValue(key)) !== null && _b !== void 0 ? _b : target[key];\n }\n /**\n * If value is still undefined or null, ignore it. Preferably this would throw,\n * but this was causing issues in Framer.\n */\n if (value === undefined || value === null)\n continue;\n if (typeof value === \"string\" && isNumericalString(value)) {\n // If this is a number read as a string, ie \"0\" or \"200\", convert it to a number\n value = parseFloat(value);\n }\n else if (!findValueType(value) && complex.test(targetValue)) {\n value = getAnimatableNone(key, targetValue);\n }\n visualElement.addValue(key, motionValue(value));\n (_c = (_d = origin)[key]) !== null && _c !== void 0 ? _c : (_d[key] = value);\n visualElement.setBaseTarget(key, value);\n }\n}\nfunction getOriginFromTransition(key, transition) {\n if (!transition)\n return;\n var valueTransition = transition[key] || transition[\"default\"] || transition;\n return valueTransition.from;\n}\nfunction getOrigin(target, transition, visualElement) {\n var _a, _b;\n var origin = {};\n for (var key in target) {\n origin[key] =\n (_a = getOriginFromTransition(key, transition)) !== null && _a !== void 0 ? _a : (_b = visualElement.getValue(key)) === null || _b === void 0 ? void 0 : _b.get();\n }\n return origin;\n}\n\nexport { checkTargetForNewValues, getOrigin, getOriginFromTransition, setTarget, setValues };\n","import { __read, __rest, __assign } from 'tslib';\nimport { startAnimation } from '../../animation/utils/transitions.js';\nimport { setTarget } from './setters.js';\nimport { resolveVariant } from './variants.js';\n\n/**\n * @internal\n */\nfunction animateVisualElement(visualElement, definition, options) {\n if (options === void 0) { options = {}; }\n visualElement.notifyAnimationStart();\n var animation;\n if (Array.isArray(definition)) {\n var animations = definition.map(function (variant) {\n return animateVariant(visualElement, variant, options);\n });\n animation = Promise.all(animations);\n }\n else if (typeof definition === \"string\") {\n animation = animateVariant(visualElement, definition, options);\n }\n else {\n var resolvedDefinition = typeof definition === \"function\"\n ? resolveVariant(visualElement, definition, options.custom)\n : definition;\n animation = animateTarget(visualElement, resolvedDefinition, options);\n }\n return animation.then(function () {\n return visualElement.notifyAnimationComplete(definition);\n });\n}\nfunction animateVariant(visualElement, variant, options) {\n var _a;\n if (options === void 0) { options = {}; }\n var resolved = resolveVariant(visualElement, variant, options.custom);\n var _b = (resolved || {}).transition, transition = _b === void 0 ? visualElement.getDefaultTransition() || {} : _b;\n if (options.transitionOverride) {\n transition = options.transitionOverride;\n }\n /**\n * If we have a variant, create a callback that runs it as an animation.\n * Otherwise, we resolve a Promise immediately for a composable no-op.\n */\n var getAnimation = resolved\n ? function () { return animateTarget(visualElement, resolved, options); }\n : function () { return Promise.resolve(); };\n /**\n * If we have children, create a callback that runs all their animations.\n * Otherwise, we resolve a Promise immediately for a composable no-op.\n */\n var getChildAnimations = ((_a = visualElement.variantChildren) === null || _a === void 0 ? void 0 : _a.size)\n ? function (forwardDelay) {\n if (forwardDelay === void 0) { forwardDelay = 0; }\n var _a = transition.delayChildren, delayChildren = _a === void 0 ? 0 : _a, staggerChildren = transition.staggerChildren, staggerDirection = transition.staggerDirection;\n return animateChildren(visualElement, variant, delayChildren + forwardDelay, staggerChildren, staggerDirection, options);\n }\n : function () { return Promise.resolve(); };\n /**\n * If the transition explicitly defines a \"when\" option, we need to resolve either\n * this animation or all children animations before playing the other.\n */\n var when = transition.when;\n if (when) {\n var _c = __read(when === \"beforeChildren\"\n ? [getAnimation, getChildAnimations]\n : [getChildAnimations, getAnimation], 2), first = _c[0], last = _c[1];\n return first().then(last);\n }\n else {\n return Promise.all([getAnimation(), getChildAnimations(options.delay)]);\n }\n}\n/**\n * @internal\n */\nfunction animateTarget(visualElement, definition, _a) {\n var _b;\n var _c = _a === void 0 ? {} : _a, _d = _c.delay, delay = _d === void 0 ? 0 : _d, transitionOverride = _c.transitionOverride, type = _c.type;\n var _e = visualElement.makeTargetAnimatable(definition), _f = _e.transition, transition = _f === void 0 ? visualElement.getDefaultTransition() : _f, transitionEnd = _e.transitionEnd, target = __rest(_e, [\"transition\", \"transitionEnd\"]);\n if (transitionOverride)\n transition = transitionOverride;\n var animations = [];\n var animationTypeState = type && ((_b = visualElement.animationState) === null || _b === void 0 ? void 0 : _b.getState()[type]);\n for (var key in target) {\n var value = visualElement.getValue(key);\n var valueTarget = target[key];\n if (!value ||\n valueTarget === undefined ||\n (animationTypeState &&\n shouldBlockAnimation(animationTypeState, key))) {\n continue;\n }\n var animation = startAnimation(key, value, valueTarget, __assign({ delay: delay }, transition));\n animations.push(animation);\n }\n return Promise.all(animations).then(function () {\n transitionEnd && setTarget(visualElement, transitionEnd);\n });\n}\nfunction animateChildren(visualElement, variant, delayChildren, staggerChildren, staggerDirection, options) {\n if (delayChildren === void 0) { delayChildren = 0; }\n if (staggerChildren === void 0) { staggerChildren = 0; }\n if (staggerDirection === void 0) { staggerDirection = 1; }\n var animations = [];\n var maxStaggerDuration = (visualElement.variantChildren.size - 1) * staggerChildren;\n var generateStaggerDuration = staggerDirection === 1\n ? function (i) {\n if (i === void 0) { i = 0; }\n return i * staggerChildren;\n }\n : function (i) {\n if (i === void 0) { i = 0; }\n return maxStaggerDuration - i * staggerChildren;\n };\n Array.from(visualElement.variantChildren)\n .sort(sortByTreeOrder)\n .forEach(function (child, i) {\n animations.push(animateVariant(child, variant, __assign(__assign({}, options), { delay: delayChildren + generateStaggerDuration(i) })).then(function () { return child.notifyAnimationComplete(variant); }));\n });\n return Promise.all(animations);\n}\nfunction stopAnimation(visualElement) {\n visualElement.forEachValue(function (value) { return value.stop(); });\n}\nfunction sortByTreeOrder(a, b) {\n return a.sortNodePosition(b);\n}\n/**\n * Decide whether we should block this animation. Previously, we achieved this\n * just by checking whether the key was listed in protectedKeys, but this\n * posed problems if an animation was triggered by afterChildren and protectedKeys\n * had been set to true in the meantime.\n */\nfunction shouldBlockAnimation(_a, key) {\n var protectedKeys = _a.protectedKeys, needsAnimating = _a.needsAnimating;\n var shouldBlock = protectedKeys.hasOwnProperty(key) && needsAnimating[key] !== true;\n needsAnimating[key] = false;\n return shouldBlock;\n}\n\nexport { animateVisualElement, sortByTreeOrder, stopAnimation };\n","import { __spreadArray, __read, __assign, __rest } from 'tslib';\nimport { isAnimationControls } from '../../animation/utils/is-animation-controls.js';\nimport { isKeyframesTarget } from '../../animation/utils/is-keyframes-target.js';\nimport { shallowCompare } from '../../utils/shallow-compare.js';\nimport { animateVisualElement } from './animation.js';\nimport { AnimationType } from './types.js';\nimport { isVariantLabels, resolveVariant, isVariantLabel } from './variants.js';\n\nvar variantPriorityOrder = [\n AnimationType.Animate,\n AnimationType.Hover,\n AnimationType.Tap,\n AnimationType.Drag,\n AnimationType.Focus,\n AnimationType.Exit,\n];\nvar reversePriorityOrder = __spreadArray([], __read(variantPriorityOrder)).reverse();\nvar numAnimationTypes = variantPriorityOrder.length;\nfunction animateList(visualElement) {\n return function (animations) {\n return Promise.all(animations.map(function (_a) {\n var animation = _a.animation, options = _a.options;\n return animateVisualElement(visualElement, animation, options);\n }));\n };\n}\nfunction createAnimationState(visualElement) {\n var animate = animateList(visualElement);\n var state = createState();\n var allAnimatedKeys = {};\n var isInitialRender = true;\n /**\n * This function will be used to reduce the animation definitions for\n * each active animation type into an object of resolved values for it.\n */\n var buildResolvedTypeValues = function (acc, definition) {\n var resolved = resolveVariant(visualElement, definition);\n if (resolved) {\n resolved.transition; var transitionEnd = resolved.transitionEnd, target = __rest(resolved, [\"transition\", \"transitionEnd\"]);\n acc = __assign(__assign(__assign({}, acc), target), transitionEnd);\n }\n return acc;\n };\n function isAnimated(key) {\n return allAnimatedKeys[key] !== undefined;\n }\n /**\n * This just allows us to inject mocked animation functions\n * @internal\n */\n function setAnimateFunction(makeAnimator) {\n animate = makeAnimator(visualElement);\n }\n /**\n * When we receive new props, we need to:\n * 1. Create a list of protected keys for each type. This is a directory of\n * value keys that are currently being \"handled\" by types of a higher priority\n * so that whenever an animation is played of a given type, these values are\n * protected from being animated.\n * 2. Determine if an animation type needs animating.\n * 3. Determine if any values have been removed from a type and figure out\n * what to animate those to.\n */\n function animateChanges(options, changedActiveType) {\n var _a;\n var props = visualElement.getProps();\n var context = visualElement.getVariantContext(true) || {};\n /**\n * A list of animations that we'll build into as we iterate through the animation\n * types. This will get executed at the end of the function.\n */\n var animations = [];\n /**\n * Keep track of which values have been removed. Then, as we hit lower priority\n * animation types, we can check if they contain removed values and animate to that.\n */\n var removedKeys = new Set();\n /**\n * A dictionary of all encountered keys. This is an object to let us build into and\n * copy it without iteration. Each time we hit an animation type we set its protected\n * keys - the keys its not allowed to animate - to the latest version of this object.\n */\n var encounteredKeys = {};\n /**\n * If a variant has been removed at a given index, and this component is controlling\n * variant animations, we want to ensure lower-priority variants are forced to animate.\n */\n var removedVariantIndex = Infinity;\n var _loop_1 = function (i) {\n var type = reversePriorityOrder[i];\n var typeState = state[type];\n var prop = (_a = props[type]) !== null && _a !== void 0 ? _a : context[type];\n var propIsVariant = isVariantLabel(prop);\n /**\n * If this type has *just* changed isActive status, set activeDelta\n * to that status. Otherwise set to null.\n */\n var activeDelta = type === changedActiveType ? typeState.isActive : null;\n if (activeDelta === false)\n removedVariantIndex = i;\n /**\n * If this prop is an inherited variant, rather than been set directly on the\n * component itself, we want to make sure we allow the parent to trigger animations.\n *\n * TODO: Can probably change this to a !isControllingVariants check\n */\n var isInherited = prop === context[type] && prop !== props[type] && propIsVariant;\n /**\n *\n */\n if (isInherited &&\n isInitialRender &&\n visualElement.manuallyAnimateOnMount) {\n isInherited = false;\n }\n /**\n * Set all encountered keys so far as the protected keys for this type. This will\n * be any key that has been animated or otherwise handled by active, higher-priortiy types.\n */\n typeState.protectedKeys = __assign({}, encounteredKeys);\n // Check if we can skip analysing this prop early\n if (\n // If it isn't active and hasn't *just* been set as inactive\n (!typeState.isActive && activeDelta === null) ||\n // If we didn't and don't have any defined prop for this animation type\n (!prop && !typeState.prevProp) ||\n // Or if the prop doesn't define an animation\n isAnimationControls(prop) ||\n typeof prop === \"boolean\") {\n return \"continue\";\n }\n /**\n * As we go look through the values defined on this type, if we detect\n * a changed value or a value that was removed in a higher priority, we set\n * this to true and add this prop to the animation list.\n */\n var shouldAnimateType = variantsHaveChanged(typeState.prevProp, prop) ||\n // If we're making this variant active, we want to always make it active\n (type === changedActiveType &&\n typeState.isActive &&\n !isInherited &&\n propIsVariant) ||\n // If we removed a higher-priority variant (i is in reverse order)\n (i > removedVariantIndex && propIsVariant);\n /**\n * As animations can be set as variant lists, variants or target objects, we\n * coerce everything to an array if it isn't one already\n */\n var definitionList = Array.isArray(prop) ? prop : [prop];\n /**\n * Build an object of all the resolved values. We'll use this in the subsequent\n * animateChanges calls to determine whether a value has changed.\n */\n var resolvedValues = definitionList.reduce(buildResolvedTypeValues, {});\n if (activeDelta === false)\n resolvedValues = {};\n /**\n * Now we need to loop through all the keys in the prev prop and this prop,\n * and decide:\n * 1. If the value has changed, and needs animating\n * 2. If it has been removed, and needs adding to the removedKeys set\n * 3. If it has been removed in a higher priority type and needs animating\n * 4. If it hasn't been removed in a higher priority but hasn't changed, and\n * needs adding to the type's protectedKeys list.\n */\n var _b = typeState.prevResolvedValues, prevResolvedValues = _b === void 0 ? {} : _b;\n var allKeys = __assign(__assign({}, prevResolvedValues), resolvedValues);\n var markToAnimate = function (key) {\n shouldAnimateType = true;\n removedKeys.delete(key);\n typeState.needsAnimating[key] = true;\n };\n for (var key in allKeys) {\n var next = resolvedValues[key];\n var prev = prevResolvedValues[key];\n // If we've already handled this we can just skip ahead\n if (encounteredKeys.hasOwnProperty(key))\n continue;\n /**\n * If the value has changed, we probably want to animate it.\n */\n if (next !== prev) {\n /**\n * If both values are keyframes, we need to shallow compare them to\n * detect whether any value has changed. If it has, we animate it.\n */\n if (isKeyframesTarget(next) && isKeyframesTarget(prev)) {\n if (!shallowCompare(next, prev)) {\n markToAnimate(key);\n }\n else {\n /**\n * If it hasn't changed, we want to ensure it doesn't animate by\n * adding it to the list of protected keys.\n */\n typeState.protectedKeys[key] = true;\n }\n }\n else if (next !== undefined) {\n // If next is defined and doesn't equal prev, it needs animating\n markToAnimate(key);\n }\n else {\n // If it's undefined, it's been removed.\n removedKeys.add(key);\n }\n }\n else if (next !== undefined && removedKeys.has(key)) {\n /**\n * If next hasn't changed and it isn't undefined, we want to check if it's\n * been removed by a higher priority\n */\n markToAnimate(key);\n }\n else {\n /**\n * If it hasn't changed, we add it to the list of protected values\n * to ensure it doesn't get animated.\n */\n typeState.protectedKeys[key] = true;\n }\n }\n /**\n * Update the typeState so next time animateChanges is called we can compare the\n * latest prop and resolvedValues to these.\n */\n typeState.prevProp = prop;\n typeState.prevResolvedValues = resolvedValues;\n /**\n *\n */\n if (typeState.isActive) {\n encounteredKeys = __assign(__assign({}, encounteredKeys), resolvedValues);\n }\n if (isInitialRender && visualElement.blockInitialAnimation) {\n shouldAnimateType = false;\n }\n /**\n * If this is an inherited prop we want to hard-block animations\n * TODO: Test as this should probably still handle animations triggered\n * by removed values?\n */\n if (shouldAnimateType && !isInherited) {\n animations.push.apply(animations, __spreadArray([], __read(definitionList.map(function (animation) { return ({\n animation: animation,\n options: __assign({ type: type }, options),\n }); }))));\n }\n };\n /**\n * Iterate through all animation types in reverse priority order. For each, we want to\n * detect which values it's handling and whether or not they've changed (and therefore\n * need to be animated). If any values have been removed, we want to detect those in\n * lower priority props and flag for animation.\n */\n for (var i = 0; i < numAnimationTypes; i++) {\n _loop_1(i);\n }\n allAnimatedKeys = __assign({}, encounteredKeys);\n /**\n * If there are some removed value that haven't been dealt with,\n * we need to create a new animation that falls back either to the value\n * defined in the style prop, or the last read value.\n */\n if (removedKeys.size) {\n var fallbackAnimation_1 = {};\n removedKeys.forEach(function (key) {\n var fallbackTarget = visualElement.getBaseTarget(key);\n if (fallbackTarget !== undefined) {\n fallbackAnimation_1[key] = fallbackTarget;\n }\n });\n animations.push({ animation: fallbackAnimation_1 });\n }\n var shouldAnimate = Boolean(animations.length);\n if (isInitialRender &&\n props.initial === false &&\n !visualElement.manuallyAnimateOnMount) {\n shouldAnimate = false;\n }\n isInitialRender = false;\n return shouldAnimate ? animate(animations) : Promise.resolve();\n }\n /**\n * Change whether a certain animation type is active.\n */\n function setActive(type, isActive, options) {\n var _a;\n // If the active state hasn't changed, we can safely do nothing here\n if (state[type].isActive === isActive)\n return Promise.resolve();\n // Propagate active change to children\n (_a = visualElement.variantChildren) === null || _a === void 0 ? void 0 : _a.forEach(function (child) { var _a; return (_a = child.animationState) === null || _a === void 0 ? void 0 : _a.setActive(type, isActive); });\n state[type].isActive = isActive;\n return animateChanges(options, type);\n }\n return {\n isAnimated: isAnimated,\n animateChanges: animateChanges,\n setActive: setActive,\n setAnimateFunction: setAnimateFunction,\n getState: function () { return state; },\n };\n}\nfunction variantsHaveChanged(prev, next) {\n if (typeof next === \"string\") {\n return next !== prev;\n }\n else if (isVariantLabels(next)) {\n return !shallowCompare(next, prev);\n }\n return false;\n}\nfunction createTypeState(isActive) {\n if (isActive === void 0) { isActive = false; }\n return {\n isActive: isActive,\n protectedKeys: {},\n needsAnimating: {},\n prevResolvedValues: {},\n };\n}\nfunction createState() {\n var _a;\n return _a = {},\n _a[AnimationType.Animate] = createTypeState(true),\n _a[AnimationType.Hover] = createTypeState(),\n _a[AnimationType.Tap] = createTypeState(),\n _a[AnimationType.Drag] = createTypeState(),\n _a[AnimationType.Focus] = createTypeState(),\n _a[AnimationType.Exit] = createTypeState(),\n _a;\n}\n\nexport { createAnimationState, variantPriorityOrder, variantsHaveChanged };\n","import { __read } from 'tslib';\nimport { useEffect, useContext } from 'react';\nimport { isAnimationControls } from '../../animation/utils/is-animation-controls.js';\nimport { usePresence } from '../../components/AnimatePresence/use-presence.js';\nimport { PresenceContext } from '../../context/PresenceContext.js';\nimport { createAnimationState } from '../../render/utils/animation-state.js';\nimport { AnimationType } from '../../render/utils/types.js';\nimport { makeRenderlessComponent } from '../utils/make-renderless-component.js';\n\nvar animations = {\n animation: makeRenderlessComponent(function (_a) {\n var visualElement = _a.visualElement, animate = _a.animate;\n /**\n * We dynamically generate the AnimationState manager as it contains a reference\n * to the underlying animation library. We only want to load that if we load this,\n * so people can optionally code split it out using the `m` component.\n */\n visualElement.animationState || (visualElement.animationState = createAnimationState(visualElement));\n /**\n * Subscribe any provided AnimationControls to the component's VisualElement\n */\n if (isAnimationControls(animate)) {\n useEffect(function () { return animate.subscribe(visualElement); }, [animate]);\n }\n }),\n exit: makeRenderlessComponent(function (props) {\n var custom = props.custom, visualElement = props.visualElement;\n var _a = __read(usePresence(), 2), isPresent = _a[0], onExitComplete = _a[1];\n var presenceContext = useContext(PresenceContext);\n useEffect(function () {\n var _a, _b;\n var animation = (_a = visualElement.animationState) === null || _a === void 0 ? void 0 : _a.setActive(AnimationType.Exit, !isPresent, { custom: (_b = presenceContext === null || presenceContext === void 0 ? void 0 : presenceContext.custom) !== null && _b !== void 0 ? _b : custom });\n !isPresent && (animation === null || animation === void 0 ? void 0 : animation.then(onExitComplete));\n }, [isPresent]);\n }),\n};\n\nexport { animations };\n","var isPoint = function (point) {\n return point.hasOwnProperty('x') && point.hasOwnProperty('y');\n};\n\nexport { isPoint };\n","import { isPoint } from './is-point.js';\n\nvar isPoint3D = function (point) {\n return isPoint(point) && point.hasOwnProperty('z');\n};\n\nexport { isPoint3D };\n","import { isPoint } from './is-point.js';\nimport { isPoint3D } from './is-point-3d.js';\nimport { isNum } from './inc.js';\n\nvar distance1D = function (a, b) { return Math.abs(a - b); };\nfunction distance(a, b) {\n if (isNum(a) && isNum(b)) {\n return distance1D(a, b);\n }\n else if (isPoint(a) && isPoint(b)) {\n var xDelta = distance1D(a.x, b.x);\n var yDelta = distance1D(a.y, b.y);\n var zDelta = isPoint3D(a) && isPoint3D(b) ? distance1D(a.z, b.z) : 0;\n return Math.sqrt(Math.pow(xDelta, 2) + Math.pow(yDelta, 2) + Math.pow(zDelta, 2));\n }\n}\n\nexport { distance };\n","import { __assign } from 'tslib';\nimport { isMouseEvent, isTouchEvent } from './utils/event-type.js';\nimport { extractEventInfo } from '../events/event-info.js';\nimport sync, { getFrameData, cancelSync } from 'framesync';\nimport { secondsToMilliseconds } from '../utils/time-conversion.js';\nimport { addPointerEvent } from '../events/use-pointer-event.js';\nimport { distance, pipe } from 'popmotion';\n\n/**\n * @internal\n */\nvar PanSession = /** @class */ (function () {\n function PanSession(event, handlers, _a) {\n var _this = this;\n var _b = _a === void 0 ? {} : _a, transformPagePoint = _b.transformPagePoint;\n /**\n * @internal\n */\n this.startEvent = null;\n /**\n * @internal\n */\n this.lastMoveEvent = null;\n /**\n * @internal\n */\n this.lastMoveEventInfo = null;\n /**\n * @internal\n */\n this.handlers = {};\n this.updatePoint = function () {\n if (!(_this.lastMoveEvent && _this.lastMoveEventInfo))\n return;\n var info = getPanInfo(_this.lastMoveEventInfo, _this.history);\n var isPanStarted = _this.startEvent !== null;\n // Only start panning if the offset is larger than 3 pixels. If we make it\n // any larger than this we'll want to reset the pointer history\n // on the first update to avoid visual snapping to the cursoe.\n var isDistancePastThreshold = distance(info.offset, { x: 0, y: 0 }) >= 3;\n if (!isPanStarted && !isDistancePastThreshold)\n return;\n var point = info.point;\n var timestamp = getFrameData().timestamp;\n _this.history.push(__assign(__assign({}, point), { timestamp: timestamp }));\n var _a = _this.handlers, onStart = _a.onStart, onMove = _a.onMove;\n if (!isPanStarted) {\n onStart && onStart(_this.lastMoveEvent, info);\n _this.startEvent = _this.lastMoveEvent;\n }\n onMove && onMove(_this.lastMoveEvent, info);\n };\n this.handlePointerMove = function (event, info) {\n _this.lastMoveEvent = event;\n _this.lastMoveEventInfo = transformPoint(info, _this.transformPagePoint);\n // Because Safari doesn't trigger mouseup events when it's above a ` hoursRef.current.focus()}\n\t\t\tstyle={style}\n\t\t\tclassName={className}\n\t\t\tsize={size}\n\t\t\tprefix={prefix}\n\t\t\tsuffix={suffixSlot}\n\t\t\tfield={field}\n\t\t\tform={form}\n\t\t\t{...rest}\n\t\t>\n\t\t\t
\n\t\t\t\t setTime((current) => ({ ...current, hours: val }))}\n\t\t\t\t\tid={uuid}\n\t\t\t\t\tclassName={timeFieldClass}\n\t\t\t\t\twithSeparator\n\t\t\t\t\tsize={size}\n\t\t\t\t\tmax={format === '12' ? 12 : 23}\n\t\t\t\t\tplaceholder={timeFieldPlaceholder}\n\t\t\t\t\taria-label=\"hours\"\n\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\tname={name}\n\t\t\t\t/>\n\t\t\t\t setTime((current) => ({ ...current, minutes: val }))}\n\t\t\t\t\tclassName={timeFieldClass}\n\t\t\t\t\twithSeparator={showSeconds}\n\t\t\t\t\tsize={size}\n\t\t\t\t\tmax={59}\n\t\t\t\t\tplaceholder={timeFieldPlaceholder}\n\t\t\t\t\taria-label=\"minutes\"\n\t\t\t\t\tdisabled={disabled}\n\t\t\t\t/>\n\t\t\t\t{showSeconds && (\n\t\t\t\t\t setTime((current) => ({ ...current, seconds: val }))}\n\t\t\t\t\t\tclassName={timeFieldClass}\n\t\t\t\t\t\tsize={size}\n\t\t\t\t\t\tmax={59}\n\t\t\t\t\t\tplaceholder={timeFieldPlaceholder}\n\t\t\t\t\t\taria-label=\"seconds\"\n\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t\t{format === '12' && (\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t
\n\t\t\n\t)\n})\n\nTimeInput.defaultProps = {\n\tshowSeconds: false,\n\tclearable: true,\n\tformat: '24',\n\tamLabel: 'am',\n\tpmLabel: 'pm',\n\ttimeFieldPlaceholder: '--',\n\tamPmPlaceholder: 'am',\n\tdisabled: false\n}\n\nexport default TimeInput","import dayjs from 'dayjs'\n\nexport function getDate(\n hours,\n minutes,\n seconds,\n format,\n pmLabel,\n amPm\n) {\n const date = dayjs();\n let _hours = parseInt(hours, 10);\n const _minutes = parseInt(minutes, 10);\n const _seconds = parseInt(seconds, 10);\n\n if (Number.isNaN(_hours)) {\n _hours = 0;\n }\n\n if (format === '12') {\n _hours %= 12;\n if (amPm === pmLabel) {\n _hours += 12;\n }\n }\n\n return date\n .hour(_hours)\n .minute(Number.isNaN(_minutes) ? 0 : _minutes)\n .second(Number.isNaN(_seconds) ? 0 : _seconds)\n .millisecond(0)\n .toDate()\n}","export function createAmPmHandler({ amLabel, pmLabel, onChange, nextRef }) {\n return (value, triggerShift) => {\n const testRegex = new RegExp(`(^(${amLabel}|${pmLabel})?$)`)\n const valLower = value.toLowerCase()\n\n if (valLower === amLabel || valLower === pmLabel) {\n onChange(valLower)\n triggerShift && nextRef?.current?.focus()\n triggerShift && nextRef?.current?.select()\n return\n }\n\n if (!testRegex.test(valLower)) {\n return\n }\n\n onChange(valLower)\n }\n}","import React, { useState, useRef, forwardRef } from 'react'\nimport useUniqueId from '../hooks/useUniqueId'\nimport useMergedRef from '../hooks/useMergeRef'\nimport useDidUpdate from '../hooks/useDidUpdate'\nimport TimeInput from './TimeInput'\nimport CloseButton from '../CloseButton'\nimport { HiOutlineClock } from 'react-icons/hi'\nimport Input from '../Input'\n\nconst TimeInputRange = forwardRef((props, ref) => {\n\n const {\n invalid,\n\t\tclassName,\n\t\tstyle,\n\t\tsize,\n\t\tid,\n\t\tvalue,\n\t\tdefaultValue,\n\t\tonChange,\n\t\tshowSeconds,\n\t\tclearable,\n\t\tformat,\n\t\tamLabel,\n\t\tpmLabel,\n\t\tname,\n\t\ttimeFieldPlaceholder,\n\t\tamPmPlaceholder,\n seperator,\n\t\tdisabled,\n\t\tnextRef,\n\t\tfield,\n\t\tform,\n\t\ttimeFieldClass,\n\t\tprefix,\n\t\tsuffix = ,\n ...rest\n } = props\n\n const uuid = useUniqueId(id)\n\n const fromTimeRef = useRef()\n const toTimeRef = useRef()\n const [_value, setValue] = useState(value ?? defaultValue)\n\n useDidUpdate(() => {\n typeof onChange === 'function' && onChange(_value)\n }, [_value])\n\n useDidUpdate(() => {\n if (\n value[0]?.getTime() !== _value[0]?.getTime() ||\n value[1]?.getTime() !== _value[1]?.getTime()\n ) {\n setValue(value)\n }\n }, [value])\n\n const handleClear = () => {\n setValue([null, null]);\n fromTimeRef.current?.focus();\n }\n\n const suffixSlot = (clearable && _value) ? : <>{suffix}\n\n const forwardProps = {\n amPmPlaceholder,\n disabled,\n format,\n size,\n timeFieldPlaceholder,\n showSeconds,\n }\n\n return (\n {\n fromTimeRef.current?.focus();\n }}\n size={size}\n className={className}\n style={style}\n disabled={disabled}\n suffix={suffixSlot}\n prefix={prefix}\n {...rest}\n >\n
\n setValue([date, _value[1]])}\n name={name}\n nextRef={toTimeRef}\n id={uuid}\n clearable={false}\n suffix={null}\n {...forwardProps}\n />\n\n \n {seperator}\n \n\n setValue([_value[0], date])}\n clearable={false}\n suffix={null}\n {...forwardProps}\n />\n
\n \n )\n})\n\nTimeInputRange.defaultProps = {\n defaultValue: [null, null],\n showSeconds: false,\n clearable: false,\n format: '24',\n timeFieldPlaceholder: '--',\n amPmPlaceholder: 'am',\n seperator: '~',\n disabled: false,\n}\n\nexport default TimeInputRange","import TimeInput from './TimeInput'\nimport TimeInputRange from './TimeInputRange'\n\nTimeInput.TimeInputRange = TimeInputRange\n\nexport default TimeInput","import { forwardRef, useEffect, useRef, useState } from 'react'\nimport dayjs from 'dayjs'\nimport useControllableState from '../hooks/useControllableState'\nimport useMergedRef from '../hooks/useMergeRef'\nimport capitalize from '../utils/capitalize'\nimport TimeInput from '../TimeInput'\nimport Calendar from './Calendar'\nimport BasePicker from './BasePicker'\nimport Button from '../Buttons'\nimport { useConfig } from '../ConfigProvider'\n\nconst DEFAULT_INPUT_FORMAT = 'DD-MMM-YYYY hh:mm a'\n\nconst DateTimepicker = forwardRef((props, ref) => {\n\n\tconst {\n\t\tamPm,\n\t\tclassName,\n\t\tclearable,\n\t\tclearButtonLabel,\n\t\tclosePickerOnChange,\n\t\tdateViewCount,\n\t\tdayClassName,\n\t\tdayStyle,\n\t\tdefaultMonth,\n\t\tdefaultOpen,\n\t\tdefaultValue,\n\t\tdefaultView,\n\t\tdisabled,\n\t\tdisableDate,\n\t\tenableHeaderLabel,\n\t\tdisableOutOfMonth,\n\t\tfirstDayOfWeek,\n\t\thideOutOfMonthDates,\n\t\thideWeekdays,\n\t\tinputFormat,\n\t\tinputPrefix,\n\t\tinputSuffix,\n\t\tinputtable,\n\t\tlabelFormat,\n\t\tlocale,\n\t\tmaxDate,\n\t\tminDate,\n\t\tname,\n\t\tokButtonContent,\n\t\tonBlur,\n\t\tonChange,\n\t\tonFocus,\n\t\tonDropdownClose,\n\t\tonDropdownOpen,\n\t\topenPickerOnClear,\n\t\trenderDay,\n\t\tsize,\n\t\tstyle,\n\t\tvalue,\n\t\tweekendDays,\n\t\tyearLabelFormat,\n\t\t...rest\n\t} =props\n\n\tconst { locale: themeLocale } = useConfig()\n\n\tconst finalLocale = locale || themeLocale\n\n\tconst dateFormat = inputFormat || DEFAULT_INPUT_FORMAT\n\n\tconst [dropdownOpened, setDropdownOpened] = useState(defaultOpen)\n\n\tconst inputRef = useRef()\n\n\t// eslint-disable-next-line no-unused-vars\n\tconst [_, setLastValidValue] = useState(defaultValue ?? null)\n\tconst [_value, setValue] = useControllableState({\n\t\tprop: value,\n\t\tdefaultProp: defaultValue,\n\t\tonChange,\n\t})\n\n\tconst [calendarMonth, setCalendarMonth] = useState(\n\t\t_value || defaultMonth || new Date()\n\t)\n\n\tconst [focused, setFocused] = useState(false)\n\tconst [inputState, setInputState] = useState(\n\t\t_value instanceof Date\n\t\t\t? capitalize(dayjs(_value).locale(finalLocale).format(dateFormat))\n\t\t\t: ''\n\t)\n\n\tconst closeDropdown = () => {\n\t\tsetDropdownOpened(false)\n\t\tonDropdownClose?.()\n\t}\n\n\tconst openDropdown = () => {\n\t\tsetDropdownOpened(true)\n\t\tonDropdownOpen?.()\n\t}\n\n\tuseEffect(() => {\n\t\tif (value === null && !focused) {\n\t\t\tsetInputState('')\n\t\t}\n\n\t\tif (value instanceof Date && !focused) {\n\t\t\tsetInputState(dayjs(value).locale(finalLocale).format(dateFormat))\n\t\t}\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [value, focused])\n\n\tconst handleValueChange = (date) => {\n\t\tif (_value) {\n\t\t\tdate.setHours(_value.getHours())\n\t\t\tdate.setMinutes(_value.getMinutes())\n\t\t} else {\n\t\t\tconst now = new Date(Date.now())\n\t\t\tdate.setHours(now.getHours())\n\t\t\tdate.setMinutes(now.getMinutes())\n\t\t}\n\t\tsetValue(date)\n\t\tif (!value && !closePickerOnChange) {\n\t\t\tsetInputState(dayjs(date).locale(finalLocale).format(dateFormat))\n\t\t}\n\t\tclosePickerOnChange &&\n\t\t\tsetInputState(\n\t\t\t\tcapitalize(dayjs(date).locale(finalLocale).format(dateFormat))\n\t\t\t)\n\t\tclosePickerOnChange && closeDropdown()\n\t\twindow.setTimeout(() => inputRef.current?.focus(), 0)\n\t}\n\n\tconst handleClear = () => {\n\t\tsetValue(null)\n\t\tsetLastValidValue(null)\n\t\tsetInputState('')\n\t\topenPickerOnClear && openDropdown()\n\t\tinputRef.current?.focus()\n\t\tonChange?.(null)\n\t}\n\n\tconst parseDate = (date) => dayjs(date, dateFormat, finalLocale).toDate()\n\n const handleInputBlur = (e) => {\n\t\ttypeof onBlur === \"function\" && onBlur(e)\n\t\tsetFocused(false)\n }\n\n const handleInputFocus = (e) => {\n\t\ttypeof onFocus === \"function\" && onFocus(e)\n\t\tsetFocused(true)\n }\n\n const handleChange = (e) => {\n\t\topenDropdown()\n\n\t\tconst date = parseDate(e.target.value)\n\t\tif (dayjs(date).isValid()) {\n\t\t\tsetValue(date)\n\t\t\tsetLastValidValue(date)\n\t\t\tclosePickerOnChange && setInputState(e.target.value)\n\t\t\tsetCalendarMonth(date)\n\t\t} else {\n\t\t\tclosePickerOnChange && setInputState(e.target.value)\n\t\t}\n }\n\n\tconst handleTimeChange = (time) => {\n\t\tconst newDateTime = new Date(\n\t\t\t_value.getFullYear(),\n\t\t\t_value.getMonth(),\n\t\t\t_value.getDate(),\n\t\t\ttime.getHours(),\n\t\t\ttime.getMinutes(),\n\t\t\ttime.getSeconds(),\n\t\t\ttime.getMilliseconds()\n\t\t)\n\t\tsetValue(newDateTime)\n\n\t\tif (!value && !closePickerOnChange) {\n\t\t\tsetInputState(\n\t\t\t\tcapitalize(dayjs(newDateTime).locale(finalLocale).format(dateFormat))\n\t\t\t)\n\t\t}\n\n\t\tclosePickerOnChange &&\n\t\tsetInputState(\n\t\t\tcapitalize(dayjs(newDateTime).locale(finalLocale).format(dateFormat))\n\t\t)\n\t\tclosePickerOnChange && closeDropdown()\n\t}\n\n\n\tconst handleOk = () => {\n\t\tsetInputState(\n\t\t\tcapitalize(dayjs(_value).locale(finalLocale).format(dateFormat))\n\t\t)\n\t\tcloseDropdown()\n\t\twindow.setTimeout(() => inputRef.current?.focus(), 0)\n\t\tonChange?.(_value)\n\t}\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t\n\t)\n})\n\nDateTimepicker.defaultProps = {\n\tclosePickerOnChange: false,\n\tlabelFormat: {\n\t\tmonth: 'MMM',\n\t\tyear: 'YYYY'\n\t},\n\tdefaultOpen: false,\n\tname: 'dateTime',\n\tclearable: true,\n\tdisabled: false,\n\tfirstDayOfWeek: 'monday',\n\tokButtonContent: 'OK',\n\tamPm: true\n}\n\nexport default DateTimepicker","import DatePicker from './DatePicker'\nimport DatePickerRange from './DatePickerRange'\nimport DateTimepicker from './DateTimepicker'\nimport Calendar from './Calendar'\nimport RangeCalendar from './RangeCalendar'\n\nDatePicker.DatePickerRange = DatePickerRange\nDatePicker.DateTimepicker = DateTimepicker\n\nexport { Calendar, RangeCalendar }\n\nexport default DatePicker","import { createContext } from 'react'\n\nconst MenuContext = createContext()\n\nexport const MenuContextProvider = MenuContext.Provider\n\nexport const MenuContextConsumer = MenuContext.Consumer\n\nexport default MenuContext;","import React from 'react'\nimport classNames from 'classnames'\nimport { MenuContextProvider } from './context/menuContext'\nimport { useConfig } from '../ConfigProvider'\nimport PropTypes from 'prop-types'\n\nconst Menu = React.forwardRef((props, ref) => {\n\n\tconst {\n\t\tchildren, \n\t\tclassName,\n\t\tdefaultActiveKeys,\n\t\tdefaultExpandedKeys,\n\t\tmenuItemHeight,\n\t\tonSelect,\n\t\tsideCollapsed,\n\t\tvariant,\n\t\t...rest\n\t} = props\n\n\tconst menuDefaultClass = 'menu'\n\n\tconst { themeColor, primaryColorLevel } = useConfig()\n\n\tconst menuColor = () => {\n\t\tif(variant === 'themed') {\n\t\t\treturn `bg-${themeColor}-${primaryColorLevel} ${menuDefaultClass}-${variant}`\n\t\t}\n\t\treturn `${menuDefaultClass}-${variant}`\n\t}\n\n\tconst menuClass = classNames(\n\t\tmenuDefaultClass,\n\t\tmenuColor(),\n\t\tclassName\n\t)\n\n\treturn (\n\t\t\n\t\t\n\t)\n})\n\nMenu.propTypes = {\n\tmenuItemHeight: PropTypes.oneOfType([\n\t\tPropTypes.string,\n\t\tPropTypes.number\n\t]),\n\tvariant: PropTypes.oneOf(['light', 'dark', 'themed', 'transparent']),\n\tsideCollapsed: PropTypes.bool,\n\tdefaultExpandedKeys: PropTypes.arrayOf(PropTypes.string),\n\tdefaultActiveKeys: PropTypes.arrayOf(PropTypes.string)\n}\n\nMenu.defaultProps = {\n\tmenuItemHeight: 40,\n\tvariant: 'light',\n\tsideCollapsed: false,\n\tdefaultExpandedKeys: [],\n\tdefaultActiveKeys: []\n}\n \n\nexport default Menu\n","import { createContext } from 'react'\n\nconst GroupContext = createContext()\n\nexport const GroupContextProvider = GroupContext.Provider\n\nexport const GroupContextConsumer = GroupContext.Consumer\n\nexport default GroupContext;","import { createContext } from 'react'\n\nconst CollapseContext = createContext()\n\nexport const CollapseContextProvider = CollapseContext.Provider\n\nexport const CollapseContextConsumer = CollapseContext.Consumer\n\nexport default CollapseContext;","import React from 'react'\nimport classNames from 'classnames'\nimport PropTypes from 'prop-types';\n\nconst MenuItem = React.forwardRef((props, ref) => {\n\n\tconst {\n\t\tasElement: Component,\n\t\tchildren, \n\t\tclassName,\n\t\tdisabled, \n\t\teventKey,\n\t\tisActive,\n\t\tmenuItemHeight,\n\t\tonSelect,\n\t\tstyle,\n\t\tvariant,\n\t\t...rest\n\t} = props\n\t\n\tconst menuItemActiveClass = `menu-item-active`\n\tconst menuItemHoverClass = `menu-item-hoverable`\n\tconst disabledClass = 'menu-item-disabled'\n\tconst menuItemClass = classNames(\n\t\t'menu-item',\n\t\t`menu-item-${variant}`,\n\t\tisActive && menuItemActiveClass,\n\t\tdisabled && disabledClass,\n\t\t(!disabled) && menuItemHoverClass,\n\t\tclassName\n\t)\n\n\tconst hanldeOnClick = e => {\n\t\tif(onSelect) {\n\t\t\tonSelect(eventKey, e)\n\t\t}\n\t}\n\t\n\treturn (\n\t\t\n\t\t\t{children}\n\t\t\n\t)\n})\n\nMenuItem.defaultProps = {\n\tasElement: 'div',\n\tmenuItemHeight: 35,\n\tvariant: 'light'\n}\n\nMenuItem.propTypes = {\n\tasElement: PropTypes.string,\n\tmenuItemHeight: PropTypes.number,\n\tdisabled: PropTypes.bool,\n\tisActive: PropTypes.bool,\n\teventKey: PropTypes.string,\n\tvariant: PropTypes.oneOf(['light', 'dark', 'themed', 'transparent']),\n}\n\nexport default MenuItem","import React from 'react'\nimport PropTypes from 'prop-types'\nimport { MenuContextConsumer } from './context/menuContext'\nimport { GroupContextConsumer } from './context/groupContext'\nimport { CollapseContextConsumer } from './context/collapseContext'\nimport Item from '../MenuItem'\n\nconst MenuItem = props => {\n\n\n\tconst { eventKey, ...rest } = props\n\n\treturn(\n\t\t\n\t\t\t{\n\t\t\t\tcontext => (\n\t\t\t\t\t\n\t\t\t\t\t\t{() => (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{() => (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\n\t\t\t\t)\n\t\t\t}\n\t\t\n\t)\n}\n\nMenuItem.propTypes = {\n\tdisabled: PropTypes.bool,\n\teventKey: PropTypes.string,\n}\n\nexport default MenuItem\n","import React, { useState, useEffect, useContext } from 'react'\nimport PropTypes from 'prop-types'\nimport { useConfig } from '../ConfigProvider'\nimport { CollapseContextProvider } from './context/collapseContext'\nimport classNames from 'classnames'\nimport { motion } from 'framer-motion'\nimport MenuContext from './context/menuContext'\nimport { HiChevronDown } from 'react-icons/hi'\n\nconst MenuCollapse = props => {\n\n\tconst { \n\t\tchildren, \n\t\tclassName,\n\t\teventKey,\n\t\texpanded,\n\t\tlabel,\n\t\tonToggle, \n\t} = props\n\n\tconst [ isExpanded, setIsExpanded ] = useState(expanded)\n\n\tconst { menuItemHeight, variant, sideCollapsed, defaultExpandedKeys } = useContext(MenuContext)\n\n\tconst { direction } = useConfig()\n\n\tuseEffect(() => {\n\t\tif(defaultExpandedKeys.includes(eventKey)) {\n\t\t\tsetIsExpanded(true)\n\t\t}\n\t\tif (expanded !== isExpanded) {\n\t\t\tsetIsExpanded(true)\n\t\t}\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [expanded, onToggle, eventKey, defaultExpandedKeys])\n\n\tconst toggleCollapse = e => {\n if (typeof onToggle === 'function') {\n onToggle(!isExpanded, e)\n }\n\t\tsetIsExpanded(!isExpanded)\n }\n\n\tconst getChildrenHeight = () => {\n\t\tlet height = 0\n\t\tif (isExpanded && children && children.length) {\n\t\t\theight = children.length * menuItemHeight\n\t\t}\n\t\tif (isExpanded && children && !children.length) {\n\t\t\theight = menuItemHeight\n\t\t}\n\t\treturn height\n\t}\n\t\n\tconst menuCollapseItemClass = classNames(\n\t\t'menu-collapse-item',\n\t\t`menu-collapse-item-${variant}`,\n\t\tclassName,\n\t)\n\n\treturn (\n\t\t
\n\t\t\t
\n\t\t\t\t{label}\n\t\t\t\t\n\t\t\t\t\t{sideCollapsed ? null : }\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t\t\t \n\t\t\t\t\t{children}\n\t\t\t\t\n\t\t\t\n\t\t
\n\t)\n}\n\nMenuCollapse.propTypes = {\n\texpanded: PropTypes.bool,\n\tonToggle: PropTypes.func,\n\tlabel: PropTypes.oneOfType([\n\t\tPropTypes.string,\n\t\tPropTypes.node\n\t]),\n\tchildren: PropTypes.node,\n\tclassName: PropTypes.string\n}\n\nMenuCollapse.defaultProps = {\n\texpanded: false,\n\tlabel: null\n}\n\nexport default MenuCollapse\n","import React, { useContext } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\nimport { GroupContextProvider } from './context/groupContext'\nimport MenuContext from './context/menuContext'\nimport useUniqueId from '../hooks/useUniqueId'\n\nconst MenuGroup = props => {\n\n\tconst { label, children, className } = props\n\n\tconst { variant, sideCollapsed } = useContext(MenuContext)\n\n\tconst menuGroupDefaultClass = 'menu-group'\n\tconst menuGroupClass = classNames(\n\t\tmenuGroupDefaultClass,\n\t\tclassName\n\t)\n\n\tconst entityHeaderId = useUniqueId('entity-header-')\n\n\treturn (\n\t\t
\n\t\t\t{\n\t\t\t\t(label && !sideCollapsed) && (\n\t\t\t\t\t
\n\t\t\t\t\t\t{label}\n\t\t\t\t\t
\n\t\t\t\t)\n\t\t\t}\n\t\t\t\n\t\t\t\t
    \n\t\t\t\t\t{children}\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t)\n}\n\nMenuGroup.propTypes = {\n\tlabel: PropTypes.oneOfType([\n\t\tPropTypes.string,\n\t\tPropTypes.node\n\t]),\n\tchildren: PropTypes.node,\n\tclassName: PropTypes.string\n}\n\nMenuGroup.defaultProps = {\n\tlabel: null\n}\n\nexport default MenuGroup\n","import Menu from './Menu'\nimport MenuItem from './MenuItem'\nimport MenuCollapse from './MenuCollapse'\nimport MenuGroup from './MenuGroup'\n\nMenu.MenuItem = MenuItem\nMenu.MenuCollapse = MenuCollapse\nMenu.MenuGroup = MenuGroup\n\nexport default Menu"," \nimport React from 'react'\n\nconst MenuContext = React.createContext(null)\n\nexport const MenuContextProvider = MenuContext.Provider\n\nexport default MenuContext","import { useRef } from 'react'\n\nexport default function useUncertainRef(ref) {\n const newRef = useRef()\n\n if (ref) {\n return ref\n }\n\n return newRef\n}","import { createContext, useState, useRef, useCallback } from 'react'\nimport isNil from 'lodash/isNil'\n\nconst DropdownMenuContext = createContext()\n\nexport const DropdownMenuContextProvider = DropdownMenuContext.Provider\n\nexport const DropdownMenuContextConsumer = DropdownMenuContext.Consumer\n\nexport function useDropdownMenuContext (menuRef) {\n\n\tconst [open, setOpen] = useState(false)\n\n\tconst [items, setItems] = useState([])\n\tconst [activeItemIndex, setActiveItemIndex] = useState(null)\n\tconst previousActiveElementRef = useRef(null)\n\n\tconst registerItem = useCallback((element, props) => {\n\t\tsetItems(items => [...items, { element, props }])\n\t}, [])\n\n\tconst unregisterItem = useCallback((id) => {\n\t\tsetItems(items => items.filter(item => item.element.id !== id))\n\t}, [])\n\n\tconst focusSelf = useCallback(() => {\n\t\trequestAnimationFrame(() => {\n\t\t\tif (document.activeElement !== menuRef.current) {\n\t\t\t\tpreviousActiveElementRef.current = document.activeElement\n\t\t\t\tmenuRef.current?.focus()\n\t\t\t}\n\t\t})\n\t}, [menuRef])\n\n\tconst focusItem = useCallback(\n\t\t(item) => {\n\t\t\tconst itemIndex = items.indexOf(item)\n\t\t\tif (itemIndex !== -1) {\n\t\t\t\tsetActiveItemIndex(itemIndex)\n\t\t\t\tfocusSelf()\n\t\t\t}\n\t\t},\n\t\t[items, focusSelf]\n\t)\n\n\tconst lookupNextActiveItemIndex = useCallback((start, direction) => {\n\t\tfor (let i = start; i > -1 && i < items.length; i += direction) {\n\t\t\tif (!items[i].props?.disabled) {\n\t\t\t\treturn i\n\t\t\t}\n\t\t}\n\t\treturn null\n\t}, [items])\n\n\tconst focusItemAt = useCallback((index) => {\n\t\tif (isNil(index)) {\n\t\t\tsetActiveItemIndex(null)\n\t\t\tfocusSelf()\n\t\t} else {\n\t\t\tlet activeItemIndex\n\t\t\tif (index === 0) {\n\t\t\t\tactiveItemIndex = lookupNextActiveItemIndex(0, 1)\n\t\t\t} else if (index === -1) {\n\t\t\t\tactiveItemIndex = lookupNextActiveItemIndex(items.length - 1, -1)\n\t\t\t}\n\n\t\t\tif (!isNil(activeItemIndex)) {\n\t\t\t\tfocusItem(items[activeItemIndex])\n\t\t\t}\n\t\t}\n\t}, [items, focusItem, focusSelf, lookupNextActiveItemIndex])\n\n\tconst openMenu = useCallback(() => {\n\t\tsetOpen(true)\n\t\tfocusSelf()\n\t}, [focusSelf])\n\n\tconst closeMenu = useCallback(() => {\n\t\tsetOpen(false)\n\t\tsetActiveItemIndex(null)\n\t\trequestAnimationFrame(() => {\n\t\t\tpreviousActiveElementRef.current?.focus()\n\t\t})\n\t}, [])\n \n return (\n\t\t{\n\t\t\topen,\n\t\t\titems,\n\t\t\tactiveItemIndex,\n\t\t\tregisterItem,\n\t\t\tunregisterItem,\n\t\t\tfocusItemAt,\n\t\t\topenMenu,\n\t\t\tcloseMenu\n\t\t}\n )\n}\n\nexport default DropdownMenuContext","import React, { useContext } from 'react'\nimport {MenuContextProvider} from './context/menuContext'\nimport useUncertainRef from '../hooks/useUncertainRef'\nimport DropdownMenuContext, { useDropdownMenuContext, DropdownMenuContextProvider } from './context/dropdownMenuContext'\nimport useUniqueId from '../hooks/useUniqueId'\nimport { motion, AnimatePresence } from 'framer-motion'\n\nconst Menu = React.forwardRef(( props, ref ) => {\n\n\tconst { children, classPrefix, activeKey, onSelect, onKeyDown, hidden, placement, menuClass, ...rest } = props\n\n\tconst menuRef = useUncertainRef(ref)\n const menuId = useUniqueId('menu-')\n const upperMenuControl = useContext(DropdownMenuContext)\n const menuControl = useDropdownMenuContext(menuRef, upperMenuControl)\n\t\n\tconst getTransform = (deg) => {\n\t\tlet rotate = `rotateX(${deg}deg)`\n\t\tif(placement && placement.includes('center')) {\n\t\t\treturn `${rotate} translateX(-50%)`\n\t\t}\n\t\treturn rotate\n\t}\n\n\tconst enterStyle = { opacity: 1, visibility: 'visible', transform: getTransform(0)}\n\tconst exitStyle = { opacity: 0, visibility: 'hidden', transform: getTransform(40)}\n\tconst initialStyle = exitStyle\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{!hidden && (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\n\t\t\t\n\t\t\n\t)\n})\n\nexport default Menu\n","import { createContext } from 'react'\n\nconst DropdownContext = createContext()\n\nexport const DropdownContextProvider = DropdownContext.Provider\n\nexport const DropdownContextConsumer = DropdownContext.Consumer\n\nexport default DropdownContext","import React, { useContext, useCallback, useEffect, useRef } from 'react'\nimport PropTypes from 'prop-types'\nimport isNil from 'lodash/isNil'\nimport chainedFunction from '../utils/chainedFunction'\nimport DropdownContext from './context/dropdownContext' \nimport MenuContext from './context/menuContext'\nimport useUncertainRef from '../hooks/useUncertainRef'\nimport useUniqueId from '../hooks/useUniqueId'\nimport { useConfig } from '../ConfigProvider'\nimport DropdownMenuContext, { useDropdownMenuContext, DropdownMenuContextProvider } from './context/dropdownMenuContext'\nimport classNames from 'classnames'\nimport { HiChevronRight } from 'react-icons/hi'\nimport MenuItem from '../MenuItem'\nimport { DROPDOWN_ITEM_TYPE } from '../utils/constant'\n\nconst { DEFAULT, DIVIDER, HEADER, CUSTOM } = DROPDOWN_ITEM_TYPE\n\nconst DropdownItem = React.forwardRef((props, ref) => {\n\n\tconst {\n\t\tasElement: Component,\n\t\tchildren,\n\t\tactive: activeProp,\n\t\tdisabled,\n\t\tclassName,\n\t\tsubmenu,\n\t\tstyle,\n\t\teventKey,\n\t\tonClick,\n\t\tonSelect,\n\t\tvariant,\n\t\t...rest\n\t} = props\n\n\tconst { mode } = useConfig()\n\n\tconst menuitemRef = useUncertainRef(ref)\n const menuitemId = useUniqueId('menu-item-')\n const submenuRef = useRef()\n\n\tconst dropdown = useContext(DropdownContext)\n const menu = useContext(MenuContext)\n const menuControl = useContext(DropdownMenuContext)\n const submenuControl = useDropdownMenuContext(submenuRef)\n\n const open = submenuControl.open\n\n\tconst active = activeProp || (!isNil(menu?.activeKey) && menu.activeKey === eventKey) || (!isNil(dropdown.activeKey) && dropdown.activeKey === eventKey)\n\n\tconst openSubmenuIfExists = useCallback(() => {\n\t\tif (!submenu) {\n\t\t\treturn\n\t\t}\n\t\tsubmenuControl.openMenu()\n\t\tsubmenuControl.focusItemAt(0)\n\t}, [submenu, submenuControl])\n\n\tconst activate = useCallback((e) => {\n\t\tonSelect?.(eventKey, e)\n\t\tmenu?.onSelect?.(eventKey, e)\n\t}, [eventKey, onSelect, menu])\n\n\tconst handleClick = useCallback((e) => {\n\t\tif (disabled) {\n\t\t\treturn\n\t\t}\n\n\t\tif (submenu) {\n\t\t\topenSubmenuIfExists()\n\t\t} else {\n\t\t\tactivate(e)\n\t\t}\n\t}, [disabled, submenu, openSubmenuIfExists, activate])\n\n\tconst handleMouseOver = useCallback(() => {\n\t\tif (submenu) {\n\t\t\tsubmenuControl.openMenu()\n\t\t}\n\t}, [submenu, submenuControl])\n\n\tconst handleMouseOut = useCallback(() => {\n\t\tif (submenu) {\n\t\t\tsubmenuControl.closeMenu()\n\t\t}\n\t}, [submenu, submenuControl])\n\n\tconst menuitemEventHandlers = {\n\t\tonClick: chainedFunction(handleClick, onClick)\n\t}\n\n\tif (submenu) {\n\t\tmenuitemEventHandlers.onMouseOver = handleMouseOver\n\t\tmenuitemEventHandlers.onMouseOut = handleMouseOut\n\t}\n\n\tconst { registerItem, unregisterItem } = menuControl ?? {}\n\n\tuseEffect(() => {\n\t\tif (variant !== DIVIDER && variant !== HEADER) {\n\t\t\tregisterItem?.(menuitemRef.current, { disabled })\n\t\t}\n\t\treturn () => {\n\t\t\tunregisterItem?.(menuitemId)\n\t\t}\n\t}, [registerItem, unregisterItem, menuitemRef, menuitemId, disabled, variant])\n\n\tif ((variant === DIVIDER) || (variant === HEADER) || (variant === CUSTOM)) {\n\t\treturn (\n\t\t\t\n\t\t\t\t{((variant === HEADER) || (variant === CUSTOM)) && children}\n\t\t\t\n\t\t)\n\t}\n\n\tfunction renderChildren() {\n\t\tif (!React.isValidElement(children)) {\n\t\t\treturn children\n\t\t}\n\t\treturn React.cloneElement(children)\n\t}\n\n\tfunction renderSubmenu() {\n\t\tif (!submenu) {\n\t\t\treturn null\n\t\t}\n \n\t\treturn (\n\t\t\t\n\t\t\t\t{React.cloneElement(submenu, {\n\t\t\t\t\tref: submenuRef,\n\t\t\t\t\thidden: !open\n\t\t\t\t})}\n\t\t\t\n\t\t)\n\t}\n\n\tif (submenu) {\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{children}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t{renderSubmenu()}\n\t\t\t\n\t\t)\n\t}\n\n\treturn (\n\t\t\n\t\t\t{renderChildren()}\n\t\t\t{renderSubmenu()}\n \t\n\t)\n})\n\nDropdownItem.defaultProps = {\n\tasElement: 'li',\n\tvariant: DEFAULT\n}\n\nDropdownItem.propTypes = {\n\tactive: PropTypes.bool,\n\tdisabled: PropTypes.bool,\n\tvariant: PropTypes.oneOf([DEFAULT, DIVIDER, HEADER, CUSTOM]),\n\teventKey: PropTypes.string,\n\tonClick: PropTypes.func,\n\tonSelect: PropTypes.func,\n}\n\nexport default DropdownItem\n","import React, { useCallback, useContext } from 'react'\nimport Menu from './Menu'\nimport MenuContext from './context/menuContext'\nimport DropdownItem from './DropdownItem'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nconst DropdownMenu = React.forwardRef(( props, ref ) => {\n\n\tconst { onToggle, eventKey, title, className, placement, ...rest } = props\n\n\tconst parentMenu = useContext(MenuContext)\n\n\tconst handleToggleSubmenu = useCallback((_, e) => {\n\t\tonToggle?.(eventKey, e)\n\t}, [eventKey, onToggle])\n\n\tconst dropdownMenuDefaultClass = `dropdown-menu`\n\tconst dropdownMenuPositionClass = placement\n\n\tconst dropdownMenuClass = classNames(\n\t\tdropdownMenuDefaultClass,\n\t\tdropdownMenuPositionClass,\n\t\tclassName\n\t)\n\t\n\tconst dropdownSubmenuClass = classNames(\n\t\tdropdownMenuDefaultClass,\n\t\t'dropdown-submenu',\n\t)\n\n\tconst dropdownSubmenu = (\n\t\t\n\t)\n\n\tif (parentMenu) {\n\t\tconst { icon, trigger } = props\n\t\tconst itemClassName = classNames(className)\n \n\t\treturn (\n\t\t\t\n\t\t\t\t{title}\n\t\t\t\n\t\t)\n\t}\n\n\treturn (\n\t\t\n\t)\n})\n\nDropdownMenu.propTypes = {\n\ttitle: PropTypes.oneOfType([\n\t\tPropTypes.string,\n\t\tPropTypes.node\n\t]),\n\teventKey: PropTypes.string\n}\n\nexport default DropdownMenu\n","import React from 'react'\nimport classNames from 'classnames'\nimport { HiChevronDown, HiChevronUp, HiChevronRight, HiChevronLeft } from 'react-icons/hi'\n\nconst DropdownToggleDefaultContent = ({placement, children}) => {\n\t// TODO: impl rtl handling\n\tif(placement && placement.includes('middle-start')) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{children}\n\t\t\t\t\n\t\t\t\n\t\t)\n\t}\n\n\tif(placement && placement.includes('middle-end')) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t\n\t\t\t\t{children}\n\t\t\t\n\t\t)\n\t}\n\n\tif(placement && placement.includes('top')) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{children}\n\t\t\t\t\n\t\t\t\n\t\t)\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{children}\n\t\t\t\n\t\t\n\t)\n}\n\n\nconst DropdownToggle = React.forwardRef((props, ref) => {\n\n\tconst {\n\t\tclassName,\n\t\trenderTitle,\n\t\tchildren,\n\t\tplacement,\n\t\tinSidenav,\n\t\tdisabled,\n\t\ttoggleClassName,\n\t\t...rest\n\t} = props\n\n\tconst toggleClass = 'dropdown-toggle'\n\tconst disabledClass = 'dropdown-toggle-disabled'\n\n\tconst dropdownToggleClass = classNames(\n\t\ttoggleClass,\n\t\tclassName,\n\t\ttoggleClassName,\n\t\tdisabled && disabledClass\n\t)\n\n\tconst dropdownToggleDefaultClass = classNames(\n\t\tdropdownToggleClass,\n\t\t'dropdown-toggle-default'\n\t)\n\n\tif (renderTitle) {\n\t\treturn (\n\t\t\t
\n\t\t\t\t{renderTitle}\n\t\t\t
\n\t\t)\n\t}\n\n\treturn (\n\t\t
\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{children}\n\t\t\t\t\n\t\t\t\n\t\t
\n \t)\n})\n\nexport default DropdownToggle\n","export default function arrayIndexOf(one, ofTarget) {\n\tif (Array.isArray(ofTarget)) {\n\t\treturn ofTarget.indexOf(one) >= 0;\n\t}\n\treturn one === ofTarget;\n}","import React, { useRef, useCallback } from 'react'\nimport DropdownMenu from './DropdownMenu'\nimport DropdownToggle from './DropdownToggle'\nimport PropTypes from 'prop-types'\nimport useUniqueId from '../hooks/useUniqueId'\nimport DropdownContext from './context/dropdownContext'\nimport DropdownMenuContext, { useDropdownMenuContext } from './context/dropdownMenuContext'\nimport chainedFunction from '../utils/chainedFunction'\nimport useRootClose from '../hooks/useRootClose'\nimport arrayIndexOf from '../utils/arrayIndexOf'\nimport { PLACEMENT } from '../utils/constant'\n\nconst CLICK = 'click'\nconst HOVER = 'hover'\nconst CONTEXT = 'context'\n\nconst Dropdown = React.forwardRef((props, ref) => {\n\n\tconst {\n\t\ttitle,\n\t\tchildren,\n\t\tclassName,\n\t\tmenuClass,\n\t\tmenuStyle,\n\t\tdisabled,\n\t\trenderTitle,\n\t\tplacement,\n\t\tactiveKey,\n\t\ttoggleClassName,\n\t\ttrigger,\n\t\tstyle,\n\t\tonClick,\n\t\tonMouseEnter,\n\t\tonMouseLeave,\n\t\tonContextMenu,\n\t\tonSelect,\n\t\tonOpen,\n\t\tonClose,\n\t\tonToggle,\n\t\t...rest\n\t} = props\n\n\tconst overlayTarget = useRef()\n \tconst triggerTarget = useRef()\n\tconst menuControl = useDropdownMenuContext(overlayTarget)\n\tconst open = menuControl.open\n\n\tconst buttonId = useUniqueId('dropdown-toggle-')\n \tconst menuId = useUniqueId('base-menu-')\n\n\tconst handleToggle = useCallback((isOpen) => {\n\n\t\tconst nextOpen = typeof isOpen === 'undefined' ? !open : isOpen\n\t\tconst fn = nextOpen ? onOpen : onClose\n\t\n\t\tfn?.()\n\t\tonToggle?.(nextOpen)\n\t\tif (nextOpen) {\n\t\t\tmenuControl.openMenu()\n\t\t} else {\n\t\t\tmenuControl.closeMenu()\n\t\t}\n\t}, [onClose, onOpen, onToggle, open, menuControl])\n\n\tconst handleClick = useCallback(e => {\n\t\te.preventDefault()\n\t\tif (disabled) {\n\t\t\treturn\n\t\t}\n\t\thandleToggle()\n\t}, [disabled, handleToggle])\n\n\tconst handleMouseEnter = useCallback(() => {\n\t\tif (!disabled) {\n\t\t\thandleToggle(true)\n\t\t}\n\t}, [disabled, handleToggle])\n\n\tconst handleMouseLeave = useCallback(() => {\n\t\tif (!disabled) {\n\t\t\thandleToggle(false)\n\t\t}\n\t}, [disabled, handleToggle])\n\t\n\tconst handleSelect = (eventKey, e) => {\n\t\tonSelect?.(eventKey, e)\n\t\thandleToggle(false)\n\t}\n\n\tuseRootClose(() => handleToggle(), {\n\t\ttriggerTarget,\n\t\toverlayTarget,\n\t\tdisabled: !open,\n\t\tlistenEscape: false\n\t})\n\n\tconst dropdownProps = {\n\t\tonMouseEnter,\n\t\tonMouseLeave\n\t}\n\n\tconst toggleEventHandlers = {\n\t\tonClick: onClick,\n\t\tonContextMenu,\n\t}\n\n\tif (arrayIndexOf(CLICK, trigger)) {\n\t\ttoggleEventHandlers.onClick = chainedFunction(handleClick, toggleEventHandlers.onClick)\n\t}\n\t\n\tif (arrayIndexOf(CONTEXT, trigger)) {\n\t\ttoggleEventHandlers.onContextMenu = chainedFunction(handleClick, onContextMenu)\n\t}\n\t\n\tif (arrayIndexOf(HOVER, trigger)) {\n\t\tdropdownProps.onMouseEnter = chainedFunction(handleMouseEnter, onMouseEnter)\n\t\tdropdownProps.onMouseLeave = chainedFunction(handleMouseLeave, onMouseLeave)\n\t}\n\n\tconst toggleElement = (\n\t\t\n\t\t\t{title}\n\t\t\n\t)\n\n\tconst menuElement = (\n\t\t\n\t\t\t{children}\n\t\t\n\t)\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{toggleElement}\n\t\t\t\t\n\t\t\t\t\t{menuElement}\n\t\t\t\t\n\t\t\t
\n\t\t\n\t)\n})\n\nconst { \n\tTOP_START, \n\tTOP_CENTER, \n\tTOP_END, BOTTOM_START, \n\tBOTTOM_CENTER, \n\tBOTTOM_END,\n\tMIDDLE_START_TOP,\n\tMIDDLE_START_BOTTOM,\n\tMIDDLE_END_TOP,\n\tMIDDLE_END_BOTTOM\n} = PLACEMENT\n\nDropdown.propTypes = {\n\ttrigger: PropTypes.oneOf([CLICK, HOVER, CONTEXT]),\n\tplacement: PropTypes.oneOf([\n\t\tTOP_START, \n\t\tTOP_CENTER, \n\t\tTOP_END, BOTTOM_START, \n\t\tBOTTOM_CENTER, \n\t\tBOTTOM_END,\n\t\tMIDDLE_START_TOP,\n\t\tMIDDLE_START_BOTTOM,\n\t\tMIDDLE_END_TOP,\n\t\tMIDDLE_END_BOTTOM\n\t]),\n\tmenuClass: PropTypes.string,\n\tmenuStyle: PropTypes.object,\n\tdisabled: PropTypes.bool,\n\ttitle: PropTypes.string,\n\trenderTitle: PropTypes.node,\n\tactiveKey: PropTypes.string,\n\ttoggleClassName: PropTypes.string,\n\tonClick: PropTypes.func,\n\tonMouseEnter: PropTypes.func,\n\tonMouseLeave: PropTypes.func,\n\tonContextMenu: PropTypes.func,\n\tonSelect: PropTypes.func,\n\tonOpen: PropTypes.func,\n\tonClose: PropTypes.func,\n\tonToggle: PropTypes.func,\n}\n\n\nDropdown.defaultProps = {\n\tplacement: BOTTOM_START,\n\ttrigger: 'click',\n}\n\nexport default Dropdown\n","import Dropdown from './Dropdown'\nimport DropdownItem from './DropdownItem'\nimport DropdownMenu from './DropdownMenu'\n\nDropdown.Item = DropdownItem\nDropdown.Menu = DropdownMenu\n\nexport default Dropdown","import React from 'react'\nimport classNames from 'classnames'\nimport { SIZES } from '../utils/constant'\n\nconst Line = props => {\n\n\tconst {\n\t\tpercent,\n\t\tsize,\n\t\tchildren,\n\t\tstrokeColor\n\t} = props\n\n\tconst progressBackgroundClass = classNames(\n\t\t'progress-bg',\n\t\tsize === SIZES.SM ? 'h-1.5' : 'h-2',\n\t\t`bg-${strokeColor}`\n\t)\n\t\n\treturn (\n\t\t<>\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t\t{children}\n\t\t\n\t)\n}\n\nexport default Line","import React, { useCallback } from 'react'\n\nconst Circle = props => {\n\n const {\n strokeWidth,\n percent,\n strokeLinecap,\n gapDegree,\n gapPosition,\n strokeColor,\n width,\n children\n } = props\n\n const getPathStyles = useCallback(() => {\n const radius = 50 - strokeWidth / 2\n\n let beginPositionX = 0\n let beginPositionY = -radius\n let endPositionX = 0\n let endPositionY = -2 * radius\n\n switch (gapPosition) {\n case 'left':\n beginPositionX = -radius\n beginPositionY = 0\n endPositionX = 2 * radius\n endPositionY = 0\n break\n case 'right':\n beginPositionX = radius\n beginPositionY = 0\n endPositionX = -2 * radius\n endPositionY = 0\n break\n case 'bottom':\n beginPositionY = radius\n endPositionY = 2 * radius\n break\n default:\n }\n\n const pathString = `M 50,50 m ${beginPositionX},${beginPositionY} a ${radius},${radius} 0 1 1 ${endPositionX},${-endPositionY} a ${radius},${radius} 0 1 1 ${-endPositionX},${endPositionY}`\n\n const len = Math.PI * 2 * radius\n const trailPathStyle = {\n strokeDasharray: `${len - gapDegree}px ${len}px`,\n strokeDashoffset: `-${gapDegree / 2}px`\n }\n\n const strokePathStyle = {\n strokeDasharray: `${(percent / 100) * (len - gapDegree)}px ${len}px`,\n strokeDashoffset: `-${gapDegree / 2}px`\n }\n\n return {\n pathString,\n trailPathStyle,\n strokePathStyle\n }\n }, [gapDegree, gapPosition, percent, strokeWidth])\n\n const { pathString, trailPathStyle, strokePathStyle } = getPathStyles()\n\n const progressStrokeClass = `progress-circle-stroke text-${strokeColor}`\n\n return (\n
\n \n {children}\n \n \n \n \n \n
\n )\n}\n\nexport default Circle\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\nimport Line from './Line'\nimport Circle from './Circle'\nimport { useConfig } from '../ConfigProvider'\nimport { SIZES, DIRECTIONS } from '../utils/constant'\n\nconst Progress = React.forwardRef((props, ref) => {\n\n\tconst {\n\t\tvariant,\n\t\tcolor,\n\t\tpercent,\n\t\tshowInfo,\n\t\tcustomInfo,\n\t\tclassName,\n\t\twidth,\n\t} = props\n\n\tconst { themeColor, primaryColorLevel } = useConfig()\n\n\tconst renderProcessInfo = () => {\n\t\tif (!showInfo) {\n\t\t\treturn null\n\t\t}\n\t\treturn (\n\t\t\t\n\t\t\t\t{customInfo || `${percent}%`}\n\t\t\t\n\t\t)\n\t}\n\n\tconst strokeColor = color || `${themeColor}-${primaryColorLevel}`\n\n\n\tconst progressTrailColor = 'gray-100';\n\t\n\tconst progressClass = classNames(\n\t\t'progress',\n\t\tclassName,\n\t\tvariant === 'circle' ? 'circle' : 'line'\n\t)\n\n\tconst renderProgress = (direction) => {\n\t\tconst progressInfo = renderProcessInfo()\n\t\tlet progress\n\n\t\tif (variant === 'line') {\n\t\t\tprogress = (\n\t\t\t\t \n\t\t\t\t\t{progressInfo}\n\t\t\t\t\n\t\t\t)\n\t\t}\n\n\t\tif (variant === 'circle') {\n\t\t\tprogress = (\n\t\t\t\t\n\t\t\t\t\t{progressInfo}\n\t\t\t\t\n\t\t\t)\n\t\t}\n\n\t\treturn progress\n\t}\n\n\treturn (\n\t\t
\n\t\t\t{renderProgress()}\n\t\t
\n\t)\n})\n\nProgress.propTypes = {\n\tcolor: PropTypes.string,\n\tcustomInfo: PropTypes.oneOfType([\n\t\tPropTypes.node,\n\t\tPropTypes.string\n\t]),\n\tgapDegree: PropTypes.number,\n\tgapPosition: PropTypes.oneOf([DIRECTIONS.TOP, DIRECTIONS.RIGHT, DIRECTIONS.BOTTOM, DIRECTIONS.LEFT]),\n\tpercent: PropTypes.number,\n\tshowInfo: PropTypes.bool,\n\tsize: PropTypes.oneOf([SIZES.SM, SIZES.MD]),\n\tstrokeLinecap: PropTypes.oneOf(['round', 'square']),\n\tstrokeWidth: PropTypes.number,\n\tvariant: PropTypes.oneOf(['line', 'circle']),\n\twidth: PropTypes.oneOfType([\n\t\tPropTypes.number,\n\t\tPropTypes.string\n\t]),\n}\n\nProgress.defaultProps = {\n\tvariant: 'line',\n\tpercent: 0,\n\tshowInfo: true,\n\tsize: SIZES.MD,\n\tstrokeLinecap: 'round',\n\tstrokeWidth: 6,\n\twidth: 120,\n\tgapDegree: 0,\n\tgapPosition: DIRECTIONS.TOP\n}\n\nexport default Progress\n","import React from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nconst Skeleton = React.forwardRef((props, ref) => {\n\n\tconst {\n\t\tanimation, \n\t\tasElement: Component ,\n\t\tclassName, \n\t\theight, \n\t\tstyle, \n\t\tvariant,\n\t\twidth, \n\t} = props\n\n\treturn (\n\t\t\n\t)\n})\n\nSkeleton.defaultProps = {\n\tasElement: 'span',\n\tvariant: 'block',\n\tanimation: true\n}\n\nSkeleton.propTypes = {\n\tasElement: PropTypes.string,\n\tvariant: PropTypes.oneOfType([\n\t\tPropTypes.oneOf(['circle', 'block']),\n\t\tPropTypes.string,\n\t]),\n\theight: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\twidth: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n}\n\n\nexport default Skeleton","import Skeleton from './Skeleton'\n\nexport default Skeleton","import { createContext, useContext } from 'react'\n\nconst SegmentContext = createContext()\n\nexport const SegmentContextProvider = SegmentContext.Provider\n\nexport const SegmentContextConsumer = SegmentContext.Consumer\n\nexport function useSegment() {\n return useContext(SegmentContext)\n}\n\nexport default SegmentContext;","import React, { forwardRef, useCallback, useMemo } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\nimport { SegmentContextProvider } from './context'\nimport useControllableState from '../hooks/useControllableState'\nimport { useForm } from '../Form/context'\nimport { useInputGroup } from '../InputGroup/context'\nimport { useConfig } from '../ConfigProvider'\n\nconst Segment = forwardRef((props, ref) => {\n\n\tconst {\n\t\tvalue: valueProp,\n\t\tdefaultValue,\n\t\tonChange = () => {},\n\t\tchildren,\n\t\tclassName,\n\t\tselectionType,\n\t\tsize,\n\t\t...rest\n\t} = props;\n\n\tconst formControl = useForm()\n\tconst inputGroupControl = useInputGroup()\n\tconst { controlSize } = useConfig()\n\n\tconst [value, setValue] = useControllableState({\n\t\tprop: valueProp,\n\t\tdefaultProp: defaultValue,\n\t\tonChange: onChange,\n\t\tselectionType\n\t})\n\n\tconst onActive = useCallback(itemValue => {\n\t\tsetValue(itemValue)\n\t},[setValue])\n\n\n\tconst onDeactivate = useCallback(itemValue => {\n\t\tif (selectionType === 'single') {\n\t\t\tsetValue('')\n\t\t}\n\n\t\tif (selectionType === 'multiple') {\n\t\t\tsetValue((prevValue = []) => {\n\t\t\t\treturn prevValue.filter((value) => value !== itemValue)\n\t\t\t})\n\t\t}\n\t}, [setValue, selectionType])\n\n\tconst segmentValue = useMemo(() => {\n\t\tif (selectionType === 'single') {\n\t\t\tif(value && typeof value === 'string') {\n\t\t\t\treturn [value]\n\t\t\t}\n\n\t\t\tif(value && Array.isArray(value)) {\n\t\t\t\treturn value\n\t\t\t}\n\n\t\t\treturn []\n\t\t}\n\n\t\tif (selectionType === 'multiple') {\n\t\t\treturn value ? value : []\n\t\t}\n\t}, [selectionType, value])\n\n\treturn (\n\t\t\n\t\t\t
\n\t\t\t\t{children}\n\t\t\t
\n\t\t\n\t)\n\t\n})\n\nSegment.defaultProps = {\n\tselectionType: 'single'\n}\n\nSegment.propTypes = {\n\tselectionType: PropTypes.oneOf(['single', 'multiple']),\n\tvalue: PropTypes.arrayOf(PropTypes.string),\n\tdefaultValue: PropTypes.arrayOf(PropTypes.string),\n}\n\nexport default Segment\n","import { forwardRef, useCallback, useContext } from 'react'\nimport classNames from 'classnames'\nimport { useSegment } from './context'\nimport { CONTROL_SIZES, SIZES } from '../utils/constant'\nimport SegmentContext from './context'\nimport PropTypes from 'prop-types'\n\nconst unwrapArray = (arg) => (Array.isArray(arg) ? arg[0] : arg)\n\nconst SegmentItem = forwardRef((props, ref) => {\n\n\tconst { size } = useContext(SegmentContext)\n\n\tconst { value: valueProp, children, className, disabled, ...rest } = props\n\n\tconst { value: valueContext, onActive, onDeactivate, selectionType } = useSegment()\n\t\n\tconst active = valueContext.includes(valueProp)\n\t\n\tconst getSegmentSize = useCallback(() => {\n\t\tlet sizeClass = ''\n\t\tswitch (size) {\n\t\t\tcase SIZES.LG:\n\t\t\t\tsizeClass = classNames(\n\t\t\t\t\t`h-${CONTROL_SIZES.lg} md:px-8 py-2 px-4 text-base`\n\t\t\t\t)\n\t\t\t\tbreak\n\t\t\tcase SIZES.SM:\n\t\t\t\tsizeClass = classNames(\n\t\t\t\t\t`h-${CONTROL_SIZES.sm} px-3 py-2 text-sm`\n\t\t\t\t)\n\t\t\t\tbreak\n\t\t\tcase SIZES.XS:\n\t\t\t\tsizeClass = classNames(\n\t\t\t\t\t`h-${CONTROL_SIZES.xs} px-3 py-1 text-xs`,\n\t\t\t\t)\n\t\t\t\tbreak\n\t\t\tdefault:\n\t\t\t\tsizeClass = classNames(\n\t\t\t\t\t`h-${CONTROL_SIZES.md} md:px-8 py-2 px-4`,\n\t\t\t\t)\n\t\t\t\tbreak\n\t\t}\n\t\treturn sizeClass\n\t}, [size])\n\n\tconst onSegmentItemClick = () => {\n\t\tif(!disabled) {\n\t\t\tif (!active) {\n\t\t\t\tif(selectionType === 'single') {\n\t\t\t\t\tonActive([valueProp])\n\t\t\t\t}\n\t\t\t\tif(selectionType === 'multiple') {\n\t\t\t\t\tconst nextValue = [...valueContext, ...[valueProp]]\n\t\t\t\t\tonActive(nextValue)\n\t\t\t\t}\n\t\t\t} else if(selectionType === 'multiple') {\n\t\t\t\tonDeactivate(valueProp)\n\t\t\t}\n\t\t}\n\t}\n\n\tconst childrenProps = {\n\t\tref: ref,\n\t\tactive,\n\t\tonSegmentItemClick,\n\t\tdisabled,\n\t\tvalue: valueProp,\n\t\t...rest\n\t}\n\t\n\treturn typeof children === 'function' ?\n\t\tunwrapArray(children)(childrenProps) \n\t\t: \n\t\t\n\t\t\t{children}\n\t\t\n})\n\n\nSegmentItem.defaultProps = {\n\tdisabled: false\n}\n\nSegmentItem.propTypes = {\n\tvalue: PropTypes.string,\n\tdisabled: PropTypes.bool\n}\n\n\nexport default SegmentItem\n","import Segment from './Segment'\nimport SegmentItem from './SegmentItem'\n\nSegment.Item = SegmentItem\n\nexport default Segment","import { Children, isValidElement, cloneElement } from 'react'\n\nfunction map(children, func, context) {\n let index = 0\n return Children.map(children, child => {\n if (!isValidElement(child)) {\n return child\n }\n const handle = func.call(context, child, index)\n index += 1\n return handle\n })\n}\n\nfunction mapCloneElement(children, func, context) {\n return map(children, (child, index) =>\n cloneElement(child, {\n key: index,\n ...func(child, index)\n }),\n context\n )\n}\n\nexport default mapCloneElement","import React, { forwardRef, Children } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\nimport { STEPS_STATUS } from '../utils/constant'\nimport mapCloneElement from '../utils/mapCloneElement'\n\nconst { COMPLETE, PENDING, IN_PROGRESS, ERROR } = STEPS_STATUS\n\nconst Steps = forwardRef((props, ref) => {\n\n\tconst {\n\t\tclassName,\n\t\tchildren,\n\t\tvertical,\n\t\tcurrent,\n\t\tstatus,\n\t\tonChange,\n\t\t...rest\n\t} = props\n\n\tconst count = Children.count(children)\n\n\tconst items = mapCloneElement(children, (item, index) => {\n\t\tconst itemStyles = {\n\t\t\tflexBasis: index < count - 1 ? `${100 / (count - 1)}%` : undefined,\n\t\t\tmaxWidth: index === count - 1 ? `${100 / count}%` : undefined\n\t\t}\n\t\tconst itemProps = {\n\t\t\tstepNumber: index + 1,\n\t\t\tstatus: PENDING,\n\t\t\tstyle: !vertical ? itemStyles : undefined,\n\t\t\tisLast: index === count - 1,\n\t\t\tvertical: vertical,\n\t\t\tonStepChange: onChange ? () => onChange(index) : undefined,\n\t\t\t...item.props\n\t\t}\n\t\n\t\tif (status === ERROR && index === current - 1) {\n\t\t\titemProps.className = classNames('steps-item-error')\n\t\t}\n\t\n\t\tif (!item.props.status) {\n\t\t\tif (index === current) {\n\t\t\t\titemProps.status = status;\n\t\t\t\titemProps.className = classNames(itemProps.className, 'steps-item-active')\n\t\t\t} else if (index < current) {\n\t\t\t\titemProps.status = COMPLETE\n\t\t\t}\n\t\t}\n\t\treturn itemProps\n\t})\n\n\treturn (\n\t\t
\n\t\t\t{items}\n\t\t
\n\t)\n})\n\nSteps.defaultProps = {\n\tvertical: false,\n\tstatus: IN_PROGRESS,\n\tcurrent: 0\n}\n\nSteps.propTypes = {\n\tvertical: PropTypes.bool,\n\tcurrent: PropTypes.number,\n\tstatus: PropTypes.oneOf([COMPLETE, PENDING, IN_PROGRESS, ERROR])\n}\n\nexport default Steps\n","import React, { forwardRef } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\nimport { useConfig } from '../ConfigProvider'\nimport { HiCheck, HiX } from 'react-icons/hi'\nimport { STEPS_STATUS } from '../utils/constant'\n\nconst { COMPLETE, PENDING, IN_PROGRESS, ERROR } = STEPS_STATUS\n\nconst STEP_STATUS_ICON = {\n\t[COMPLETE]: ,\n\t[PENDING]: null,\n\t[IN_PROGRESS]: null,\n\t[ERROR]: \n}\n\nconst StepItem = forwardRef((props, ref) => {\n\n\tconst {\n\t\tclassName,\n\t\tstatus,\n\t\tcustomIcon,\n\t\tstepNumber,\n\t\tdescription,\n\t\ttitle,\n\t\tisLast,\n\t\tvertical,\n\t\tonStepChange,\n\t\t...rest\n\t} = props\n\n\tconst { themeColor, primaryColorLevel } = useConfig()\n\n\tconst color = `${themeColor}-${primaryColorLevel}`\n\n\tlet stepIcon = (\n\t\t\n\t\t\t{STEP_STATUS_ICON[status] ?? stepNumber}\n\t\t\n\t)\n\n\tif (customIcon) {\n\t\tstepIcon = {customIcon};\n\t}\n\n\tconst stepItemClass = classNames(\n\t\t`step-item step-item-${status}`,\n\t\tvertical && 'step-item-vertical',\n\t\tclassName\n\t)\n\n\tconst stepWrapperClass = classNames(\n\t\t'step-item-wrapper',\n\t\tonStepChange && 'step-clickable',\n\t)\n\n\tconst stepIconClass = classNames(\n\t\t`step-item-icon step-item-icon-${status}`,\n\t\tstatus === COMPLETE && `bg-${color} text-white`,\n\t\tstatus === ERROR && `step-item-icon-error`,\n\t\tstatus === IN_PROGRESS && `text-${color} dark:text-gray-100 border-${color} step-item-icon-current`\n\t)\n\n\tconst stepConnectClass = classNames(\n\t\t'step-connect',\n\t\tvertical && 'step-connect-vertical',\n\t\tstatus === COMPLETE ? `bg-${color}` : `inactive`\n\t)\n\n\tconst stepTitleClass = classNames(\n\t\t'step-item-title',\n\t\tstatus === ERROR && `step-item-title-error`,\n\t\t(onStepChange && status !== ERROR) && `hover:text-${color}`\n\t)\n\n\tconst handleStepChange = () => {\n\t\tonStepChange?.()\n\t}\n\n\treturn (\n\t\t
\n\t\t\t
\n\t\t\t\t
{stepIcon}
\n\t\t\t\t{title &&\n\t\t\t\t\t
\n\t\t\t\t\t\t{title && {title}}\n\t\t\t\t\t\t{(description && vertical) && {description}}\n\t\t\t\t\t
\n\t\t\t\t}\n\t\t\t
\n\t\t\t{!isLast &&
}\n\t\t
\n\t)\n})\n\nStepItem.propTypes = {\n\tvertical: PropTypes.bool,\n\tstepNumber: PropTypes.number,\n\tstatus: PropTypes.oneOf([COMPLETE, PENDING, IN_PROGRESS, ERROR]),\n\ttitle: PropTypes.oneOfType([\n\t\tPropTypes.string,\n\t\tPropTypes.node\n\t]),\n\tdescription: PropTypes.oneOfType([\n\t\tPropTypes.string,\n\t\tPropTypes.node\n\t]),\n\tcustomIcon: PropTypes.oneOfType([\n\t\tPropTypes.string,\n\t\tPropTypes.node\n\t]),\n\tisLast: PropTypes.bool, \n}\n\nexport default StepItem\n","import Steps from './Steps'\nimport StepItem from './StepItem'\n\nSteps.Item = StepItem\n\nexport default Steps","import { createContext, useContext } from 'react'\n\nconst TabsContext = createContext()\n\nexport const TabsContextProvider = TabsContext.Provider\n\nexport const TabsContextConsumer = TabsContext.Consumer\n\nexport function useTabs() {\n return useContext(TabsContext)\n}\n\nexport default TabsContext;","import React, { forwardRef } from 'react'\nimport { TabsContextProvider } from './context'\nimport useControllableState from '../hooks/useControllableState'\nimport classNames from 'classnames'\nimport PropTypes from 'prop-types'\n\nconst Tabs = forwardRef((props, ref) => {\n\n\tconst {\n\t\tvalue: valueProp,\n\t\tonChange,\n\t\tdefaultValue,\n\t\tvariant,\n\t\tclassName,\n\t\t...rest\n\t} = props\n\n\tconst [value, setValue] = useControllableState({\n\t\tprop: valueProp,\n\t\tonChange: onChange,\n\t\tdefaultProp: defaultValue,\n\t})\n\n\tconst tabsClass = classNames(\n\t\t'tabs',\n\t\tclassName\n\t)\n\n\treturn (\n\t\t\n\t\t\t
\n\t\t\n\t)\n})\n\nTabs.defaultProps = {\n\tvariant: 'underline'\n}\n\nTabs.propTypes = {\n\tvariant: PropTypes.oneOf(['underline', 'pill']),\n\tdefaultValue: PropTypes.string,\n\tvalue: PropTypes.string,\n\tonChange: PropTypes.func\n}\n\nexport default Tabs\n","import React, { forwardRef } from 'react'\nimport classNames from 'classnames'\nimport { useTabs } from './context'\n\nconst TabList = forwardRef((props, ref) => {\n const { className, children, ...rest } = props\n\n const { variant } = useTabs()\n\n const tabListClass = classNames(\n 'tab-list', \n `tab-list-${variant}`,\n className\n )\n\n return (\n
\n {children}\n
\n )\n})\n\nexport default TabList","import React, { forwardRef } from 'react'\nimport classNames from 'classnames'\nimport { useTabs } from './context'\nimport useCallbackRef from '../hooks/useCallbackRef'\nimport { useConfig } from '../ConfigProvider'\nimport PropTypes from 'prop-types'\n\nconst TabNav = forwardRef((props, ref) => {\n const { value: valueProp, disabled, className, icon, children, ...rest } = props\n\n const { value, onValueChange, variant } = useTabs()\n const isSelected = valueProp === value\n\n const { themeColor, primaryColorLevel } = useConfig()\n \n const onTabNavClick = useCallbackRef(() => {\n if(!isSelected && !disabled) {\n onValueChange(valueProp)\n }\n })\n\n const color = `${themeColor}-${primaryColorLevel}`\n\n const tabNavClass = classNames(\n 'tab-nav',\n `tab-nav-${variant}`,\n isSelected && `tab-nav-active text-${color} dark:text-${themeColor}-100`,\n (isSelected && variant === 'underline') && `border-${color}`,\n (isSelected && variant === 'pill') && `bg-${themeColor}-50 dark:bg-${color} dark:text-gray-100`,\n disabled && 'tab-nav-disabled',\n (!disabled && !isSelected) && `hover:text-${color} dark:hover:text-${themeColor}-100`,\n className\n )\n\n return (\n \n {icon &&
{icon}
}\n {children}\n
\n )\n})\n\nTabNav.propTypes = {\n\tdisabled: PropTypes.bool,\n\tvalue: PropTypes.string.isRequired,\n\ticon: PropTypes.oneOfType([\n\t\tPropTypes.string,\n\t\tPropTypes.node\n\t]),\n}\n\nexport default TabNav","import React, { forwardRef } from 'react'\nimport classNames from 'classnames'\nimport { useTabs } from './context'\nimport PropTypes from 'prop-types'\n\nconst TabContent = forwardRef((props, ref) => {\n const { value, children, className, ...rest } = props\n\n const context = useTabs()\n const isSelected = value === context.value;\n\n const tabContentClass = classNames(\n 'tab-content',\n isSelected && 'tab-content-active',\n className\n )\n\n return (\n
\n {isSelected && children}\n
\n )\n})\n\nTabContent.propTypes = {\n\tvalue: PropTypes.string.isRequired,\n}\n\nexport default TabContent","import Tabs from './Tabs'\nimport TabList from './TabList'\nimport TabNav from './TabNav'\nimport TabContent from './TabContent'\n\nTabs.TabList = TabList\nTabs.TabNav = TabNav\nTabs.TabContent = TabContent\n\nexport default Tabs","import React, { forwardRef } from 'react'\nimport PropTypes from 'prop-types'\nimport classNames from 'classnames'\n\nconst Tag = forwardRef((props, ref) => {\n\n\tconst { className, children, prefix, suffix, prefixClass, suffixClass, rest } = props\n\n\treturn (\n\t\t
\n\t\t\t{(prefix && typeof prefix === 'boolean') && }\n\t\t\t{typeof prefix === 'object' && prefix}\n\t\t\t{children}\n\t\t\t{(suffix && typeof suffix === 'boolean') && }\n\t\t\t{typeof suffix === 'object' && suffix}\n\t\t
\n\t)\n})\n\nTag.defaultProps = {\n\tprefix: false,\n\tsuffix: false\n}\n\nTag.propTypes = {\n\tprefix: PropTypes.oneOfType([\n\t\tPropTypes.node,\n\t\tPropTypes.bool\n\t]),\n\tsuffix: PropTypes.oneOfType([\n\t\tPropTypes.node,\n\t\tPropTypes.bool\n\t]),\n\tprefixClass: PropTypes.string\n}\n\nexport default Tag\n","import Tag from './Tag'\n\nexport default Tag","import React, { forwardRef, Children } from 'react'\nimport classNames from 'classnames'\nimport mapCloneElement from '../utils/mapCloneElement'\n\nconst Timeline = forwardRef((props, ref) => {\n\n\tconst { children, className } = props\n\n\tconst count = Children.count(children)\n\n\tconst items = mapCloneElement(children, (item, index) => ({isLast: index === count - 1, ...item.props}))\n\n\treturn (\n\t\t
    \n\t\t\t{items}\n\t\t
\n\t)\n})\n\nexport default Timeline\n","import React, { forwardRef } from 'react'\nimport classNames from 'classnames'\nimport PropTypes from 'prop-types'\n\nconst TimeLineItem = forwardRef((props, ref) => {\n\n\tconst { children, className, isLast, media } = props\n\n\treturn (\n\t\t
  • \n\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t{media ||
    }\n\t\t\t\t\t
    \n\t\t\t\t\t{!isLast &&
    }\n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t{children}\n\t\t\t\t
    \n\t\t\t
    \n\t\t\t\n\t\t
  • \n\t)\n})\n\nTimeLineItem.propTypes = {\n\tmedia: PropTypes.oneOfType([\n\t\tPropTypes.node,\n\t\tPropTypes.string\n\t])\n}\n\nexport default TimeLineItem\n","import TimeLine from './TimeLine'\nimport TimeLineItem from './TimeLineItem'\n\nTimeLine.Item = TimeLineItem \n\nexport default TimeLine","import Scrollbar from './ScrollBar';\n\nexport default Scrollbar;","import React, { forwardRef } from 'react'\nimport { Scrollbars } from 'react-custom-scrollbars-2'\n\nconst ScrollBar = forwardRef((props, ref) => {\n\n\tconst { direction = 'ltr', ...rest } = props\n\n\treturn (\n\t\t (\n\t\t\t\t
    \n\t\t\t)} \n\t\t\t{...rest} \n\t\t/>\n\t)\n})\n\nexport default ScrollBar\n","import useCallbackRef from './useCallbackRef'\nimport useColorLevel from './useColorLevel'\nimport useControllableState from './useControllableState'\nimport useDidUpdate from './useDidUpdate'\nimport useMergeRef from './useMergeRef'\nimport useRootClose from './useRootClose'\nimport useTimeout from './useTimeout'\nimport useUncertainRef from './useUncertainRef'\nimport useUniqueId from './useUniqueId'\nimport useWindowSize from './useWindowSize'\n\nconst hooks = {\n useCallbackRef,\n useColorLevel,\n useControllableState,\n useDidUpdate,\n useMergeRef,\n useRootClose,\n useTimeout,\n useUncertainRef,\n useUniqueId,\n useWindowSize\n}\n\nexport default hooks","export default function capitalize(value) {\n return typeof value !== 'string' ? '' : value.charAt(0).toUpperCase() + value.slice(1)\n }","export const SIZES = {\n XS: 'xs',\n SM: 'sm',\n MD: 'md',\n LG: 'lg'\n}\n\nexport const CONTROL_SIZES = {\n [SIZES.XS]: 7,\n [SIZES.SM]: 9,\n [SIZES.MD]: 11,\n [SIZES.LG]: 14\n}\n\nexport const LAYOUT = {\n HORIZONTAL: 'horizontal',\n VERTICAL: 'vertical',\n INLINE: 'inline'\n}\n\nexport const DIRECTIONS = {\n TOP: 'top',\n RIGHT: 'right',\n BOTTOM: 'bottom',\n LEFT: 'left'\n}\n\nexport const SELECTION_MODES = {\n\tYEAR: 'year',\n\tMONTH: 'month',\n\tDAY: 'day'\n}\n\nexport const PICKER_VIEWS = {\n\tYEAR: 'year',\n\tMONTH: 'month',\n\tDATE: 'date',\n}\n\nexport const STATUS = {\n DANGER: 'danger',\n SUCCESS: 'success',\n WARNING: 'warning'\n}\n\nexport const STEPS_STATUS = {\n COMPLETE: 'complete',\n PENDING: 'pending',\n IN_PROGRESS: 'in-progress',\n ERROR: 'error'\n}\n\nexport const PLACEMENT = {\n TOP_START: 'top-start',\n TOP_CENTER: 'top-center',\n TOP_END: 'top-end',\n BOTTOM_START: 'bottom-start',\n BOTTOM_CENTER: 'bottom-center',\n BOTTOM_END: 'bottom-end',\n MIDDLE_START_TOP: 'middle-start-top',\n MIDDLE_START_BOTTOM: 'middle-start-bottom',\n MIDDLE_END_TOP: 'middle-end-top',\n MIDDLE_END_BOTTOM: 'middle-end-bottom'\n}\n\nexport const DROPDOWN_ITEM_TYPE = {\n DEFAULT: 'default',\n HEADER: 'header',\n DIVIDER: 'divider',\n CUSTOM: 'custom',\n}\n\nexport const DAY_DURATION = 86400000;","const appConfig = {\n apiPrefix: '/api',\n authenticatedEntryPath: '/home',\n unAuthenticatedEntryPath: '/sign-in',\n tourPath: '/',\n enableMock: false,\n}\n\nexport default appConfig","import { THEME_ENUM } from 'constants/theme.constant'\n\n/**\n * Since some configurations need to be match with specific themes, \n * we recommend to use the configuration that generated from demo.\n */\n\nexport const themeConfig = {\n themeColor: 'indigo',\n direction: THEME_ENUM.DIR_LTR,\n mode: THEME_ENUM.MODE_LIGHT,\n locale: 'es',\n primaryColorLevel: 600,\n cardBordered: false,\n panelExpand: false,\n controlSize: 'md',\n navMode: THEME_ENUM.NAV_MODE_LIGHT,\n layout: {\n type: THEME_ENUM.LAYOUT_TYPE_CLASSIC,\n sideNavCollapse: false,\n },\n}\n","export const TOKEN_TYPE = 'Bearer '\nexport const REQUEST_HEADER_AUTH_KEY = 'Authorization'\n// export const URL = 'http://localhost:1337/api'\n// export const URL = 'http://172.20.1.63:1337/api' // local trabajo\n// export const URL = 'http://192.168.0.132:1337/api' // local casa\n// export const URL = 'http://129.146.240.127:1337/api' // produccion server jeffry\n// export const URL = 'http://129.146.240.127:1337/api' // produccion server jeffry\nexport const URL = 'https://walletadm-api.anderlfrias.com/api' // produccion en mi dominio\n","export const APP_NAME = 'Wallet ADM'\nexport const PERSIST_STORE_NAME = 'walletadm'\nexport const REDIRECT_URL_KEY = 'redirectUrl'","import { theme } from 'twin.macro'\n\nconst twColor = theme`colors`\n\nexport const COLOR_1 = twColor.indigo['600'] \nexport const COLOR_2 = twColor.blue['500']\nexport const COLOR_3 = twColor.emerald['500']\nexport const COLOR_4 = twColor.amber['500']\nexport const COLOR_5 = twColor.red['500']\nexport const COLOR_6 = twColor.purple['500']\nexport const COLOR_7 = twColor.cyan['500']\n\nexport const COLOR_1_LIGHT = twColor.indigo['100'] \nexport const COLOR_2_LIGHT = twColor.blue['100']\nexport const COLOR_3_LIGHT = twColor.emerald['100']\nexport const COLOR_4_LIGHT = twColor.amber['100']\nexport const COLOR_5_LIGHT = twColor.red['100']\nexport const COLOR_6_LIGHT = twColor.purple['100']\nexport const COLOR_7_LIGHT = twColor.cyan['100']\n\nexport const COLORS = [\n\tCOLOR_1,\n\tCOLOR_2,\n\tCOLOR_3,\n\tCOLOR_4,\n\tCOLOR_5,\n\tCOLOR_6,\n\tCOLOR_7\n]\n\nexport const COLORS_LIGHT = [\n\tCOLOR_1_LIGHT,\n\tCOLOR_2_LIGHT,\n\tCOLOR_3_LIGHT,\n\tCOLOR_4_LIGHT,\n\tCOLOR_5_LIGHT,\n\tCOLOR_6_LIGHT,\n\tCOLOR_7_LIGHT\n]","export const DIR_RTL = 'rtl'\nexport const DIR_LTR = 'ltr'\nexport const MODE_LIGHT = 'light'\nexport const MODE_DARK = 'dark'\nexport const LAYOUT_TYPE_CLASSIC = 'classic'\nexport const LAYOUT_TYPE_MODERN = 'modern'\nexport const LAYOUT_TYPE_STACKED_SIDE = 'stackedSide'\nexport const LAYOUT_TYPE_DECKED = 'decked'\nexport const LAYOUT_TYPE_SIMPLE = 'simple'\nexport const LAYOUT_TYPE_BLANK = 'blank'\nexport const NAV_MODE_LIGHT = 'light'\nexport const NAV_MODE_DARK = 'dark'\nexport const NAV_MODE_THEMED = 'themed'\nexport const NAV_MODE_TRANSPARENT = 'transparent'\n\nexport const SIDE_NAV_WIDTH = 290\nexport const SIDE_NAV_COLLAPSED_WIDTH = 80\nexport const SPLITTED_SIDE_NAV_MINI_WIDTH = 80\nexport const SPLITTED_SIDE_NAV_SECONDARY_WIDTH = 250\nexport const SIDE_NAV_CONTENT_GUTTER = 'px-4'\nexport const LOGO_X_GUTTER = 'px-6'\nexport const HEADER_HEIGHT_CLASS = 'h-16'\nexport const PAGE_CONTAINER_GUTTER_X = 'px-4 sm:px-6 md:px-8'\nexport const PAGE_CONTAINER_GUTTER_Y = 'py-4 sm:py-6 md:px-8'\n\nexport const THEME_ENUM = {\n DIR_RTL: DIR_RTL,\n DIR_LTR: DIR_LTR,\n MODE_LIGHT: MODE_LIGHT,\n MODE_DARK: MODE_DARK,\n LAYOUT_TYPE_CLASSIC: LAYOUT_TYPE_CLASSIC,\n LAYOUT_TYPE_MODERN: LAYOUT_TYPE_MODERN,\n LAYOUT_TYPE_SIMPLE: LAYOUT_TYPE_SIMPLE,\n LAYOUT_TYPE_STACKED_SIDE: LAYOUT_TYPE_STACKED_SIDE,\n LAYOUT_TYPE_DECKED: LAYOUT_TYPE_DECKED,\n LAYOUT_TYPE_BLANK: LAYOUT_TYPE_BLANK,\n SIDE_NAV_WIDTH: SIDE_NAV_WIDTH,\n SIDE_NAV_COLLAPSED_WIDTH: SIDE_NAV_COLLAPSED_WIDTH,\n SPLITTED_SIDE_NAV_MINI_WIDTH: SPLITTED_SIDE_NAV_MINI_WIDTH,\n SPLITTED_SIDE_NAV_SECONDARY_WIDTH: SPLITTED_SIDE_NAV_SECONDARY_WIDTH,\n HEADER_HEIGHT_CLASS: HEADER_HEIGHT_CLASS,\n NAV_MODE_LIGHT: NAV_MODE_LIGHT,\n NAV_MODE_DARK: NAV_MODE_DARK,\n NAV_MODE_THEMED: NAV_MODE_THEMED,\n NAV_MODE_TRANSPARENT: NAV_MODE_TRANSPARENT\n}","import i18n from 'i18next'\nimport { initReactI18next } from 'react-i18next'\nimport en from './lang/en.json'\nimport es from './lang/es.json'\nimport { themeConfig } from 'configs/theme.config'\n\nconst resources = {\n en: {\n translation: en\n },\n es: {\n translation: es\n }\n}\n\ni18n.use(initReactI18next).init({\n resources,\n fallbackLng: themeConfig.locale,\n lng: themeConfig.locale,\n interpolation: {\n escapeValue: false\n }\n})\n\nexport const dateLocales = {\n en: () => import('dayjs/locale/en'),\n es: () => import('dayjs/locale/es')\n}\n\nexport default i18n","import axios from 'axios'\nimport { REQUEST_HEADER_AUTH_KEY } from 'constants/api.constant'\nimport { PERSIST_STORE_NAME } from 'constants/app.constant'\nimport deepParseJson from 'utils/deepParseJson'\n\nconst getToken = () => {\n const rawPersistData = localStorage.getItem(PERSIST_STORE_NAME)\n const persistData = deepParseJson(rawPersistData)\n\n return persistData?.auth?.session?.token || null\n}\n\nconst ApiService = {\n async fetchData(param) {\n const accessToken = getToken()\n return axios({\n ...param,\n headers: accessToken ? {\n [REQUEST_HEADER_AUTH_KEY] : `${accessToken}`,\n } : param.headers || {},\n })\n }\n}\n\nexport default ApiService","import { createSlice } from '@reduxjs/toolkit'\n\nexport const sessionSlice = createSlice({\n\tname: 'auth/session',\n\tinitialState: {\n token: '',\n signedIn: false,\n },\n\treducers: {\n onSignInSuccess: (state, action) => {\n state.signedIn = true\n state.token = action.payload\n },\n onSignOutSuccess: (state) => {\n state.signedIn = false\n state.token = ''\n },\n setToken: (state, action) => {\n state.token = action.payload\n }\n\t},\n})\n\nexport const { onSignInSuccess, onSignOutSuccess, setToken } = sessionSlice.actions\n\nexport default sessionSlice.reducer","import { createSlice } from '@reduxjs/toolkit'\n\nexport const initialState = {\n avatar: '',\n userName: '',\n email: '',\n authority: []\n}\n\nexport const userSlice = createSlice({\n\tname: 'auth/user',\n\tinitialState,\n\treducers: {\n setUser: (_, action) => action.payload,\n userLoggedOut: () => initialState,\n\t},\n})\n\nexport const { setUser } = userSlice.actions\n\nexport default userSlice.reducer","import { createSlice } from '@reduxjs/toolkit'\n\nexport const initialState = {\n currentRouteKey: '',\n}\n\nexport const commonSlice = createSlice({\n\tname: 'base/common',\n\tinitialState,\n\treducers: {\n setCurrentRouteKey: (state, action) => {\n state.currentRouteKey = action.payload\n }\n\t},\n})\n\nexport const { setCurrentRouteKey } = commonSlice.actions\n\nexport default commonSlice.reducer","import { createSlice } from '@reduxjs/toolkit'\nimport { themeConfig } from 'configs/theme.config'\nimport {\n\tLAYOUT_TYPE_MODERN,\n\tLAYOUT_TYPE_CLASSIC,\n\tLAYOUT_TYPE_STACKED_SIDE,\n\tNAV_MODE_TRANSPARENT,\n\tNAV_MODE_LIGHT,\n\tNAV_MODE_DARK,\n\tNAV_MODE_THEMED,\n\tMODE_DARK,\n\tMODE_LIGHT,\n\tLAYOUT_TYPE_DECKED\n} from 'constants/theme.constant'\n\nconst initialNavMode = () => {\n\n\tif (themeConfig.layout.type === LAYOUT_TYPE_MODERN && themeConfig.navMode !== NAV_MODE_THEMED) {\n\t\treturn NAV_MODE_TRANSPARENT\n\t}\n\n\treturn themeConfig.navMode\n}\n\nconst initialState = {\n\tthemeColor: themeConfig.themeColor,\n direction: themeConfig.direction,\n mode: themeConfig.mode,\n locale: themeConfig.locale,\n primaryColorLevel: themeConfig.primaryColorLevel,\n panelExpand: themeConfig.panelExpand,\n navMode: initialNavMode(),\n layout: themeConfig.layout\n}\n\nconst availableNavColorLayouts = [\n\tLAYOUT_TYPE_CLASSIC,\n\tLAYOUT_TYPE_STACKED_SIDE,\n\tLAYOUT_TYPE_DECKED\n]\n\nexport const themeSlice = createSlice({\n\tname: 'theme',\n\tinitialState,\n\treducers: {\n\t\tsetDirection: (state, action) => {\n\t\t\tstate.direction = action.payload\n\t\t},\n\t\tsetMode: (state, action) => {\n\n\t\t\tconst availableColorNav = availableNavColorLayouts.includes(state.layout.type)\n\n\t\t\tif (availableColorNav && action.payload === MODE_DARK && state.navMode !== NAV_MODE_THEMED) {\n\t\t\t\tstate.navMode = NAV_MODE_DARK\n\t\t\t}\n\t\t\tif (availableColorNav && action.payload === MODE_LIGHT && state.navMode !== NAV_MODE_THEMED) {\n\t\t\t\tstate.navMode = NAV_MODE_LIGHT\n\t\t\t}\n\t\t\tstate.mode = action.payload\n\t\t},\n\t\tsetLang: (state, action) => {\n\t\t\tstate.locale = action.payload\n\t\t},\n\t\tsetLayout: (state, action) => {\n\t\t\tstate.cardBordered = action.payload === LAYOUT_TYPE_MODERN\n\t\t\tif (action.payload === LAYOUT_TYPE_MODERN) {\n\t\t\t\tstate.navMode = NAV_MODE_TRANSPARENT\n\t\t\t}\n\n\t\t\tconst availableColorNav = availableNavColorLayouts.includes(action.payload)\n\n\t\t\tif (availableColorNav && state.mode === MODE_LIGHT) {\n\t\t\t\tstate.navMode = NAV_MODE_LIGHT\n\t\t\t}\n\n\t\t\tif (availableColorNav && state.mode === MODE_DARK) {\n\t\t\t\tstate.navMode = NAV_MODE_DARK\n\t\t\t}\n\n\t\t\tstate.layout = {\n\t\t\t\t...state.layout,\n\t\t\t\t...{type: action.payload}\n\t\t\t}\n\t\t},\n\t\tsetPreviousLayout: (state, action) => {\n\t\t\tstate.layout.previousType = action.payload\n\t\t},\n\t\tsetSideNavCollapse: (state, action) => {\n\t\t\tstate.layout = {\n\t\t\t\t...state.layout,\n\t\t\t\t...{sideNavCollapse: action.payload}\n\t\t\t}\n\t\t},\n\t\tsetNavMode: (state, action) => {\n\t\t\tif (action.payload !== 'default') {\n\t\t\t\tstate.navMode = action.payload\n\t\t\t} else {\n\t\t\t\tif (state.layout.type === LAYOUT_TYPE_MODERN) {\n\t\t\t\t\tstate.navMode = NAV_MODE_TRANSPARENT\n\t\t\t\t}\n\n\t\t\t\tconst availableColorNav = availableNavColorLayouts.includes(state.layout.type)\n\n\t\t\t\tif (availableColorNav && state.mode === MODE_LIGHT ) {\n\t\t\t\t\tstate.navMode = NAV_MODE_LIGHT\n\t\t\t\t}\n\n\t\t\t\tif (availableColorNav && state.mode === MODE_DARK ) {\n\t\t\t\t\tstate.navMode = NAV_MODE_DARK\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tsetPanelExpand: (state, action) => {\n\t\t\tstate.panelExpand = action.payload\n\t\t},\n\t\tsetThemeColor: (state, action) => {\n\t\t\tstate.themeColor = action.payload\n\t\t},\n\t\tsetThemeColorLevel: (state, action) => {\n\t\t\tstate.primaryColorLevel = action.payload\n\t\t},\n\t},\n})\n\nexport const {\n\tsetDirection,\n\tsetMode,\n\tsetLang,\n\tsetLayout,\n\tsetSideNavCollapse,\n\tsetNavMode,\n\tsetPanelExpand,\n\tsetThemeColor,\n\tsetThemeColorLevel,\n\tsetPreviousLayout\n} = themeSlice.actions\n\nexport default themeSlice.reducer","const isNumString = (str) => !isNaN(Number(str))\n\nfunction deepParseJson(jsonString) {\n if (typeof jsonString === 'string') {\n if (isNumString(jsonString)) {\n return jsonString\n }\n try {\n return deepParseJson(JSON.parse(jsonString))\n } catch (err) {\n return jsonString\n }\n } else if (Array.isArray(jsonString)) {\n return jsonString.map(val => deepParseJson(val))\n } else if (typeof jsonString === 'object' && jsonString !== null) {\n return Object.keys(jsonString).reduce((obj, key) => {\n const val = jsonString[key]\n obj[key] = isNumString(val) ? val : deepParseJson(val)\n return obj\n }, {})\n } else {\n return jsonString\n }\n}\n\nexport default deepParseJson","import { useCallback } from \"react\"\nimport { onSignOutSuccess } from \"store/auth/sessionSlice\"\nimport { initialState, setUser } from \"store/auth/userSlice\"\nimport appConfig from \"configs/app.config\"\nimport { useNavigate } from \"react-router-dom\"\nimport { useDispatch } from \"react-redux\"\nimport openNotification from \"utils/openNotification\"\n\nexport default function useResponse () {\n\tconst navigate = useNavigate()\n const dispatch = useDispatch()\n\n const handleSignOut = useCallback(() => {\n\t\tdispatch(onSignOutSuccess())\n\t\tdispatch(setUser(initialState))\n\t\tnavigate(appConfig.unAuthenticatedEntryPath)\n\t}, [dispatch, navigate])\n\n const SuccessResponse = useCallback(( data = {} ) => {\n return {\n status: 'success',\n message: '',\n data\n }\n }, [])\n\n const FailedResponse = useCallback(( error ) => {\n console.log(error)\n if (error?.response?.status === 403) {\n handleSignOut()\n openNotification({\n type: 'danger',\n message: 'errors.forbidden',\n description: 'errors.forbiddenDescription'\n })\n return {\n status: 'failed',\n message: 'errors.unauthorized',\n error\n }\n }\n return {\n status: 'failed',\n message: error?.response?.data?.messageCode ? `errors.${error?.response?.data?.messageCode}` : 'errors.unexpected',\n error\n }\n }, [handleSignOut])\n\n return {\n SuccessResponse,\n FailedResponse\n }\n}\n","import { REQUEST_HEADER_AUTH_KEY, URL } from 'constants/api.constant'\nimport ApiService from './ApiService'\n\nexport async function apiSignIn (data) {\n return ApiService.fetchData({\n url: `${URL}/v1/user/login`,\n method: 'post',\n data\n })\n}\n\nexport async function apiSignUp (data) {\n return ApiService.fetchData({\n url: `${URL}/v1/user`,\n method: 'post',\n data\n })\n}\n\nexport async function apiConfirmEmail (token) {\n return ApiService.fetchData({\n url: `${URL}/v1/user/confirm-email`,\n method: 'post',\n headers: {\n [REQUEST_HEADER_AUTH_KEY] : `${token}`,\n }\n })\n}\n\nexport async function apiSendConfirmEmail (data, token) {\n return ApiService.fetchData({\n url: `${URL}/v1/user/send-confirmation-email`,\n method: 'post',\n data,\n headers: {\n [REQUEST_HEADER_AUTH_KEY] : `${token}`,\n }\n })\n}\n\nexport async function apiSignOut (data) {\n return ApiService.fetchData({\n url: '/sign-out',\n method: 'post',\n data\n })\n}\n\nexport async function apiForgotPassword (data) {\n return ApiService.fetchData({\n url: `${URL}/v1/user/forgot-password`,\n method: 'post',\n data\n })\n}\n\nexport async function apiResetPassword (data, token) {\n return ApiService.fetchData({\n url: `${URL}/v1/user/reset-password`,\n method: 'post',\n data,\n headers: {\n [REQUEST_HEADER_AUTH_KEY] : `${token}`,\n }\n })\n}\n","/**\n * The code was extracted from:\n * https://github.com/davidchambers/Base64.js\n */\n\nvar chars = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\n\nfunction InvalidCharacterError(message) {\n this.message = message;\n}\n\nInvalidCharacterError.prototype = new Error();\nInvalidCharacterError.prototype.name = \"InvalidCharacterError\";\n\nfunction polyfill(input) {\n var str = String(input).replace(/=+$/, \"\");\n if (str.length % 4 == 1) {\n throw new InvalidCharacterError(\n \"'atob' failed: The string to be decoded is not correctly encoded.\"\n );\n }\n for (\n // initialize result and counters\n var bc = 0, bs, buffer, idx = 0, output = \"\";\n // get next character\n (buffer = str.charAt(idx++));\n // character found in table? initialize bit storage and add its ascii value;\n ~buffer &&\n ((bs = bc % 4 ? bs * 64 + buffer : buffer),\n // and if not first of each 4 characters,\n // convert the first 8 bits to one ascii character\n bc++ % 4) ?\n (output += String.fromCharCode(255 & (bs >> ((-2 * bc) & 6)))) :\n 0\n ) {\n // try to find character in table (0-63, not found => -1)\n buffer = chars.indexOf(buffer);\n }\n return output;\n}\n\nexport default (typeof window !== \"undefined\" &&\n window.atob &&\n window.atob.bind(window)) ||\npolyfill;","import atob from \"./atob\";\n\nfunction b64DecodeUnicode(str) {\n return decodeURIComponent(\n atob(str).replace(/(.)/g, function(m, p) {\n var code = p.charCodeAt(0).toString(16).toUpperCase();\n if (code.length < 2) {\n code = \"0\" + code;\n }\n return \"%\" + code;\n })\n );\n}\n\nexport default function(str) {\n var output = str.replace(/-/g, \"+\").replace(/_/g, \"/\");\n switch (output.length % 4) {\n case 0:\n break;\n case 2:\n output += \"==\";\n break;\n case 3:\n output += \"=\";\n break;\n default:\n throw \"Illegal base64url string!\";\n }\n\n try {\n return b64DecodeUnicode(output);\n } catch (err) {\n return atob(output);\n }\n}","\"use strict\";\n\nimport base64_url_decode from \"./base64_url_decode\";\n\nexport function InvalidTokenError(message) {\n this.message = message;\n}\n\nInvalidTokenError.prototype = new Error();\nInvalidTokenError.prototype.name = \"InvalidTokenError\";\n\nexport default function(token, options) {\n if (typeof token !== \"string\") {\n throw new InvalidTokenError(\"Invalid token specified\");\n }\n\n options = options || {};\n var pos = options.header === true ? 0 : 1;\n try {\n return JSON.parse(base64_url_decode(token.split(\".\")[pos]));\n } catch (e) {\n throw new InvalidTokenError(\"Invalid token specified: \" + e.message);\n }\n}","import { useSelector, useDispatch } from 'react-redux'\nimport { setUser, initialState } from 'store/auth/userSlice'\nimport { apiSignIn, apiSignUp, apiConfirmEmail, apiSendConfirmEmail, apiForgotPassword, apiResetPassword } from 'services/AuthService'\nimport { onSignInSuccess, onSignOutSuccess } from 'store/auth/sessionSlice'\nimport appConfig from 'configs/app.config'\nimport { REDIRECT_URL_KEY } from 'constants/app.constant'\nimport { useNavigate } from 'react-router-dom'\nimport useQuery from './useQuery'\nimport jwt_decode from \"jwt-decode\";\nimport { useCallback } from 'react'\nimport useResponse from './custom/useResponse'\n\nfunction useAuth() {\n\tconst { FailedResponse, SuccessResponse } = useResponse()\n\tconst dispatch = useDispatch()\n\n\tconst navigate = useNavigate()\n\n\tconst query = useQuery()\n\n\tconst { token, signedIn, user } = useSelector((state) => state.auth.session)\n\n\tconst signIn = useCallback(async (values) => {\n\t\ttry {\n\t\t\tconst data = {\n\t\t\t\tuser: values.user.trim(),\n\t\t\t\tpassword: values.password.trim(),\n\t\t\t}\n\t\t\tconst resp = await apiSignIn(data)\n\t\t\tif (resp.data?.token) {\n\t\t\t\tconst { token } = resp.data;\n\t\t\t\t// const decoded = jwt_decode(token); // delete this\n\n\t\t\t\tconst user = {\n\t\t\t\t\t...resp.data.user,\n\t\t\t\t\tavatar: resp.data.user?.profilePic || '',\n\t\t\t\t\tauthority: [resp.data.user.role.toUpperCase()]\n\t\t\t\t}\n\t\t\t\t// delete user.role; // also delete this\n\n\t\t\t\tif (user.isActive) {\n\t\t\t\t\tdispatch(onSignInSuccess(token))\n\t\t\t\t\tdispatch(setUser(user))\n\t\t\t\t\tconst redirectUrl = query.get(REDIRECT_URL_KEY)\n\t\t\t\t\tnavigate(redirectUrl ? redirectUrl : appConfig.authenticatedEntryPath)\n\n\t\t\t\t\treturn SuccessResponse()\n\t\t\t\t}\n\n\t\t\t\tnavigate(`/send-confirm-email/${token}`, { replace: true, state: { email: user.email } })\n\t\t\t}\n\n\t\t\tthrow Error()\n\t\t} catch (errors) {\n\t\t\treturn FailedResponse(errors)\n\t\t}\n\t}, [FailedResponse, SuccessResponse, dispatch, navigate, query])\n\n\tconst signUp = useCallback(async (values) => {\n\t\ttry {\n\t\t\tconst data = {\n\t\t\t\t...values,\n\t\t\t\tname: values.name.trim(),\n\t\t\t\tfirstSurname: values.firstSurname.trim(),\n\t\t\t\tsecondSurname: values.secondSurname.trim(),\n\t\t\t}\n\t\t\tconst resp = await apiSignUp(data)\n\t\t\tif (resp.data) {\n\t\t\t\tconst { token } = resp.data;\n\t\t\t\tconst decoded = jwt_decode(token);\n\t\t\t\tconst user = {\n\t\t\t\t\t...decoded,\n\t\t\t\t\tavatar: '',\n\t\t\t\t\tauthority: [decoded.role.toUpperCase()]\n\t\t\t\t}\n\t\t\t\tdelete user.role;\n\n\t\t\t\tif (user.isActive) {\n\t\t\t\t\tdispatch(onSignInSuccess(token))\n\t\t\t\t\tdispatch(setUser(user))\n\t\t\t\t\tconst redirectUrl = query.get(REDIRECT_URL_KEY)\n\t\t\t\t\tnavigate(redirectUrl ? redirectUrl : appConfig.authenticatedEntryPath)\n\n\t\t\t\t\treturn SuccessResponse()\n\t\t\t\t}\n\t\t\t\tnavigate(`/send-confirm-email/${token}`, { replace: true, state: { email: user.email } })\n\t\t\t}\n\t\t} catch (errors) {\n\t\t\treturn FailedResponse(errors)\n\t\t}\n\t}, [FailedResponse, SuccessResponse, dispatch, navigate, query])\n\n\tconst confirmEmail = useCallback(async (token) => {\n\t\ttry {\n\t\t\tconst resp = await apiConfirmEmail(token)\n\t\t\treturn SuccessResponse(resp.data)\n\t\t} catch (errors) {\n\t\t\treturn FailedResponse(errors)\n\t\t}\n\t}, [FailedResponse, SuccessResponse])\n\n\tconst sendConfirmEmail = useCallback(async (token) => {\n\t\ttry {\n\t\t\tconst data = {\n\t\t\t\tconfirmEmailLink: `${window.location.origin}/confirm-email`\n\t\t\t}\n\n\t\t\tconst resp = await apiSendConfirmEmail(data, token)\n\t\t\treturn SuccessResponse(resp.data)\n\t\t} catch (errors) {\n\t\t\treturn FailedResponse(errors)\n\t\t}\n\t}, [FailedResponse, SuccessResponse])\n\n\tconst forgotPassword = useCallback(async (values) => {\n\t\ttry {\n\t\t\tconst data = {\n\t\t\t\t...values,\n\t\t\t\tforgotPasswordLink: `${window.location.origin}/reset-password`\n\t\t\t}\n\t\t\tconst resp = await apiForgotPassword(data)\n\t\t\treturn SuccessResponse(resp.data)\n\t\t} catch (errors) {\n\t\t\treturn FailedResponse(errors)\n\t\t}\n\t}, [FailedResponse, SuccessResponse])\n\n\tconst resetPassword = useCallback(async (values, token) => {\n\t\ttry {\n\t\t\tconst resp = await apiResetPassword(values, token)\n\t\t\treturn SuccessResponse(resp.data)\n\t\t} catch (errors) {\n\t\t\treturn FailedResponse(errors)\n\t\t}\n\t}, [FailedResponse, SuccessResponse])\n\n\tconst handleSignOut = useCallback(() => {\n\t\tdispatch(onSignOutSuccess())\n\t\tdispatch(setUser(initialState))\n\t\tnavigate(appConfig.unAuthenticatedEntryPath)\n\t}, [dispatch, navigate])\n\n\tconst signOut = useCallback(async () => {\n\t\thandleSignOut()\n\t}, [handleSignOut])\n\n\treturn {\n\t\tuser,\n\t\tactivated: user && user.isActive,\n\t\tauthenticated: token && signedIn,\n\t\tsignIn,\n\t\tsignUp,\n\t\tsignOut,\n\t\tconfirmEmail,\n\t\tsendConfirmEmail,\n\t\tforgotPassword,\n\t\tresetPassword\n\t}\n}\n\nexport default useAuth","import { useMemo } from 'react'\nimport { useLocation } from 'react-router-dom'\n\nexport default function useQuery() {\n\tconst { search } = useLocation()\n\treturn useMemo(() => new URLSearchParams(search), [search])\n}","import { useMemo } from 'react'\nimport isEmpty from 'lodash/isEmpty'\n\nfunction useAuthority(userAuthority = [], authority = [], emptyCheck = false) {\n\n const roleMatched = useMemo(() => {\n\t\treturn authority.some(role => userAuthority.includes(role))\n\t}, [authority, userAuthority])\n \n if (isEmpty(authority) || isEmpty(userAuthority) || typeof authority === 'undefined') {\n\t\treturn !emptyCheck\n\t}\n\n return roleMatched\n}\n\nexport default useAuthority","import { useEffect } from 'react'\nimport { useSelector, useDispatch } from 'react-redux'\nimport { THEME_ENUM } from 'constants/theme.constant'\nimport { setMode } from 'store/theme/themeSlice'\n\nfunction useDarkMode() {\n\n const mode = useSelector((state) => state.theme.mode)\n const { MODE_DARK, MODE_LIGHT } = THEME_ENUM\n\n const isEnabled = mode === MODE_DARK\n\n const dispatch = useDispatch()\n const onModeChange = mode => {\n dispatch(setMode(mode))\n }\n\n useEffect(() => {\n if (window === undefined) {\n return\n }\n const root = window.document.documentElement\n root.classList.remove(isEnabled ? MODE_LIGHT : MODE_DARK)\n root.classList.add(isEnabled ? MODE_DARK : MODE_LIGHT)\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isEnabled])\n\n return [isEnabled, onModeChange]\n}\n\nexport default useDarkMode","import { useEffect } from 'react'\nimport { useSelector, useDispatch } from 'react-redux'\nimport { setDirection } from 'store/theme/themeSlice'\n\nfunction useDirection() {\n\n const direction = useSelector((state) => state.theme.direction)\n\n const dispatch = useDispatch()\n const updateDirection = dir => dispatch(setDirection(dir))\n\n useEffect(() => {\n if (window === undefined) {\n return\n }\n const root = window.document.documentElement\n root.setAttribute('dir', direction)\n }, [direction])\n \n return [direction, updateDirection]\n}\n\nexport default useDirection","import { useConfig } from 'components/ui'\n\nfunction useThemeClass() {\n\n const { themeColor, primaryColorLevel } = useConfig()\n const color = `${themeColor}-${primaryColorLevel}`\n \n return {\n ringTheme: `ring-${color}`,\n borderTheme: `border-${color}`,\n bgTheme: `bg-${color}`,\n textTheme: `text-${color}`\n }\n}\n\nexport default useThemeClass","import { Notification, toast } from 'components/ui'\n\n// const types = [\"info\",\"success\",\"warning\",\"danger\"];\nfunction notification(title) {\n toast.push(\n \n )\n}\n\nfunction notificationType(text, type) {\n toast.push(\n \n )\n}\n\nfunction notificationWithSubtitle(text, subtitle) {\n toast.push(\n \n {subtitle}\n \n )\n}\n\nexport default function openNotification ({ title, type = null, subtitle = null }) {\n\n if (!title && title !== '') return\n if (!type && !subtitle) return notification(title)\n if (type && !subtitle) return notificationType(title, type)\n if (!type && subtitle) return notificationWithSubtitle(title, subtitle)\n\n return toast.push(\n \n {subtitle}\n \n )\n}","/*\n\nBased off glamor's StyleSheet, thanks Sunil ❤️\n\nhigh performance StyleSheet for css-in-js systems\n\n- uses multiple style tags behind the scenes for millions of rules\n- uses `insertRule` for appending in production for *much* faster performance\n\n// usage\n\nimport { StyleSheet } from '@emotion/sheet'\n\nlet styleSheet = new StyleSheet({ key: '', container: document.head })\n\nstyleSheet.insert('#box { border: 1px solid red; }')\n- appends a css rule into the stylesheet\n\nstyleSheet.flush()\n- empties the stylesheet of all its contents\n\n*/\n// $FlowFixMe\nfunction sheetForTag(tag) {\n if (tag.sheet) {\n // $FlowFixMe\n return tag.sheet;\n } // this weirdness brought to you by firefox\n\n /* istanbul ignore next */\n\n\n for (var i = 0; i < document.styleSheets.length; i++) {\n if (document.styleSheets[i].ownerNode === tag) {\n // $FlowFixMe\n return document.styleSheets[i];\n }\n }\n}\n\nfunction createStyleElement(options) {\n var tag = document.createElement('style');\n tag.setAttribute('data-emotion', options.key);\n\n if (options.nonce !== undefined) {\n tag.setAttribute('nonce', options.nonce);\n }\n\n tag.appendChild(document.createTextNode(''));\n tag.setAttribute('data-s', '');\n return tag;\n}\n\nvar StyleSheet = /*#__PURE__*/function () {\n // Using Node instead of HTMLElement since container may be a ShadowRoot\n function StyleSheet(options) {\n var _this = this;\n\n this._insertTag = function (tag) {\n var before;\n\n if (_this.tags.length === 0) {\n if (_this.insertionPoint) {\n before = _this.insertionPoint.nextSibling;\n } else if (_this.prepend) {\n before = _this.container.firstChild;\n } else {\n before = _this.before;\n }\n } else {\n before = _this.tags[_this.tags.length - 1].nextSibling;\n }\n\n _this.container.insertBefore(tag, before);\n\n _this.tags.push(tag);\n };\n\n this.isSpeedy = options.speedy === undefined ? process.env.NODE_ENV === 'production' : options.speedy;\n this.tags = [];\n this.ctr = 0;\n this.nonce = options.nonce; // key is the value of the data-emotion attribute, it's used to identify different sheets\n\n this.key = options.key;\n this.container = options.container;\n this.prepend = options.prepend;\n this.insertionPoint = options.insertionPoint;\n this.before = null;\n }\n\n var _proto = StyleSheet.prototype;\n\n _proto.hydrate = function hydrate(nodes) {\n nodes.forEach(this._insertTag);\n };\n\n _proto.insert = function insert(rule) {\n // the max length is how many rules we have per style tag, it's 65000 in speedy mode\n // it's 1 in dev because we insert source maps that map a single rule to a location\n // and you can only have one source map per style tag\n if (this.ctr % (this.isSpeedy ? 65000 : 1) === 0) {\n this._insertTag(createStyleElement(this));\n }\n\n var tag = this.tags[this.tags.length - 1];\n\n if (process.env.NODE_ENV !== 'production') {\n var isImportRule = rule.charCodeAt(0) === 64 && rule.charCodeAt(1) === 105;\n\n if (isImportRule && this._alreadyInsertedOrderInsensitiveRule) {\n // this would only cause problem in speedy mode\n // but we don't want enabling speedy to affect the observable behavior\n // so we report this error at all times\n console.error(\"You're attempting to insert the following rule:\\n\" + rule + '\\n\\n`@import` rules must be before all other types of rules in a stylesheet but other rules have already been inserted. Please ensure that `@import` rules are before all other rules.');\n }\n this._alreadyInsertedOrderInsensitiveRule = this._alreadyInsertedOrderInsensitiveRule || !isImportRule;\n }\n\n if (this.isSpeedy) {\n var sheet = sheetForTag(tag);\n\n try {\n // this is the ultrafast version, works across browsers\n // the big drawback is that the css won't be editable in devtools\n sheet.insertRule(rule, sheet.cssRules.length);\n } catch (e) {\n if (process.env.NODE_ENV !== 'production' && !/:(-moz-placeholder|-moz-focus-inner|-moz-focusring|-ms-input-placeholder|-moz-read-write|-moz-read-only|-ms-clear|-ms-expand|-ms-reveal){/.test(rule)) {\n console.error(\"There was a problem inserting the following rule: \\\"\" + rule + \"\\\"\", e);\n }\n }\n } else {\n tag.appendChild(document.createTextNode(rule));\n }\n\n this.ctr++;\n };\n\n _proto.flush = function flush() {\n // $FlowFixMe\n this.tags.forEach(function (tag) {\n return tag.parentNode && tag.parentNode.removeChild(tag);\n });\n this.tags = [];\n this.ctr = 0;\n\n if (process.env.NODE_ENV !== 'production') {\n this._alreadyInsertedOrderInsensitiveRule = false;\n }\n };\n\n return StyleSheet;\n}();\n\nexport { StyleSheet };\n","/**\n * @param {number}\n * @return {number}\n */\nexport var abs = Math.abs\n\n/**\n * @param {number}\n * @return {string}\n */\nexport var from = String.fromCharCode\n\n/**\n * @param {object}\n * @return {object}\n */\nexport var assign = Object.assign\n\n/**\n * @param {string} value\n * @param {number} length\n * @return {number}\n */\nexport function hash (value, length) {\n\treturn charat(value, 0) ^ 45 ? (((((((length << 2) ^ charat(value, 0)) << 2) ^ charat(value, 1)) << 2) ^ charat(value, 2)) << 2) ^ charat(value, 3) : 0\n}\n\n/**\n * @param {string} value\n * @return {string}\n */\nexport function trim (value) {\n\treturn value.trim()\n}\n\n/**\n * @param {string} value\n * @param {RegExp} pattern\n * @return {string?}\n */\nexport function match (value, pattern) {\n\treturn (value = pattern.exec(value)) ? value[0] : value\n}\n\n/**\n * @param {string} value\n * @param {(string|RegExp)} pattern\n * @param {string} replacement\n * @return {string}\n */\nexport function replace (value, pattern, replacement) {\n\treturn value.replace(pattern, replacement)\n}\n\n/**\n * @param {string} value\n * @param {string} search\n * @return {number}\n */\nexport function indexof (value, search) {\n\treturn value.indexOf(search)\n}\n\n/**\n * @param {string} value\n * @param {number} index\n * @return {number}\n */\nexport function charat (value, index) {\n\treturn value.charCodeAt(index) | 0\n}\n\n/**\n * @param {string} value\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function substr (value, begin, end) {\n\treturn value.slice(begin, end)\n}\n\n/**\n * @param {string} value\n * @return {number}\n */\nexport function strlen (value) {\n\treturn value.length\n}\n\n/**\n * @param {any[]} value\n * @return {number}\n */\nexport function sizeof (value) {\n\treturn value.length\n}\n\n/**\n * @param {any} value\n * @param {any[]} array\n * @return {any}\n */\nexport function append (value, array) {\n\treturn array.push(value), value\n}\n\n/**\n * @param {string[]} array\n * @param {function} callback\n * @return {string}\n */\nexport function combine (array, callback) {\n\treturn array.map(callback).join('')\n}\n","import {from, trim, charat, strlen, substr, append, assign} from './Utility.js'\n\nexport var line = 1\nexport var column = 1\nexport var length = 0\nexport var position = 0\nexport var character = 0\nexport var characters = ''\n\n/**\n * @param {string} value\n * @param {object | null} root\n * @param {object | null} parent\n * @param {string} type\n * @param {string[] | string} props\n * @param {object[] | string} children\n * @param {number} length\n */\nexport function node (value, root, parent, type, props, children, length) {\n\treturn {value: value, root: root, parent: parent, type: type, props: props, children: children, line: line, column: column, length: length, return: ''}\n}\n\n/**\n * @param {object} root\n * @param {object} props\n * @return {object}\n */\nexport function copy (root, props) {\n\treturn assign(node('', null, null, '', null, null, 0), root, {length: -root.length}, props)\n}\n\n/**\n * @return {number}\n */\nexport function char () {\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function prev () {\n\tcharacter = position > 0 ? charat(characters, --position) : 0\n\n\tif (column--, character === 10)\n\t\tcolumn = 1, line--\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function next () {\n\tcharacter = position < length ? charat(characters, position++) : 0\n\n\tif (column++, character === 10)\n\t\tcolumn = 1, line++\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function peek () {\n\treturn charat(characters, position)\n}\n\n/**\n * @return {number}\n */\nexport function caret () {\n\treturn position\n}\n\n/**\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function slice (begin, end) {\n\treturn substr(characters, begin, end)\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function token (type) {\n\tswitch (type) {\n\t\t// \\0 \\t \\n \\r \\s whitespace token\n\t\tcase 0: case 9: case 10: case 13: case 32:\n\t\t\treturn 5\n\t\t// ! + , / > @ ~ isolate token\n\t\tcase 33: case 43: case 44: case 47: case 62: case 64: case 126:\n\t\t// ; { } breakpoint token\n\t\tcase 59: case 123: case 125:\n\t\t\treturn 4\n\t\t// : accompanied token\n\t\tcase 58:\n\t\t\treturn 3\n\t\t// \" ' ( [ opening delimit token\n\t\tcase 34: case 39: case 40: case 91:\n\t\t\treturn 2\n\t\t// ) ] closing delimit token\n\t\tcase 41: case 93:\n\t\t\treturn 1\n\t}\n\n\treturn 0\n}\n\n/**\n * @param {string} value\n * @return {any[]}\n */\nexport function alloc (value) {\n\treturn line = column = 1, length = strlen(characters = value), position = 0, []\n}\n\n/**\n * @param {any} value\n * @return {any}\n */\nexport function dealloc (value) {\n\treturn characters = '', value\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function delimit (type) {\n\treturn trim(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type)))\n}\n\n/**\n * @param {string} value\n * @return {string[]}\n */\nexport function tokenize (value) {\n\treturn dealloc(tokenizer(alloc(value)))\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function whitespace (type) {\n\twhile (character = peek())\n\t\tif (character < 33)\n\t\t\tnext()\n\t\telse\n\t\t\tbreak\n\n\treturn token(type) > 2 || token(character) > 3 ? '' : ' '\n}\n\n/**\n * @param {string[]} children\n * @return {string[]}\n */\nexport function tokenizer (children) {\n\twhile (next())\n\t\tswitch (token(character)) {\n\t\t\tcase 0: append(identifier(position - 1), children)\n\t\t\t\tbreak\n\t\t\tcase 2: append(delimit(character), children)\n\t\t\t\tbreak\n\t\t\tdefault: append(from(character), children)\n\t\t}\n\n\treturn children\n}\n\n/**\n * @param {number} index\n * @param {number} count\n * @return {string}\n */\nexport function escaping (index, count) {\n\twhile (--count && next())\n\t\t// not 0-9 A-F a-f\n\t\tif (character < 48 || character > 102 || (character > 57 && character < 65) || (character > 70 && character < 97))\n\t\t\tbreak\n\n\treturn slice(index, caret() + (count < 6 && peek() == 32 && next() == 32))\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function delimiter (type) {\n\twhile (next())\n\t\tswitch (character) {\n\t\t\t// ] ) \" '\n\t\t\tcase type:\n\t\t\t\treturn position\n\t\t\t// \" '\n\t\t\tcase 34: case 39:\n\t\t\t\tif (type !== 34 && type !== 39)\n\t\t\t\t\tdelimiter(character)\n\t\t\t\tbreak\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (type === 41)\n\t\t\t\t\tdelimiter(type)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tnext()\n\t\t\t\tbreak\n\t\t}\n\n\treturn position\n}\n\n/**\n * @param {number} type\n * @param {number} index\n * @return {number}\n */\nexport function commenter (type, index) {\n\twhile (next())\n\t\t// //\n\t\tif (type + character === 47 + 10)\n\t\t\tbreak\n\t\t// /*\n\t\telse if (type + character === 42 + 42 && peek() === 47)\n\t\t\tbreak\n\n\treturn '/*' + slice(index, position - 1) + '*' + from(type === 47 ? type : next())\n}\n\n/**\n * @param {number} index\n * @return {string}\n */\nexport function identifier (index) {\n\twhile (!token(peek()))\n\t\tnext()\n\n\treturn slice(index, position)\n}\n","export var MS = '-ms-'\nexport var MOZ = '-moz-'\nexport var WEBKIT = '-webkit-'\n\nexport var COMMENT = 'comm'\nexport var RULESET = 'rule'\nexport var DECLARATION = 'decl'\n\nexport var PAGE = '@page'\nexport var MEDIA = '@media'\nexport var IMPORT = '@import'\nexport var CHARSET = '@charset'\nexport var VIEWPORT = '@viewport'\nexport var SUPPORTS = '@supports'\nexport var DOCUMENT = '@document'\nexport var NAMESPACE = '@namespace'\nexport var KEYFRAMES = '@keyframes'\nexport var FONT_FACE = '@font-face'\nexport var COUNTER_STYLE = '@counter-style'\nexport var FONT_FEATURE_VALUES = '@font-feature-values'\n","import {IMPORT, COMMENT, RULESET, DECLARATION, KEYFRAMES} from './Enum.js'\nimport {strlen, sizeof} from './Utility.js'\n\n/**\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function serialize (children, callback) {\n\tvar output = ''\n\tvar length = sizeof(children)\n\n\tfor (var i = 0; i < length; i++)\n\t\toutput += callback(children[i], i, children, callback) || ''\n\n\treturn output\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function stringify (element, index, children, callback) {\n\tswitch (element.type) {\n\t\tcase IMPORT: case DECLARATION: return element.return = element.return || element.value\n\t\tcase COMMENT: return ''\n\t\tcase KEYFRAMES: return element.return = element.value + '{' + serialize(element.children, callback) + '}'\n\t\tcase RULESET: element.value = element.props.join(',')\n\t}\n\n\treturn strlen(children = serialize(element.children, callback)) ? element.return = element.value + '{' + children + '}' : ''\n}\n","import {COMMENT, RULESET, DECLARATION} from './Enum.js'\nimport {abs, charat, trim, from, sizeof, strlen, substr, append, replace, indexof} from './Utility.js'\nimport {node, char, prev, next, peek, caret, alloc, dealloc, delimit, whitespace, escaping, identifier, commenter} from './Tokenizer.js'\n\n/**\n * @param {string} value\n * @return {object[]}\n */\nexport function compile (value) {\n\treturn dealloc(parse('', null, null, null, [''], value = alloc(value), 0, [0], value))\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {string[]} rule\n * @param {string[]} rules\n * @param {string[]} rulesets\n * @param {number[]} pseudo\n * @param {number[]} points\n * @param {string[]} declarations\n * @return {object}\n */\nexport function parse (value, root, parent, rule, rules, rulesets, pseudo, points, declarations) {\n\tvar index = 0\n\tvar offset = 0\n\tvar length = pseudo\n\tvar atrule = 0\n\tvar property = 0\n\tvar previous = 0\n\tvar variable = 1\n\tvar scanning = 1\n\tvar ampersand = 1\n\tvar character = 0\n\tvar type = ''\n\tvar props = rules\n\tvar children = rulesets\n\tvar reference = rule\n\tvar characters = type\n\n\twhile (scanning)\n\t\tswitch (previous = character, character = next()) {\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (previous != 108 && charat(characters, length - 1) == 58) {\n\t\t\t\t\tif (indexof(characters += replace(delimit(character), '&', '&\\f'), '&\\f') != -1)\n\t\t\t\t\t\tampersand = -1\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t// \" ' [\n\t\t\tcase 34: case 39: case 91:\n\t\t\t\tcharacters += delimit(character)\n\t\t\t\tbreak\n\t\t\t// \\t \\n \\r \\s\n\t\t\tcase 9: case 10: case 13: case 32:\n\t\t\t\tcharacters += whitespace(previous)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tcharacters += escaping(caret() - 1, 7)\n\t\t\t\tcontinue\n\t\t\t// /\n\t\t\tcase 47:\n\t\t\t\tswitch (peek()) {\n\t\t\t\t\tcase 42: case 47:\n\t\t\t\t\t\tappend(comment(commenter(next(), caret()), root, parent), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tcharacters += '/'\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t// {\n\t\t\tcase 123 * variable:\n\t\t\t\tpoints[index++] = strlen(characters) * ampersand\n\t\t\t// } ; \\0\n\t\t\tcase 125 * variable: case 59: case 0:\n\t\t\t\tswitch (character) {\n\t\t\t\t\t// \\0 }\n\t\t\t\t\tcase 0: case 125: scanning = 0\n\t\t\t\t\t// ;\n\t\t\t\t\tcase 59 + offset:\n\t\t\t\t\t\tif (property > 0 && (strlen(characters) - length))\n\t\t\t\t\t\t\tappend(property > 32 ? declaration(characters + ';', rule, parent, length - 1) : declaration(replace(characters, ' ', '') + ';', rule, parent, length - 2), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @ ;\n\t\t\t\t\tcase 59: characters += ';'\n\t\t\t\t\t// { rule/at-rule\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tappend(reference = ruleset(characters, root, parent, index, offset, rules, points, type, props = [], children = [], length), rulesets)\n\n\t\t\t\t\t\tif (character === 123)\n\t\t\t\t\t\t\tif (offset === 0)\n\t\t\t\t\t\t\t\tparse(characters, root, reference, reference, props, rulesets, length, points, children)\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tswitch (atrule === 99 && charat(characters, 3) === 110 ? 100 : atrule) {\n\t\t\t\t\t\t\t\t\t// d m s\n\t\t\t\t\t\t\t\t\tcase 100: case 109: case 115:\n\t\t\t\t\t\t\t\t\t\tparse(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length), children), rules, children, length, points, rule ? props : children)\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\t\tparse(characters, reference, reference, reference, [''], children, 0, points, children)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tindex = offset = property = 0, variable = ampersand = 1, type = characters = '', length = pseudo\n\t\t\t\tbreak\n\t\t\t// :\n\t\t\tcase 58:\n\t\t\t\tlength = 1 + strlen(characters), property = previous\n\t\t\tdefault:\n\t\t\t\tif (variable < 1)\n\t\t\t\t\tif (character == 123)\n\t\t\t\t\t\t--variable\n\t\t\t\t\telse if (character == 125 && variable++ == 0 && prev() == 125)\n\t\t\t\t\t\tcontinue\n\n\t\t\t\tswitch (characters += from(character), character * variable) {\n\t\t\t\t\t// &\n\t\t\t\t\tcase 38:\n\t\t\t\t\t\tampersand = offset > 0 ? 1 : (characters += '\\f', -1)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// ,\n\t\t\t\t\tcase 44:\n\t\t\t\t\t\tpoints[index++] = (strlen(characters) - 1) * ampersand, ampersand = 1\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @\n\t\t\t\t\tcase 64:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (peek() === 45)\n\t\t\t\t\t\t\tcharacters += delimit(next())\n\n\t\t\t\t\t\tatrule = peek(), offset = length = strlen(type = characters += identifier(caret())), character++\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// -\n\t\t\t\t\tcase 45:\n\t\t\t\t\t\tif (previous === 45 && strlen(characters) == 2)\n\t\t\t\t\t\t\tvariable = 0\n\t\t\t\t}\n\t\t}\n\n\treturn rulesets\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} index\n * @param {number} offset\n * @param {string[]} rules\n * @param {number[]} points\n * @param {string} type\n * @param {string[]} props\n * @param {string[]} children\n * @param {number} length\n * @return {object}\n */\nexport function ruleset (value, root, parent, index, offset, rules, points, type, props, children, length) {\n\tvar post = offset - 1\n\tvar rule = offset === 0 ? rules : ['']\n\tvar size = sizeof(rule)\n\n\tfor (var i = 0, j = 0, k = 0; i < index; ++i)\n\t\tfor (var x = 0, y = substr(value, post + 1, post = abs(j = points[i])), z = value; x < size; ++x)\n\t\t\tif (z = trim(j > 0 ? rule[x] + ' ' + y : replace(y, /&\\f/g, rule[x])))\n\t\t\t\tprops[k++] = z\n\n\treturn node(value, root, parent, offset === 0 ? RULESET : type, props, children, length)\n}\n\n/**\n * @param {number} value\n * @param {object} root\n * @param {object?} parent\n * @return {object}\n */\nexport function comment (value, root, parent) {\n\treturn node(value, root, parent, COMMENT, from(char()), substr(value, 2, -2), 0)\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} length\n * @return {object}\n */\nexport function declaration (value, root, parent, length) {\n\treturn node(value, root, parent, DECLARATION, substr(value, 0, length), substr(value, length + 1, -1), length)\n}\n","import { StyleSheet } from '@emotion/sheet';\nimport { dealloc, alloc, next, token, from, peek, delimit, slice, position, RULESET, combine, match, serialize, copy, replace, WEBKIT, MOZ, MS, KEYFRAMES, DECLARATION, hash, charat, strlen, indexof, stringify, COMMENT, rulesheet, middleware, compile } from 'stylis';\nimport '@emotion/weak-memoize';\nimport '@emotion/memoize';\n\nvar identifierWithPointTracking = function identifierWithPointTracking(begin, points, index) {\n var previous = 0;\n var character = 0;\n\n while (true) {\n previous = character;\n character = peek(); // &\\f\n\n if (previous === 38 && character === 12) {\n points[index] = 1;\n }\n\n if (token(character)) {\n break;\n }\n\n next();\n }\n\n return slice(begin, position);\n};\n\nvar toRules = function toRules(parsed, points) {\n // pretend we've started with a comma\n var index = -1;\n var character = 44;\n\n do {\n switch (token(character)) {\n case 0:\n // &\\f\n if (character === 38 && peek() === 12) {\n // this is not 100% correct, we don't account for literal sequences here - like for example quoted strings\n // stylis inserts \\f after & to know when & where it should replace this sequence with the context selector\n // and when it should just concatenate the outer and inner selectors\n // it's very unlikely for this sequence to actually appear in a different context, so we just leverage this fact here\n points[index] = 1;\n }\n\n parsed[index] += identifierWithPointTracking(position - 1, points, index);\n break;\n\n case 2:\n parsed[index] += delimit(character);\n break;\n\n case 4:\n // comma\n if (character === 44) {\n // colon\n parsed[++index] = peek() === 58 ? '&\\f' : '';\n points[index] = parsed[index].length;\n break;\n }\n\n // fallthrough\n\n default:\n parsed[index] += from(character);\n }\n } while (character = next());\n\n return parsed;\n};\n\nvar getRules = function getRules(value, points) {\n return dealloc(toRules(alloc(value), points));\n}; // WeakSet would be more appropriate, but only WeakMap is supported in IE11\n\n\nvar fixedElements = /* #__PURE__ */new WeakMap();\nvar compat = function compat(element) {\n if (element.type !== 'rule' || !element.parent || // positive .length indicates that this rule contains pseudo\n // negative .length indicates that this rule has been already prefixed\n element.length < 1) {\n return;\n }\n\n var value = element.value,\n parent = element.parent;\n var isImplicitRule = element.column === parent.column && element.line === parent.line;\n\n while (parent.type !== 'rule') {\n parent = parent.parent;\n if (!parent) return;\n } // short-circuit for the simplest case\n\n\n if (element.props.length === 1 && value.charCodeAt(0) !== 58\n /* colon */\n && !fixedElements.get(parent)) {\n return;\n } // if this is an implicitly inserted rule (the one eagerly inserted at the each new nested level)\n // then the props has already been manipulated beforehand as they that array is shared between it and its \"rule parent\"\n\n\n if (isImplicitRule) {\n return;\n }\n\n fixedElements.set(element, true);\n var points = [];\n var rules = getRules(value, points);\n var parentRules = parent.props;\n\n for (var i = 0, k = 0; i < rules.length; i++) {\n for (var j = 0; j < parentRules.length; j++, k++) {\n element.props[k] = points[i] ? rules[i].replace(/&\\f/g, parentRules[j]) : parentRules[j] + \" \" + rules[i];\n }\n }\n};\nvar removeLabel = function removeLabel(element) {\n if (element.type === 'decl') {\n var value = element.value;\n\n if ( // charcode for l\n value.charCodeAt(0) === 108 && // charcode for b\n value.charCodeAt(2) === 98) {\n // this ignores label\n element[\"return\"] = '';\n element.value = '';\n }\n }\n};\nvar ignoreFlag = 'emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason';\n\nvar isIgnoringComment = function isIgnoringComment(element) {\n return element.type === 'comm' && element.children.indexOf(ignoreFlag) > -1;\n};\n\nvar createUnsafeSelectorsAlarm = function createUnsafeSelectorsAlarm(cache) {\n return function (element, index, children) {\n if (element.type !== 'rule' || cache.compat) return;\n var unsafePseudoClasses = element.value.match(/(:first|:nth|:nth-last)-child/g);\n\n if (unsafePseudoClasses) {\n var isNested = element.parent === children[0]; // in nested rules comments become children of the \"auto-inserted\" rule\n //\n // considering this input:\n // .a {\n // .b /* comm */ {}\n // color: hotpink;\n // }\n // we get output corresponding to this:\n // .a {\n // & {\n // /* comm */\n // color: hotpink;\n // }\n // .b {}\n // }\n\n var commentContainer = isNested ? children[0].children : // global rule at the root level\n children;\n\n for (var i = commentContainer.length - 1; i >= 0; i--) {\n var node = commentContainer[i];\n\n if (node.line < element.line) {\n break;\n } // it is quite weird but comments are *usually* put at `column: element.column - 1`\n // so we seek *from the end* for the node that is earlier than the rule's `element` and check that\n // this will also match inputs like this:\n // .a {\n // /* comm */\n // .b {}\n // }\n //\n // but that is fine\n //\n // it would be the easiest to change the placement of the comment to be the first child of the rule:\n // .a {\n // .b { /* comm */ }\n // }\n // with such inputs we wouldn't have to search for the comment at all\n // TODO: consider changing this comment placement in the next major version\n\n\n if (node.column < element.column) {\n if (isIgnoringComment(node)) {\n return;\n }\n\n break;\n }\n }\n\n unsafePseudoClasses.forEach(function (unsafePseudoClass) {\n console.error(\"The pseudo class \\\"\" + unsafePseudoClass + \"\\\" is potentially unsafe when doing server-side rendering. Try changing it to \\\"\" + unsafePseudoClass.split('-child')[0] + \"-of-type\\\".\");\n });\n }\n };\n};\n\nvar isImportRule = function isImportRule(element) {\n return element.type.charCodeAt(1) === 105 && element.type.charCodeAt(0) === 64;\n};\n\nvar isPrependedWithRegularRules = function isPrependedWithRegularRules(index, children) {\n for (var i = index - 1; i >= 0; i--) {\n if (!isImportRule(children[i])) {\n return true;\n }\n }\n\n return false;\n}; // use this to remove incorrect elements from further processing\n// so they don't get handed to the `sheet` (or anything else)\n// as that could potentially lead to additional logs which in turn could be overhelming to the user\n\n\nvar nullifyElement = function nullifyElement(element) {\n element.type = '';\n element.value = '';\n element[\"return\"] = '';\n element.children = '';\n element.props = '';\n};\n\nvar incorrectImportAlarm = function incorrectImportAlarm(element, index, children) {\n if (!isImportRule(element)) {\n return;\n }\n\n if (element.parent) {\n console.error(\"`@import` rules can't be nested inside other rules. Please move it to the top level and put it before regular rules. Keep in mind that they can only be used within global styles.\");\n nullifyElement(element);\n } else if (isPrependedWithRegularRules(index, children)) {\n console.error(\"`@import` rules can't be after other rules. Please put your `@import` rules before your other rules.\");\n nullifyElement(element);\n }\n};\n\n/* eslint-disable no-fallthrough */\n\nfunction prefix(value, length) {\n switch (hash(value, length)) {\n // color-adjust\n case 5103:\n return WEBKIT + 'print-' + value + value;\n // animation, animation-(delay|direction|duration|fill-mode|iteration-count|name|play-state|timing-function)\n\n case 5737:\n case 4201:\n case 3177:\n case 3433:\n case 1641:\n case 4457:\n case 2921: // text-decoration, filter, clip-path, backface-visibility, column, box-decoration-break\n\n case 5572:\n case 6356:\n case 5844:\n case 3191:\n case 6645:\n case 3005: // mask, mask-image, mask-(mode|clip|size), mask-(repeat|origin), mask-position, mask-composite,\n\n case 6391:\n case 5879:\n case 5623:\n case 6135:\n case 4599:\n case 4855: // background-clip, columns, column-(count|fill|gap|rule|rule-color|rule-style|rule-width|span|width)\n\n case 4215:\n case 6389:\n case 5109:\n case 5365:\n case 5621:\n case 3829:\n return WEBKIT + value + value;\n // appearance, user-select, transform, hyphens, text-size-adjust\n\n case 5349:\n case 4246:\n case 4810:\n case 6968:\n case 2756:\n return WEBKIT + value + MOZ + value + MS + value + value;\n // flex, flex-direction\n\n case 6828:\n case 4268:\n return WEBKIT + value + MS + value + value;\n // order\n\n case 6165:\n return WEBKIT + value + MS + 'flex-' + value + value;\n // align-items\n\n case 5187:\n return WEBKIT + value + replace(value, /(\\w+).+(:[^]+)/, WEBKIT + 'box-$1$2' + MS + 'flex-$1$2') + value;\n // align-self\n\n case 5443:\n return WEBKIT + value + MS + 'flex-item-' + replace(value, /flex-|-self/, '') + value;\n // align-content\n\n case 4675:\n return WEBKIT + value + MS + 'flex-line-pack' + replace(value, /align-content|flex-|-self/, '') + value;\n // flex-shrink\n\n case 5548:\n return WEBKIT + value + MS + replace(value, 'shrink', 'negative') + value;\n // flex-basis\n\n case 5292:\n return WEBKIT + value + MS + replace(value, 'basis', 'preferred-size') + value;\n // flex-grow\n\n case 6060:\n return WEBKIT + 'box-' + replace(value, '-grow', '') + WEBKIT + value + MS + replace(value, 'grow', 'positive') + value;\n // transition\n\n case 4554:\n return WEBKIT + replace(value, /([^-])(transform)/g, '$1' + WEBKIT + '$2') + value;\n // cursor\n\n case 6187:\n return replace(replace(replace(value, /(zoom-|grab)/, WEBKIT + '$1'), /(image-set)/, WEBKIT + '$1'), value, '') + value;\n // background, background-image\n\n case 5495:\n case 3959:\n return replace(value, /(image-set\\([^]*)/, WEBKIT + '$1' + '$`$1');\n // justify-content\n\n case 4968:\n return replace(replace(value, /(.+:)(flex-)?(.*)/, WEBKIT + 'box-pack:$3' + MS + 'flex-pack:$3'), /s.+-b[^;]+/, 'justify') + WEBKIT + value + value;\n // (margin|padding)-inline-(start|end)\n\n case 4095:\n case 3583:\n case 4068:\n case 2532:\n return replace(value, /(.+)-inline(.+)/, WEBKIT + '$1$2') + value;\n // (min|max)?(width|height|inline-size|block-size)\n\n case 8116:\n case 7059:\n case 5753:\n case 5535:\n case 5445:\n case 5701:\n case 4933:\n case 4677:\n case 5533:\n case 5789:\n case 5021:\n case 4765:\n // stretch, max-content, min-content, fill-available\n if (strlen(value) - 1 - length > 6) switch (charat(value, length + 1)) {\n // (m)ax-content, (m)in-content\n case 109:\n // -\n if (charat(value, length + 4) !== 45) break;\n // (f)ill-available, (f)it-content\n\n case 102:\n return replace(value, /(.+:)(.+)-([^]+)/, '$1' + WEBKIT + '$2-$3' + '$1' + MOZ + (charat(value, length + 3) == 108 ? '$3' : '$2-$3')) + value;\n // (s)tretch\n\n case 115:\n return ~indexof(value, 'stretch') ? prefix(replace(value, 'stretch', 'fill-available'), length) + value : value;\n }\n break;\n // position: sticky\n\n case 4949:\n // (s)ticky?\n if (charat(value, length + 1) !== 115) break;\n // display: (flex|inline-flex)\n\n case 6444:\n switch (charat(value, strlen(value) - 3 - (~indexof(value, '!important') && 10))) {\n // stic(k)y\n case 107:\n return replace(value, ':', ':' + WEBKIT) + value;\n // (inline-)?fl(e)x\n\n case 101:\n return replace(value, /(.+:)([^;!]+)(;|!.+)?/, '$1' + WEBKIT + (charat(value, 14) === 45 ? 'inline-' : '') + 'box$3' + '$1' + WEBKIT + '$2$3' + '$1' + MS + '$2box$3') + value;\n }\n\n break;\n // writing-mode\n\n case 5936:\n switch (charat(value, length + 11)) {\n // vertical-l(r)\n case 114:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb') + value;\n // vertical-r(l)\n\n case 108:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb-rl') + value;\n // horizontal(-)tb\n\n case 45:\n return WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'lr') + value;\n }\n\n return WEBKIT + value + MS + value + value;\n }\n\n return value;\n}\n\nvar prefixer = function prefixer(element, index, children, callback) {\n if (element.length > -1) if (!element[\"return\"]) switch (element.type) {\n case DECLARATION:\n element[\"return\"] = prefix(element.value, element.length);\n break;\n\n case KEYFRAMES:\n return serialize([copy(element, {\n value: replace(element.value, '@', '@' + WEBKIT)\n })], callback);\n\n case RULESET:\n if (element.length) return combine(element.props, function (value) {\n switch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n // :read-(only|write)\n case ':read-only':\n case ':read-write':\n return serialize([copy(element, {\n props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]\n })], callback);\n // :placeholder\n\n case '::placeholder':\n return serialize([copy(element, {\n props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]\n }), copy(element, {\n props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]\n }), copy(element, {\n props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]\n })], callback);\n }\n\n return '';\n });\n }\n};\n\nvar defaultStylisPlugins = [prefixer];\n\nvar createCache = function createCache(options) {\n var key = options.key;\n\n if (process.env.NODE_ENV !== 'production' && !key) {\n throw new Error(\"You have to configure `key` for your cache. Please make sure it's unique (and not equal to 'css') as it's used for linking styles to your cache.\\n\" + \"If multiple caches share the same key they might \\\"fight\\\" for each other's style elements.\");\n }\n\n if ( key === 'css') {\n var ssrStyles = document.querySelectorAll(\"style[data-emotion]:not([data-s])\"); // get SSRed styles out of the way of React's hydration\n // document.head is a safe place to move them to(though note document.head is not necessarily the last place they will be)\n // note this very very intentionally targets all style elements regardless of the key to ensure\n // that creating a cache works inside of render of a React component\n\n Array.prototype.forEach.call(ssrStyles, function (node) {\n // we want to only move elements which have a space in the data-emotion attribute value\n // because that indicates that it is an Emotion 11 server-side rendered style elements\n // while we will already ignore Emotion 11 client-side inserted styles because of the :not([data-s]) part in the selector\n // Emotion 10 client-side inserted styles did not have data-s (but importantly did not have a space in their data-emotion attributes)\n // so checking for the space ensures that loading Emotion 11 after Emotion 10 has inserted some styles\n // will not result in the Emotion 10 styles being destroyed\n var dataEmotionAttribute = node.getAttribute('data-emotion');\n\n if (dataEmotionAttribute.indexOf(' ') === -1) {\n return;\n }\n document.head.appendChild(node);\n node.setAttribute('data-s', '');\n });\n }\n\n var stylisPlugins = options.stylisPlugins || defaultStylisPlugins;\n\n if (process.env.NODE_ENV !== 'production') {\n // $FlowFixMe\n if (/[^a-z-]/.test(key)) {\n throw new Error(\"Emotion key must only contain lower case alphabetical characters and - but \\\"\" + key + \"\\\" was passed\");\n }\n }\n\n var inserted = {};\n var container;\n var nodesToHydrate = [];\n\n {\n container = options.container || document.head;\n Array.prototype.forEach.call( // this means we will ignore elements which don't have a space in them which\n // means that the style elements we're looking at are only Emotion 11 server-rendered style elements\n document.querySelectorAll(\"style[data-emotion^=\\\"\" + key + \" \\\"]\"), function (node) {\n var attrib = node.getAttribute(\"data-emotion\").split(' '); // $FlowFixMe\n\n for (var i = 1; i < attrib.length; i++) {\n inserted[attrib[i]] = true;\n }\n\n nodesToHydrate.push(node);\n });\n }\n\n var _insert;\n\n var omnipresentPlugins = [compat, removeLabel];\n\n if (process.env.NODE_ENV !== 'production') {\n omnipresentPlugins.push(createUnsafeSelectorsAlarm({\n get compat() {\n return cache.compat;\n }\n\n }), incorrectImportAlarm);\n }\n\n {\n var currentSheet;\n var finalizingPlugins = [stringify, process.env.NODE_ENV !== 'production' ? function (element) {\n if (!element.root) {\n if (element[\"return\"]) {\n currentSheet.insert(element[\"return\"]);\n } else if (element.value && element.type !== COMMENT) {\n // insert empty rule in non-production environments\n // so @emotion/jest can grab `key` from the (JS)DOM for caches without any rules inserted yet\n currentSheet.insert(element.value + \"{}\");\n }\n }\n } : rulesheet(function (rule) {\n currentSheet.insert(rule);\n })];\n var serializer = middleware(omnipresentPlugins.concat(stylisPlugins, finalizingPlugins));\n\n var stylis = function stylis(styles) {\n return serialize(compile(styles), serializer);\n };\n\n _insert = function insert(selector, serialized, sheet, shouldCache) {\n currentSheet = sheet;\n\n if (process.env.NODE_ENV !== 'production' && serialized.map !== undefined) {\n currentSheet = {\n insert: function insert(rule) {\n sheet.insert(rule + serialized.map);\n }\n };\n }\n\n stylis(selector ? selector + \"{\" + serialized.styles + \"}\" : serialized.styles);\n\n if (shouldCache) {\n cache.inserted[serialized.name] = true;\n }\n };\n }\n\n var cache = {\n key: key,\n sheet: new StyleSheet({\n key: key,\n container: container,\n nonce: options.nonce,\n speedy: options.speedy,\n prepend: options.prepend,\n insertionPoint: options.insertionPoint\n }),\n nonce: options.nonce,\n inserted: inserted,\n registered: {},\n insert: _insert\n };\n cache.sheet.hydrate(nodesToHydrate);\n return cache;\n};\n\nexport default createCache;\n","import {MS, MOZ, WEBKIT, RULESET, KEYFRAMES, DECLARATION} from './Enum.js'\nimport {match, charat, substr, strlen, sizeof, replace, combine} from './Utility.js'\nimport {copy, tokenize} from './Tokenizer.js'\nimport {serialize} from './Serializer.js'\nimport {prefix} from './Prefixer.js'\n\n/**\n * @param {function[]} collection\n * @return {function}\n */\nexport function middleware (collection) {\n\tvar length = sizeof(collection)\n\n\treturn function (element, index, children, callback) {\n\t\tvar output = ''\n\n\t\tfor (var i = 0; i < length; i++)\n\t\t\toutput += collection[i](element, index, children, callback) || ''\n\n\t\treturn output\n\t}\n}\n\n/**\n * @param {function} callback\n * @return {function}\n */\nexport function rulesheet (callback) {\n\treturn function (element) {\n\t\tif (!element.root)\n\t\t\tif (element = element.return)\n\t\t\t\tcallback(element)\n\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n */\nexport function prefixer (element, index, children, callback) {\n\tif (element.length > -1)\n\t\tif (!element.return)\n\t\t\tswitch (element.type) {\n\t\t\t\tcase DECLARATION: element.return = prefix(element.value, element.length, children)\n\t\t\t\t\treturn\n\t\t\t\tcase KEYFRAMES:\n\t\t\t\t\treturn serialize([copy(element, {value: replace(element.value, '@', '@' + WEBKIT)})], callback)\n\t\t\t\tcase RULESET:\n\t\t\t\t\tif (element.length)\n\t\t\t\t\t\treturn combine(element.props, function (value) {\n\t\t\t\t\t\t\tswitch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n\t\t\t\t\t\t\t\t// :read-(only|write)\n\t\t\t\t\t\t\t\tcase ':read-only': case ':read-write':\n\t\t\t\t\t\t\t\t\treturn serialize([copy(element, {props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]})], callback)\n\t\t\t\t\t\t\t\t// :placeholder\n\t\t\t\t\t\t\t\tcase '::placeholder':\n\t\t\t\t\t\t\t\t\treturn serialize([\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]}),\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]}),\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]})\n\t\t\t\t\t\t\t\t\t], callback)\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn ''\n\t\t\t\t\t\t})\n\t\t\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n */\nexport function namespace (element) {\n\tswitch (element.type) {\n\t\tcase RULESET:\n\t\t\telement.props = element.props.map(function (value) {\n\t\t\t\treturn combine(tokenize(value), function (value, index, children) {\n\t\t\t\t\tswitch (charat(value, 0)) {\n\t\t\t\t\t\t// \\f\n\t\t\t\t\t\tcase 12:\n\t\t\t\t\t\t\treturn substr(value, 1, strlen(value))\n\t\t\t\t\t\t// \\0 ( + > ~\n\t\t\t\t\t\tcase 0: case 40: case 43: case 62: case 126:\n\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t// :\n\t\t\t\t\t\tcase 58:\n\t\t\t\t\t\t\tif (children[++index] === 'global')\n\t\t\t\t\t\t\t\tchildren[index] = '', children[++index] = '\\f' + substr(children[index], index = 1, -1)\n\t\t\t\t\t\t// \\s\n\t\t\t\t\t\tcase 32:\n\t\t\t\t\t\t\treturn index === 1 ? '' : value\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tswitch (index) {\n\t\t\t\t\t\t\t\tcase 0: element = value\n\t\t\t\t\t\t\t\t\treturn sizeof(children) > 1 ? '' : value\n\t\t\t\t\t\t\t\tcase index = sizeof(children) - 1: case 2:\n\t\t\t\t\t\t\t\t\treturn index === 2 ? value + element + element : value + element\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t})\n\t}\n}\n","function memoize(fn) {\n var cache = {};\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport default memoize;\n","import memoize from '@emotion/memoize';\n\nvar reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|inert|itemProp|itemScope|itemType|itemID|itemRef|on|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23\n\nvar index = memoize(function (prop) {\n return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111\n /* o */\n && prop.charCodeAt(1) === 110\n /* n */\n && prop.charCodeAt(2) < 91;\n}\n/* Z+1 */\n);\n\nexport default index;\n","var isBrowser = \"object\" !== 'undefined';\nfunction getRegisteredStyles(registered, registeredStyles, classNames) {\n var rawClassName = '';\n classNames.split(' ').forEach(function (className) {\n if (registered[className] !== undefined) {\n registeredStyles.push(registered[className] + \";\");\n } else {\n rawClassName += className + \" \";\n }\n });\n return rawClassName;\n}\nvar registerStyles = function registerStyles(cache, serialized, isStringTag) {\n var className = cache.key + \"-\" + serialized.name;\n\n if ( // we only need to add the styles to the registered cache if the\n // class name could be used further down\n // the tree but if it's a string tag, we know it won't\n // so we don't have to add it to registered cache.\n // this improves memory usage since we can avoid storing the whole style string\n (isStringTag === false || // we need to always store it if we're in compat mode and\n // in node since emotion-server relies on whether a style is in\n // the registered cache to know whether a style is global or not\n // also, note that this check will be dead code eliminated in the browser\n isBrowser === false ) && cache.registered[className] === undefined) {\n cache.registered[className] = serialized.styles;\n }\n};\nvar insertStyles = function insertStyles(cache, serialized, isStringTag) {\n registerStyles(cache, serialized, isStringTag);\n var className = cache.key + \"-\" + serialized.name;\n\n if (cache.inserted[serialized.name] === undefined) {\n var current = serialized;\n\n do {\n var maybeStyles = cache.insert(serialized === current ? \".\" + className : '', current, cache.sheet, true);\n\n current = current.next;\n } while (current !== undefined);\n }\n};\n\nexport { getRegisteredStyles, insertStyles, registerStyles };\n","/* eslint-disable */\n// Inspired by https://github.com/garycourt/murmurhash-js\n// Ported from https://github.com/aappleby/smhasher/blob/61a0530f28277f2e850bfc39600ce61d02b518de/src/MurmurHash2.cpp#L37-L86\nfunction murmur2(str) {\n // 'm' and 'r' are mixing constants generated offline.\n // They're not really 'magic', they just happen to work well.\n // const m = 0x5bd1e995;\n // const r = 24;\n // Initialize the hash\n var h = 0; // Mix 4 bytes at a time into the hash\n\n var k,\n i = 0,\n len = str.length;\n\n for (; len >= 4; ++i, len -= 4) {\n k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;\n k =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16);\n k ^=\n /* k >>> r: */\n k >>> 24;\n h =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16) ^\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Handle the last few bytes of the input array\n\n\n switch (len) {\n case 3:\n h ^= (str.charCodeAt(i + 2) & 0xff) << 16;\n\n case 2:\n h ^= (str.charCodeAt(i + 1) & 0xff) << 8;\n\n case 1:\n h ^= str.charCodeAt(i) & 0xff;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Do a few final mixes of the hash to ensure the last few\n // bytes are well-incorporated.\n\n\n h ^= h >>> 13;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n return ((h ^ h >>> 15) >>> 0).toString(36);\n}\n\nexport default murmur2;\n","var unitlessKeys = {\n animationIterationCount: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\n\nexport default unitlessKeys;\n","function memoize(fn) {\n var cache = Object.create(null);\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport default memoize;\n","import hashString from '@emotion/hash';\nimport unitless from '@emotion/unitless';\nimport memoize from '@emotion/memoize';\n\nvar ILLEGAL_ESCAPE_SEQUENCE_ERROR = \"You have illegal escape sequence in your template literal, most likely inside content's property value.\\nBecause you write your CSS inside a JavaScript string you actually have to do double escaping, so for example \\\"content: '\\\\00d7';\\\" should become \\\"content: '\\\\\\\\00d7';\\\".\\nYou can read more about this here:\\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences\";\nvar UNDEFINED_AS_OBJECT_KEY_ERROR = \"You have passed in falsy value as style object's key (can happen when in example you pass unexported component as computed key).\";\nvar hyphenateRegex = /[A-Z]|^ms/g;\nvar animationRegex = /_EMO_([^_]+?)_([^]*?)_EMO_/g;\n\nvar isCustomProperty = function isCustomProperty(property) {\n return property.charCodeAt(1) === 45;\n};\n\nvar isProcessableValue = function isProcessableValue(value) {\n return value != null && typeof value !== 'boolean';\n};\n\nvar processStyleName = /* #__PURE__ */memoize(function (styleName) {\n return isCustomProperty(styleName) ? styleName : styleName.replace(hyphenateRegex, '-$&').toLowerCase();\n});\n\nvar processStyleValue = function processStyleValue(key, value) {\n switch (key) {\n case 'animation':\n case 'animationName':\n {\n if (typeof value === 'string') {\n return value.replace(animationRegex, function (match, p1, p2) {\n cursor = {\n name: p1,\n styles: p2,\n next: cursor\n };\n return p1;\n });\n }\n }\n }\n\n if (unitless[key] !== 1 && !isCustomProperty(key) && typeof value === 'number' && value !== 0) {\n return value + 'px';\n }\n\n return value;\n};\n\nif (process.env.NODE_ENV !== 'production') {\n var contentValuePattern = /(var|attr|counters?|url|element|(((repeating-)?(linear|radial))|conic)-gradient)\\(|(no-)?(open|close)-quote/;\n var contentValues = ['normal', 'none', 'initial', 'inherit', 'unset'];\n var oldProcessStyleValue = processStyleValue;\n var msPattern = /^-ms-/;\n var hyphenPattern = /-(.)/g;\n var hyphenatedCache = {};\n\n processStyleValue = function processStyleValue(key, value) {\n if (key === 'content') {\n if (typeof value !== 'string' || contentValues.indexOf(value) === -1 && !contentValuePattern.test(value) && (value.charAt(0) !== value.charAt(value.length - 1) || value.charAt(0) !== '\"' && value.charAt(0) !== \"'\")) {\n throw new Error(\"You seem to be using a value for 'content' without quotes, try replacing it with `content: '\\\"\" + value + \"\\\"'`\");\n }\n }\n\n var processed = oldProcessStyleValue(key, value);\n\n if (processed !== '' && !isCustomProperty(key) && key.indexOf('-') !== -1 && hyphenatedCache[key] === undefined) {\n hyphenatedCache[key] = true;\n console.error(\"Using kebab-case for css properties in objects is not supported. Did you mean \" + key.replace(msPattern, 'ms-').replace(hyphenPattern, function (str, _char) {\n return _char.toUpperCase();\n }) + \"?\");\n }\n\n return processed;\n };\n}\n\nvar noComponentSelectorMessage = 'Component selectors can only be used in conjunction with ' + '@emotion/babel-plugin, the swc Emotion plugin, or another Emotion-aware ' + 'compiler transform.';\n\nfunction handleInterpolation(mergedProps, registered, interpolation) {\n if (interpolation == null) {\n return '';\n }\n\n if (interpolation.__emotion_styles !== undefined) {\n if (process.env.NODE_ENV !== 'production' && interpolation.toString() === 'NO_COMPONENT_SELECTOR') {\n throw new Error(noComponentSelectorMessage);\n }\n\n return interpolation;\n }\n\n switch (typeof interpolation) {\n case 'boolean':\n {\n return '';\n }\n\n case 'object':\n {\n if (interpolation.anim === 1) {\n cursor = {\n name: interpolation.name,\n styles: interpolation.styles,\n next: cursor\n };\n return interpolation.name;\n }\n\n if (interpolation.styles !== undefined) {\n var next = interpolation.next;\n\n if (next !== undefined) {\n // not the most efficient thing ever but this is a pretty rare case\n // and there will be very few iterations of this generally\n while (next !== undefined) {\n cursor = {\n name: next.name,\n styles: next.styles,\n next: cursor\n };\n next = next.next;\n }\n }\n\n var styles = interpolation.styles + \";\";\n\n if (process.env.NODE_ENV !== 'production' && interpolation.map !== undefined) {\n styles += interpolation.map;\n }\n\n return styles;\n }\n\n return createStringFromObject(mergedProps, registered, interpolation);\n }\n\n case 'function':\n {\n if (mergedProps !== undefined) {\n var previousCursor = cursor;\n var result = interpolation(mergedProps);\n cursor = previousCursor;\n return handleInterpolation(mergedProps, registered, result);\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('Functions that are interpolated in css calls will be stringified.\\n' + 'If you want to have a css call based on props, create a function that returns a css call like this\\n' + 'let dynamicStyle = (props) => css`color: ${props.color}`\\n' + 'It can be called directly with props or interpolated in a styled call like this\\n' + \"let SomeComponent = styled('div')`${dynamicStyle}`\");\n }\n\n break;\n }\n\n case 'string':\n if (process.env.NODE_ENV !== 'production') {\n var matched = [];\n var replaced = interpolation.replace(animationRegex, function (match, p1, p2) {\n var fakeVarName = \"animation\" + matched.length;\n matched.push(\"const \" + fakeVarName + \" = keyframes`\" + p2.replace(/^@keyframes animation-\\w+/, '') + \"`\");\n return \"${\" + fakeVarName + \"}\";\n });\n\n if (matched.length) {\n console.error('`keyframes` output got interpolated into plain string, please wrap it with `css`.\\n\\n' + 'Instead of doing this:\\n\\n' + [].concat(matched, [\"`\" + replaced + \"`\"]).join('\\n') + '\\n\\nYou should wrap it with `css` like this:\\n\\n' + (\"css`\" + replaced + \"`\"));\n }\n }\n\n break;\n } // finalize string values (regular strings and functions interpolated into css calls)\n\n\n if (registered == null) {\n return interpolation;\n }\n\n var cached = registered[interpolation];\n return cached !== undefined ? cached : interpolation;\n}\n\nfunction createStringFromObject(mergedProps, registered, obj) {\n var string = '';\n\n if (Array.isArray(obj)) {\n for (var i = 0; i < obj.length; i++) {\n string += handleInterpolation(mergedProps, registered, obj[i]) + \";\";\n }\n } else {\n for (var _key in obj) {\n var value = obj[_key];\n\n if (typeof value !== 'object') {\n if (registered != null && registered[value] !== undefined) {\n string += _key + \"{\" + registered[value] + \"}\";\n } else if (isProcessableValue(value)) {\n string += processStyleName(_key) + \":\" + processStyleValue(_key, value) + \";\";\n }\n } else {\n if (_key === 'NO_COMPONENT_SELECTOR' && process.env.NODE_ENV !== 'production') {\n throw new Error(noComponentSelectorMessage);\n }\n\n if (Array.isArray(value) && typeof value[0] === 'string' && (registered == null || registered[value[0]] === undefined)) {\n for (var _i = 0; _i < value.length; _i++) {\n if (isProcessableValue(value[_i])) {\n string += processStyleName(_key) + \":\" + processStyleValue(_key, value[_i]) + \";\";\n }\n }\n } else {\n var interpolated = handleInterpolation(mergedProps, registered, value);\n\n switch (_key) {\n case 'animation':\n case 'animationName':\n {\n string += processStyleName(_key) + \":\" + interpolated + \";\";\n break;\n }\n\n default:\n {\n if (process.env.NODE_ENV !== 'production' && _key === 'undefined') {\n console.error(UNDEFINED_AS_OBJECT_KEY_ERROR);\n }\n\n string += _key + \"{\" + interpolated + \"}\";\n }\n }\n }\n }\n }\n }\n\n return string;\n}\n\nvar labelPattern = /label:\\s*([^\\s;\\n{]+)\\s*(;|$)/g;\nvar sourceMapPattern;\n\nif (process.env.NODE_ENV !== 'production') {\n sourceMapPattern = /\\/\\*#\\ssourceMappingURL=data:application\\/json;\\S+\\s+\\*\\//g;\n} // this is the cursor for keyframes\n// keyframes are stored on the SerializedStyles object as a linked list\n\n\nvar cursor;\nvar serializeStyles = function serializeStyles(args, registered, mergedProps) {\n if (args.length === 1 && typeof args[0] === 'object' && args[0] !== null && args[0].styles !== undefined) {\n return args[0];\n }\n\n var stringMode = true;\n var styles = '';\n cursor = undefined;\n var strings = args[0];\n\n if (strings == null || strings.raw === undefined) {\n stringMode = false;\n styles += handleInterpolation(mergedProps, registered, strings);\n } else {\n if (process.env.NODE_ENV !== 'production' && strings[0] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles += strings[0];\n } // we start at 1 since we've already handled the first arg\n\n\n for (var i = 1; i < args.length; i++) {\n styles += handleInterpolation(mergedProps, registered, args[i]);\n\n if (stringMode) {\n if (process.env.NODE_ENV !== 'production' && strings[i] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles += strings[i];\n }\n }\n\n var sourceMap;\n\n if (process.env.NODE_ENV !== 'production') {\n styles = styles.replace(sourceMapPattern, function (match) {\n sourceMap = match;\n return '';\n });\n } // using a global regex with .exec is stateful so lastIndex has to be reset each time\n\n\n labelPattern.lastIndex = 0;\n var identifierName = '';\n var match; // https://esbench.com/bench/5b809c2cf2949800a0f61fb5\n\n while ((match = labelPattern.exec(styles)) !== null) {\n identifierName += '-' + // $FlowFixMe we know it's not null\n match[1];\n }\n\n var name = hashString(styles) + identifierName;\n\n if (process.env.NODE_ENV !== 'production') {\n // $FlowFixMe SerializedStyles type doesn't have toString property (and we don't want to add it)\n return {\n name: name,\n styles: styles,\n map: sourceMap,\n next: cursor,\n toString: function toString() {\n return \"You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).\";\n }\n };\n }\n\n return {\n name: name,\n styles: styles,\n next: cursor\n };\n};\n\nexport { serializeStyles };\n","import * as React from 'react';\nimport { useLayoutEffect } from 'react';\n\nvar syncFallback = function syncFallback(create) {\n return create();\n};\n\nvar useInsertionEffect = React['useInsertion' + 'Effect'] ? React['useInsertion' + 'Effect'] : false;\nvar useInsertionEffectAlwaysWithSyncFallback = useInsertionEffect || syncFallback;\nvar useInsertionEffectWithLayoutFallback = useInsertionEffect || useLayoutEffect;\n\nexport { useInsertionEffectAlwaysWithSyncFallback, useInsertionEffectWithLayoutFallback };\n","import { createContext, useContext, forwardRef, createElement, Fragment } from 'react';\nimport createCache from '@emotion/cache';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport weakMemoize from '@emotion/weak-memoize';\nimport hoistNonReactStatics from '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport { getRegisteredStyles, registerStyles, insertStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\n\nvar hasOwnProperty = {}.hasOwnProperty;\n\nvar EmotionCacheContext = /* #__PURE__ */createContext( // we're doing this to avoid preconstruct's dead code elimination in this one case\n// because this module is primarily intended for the browser and node\n// but it's also required in react native and similar environments sometimes\n// and we could have a special build just for that\n// but this is much easier and the native packages\n// might use a different theme context in the future anyway\ntypeof HTMLElement !== 'undefined' ? /* #__PURE__ */createCache({\n key: 'css'\n}) : null);\n\nif (process.env.NODE_ENV !== 'production') {\n EmotionCacheContext.displayName = 'EmotionCacheContext';\n}\n\nvar CacheProvider = EmotionCacheContext.Provider;\nvar __unsafe_useEmotionCache = function useEmotionCache() {\n return useContext(EmotionCacheContext);\n};\n\nvar withEmotionCache = function withEmotionCache(func) {\n // $FlowFixMe\n return /*#__PURE__*/forwardRef(function (props, ref) {\n // the cache will never be null in the browser\n var cache = useContext(EmotionCacheContext);\n return func(props, cache, ref);\n });\n};\n\nvar ThemeContext = /* #__PURE__ */createContext({});\n\nif (process.env.NODE_ENV !== 'production') {\n ThemeContext.displayName = 'EmotionThemeContext';\n}\n\nvar useTheme = function useTheme() {\n return useContext(ThemeContext);\n};\n\nvar getTheme = function getTheme(outerTheme, theme) {\n if (typeof theme === 'function') {\n var mergedTheme = theme(outerTheme);\n\n if (process.env.NODE_ENV !== 'production' && (mergedTheme == null || typeof mergedTheme !== 'object' || Array.isArray(mergedTheme))) {\n throw new Error('[ThemeProvider] Please return an object from your theme function, i.e. theme={() => ({})}!');\n }\n\n return mergedTheme;\n }\n\n if (process.env.NODE_ENV !== 'production' && (theme == null || typeof theme !== 'object' || Array.isArray(theme))) {\n throw new Error('[ThemeProvider] Please make your theme prop a plain object');\n }\n\n return _extends({}, outerTheme, theme);\n};\n\nvar createCacheWithTheme = /* #__PURE__ */weakMemoize(function (outerTheme) {\n return weakMemoize(function (theme) {\n return getTheme(outerTheme, theme);\n });\n});\nvar ThemeProvider = function ThemeProvider(props) {\n var theme = useContext(ThemeContext);\n\n if (props.theme !== theme) {\n theme = createCacheWithTheme(theme)(props.theme);\n }\n\n return /*#__PURE__*/createElement(ThemeContext.Provider, {\n value: theme\n }, props.children);\n};\nfunction withTheme(Component) {\n var componentName = Component.displayName || Component.name || 'Component';\n\n var render = function render(props, ref) {\n var theme = useContext(ThemeContext);\n return /*#__PURE__*/createElement(Component, _extends({\n theme: theme,\n ref: ref\n }, props));\n }; // $FlowFixMe\n\n\n var WithTheme = /*#__PURE__*/forwardRef(render);\n WithTheme.displayName = \"WithTheme(\" + componentName + \")\";\n return hoistNonReactStatics(WithTheme, Component);\n}\n\nvar getLastPart = function getLastPart(functionName) {\n // The match may be something like 'Object.createEmotionProps' or\n // 'Loader.prototype.render'\n var parts = functionName.split('.');\n return parts[parts.length - 1];\n};\n\nvar getFunctionNameFromStackTraceLine = function getFunctionNameFromStackTraceLine(line) {\n // V8\n var match = /^\\s+at\\s+([A-Za-z0-9$.]+)\\s/.exec(line);\n if (match) return getLastPart(match[1]); // Safari / Firefox\n\n match = /^([A-Za-z0-9$.]+)@/.exec(line);\n if (match) return getLastPart(match[1]);\n return undefined;\n};\n\nvar internalReactFunctionNames = /* #__PURE__ */new Set(['renderWithHooks', 'processChild', 'finishClassComponent', 'renderToString']); // These identifiers come from error stacks, so they have to be valid JS\n// identifiers, thus we only need to replace what is a valid character for JS,\n// but not for CSS.\n\nvar sanitizeIdentifier = function sanitizeIdentifier(identifier) {\n return identifier.replace(/\\$/g, '-');\n};\n\nvar getLabelFromStackTrace = function getLabelFromStackTrace(stackTrace) {\n if (!stackTrace) return undefined;\n var lines = stackTrace.split('\\n');\n\n for (var i = 0; i < lines.length; i++) {\n var functionName = getFunctionNameFromStackTraceLine(lines[i]); // The first line of V8 stack traces is just \"Error\"\n\n if (!functionName) continue; // If we reach one of these, we have gone too far and should quit\n\n if (internalReactFunctionNames.has(functionName)) break; // The component name is the first function in the stack that starts with an\n // uppercase letter\n\n if (/^[A-Z]/.test(functionName)) return sanitizeIdentifier(functionName);\n }\n\n return undefined;\n};\n\nvar typePropName = '__EMOTION_TYPE_PLEASE_DO_NOT_USE__';\nvar labelPropName = '__EMOTION_LABEL_PLEASE_DO_NOT_USE__';\nvar createEmotionProps = function createEmotionProps(type, props) {\n if (process.env.NODE_ENV !== 'production' && typeof props.css === 'string' && // check if there is a css declaration\n props.css.indexOf(':') !== -1) {\n throw new Error(\"Strings are not allowed as css prop values, please wrap it in a css template literal from '@emotion/react' like this: css`\" + props.css + \"`\");\n }\n\n var newProps = {};\n\n for (var key in props) {\n if (hasOwnProperty.call(props, key)) {\n newProps[key] = props[key];\n }\n }\n\n newProps[typePropName] = type; // For performance, only call getLabelFromStackTrace in development and when\n // the label hasn't already been computed\n\n if (process.env.NODE_ENV !== 'production' && !!props.css && (typeof props.css !== 'object' || typeof props.css.name !== 'string' || props.css.name.indexOf('-') === -1)) {\n var label = getLabelFromStackTrace(new Error().stack);\n if (label) newProps[labelPropName] = label;\n }\n\n return newProps;\n};\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serialized = _ref.serialized,\n isStringTag = _ref.isStringTag;\n registerStyles(cache, serialized, isStringTag);\n var rules = useInsertionEffectAlwaysWithSyncFallback(function () {\n return insertStyles(cache, serialized, isStringTag);\n });\n\n return null;\n};\n\nvar Emotion = /* #__PURE__ */withEmotionCache(function (props, cache, ref) {\n var cssProp = props.css; // so that using `css` from `emotion` and passing the result to the css prop works\n // not passing the registered cache to serializeStyles because it would\n // make certain babel optimisations not possible\n\n if (typeof cssProp === 'string' && cache.registered[cssProp] !== undefined) {\n cssProp = cache.registered[cssProp];\n }\n\n var WrappedComponent = props[typePropName];\n var registeredStyles = [cssProp];\n var className = '';\n\n if (typeof props.className === 'string') {\n className = getRegisteredStyles(cache.registered, registeredStyles, props.className);\n } else if (props.className != null) {\n className = props.className + \" \";\n }\n\n var serialized = serializeStyles(registeredStyles, undefined, useContext(ThemeContext));\n\n if (process.env.NODE_ENV !== 'production' && serialized.name.indexOf('-') === -1) {\n var labelFromStack = props[labelPropName];\n\n if (labelFromStack) {\n serialized = serializeStyles([serialized, 'label:' + labelFromStack + ';']);\n }\n }\n\n className += cache.key + \"-\" + serialized.name;\n var newProps = {};\n\n for (var key in props) {\n if (hasOwnProperty.call(props, key) && key !== 'css' && key !== typePropName && (process.env.NODE_ENV === 'production' || key !== labelPropName)) {\n newProps[key] = props[key];\n }\n }\n\n newProps.ref = ref;\n newProps.className = className;\n return /*#__PURE__*/createElement(Fragment, null, /*#__PURE__*/createElement(Insertion, {\n cache: cache,\n serialized: serialized,\n isStringTag: typeof WrappedComponent === 'string'\n }), /*#__PURE__*/createElement(WrappedComponent, newProps));\n});\n\nif (process.env.NODE_ENV !== 'production') {\n Emotion.displayName = 'EmotionCssPropInternal';\n}\n\nexport { CacheProvider as C, Emotion as E, ThemeContext as T, __unsafe_useEmotionCache as _, ThemeProvider as a, withTheme as b, createEmotionProps as c, hasOwnProperty as h, useTheme as u, withEmotionCache as w };\n","import { createElement, useContext, useRef, Fragment } from 'react';\nimport '@emotion/cache';\nimport { h as hasOwnProperty, E as Emotion, c as createEmotionProps, w as withEmotionCache, T as ThemeContext } from './emotion-element-6a883da9.browser.esm.js';\nexport { C as CacheProvider, T as ThemeContext, a as ThemeProvider, _ as __unsafe_useEmotionCache, u as useTheme, w as withEmotionCache, b as withTheme } from './emotion-element-6a883da9.browser.esm.js';\nimport '@babel/runtime/helpers/extends';\nimport '@emotion/weak-memoize';\nimport 'hoist-non-react-statics';\nimport '../_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js';\nimport { insertStyles, registerStyles, getRegisteredStyles } from '@emotion/utils';\nimport { serializeStyles } from '@emotion/serialize';\nimport { useInsertionEffectWithLayoutFallback, useInsertionEffectAlwaysWithSyncFallback } from '@emotion/use-insertion-effect-with-fallbacks';\n\nvar pkg = {\n\tname: \"@emotion/react\",\n\tversion: \"11.10.5\",\n\tmain: \"dist/emotion-react.cjs.js\",\n\tmodule: \"dist/emotion-react.esm.js\",\n\tbrowser: {\n\t\t\"./dist/emotion-react.esm.js\": \"./dist/emotion-react.browser.esm.js\"\n\t},\n\texports: {\n\t\t\".\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./dist/emotion-react.worker.esm.js\",\n\t\t\t\tbrowser: \"./dist/emotion-react.browser.esm.js\",\n\t\t\t\t\"default\": \"./dist/emotion-react.esm.js\"\n\t\t\t},\n\t\t\t\"default\": \"./dist/emotion-react.cjs.js\"\n\t\t},\n\t\t\"./jsx-runtime\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./jsx-runtime/dist/emotion-react-jsx-runtime.worker.esm.js\",\n\t\t\t\tbrowser: \"./jsx-runtime/dist/emotion-react-jsx-runtime.browser.esm.js\",\n\t\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.esm.js\"\n\t\t\t},\n\t\t\t\"default\": \"./jsx-runtime/dist/emotion-react-jsx-runtime.cjs.js\"\n\t\t},\n\t\t\"./_isolated-hnrs\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.worker.esm.js\",\n\t\t\t\tbrowser: \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.browser.esm.js\",\n\t\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.esm.js\"\n\t\t\t},\n\t\t\t\"default\": \"./_isolated-hnrs/dist/emotion-react-_isolated-hnrs.cjs.js\"\n\t\t},\n\t\t\"./jsx-dev-runtime\": {\n\t\t\tmodule: {\n\t\t\t\tworker: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.worker.esm.js\",\n\t\t\t\tbrowser: \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.browser.esm.js\",\n\t\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.esm.js\"\n\t\t\t},\n\t\t\t\"default\": \"./jsx-dev-runtime/dist/emotion-react-jsx-dev-runtime.cjs.js\"\n\t\t},\n\t\t\"./package.json\": \"./package.json\",\n\t\t\"./types/css-prop\": \"./types/css-prop.d.ts\",\n\t\t\"./macro\": \"./macro.js\"\n\t},\n\ttypes: \"types/index.d.ts\",\n\tfiles: [\n\t\t\"src\",\n\t\t\"dist\",\n\t\t\"jsx-runtime\",\n\t\t\"jsx-dev-runtime\",\n\t\t\"_isolated-hnrs\",\n\t\t\"types/*.d.ts\",\n\t\t\"macro.js\",\n\t\t\"macro.d.ts\",\n\t\t\"macro.js.flow\"\n\t],\n\tsideEffects: false,\n\tauthor: \"Emotion Contributors\",\n\tlicense: \"MIT\",\n\tscripts: {\n\t\t\"test:typescript\": \"dtslint types\"\n\t},\n\tdependencies: {\n\t\t\"@babel/runtime\": \"^7.18.3\",\n\t\t\"@emotion/babel-plugin\": \"^11.10.5\",\n\t\t\"@emotion/cache\": \"^11.10.5\",\n\t\t\"@emotion/serialize\": \"^1.1.1\",\n\t\t\"@emotion/use-insertion-effect-with-fallbacks\": \"^1.0.0\",\n\t\t\"@emotion/utils\": \"^1.2.0\",\n\t\t\"@emotion/weak-memoize\": \"^0.3.0\",\n\t\t\"hoist-non-react-statics\": \"^3.3.1\"\n\t},\n\tpeerDependencies: {\n\t\t\"@babel/core\": \"^7.0.0\",\n\t\treact: \">=16.8.0\"\n\t},\n\tpeerDependenciesMeta: {\n\t\t\"@babel/core\": {\n\t\t\toptional: true\n\t\t},\n\t\t\"@types/react\": {\n\t\t\toptional: true\n\t\t}\n\t},\n\tdevDependencies: {\n\t\t\"@babel/core\": \"^7.18.5\",\n\t\t\"@definitelytyped/dtslint\": \"0.0.112\",\n\t\t\"@emotion/css\": \"11.10.5\",\n\t\t\"@emotion/css-prettifier\": \"1.1.1\",\n\t\t\"@emotion/server\": \"11.10.0\",\n\t\t\"@emotion/styled\": \"11.10.5\",\n\t\t\"html-tag-names\": \"^1.1.2\",\n\t\treact: \"16.14.0\",\n\t\t\"svg-tag-names\": \"^1.1.1\",\n\t\ttypescript: \"^4.5.5\"\n\t},\n\trepository: \"https://github.com/emotion-js/emotion/tree/main/packages/react\",\n\tpublishConfig: {\n\t\taccess: \"public\"\n\t},\n\t\"umd:main\": \"dist/emotion-react.umd.min.js\",\n\tpreconstruct: {\n\t\tentrypoints: [\n\t\t\t\"./index.js\",\n\t\t\t\"./jsx-runtime.js\",\n\t\t\t\"./jsx-dev-runtime.js\",\n\t\t\t\"./_isolated-hnrs.js\"\n\t\t],\n\t\tumdName: \"emotionReact\",\n\t\texports: {\n\t\t\tenvConditions: [\n\t\t\t\t\"browser\",\n\t\t\t\t\"worker\"\n\t\t\t],\n\t\t\textra: {\n\t\t\t\t\"./types/css-prop\": \"./types/css-prop.d.ts\",\n\t\t\t\t\"./macro\": \"./macro.js\"\n\t\t\t}\n\t\t}\n\t}\n};\n\nvar jsx = function jsx(type, props) {\n var args = arguments;\n\n if (props == null || !hasOwnProperty.call(props, 'css')) {\n // $FlowFixMe\n return createElement.apply(undefined, args);\n }\n\n var argsLength = args.length;\n var createElementArgArray = new Array(argsLength);\n createElementArgArray[0] = Emotion;\n createElementArgArray[1] = createEmotionProps(type, props);\n\n for (var i = 2; i < argsLength; i++) {\n createElementArgArray[i] = args[i];\n } // $FlowFixMe\n\n\n return createElement.apply(null, createElementArgArray);\n};\n\nvar warnedAboutCssPropForGlobal = false; // maintain place over rerenders.\n// initial render from browser, insertBefore context.sheet.tags[0] or if a style hasn't been inserted there yet, appendChild\n// initial client-side render from SSR, use place of hydrating tag\n\nvar Global = /* #__PURE__ */withEmotionCache(function (props, cache) {\n if (process.env.NODE_ENV !== 'production' && !warnedAboutCssPropForGlobal && ( // check for className as well since the user is\n // probably using the custom createElement which\n // means it will be turned into a className prop\n // $FlowFixMe I don't really want to add it to the type since it shouldn't be used\n props.className || props.css)) {\n console.error(\"It looks like you're using the css prop on Global, did you mean to use the styles prop instead?\");\n warnedAboutCssPropForGlobal = true;\n }\n\n var styles = props.styles;\n var serialized = serializeStyles([styles], undefined, useContext(ThemeContext));\n // but it is based on a constant that will never change at runtime\n // it's effectively like having two implementations and switching them out\n // so it's not actually breaking anything\n\n\n var sheetRef = useRef();\n useInsertionEffectWithLayoutFallback(function () {\n var key = cache.key + \"-global\"; // use case of https://github.com/emotion-js/emotion/issues/2675\n\n var sheet = new cache.sheet.constructor({\n key: key,\n nonce: cache.sheet.nonce,\n container: cache.sheet.container,\n speedy: cache.sheet.isSpeedy\n });\n var rehydrating = false; // $FlowFixMe\n\n var node = document.querySelector(\"style[data-emotion=\\\"\" + key + \" \" + serialized.name + \"\\\"]\");\n\n if (cache.sheet.tags.length) {\n sheet.before = cache.sheet.tags[0];\n }\n\n if (node !== null) {\n rehydrating = true; // clear the hash so this node won't be recognizable as rehydratable by other s\n\n node.setAttribute('data-emotion', key);\n sheet.hydrate([node]);\n }\n\n sheetRef.current = [sheet, rehydrating];\n return function () {\n sheet.flush();\n };\n }, [cache]);\n useInsertionEffectWithLayoutFallback(function () {\n var sheetRefCurrent = sheetRef.current;\n var sheet = sheetRefCurrent[0],\n rehydrating = sheetRefCurrent[1];\n\n if (rehydrating) {\n sheetRefCurrent[1] = false;\n return;\n }\n\n if (serialized.next !== undefined) {\n // insert keyframes\n insertStyles(cache, serialized.next, true);\n }\n\n if (sheet.tags.length) {\n // if this doesn't exist then it will be null so the style element will be appended\n var element = sheet.tags[sheet.tags.length - 1].nextElementSibling;\n sheet.before = element;\n sheet.flush();\n }\n\n cache.insert(\"\", serialized, sheet, false);\n }, [cache, serialized.name]);\n return null;\n});\n\nif (process.env.NODE_ENV !== 'production') {\n Global.displayName = 'EmotionGlobal';\n}\n\nfunction css() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return serializeStyles(args);\n}\n\nvar keyframes = function keyframes() {\n var insertable = css.apply(void 0, arguments);\n var name = \"animation-\" + insertable.name; // $FlowFixMe\n\n return {\n name: name,\n styles: \"@keyframes \" + name + \"{\" + insertable.styles + \"}\",\n anim: 1,\n toString: function toString() {\n return \"_EMO_\" + this.name + \"_\" + this.styles + \"_EMO_\";\n }\n };\n};\n\nvar classnames = function classnames(args) {\n var len = args.length;\n var i = 0;\n var cls = '';\n\n for (; i < len; i++) {\n var arg = args[i];\n if (arg == null) continue;\n var toAdd = void 0;\n\n switch (typeof arg) {\n case 'boolean':\n break;\n\n case 'object':\n {\n if (Array.isArray(arg)) {\n toAdd = classnames(arg);\n } else {\n if (process.env.NODE_ENV !== 'production' && arg.styles !== undefined && arg.name !== undefined) {\n console.error('You have passed styles created with `css` from `@emotion/react` package to the `cx`.\\n' + '`cx` is meant to compose class names (strings) so you should convert those styles to a class name by passing them to the `css` received from component.');\n }\n\n toAdd = '';\n\n for (var k in arg) {\n if (arg[k] && k) {\n toAdd && (toAdd += ' ');\n toAdd += k;\n }\n }\n }\n\n break;\n }\n\n default:\n {\n toAdd = arg;\n }\n }\n\n if (toAdd) {\n cls && (cls += ' ');\n cls += toAdd;\n }\n }\n\n return cls;\n};\n\nfunction merge(registered, css, className) {\n var registeredStyles = [];\n var rawClassName = getRegisteredStyles(registered, registeredStyles, className);\n\n if (registeredStyles.length < 2) {\n return className;\n }\n\n return rawClassName + css(registeredStyles);\n}\n\nvar Insertion = function Insertion(_ref) {\n var cache = _ref.cache,\n serializedArr = _ref.serializedArr;\n var rules = useInsertionEffectAlwaysWithSyncFallback(function () {\n\n for (var i = 0; i < serializedArr.length; i++) {\n var res = insertStyles(cache, serializedArr[i], false);\n }\n });\n\n return null;\n};\n\nvar ClassNames = /* #__PURE__ */withEmotionCache(function (props, cache) {\n var hasRendered = false;\n var serializedArr = [];\n\n var css = function css() {\n if (hasRendered && process.env.NODE_ENV !== 'production') {\n throw new Error('css can only be used during render');\n }\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var serialized = serializeStyles(args, cache.registered);\n serializedArr.push(serialized); // registration has to happen here as the result of this might get consumed by `cx`\n\n registerStyles(cache, serialized, false);\n return cache.key + \"-\" + serialized.name;\n };\n\n var cx = function cx() {\n if (hasRendered && process.env.NODE_ENV !== 'production') {\n throw new Error('cx can only be used during render');\n }\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return merge(cache.registered, css, classnames(args));\n };\n\n var content = {\n css: css,\n cx: cx,\n theme: useContext(ThemeContext)\n };\n var ele = props.children(content);\n hasRendered = true;\n return /*#__PURE__*/createElement(Fragment, null, /*#__PURE__*/createElement(Insertion, {\n cache: cache,\n serializedArr: serializedArr\n }), ele);\n});\n\nif (process.env.NODE_ENV !== 'production') {\n ClassNames.displayName = 'EmotionClassNames';\n}\n\nif (process.env.NODE_ENV !== 'production') {\n var isBrowser = \"object\" !== 'undefined'; // #1727, #2905 for some reason Jest and Vitest evaluate modules twice if some consuming module gets mocked\n\n var isTestEnv = typeof jest !== 'undefined' || typeof vi !== 'undefined';\n\n if (isBrowser && !isTestEnv) {\n // globalThis has wide browser support - https://caniuse.com/?search=globalThis, Node.js 12 and later\n var globalContext = // $FlowIgnore\n typeof globalThis !== 'undefined' ? globalThis // eslint-disable-line no-undef\n : isBrowser ? window : global;\n var globalKey = \"__EMOTION_REACT_\" + pkg.version.split('.')[0] + \"__\";\n\n if (globalContext[globalKey]) {\n console.warn('You are loading @emotion/react when it is already loaded. Running ' + 'multiple instances may cause problems. This can happen if multiple ' + 'versions are used, or if multiple builds of the same version are ' + 'used.');\n }\n\n globalContext[globalKey] = true;\n }\n}\n\nexport { ClassNames, Global, jsx as createElement, css, jsx, keyframes };\n","if (typeof global !== \"undefined\" && global.__pretenderNodePolyfill) {\n delete global.self\n delete global.__pretenderNodePolyfill\n}\n","if (typeof global !== \"undefined\" && typeof global.self === 'undefined') {\n global.self = {};\n global.__pretenderNodePolyfill = true;\n}\n","const errors = {\n\t0: \"Illegal state\",\n\t1: \"Immer drafts cannot have computed properties\",\n\t2: \"This object has been frozen and should not be mutated\",\n\t3(data: any) {\n\t\treturn (\n\t\t\t\"Cannot use a proxy that has been revoked. Did you pass an object from inside an immer function to an async process? \" +\n\t\t\tdata\n\t\t)\n\t},\n\t4: \"An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft.\",\n\t5: \"Immer forbids circular references\",\n\t6: \"The first or second argument to `produce` must be a function\",\n\t7: \"The third argument to `produce` must be a function or undefined\",\n\t8: \"First argument to `createDraft` must be a plain object, an array, or an immerable object\",\n\t9: \"First argument to `finishDraft` must be a draft returned by `createDraft`\",\n\t10: \"The given draft is already finalized\",\n\t11: \"Object.defineProperty() cannot be used on an Immer draft\",\n\t12: \"Object.setPrototypeOf() cannot be used on an Immer draft\",\n\t13: \"Immer only supports deleting array indices\",\n\t14: \"Immer only supports setting array indices and the 'length' property\",\n\t15(path: string) {\n\t\treturn \"Cannot apply patch, path doesn't resolve: \" + path\n\t},\n\t16: 'Sets cannot have \"replace\" patches.',\n\t17(op: string) {\n\t\treturn \"Unsupported patch operation: \" + op\n\t},\n\t18(plugin: string) {\n\t\treturn `The plugin for '${plugin}' has not been loaded into Immer. To enable the plugin, import and call \\`enable${plugin}()\\` when initializing your application.`\n\t},\n\t20: \"Cannot use proxies if Proxy, Proxy.revocable or Reflect are not available\",\n\t21(thing: string) {\n\t\treturn `produce can only be called on things that are draftable: plain objects, arrays, Map, Set or classes that are marked with '[immerable]: true'. Got '${thing}'`\n\t},\n\t22(thing: string) {\n\t\treturn `'current' expects a draft, got: ${thing}`\n\t},\n\t23(thing: string) {\n\t\treturn `'original' expects a draft, got: ${thing}`\n\t},\n\t24: \"Patching reserved attributes like __proto__, prototype and constructor is not allowed\"\n} as const\n\nexport function die(error: keyof typeof errors, ...args: any[]): never {\n\tif (__DEV__) {\n\t\tconst e = errors[error]\n\t\tconst msg = !e\n\t\t\t? \"unknown error nr: \" + error\n\t\t\t: typeof e === \"function\"\n\t\t\t? e.apply(null, args as any)\n\t\t\t: e\n\t\tthrow new Error(`[Immer] ${msg}`)\n\t}\n\tthrow new Error(\n\t\t`[Immer] minified error nr: ${error}${\n\t\t\targs.length ? \" \" + args.map(s => `'${s}'`).join(\",\") : \"\"\n\t\t}. Find the full error at: https://bit.ly/3cXEKWf`\n\t)\n}\n","import {\n\tDRAFT_STATE,\n\tDRAFTABLE,\n\thasSet,\n\tObjectish,\n\tDrafted,\n\tAnyObject,\n\tAnyMap,\n\tAnySet,\n\tImmerState,\n\thasMap,\n\tArchtype,\n\tdie\n} from \"../internal\"\n\n/** Returns true if the given value is an Immer draft */\n/*#__PURE__*/\nexport function isDraft(value: any): boolean {\n\treturn !!value && !!value[DRAFT_STATE]\n}\n\n/** Returns true if the given value can be drafted by Immer */\n/*#__PURE__*/\nexport function isDraftable(value: any): boolean {\n\tif (!value) return false\n\treturn (\n\t\tisPlainObject(value) ||\n\t\tArray.isArray(value) ||\n\t\t!!value[DRAFTABLE] ||\n\t\t!!value.constructor?.[DRAFTABLE] ||\n\t\tisMap(value) ||\n\t\tisSet(value)\n\t)\n}\n\nconst objectCtorString = Object.prototype.constructor.toString()\n/*#__PURE__*/\nexport function isPlainObject(value: any): boolean {\n\tif (!value || typeof value !== \"object\") return false\n\tconst proto = Object.getPrototypeOf(value)\n\tif (proto === null) {\n\t\treturn true\n\t}\n\tconst Ctor =\n\t\tObject.hasOwnProperty.call(proto, \"constructor\") && proto.constructor\n\n\tif (Ctor === Object) return true\n\n\treturn (\n\t\ttypeof Ctor == \"function\" &&\n\t\tFunction.toString.call(Ctor) === objectCtorString\n\t)\n}\n\n/** Get the underlying object that is represented by the given draft */\n/*#__PURE__*/\nexport function original(value: T): T | undefined\nexport function original(value: Drafted): any {\n\tif (!isDraft(value)) die(23, value)\n\treturn value[DRAFT_STATE].base_\n}\n\n/*#__PURE__*/\nexport const ownKeys: (target: AnyObject) => PropertyKey[] =\n\ttypeof Reflect !== \"undefined\" && Reflect.ownKeys\n\t\t? Reflect.ownKeys\n\t\t: typeof Object.getOwnPropertySymbols !== \"undefined\"\n\t\t? obj =>\n\t\t\t\tObject.getOwnPropertyNames(obj).concat(\n\t\t\t\t\tObject.getOwnPropertySymbols(obj) as any\n\t\t\t\t)\n\t\t: /* istanbul ignore next */ Object.getOwnPropertyNames\n\nexport const getOwnPropertyDescriptors =\n\tObject.getOwnPropertyDescriptors ||\n\tfunction getOwnPropertyDescriptors(target: any) {\n\t\t// Polyfill needed for Hermes and IE, see https://github.com/facebook/hermes/issues/274\n\t\tconst res: any = {}\n\t\townKeys(target).forEach(key => {\n\t\t\tres[key] = Object.getOwnPropertyDescriptor(target, key)\n\t\t})\n\t\treturn res\n\t}\n\nexport function each(\n\tobj: T,\n\titer: (key: string | number, value: any, source: T) => void,\n\tenumerableOnly?: boolean\n): void\nexport function each(obj: any, iter: any, enumerableOnly = false) {\n\tif (getArchtype(obj) === Archtype.Object) {\n\t\t;(enumerableOnly ? Object.keys : ownKeys)(obj).forEach(key => {\n\t\t\tif (!enumerableOnly || typeof key !== \"symbol\") iter(key, obj[key], obj)\n\t\t})\n\t} else {\n\t\tobj.forEach((entry: any, index: any) => iter(index, entry, obj))\n\t}\n}\n\n/*#__PURE__*/\nexport function getArchtype(thing: any): Archtype {\n\t/* istanbul ignore next */\n\tconst state: undefined | ImmerState = thing[DRAFT_STATE]\n\treturn state\n\t\t? state.type_ > 3\n\t\t\t? state.type_ - 4 // cause Object and Array map back from 4 and 5\n\t\t\t: (state.type_ as any) // others are the same\n\t\t: Array.isArray(thing)\n\t\t? Archtype.Array\n\t\t: isMap(thing)\n\t\t? Archtype.Map\n\t\t: isSet(thing)\n\t\t? Archtype.Set\n\t\t: Archtype.Object\n}\n\n/*#__PURE__*/\nexport function has(thing: any, prop: PropertyKey): boolean {\n\treturn getArchtype(thing) === Archtype.Map\n\t\t? thing.has(prop)\n\t\t: Object.prototype.hasOwnProperty.call(thing, prop)\n}\n\n/*#__PURE__*/\nexport function get(thing: AnyMap | AnyObject, prop: PropertyKey): any {\n\t// @ts-ignore\n\treturn getArchtype(thing) === Archtype.Map ? thing.get(prop) : thing[prop]\n}\n\n/*#__PURE__*/\nexport function set(thing: any, propOrOldValue: PropertyKey, value: any) {\n\tconst t = getArchtype(thing)\n\tif (t === Archtype.Map) thing.set(propOrOldValue, value)\n\telse if (t === Archtype.Set) {\n\t\tthing.delete(propOrOldValue)\n\t\tthing.add(value)\n\t} else thing[propOrOldValue] = value\n}\n\n/*#__PURE__*/\nexport function is(x: any, y: any): boolean {\n\t// From: https://github.com/facebook/fbjs/blob/c69904a511b900266935168223063dd8772dfc40/packages/fbjs/src/core/shallowEqual.js\n\tif (x === y) {\n\t\treturn x !== 0 || 1 / x === 1 / y\n\t} else {\n\t\treturn x !== x && y !== y\n\t}\n}\n\n/*#__PURE__*/\nexport function isMap(target: any): target is AnyMap {\n\treturn hasMap && target instanceof Map\n}\n\n/*#__PURE__*/\nexport function isSet(target: any): target is AnySet {\n\treturn hasSet && target instanceof Set\n}\n/*#__PURE__*/\nexport function latest(state: ImmerState): any {\n\treturn state.copy_ || state.base_\n}\n\n/*#__PURE__*/\nexport function shallowCopy(base: any) {\n\tif (Array.isArray(base)) return Array.prototype.slice.call(base)\n\tconst descriptors = getOwnPropertyDescriptors(base)\n\tdelete descriptors[DRAFT_STATE as any]\n\tlet keys = ownKeys(descriptors)\n\tfor (let i = 0; i < keys.length; i++) {\n\t\tconst key: any = keys[i]\n\t\tconst desc = descriptors[key]\n\t\tif (desc.writable === false) {\n\t\t\tdesc.writable = true\n\t\t\tdesc.configurable = true\n\t\t}\n\t\t// like object.assign, we will read any _own_, get/set accessors. This helps in dealing\n\t\t// with libraries that trap values, like mobx or vue\n\t\t// unlike object.assign, non-enumerables will be copied as well\n\t\tif (desc.get || desc.set)\n\t\t\tdescriptors[key] = {\n\t\t\t\tconfigurable: true,\n\t\t\t\twritable: true, // could live with !!desc.set as well here...\n\t\t\t\tenumerable: desc.enumerable,\n\t\t\t\tvalue: base[key]\n\t\t\t}\n\t}\n\treturn Object.create(Object.getPrototypeOf(base), descriptors)\n}\n\n/**\n * Freezes draftable objects. Returns the original object.\n * By default freezes shallowly, but if the second argument is `true` it will freeze recursively.\n *\n * @param obj\n * @param deep\n */\nexport function freeze(obj: T, deep?: boolean): T\nexport function freeze(obj: any, deep: boolean = false): T {\n\tif (isFrozen(obj) || isDraft(obj) || !isDraftable(obj)) return obj\n\tif (getArchtype(obj) > 1 /* Map or Set */) {\n\t\tobj.set = obj.add = obj.clear = obj.delete = dontMutateFrozenCollections as any\n\t}\n\tObject.freeze(obj)\n\tif (deep) each(obj, (key, value) => freeze(value, true), true)\n\treturn obj\n}\n\nfunction dontMutateFrozenCollections() {\n\tdie(2)\n}\n\nexport function isFrozen(obj: any): boolean {\n\tif (obj == null || typeof obj !== \"object\") return true\n\t// See #600, IE dies on non-objects in Object.isFrozen\n\treturn Object.isFrozen(obj)\n}\n","import {\n\tImmerState,\n\tPatch,\n\tImmerScope,\n\tDrafted,\n\tAnyObject,\n\tImmerBaseState,\n\tAnyMap,\n\tAnySet,\n\tProxyType,\n\tdie\n} from \"../internal\"\n\n/** Plugin utilities */\nconst plugins: {\n\tPatches?: {\n\t\tgeneratePatches_(\n\t\t\tstate: ImmerState,\n\t\t\tbasePath: PatchPath,\n\t\t\tpatches: Patch[],\n\t\t\tinversePatches: Patch[]\n\t\t): void\n\t\tgenerateReplacementPatches_(\n\t\t\tbase: any,\n\t\t\treplacement: any,\n\t\t\tpatches: Patch[],\n\t\t\tinversePatches: Patch[]\n\t\t): void\n\t\tapplyPatches_(draft: T, patches: Patch[]): T\n\t}\n\tES5?: {\n\t\twillFinalizeES5_(scope: ImmerScope, result: any, isReplaced: boolean): void\n\t\tcreateES5Proxy_(\n\t\t\tbase: T,\n\t\t\tparent?: ImmerState\n\t\t): Drafted\n\t\thasChanges_(state: ES5ArrayState | ES5ObjectState): boolean\n\t}\n\tMapSet?: {\n\t\tproxyMap_(target: T, parent?: ImmerState): T\n\t\tproxySet_(target: T, parent?: ImmerState): T\n\t}\n} = {}\n\ntype Plugins = typeof plugins\n\nexport function getPlugin(\n\tpluginKey: K\n): Exclude {\n\tconst plugin = plugins[pluginKey]\n\tif (!plugin) {\n\t\tdie(18, pluginKey)\n\t}\n\t// @ts-ignore\n\treturn plugin\n}\n\nexport function loadPlugin(\n\tpluginKey: K,\n\timplementation: Plugins[K]\n): void {\n\tif (!plugins[pluginKey]) plugins[pluginKey] = implementation\n}\n\n/** ES5 Plugin */\n\ninterface ES5BaseState extends ImmerBaseState {\n\tassigned_: {[key: string]: any}\n\tparent_?: ImmerState\n\trevoked_: boolean\n}\n\nexport interface ES5ObjectState extends ES5BaseState {\n\ttype_: ProxyType.ES5Object\n\tdraft_: Drafted\n\tbase_: AnyObject\n\tcopy_: AnyObject | null\n}\n\nexport interface ES5ArrayState extends ES5BaseState {\n\ttype_: ProxyType.ES5Array\n\tdraft_: Drafted\n\tbase_: any\n\tcopy_: any\n}\n\n/** Map / Set plugin */\n\nexport interface MapState extends ImmerBaseState {\n\ttype_: ProxyType.Map\n\tcopy_: AnyMap | undefined\n\tassigned_: Map | undefined\n\tbase_: AnyMap\n\trevoked_: boolean\n\tdraft_: Drafted\n}\n\nexport interface SetState extends ImmerBaseState {\n\ttype_: ProxyType.Set\n\tcopy_: AnySet | undefined\n\tbase_: AnySet\n\tdrafts_: Map // maps the original value to the draft value in the new set\n\trevoked_: boolean\n\tdraft_: Drafted\n}\n\n/** Patches plugin */\n\nexport type PatchPath = (string | number)[]\n","import {\n\tPatch,\n\tPatchListener,\n\tDrafted,\n\tImmer,\n\tDRAFT_STATE,\n\tImmerState,\n\tProxyType,\n\tgetPlugin\n} from \"../internal\"\nimport {die} from \"../utils/errors\"\n\n/** Each scope represents a `produce` call. */\n\nexport interface ImmerScope {\n\tpatches_?: Patch[]\n\tinversePatches_?: Patch[]\n\tcanAutoFreeze_: boolean\n\tdrafts_: any[]\n\tparent_?: ImmerScope\n\tpatchListener_?: PatchListener\n\timmer_: Immer\n\tunfinalizedDrafts_: number\n}\n\nlet currentScope: ImmerScope | undefined\n\nexport function getCurrentScope() {\n\tif (__DEV__ && !currentScope) die(0)\n\treturn currentScope!\n}\n\nfunction createScope(\n\tparent_: ImmerScope | undefined,\n\timmer_: Immer\n): ImmerScope {\n\treturn {\n\t\tdrafts_: [],\n\t\tparent_,\n\t\timmer_,\n\t\t// Whenever the modified draft contains a draft from another scope, we\n\t\t// need to prevent auto-freezing so the unowned draft can be finalized.\n\t\tcanAutoFreeze_: true,\n\t\tunfinalizedDrafts_: 0\n\t}\n}\n\nexport function usePatchesInScope(\n\tscope: ImmerScope,\n\tpatchListener?: PatchListener\n) {\n\tif (patchListener) {\n\t\tgetPlugin(\"Patches\") // assert we have the plugin\n\t\tscope.patches_ = []\n\t\tscope.inversePatches_ = []\n\t\tscope.patchListener_ = patchListener\n\t}\n}\n\nexport function revokeScope(scope: ImmerScope) {\n\tleaveScope(scope)\n\tscope.drafts_.forEach(revokeDraft)\n\t// @ts-ignore\n\tscope.drafts_ = null\n}\n\nexport function leaveScope(scope: ImmerScope) {\n\tif (scope === currentScope) {\n\t\tcurrentScope = scope.parent_\n\t}\n}\n\nexport function enterScope(immer: Immer) {\n\treturn (currentScope = createScope(currentScope, immer))\n}\n\nfunction revokeDraft(draft: Drafted) {\n\tconst state: ImmerState = draft[DRAFT_STATE]\n\tif (\n\t\tstate.type_ === ProxyType.ProxyObject ||\n\t\tstate.type_ === ProxyType.ProxyArray\n\t)\n\t\tstate.revoke_()\n\telse state.revoked_ = true\n}\n","import {\n\tImmerScope,\n\tDRAFT_STATE,\n\tisDraftable,\n\tNOTHING,\n\tPatchPath,\n\teach,\n\thas,\n\tfreeze,\n\tImmerState,\n\tisDraft,\n\tSetState,\n\tset,\n\tProxyType,\n\tgetPlugin,\n\tdie,\n\trevokeScope,\n\tisFrozen,\n\tshallowCopy\n} from \"../internal\"\n\nexport function processResult(result: any, scope: ImmerScope) {\n\tscope.unfinalizedDrafts_ = scope.drafts_.length\n\tconst baseDraft = scope.drafts_![0]\n\tconst isReplaced = result !== undefined && result !== baseDraft\n\tif (!scope.immer_.useProxies_)\n\t\tgetPlugin(\"ES5\").willFinalizeES5_(scope, result, isReplaced)\n\tif (isReplaced) {\n\t\tif (baseDraft[DRAFT_STATE].modified_) {\n\t\t\trevokeScope(scope)\n\t\t\tdie(4)\n\t\t}\n\t\tif (isDraftable(result)) {\n\t\t\t// Finalize the result in case it contains (or is) a subset of the draft.\n\t\t\tresult = finalize(scope, result)\n\t\t\tif (!scope.parent_) maybeFreeze(scope, result)\n\t\t}\n\t\tif (scope.patches_) {\n\t\t\tgetPlugin(\"Patches\").generateReplacementPatches_(\n\t\t\t\tbaseDraft[DRAFT_STATE].base_,\n\t\t\t\tresult,\n\t\t\t\tscope.patches_,\n\t\t\t\tscope.inversePatches_!\n\t\t\t)\n\t\t}\n\t} else {\n\t\t// Finalize the base draft.\n\t\tresult = finalize(scope, baseDraft, [])\n\t}\n\trevokeScope(scope)\n\tif (scope.patches_) {\n\t\tscope.patchListener_!(scope.patches_, scope.inversePatches_!)\n\t}\n\treturn result !== NOTHING ? result : undefined\n}\n\nfunction finalize(rootScope: ImmerScope, value: any, path?: PatchPath) {\n\t// Don't recurse in tho recursive data structures\n\tif (isFrozen(value)) return value\n\n\tconst state: ImmerState = value[DRAFT_STATE]\n\t// A plain object, might need freezing, might contain drafts\n\tif (!state) {\n\t\teach(\n\t\t\tvalue,\n\t\t\t(key, childValue) =>\n\t\t\t\tfinalizeProperty(rootScope, state, value, key, childValue, path),\n\t\t\ttrue // See #590, don't recurse into non-enumerable of non drafted objects\n\t\t)\n\t\treturn value\n\t}\n\t// Never finalize drafts owned by another scope.\n\tif (state.scope_ !== rootScope) return value\n\t// Unmodified draft, return the (frozen) original\n\tif (!state.modified_) {\n\t\tmaybeFreeze(rootScope, state.base_, true)\n\t\treturn state.base_\n\t}\n\t// Not finalized yet, let's do that now\n\tif (!state.finalized_) {\n\t\tstate.finalized_ = true\n\t\tstate.scope_.unfinalizedDrafts_--\n\t\tconst result =\n\t\t\t// For ES5, create a good copy from the draft first, with added keys and without deleted keys.\n\t\t\tstate.type_ === ProxyType.ES5Object || state.type_ === ProxyType.ES5Array\n\t\t\t\t? (state.copy_ = shallowCopy(state.draft_))\n\t\t\t\t: state.copy_\n\t\t// Finalize all children of the copy\n\t\t// For sets we clone before iterating, otherwise we can get in endless loop due to modifying during iteration, see #628\n\t\t// Although the original test case doesn't seem valid anyway, so if this in the way we can turn the next line\n\t\t// back to each(result, ....)\n\t\teach(\n\t\t\tstate.type_ === ProxyType.Set ? new Set(result) : result,\n\t\t\t(key, childValue) =>\n\t\t\t\tfinalizeProperty(rootScope, state, result, key, childValue, path)\n\t\t)\n\t\t// everything inside is frozen, we can freeze here\n\t\tmaybeFreeze(rootScope, result, false)\n\t\t// first time finalizing, let's create those patches\n\t\tif (path && rootScope.patches_) {\n\t\t\tgetPlugin(\"Patches\").generatePatches_(\n\t\t\t\tstate,\n\t\t\t\tpath,\n\t\t\t\trootScope.patches_,\n\t\t\t\trootScope.inversePatches_!\n\t\t\t)\n\t\t}\n\t}\n\treturn state.copy_\n}\n\nfunction finalizeProperty(\n\trootScope: ImmerScope,\n\tparentState: undefined | ImmerState,\n\ttargetObject: any,\n\tprop: string | number,\n\tchildValue: any,\n\trootPath?: PatchPath\n) {\n\tif (__DEV__ && childValue === targetObject) die(5)\n\tif (isDraft(childValue)) {\n\t\tconst path =\n\t\t\trootPath &&\n\t\t\tparentState &&\n\t\t\tparentState!.type_ !== ProxyType.Set && // Set objects are atomic since they have no keys.\n\t\t\t!has((parentState as Exclude).assigned_!, prop) // Skip deep patches for assigned keys.\n\t\t\t\t? rootPath!.concat(prop)\n\t\t\t\t: undefined\n\t\t// Drafts owned by `scope` are finalized here.\n\t\tconst res = finalize(rootScope, childValue, path)\n\t\tset(targetObject, prop, res)\n\t\t// Drafts from another scope must prevented to be frozen\n\t\t// if we got a draft back from finalize, we're in a nested produce and shouldn't freeze\n\t\tif (isDraft(res)) {\n\t\t\trootScope.canAutoFreeze_ = false\n\t\t} else return\n\t}\n\t// Search new objects for unfinalized drafts. Frozen objects should never contain drafts.\n\tif (isDraftable(childValue) && !isFrozen(childValue)) {\n\t\tif (!rootScope.immer_.autoFreeze_ && rootScope.unfinalizedDrafts_ < 1) {\n\t\t\t// optimization: if an object is not a draft, and we don't have to\n\t\t\t// deepfreeze everything, and we are sure that no drafts are left in the remaining object\n\t\t\t// cause we saw and finalized all drafts already; we can stop visiting the rest of the tree.\n\t\t\t// This benefits especially adding large data tree's without further processing.\n\t\t\t// See add-data.js perf test\n\t\t\treturn\n\t\t}\n\t\tfinalize(rootScope, childValue)\n\t\t// immer deep freezes plain objects, so if there is no parent state, we freeze as well\n\t\tif (!parentState || !parentState.scope_.parent_)\n\t\t\tmaybeFreeze(rootScope, childValue)\n\t}\n}\n\nfunction maybeFreeze(scope: ImmerScope, value: any, deep = false) {\n\tif (scope.immer_.autoFreeze_ && scope.canAutoFreeze_) {\n\t\tfreeze(value, deep)\n\t}\n}\n","import {\n\teach,\n\thas,\n\tis,\n\tisDraftable,\n\tshallowCopy,\n\tlatest,\n\tImmerBaseState,\n\tImmerState,\n\tDrafted,\n\tAnyObject,\n\tAnyArray,\n\tObjectish,\n\tgetCurrentScope,\n\tDRAFT_STATE,\n\tdie,\n\tcreateProxy,\n\tProxyType\n} from \"../internal\"\n\ninterface ProxyBaseState extends ImmerBaseState {\n\tassigned_: {\n\t\t[property: string]: boolean\n\t}\n\tparent_?: ImmerState\n\trevoke_(): void\n}\n\nexport interface ProxyObjectState extends ProxyBaseState {\n\ttype_: ProxyType.ProxyObject\n\tbase_: any\n\tcopy_: any\n\tdraft_: Drafted\n}\n\nexport interface ProxyArrayState extends ProxyBaseState {\n\ttype_: ProxyType.ProxyArray\n\tbase_: AnyArray\n\tcopy_: AnyArray | null\n\tdraft_: Drafted\n}\n\ntype ProxyState = ProxyObjectState | ProxyArrayState\n\n/**\n * Returns a new draft of the `base` object.\n *\n * The second argument is the parent draft-state (used internally).\n */\nexport function createProxyProxy(\n\tbase: T,\n\tparent?: ImmerState\n): Drafted {\n\tconst isArray = Array.isArray(base)\n\tconst state: ProxyState = {\n\t\ttype_: isArray ? ProxyType.ProxyArray : (ProxyType.ProxyObject as any),\n\t\t// Track which produce call this is associated with.\n\t\tscope_: parent ? parent.scope_ : getCurrentScope()!,\n\t\t// True for both shallow and deep changes.\n\t\tmodified_: false,\n\t\t// Used during finalization.\n\t\tfinalized_: false,\n\t\t// Track which properties have been assigned (true) or deleted (false).\n\t\tassigned_: {},\n\t\t// The parent draft state.\n\t\tparent_: parent,\n\t\t// The base state.\n\t\tbase_: base,\n\t\t// The base proxy.\n\t\tdraft_: null as any, // set below\n\t\t// The base copy with any updated values.\n\t\tcopy_: null,\n\t\t// Called by the `produce` function.\n\t\trevoke_: null as any,\n\t\tisManual_: false\n\t}\n\n\t// the traps must target something, a bit like the 'real' base.\n\t// but also, we need to be able to determine from the target what the relevant state is\n\t// (to avoid creating traps per instance to capture the state in closure,\n\t// and to avoid creating weird hidden properties as well)\n\t// So the trick is to use 'state' as the actual 'target'! (and make sure we intercept everything)\n\t// Note that in the case of an array, we put the state in an array to have better Reflect defaults ootb\n\tlet target: T = state as any\n\tlet traps: ProxyHandler> = objectTraps\n\tif (isArray) {\n\t\ttarget = [state] as any\n\t\ttraps = arrayTraps\n\t}\n\n\tconst {revoke, proxy} = Proxy.revocable(target, traps)\n\tstate.draft_ = proxy as any\n\tstate.revoke_ = revoke\n\treturn proxy as any\n}\n\n/**\n * Object drafts\n */\nexport const objectTraps: ProxyHandler = {\n\tget(state, prop) {\n\t\tif (prop === DRAFT_STATE) return state\n\n\t\tconst source = latest(state)\n\t\tif (!has(source, prop)) {\n\t\t\t// non-existing or non-own property...\n\t\t\treturn readPropFromProto(state, source, prop)\n\t\t}\n\t\tconst value = source[prop]\n\t\tif (state.finalized_ || !isDraftable(value)) {\n\t\t\treturn value\n\t\t}\n\t\t// Check for existing draft in modified state.\n\t\t// Assigned values are never drafted. This catches any drafts we created, too.\n\t\tif (value === peek(state.base_, prop)) {\n\t\t\tprepareCopy(state)\n\t\t\treturn (state.copy_![prop as any] = createProxy(\n\t\t\t\tstate.scope_.immer_,\n\t\t\t\tvalue,\n\t\t\t\tstate\n\t\t\t))\n\t\t}\n\t\treturn value\n\t},\n\thas(state, prop) {\n\t\treturn prop in latest(state)\n\t},\n\townKeys(state) {\n\t\treturn Reflect.ownKeys(latest(state))\n\t},\n\tset(\n\t\tstate: ProxyObjectState,\n\t\tprop: string /* strictly not, but helps TS */,\n\t\tvalue\n\t) {\n\t\tconst desc = getDescriptorFromProto(latest(state), prop)\n\t\tif (desc?.set) {\n\t\t\t// special case: if this write is captured by a setter, we have\n\t\t\t// to trigger it with the correct context\n\t\t\tdesc.set.call(state.draft_, value)\n\t\t\treturn true\n\t\t}\n\t\tif (!state.modified_) {\n\t\t\t// the last check is because we need to be able to distinguish setting a non-existing to undefined (which is a change)\n\t\t\t// from setting an existing property with value undefined to undefined (which is not a change)\n\t\t\tconst current = peek(latest(state), prop)\n\t\t\t// special case, if we assigning the original value to a draft, we can ignore the assignment\n\t\t\tconst currentState: ProxyObjectState = current?.[DRAFT_STATE]\n\t\t\tif (currentState && currentState.base_ === value) {\n\t\t\t\tstate.copy_![prop] = value\n\t\t\t\tstate.assigned_[prop] = false\n\t\t\t\treturn true\n\t\t\t}\n\t\t\tif (is(value, current) && (value !== undefined || has(state.base_, prop)))\n\t\t\t\treturn true\n\t\t\tprepareCopy(state)\n\t\t\tmarkChanged(state)\n\t\t}\n\n\t\tif (\n\t\t\tstate.copy_![prop] === value &&\n\t\t\t// special case: NaN\n\t\t\ttypeof value !== \"number\" &&\n\t\t\t// special case: handle new props with value 'undefined'\n\t\t\t(value !== undefined || prop in state.copy_)\n\t\t)\n\t\t\treturn true\n\n\t\t// @ts-ignore\n\t\tstate.copy_![prop] = value\n\t\tstate.assigned_[prop] = true\n\t\treturn true\n\t},\n\tdeleteProperty(state, prop: string) {\n\t\t// The `undefined` check is a fast path for pre-existing keys.\n\t\tif (peek(state.base_, prop) !== undefined || prop in state.base_) {\n\t\t\tstate.assigned_[prop] = false\n\t\t\tprepareCopy(state)\n\t\t\tmarkChanged(state)\n\t\t} else {\n\t\t\t// if an originally not assigned property was deleted\n\t\t\tdelete state.assigned_[prop]\n\t\t}\n\t\t// @ts-ignore\n\t\tif (state.copy_) delete state.copy_[prop]\n\t\treturn true\n\t},\n\t// Note: We never coerce `desc.value` into an Immer draft, because we can't make\n\t// the same guarantee in ES5 mode.\n\tgetOwnPropertyDescriptor(state, prop) {\n\t\tconst owner = latest(state)\n\t\tconst desc = Reflect.getOwnPropertyDescriptor(owner, prop)\n\t\tif (!desc) return desc\n\t\treturn {\n\t\t\twritable: true,\n\t\t\tconfigurable: state.type_ !== ProxyType.ProxyArray || prop !== \"length\",\n\t\t\tenumerable: desc.enumerable,\n\t\t\tvalue: owner[prop]\n\t\t}\n\t},\n\tdefineProperty() {\n\t\tdie(11)\n\t},\n\tgetPrototypeOf(state) {\n\t\treturn Object.getPrototypeOf(state.base_)\n\t},\n\tsetPrototypeOf() {\n\t\tdie(12)\n\t}\n}\n\n/**\n * Array drafts\n */\n\nconst arrayTraps: ProxyHandler<[ProxyArrayState]> = {}\neach(objectTraps, (key, fn) => {\n\t// @ts-ignore\n\tarrayTraps[key] = function() {\n\t\targuments[0] = arguments[0][0]\n\t\treturn fn.apply(this, arguments)\n\t}\n})\narrayTraps.deleteProperty = function(state, prop) {\n\tif (__DEV__ && isNaN(parseInt(prop as any))) die(13)\n\t// @ts-ignore\n\treturn arrayTraps.set!.call(this, state, prop, undefined)\n}\narrayTraps.set = function(state, prop, value) {\n\tif (__DEV__ && prop !== \"length\" && isNaN(parseInt(prop as any))) die(14)\n\treturn objectTraps.set!.call(this, state[0], prop, value, state[0])\n}\n\n// Access a property without creating an Immer draft.\nfunction peek(draft: Drafted, prop: PropertyKey) {\n\tconst state = draft[DRAFT_STATE]\n\tconst source = state ? latest(state) : draft\n\treturn source[prop]\n}\n\nfunction readPropFromProto(state: ImmerState, source: any, prop: PropertyKey) {\n\tconst desc = getDescriptorFromProto(source, prop)\n\treturn desc\n\t\t? `value` in desc\n\t\t\t? desc.value\n\t\t\t: // This is a very special case, if the prop is a getter defined by the\n\t\t\t // prototype, we should invoke it with the draft as context!\n\t\t\t desc.get?.call(state.draft_)\n\t\t: undefined\n}\n\nfunction getDescriptorFromProto(\n\tsource: any,\n\tprop: PropertyKey\n): PropertyDescriptor | undefined {\n\t// 'in' checks proto!\n\tif (!(prop in source)) return undefined\n\tlet proto = Object.getPrototypeOf(source)\n\twhile (proto) {\n\t\tconst desc = Object.getOwnPropertyDescriptor(proto, prop)\n\t\tif (desc) return desc\n\t\tproto = Object.getPrototypeOf(proto)\n\t}\n\treturn undefined\n}\n\nexport function markChanged(state: ImmerState) {\n\tif (!state.modified_) {\n\t\tstate.modified_ = true\n\t\tif (state.parent_) {\n\t\t\tmarkChanged(state.parent_)\n\t\t}\n\t}\n}\n\nexport function prepareCopy(state: {base_: any; copy_: any}) {\n\tif (!state.copy_) {\n\t\tstate.copy_ = shallowCopy(state.base_)\n\t}\n}\n","import {\n\tIProduceWithPatches,\n\tIProduce,\n\tImmerState,\n\tDrafted,\n\tisDraftable,\n\tprocessResult,\n\tPatch,\n\tObjectish,\n\tDRAFT_STATE,\n\tDraft,\n\tPatchListener,\n\tisDraft,\n\tisMap,\n\tisSet,\n\tcreateProxyProxy,\n\tgetPlugin,\n\tdie,\n\thasProxies,\n\tenterScope,\n\trevokeScope,\n\tleaveScope,\n\tusePatchesInScope,\n\tgetCurrentScope,\n\tNOTHING,\n\tfreeze,\n\tcurrent\n} from \"../internal\"\n\ninterface ProducersFns {\n\tproduce: IProduce\n\tproduceWithPatches: IProduceWithPatches\n}\n\nexport class Immer implements ProducersFns {\n\tuseProxies_: boolean = hasProxies\n\n\tautoFreeze_: boolean = true\n\n\tconstructor(config?: {useProxies?: boolean; autoFreeze?: boolean}) {\n\t\tif (typeof config?.useProxies === \"boolean\")\n\t\t\tthis.setUseProxies(config!.useProxies)\n\t\tif (typeof config?.autoFreeze === \"boolean\")\n\t\t\tthis.setAutoFreeze(config!.autoFreeze)\n\t}\n\n\t/**\n\t * The `produce` function takes a value and a \"recipe function\" (whose\n\t * return value often depends on the base state). The recipe function is\n\t * free to mutate its first argument however it wants. All mutations are\n\t * only ever applied to a __copy__ of the base state.\n\t *\n\t * Pass only a function to create a \"curried producer\" which relieves you\n\t * from passing the recipe function every time.\n\t *\n\t * Only plain objects and arrays are made mutable. All other objects are\n\t * considered uncopyable.\n\t *\n\t * Note: This function is __bound__ to its `Immer` instance.\n\t *\n\t * @param {any} base - the initial state\n\t * @param {Function} producer - function that receives a proxy of the base state as first argument and which can be freely modified\n\t * @param {Function} patchListener - optional function that will be called with all the patches produced here\n\t * @returns {any} a new state, or the initial state if nothing was modified\n\t */\n\tproduce: IProduce = (base: any, recipe?: any, patchListener?: any) => {\n\t\t// curried invocation\n\t\tif (typeof base === \"function\" && typeof recipe !== \"function\") {\n\t\t\tconst defaultBase = recipe\n\t\t\trecipe = base\n\n\t\t\tconst self = this\n\t\t\treturn function curriedProduce(\n\t\t\t\tthis: any,\n\t\t\t\tbase = defaultBase,\n\t\t\t\t...args: any[]\n\t\t\t) {\n\t\t\t\treturn self.produce(base, (draft: Drafted) => recipe.call(this, draft, ...args)) // prettier-ignore\n\t\t\t}\n\t\t}\n\n\t\tif (typeof recipe !== \"function\") die(6)\n\t\tif (patchListener !== undefined && typeof patchListener !== \"function\")\n\t\t\tdie(7)\n\n\t\tlet result\n\n\t\t// Only plain objects, arrays, and \"immerable classes\" are drafted.\n\t\tif (isDraftable(base)) {\n\t\t\tconst scope = enterScope(this)\n\t\t\tconst proxy = createProxy(this, base, undefined)\n\t\t\tlet hasError = true\n\t\t\ttry {\n\t\t\t\tresult = recipe(proxy)\n\t\t\t\thasError = false\n\t\t\t} finally {\n\t\t\t\t// finally instead of catch + rethrow better preserves original stack\n\t\t\t\tif (hasError) revokeScope(scope)\n\t\t\t\telse leaveScope(scope)\n\t\t\t}\n\t\t\tif (typeof Promise !== \"undefined\" && result instanceof Promise) {\n\t\t\t\treturn result.then(\n\t\t\t\t\tresult => {\n\t\t\t\t\t\tusePatchesInScope(scope, patchListener)\n\t\t\t\t\t\treturn processResult(result, scope)\n\t\t\t\t\t},\n\t\t\t\t\terror => {\n\t\t\t\t\t\trevokeScope(scope)\n\t\t\t\t\t\tthrow error\n\t\t\t\t\t}\n\t\t\t\t)\n\t\t\t}\n\t\t\tusePatchesInScope(scope, patchListener)\n\t\t\treturn processResult(result, scope)\n\t\t} else if (!base || typeof base !== \"object\") {\n\t\t\tresult = recipe(base)\n\t\t\tif (result === undefined) result = base\n\t\t\tif (result === NOTHING) result = undefined\n\t\t\tif (this.autoFreeze_) freeze(result, true)\n\t\t\tif (patchListener) {\n\t\t\t\tconst p: Patch[] = []\n\t\t\t\tconst ip: Patch[] = []\n\t\t\t\tgetPlugin(\"Patches\").generateReplacementPatches_(base, result, p, ip)\n\t\t\t\tpatchListener(p, ip)\n\t\t\t}\n\t\t\treturn result\n\t\t} else die(21, base)\n\t}\n\n\tproduceWithPatches: IProduceWithPatches = (\n\t\tbase: any,\n\t\trecipe?: any,\n\t): any => {\n\t\t// curried invocation\n\t\tif (typeof base === \"function\") {\n\t\t\treturn (state: any, ...args: any[]) =>\n\t\t\t\tthis.produceWithPatches(state, (draft: any) => base(draft, ...args))\n\t\t}\n\n\t\tlet patches: Patch[], inversePatches: Patch[]\n\t\tconst result = this.produce(base, recipe, (p: Patch[], ip: Patch[]) => {\n\t\t\tpatches = p\n\t\t\tinversePatches = ip\n\t\t})\n\n\t\tif (typeof Promise !== \"undefined\" && result instanceof Promise) {\n\t\t\treturn result.then(nextState => [nextState, patches!, inversePatches!])\n\t\t}\n\t\treturn [result, patches!, inversePatches!]\n\t}\n\n\tcreateDraft(base: T): Draft {\n\t\tif (!isDraftable(base)) die(8)\n\t\tif (isDraft(base)) base = current(base)\n\t\tconst scope = enterScope(this)\n\t\tconst proxy = createProxy(this, base, undefined)\n\t\tproxy[DRAFT_STATE].isManual_ = true\n\t\tleaveScope(scope)\n\t\treturn proxy as any\n\t}\n\n\tfinishDraft>(\n\t\tdraft: D,\n\t\tpatchListener?: PatchListener\n\t): D extends Draft ? T : never {\n\t\tconst state: ImmerState = draft && (draft as any)[DRAFT_STATE]\n\t\tif (__DEV__) {\n\t\t\tif (!state || !state.isManual_) die(9)\n\t\t\tif (state.finalized_) die(10)\n\t\t}\n\t\tconst {scope_: scope} = state\n\t\tusePatchesInScope(scope, patchListener)\n\t\treturn processResult(undefined, scope)\n\t}\n\n\t/**\n\t * Pass true to automatically freeze all copies created by Immer.\n\t *\n\t * By default, auto-freezing is enabled.\n\t */\n\tsetAutoFreeze(value: boolean) {\n\t\tthis.autoFreeze_ = value\n\t}\n\n\t/**\n\t * Pass true to use the ES2015 `Proxy` class when creating drafts, which is\n\t * always faster than using ES5 proxies.\n\t *\n\t * By default, feature detection is used, so calling this is rarely necessary.\n\t */\n\tsetUseProxies(value: boolean) {\n\t\tif (value && !hasProxies) {\n\t\t\tdie(20)\n\t\t}\n\t\tthis.useProxies_ = value\n\t}\n\n\tapplyPatches(base: T, patches: Patch[]): T {\n\t\t// If a patch replaces the entire state, take that replacement as base\n\t\t// before applying patches\n\t\tlet i: number\n\t\tfor (i = patches.length - 1; i >= 0; i--) {\n\t\t\tconst patch = patches[i]\n\t\t\tif (patch.path.length === 0 && patch.op === \"replace\") {\n\t\t\t\tbase = patch.value\n\t\t\t\tbreak\n\t\t\t}\n\t\t}\n\t\t// If there was a patch that replaced the entire state, start from the\n\t\t// patch after that.\n\t\tif (i > -1) {\n\t\t\tpatches = patches.slice(i + 1)\n\t\t}\n\n\t\tconst applyPatchesImpl = getPlugin(\"Patches\").applyPatches_\n\t\tif (isDraft(base)) {\n\t\t\t// N.B: never hits if some patch a replacement, patches are never drafts\n\t\t\treturn applyPatchesImpl(base, patches)\n\t\t}\n\t\t// Otherwise, produce a copy of the base state.\n\t\treturn this.produce(base, (draft: Drafted) =>\n\t\t\tapplyPatchesImpl(draft, patches)\n\t\t)\n\t}\n}\n\nexport function createProxy(\n\timmer: Immer,\n\tvalue: T,\n\tparent?: ImmerState\n): Drafted {\n\t// precondition: createProxy should be guarded by isDraftable, so we know we can safely draft\n\tconst draft: Drafted = isMap(value)\n\t\t? getPlugin(\"MapSet\").proxyMap_(value, parent)\n\t\t: isSet(value)\n\t\t? getPlugin(\"MapSet\").proxySet_(value, parent)\n\t\t: immer.useProxies_\n\t\t? createProxyProxy(value, parent)\n\t\t: getPlugin(\"ES5\").createES5Proxy_(value, parent)\n\n\tconst scope = parent ? parent.scope_ : getCurrentScope()\n\tscope.drafts_.push(draft)\n\treturn draft\n}\n","import {\n\tdie,\n\tisDraft,\n\tshallowCopy,\n\teach,\n\tDRAFT_STATE,\n\tget,\n\tset,\n\tImmerState,\n\tisDraftable,\n\tArchtype,\n\tgetArchtype,\n\tgetPlugin\n} from \"../internal\"\n\n/** Takes a snapshot of the current state of a draft and finalizes it (but without freezing). This is a great utility to print the current state during debugging (no Proxies in the way). The output of current can also be safely leaked outside the producer. */\nexport function current(value: T): T\nexport function current(value: any): any {\n\tif (!isDraft(value)) die(22, value)\n\treturn currentImpl(value)\n}\n\nfunction currentImpl(value: any): any {\n\tif (!isDraftable(value)) return value\n\tconst state: ImmerState | undefined = value[DRAFT_STATE]\n\tlet copy: any\n\tconst archType = getArchtype(value)\n\tif (state) {\n\t\tif (\n\t\t\t!state.modified_ &&\n\t\t\t(state.type_ < 4 || !getPlugin(\"ES5\").hasChanges_(state as any))\n\t\t)\n\t\t\treturn state.base_\n\t\t// Optimization: avoid generating new drafts during copying\n\t\tstate.finalized_ = true\n\t\tcopy = copyHelper(value, archType)\n\t\tstate.finalized_ = false\n\t} else {\n\t\tcopy = copyHelper(value, archType)\n\t}\n\n\teach(copy, (key, childValue) => {\n\t\tif (state && get(state.base_, key) === childValue) return // no need to copy or search in something that didn't change\n\t\tset(copy, key, currentImpl(childValue))\n\t})\n\t// In the future, we might consider freezing here, based on the current settings\n\treturn archType === Archtype.Set ? new Set(copy) : copy\n}\n\nfunction copyHelper(value: any, archType: number): any {\n\t// creates a shallow copy, even if it is a map or set\n\tswitch (archType) {\n\t\tcase Archtype.Map:\n\t\t\treturn new Map(value)\n\t\tcase Archtype.Set:\n\t\t\t// Set will be cloned as array temporarily, so that we can replace individual items\n\t\t\treturn Array.from(value)\n\t}\n\treturn shallowCopy(value)\n}\n","import {\n\tImmerState,\n\tDrafted,\n\tES5ArrayState,\n\tES5ObjectState,\n\teach,\n\thas,\n\tisDraft,\n\tlatest,\n\tDRAFT_STATE,\n\tis,\n\tloadPlugin,\n\tImmerScope,\n\tProxyType,\n\tgetCurrentScope,\n\tdie,\n\tmarkChanged,\n\tobjectTraps,\n\townKeys,\n\tgetOwnPropertyDescriptors\n} from \"../internal\"\n\ntype ES5State = ES5ArrayState | ES5ObjectState\n\nexport function enableES5() {\n\tfunction willFinalizeES5_(\n\t\tscope: ImmerScope,\n\t\tresult: any,\n\t\tisReplaced: boolean\n\t) {\n\t\tif (!isReplaced) {\n\t\t\tif (scope.patches_) {\n\t\t\t\tmarkChangesRecursively(scope.drafts_![0])\n\t\t\t}\n\t\t\t// This is faster when we don't care about which attributes changed.\n\t\t\tmarkChangesSweep(scope.drafts_)\n\t\t}\n\t\t// When a child draft is returned, look for changes.\n\t\telse if (\n\t\t\tisDraft(result) &&\n\t\t\t(result[DRAFT_STATE] as ES5State).scope_ === scope\n\t\t) {\n\t\t\tmarkChangesSweep(scope.drafts_)\n\t\t}\n\t}\n\n\tfunction createES5Draft(isArray: boolean, base: any) {\n\t\tif (isArray) {\n\t\t\tconst draft = new Array(base.length)\n\t\t\tfor (let i = 0; i < base.length; i++)\n\t\t\t\tObject.defineProperty(draft, \"\" + i, proxyProperty(i, true))\n\t\t\treturn draft\n\t\t} else {\n\t\t\tconst descriptors = getOwnPropertyDescriptors(base)\n\t\t\tdelete descriptors[DRAFT_STATE as any]\n\t\t\tconst keys = ownKeys(descriptors)\n\t\t\tfor (let i = 0; i < keys.length; i++) {\n\t\t\t\tconst key: any = keys[i]\n\t\t\t\tdescriptors[key] = proxyProperty(\n\t\t\t\t\tkey,\n\t\t\t\t\tisArray || !!descriptors[key].enumerable\n\t\t\t\t)\n\t\t\t}\n\t\t\treturn Object.create(Object.getPrototypeOf(base), descriptors)\n\t\t}\n\t}\n\n\tfunction createES5Proxy_(\n\t\tbase: T,\n\t\tparent?: ImmerState\n\t): Drafted {\n\t\tconst isArray = Array.isArray(base)\n\t\tconst draft = createES5Draft(isArray, base)\n\n\t\tconst state: ES5ObjectState | ES5ArrayState = {\n\t\t\ttype_: isArray ? ProxyType.ES5Array : (ProxyType.ES5Object as any),\n\t\t\tscope_: parent ? parent.scope_ : getCurrentScope(),\n\t\t\tmodified_: false,\n\t\t\tfinalized_: false,\n\t\t\tassigned_: {},\n\t\t\tparent_: parent,\n\t\t\t// base is the object we are drafting\n\t\t\tbase_: base,\n\t\t\t// draft is the draft object itself, that traps all reads and reads from either the base (if unmodified) or copy (if modified)\n\t\t\tdraft_: draft,\n\t\t\tcopy_: null,\n\t\t\trevoked_: false,\n\t\t\tisManual_: false\n\t\t}\n\n\t\tObject.defineProperty(draft, DRAFT_STATE, {\n\t\t\tvalue: state,\n\t\t\t// enumerable: false <- the default\n\t\t\twritable: true\n\t\t})\n\t\treturn draft\n\t}\n\n\t// property descriptors are recycled to make sure we don't create a get and set closure per property,\n\t// but share them all instead\n\tconst descriptors: {[prop: string]: PropertyDescriptor} = {}\n\n\tfunction proxyProperty(\n\t\tprop: string | number,\n\t\tenumerable: boolean\n\t): PropertyDescriptor {\n\t\tlet desc = descriptors[prop]\n\t\tif (desc) {\n\t\t\tdesc.enumerable = enumerable\n\t\t} else {\n\t\t\tdescriptors[prop] = desc = {\n\t\t\t\tconfigurable: true,\n\t\t\t\tenumerable,\n\t\t\t\tget(this: any) {\n\t\t\t\t\tconst state = this[DRAFT_STATE]\n\t\t\t\t\tif (__DEV__) assertUnrevoked(state)\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\treturn objectTraps.get(state, prop)\n\t\t\t\t},\n\t\t\t\tset(this: any, value) {\n\t\t\t\t\tconst state = this[DRAFT_STATE]\n\t\t\t\t\tif (__DEV__) assertUnrevoked(state)\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\tobjectTraps.set(state, prop, value)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn desc\n\t}\n\n\t// This looks expensive, but only proxies are visited, and only objects without known changes are scanned.\n\tfunction markChangesSweep(drafts: Drafted[]) {\n\t\t// The natural order of drafts in the `scope` array is based on when they\n\t\t// were accessed. By processing drafts in reverse natural order, we have a\n\t\t// better chance of processing leaf nodes first. When a leaf node is known to\n\t\t// have changed, we can avoid any traversal of its ancestor nodes.\n\t\tfor (let i = drafts.length - 1; i >= 0; i--) {\n\t\t\tconst state: ES5State = drafts[i][DRAFT_STATE]\n\t\t\tif (!state.modified_) {\n\t\t\t\tswitch (state.type_) {\n\t\t\t\t\tcase ProxyType.ES5Array:\n\t\t\t\t\t\tif (hasArrayChanges(state)) markChanged(state)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase ProxyType.ES5Object:\n\t\t\t\t\t\tif (hasObjectChanges(state)) markChanged(state)\n\t\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction markChangesRecursively(object: any) {\n\t\tif (!object || typeof object !== \"object\") return\n\t\tconst state: ES5State | undefined = object[DRAFT_STATE]\n\t\tif (!state) return\n\t\tconst {base_, draft_, assigned_, type_} = state\n\t\tif (type_ === ProxyType.ES5Object) {\n\t\t\t// Look for added keys.\n\t\t\t// probably there is a faster way to detect changes, as sweep + recurse seems to do some\n\t\t\t// unnecessary work.\n\t\t\t// also: probably we can store the information we detect here, to speed up tree finalization!\n\t\t\teach(draft_, key => {\n\t\t\t\tif ((key as any) === DRAFT_STATE) return\n\t\t\t\t// The `undefined` check is a fast path for pre-existing keys.\n\t\t\t\tif ((base_ as any)[key] === undefined && !has(base_, key)) {\n\t\t\t\t\tassigned_[key] = true\n\t\t\t\t\tmarkChanged(state)\n\t\t\t\t} else if (!assigned_[key]) {\n\t\t\t\t\t// Only untouched properties trigger recursion.\n\t\t\t\t\tmarkChangesRecursively(draft_[key])\n\t\t\t\t}\n\t\t\t})\n\t\t\t// Look for removed keys.\n\t\t\teach(base_, key => {\n\t\t\t\t// The `undefined` check is a fast path for pre-existing keys.\n\t\t\t\tif (draft_[key] === undefined && !has(draft_, key)) {\n\t\t\t\t\tassigned_[key] = false\n\t\t\t\t\tmarkChanged(state)\n\t\t\t\t}\n\t\t\t})\n\t\t} else if (type_ === ProxyType.ES5Array) {\n\t\t\tif (hasArrayChanges(state as ES5ArrayState)) {\n\t\t\t\tmarkChanged(state)\n\t\t\t\tassigned_.length = true\n\t\t\t}\n\n\t\t\tif (draft_.length < base_.length) {\n\t\t\t\tfor (let i = draft_.length; i < base_.length; i++) assigned_[i] = false\n\t\t\t} else {\n\t\t\t\tfor (let i = base_.length; i < draft_.length; i++) assigned_[i] = true\n\t\t\t}\n\n\t\t\t// Minimum count is enough, the other parts has been processed.\n\t\t\tconst min = Math.min(draft_.length, base_.length)\n\n\t\t\tfor (let i = 0; i < min; i++) {\n\t\t\t\t// Only untouched indices trigger recursion.\n\t\t\t\tif (!draft_.hasOwnProperty(i)) {\n\t\t\t\t\tassigned_[i] = true\n\t\t\t\t}\n\t\t\t\tif (assigned_[i] === undefined) markChangesRecursively(draft_[i])\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction hasObjectChanges(state: ES5ObjectState) {\n\t\tconst {base_, draft_} = state\n\n\t\t// Search for added keys and changed keys. Start at the back, because\n\t\t// non-numeric keys are ordered by time of definition on the object.\n\t\tconst keys = ownKeys(draft_)\n\t\tfor (let i = keys.length - 1; i >= 0; i--) {\n\t\t\tconst key: any = keys[i]\n\t\t\tif (key === DRAFT_STATE) continue\n\t\t\tconst baseValue = base_[key]\n\t\t\t// The `undefined` check is a fast path for pre-existing keys.\n\t\t\tif (baseValue === undefined && !has(base_, key)) {\n\t\t\t\treturn true\n\t\t\t}\n\t\t\t// Once a base key is deleted, future changes go undetected, because its\n\t\t\t// descriptor is erased. This branch detects any missed changes.\n\t\t\telse {\n\t\t\t\tconst value = draft_[key]\n\t\t\t\tconst state: ImmerState = value && value[DRAFT_STATE]\n\t\t\t\tif (state ? state.base_ !== baseValue : !is(value, baseValue)) {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// At this point, no keys were added or changed.\n\t\t// Compare key count to determine if keys were deleted.\n\t\tconst baseIsDraft = !!base_[DRAFT_STATE as any]\n\t\treturn keys.length !== ownKeys(base_).length + (baseIsDraft ? 0 : 1) // + 1 to correct for DRAFT_STATE\n\t}\n\n\tfunction hasArrayChanges(state: ES5ArrayState) {\n\t\tconst {draft_} = state\n\t\tif (draft_.length !== state.base_.length) return true\n\t\t// See #116\n\t\t// If we first shorten the length, our array interceptors will be removed.\n\t\t// If after that new items are added, result in the same original length,\n\t\t// those last items will have no intercepting property.\n\t\t// So if there is no own descriptor on the last position, we know that items were removed and added\n\t\t// N.B.: splice, unshift, etc only shift values around, but not prop descriptors, so we only have to check\n\t\t// the last one\n\t\t// last descriptor can be not a trap, if the array was extended\n\t\tconst descriptor = Object.getOwnPropertyDescriptor(\n\t\t\tdraft_,\n\t\t\tdraft_.length - 1\n\t\t)\n\t\t// descriptor can be null, but only for newly created sparse arrays, eg. new Array(10)\n\t\tif (descriptor && !descriptor.get) return true\n\t\t// if we miss a property, it has been deleted, so array probobaly changed\n\t\tfor (let i = 0; i < draft_.length; i++) {\n\t\t\tif (!draft_.hasOwnProperty(i)) return true\n\t\t}\n\t\t// For all other cases, we don't have to compare, as they would have been picked up by the index setters\n\t\treturn false\n\t}\n\n\tfunction hasChanges_(state: ES5State) {\n\t\treturn state.type_ === ProxyType.ES5Object\n\t\t\t? hasObjectChanges(state)\n\t\t\t: hasArrayChanges(state)\n\t}\n\n\tfunction assertUnrevoked(state: any /*ES5State | MapState | SetState*/) {\n\t\tif (state.revoked_) die(3, JSON.stringify(latest(state)))\n\t}\n\n\tloadPlugin(\"ES5\", {\n\t\tcreateES5Proxy_,\n\t\twillFinalizeES5_,\n\t\thasChanges_\n\t})\n}\n","import {\n\tIProduce,\n\tIProduceWithPatches,\n\tImmer,\n\tDraft,\n\tImmutable\n} from \"./internal\"\n\nexport {\n\tDraft,\n\tImmutable,\n\tPatch,\n\tPatchListener,\n\toriginal,\n\tcurrent,\n\tisDraft,\n\tisDraftable,\n\tNOTHING as nothing,\n\tDRAFTABLE as immerable,\n\tfreeze\n} from \"./internal\"\n\nconst immer = new Immer()\n\n/**\n * The `produce` function takes a value and a \"recipe function\" (whose\n * return value often depends on the base state). The recipe function is\n * free to mutate its first argument however it wants. All mutations are\n * only ever applied to a __copy__ of the base state.\n *\n * Pass only a function to create a \"curried producer\" which relieves you\n * from passing the recipe function every time.\n *\n * Only plain objects and arrays are made mutable. All other objects are\n * considered uncopyable.\n *\n * Note: This function is __bound__ to its `Immer` instance.\n *\n * @param {any} base - the initial state\n * @param {Function} producer - function that receives a proxy of the base state as first argument and which can be freely modified\n * @param {Function} patchListener - optional function that will be called with all the patches produced here\n * @returns {any} a new state, or the initial state if nothing was modified\n */\nexport const produce: IProduce = immer.produce\nexport default produce\n\n/**\n * Like `produce`, but `produceWithPatches` always returns a tuple\n * [nextState, patches, inversePatches] (instead of just the next state)\n */\nexport const produceWithPatches: IProduceWithPatches = immer.produceWithPatches.bind(\n\timmer\n)\n\n/**\n * Pass true to automatically freeze all copies created by Immer.\n *\n * Always freeze by default, even in production mode\n */\nexport const setAutoFreeze = immer.setAutoFreeze.bind(immer)\n\n/**\n * Pass true to use the ES2015 `Proxy` class when creating drafts, which is\n * always faster than using ES5 proxies.\n *\n * By default, feature detection is used, so calling this is rarely necessary.\n */\nexport const setUseProxies = immer.setUseProxies.bind(immer)\n\n/**\n * Apply an array of Immer patches to the first argument.\n *\n * This function is a producer, which means copy-on-write is in effect.\n */\nexport const applyPatches = immer.applyPatches.bind(immer)\n\n/**\n * Create an Immer draft from the given base state, which may be a draft itself.\n * The draft can be modified until you finalize it with the `finishDraft` function.\n */\nexport const createDraft = immer.createDraft.bind(immer)\n\n/**\n * Finalize an Immer draft from a `createDraft` call, returning the base state\n * (if no changes were made) or a modified copy. The draft must *not* be\n * mutated afterwards.\n *\n * Pass a function as the 2nd argument to generate Immer patches based on the\n * changes that were made.\n */\nexport const finishDraft = immer.finishDraft.bind(immer)\n\n/**\n * This function is actually a no-op, but can be used to cast an immutable type\n * to an draft type and make TypeScript happy\n *\n * @param value\n */\nexport function castDraft(value: T): Draft {\n\treturn value as any\n}\n\n/**\n * This function is actually a no-op, but can be used to cast a mutable type\n * to an immutable type and make TypeScript happy\n * @param value\n */\nexport function castImmutable(value: T): Immutable {\n\treturn value as any\n}\n\nexport {Immer}\n\nexport {enableES5} from \"./plugins/es5\"\nexport {enablePatches} from \"./plugins/patches\"\nexport {enableMapSet} from \"./plugins/mapset\"\nexport {enableAllPlugins} from \"./plugins/all\"\n","// Should be no imports here!\n\n// Some things that should be evaluated before all else...\n\n// We only want to know if non-polyfilled symbols are available\nconst hasSymbol =\n\ttypeof Symbol !== \"undefined\" && typeof Symbol(\"x\") === \"symbol\"\nexport const hasMap = typeof Map !== \"undefined\"\nexport const hasSet = typeof Set !== \"undefined\"\nexport const hasProxies =\n\ttypeof Proxy !== \"undefined\" &&\n\ttypeof Proxy.revocable !== \"undefined\" &&\n\ttypeof Reflect !== \"undefined\"\n\n/**\n * The sentinel value returned by producers to replace the draft with undefined.\n */\nexport const NOTHING: Nothing = hasSymbol\n\t? Symbol.for(\"immer-nothing\")\n\t: ({[\"immer-nothing\"]: true} as any)\n\n/**\n * To let Immer treat your class instances as plain immutable objects\n * (albeit with a custom prototype), you must define either an instance property\n * or a static property on each of your custom classes.\n *\n * Otherwise, your class instance will never be drafted, which means it won't be\n * safe to mutate in a produce callback.\n */\nexport const DRAFTABLE: unique symbol = hasSymbol\n\t? Symbol.for(\"immer-draftable\")\n\t: (\"__$immer_draftable\" as any)\n\nexport const DRAFT_STATE: unique symbol = hasSymbol\n\t? Symbol.for(\"immer-state\")\n\t: (\"__$immer_state\" as any)\n\n// Even a polyfilled Symbol might provide Symbol.iterator\nexport const iteratorSymbol: typeof Symbol.iterator =\n\t(typeof Symbol != \"undefined\" && Symbol.iterator) || (\"@@iterator\" as any)\n\n/** Use a class type for `nothing` so its type is unique */\nexport class Nothing {\n\t// This lets us do `Exclude`\n\t// @ts-ignore\n\tprivate _!: unique symbol\n}\n","/** A function that accepts a potential \"extra argument\" value to be injected later,\r\n * and returns an instance of the thunk middleware that uses that value\r\n */\nfunction createThunkMiddleware(extraArgument) {\n // Standard Redux middleware definition pattern:\n // See: https://redux.js.org/tutorials/fundamentals/part-4-store#writing-custom-middleware\n var middleware = function middleware(_ref) {\n var dispatch = _ref.dispatch,\n getState = _ref.getState;\n return function (next) {\n return function (action) {\n // The thunk middleware looks for any functions that were passed to `store.dispatch`.\n // If this \"action\" is really a function, call it and return the result.\n if (typeof action === 'function') {\n // Inject the store's `dispatch` and `getState` methods, as well as any \"extra arg\"\n return action(dispatch, getState, extraArgument);\n } // Otherwise, pass the action down the middleware chain as usual\n\n\n return next(action);\n };\n };\n };\n\n return middleware;\n}\n\nvar thunk = createThunkMiddleware(); // Attach the factory function so users can create a customized version\n// with whatever \"extra arg\" they want to inject into their thunks\n\nthunk.withExtraArgument = createThunkMiddleware;\nexport default thunk;","import type { Action, ActionCreator, StoreEnhancer } from 'redux'\r\nimport { compose } from 'redux'\r\n\r\n/**\r\n * @public\r\n */\r\nexport interface DevToolsEnhancerOptions {\r\n /**\r\n * the instance name to be showed on the monitor page. Default value is `document.title`.\r\n * If not specified and there's no document title, it will consist of `tabId` and `instanceId`.\r\n */\r\n name?: string\r\n /**\r\n * action creators functions to be available in the Dispatcher.\r\n */\r\n actionCreators?: ActionCreator[] | { [key: string]: ActionCreator }\r\n /**\r\n * if more than one action is dispatched in the indicated interval, all new actions will be collected and sent at once.\r\n * It is the joint between performance and speed. When set to `0`, all actions will be sent instantly.\r\n * Set it to a higher value when experiencing perf issues (also `maxAge` to a lower value).\r\n *\r\n * @default 500 ms.\r\n */\r\n latency?: number\r\n /**\r\n * (> 1) - maximum allowed actions to be stored in the history tree. The oldest actions are removed once maxAge is reached. It's critical for performance.\r\n *\r\n * @default 50\r\n */\r\n maxAge?: number\r\n /**\r\n * Customizes how actions and state are serialized and deserialized. Can be a boolean or object. If given a boolean, the behavior is the same as if you\r\n * were to pass an object and specify `options` as a boolean. Giving an object allows fine-grained customization using the `replacer` and `reviver`\r\n * functions.\r\n */\r\n serialize?:\r\n | boolean\r\n | {\r\n /**\r\n * - `undefined` - will use regular `JSON.stringify` to send data (it's the fast mode).\r\n * - `false` - will handle also circular references.\r\n * - `true` - will handle also date, regex, undefined, error objects, symbols, maps, sets and functions.\r\n * - object, which contains `date`, `regex`, `undefined`, `error`, `symbol`, `map`, `set` and `function` keys.\r\n * For each of them you can indicate if to include (by setting as `true`).\r\n * For `function` key you can also specify a custom function which handles serialization.\r\n * See [`jsan`](https://github.com/kolodny/jsan) for more details.\r\n */\r\n options?:\r\n | undefined\r\n | boolean\r\n | {\r\n date?: true\r\n regex?: true\r\n undefined?: true\r\n error?: true\r\n symbol?: true\r\n map?: true\r\n set?: true\r\n function?: true | ((fn: (...args: any[]) => any) => string)\r\n }\r\n /**\r\n * [JSON replacer function](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify#The_replacer_parameter) used for both actions and states stringify.\r\n * In addition, you can specify a data type by adding a [`__serializedType__`](https://github.com/zalmoxisus/remotedev-serialize/blob/master/helpers/index.js#L4)\r\n * key. So you can deserialize it back while importing or persisting data.\r\n * Moreover, it will also [show a nice preview showing the provided custom type](https://cloud.githubusercontent.com/assets/7957859/21814330/a17d556a-d761-11e6-85ef-159dd12f36c5.png):\r\n */\r\n replacer?: (key: string, value: unknown) => any\r\n /**\r\n * [JSON `reviver` function](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse#Using_the_reviver_parameter)\r\n * used for parsing the imported actions and states. See [`remotedev-serialize`](https://github.com/zalmoxisus/remotedev-serialize/blob/master/immutable/serialize.js#L8-L41)\r\n * as an example on how to serialize special data types and get them back.\r\n */\r\n reviver?: (key: string, value: unknown) => any\r\n /**\r\n * Automatically serialize/deserialize immutablejs via [remotedev-serialize](https://github.com/zalmoxisus/remotedev-serialize).\r\n * Just pass the Immutable library. It will support all ImmutableJS structures. You can even export them into a file and get them back.\r\n * The only exception is `Record` class, for which you should pass this in addition the references to your classes in `refs`.\r\n */\r\n immutable?: any\r\n /**\r\n * ImmutableJS `Record` classes used to make possible restore its instances back when importing, persisting...\r\n */\r\n refs?: any\r\n }\r\n /**\r\n * function which takes `action` object and id number as arguments, and should return `action` object back.\r\n */\r\n actionSanitizer?: (action: A, id: number) => A\r\n /**\r\n * function which takes `state` object and index as arguments, and should return `state` object back.\r\n */\r\n stateSanitizer?: (state: S, index: number) => S\r\n /**\r\n * *string or array of strings as regex* - actions types to be hidden / shown in the monitors (while passed to the reducers).\r\n * If `actionsWhitelist` specified, `actionsBlacklist` is ignored.\r\n * @deprecated Use actionsDenylist instead.\r\n */\r\n actionsBlacklist?: string | string[]\r\n /**\r\n * *string or array of strings as regex* - actions types to be hidden / shown in the monitors (while passed to the reducers).\r\n * If `actionsWhitelist` specified, `actionsBlacklist` is ignored.\r\n * @deprecated Use actionsAllowlist instead.\r\n */\r\n actionsWhitelist?: string | string[]\r\n /**\r\n * *string or array of strings as regex* - actions types to be hidden / shown in the monitors (while passed to the reducers).\r\n * If `actionsAllowlist` specified, `actionsDenylist` is ignored.\r\n */\r\n actionsDenylist?: string | string[]\r\n /**\r\n * *string or array of strings as regex* - actions types to be hidden / shown in the monitors (while passed to the reducers).\r\n * If `actionsAllowlist` specified, `actionsDenylist` is ignored.\r\n */\r\n actionsAllowlist?: string | string[]\r\n /**\r\n * called for every action before sending, takes `state` and `action` object, and returns `true` in case it allows sending the current data to the monitor.\r\n * Use it as a more advanced version of `actionsDenylist`/`actionsAllowlist` parameters.\r\n */\r\n predicate?: (state: S, action: A) => boolean\r\n /**\r\n * if specified as `false`, it will not record the changes till clicking on `Start recording` button.\r\n * Available only for Redux enhancer, for others use `autoPause`.\r\n *\r\n * @default true\r\n */\r\n shouldRecordChanges?: boolean\r\n /**\r\n * if specified, whenever clicking on `Pause recording` button and there are actions in the history log, will add this action type.\r\n * If not specified, will commit when paused. Available only for Redux enhancer.\r\n *\r\n * @default \"@@PAUSED\"\"\r\n */\r\n pauseActionType?: string\r\n /**\r\n * auto pauses when the extension’s window is not opened, and so has zero impact on your app when not in use.\r\n * Not available for Redux enhancer (as it already does it but storing the data to be sent).\r\n *\r\n * @default false\r\n */\r\n autoPause?: boolean\r\n /**\r\n * if specified as `true`, it will not allow any non-monitor actions to be dispatched till clicking on `Unlock changes` button.\r\n * Available only for Redux enhancer.\r\n *\r\n * @default false\r\n */\r\n shouldStartLocked?: boolean\r\n /**\r\n * if set to `false`, will not recompute the states on hot reloading (or on replacing the reducers). Available only for Redux enhancer.\r\n *\r\n * @default true\r\n */\r\n shouldHotReload?: boolean\r\n /**\r\n * if specified as `true`, whenever there's an exception in reducers, the monitors will show the error message, and next actions will not be dispatched.\r\n *\r\n * @default false\r\n */\r\n shouldCatchErrors?: boolean\r\n /**\r\n * If you want to restrict the extension, specify the features you allow.\r\n * If not specified, all of the features are enabled. When set as an object, only those included as `true` will be allowed.\r\n * Note that except `true`/`false`, `import` and `export` can be set as `custom` (which is by default for Redux enhancer), meaning that the importing/exporting occurs on the client side.\r\n * Otherwise, you'll get/set the data right from the monitor part.\r\n */\r\n features?: {\r\n /**\r\n * start/pause recording of dispatched actions\r\n */\r\n pause?: boolean\r\n /**\r\n * lock/unlock dispatching actions and side effects\r\n */\r\n lock?: boolean\r\n /**\r\n * persist states on page reloading\r\n */\r\n persist?: boolean\r\n /**\r\n * export history of actions in a file\r\n */\r\n export?: boolean | 'custom'\r\n /**\r\n * import history of actions from a file\r\n */\r\n import?: boolean | 'custom'\r\n /**\r\n * jump back and forth (time travelling)\r\n */\r\n jump?: boolean\r\n /**\r\n * skip (cancel) actions\r\n */\r\n skip?: boolean\r\n /**\r\n * drag and drop actions in the history list\r\n */\r\n reorder?: boolean\r\n /**\r\n * dispatch custom actions or action creators\r\n */\r\n dispatch?: boolean\r\n /**\r\n * generate tests for the selected actions\r\n */\r\n test?: boolean\r\n }\r\n /**\r\n * Set to true or a stacktrace-returning function to record call stack traces for dispatched actions.\r\n * Defaults to false.\r\n */\r\n trace?: boolean | ((action: A) => string)\r\n /**\r\n * The maximum number of stack trace entries to record per action. Defaults to 10.\r\n */\r\n traceLimit?: number\r\n}\r\n\r\ntype Compose = typeof compose\r\n\r\ninterface ComposeWithDevTools {\r\n (options: DevToolsEnhancerOptions): Compose\r\n (...funcs: StoreEnhancer[]): StoreEnhancer\r\n}\r\n\r\n/**\r\n * @public\r\n */\r\nexport const composeWithDevTools: ComposeWithDevTools =\r\n typeof window !== 'undefined' &&\r\n (window as any).__REDUX_DEVTOOLS_EXTENSION_COMPOSE__\r\n ? (window as any).__REDUX_DEVTOOLS_EXTENSION_COMPOSE__\r\n : function () {\r\n if (arguments.length === 0) return undefined\r\n if (typeof arguments[0] === 'object') return compose\r\n return compose.apply(null, arguments as any as Function[])\r\n }\r\n\r\n/**\r\n * @public\r\n */\r\nexport const devToolsEnhancer: {\r\n (options: DevToolsEnhancerOptions): StoreEnhancer\r\n} =\r\n typeof window !== 'undefined' && (window as any).__REDUX_DEVTOOLS_EXTENSION__\r\n ? (window as any).__REDUX_DEVTOOLS_EXTENSION__\r\n : function () {\r\n return function (noop) {\r\n return noop\r\n }\r\n }\r\n","/**\r\n * Returns true if the passed value is \"plain\" object, i.e. an object whose\r\n * prototype is the root `Object.prototype`. This includes objects created\r\n * using object literals, but not for instance for class instances.\r\n *\r\n * @param {any} value The value to inspect.\r\n * @returns {boolean} True if the argument appears to be a plain object.\r\n *\r\n * @public\r\n */\r\nexport default function isPlainObject(value: unknown): value is object {\r\n if (typeof value !== 'object' || value === null) return false\r\n\r\n let proto = Object.getPrototypeOf(value)\r\n if (proto === null) return true\r\n\r\n let baseProto = proto\r\n while (Object.getPrototypeOf(baseProto) !== null) {\r\n baseProto = Object.getPrototypeOf(baseProto)\r\n }\r\n\r\n return proto === baseProto\r\n}\r\n","import createNextState, { isDraftable } from 'immer'\r\nimport type { Middleware } from 'redux'\r\n\r\nexport function getTimeMeasureUtils(maxDelay: number, fnName: string) {\r\n let elapsed = 0\r\n return {\r\n measureTime(fn: () => T): T {\r\n const started = Date.now()\r\n try {\r\n return fn()\r\n } finally {\r\n const finished = Date.now()\r\n elapsed += finished - started\r\n }\r\n },\r\n warnIfExceeded() {\r\n if (elapsed > maxDelay) {\r\n console.warn(`${fnName} took ${elapsed}ms, which is more than the warning threshold of ${maxDelay}ms. \r\nIf your state or actions are very large, you may want to disable the middleware as it might cause too much of a slowdown in development mode. See https://redux-toolkit.js.org/api/getDefaultMiddleware for instructions.\r\nIt is disabled in production builds, so you don't need to worry about that.`)\r\n }\r\n },\r\n }\r\n}\r\n\r\nexport function delay(ms: number) {\r\n return new Promise((resolve) => setTimeout(resolve, ms))\r\n}\r\n\r\n/**\r\n * @public\r\n */\r\nexport class MiddlewareArray<\r\n Middlewares extends Middleware[]\r\n> extends Array {\r\n constructor(...items: Middlewares)\r\n constructor(...args: any[]) {\r\n super(...args)\r\n Object.setPrototypeOf(this, MiddlewareArray.prototype)\r\n }\r\n\r\n static get [Symbol.species]() {\r\n return MiddlewareArray as any\r\n }\r\n\r\n concat>>(\r\n items: AdditionalMiddlewares\r\n ): MiddlewareArray<[...Middlewares, ...AdditionalMiddlewares]>\r\n\r\n concat>>(\r\n ...items: AdditionalMiddlewares\r\n ): MiddlewareArray<[...Middlewares, ...AdditionalMiddlewares]>\r\n concat(...arr: any[]) {\r\n return super.concat.apply(this, arr)\r\n }\r\n\r\n prepend>>(\r\n items: AdditionalMiddlewares\r\n ): MiddlewareArray<[...AdditionalMiddlewares, ...Middlewares]>\r\n\r\n prepend>>(\r\n ...items: AdditionalMiddlewares\r\n ): MiddlewareArray<[...AdditionalMiddlewares, ...Middlewares]>\r\n\r\n prepend(...arr: any[]) {\r\n if (arr.length === 1 && Array.isArray(arr[0])) {\r\n return new MiddlewareArray(...arr[0].concat(this))\r\n }\r\n return new MiddlewareArray(...arr.concat(this))\r\n }\r\n}\r\n\r\nexport function freezeDraftable(val: T) {\r\n return isDraftable(val) ? createNextState(val, () => {}) : val\r\n}\r\n","import type { Middleware, AnyAction } from 'redux'\r\nimport type { ThunkMiddleware } from 'redux-thunk'\r\nimport thunkMiddleware from 'redux-thunk'\r\nimport type { ImmutableStateInvariantMiddlewareOptions } from './immutableStateInvariantMiddleware'\r\n/* PROD_START_REMOVE_UMD */\r\nimport { createImmutableStateInvariantMiddleware } from './immutableStateInvariantMiddleware'\r\n/* PROD_STOP_REMOVE_UMD */\r\n\r\nimport type { SerializableStateInvariantMiddlewareOptions } from './serializableStateInvariantMiddleware'\r\nimport { createSerializableStateInvariantMiddleware } from './serializableStateInvariantMiddleware'\r\nimport type { ExcludeFromTuple } from './tsHelpers'\r\nimport { MiddlewareArray } from './utils'\r\n\r\nfunction isBoolean(x: any): x is boolean {\r\n return typeof x === 'boolean'\r\n}\r\n\r\ninterface ThunkOptions {\r\n extraArgument: E\r\n}\r\n\r\ninterface GetDefaultMiddlewareOptions {\r\n thunk?: boolean | ThunkOptions\r\n immutableCheck?: boolean | ImmutableStateInvariantMiddlewareOptions\r\n serializableCheck?: boolean | SerializableStateInvariantMiddlewareOptions\r\n}\r\n\r\nexport type ThunkMiddlewareFor<\r\n S,\r\n O extends GetDefaultMiddlewareOptions = {}\r\n> = O extends {\r\n thunk: false\r\n}\r\n ? never\r\n : O extends { thunk: { extraArgument: infer E } }\r\n ? ThunkMiddleware\r\n : ThunkMiddleware\r\n\r\nexport type CurriedGetDefaultMiddleware = <\r\n O extends Partial = {\r\n thunk: true\r\n immutableCheck: true\r\n serializableCheck: true\r\n }\r\n>(\r\n options?: O\r\n) => MiddlewareArray], never>>\r\n\r\nexport function curryGetDefaultMiddleware<\r\n S = any\r\n>(): CurriedGetDefaultMiddleware {\r\n return function curriedGetDefaultMiddleware(options) {\r\n return getDefaultMiddleware(options)\r\n }\r\n}\r\n\r\n/**\r\n * Returns any array containing the default middleware installed by\r\n * `configureStore()`. Useful if you want to configure your store with a custom\r\n * `middleware` array but still keep the default set.\r\n *\r\n * @return The default middleware used by `configureStore()`.\r\n *\r\n * @public\r\n *\r\n * @deprecated Prefer to use the callback notation for the `middleware` option in `configureStore`\r\n * to access a pre-typed `getDefaultMiddleware` instead.\r\n */\r\nexport function getDefaultMiddleware<\r\n S = any,\r\n O extends Partial = {\r\n thunk: true\r\n immutableCheck: true\r\n serializableCheck: true\r\n }\r\n>(\r\n options: O = {} as O\r\n): MiddlewareArray], never>> {\r\n const {\r\n thunk = true,\r\n immutableCheck = true,\r\n serializableCheck = true,\r\n } = options\r\n\r\n let middlewareArray = new MiddlewareArray()\r\n\r\n if (thunk) {\r\n if (isBoolean(thunk)) {\r\n middlewareArray.push(thunkMiddleware)\r\n } else {\r\n middlewareArray.push(\r\n thunkMiddleware.withExtraArgument(thunk.extraArgument)\r\n )\r\n }\r\n }\r\n\r\n if (process.env.NODE_ENV !== 'production') {\r\n if (immutableCheck) {\r\n /* PROD_START_REMOVE_UMD */\r\n let immutableOptions: ImmutableStateInvariantMiddlewareOptions = {}\r\n\r\n if (!isBoolean(immutableCheck)) {\r\n immutableOptions = immutableCheck\r\n }\r\n\r\n middlewareArray.unshift(\r\n createImmutableStateInvariantMiddleware(immutableOptions)\r\n )\r\n /* PROD_STOP_REMOVE_UMD */\r\n }\r\n\r\n if (serializableCheck) {\r\n let serializableOptions: SerializableStateInvariantMiddlewareOptions = {}\r\n\r\n if (!isBoolean(serializableCheck)) {\r\n serializableOptions = serializableCheck\r\n }\r\n\r\n middlewareArray.push(\r\n createSerializableStateInvariantMiddleware(serializableOptions)\r\n )\r\n }\r\n }\r\n\r\n return middlewareArray as any\r\n}\r\n","import type {\r\n Reducer,\r\n ReducersMapObject,\r\n Middleware,\r\n Action,\r\n AnyAction,\r\n StoreEnhancer,\r\n Store,\r\n Dispatch,\r\n PreloadedState,\r\n CombinedState,\r\n} from 'redux'\r\nimport { createStore, compose, applyMiddleware, combineReducers } from 'redux'\r\nimport type { DevToolsEnhancerOptions as DevToolsOptions } from './devtoolsExtension'\r\nimport { composeWithDevTools } from './devtoolsExtension'\r\n\r\nimport isPlainObject from './isPlainObject'\r\nimport type {\r\n ThunkMiddlewareFor,\r\n CurriedGetDefaultMiddleware,\r\n} from './getDefaultMiddleware'\r\nimport { curryGetDefaultMiddleware } from './getDefaultMiddleware'\r\nimport type {\r\n NoInfer,\r\n ExtractDispatchExtensions,\r\n ExtractStoreExtensions,\r\n} from './tsHelpers'\r\n\r\nconst IS_PRODUCTION = process.env.NODE_ENV === 'production'\r\n\r\n/**\r\n * Callback function type, to be used in `ConfigureStoreOptions.enhancers`\r\n *\r\n * @public\r\n */\r\nexport type ConfigureEnhancersCallback = (\r\n defaultEnhancers: readonly StoreEnhancer[]\r\n) => [...E]\r\n\r\n/**\r\n * Options for `configureStore()`.\r\n *\r\n * @public\r\n */\r\nexport interface ConfigureStoreOptions<\r\n S = any,\r\n A extends Action = AnyAction,\r\n M extends Middlewares = Middlewares,\r\n E extends Enhancers = Enhancers\r\n> {\r\n /**\r\n * A single reducer function that will be used as the root reducer, or an\r\n * object of slice reducers that will be passed to `combineReducers()`.\r\n */\r\n reducer: Reducer | ReducersMapObject\r\n\r\n /**\r\n * An array of Redux middleware to install. If not supplied, defaults to\r\n * the set of middleware returned by `getDefaultMiddleware()`.\r\n *\r\n * @example `middleware: (gDM) => gDM().concat(logger, apiMiddleware, yourCustomMiddleware)`\r\n * @see https://redux-toolkit.js.org/api/getDefaultMiddleware#intended-usage\r\n */\r\n middleware?: ((getDefaultMiddleware: CurriedGetDefaultMiddleware) => M) | M\r\n\r\n /**\r\n * Whether to enable Redux DevTools integration. Defaults to `true`.\r\n *\r\n * Additional configuration can be done by passing Redux DevTools options\r\n */\r\n devTools?: boolean | DevToolsOptions\r\n\r\n /**\r\n * The initial state, same as Redux's createStore.\r\n * You may optionally specify it to hydrate the state\r\n * from the server in universal apps, or to restore a previously serialized\r\n * user session. If you use `combineReducers()` to produce the root reducer\r\n * function (either directly or indirectly by passing an object as `reducer`),\r\n * this must be an object with the same shape as the reducer map keys.\r\n */\r\n /*\r\n Not 100% correct but the best approximation we can get:\r\n - if S is a `CombinedState` applying a second `CombinedState` on it does not change anything.\r\n - if it is not, there could be two cases:\r\n - `ReducersMapObject` is being passed in. In this case, we will call `combineReducers` on it and `CombinedState` is correct\r\n - `Reducer` is being passed in. In this case, actually `CombinedState` is wrong and `S` would be correct.\r\n As we cannot distinguish between those two cases without adding another generic parameter,\r\n we just make the pragmatic assumption that the latter almost never happens.\r\n */\r\n preloadedState?: PreloadedState>>\r\n\r\n /**\r\n * The store enhancers to apply. See Redux's `createStore()`.\r\n * All enhancers will be included before the DevTools Extension enhancer.\r\n * If you need to customize the order of enhancers, supply a callback\r\n * function that will receive the original array (ie, `[applyMiddleware]`),\r\n * and should return a new array (such as `[applyMiddleware, offline]`).\r\n * If you only need to add middleware, you can use the `middleware` parameter instead.\r\n */\r\n enhancers?: E | ConfigureEnhancersCallback\r\n}\r\n\r\ntype Middlewares = ReadonlyArray>\r\n\r\ntype Enhancers = ReadonlyArray\r\n\r\nexport interface ToolkitStore<\r\n S = any,\r\n A extends Action = AnyAction,\r\n M extends Middlewares = Middlewares,\r\n> extends Store {\r\n /**\r\n * The `dispatch` method of your store, enhanced by all its middlewares.\r\n *\r\n * @inheritdoc\r\n */\r\n dispatch: ExtractDispatchExtensions & Dispatch\r\n}\r\n\r\n/**\r\n * A Redux store returned by `configureStore()`. Supports dispatching\r\n * side-effectful _thunks_ in addition to plain actions.\r\n *\r\n * @public\r\n */\r\nexport type EnhancedStore<\r\n S = any,\r\n A extends Action = AnyAction,\r\n M extends Middlewares = Middlewares,\r\n E extends Enhancers = Enhancers\r\n> = ToolkitStore & ExtractStoreExtensions\r\n\r\n/**\r\n * A friendly abstraction over the standard Redux `createStore()` function.\r\n *\r\n * @param options The store configuration.\r\n * @returns A configured Redux store.\r\n *\r\n * @public\r\n */\r\nexport function configureStore<\r\n S = any,\r\n A extends Action = AnyAction,\r\n M extends Middlewares = [ThunkMiddlewareFor],\r\n E extends Enhancers = [StoreEnhancer]\r\n>(options: ConfigureStoreOptions): EnhancedStore {\r\n const curriedGetDefaultMiddleware = curryGetDefaultMiddleware()\r\n\r\n const {\r\n reducer = undefined,\r\n middleware = curriedGetDefaultMiddleware(),\r\n devTools = true,\r\n preloadedState = undefined,\r\n enhancers = undefined,\r\n } = options || {}\r\n\r\n let rootReducer: Reducer\r\n\r\n if (typeof reducer === 'function') {\r\n rootReducer = reducer\r\n } else if (isPlainObject(reducer)) {\r\n rootReducer = combineReducers(reducer) as unknown as Reducer\r\n } else {\r\n throw new Error(\r\n '\"reducer\" is a required argument, and must be a function or an object of functions that can be passed to combineReducers'\r\n )\r\n }\r\n\r\n let finalMiddleware = middleware\r\n if (typeof finalMiddleware === 'function') {\r\n finalMiddleware = finalMiddleware(curriedGetDefaultMiddleware)\r\n\r\n if (!IS_PRODUCTION && !Array.isArray(finalMiddleware)) {\r\n throw new Error(\r\n 'when using a middleware builder function, an array of middleware must be returned'\r\n )\r\n }\r\n }\r\n if (\r\n !IS_PRODUCTION &&\r\n finalMiddleware.some((item: any) => typeof item !== 'function')\r\n ) {\r\n throw new Error(\r\n 'each middleware provided to configureStore must be a function'\r\n )\r\n }\r\n\r\n const middlewareEnhancer: StoreEnhancer = applyMiddleware(...finalMiddleware)\r\n\r\n let finalCompose = compose\r\n\r\n if (devTools) {\r\n finalCompose = composeWithDevTools({\r\n // Enable capture of stack traces for dispatched Redux actions\r\n trace: !IS_PRODUCTION,\r\n ...(typeof devTools === 'object' && devTools),\r\n })\r\n }\r\n\r\n let storeEnhancers: Enhancers = [middlewareEnhancer]\r\n\r\n if (Array.isArray(enhancers)) {\r\n storeEnhancers = [middlewareEnhancer, ...enhancers]\r\n } else if (typeof enhancers === 'function') {\r\n storeEnhancers = enhancers(storeEnhancers)\r\n }\r\n\r\n const composedEnhancer = finalCompose(...storeEnhancers) as StoreEnhancer\r\n\r\n return createStore(rootReducer, preloadedState, composedEnhancer)\r\n}\r\n","import type { Action } from 'redux'\r\nimport type {\r\n IsUnknownOrNonInferrable,\r\n IfMaybeUndefined,\r\n IfVoid,\r\n IsAny,\r\n} from './tsHelpers'\r\nimport isPlainObject from './isPlainObject'\r\n\r\n/**\r\n * An action with a string type and an associated payload. This is the\r\n * type of action returned by `createAction()` action creators.\r\n *\r\n * @template P The type of the action's payload.\r\n * @template T the type used for the action type.\r\n * @template M The type of the action's meta (optional)\r\n * @template E The type of the action's error (optional)\r\n *\r\n * @public\r\n */\r\nexport type PayloadAction<\r\n P = void,\r\n T extends string = string,\r\n M = never,\r\n E = never\r\n> = {\r\n payload: P\r\n type: T\r\n} & ([M] extends [never]\r\n ? {}\r\n : {\r\n meta: M\r\n }) &\r\n ([E] extends [never]\r\n ? {}\r\n : {\r\n error: E\r\n })\r\n\r\n/**\r\n * A \"prepare\" method to be used as the second parameter of `createAction`.\r\n * Takes any number of arguments and returns a Flux Standard Action without\r\n * type (will be added later) that *must* contain a payload (might be undefined).\r\n *\r\n * @public\r\n */\r\nexport type PrepareAction

    =\r\n | ((...args: any[]) => { payload: P })\r\n | ((...args: any[]) => { payload: P; meta: any })\r\n | ((...args: any[]) => { payload: P; error: any })\r\n | ((...args: any[]) => { payload: P; meta: any; error: any })\r\n\r\n/**\r\n * Internal version of `ActionCreatorWithPreparedPayload`. Not to be used externally.\r\n *\r\n * @internal\r\n */\r\nexport type _ActionCreatorWithPreparedPayload<\r\n PA extends PrepareAction | void,\r\n T extends string = string\r\n> = PA extends PrepareAction\r\n ? ActionCreatorWithPreparedPayload<\r\n Parameters,\r\n P,\r\n T,\r\n ReturnType extends {\r\n error: infer E\r\n }\r\n ? E\r\n : never,\r\n ReturnType extends {\r\n meta: infer M\r\n }\r\n ? M\r\n : never\r\n >\r\n : void\r\n\r\n/**\r\n * Basic type for all action creators.\r\n *\r\n * @inheritdoc {redux#ActionCreator}\r\n */\r\nexport interface BaseActionCreator {\r\n type: T\r\n match: (action: Action) => action is PayloadAction\r\n}\r\n\r\n/**\r\n * An action creator that takes multiple arguments that are passed\r\n * to a `PrepareAction` method to create the final Action.\r\n * @typeParam Args arguments for the action creator function\r\n * @typeParam P `payload` type\r\n * @typeParam T `type` name\r\n * @typeParam E optional `error` type\r\n * @typeParam M optional `meta` type\r\n *\r\n * @inheritdoc {redux#ActionCreator}\r\n *\r\n * @public\r\n */\r\nexport interface ActionCreatorWithPreparedPayload<\r\n Args extends unknown[],\r\n P,\r\n T extends string = string,\r\n E = never,\r\n M = never\r\n> extends BaseActionCreator {\r\n /**\r\n * Calling this {@link redux#ActionCreator} with `Args` will return\r\n * an Action with a payload of type `P` and (depending on the `PrepareAction`\r\n * method used) a `meta`- and `error` property of types `M` and `E` respectively.\r\n */\r\n (...args: Args): PayloadAction\r\n}\r\n\r\n/**\r\n * An action creator of type `T` that takes an optional payload of type `P`.\r\n *\r\n * @inheritdoc {redux#ActionCreator}\r\n *\r\n * @public\r\n */\r\nexport interface ActionCreatorWithOptionalPayload\r\n extends BaseActionCreator {\r\n /**\r\n * Calling this {@link redux#ActionCreator} with an argument will\r\n * return a {@link PayloadAction} of type `T` with a payload of `P`.\r\n * Calling it without an argument will return a PayloadAction with a payload of `undefined`.\r\n */\r\n (payload?: P): PayloadAction\r\n}\r\n\r\n/**\r\n * An action creator of type `T` that takes no payload.\r\n *\r\n * @inheritdoc {redux#ActionCreator}\r\n *\r\n * @public\r\n */\r\nexport interface ActionCreatorWithoutPayload\r\n extends BaseActionCreator {\r\n /**\r\n * Calling this {@link redux#ActionCreator} will\r\n * return a {@link PayloadAction} of type `T` with a payload of `undefined`\r\n */\r\n (): PayloadAction\r\n}\r\n\r\n/**\r\n * An action creator of type `T` that requires a payload of type P.\r\n *\r\n * @inheritdoc {redux#ActionCreator}\r\n *\r\n * @public\r\n */\r\nexport interface ActionCreatorWithPayload\r\n extends BaseActionCreator {\r\n /**\r\n * Calling this {@link redux#ActionCreator} with an argument will\r\n * return a {@link PayloadAction} of type `T` with a payload of `P`\r\n */\r\n (payload: P): PayloadAction\r\n}\r\n\r\n/**\r\n * An action creator of type `T` whose `payload` type could not be inferred. Accepts everything as `payload`.\r\n *\r\n * @inheritdoc {redux#ActionCreator}\r\n *\r\n * @public\r\n */\r\nexport interface ActionCreatorWithNonInferrablePayload<\r\n T extends string = string\r\n> extends BaseActionCreator {\r\n /**\r\n * Calling this {@link redux#ActionCreator} with an argument will\r\n * return a {@link PayloadAction} of type `T` with a payload\r\n * of exactly the type of the argument.\r\n */\r\n (payload: PT): PayloadAction\r\n}\r\n\r\n/**\r\n * An action creator that produces actions with a `payload` attribute.\r\n *\r\n * @typeParam P the `payload` type\r\n * @typeParam T the `type` of the resulting action\r\n * @typeParam PA if the resulting action is preprocessed by a `prepare` method, the signature of said method.\r\n *\r\n * @public\r\n */\r\nexport type PayloadActionCreator<\r\n P = void,\r\n T extends string = string,\r\n PA extends PrepareAction

    | void = void\r\n> = IfPrepareActionMethodProvided<\r\n PA,\r\n _ActionCreatorWithPreparedPayload,\r\n // else\r\n IsAny<\r\n P,\r\n ActionCreatorWithPayload,\r\n IsUnknownOrNonInferrable<\r\n P,\r\n ActionCreatorWithNonInferrablePayload,\r\n // else\r\n IfVoid<\r\n P,\r\n ActionCreatorWithoutPayload,\r\n // else\r\n IfMaybeUndefined<\r\n P,\r\n ActionCreatorWithOptionalPayload,\r\n // else\r\n ActionCreatorWithPayload\r\n >\r\n >\r\n >\r\n >\r\n>\r\n\r\n/**\r\n * A utility function to create an action creator for the given action type\r\n * string. The action creator accepts a single argument, which will be included\r\n * in the action object as a field called payload. The action creator function\r\n * will also have its toString() overriden so that it returns the action type,\r\n * allowing it to be used in reducer logic that is looking for that action type.\r\n *\r\n * @param type The action type to use for created actions.\r\n * @param prepare (optional) a method that takes any number of arguments and returns { payload } or { payload, meta }.\r\n * If this is given, the resulting action creator will pass its arguments to this method to calculate payload & meta.\r\n *\r\n * @public\r\n */\r\nexport function createAction

    = PayloadActionCreator

    \r\n\r\n/**\r\n * The return value of `createSlice`\r\n *\r\n * @public\r\n */\r\nexport interface Slice<\r\n State = any,\r\n CaseReducers extends SliceCaseReducers = SliceCaseReducers,\r\n Name extends string = string\r\n> {\r\n /**\r\n * The slice name.\r\n */\r\n name: Name\r\n\r\n /**\r\n * The slice's reducer.\r\n */\r\n reducer: Reducer\r\n\r\n /**\r\n * Action creators for the types of actions that are handled by the slice\r\n * reducer.\r\n */\r\n actions: CaseReducerActions\r\n\r\n /**\r\n * The individual case reducer functions that were passed in the `reducers` parameter.\r\n * This enables reuse and testing if they were defined inline when calling `createSlice`.\r\n */\r\n caseReducers: SliceDefinedCaseReducers\r\n\r\n /**\r\n * Provides access to the initial state value given to the slice.\r\n * If a lazy state initializer was provided, it will be called and a fresh value returned.\r\n */\r\n getInitialState: () => State\r\n}\r\n\r\n/**\r\n * Options for `createSlice()`.\r\n *\r\n * @public\r\n */\r\nexport interface CreateSliceOptions<\r\n State = any,\r\n CR extends SliceCaseReducers = SliceCaseReducers,\r\n Name extends string = string\r\n> {\r\n /**\r\n * The slice's name. Used to namespace the generated action types.\r\n */\r\n name: Name\r\n\r\n /**\r\n * The initial state that should be used when the reducer is called the first time. This may also be a \"lazy initializer\" function, which should return an initial state value when called. This will be used whenever the reducer is called with `undefined` as its state value, and is primarily useful for cases like reading initial state from `localStorage`.\r\n */\r\n initialState: State | (() => State)\r\n\r\n /**\r\n * A mapping from action types to action-type-specific *case reducer*\r\n * functions. For every action type, a matching action creator will be\r\n * generated using `createAction()`.\r\n */\r\n reducers: ValidateSliceCaseReducers\r\n\r\n /**\r\n * A callback that receives a *builder* object to define\r\n * case reducers via calls to `builder.addCase(actionCreatorOrType, reducer)`.\r\n * \r\n * Alternatively, a mapping from action types to action-type-specific *case reducer*\r\n * functions. These reducers should have existing action types used\r\n * as the keys, and action creators will _not_ be generated.\r\n * \r\n * @example\r\n```ts\r\nimport { createAction, createSlice, Action, AnyAction } from '@reduxjs/toolkit'\r\nconst incrementBy = createAction('incrementBy')\r\nconst decrement = createAction('decrement')\r\n\r\ninterface RejectedAction extends Action {\r\n error: Error\r\n}\r\n\r\nfunction isRejectedAction(action: AnyAction): action is RejectedAction {\r\n return action.type.endsWith('rejected')\r\n}\r\n\r\ncreateSlice({\r\n name: 'counter',\r\n initialState: 0,\r\n reducers: {},\r\n extraReducers: builder => {\r\n builder\r\n .addCase(incrementBy, (state, action) => {\r\n // action is inferred correctly here if using TS\r\n })\r\n // You can chain calls, or have separate `builder.addCase()` lines each time\r\n .addCase(decrement, (state, action) => {})\r\n // You can match a range of action types\r\n .addMatcher(\r\n isRejectedAction,\r\n // `action` will be inferred as a RejectedAction due to isRejectedAction being defined as a type guard\r\n (state, action) => {}\r\n )\r\n // and provide a default case if no other handlers matched\r\n .addDefaultCase((state, action) => {})\r\n }\r\n})\r\n```\r\n */\r\n extraReducers?:\r\n | CaseReducers, any>\r\n | ((builder: ActionReducerMapBuilder>) => void)\r\n}\r\n\r\n/**\r\n * A CaseReducer with a `prepare` method.\r\n *\r\n * @public\r\n */\r\nexport type CaseReducerWithPrepare = {\r\n reducer: CaseReducer\r\n prepare: PrepareAction\r\n}\r\n\r\n/**\r\n * The type describing a slice's `reducers` option.\r\n *\r\n * @public\r\n */\r\nexport type SliceCaseReducers = {\r\n [K: string]:\r\n | CaseReducer>\r\n | CaseReducerWithPrepare>\r\n}\r\n\r\ntype SliceActionType<\r\n SliceName extends string,\r\n ActionName extends keyof any\r\n> = ActionName extends string | number ? `${SliceName}/${ActionName}` : string\r\n\r\n/**\r\n * Derives the slice's `actions` property from the `reducers` options\r\n *\r\n * @public\r\n */\r\nexport type CaseReducerActions<\r\n CaseReducers extends SliceCaseReducers,\r\n SliceName extends string\r\n> = {\r\n [Type in keyof CaseReducers]: CaseReducers[Type] extends { prepare: any }\r\n ? ActionCreatorForCaseReducerWithPrepare<\r\n CaseReducers[Type],\r\n SliceActionType\r\n >\r\n : ActionCreatorForCaseReducer<\r\n CaseReducers[Type],\r\n SliceActionType\r\n >\r\n}\r\n\r\n/**\r\n * Get a `PayloadActionCreator` type for a passed `CaseReducerWithPrepare`\r\n *\r\n * @internal\r\n */\r\ntype ActionCreatorForCaseReducerWithPrepare<\r\n CR extends { prepare: any },\r\n Type extends string\r\n> = _ActionCreatorWithPreparedPayload\r\n\r\n/**\r\n * Get a `PayloadActionCreator` type for a passed `CaseReducer`\r\n *\r\n * @internal\r\n */\r\ntype ActionCreatorForCaseReducer = CR extends (\r\n state: any,\r\n action: infer Action\r\n) => any\r\n ? Action extends { payload: infer P }\r\n ? PayloadActionCreator\r\n : ActionCreatorWithoutPayload\r\n : ActionCreatorWithoutPayload\r\n\r\n/**\r\n * Extracts the CaseReducers out of a `reducers` object, even if they are\r\n * tested into a `CaseReducerWithPrepare`.\r\n *\r\n * @internal\r\n */\r\ntype SliceDefinedCaseReducers> = {\r\n [Type in keyof CaseReducers]: CaseReducers[Type] extends {\r\n reducer: infer Reducer\r\n }\r\n ? Reducer\r\n : CaseReducers[Type]\r\n}\r\n\r\n/**\r\n * Used on a SliceCaseReducers object.\r\n * Ensures that if a CaseReducer is a `CaseReducerWithPrepare`, that\r\n * the `reducer` and the `prepare` function use the same type of `payload`.\r\n *\r\n * Might do additional such checks in the future.\r\n *\r\n * This type is only ever useful if you want to write your own wrapper around\r\n * `createSlice`. Please don't use it otherwise!\r\n *\r\n * @public\r\n */\r\nexport type ValidateSliceCaseReducers<\r\n S,\r\n ACR extends SliceCaseReducers\r\n> = ACR &\r\n {\r\n [T in keyof ACR]: ACR[T] extends {\r\n reducer(s: S, action?: infer A): any\r\n }\r\n ? {\r\n prepare(...a: never[]): Omit\r\n }\r\n : {}\r\n }\r\n\r\nfunction getType(slice: string, actionKey: string): string {\r\n return `${slice}/${actionKey}`\r\n}\r\n\r\n/**\r\n * A function that accepts an initial state, an object full of reducer\r\n * functions, and a \"slice name\", and automatically generates\r\n * action creators and action types that correspond to the\r\n * reducers and state.\r\n *\r\n * The `reducer` argument is passed to `createReducer()`.\r\n *\r\n * @public\r\n */\r\nexport function createSlice<\r\n State,\r\n CaseReducers extends SliceCaseReducers,\r\n Name extends string = string\r\n>(\r\n options: CreateSliceOptions\r\n): Slice {\r\n const { name } = options\r\n if (!name) {\r\n throw new Error('`name` is a required option for createSlice')\r\n }\r\n\r\n if (\r\n typeof process !== 'undefined' &&\r\n process.env.NODE_ENV === 'development'\r\n ) {\r\n if (options.initialState === undefined) {\r\n console.error(\r\n 'You must provide an `initialState` value that is not `undefined`. You may have misspelled `initialState`'\r\n )\r\n }\r\n }\r\n\r\n const initialState =\r\n typeof options.initialState == 'function'\r\n ? options.initialState\r\n : freezeDraftable(options.initialState)\r\n\r\n const reducers = options.reducers || {}\r\n\r\n const reducerNames = Object.keys(reducers)\r\n\r\n const sliceCaseReducersByName: Record = {}\r\n const sliceCaseReducersByType: Record = {}\r\n const actionCreators: Record = {}\r\n\r\n reducerNames.forEach((reducerName) => {\r\n const maybeReducerWithPrepare = reducers[reducerName]\r\n const type = getType(name, reducerName)\r\n\r\n let caseReducer: CaseReducer\r\n let prepareCallback: PrepareAction | undefined\r\n\r\n if ('reducer' in maybeReducerWithPrepare) {\r\n caseReducer = maybeReducerWithPrepare.reducer\r\n prepareCallback = maybeReducerWithPrepare.prepare\r\n } else {\r\n caseReducer = maybeReducerWithPrepare\r\n }\r\n\r\n sliceCaseReducersByName[reducerName] = caseReducer\r\n sliceCaseReducersByType[type] = caseReducer\r\n actionCreators[reducerName] = prepareCallback\r\n ? createAction(type, prepareCallback)\r\n : createAction(type)\r\n })\r\n\r\n function buildReducer() {\r\n if (process.env.NODE_ENV !== 'production') {\r\n if (typeof options.extraReducers === 'object') {\r\n if (!hasWarnedAboutObjectNotation) {\r\n hasWarnedAboutObjectNotation = true\r\n console.warn(\r\n \"The object notation for `createSlice.extraReducers` is deprecated, and will be removed in RTK 2.0. Please use the 'builder callback' notation instead: https://redux-toolkit.js.org/api/createSlice\"\r\n )\r\n }\r\n }\r\n }\r\n const [\r\n extraReducers = {},\r\n actionMatchers = [],\r\n defaultCaseReducer = undefined,\r\n ] =\r\n typeof options.extraReducers === 'function'\r\n ? executeReducerBuilderCallback(options.extraReducers)\r\n : [options.extraReducers]\r\n\r\n const finalCaseReducers = { ...extraReducers, ...sliceCaseReducersByType }\r\n\r\n return createReducer(initialState, (builder) => {\r\n for (let key in finalCaseReducers) {\r\n builder.addCase(key, finalCaseReducers[key] as CaseReducer)\r\n }\r\n for (let m of actionMatchers) {\r\n builder.addMatcher(m.matcher, m.reducer)\r\n }\r\n if (defaultCaseReducer) {\r\n builder.addDefaultCase(defaultCaseReducer)\r\n }\r\n })\r\n }\r\n\r\n let _reducer: ReducerWithInitialState\r\n\r\n return {\r\n name,\r\n reducer(state, action) {\r\n if (!_reducer) _reducer = buildReducer()\r\n\r\n return _reducer(state, action)\r\n },\r\n actions: actionCreators as any,\r\n caseReducers: sliceCaseReducersByName as any,\r\n getInitialState() {\r\n if (!_reducer) _reducer = buildReducer()\r\n\r\n return _reducer.getInitialState()\r\n },\r\n }\r\n}\r\n","import type { Draft } from 'immer'\r\nimport createNextState, { isDraft, isDraftable } from 'immer'\r\nimport type { AnyAction, Action, Reducer } from 'redux'\r\nimport type { ActionReducerMapBuilder } from './mapBuilders'\r\nimport { executeReducerBuilderCallback } from './mapBuilders'\r\nimport type { NoInfer } from './tsHelpers'\r\nimport { freezeDraftable } from './utils'\r\n\r\n/**\r\n * Defines a mapping from action types to corresponding action object shapes.\r\n *\r\n * @deprecated This should not be used manually - it is only used for internal\r\n * inference purposes and should not have any further value.\r\n * It might be removed in the future.\r\n * @public\r\n */\r\nexport type Actions = Record\r\n\r\n/**\r\n * @deprecated use `TypeGuard` instead\r\n */\r\nexport interface ActionMatcher {\r\n (action: AnyAction): action is A\r\n}\r\n\r\nexport type ActionMatcherDescription = {\r\n matcher: ActionMatcher\r\n reducer: CaseReducer>\r\n}\r\n\r\nexport type ReadonlyActionMatcherDescriptionCollection = ReadonlyArray<\r\n ActionMatcherDescription\r\n>\r\n\r\nexport type ActionMatcherDescriptionCollection = Array<\r\n ActionMatcherDescription\r\n>\r\n\r\n/**\r\n * A *case reducer* is a reducer function for a specific action type. Case\r\n * reducers can be composed to full reducers using `createReducer()`.\r\n *\r\n * Unlike a normal Redux reducer, a case reducer is never called with an\r\n * `undefined` state to determine the initial state. Instead, the initial\r\n * state is explicitly specified as an argument to `createReducer()`.\r\n *\r\n * In addition, a case reducer can choose to mutate the passed-in `state`\r\n * value directly instead of returning a new state. This does not actually\r\n * cause the store state to be mutated directly; instead, thanks to\r\n * [immer](https://github.com/mweststrate/immer), the mutations are\r\n * translated to copy operations that result in a new state.\r\n *\r\n * @public\r\n */\r\nexport type CaseReducer = (\r\n state: Draft,\r\n action: A\r\n) => S | void | Draft\r\n\r\n/**\r\n * A mapping from action types to case reducers for `createReducer()`.\r\n *\r\n * @deprecated This should not be used manually - it is only used\r\n * for internal inference purposes and using it manually\r\n * would lead to type erasure.\r\n * It might be removed in the future.\r\n * @public\r\n */\r\nexport type CaseReducers = {\r\n [T in keyof AS]: AS[T] extends Action ? CaseReducer : void\r\n}\r\n\r\nexport type NotFunction = T extends Function ? never : T\r\n\r\nfunction isStateFunction(x: unknown): x is () => S {\r\n return typeof x === 'function'\r\n}\r\n\r\nexport type ReducerWithInitialState> = Reducer & {\r\n getInitialState: () => S\r\n}\r\n\r\nlet hasWarnedAboutObjectNotation = false\r\n\r\n/**\r\n * A utility function that allows defining a reducer as a mapping from action\r\n * type to *case reducer* functions that handle these action types. The\r\n * reducer's initial state is passed as the first argument.\r\n *\r\n * @remarks\r\n * The body of every case reducer is implicitly wrapped with a call to\r\n * `produce()` from the [immer](https://github.com/mweststrate/immer) library.\r\n * This means that rather than returning a new state object, you can also\r\n * mutate the passed-in state object directly; these mutations will then be\r\n * automatically and efficiently translated into copies, giving you both\r\n * convenience and immutability.\r\n *\r\n * @overloadSummary\r\n * This overload accepts a callback function that receives a `builder` object as its argument.\r\n * That builder provides `addCase`, `addMatcher` and `addDefaultCase` functions that may be\r\n * called to define what actions this reducer will handle.\r\n *\r\n * @param initialState - `State | (() => State)`: The initial state that should be used when the reducer is called the first time. This may also be a \"lazy initializer\" function, which should return an initial state value when called. This will be used whenever the reducer is called with `undefined` as its state value, and is primarily useful for cases like reading initial state from `localStorage`.\r\n * @param builderCallback - `(builder: Builder) => void` A callback that receives a *builder* object to define\r\n * case reducers via calls to `builder.addCase(actionCreatorOrType, reducer)`.\r\n * @example\r\n```ts\r\nimport {\r\n createAction,\r\n createReducer,\r\n AnyAction,\r\n PayloadAction,\r\n} from \"@reduxjs/toolkit\";\r\n\r\nconst increment = createAction(\"increment\");\r\nconst decrement = createAction(\"decrement\");\r\n\r\nfunction isActionWithNumberPayload(\r\n action: AnyAction\r\n): action is PayloadAction {\r\n return typeof action.payload === \"number\";\r\n}\r\n\r\nconst reducer = createReducer(\r\n {\r\n counter: 0,\r\n sumOfNumberPayloads: 0,\r\n unhandledActions: 0,\r\n },\r\n (builder) => {\r\n builder\r\n .addCase(increment, (state, action) => {\r\n // action is inferred correctly here\r\n state.counter += action.payload;\r\n })\r\n // You can chain calls, or have separate `builder.addCase()` lines each time\r\n .addCase(decrement, (state, action) => {\r\n state.counter -= action.payload;\r\n })\r\n // You can apply a \"matcher function\" to incoming actions\r\n .addMatcher(isActionWithNumberPayload, (state, action) => {})\r\n // and provide a default case if no other handlers matched\r\n .addDefaultCase((state, action) => {});\r\n }\r\n);\r\n```\r\n * @public\r\n */\r\nexport function createReducer>(\r\n initialState: S | (() => S),\r\n builderCallback: (builder: ActionReducerMapBuilder) => void\r\n): ReducerWithInitialState\r\n\r\n/**\r\n * A utility function that allows defining a reducer as a mapping from action\r\n * type to *case reducer* functions that handle these action types. The\r\n * reducer's initial state is passed as the first argument.\r\n *\r\n * The body of every case reducer is implicitly wrapped with a call to\r\n * `produce()` from the [immer](https://github.com/mweststrate/immer) library.\r\n * This means that rather than returning a new state object, you can also\r\n * mutate the passed-in state object directly; these mutations will then be\r\n * automatically and efficiently translated into copies, giving you both\r\n * convenience and immutability.\r\n * \r\n * @overloadSummary\r\n * This overload accepts an object where the keys are string action types, and the values\r\n * are case reducer functions to handle those action types.\r\n *\r\n * @param initialState - `State | (() => State)`: The initial state that should be used when the reducer is called the first time. This may also be a \"lazy initializer\" function, which should return an initial state value when called. This will be used whenever the reducer is called with `undefined` as its state value, and is primarily useful for cases like reading initial state from `localStorage`.\r\n * @param actionsMap - An object mapping from action types to _case reducers_, each of which handles one specific action type.\r\n * @param actionMatchers - An array of matcher definitions in the form `{matcher, reducer}`.\r\n * All matching reducers will be executed in order, independently if a case reducer matched or not.\r\n * @param defaultCaseReducer - A \"default case\" reducer that is executed if no case reducer and no matcher\r\n * reducer was executed for this action.\r\n *\r\n * @example\r\n```js\r\nconst counterReducer = createReducer(0, {\r\n increment: (state, action) => state + action.payload,\r\n decrement: (state, action) => state - action.payload\r\n})\r\n\r\n// Alternately, use a \"lazy initializer\" to provide the initial state\r\n// (works with either form of createReducer)\r\nconst initialState = () => 0\r\nconst counterReducer = createReducer(initialState, {\r\n increment: (state, action) => state + action.payload,\r\n decrement: (state, action) => state - action.payload\r\n})\r\n```\r\n \r\n * Action creators that were generated using [`createAction`](./createAction) may be used directly as the keys here, using computed property syntax:\r\n\r\n```js\r\nconst increment = createAction('increment')\r\nconst decrement = createAction('decrement')\r\n\r\nconst counterReducer = createReducer(0, {\r\n [increment]: (state, action) => state + action.payload,\r\n [decrement.type]: (state, action) => state - action.payload\r\n})\r\n```\r\n * @public\r\n */\r\nexport function createReducer<\r\n S extends NotFunction,\r\n CR extends CaseReducers = CaseReducers\r\n>(\r\n initialState: S | (() => S),\r\n actionsMap: CR,\r\n actionMatchers?: ActionMatcherDescriptionCollection,\r\n defaultCaseReducer?: CaseReducer\r\n): ReducerWithInitialState\r\n\r\nexport function createReducer>(\r\n initialState: S | (() => S),\r\n mapOrBuilderCallback:\r\n | CaseReducers\r\n | ((builder: ActionReducerMapBuilder) => void),\r\n actionMatchers: ReadonlyActionMatcherDescriptionCollection = [],\r\n defaultCaseReducer?: CaseReducer\r\n): ReducerWithInitialState {\r\n if (process.env.NODE_ENV !== 'production') {\r\n if (typeof mapOrBuilderCallback === 'object') {\r\n if (!hasWarnedAboutObjectNotation) {\r\n hasWarnedAboutObjectNotation = true\r\n console.warn(\r\n \"The object notation for `createReducer` is deprecated, and will be removed in RTK 2.0. Please use the 'builder callback' notation instead: https://redux-toolkit.js.org/api/createReducer\"\r\n )\r\n }\r\n }\r\n }\r\n\r\n let [actionsMap, finalActionMatchers, finalDefaultCaseReducer] =\r\n typeof mapOrBuilderCallback === 'function'\r\n ? executeReducerBuilderCallback(mapOrBuilderCallback)\r\n : [mapOrBuilderCallback, actionMatchers, defaultCaseReducer]\r\n\r\n // Ensure the initial state gets frozen either way (if draftable)\r\n let getInitialState: () => S\r\n if (isStateFunction(initialState)) {\r\n getInitialState = () => freezeDraftable(initialState())\r\n } else {\r\n const frozenInitialState = freezeDraftable(initialState)\r\n getInitialState = () => frozenInitialState\r\n }\r\n\r\n function reducer(state = getInitialState(), action: any): S {\r\n let caseReducers = [\r\n actionsMap[action.type],\r\n ...finalActionMatchers\r\n .filter(({ matcher }) => matcher(action))\r\n .map(({ reducer }) => reducer),\r\n ]\r\n if (caseReducers.filter((cr) => !!cr).length === 0) {\r\n caseReducers = [finalDefaultCaseReducer]\r\n }\r\n\r\n return caseReducers.reduce((previousState, caseReducer): S => {\r\n if (caseReducer) {\r\n if (isDraft(previousState)) {\r\n // If it's already a draft, we must already be inside a `createNextState` call,\r\n // likely because this is being wrapped in `createReducer`, `createSlice`, or nested\r\n // inside an existing draft. It's safe to just pass the draft to the mutator.\r\n const draft = previousState as Draft // We can assume this is already a draft\r\n const result = caseReducer(draft, action)\r\n\r\n if (result === undefined) {\r\n return previousState\r\n }\r\n\r\n return result as S\r\n } else if (!isDraftable(previousState)) {\r\n // If state is not draftable (ex: a primitive, such as 0), we want to directly\r\n // return the caseReducer func and not wrap it with produce.\r\n const result = caseReducer(previousState as any, action)\r\n\r\n if (result === undefined) {\r\n if (previousState === null) {\r\n return previousState\r\n }\r\n throw Error(\r\n 'A case reducer on a non-draftable value must not return undefined'\r\n )\r\n }\r\n\r\n return result as S\r\n } else {\r\n // @ts-ignore createNextState() produces an Immutable> rather\r\n // than an Immutable, and TypeScript cannot find out how to reconcile\r\n // these two types.\r\n return createNextState(previousState, (draft: Draft) => {\r\n return caseReducer(draft, action)\r\n })\r\n }\r\n }\r\n\r\n return previousState\r\n }, state)\r\n }\r\n\r\n reducer.getInitialState = getInitialState\r\n\r\n return reducer as ReducerWithInitialState\r\n}\r\n","// Borrowed from https://github.com/ai/nanoid/blob/3.0.2/non-secure/index.js\r\n// This alphabet uses `A-Za-z0-9_-` symbols. A genetic algorithm helped\r\n// optimize the gzip compression for this alphabet.\r\nlet urlAlphabet =\r\n 'ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW'\r\n\r\n/**\r\n *\r\n * @public\r\n */\r\nexport let nanoid = (size = 21) => {\r\n let id = ''\r\n // A compact alternative for `for (var i = 0; i < step; i++)`.\r\n let i = size\r\n while (i--) {\r\n // `| 0` is more compact and faster than `Math.floor()`.\r\n id += urlAlphabet[(Math.random() * 64) | 0]\r\n }\r\n return id\r\n}\r\n","import type { Dispatch, AnyAction } from 'redux'\r\nimport type {\r\n PayloadAction,\r\n ActionCreatorWithPreparedPayload,\r\n} from './createAction'\r\nimport { createAction } from './createAction'\r\nimport type { ThunkDispatch } from 'redux-thunk'\r\nimport type { FallbackIfUnknown, Id, IsAny, IsUnknown } from './tsHelpers'\r\nimport { nanoid } from './nanoid'\r\n\r\n// @ts-ignore we need the import of these types due to a bundling issue.\r\ntype _Keep = PayloadAction | ActionCreatorWithPreparedPayload\r\n\r\nexport type BaseThunkAPI<\r\n S,\r\n E,\r\n D extends Dispatch = Dispatch,\r\n RejectedValue = undefined,\r\n RejectedMeta = unknown,\r\n FulfilledMeta = unknown\r\n> = {\r\n dispatch: D\r\n getState: () => S\r\n extra: E\r\n requestId: string\r\n signal: AbortSignal\r\n abort: (reason?: string) => void\r\n rejectWithValue: IsUnknown<\r\n RejectedMeta,\r\n (value: RejectedValue) => RejectWithValue,\r\n (\r\n value: RejectedValue,\r\n meta: RejectedMeta\r\n ) => RejectWithValue\r\n >\r\n fulfillWithValue: IsUnknown<\r\n FulfilledMeta,\r\n (\r\n value: FulfilledValue\r\n ) => FulfillWithMeta,\r\n (\r\n value: FulfilledValue,\r\n meta: FulfilledMeta\r\n ) => FulfillWithMeta\r\n >\r\n}\r\n\r\n/**\r\n * @public\r\n */\r\nexport interface SerializedError {\r\n name?: string\r\n message?: string\r\n stack?: string\r\n code?: string\r\n}\r\n\r\nconst commonProperties: Array = [\r\n 'name',\r\n 'message',\r\n 'stack',\r\n 'code',\r\n]\r\n\r\nclass RejectWithValue {\r\n /*\r\n type-only property to distinguish between RejectWithValue and FulfillWithMeta\r\n does not exist at runtime\r\n */\r\n private readonly _type!: 'RejectWithValue'\r\n constructor(\r\n public readonly payload: Payload,\r\n public readonly meta: RejectedMeta\r\n ) {}\r\n}\r\n\r\nclass FulfillWithMeta {\r\n /*\r\n type-only property to distinguish between RejectWithValue and FulfillWithMeta\r\n does not exist at runtime\r\n */\r\n private readonly _type!: 'FulfillWithMeta'\r\n constructor(\r\n public readonly payload: Payload,\r\n public readonly meta: FulfilledMeta\r\n ) {}\r\n}\r\n\r\n/**\r\n * Serializes an error into a plain object.\r\n * Reworked from https://github.com/sindresorhus/serialize-error\r\n *\r\n * @public\r\n */\r\nexport const miniSerializeError = (value: any): SerializedError => {\r\n if (typeof value === 'object' && value !== null) {\r\n const simpleError: SerializedError = {}\r\n for (const property of commonProperties) {\r\n if (typeof value[property] === 'string') {\r\n simpleError[property] = value[property]\r\n }\r\n }\r\n\r\n return simpleError\r\n }\r\n\r\n return { message: String(value) }\r\n}\r\n\r\ntype AsyncThunkConfig = {\r\n state?: unknown\r\n dispatch?: Dispatch\r\n extra?: unknown\r\n rejectValue?: unknown\r\n serializedErrorType?: unknown\r\n pendingMeta?: unknown\r\n fulfilledMeta?: unknown\r\n rejectedMeta?: unknown\r\n}\r\n\r\ntype GetState = ThunkApiConfig extends {\r\n state: infer State\r\n}\r\n ? State\r\n : unknown\r\ntype GetExtra = ThunkApiConfig extends { extra: infer Extra }\r\n ? Extra\r\n : unknown\r\ntype GetDispatch = ThunkApiConfig extends {\r\n dispatch: infer Dispatch\r\n}\r\n ? FallbackIfUnknown<\r\n Dispatch,\r\n ThunkDispatch<\r\n GetState,\r\n GetExtra,\r\n AnyAction\r\n >\r\n >\r\n : ThunkDispatch, GetExtra, AnyAction>\r\n\r\ntype GetThunkAPI = BaseThunkAPI<\r\n GetState,\r\n GetExtra,\r\n GetDispatch,\r\n GetRejectValue,\r\n GetRejectedMeta,\r\n GetFulfilledMeta\r\n>\r\n\r\ntype GetRejectValue = ThunkApiConfig extends {\r\n rejectValue: infer RejectValue\r\n}\r\n ? RejectValue\r\n : unknown\r\n\r\ntype GetPendingMeta = ThunkApiConfig extends {\r\n pendingMeta: infer PendingMeta\r\n}\r\n ? PendingMeta\r\n : unknown\r\n\r\ntype GetFulfilledMeta = ThunkApiConfig extends {\r\n fulfilledMeta: infer FulfilledMeta\r\n}\r\n ? FulfilledMeta\r\n : unknown\r\n\r\ntype GetRejectedMeta = ThunkApiConfig extends {\r\n rejectedMeta: infer RejectedMeta\r\n}\r\n ? RejectedMeta\r\n : unknown\r\n\r\ntype GetSerializedErrorType = ThunkApiConfig extends {\r\n serializedErrorType: infer GetSerializedErrorType\r\n}\r\n ? GetSerializedErrorType\r\n : SerializedError\r\n\r\ntype MaybePromise = T | Promise | (T extends any ? Promise : never)\r\n\r\n/**\r\n * A type describing the return value of the `payloadCreator` argument to `createAsyncThunk`.\r\n * Might be useful for wrapping `createAsyncThunk` in custom abstractions.\r\n *\r\n * @public\r\n */\r\nexport type AsyncThunkPayloadCreatorReturnValue<\r\n Returned,\r\n ThunkApiConfig extends AsyncThunkConfig\r\n> = MaybePromise<\r\n | IsUnknown<\r\n GetFulfilledMeta,\r\n Returned,\r\n FulfillWithMeta>\r\n >\r\n | RejectWithValue<\r\n GetRejectValue,\r\n GetRejectedMeta\r\n >\r\n>\r\n/**\r\n * A type describing the `payloadCreator` argument to `createAsyncThunk`.\r\n * Might be useful for wrapping `createAsyncThunk` in custom abstractions.\r\n *\r\n * @public\r\n */\r\nexport type AsyncThunkPayloadCreator<\r\n Returned,\r\n ThunkArg = void,\r\n ThunkApiConfig extends AsyncThunkConfig = {}\r\n> = (\r\n arg: ThunkArg,\r\n thunkAPI: GetThunkAPI\r\n) => AsyncThunkPayloadCreatorReturnValue\r\n\r\n/**\r\n * A ThunkAction created by `createAsyncThunk`.\r\n * Dispatching it returns a Promise for either a\r\n * fulfilled or rejected action.\r\n * Also, the returned value contains an `abort()` method\r\n * that allows the asyncAction to be cancelled from the outside.\r\n *\r\n * @public\r\n */\r\nexport type AsyncThunkAction<\r\n Returned,\r\n ThunkArg,\r\n ThunkApiConfig extends AsyncThunkConfig\r\n> = (\r\n dispatch: GetDispatch,\r\n getState: () => GetState,\r\n extra: GetExtra\r\n) => Promise<\r\n | ReturnType>\r\n | ReturnType>\r\n> & {\r\n abort: (reason?: string) => void\r\n requestId: string\r\n arg: ThunkArg\r\n unwrap: () => Promise\r\n}\r\n\r\ntype AsyncThunkActionCreator<\r\n Returned,\r\n ThunkArg,\r\n ThunkApiConfig extends AsyncThunkConfig\r\n> = IsAny<\r\n ThunkArg,\r\n // any handling\r\n (arg: ThunkArg) => AsyncThunkAction,\r\n // unknown handling\r\n unknown extends ThunkArg\r\n ? (arg: ThunkArg) => AsyncThunkAction // argument not specified or specified as void or undefined\r\n : [ThunkArg] extends [void] | [undefined]\r\n ? () => AsyncThunkAction // argument contains void\r\n : [void] extends [ThunkArg] // make optional\r\n ? (arg?: ThunkArg) => AsyncThunkAction // argument contains undefined\r\n : [undefined] extends [ThunkArg]\r\n ? WithStrictNullChecks<\r\n // with strict nullChecks: make optional\r\n (\r\n arg?: ThunkArg\r\n ) => AsyncThunkAction,\r\n // without strict null checks this will match everything, so don't make it optional\r\n (arg: ThunkArg) => AsyncThunkAction\r\n > // default case: normal argument\r\n : (arg: ThunkArg) => AsyncThunkAction\r\n>\r\n\r\n/**\r\n * Options object for `createAsyncThunk`.\r\n *\r\n * @public\r\n */\r\nexport type AsyncThunkOptions<\r\n ThunkArg = void,\r\n ThunkApiConfig extends AsyncThunkConfig = {}\r\n> = {\r\n /**\r\n * A method to control whether the asyncThunk should be executed. Has access to the\r\n * `arg`, `api.getState()` and `api.extra` arguments.\r\n *\r\n * @returns `false` if it should be skipped\r\n */\r\n condition?(\r\n arg: ThunkArg,\r\n api: Pick, 'getState' | 'extra'>\r\n ): MaybePromise\r\n /**\r\n * If `condition` returns `false`, the asyncThunk will be skipped.\r\n * This option allows you to control whether a `rejected` action with `meta.condition == false`\r\n * will be dispatched or not.\r\n *\r\n * @default `false`\r\n */\r\n dispatchConditionRejection?: boolean\r\n\r\n serializeError?: (x: unknown) => GetSerializedErrorType\r\n\r\n /**\r\n * A function to use when generating the `requestId` for the request sequence.\r\n *\r\n * @default `nanoid`\r\n */\r\n idGenerator?: (arg: ThunkArg) => string\r\n} & IsUnknown<\r\n GetPendingMeta,\r\n {\r\n /**\r\n * A method to generate additional properties to be added to `meta` of the pending action.\r\n *\r\n * Using this optional overload will not modify the types correctly, this overload is only in place to support JavaScript users.\r\n * Please use the `ThunkApiConfig` parameter `pendingMeta` to get access to a correctly typed overload\r\n */\r\n getPendingMeta?(\r\n base: {\r\n arg: ThunkArg\r\n requestId: string\r\n },\r\n api: Pick, 'getState' | 'extra'>\r\n ): GetPendingMeta\r\n },\r\n {\r\n /**\r\n * A method to generate additional properties to be added to `meta` of the pending action.\r\n */\r\n getPendingMeta(\r\n base: {\r\n arg: ThunkArg\r\n requestId: string\r\n },\r\n api: Pick, 'getState' | 'extra'>\r\n ): GetPendingMeta\r\n }\r\n>\r\n\r\nexport type AsyncThunkPendingActionCreator<\r\n ThunkArg,\r\n ThunkApiConfig = {}\r\n> = ActionCreatorWithPreparedPayload<\r\n [string, ThunkArg, GetPendingMeta?],\r\n undefined,\r\n string,\r\n never,\r\n {\r\n arg: ThunkArg\r\n requestId: string\r\n requestStatus: 'pending'\r\n } & GetPendingMeta\r\n>\r\n\r\nexport type AsyncThunkRejectedActionCreator<\r\n ThunkArg,\r\n ThunkApiConfig = {}\r\n> = ActionCreatorWithPreparedPayload<\r\n [\r\n Error | null,\r\n string,\r\n ThunkArg,\r\n GetRejectValue?,\r\n GetRejectedMeta?\r\n ],\r\n GetRejectValue | undefined,\r\n string,\r\n GetSerializedErrorType,\r\n {\r\n arg: ThunkArg\r\n requestId: string\r\n requestStatus: 'rejected'\r\n aborted: boolean\r\n condition: boolean\r\n } & (\r\n | ({ rejectedWithValue: false } & {\r\n [K in keyof GetRejectedMeta]?: undefined\r\n })\r\n | ({ rejectedWithValue: true } & GetRejectedMeta)\r\n )\r\n>\r\n\r\nexport type AsyncThunkFulfilledActionCreator<\r\n Returned,\r\n ThunkArg,\r\n ThunkApiConfig = {}\r\n> = ActionCreatorWithPreparedPayload<\r\n [Returned, string, ThunkArg, GetFulfilledMeta?],\r\n Returned,\r\n string,\r\n never,\r\n {\r\n arg: ThunkArg\r\n requestId: string\r\n requestStatus: 'fulfilled'\r\n } & GetFulfilledMeta\r\n>\r\n\r\n/**\r\n * A type describing the return value of `createAsyncThunk`.\r\n * Might be useful for wrapping `createAsyncThunk` in custom abstractions.\r\n *\r\n * @public\r\n */\r\nexport type AsyncThunk<\r\n Returned,\r\n ThunkArg,\r\n ThunkApiConfig extends AsyncThunkConfig\r\n> = AsyncThunkActionCreator & {\r\n pending: AsyncThunkPendingActionCreator\r\n rejected: AsyncThunkRejectedActionCreator\r\n fulfilled: AsyncThunkFulfilledActionCreator<\r\n Returned,\r\n ThunkArg,\r\n ThunkApiConfig\r\n >\r\n typePrefix: string\r\n}\r\n\r\ntype OverrideThunkApiConfigs = Id<\r\n NewConfig & Omit\r\n>\r\n\r\ntype CreateAsyncThunk = {\r\n /**\r\n *\r\n * @param typePrefix\r\n * @param payloadCreator\r\n * @param options\r\n *\r\n * @public\r\n */\r\n // separate signature without `AsyncThunkConfig` for better inference\r\n (\r\n typePrefix: string,\r\n payloadCreator: AsyncThunkPayloadCreator<\r\n Returned,\r\n ThunkArg,\r\n CurriedThunkApiConfig\r\n >,\r\n options?: AsyncThunkOptions\r\n ): AsyncThunk\r\n\r\n /**\r\n *\r\n * @param typePrefix\r\n * @param payloadCreator\r\n * @param options\r\n *\r\n * @public\r\n */\r\n (\r\n typePrefix: string,\r\n payloadCreator: AsyncThunkPayloadCreator<\r\n Returned,\r\n ThunkArg,\r\n OverrideThunkApiConfigs\r\n >,\r\n options?: AsyncThunkOptions<\r\n ThunkArg,\r\n OverrideThunkApiConfigs\r\n >\r\n ): AsyncThunk<\r\n Returned,\r\n ThunkArg,\r\n OverrideThunkApiConfigs\r\n >\r\n\r\n withTypes(): CreateAsyncThunk<\r\n OverrideThunkApiConfigs\r\n >\r\n}\r\n\r\nexport const createAsyncThunk = (() => {\r\n function createAsyncThunk<\r\n Returned,\r\n ThunkArg,\r\n ThunkApiConfig extends AsyncThunkConfig\r\n >(\r\n typePrefix: string,\r\n payloadCreator: AsyncThunkPayloadCreator<\r\n Returned,\r\n ThunkArg,\r\n ThunkApiConfig\r\n >,\r\n options?: AsyncThunkOptions\r\n ): AsyncThunk {\r\n type RejectedValue = GetRejectValue\r\n type PendingMeta = GetPendingMeta\r\n type FulfilledMeta = GetFulfilledMeta\r\n type RejectedMeta = GetRejectedMeta\r\n\r\n const fulfilled: AsyncThunkFulfilledActionCreator<\r\n Returned,\r\n ThunkArg,\r\n ThunkApiConfig\r\n > = createAction(\r\n typePrefix + '/fulfilled',\r\n (\r\n payload: Returned,\r\n requestId: string,\r\n arg: ThunkArg,\r\n meta?: FulfilledMeta\r\n ) => ({\r\n payload,\r\n meta: {\r\n ...((meta as any) || {}),\r\n arg,\r\n requestId,\r\n requestStatus: 'fulfilled' as const,\r\n },\r\n })\r\n )\r\n\r\n const pending: AsyncThunkPendingActionCreator =\r\n createAction(\r\n typePrefix + '/pending',\r\n (requestId: string, arg: ThunkArg, meta?: PendingMeta) => ({\r\n payload: undefined,\r\n meta: {\r\n ...((meta as any) || {}),\r\n arg,\r\n requestId,\r\n requestStatus: 'pending' as const,\r\n },\r\n })\r\n )\r\n\r\n const rejected: AsyncThunkRejectedActionCreator =\r\n createAction(\r\n typePrefix + '/rejected',\r\n (\r\n error: Error | null,\r\n requestId: string,\r\n arg: ThunkArg,\r\n payload?: RejectedValue,\r\n meta?: RejectedMeta\r\n ) => ({\r\n payload,\r\n error: ((options && options.serializeError) || miniSerializeError)(\r\n error || 'Rejected'\r\n ) as GetSerializedErrorType,\r\n meta: {\r\n ...((meta as any) || {}),\r\n arg,\r\n requestId,\r\n rejectedWithValue: !!payload,\r\n requestStatus: 'rejected' as const,\r\n aborted: error?.name === 'AbortError',\r\n condition: error?.name === 'ConditionError',\r\n },\r\n })\r\n )\r\n\r\n let displayedWarning = false\r\n\r\n const AC =\r\n typeof AbortController !== 'undefined'\r\n ? AbortController\r\n : class implements AbortController {\r\n signal = {\r\n aborted: false,\r\n addEventListener() {},\r\n dispatchEvent() {\r\n return false\r\n },\r\n onabort() {},\r\n removeEventListener() {},\r\n reason: undefined,\r\n throwIfAborted() {},\r\n }\r\n abort() {\r\n if (process.env.NODE_ENV !== 'production') {\r\n if (!displayedWarning) {\r\n displayedWarning = true\r\n console.info(\r\n `This platform does not implement AbortController. \r\nIf you want to use the AbortController to react to \\`abort\\` events, please consider importing a polyfill like 'abortcontroller-polyfill/dist/abortcontroller-polyfill-only'.`\r\n )\r\n }\r\n }\r\n }\r\n }\r\n\r\n function actionCreator(\r\n arg: ThunkArg\r\n ): AsyncThunkAction {\r\n return (dispatch, getState, extra) => {\r\n const requestId = options?.idGenerator\r\n ? options.idGenerator(arg)\r\n : nanoid()\r\n\r\n const abortController = new AC()\r\n let abortReason: string | undefined\r\n\r\n const abortedPromise = new Promise((_, reject) =>\r\n abortController.signal.addEventListener('abort', () =>\r\n reject({ name: 'AbortError', message: abortReason || 'Aborted' })\r\n )\r\n )\r\n\r\n let started = false\r\n function abort(reason?: string) {\r\n if (started) {\r\n abortReason = reason\r\n abortController.abort()\r\n }\r\n }\r\n\r\n const promise = (async function () {\r\n let finalAction: ReturnType\r\n try {\r\n let conditionResult = options?.condition?.(arg, { getState, extra })\r\n if (isThenable(conditionResult)) {\r\n conditionResult = await conditionResult\r\n }\r\n if (conditionResult === false) {\r\n // eslint-disable-next-line no-throw-literal\r\n throw {\r\n name: 'ConditionError',\r\n message: 'Aborted due to condition callback returning false.',\r\n }\r\n }\r\n started = true\r\n dispatch(\r\n pending(\r\n requestId,\r\n arg,\r\n options?.getPendingMeta?.(\r\n { requestId, arg },\r\n { getState, extra }\r\n )\r\n )\r\n )\r\n finalAction = await Promise.race([\r\n abortedPromise,\r\n Promise.resolve(\r\n payloadCreator(arg, {\r\n dispatch,\r\n getState,\r\n extra,\r\n requestId,\r\n signal: abortController.signal,\r\n abort,\r\n rejectWithValue: ((\r\n value: RejectedValue,\r\n meta?: RejectedMeta\r\n ) => {\r\n return new RejectWithValue(value, meta)\r\n }) as any,\r\n fulfillWithValue: ((value: unknown, meta?: FulfilledMeta) => {\r\n return new FulfillWithMeta(value, meta)\r\n }) as any,\r\n })\r\n ).then((result) => {\r\n if (result instanceof RejectWithValue) {\r\n throw result\r\n }\r\n if (result instanceof FulfillWithMeta) {\r\n return fulfilled(result.payload, requestId, arg, result.meta)\r\n }\r\n return fulfilled(result as any, requestId, arg)\r\n }),\r\n ])\r\n } catch (err) {\r\n finalAction =\r\n err instanceof RejectWithValue\r\n ? rejected(null, requestId, arg, err.payload, err.meta)\r\n : rejected(err as any, requestId, arg)\r\n }\r\n // We dispatch the result action _after_ the catch, to avoid having any errors\r\n // here get swallowed by the try/catch block,\r\n // per https://twitter.com/dan_abramov/status/770914221638942720\r\n // and https://github.com/reduxjs/redux-toolkit/blob/e85eb17b39a2118d859f7b7746e0f3fee523e089/docs/tutorials/advanced-tutorial.md#async-error-handling-logic-in-thunks\r\n\r\n const skipDispatch =\r\n options &&\r\n !options.dispatchConditionRejection &&\r\n rejected.match(finalAction) &&\r\n (finalAction as any).meta.condition\r\n\r\n if (!skipDispatch) {\r\n dispatch(finalAction)\r\n }\r\n return finalAction\r\n })()\r\n return Object.assign(promise as Promise, {\r\n abort,\r\n requestId,\r\n arg,\r\n unwrap() {\r\n return promise.then(unwrapResult)\r\n },\r\n })\r\n }\r\n }\r\n\r\n return Object.assign(\r\n actionCreator as AsyncThunkActionCreator<\r\n Returned,\r\n ThunkArg,\r\n ThunkApiConfig\r\n >,\r\n {\r\n pending,\r\n rejected,\r\n fulfilled,\r\n typePrefix,\r\n }\r\n )\r\n }\r\n createAsyncThunk.withTypes = createAsyncThunk as unknown\r\n\r\n return createAsyncThunk as CreateAsyncThunk\r\n})()\r\n\r\ninterface UnwrappableAction {\r\n payload: any\r\n meta?: any\r\n error?: any\r\n}\r\n\r\ntype UnwrappedActionPayload = Exclude<\r\n T,\r\n { error: any }\r\n>['payload']\r\n\r\n/**\r\n * @public\r\n */\r\nexport function unwrapResult(\r\n action: R\r\n): UnwrappedActionPayload {\r\n if (action.meta && action.meta.rejectedWithValue) {\r\n throw action.payload\r\n }\r\n if (action.error) {\r\n throw action.error\r\n }\r\n return action.payload\r\n}\r\n\r\ntype WithStrictNullChecks = undefined extends boolean\r\n ? False\r\n : True\r\n\r\nfunction isThenable(value: any): value is PromiseLike {\r\n return (\r\n value !== null &&\r\n typeof value === 'object' &&\r\n typeof value.then === 'function'\r\n )\r\n}\r\n","import type { Dispatch, AnyAction, MiddlewareAPI } from 'redux'\r\nimport type { ThunkDispatch } from 'redux-thunk'\r\nimport { createAction } from '../createAction'\r\nimport { nanoid } from '../nanoid'\r\n\r\nimport type {\r\n ListenerMiddleware,\r\n ListenerMiddlewareInstance,\r\n AddListenerOverloads,\r\n AnyListenerPredicate,\r\n CreateListenerMiddlewareOptions,\r\n TypedAddListener,\r\n TypedCreateListenerEntry,\r\n FallbackAddListenerOptions,\r\n ListenerEntry,\r\n ListenerErrorHandler,\r\n UnsubscribeListener,\r\n TakePattern,\r\n ListenerErrorInfo,\r\n ForkedTaskExecutor,\r\n ForkedTask,\r\n TypedRemoveListener,\r\n TaskResult,\r\n AbortSignalWithReason,\r\n UnsubscribeListenerOptions,\r\n} from './types'\r\nimport {\r\n abortControllerWithReason,\r\n addAbortSignalListener,\r\n assertFunction,\r\n catchRejection,\r\n} from './utils'\r\nimport {\r\n listenerCancelled,\r\n listenerCompleted,\r\n TaskAbortError,\r\n taskCancelled,\r\n taskCompleted,\r\n} from './exceptions'\r\nimport {\r\n runTask,\r\n promisifyAbortSignal,\r\n validateActive,\r\n createPause,\r\n createDelay,\r\n} from './task'\r\nexport { TaskAbortError } from './exceptions'\r\nexport type {\r\n ListenerEffect,\r\n ListenerMiddleware,\r\n ListenerEffectAPI,\r\n ListenerMiddlewareInstance,\r\n CreateListenerMiddlewareOptions,\r\n ListenerErrorHandler,\r\n TypedStartListening,\r\n TypedAddListener,\r\n TypedStopListening,\r\n TypedRemoveListener,\r\n UnsubscribeListener,\r\n UnsubscribeListenerOptions,\r\n ForkedTaskExecutor,\r\n ForkedTask,\r\n ForkedTaskAPI,\r\n AsyncTaskExecutor,\r\n SyncTaskExecutor,\r\n TaskCancelled,\r\n TaskRejected,\r\n TaskResolved,\r\n TaskResult,\r\n} from './types'\r\n\r\n//Overly-aggressive byte-shaving\r\nconst { assign } = Object\r\n/**\r\n * @internal\r\n */\r\nconst INTERNAL_NIL_TOKEN = {} as const\r\n\r\nconst alm = 'listenerMiddleware' as const\r\n\r\nconst createFork = (parentAbortSignal: AbortSignalWithReason) => {\r\n const linkControllers = (controller: AbortController) =>\r\n addAbortSignalListener(parentAbortSignal, () =>\r\n abortControllerWithReason(controller, parentAbortSignal.reason)\r\n )\r\n\r\n return (taskExecutor: ForkedTaskExecutor): ForkedTask => {\r\n assertFunction(taskExecutor, 'taskExecutor')\r\n const childAbortController = new AbortController()\r\n\r\n linkControllers(childAbortController)\r\n\r\n const result = runTask(\r\n async (): Promise => {\r\n validateActive(parentAbortSignal)\r\n validateActive(childAbortController.signal)\r\n const result = (await taskExecutor({\r\n pause: createPause(childAbortController.signal),\r\n delay: createDelay(childAbortController.signal),\r\n signal: childAbortController.signal,\r\n })) as T\r\n validateActive(childAbortController.signal)\r\n return result\r\n },\r\n () => abortControllerWithReason(childAbortController, taskCompleted)\r\n )\r\n\r\n return {\r\n result: createPause>(parentAbortSignal)(result),\r\n cancel() {\r\n abortControllerWithReason(childAbortController, taskCancelled)\r\n },\r\n }\r\n }\r\n}\r\n\r\nconst createTakePattern = (\r\n startListening: AddListenerOverloads<\r\n UnsubscribeListener,\r\n S,\r\n Dispatch\r\n >,\r\n signal: AbortSignal\r\n): TakePattern => {\r\n /**\r\n * A function that takes a ListenerPredicate and an optional timeout,\r\n * and resolves when either the predicate returns `true` based on an action\r\n * state combination or when the timeout expires.\r\n * If the parent listener is canceled while waiting, this will throw a\r\n * TaskAbortError.\r\n */\r\n const take = async

    >(\r\n predicate: P,\r\n timeout: number | undefined\r\n ) => {\r\n validateActive(signal)\r\n\r\n // Placeholder unsubscribe function until the listener is added\r\n let unsubscribe: UnsubscribeListener = () => {}\r\n\r\n const tuplePromise = new Promise<[AnyAction, S, S]>((resolve) => {\r\n // Inside the Promise, we synchronously add the listener.\r\n unsubscribe = startListening({\r\n predicate: predicate as any,\r\n effect: (action, listenerApi): void => {\r\n // One-shot listener that cleans up as soon as the predicate passes\r\n listenerApi.unsubscribe()\r\n // Resolve the promise with the same arguments the predicate saw\r\n resolve([\r\n action,\r\n listenerApi.getState(),\r\n listenerApi.getOriginalState(),\r\n ])\r\n },\r\n })\r\n })\r\n\r\n const promises: (Promise | Promise<[AnyAction, S, S]>)[] = [\r\n promisifyAbortSignal(signal),\r\n tuplePromise,\r\n ]\r\n\r\n if (timeout != null) {\r\n promises.push(\r\n new Promise((resolve) => setTimeout(resolve, timeout, null))\r\n )\r\n }\r\n\r\n try {\r\n const output = await Promise.race(promises)\r\n\r\n validateActive(signal)\r\n return output\r\n } finally {\r\n // Always clean up the listener\r\n unsubscribe()\r\n }\r\n }\r\n\r\n return ((predicate: AnyListenerPredicate, timeout: number | undefined) =>\r\n catchRejection(take(predicate, timeout))) as TakePattern\r\n}\r\n\r\nconst getListenerEntryPropsFrom = (options: FallbackAddListenerOptions) => {\r\n let { type, actionCreator, matcher, predicate, effect } = options\r\n\r\n if (type) {\r\n predicate = createAction(type).match\r\n } else if (actionCreator) {\r\n type = actionCreator!.type\r\n predicate = actionCreator.match\r\n } else if (matcher) {\r\n predicate = matcher\r\n } else if (predicate) {\r\n // pass\r\n } else {\r\n throw new Error(\r\n 'Creating or removing a listener requires one of the known fields for matching an action'\r\n )\r\n }\r\n\r\n assertFunction(effect, 'options.listener')\r\n\r\n return { predicate, type, effect }\r\n}\r\n\r\n/** Accepts the possible options for creating a listener, and returns a formatted listener entry */\r\nexport const createListenerEntry: TypedCreateListenerEntry = (\r\n options: FallbackAddListenerOptions\r\n) => {\r\n const { type, predicate, effect } = getListenerEntryPropsFrom(options)\r\n\r\n const id = nanoid()\r\n const entry: ListenerEntry = {\r\n id,\r\n effect,\r\n type,\r\n predicate,\r\n pending: new Set(),\r\n unsubscribe: () => {\r\n throw new Error('Unsubscribe not initialized')\r\n },\r\n }\r\n\r\n return entry\r\n}\r\n\r\nconst createClearListenerMiddleware = (\r\n listenerMap: Map\r\n) => {\r\n return () => {\r\n listenerMap.forEach(cancelActiveListeners)\r\n\r\n listenerMap.clear()\r\n }\r\n}\r\n\r\n/**\r\n * Safely reports errors to the `errorHandler` provided.\r\n * Errors that occur inside `errorHandler` are notified in a new task.\r\n * Inspired by [rxjs reportUnhandledError](https://github.com/ReactiveX/rxjs/blob/6fafcf53dc9e557439b25debaeadfd224b245a66/src/internal/util/reportUnhandledError.ts)\r\n * @param errorHandler\r\n * @param errorToNotify\r\n */\r\nconst safelyNotifyError = (\r\n errorHandler: ListenerErrorHandler,\r\n errorToNotify: unknown,\r\n errorInfo: ListenerErrorInfo\r\n): void => {\r\n try {\r\n errorHandler(errorToNotify, errorInfo)\r\n } catch (errorHandlerError) {\r\n // We cannot let an error raised here block the listener queue.\r\n // The error raised here will be picked up by `window.onerror`, `process.on('error')` etc...\r\n setTimeout(() => {\r\n throw errorHandlerError\r\n }, 0)\r\n }\r\n}\r\n\r\n/**\r\n * @public\r\n */\r\nexport const addListener = createAction(\r\n `${alm}/add`\r\n) as TypedAddListener\r\n\r\n/**\r\n * @public\r\n */\r\nexport const clearAllListeners = createAction(`${alm}/removeAll`)\r\n\r\n/**\r\n * @public\r\n */\r\nexport const removeListener = createAction(\r\n `${alm}/remove`\r\n) as TypedRemoveListener\r\n\r\nconst defaultErrorHandler: ListenerErrorHandler = (...args: unknown[]) => {\r\n console.error(`${alm}/error`, ...args)\r\n}\r\n\r\nconst cancelActiveListeners = (\r\n entry: ListenerEntry>\r\n) => {\r\n entry.pending.forEach((controller) => {\r\n abortControllerWithReason(controller, listenerCancelled)\r\n })\r\n}\r\n\r\n/**\r\n * @public\r\n */\r\nexport function createListenerMiddleware<\r\n S = unknown,\r\n D extends Dispatch = ThunkDispatch,\r\n ExtraArgument = unknown\r\n>(middlewareOptions: CreateListenerMiddlewareOptions = {}) {\r\n const listenerMap = new Map()\r\n const { extra, onError = defaultErrorHandler } = middlewareOptions\r\n\r\n assertFunction(onError, 'onError')\r\n\r\n const insertEntry = (entry: ListenerEntry) => {\r\n entry.unsubscribe = () => listenerMap.delete(entry!.id)\r\n\r\n listenerMap.set(entry.id, entry)\r\n return (cancelOptions?: UnsubscribeListenerOptions) => {\r\n entry.unsubscribe()\r\n if (cancelOptions?.cancelActive) {\r\n cancelActiveListeners(entry)\r\n }\r\n }\r\n }\r\n\r\n const findListenerEntry = (\r\n comparator: (entry: ListenerEntry) => boolean\r\n ): ListenerEntry | undefined => {\r\n for (const entry of Array.from(listenerMap.values())) {\r\n if (comparator(entry)) {\r\n return entry\r\n }\r\n }\r\n\r\n return undefined\r\n }\r\n\r\n const startListening = (options: FallbackAddListenerOptions) => {\r\n let entry = findListenerEntry(\r\n (existingEntry) => existingEntry.effect === options.effect\r\n )\r\n\r\n if (!entry) {\r\n entry = createListenerEntry(options as any)\r\n }\r\n\r\n return insertEntry(entry)\r\n }\r\n\r\n const stopListening = (\r\n options: FallbackAddListenerOptions & UnsubscribeListenerOptions\r\n ): boolean => {\r\n const { type, effect, predicate } = getListenerEntryPropsFrom(options)\r\n\r\n const entry = findListenerEntry((entry) => {\r\n const matchPredicateOrType =\r\n typeof type === 'string'\r\n ? entry.type === type\r\n : entry.predicate === predicate\r\n\r\n return matchPredicateOrType && entry.effect === effect\r\n })\r\n\r\n if (entry) {\r\n entry.unsubscribe()\r\n if (options.cancelActive) {\r\n cancelActiveListeners(entry)\r\n }\r\n }\r\n\r\n return !!entry\r\n }\r\n\r\n const notifyListener = async (\r\n entry: ListenerEntry>,\r\n action: AnyAction,\r\n api: MiddlewareAPI,\r\n getOriginalState: () => S\r\n ) => {\r\n const internalTaskController = new AbortController()\r\n const take = createTakePattern(\r\n startListening,\r\n internalTaskController.signal\r\n )\r\n\r\n try {\r\n entry.pending.add(internalTaskController)\r\n await Promise.resolve(\r\n entry.effect(\r\n action,\r\n // Use assign() rather than ... to avoid extra helper functions added to bundle\r\n assign({}, api, {\r\n getOriginalState,\r\n condition: (\r\n predicate: AnyListenerPredicate,\r\n timeout?: number\r\n ) => take(predicate, timeout).then(Boolean),\r\n take,\r\n delay: createDelay(internalTaskController.signal),\r\n pause: createPause(internalTaskController.signal),\r\n extra,\r\n signal: internalTaskController.signal,\r\n fork: createFork(internalTaskController.signal),\r\n unsubscribe: entry.unsubscribe,\r\n subscribe: () => {\r\n listenerMap.set(entry.id, entry)\r\n },\r\n cancelActiveListeners: () => {\r\n entry.pending.forEach((controller, _, set) => {\r\n if (controller !== internalTaskController) {\r\n abortControllerWithReason(controller, listenerCancelled)\r\n set.delete(controller)\r\n }\r\n })\r\n },\r\n })\r\n )\r\n )\r\n } catch (listenerError) {\r\n if (!(listenerError instanceof TaskAbortError)) {\r\n safelyNotifyError(onError, listenerError, {\r\n raisedBy: 'effect',\r\n })\r\n }\r\n } finally {\r\n abortControllerWithReason(internalTaskController, listenerCompleted) // Notify that the task has completed\r\n entry.pending.delete(internalTaskController)\r\n }\r\n }\r\n\r\n const clearListenerMiddleware = createClearListenerMiddleware(listenerMap)\r\n\r\n const middleware: ListenerMiddleware =\r\n (api) => (next) => (action) => {\r\n if (addListener.match(action)) {\r\n return startListening(action.payload)\r\n }\r\n\r\n if (clearAllListeners.match(action)) {\r\n clearListenerMiddleware()\r\n return\r\n }\r\n\r\n if (removeListener.match(action)) {\r\n return stopListening(action.payload)\r\n }\r\n\r\n // Need to get this state _before_ the reducer processes the action\r\n let originalState: S | typeof INTERNAL_NIL_TOKEN = api.getState()\r\n\r\n // `getOriginalState` can only be called synchronously.\r\n // @see https://github.com/reduxjs/redux-toolkit/discussions/1648#discussioncomment-1932820\r\n const getOriginalState = (): S => {\r\n if (originalState === INTERNAL_NIL_TOKEN) {\r\n throw new Error(\r\n `${alm}: getOriginalState can only be called synchronously`\r\n )\r\n }\r\n\r\n return originalState as S\r\n }\r\n\r\n let result: unknown\r\n\r\n try {\r\n // Actually forward the action to the reducer before we handle listeners\r\n result = next(action)\r\n\r\n if (listenerMap.size > 0) {\r\n let currentState = api.getState()\r\n // Work around ESBuild+TS transpilation issue\r\n const listenerEntries = Array.from(listenerMap.values())\r\n for (let entry of listenerEntries) {\r\n let runListener = false\r\n\r\n try {\r\n runListener = entry.predicate(action, currentState, originalState)\r\n } catch (predicateError) {\r\n runListener = false\r\n\r\n safelyNotifyError(onError, predicateError, {\r\n raisedBy: 'predicate',\r\n })\r\n }\r\n\r\n if (!runListener) {\r\n continue\r\n }\r\n\r\n notifyListener(entry, action, api, getOriginalState)\r\n }\r\n }\r\n } finally {\r\n // Remove `originalState` store from this scope.\r\n originalState = INTERNAL_NIL_TOKEN\r\n }\r\n\r\n return result\r\n }\r\n\r\n return {\r\n middleware,\r\n startListening,\r\n stopListening,\r\n clearListeners: clearListenerMiddleware,\r\n } as ListenerMiddlewareInstance\r\n}\r\n","import type { AbortSignalWithReason } from './types'\r\n\r\nexport const assertFunction: (\r\n func: unknown,\r\n expected: string\r\n) => asserts func is (...args: unknown[]) => unknown = (\r\n func: unknown,\r\n expected: string\r\n) => {\r\n if (typeof func !== 'function') {\r\n throw new TypeError(`${expected} is not a function`)\r\n }\r\n}\r\n\r\nexport const noop = () => {}\r\n\r\nexport const catchRejection = (\r\n promise: Promise,\r\n onError = noop\r\n): Promise => {\r\n promise.catch(onError)\r\n\r\n return promise\r\n}\r\n\r\nexport const addAbortSignalListener = (\r\n abortSignal: AbortSignal,\r\n callback: (evt: Event) => void\r\n) => {\r\n abortSignal.addEventListener('abort', callback, { once: true })\r\n}\r\n\r\n/**\r\n * Calls `abortController.abort(reason)` and patches `signal.reason`.\r\n * if it is not supported.\r\n *\r\n * At the time of writing `signal.reason` is available in FF chrome, edge node 17 and deno.\r\n * @param abortController\r\n * @param reason\r\n * @returns\r\n * @see https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal/reason\r\n */\r\nexport const abortControllerWithReason = (\r\n abortController: AbortController,\r\n reason: T\r\n): void => {\r\n type Consumer = (val: T) => void\r\n\r\n const signal = abortController.signal as AbortSignalWithReason\r\n\r\n if (signal.aborted) {\r\n return\r\n }\r\n\r\n // Patch `reason` if necessary.\r\n // - We use defineProperty here because reason is a getter of `AbortSignal.__proto__`.\r\n // - We need to patch 'reason' before calling `.abort()` because listeners to the 'abort'\r\n // event are are notified immediately.\r\n if (!('reason' in signal)) {\r\n Object.defineProperty(signal, 'reason', {\r\n enumerable: true,\r\n value: reason,\r\n configurable: true,\r\n writable: true,\r\n })\r\n }\r\n\r\n ;(abortController.abort as Consumer)(reason)\r\n}\r\n","import type { StoreEnhancer } from 'redux'\r\n\r\nexport const SHOULD_AUTOBATCH = 'RTK_autoBatch'\r\n\r\nexport const prepareAutoBatched =\r\n () =>\r\n (payload: T): { payload: T; meta: unknown } => ({\r\n payload,\r\n meta: { [SHOULD_AUTOBATCH]: true },\r\n })\r\n\r\n// TODO Remove this in 2.0\r\n// Copied from https://github.com/feross/queue-microtask\r\nlet promise: Promise\r\nconst queueMicrotaskShim =\r\n typeof queueMicrotask === 'function'\r\n ? queueMicrotask.bind(typeof window !== 'undefined' ? window : global)\r\n : // reuse resolved promise, and allocate it lazily\r\n (cb: () => void) =>\r\n (promise || (promise = Promise.resolve())).then(cb).catch((err: any) =>\r\n setTimeout(() => {\r\n throw err\r\n }, 0)\r\n )\r\n\r\nexport type AutoBatchOptions =\r\n | { type: 'tick' }\r\n | { type: 'timer'; timeout: number }\r\n | { type: 'raf' }\r\n | { type: 'callback'; queueNotification: (notify: () => void) => void }\r\n\r\nconst createQueueWithTimer = (timeout: number) => {\r\n return (notify: () => void) => {\r\n setTimeout(notify, timeout)\r\n }\r\n}\r\n\r\n/**\r\n * A Redux store enhancer that watches for \"low-priority\" actions, and delays\r\n * notifying subscribers until either the queued callback executes or the\r\n * next \"standard-priority\" action is dispatched.\r\n *\r\n * This allows dispatching multiple \"low-priority\" actions in a row with only\r\n * a single subscriber notification to the UI after the sequence of actions\r\n * is finished, thus improving UI re-render performance.\r\n *\r\n * Watches for actions with the `action.meta[SHOULD_AUTOBATCH]` attribute.\r\n * This can be added to `action.meta` manually, or by using the\r\n * `prepareAutoBatched` helper.\r\n *\r\n * By default, it will queue a notification for the end of the event loop tick.\r\n * However, you can pass several other options to configure the behavior:\r\n * - `{type: 'tick'}: queues using `queueMicrotask` (default)\r\n * - `{type: 'timer, timeout: number}`: queues using `setTimeout`\r\n * - `{type: 'raf'}`: queues using `requestAnimationFrame`\r\n * - `{type: 'callback', queueNotification: (notify: () => void) => void}: lets you provide your own callback\r\n *\r\n *\r\n */\r\nexport const autoBatchEnhancer =\r\n (options: AutoBatchOptions = { type: 'raf' }): StoreEnhancer =>\r\n (next) =>\r\n (...args) => {\r\n const store = next(...args)\r\n\r\n let notifying = true\r\n let shouldNotifyAtEndOfTick = false\r\n let notificationQueued = false\r\n\r\n const listeners = new Set<() => void>()\r\n\r\n const queueCallback =\r\n options.type === 'tick'\r\n ? queueMicrotaskShim\r\n : options.type === 'raf'\r\n ? requestAnimationFrame\r\n : options.type === 'callback'\r\n ? options.queueNotification\r\n : createQueueWithTimer(options.timeout)\r\n\r\n const notifyListeners = () => {\r\n // We're running at the end of the event loop tick.\r\n // Run the real listener callbacks to actually update the UI.\r\n notificationQueued = false\r\n if (shouldNotifyAtEndOfTick) {\r\n shouldNotifyAtEndOfTick = false\r\n listeners.forEach((l) => l())\r\n }\r\n }\r\n\r\n return Object.assign({}, store, {\r\n // Override the base `store.subscribe` method to keep original listeners\r\n // from running if we're delaying notifications\r\n subscribe(listener: () => void) {\r\n // Each wrapped listener will only call the real listener if\r\n // the `notifying` flag is currently active when it's called.\r\n // This lets the base store work as normal, while the actual UI\r\n // update becomes controlled by this enhancer.\r\n const wrappedListener: typeof listener = () => notifying && listener()\r\n const unsubscribe = store.subscribe(wrappedListener)\r\n listeners.add(listener)\r\n return () => {\r\n unsubscribe()\r\n listeners.delete(listener)\r\n }\r\n },\r\n // Override the base `store.dispatch` method so that we can check actions\r\n // for the `shouldAutoBatch` flag and determine if batching is active\r\n dispatch(action: any) {\r\n try {\r\n // If the action does _not_ have the `shouldAutoBatch` flag,\r\n // we resume/continue normal notify-after-each-dispatch behavior\r\n notifying = !action?.meta?.[SHOULD_AUTOBATCH]\r\n // If a `notifyListeners` microtask was queued, you can't cancel it.\r\n // Instead, we set a flag so that it's a no-op when it does run\r\n shouldNotifyAtEndOfTick = !notifying\r\n if (shouldNotifyAtEndOfTick) {\r\n // We've seen at least 1 action with `SHOULD_AUTOBATCH`. Try to queue\r\n // a microtask to notify listeners at the end of the event loop tick.\r\n // Make sure we only enqueue this _once_ per tick.\r\n if (!notificationQueued) {\r\n notificationQueued = true\r\n queueCallback(notifyListeners)\r\n }\r\n }\r\n // Go ahead and process the action as usual, including reducers.\r\n // If normal notification behavior is enabled, the store will notify\r\n // all of its own listeners, and the wrapper callbacks above will\r\n // see `notifying` is true and pass on to the real listener callbacks.\r\n // If we're \"batching\" behavior, then the wrapped callbacks will\r\n // bail out, causing the base store notification behavior to be no-ops.\r\n return store.dispatch(action)\r\n } finally {\r\n // Assume we're back to normal behavior after each action\r\n notifying = true\r\n }\r\n },\r\n })\r\n }\r\n","import { enableES5 } from 'immer'\r\nexport * from 'redux'\r\nexport {\r\n default as createNextState,\r\n current,\r\n freeze,\r\n original,\r\n isDraft,\r\n} from 'immer'\r\nexport type { Draft } from 'immer'\r\nexport { createSelector } from 'reselect'\r\nexport type {\r\n Selector,\r\n OutputParametricSelector,\r\n OutputSelector,\r\n ParametricSelector,\r\n} from 'reselect'\r\nexport { createDraftSafeSelector } from './createDraftSafeSelector'\r\nexport type { ThunkAction, ThunkDispatch, ThunkMiddleware } from 'redux-thunk'\r\n\r\n// We deliberately enable Immer's ES5 support, on the grounds that\r\n// we assume RTK will be used with React Native and other Proxy-less\r\n// environments. In addition, that's how Immer 4 behaved, and since\r\n// we want to ship this in an RTK minor, we should keep the same behavior.\r\nenableES5()\r\n\r\nexport {\r\n // js\r\n configureStore,\r\n} from './configureStore'\r\nexport type {\r\n // types\r\n ConfigureEnhancersCallback,\r\n ConfigureStoreOptions,\r\n EnhancedStore,\r\n} from './configureStore'\r\nexport type { DevToolsEnhancerOptions } from './devtoolsExtension'\r\nexport {\r\n // js\r\n createAction,\r\n getType,\r\n} from './createAction'\r\nexport type {\r\n // types\r\n PayloadAction,\r\n PayloadActionCreator,\r\n ActionCreatorWithNonInferrablePayload,\r\n ActionCreatorWithOptionalPayload,\r\n ActionCreatorWithPayload,\r\n ActionCreatorWithoutPayload,\r\n ActionCreatorWithPreparedPayload,\r\n PrepareAction,\r\n} from './createAction'\r\nexport {\r\n // js\r\n createReducer,\r\n} from './createReducer'\r\nexport type {\r\n // types\r\n Actions,\r\n CaseReducer,\r\n CaseReducers,\r\n} from './createReducer'\r\nexport {\r\n // js\r\n createSlice,\r\n} from './createSlice'\r\n\r\nexport type {\r\n // types\r\n CreateSliceOptions,\r\n Slice,\r\n CaseReducerActions,\r\n SliceCaseReducers,\r\n ValidateSliceCaseReducers,\r\n CaseReducerWithPrepare,\r\n SliceActionCreator,\r\n} from './createSlice'\r\nexport {\r\n // js\r\n createImmutableStateInvariantMiddleware,\r\n isImmutableDefault,\r\n} from './immutableStateInvariantMiddleware'\r\nexport type {\r\n // types\r\n ImmutableStateInvariantMiddlewareOptions,\r\n} from './immutableStateInvariantMiddleware'\r\nexport {\r\n // js\r\n createSerializableStateInvariantMiddleware,\r\n findNonSerializableValue,\r\n isPlain,\r\n} from './serializableStateInvariantMiddleware'\r\nexport type {\r\n // types\r\n SerializableStateInvariantMiddlewareOptions,\r\n} from './serializableStateInvariantMiddleware'\r\nexport {\r\n // js\r\n getDefaultMiddleware,\r\n} from './getDefaultMiddleware'\r\nexport type {\r\n // types\r\n ActionReducerMapBuilder,\r\n} from './mapBuilders'\r\nexport { MiddlewareArray } from './utils'\r\n\r\nexport { createEntityAdapter } from './entities/create_adapter'\r\nexport type {\r\n Dictionary,\r\n EntityState,\r\n EntityAdapter,\r\n EntitySelectors,\r\n EntityStateAdapter,\r\n EntityId,\r\n Update,\r\n IdSelector,\r\n Comparer,\r\n} from './entities/models'\r\n\r\nexport {\r\n createAsyncThunk,\r\n unwrapResult,\r\n miniSerializeError,\r\n} from './createAsyncThunk'\r\nexport type {\r\n AsyncThunk,\r\n AsyncThunkOptions,\r\n AsyncThunkAction,\r\n AsyncThunkPayloadCreatorReturnValue,\r\n AsyncThunkPayloadCreator,\r\n SerializedError,\r\n} from './createAsyncThunk'\r\n\r\nexport {\r\n // js\r\n isAllOf,\r\n isAnyOf,\r\n isPending,\r\n isRejected,\r\n isFulfilled,\r\n isAsyncThunkAction,\r\n isRejectedWithValue,\r\n} from './matchers'\r\nexport type {\r\n // types\r\n ActionMatchingAllOf,\r\n ActionMatchingAnyOf,\r\n} from './matchers'\r\n\r\nexport { nanoid } from './nanoid'\r\n\r\nexport { default as isPlainObject } from './isPlainObject'\r\n\r\nexport type {\r\n ListenerEffect,\r\n ListenerMiddleware,\r\n ListenerEffectAPI,\r\n ListenerMiddlewareInstance,\r\n CreateListenerMiddlewareOptions,\r\n ListenerErrorHandler,\r\n TypedStartListening,\r\n TypedAddListener,\r\n TypedStopListening,\r\n TypedRemoveListener,\r\n UnsubscribeListener,\r\n UnsubscribeListenerOptions,\r\n ForkedTaskExecutor,\r\n ForkedTask,\r\n ForkedTaskAPI,\r\n AsyncTaskExecutor,\r\n SyncTaskExecutor,\r\n TaskCancelled,\r\n TaskRejected,\r\n TaskResolved,\r\n TaskResult,\r\n} from './listenerMiddleware/index'\r\nexport type { AnyListenerPredicate } from './listenerMiddleware/types'\r\n\r\nexport {\r\n createListenerMiddleware,\r\n addListener,\r\n removeListener,\r\n clearAllListeners,\r\n TaskAbortError,\r\n} from './listenerMiddleware/index'\r\n\r\nexport {\r\n SHOULD_AUTOBATCH,\r\n prepareAutoBatched,\r\n autoBatchEnhancer,\r\n AutoBatchOptions,\r\n} from './autoBatchEnhancer'\r\n","////////////////////////////////////////////////////////////////////////////////\n//#region Types and Constants\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Actions represent the type of change to a location value.\n */\nexport enum Action {\n /**\n * A POP indicates a change to an arbitrary index in the history stack, such\n * as a back or forward navigation. It does not describe the direction of the\n * navigation, only that the current index changed.\n *\n * Note: This is the default action for newly created history objects.\n */\n Pop = \"POP\",\n\n /**\n * A PUSH indicates a new entry being added to the history stack, such as when\n * a link is clicked and a new page loads. When this happens, all subsequent\n * entries in the stack are lost.\n */\n Push = \"PUSH\",\n\n /**\n * A REPLACE indicates the entry at the current index in the history stack\n * being replaced by a new one.\n */\n Replace = \"REPLACE\",\n}\n\n/**\n * The pathname, search, and hash values of a URL.\n */\nexport interface Path {\n /**\n * A URL pathname, beginning with a /.\n */\n pathname: string;\n\n /**\n * A URL search string, beginning with a ?.\n */\n search: string;\n\n /**\n * A URL fragment identifier, beginning with a #.\n */\n hash: string;\n}\n\n/**\n * An entry in a history stack. A location contains information about the\n * URL path, as well as possibly some arbitrary state and a key.\n */\nexport interface Location extends Path {\n /**\n * A value of arbitrary data associated with this location.\n */\n state: any;\n\n /**\n * A unique string associated with this location. May be used to safely store\n * and retrieve data in some other storage API, like `localStorage`.\n *\n * Note: This value is always \"default\" on the initial location.\n */\n key: string;\n}\n\n/**\n * A change to the current location.\n */\nexport interface Update {\n /**\n * The action that triggered the change.\n */\n action: Action;\n\n /**\n * The new location.\n */\n location: Location;\n}\n\n/**\n * A function that receives notifications about location changes.\n */\nexport interface Listener {\n (update: Update): void;\n}\n\n/**\n * Describes a location that is the destination of some navigation, either via\n * `history.push` or `history.replace`. May be either a URL or the pieces of a\n * URL path.\n */\nexport type To = string | Partial;\n\n/**\n * A history is an interface to the navigation stack. The history serves as the\n * source of truth for the current location, as well as provides a set of\n * methods that may be used to change it.\n *\n * It is similar to the DOM's `window.history` object, but with a smaller, more\n * focused API.\n */\nexport interface History {\n /**\n * The last action that modified the current location. This will always be\n * Action.Pop when a history instance is first created. This value is mutable.\n */\n readonly action: Action;\n\n /**\n * The current location. This value is mutable.\n */\n readonly location: Location;\n\n /**\n * Returns a valid href for the given `to` value that may be used as\n * the value of an attribute.\n *\n * @param to - The destination URL\n */\n createHref(to: To): string;\n\n /**\n * Encode a location the same way window.history would do (no-op for memory\n * history) so we ensure our PUSH/REPLAC e navigations for data routers\n * behave the same as POP\n *\n * @param location The incoming location from router.navigate()\n */\n encodeLocation(location: Location): Location;\n\n /**\n * Pushes a new location onto the history stack, increasing its length by one.\n * If there were any entries in the stack after the current one, they are\n * lost.\n *\n * @param to - The new URL\n * @param state - Data to associate with the new location\n */\n push(to: To, state?: any): void;\n\n /**\n * Replaces the current location in the history stack with a new one. The\n * location that was replaced will no longer be available.\n *\n * @param to - The new URL\n * @param state - Data to associate with the new location\n */\n replace(to: To, state?: any): void;\n\n /**\n * Navigates `n` entries backward/forward in the history stack relative to the\n * current index. For example, a \"back\" navigation would use go(-1).\n *\n * @param delta - The delta in the stack index\n */\n go(delta: number): void;\n\n /**\n * Sets up a listener that will be called whenever the current location\n * changes.\n *\n * @param listener - A function that will be called when the location changes\n * @returns unlisten - A function that may be used to stop listening\n */\n listen(listener: Listener): () => void;\n}\n\ntype HistoryState = {\n usr: any;\n key?: string;\n};\n\nconst PopStateEventType = \"popstate\";\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Memory History\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * A user-supplied object that describes a location. Used when providing\n * entries to `createMemoryHistory` via its `initialEntries` option.\n */\nexport type InitialEntry = string | Partial;\n\nexport type MemoryHistoryOptions = {\n initialEntries?: InitialEntry[];\n initialIndex?: number;\n v5Compat?: boolean;\n};\n\n/**\n * A memory history stores locations in memory. This is useful in stateful\n * environments where there is no web browser, such as node tests or React\n * Native.\n */\nexport interface MemoryHistory extends History {\n /**\n * The current index in the history stack.\n */\n readonly index: number;\n}\n\n/**\n * Memory history stores the current location in memory. It is designed for use\n * in stateful non-browser environments like tests and React Native.\n */\nexport function createMemoryHistory(\n options: MemoryHistoryOptions = {}\n): MemoryHistory {\n let { initialEntries = [\"/\"], initialIndex, v5Compat = false } = options;\n let entries: Location[]; // Declare so we can access from createMemoryLocation\n entries = initialEntries.map((entry, index) =>\n createMemoryLocation(\n entry,\n typeof entry === \"string\" ? null : entry.state,\n index === 0 ? \"default\" : undefined\n )\n );\n let index = clampIndex(\n initialIndex == null ? entries.length - 1 : initialIndex\n );\n let action = Action.Pop;\n let listener: Listener | null = null;\n\n function clampIndex(n: number): number {\n return Math.min(Math.max(n, 0), entries.length - 1);\n }\n function getCurrentLocation(): Location {\n return entries[index];\n }\n function createMemoryLocation(\n to: To,\n state: any = null,\n key?: string\n ): Location {\n let location = createLocation(\n entries ? getCurrentLocation().pathname : \"/\",\n to,\n state,\n key\n );\n warning(\n location.pathname.charAt(0) === \"/\",\n `relative pathnames are not supported in memory history: ${JSON.stringify(\n to\n )}`\n );\n return location;\n }\n\n let history: MemoryHistory = {\n get index() {\n return index;\n },\n get action() {\n return action;\n },\n get location() {\n return getCurrentLocation();\n },\n createHref(to) {\n return typeof to === \"string\" ? to : createPath(to);\n },\n encodeLocation(location) {\n return location;\n },\n push(to, state) {\n action = Action.Push;\n let nextLocation = createMemoryLocation(to, state);\n index += 1;\n entries.splice(index, entries.length, nextLocation);\n if (v5Compat && listener) {\n listener({ action, location: nextLocation });\n }\n },\n replace(to, state) {\n action = Action.Replace;\n let nextLocation = createMemoryLocation(to, state);\n entries[index] = nextLocation;\n if (v5Compat && listener) {\n listener({ action, location: nextLocation });\n }\n },\n go(delta) {\n action = Action.Pop;\n index = clampIndex(index + delta);\n if (listener) {\n listener({ action, location: getCurrentLocation() });\n }\n },\n listen(fn: Listener) {\n listener = fn;\n return () => {\n listener = null;\n };\n },\n };\n\n return history;\n}\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Browser History\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * A browser history stores the current location in regular URLs in a web\n * browser environment. This is the standard for most web apps and provides the\n * cleanest URLs the browser's address bar.\n *\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#browserhistory\n */\nexport interface BrowserHistory extends UrlHistory {}\n\nexport type BrowserHistoryOptions = UrlHistoryOptions;\n\n/**\n * Browser history stores the location in regular URLs. This is the standard for\n * most web apps, but it requires some configuration on the server to ensure you\n * serve the same app at multiple URLs.\n *\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createbrowserhistory\n */\nexport function createBrowserHistory(\n options: BrowserHistoryOptions = {}\n): BrowserHistory {\n function createBrowserLocation(\n window: Window,\n globalHistory: Window[\"history\"]\n ) {\n let { pathname, search, hash } = window.location;\n return createLocation(\n \"\",\n { pathname, search, hash },\n // state defaults to `null` because `window.history.state` does\n (globalHistory.state && globalHistory.state.usr) || null,\n (globalHistory.state && globalHistory.state.key) || \"default\"\n );\n }\n\n function createBrowserHref(window: Window, to: To) {\n return typeof to === \"string\" ? to : createPath(to);\n }\n\n return getUrlBasedHistory(\n createBrowserLocation,\n createBrowserHref,\n null,\n options\n );\n}\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Hash History\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * A hash history stores the current location in the fragment identifier portion\n * of the URL in a web browser environment.\n *\n * This is ideal for apps that do not control the server for some reason\n * (because the fragment identifier is never sent to the server), including some\n * shared hosting environments that do not provide fine-grained controls over\n * which pages are served at which URLs.\n *\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#hashhistory\n */\nexport interface HashHistory extends UrlHistory {}\n\nexport type HashHistoryOptions = UrlHistoryOptions;\n\n/**\n * Hash history stores the location in window.location.hash. This makes it ideal\n * for situations where you don't want to send the location to the server for\n * some reason, either because you do cannot configure it or the URL space is\n * reserved for something else.\n *\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createhashhistory\n */\nexport function createHashHistory(\n options: HashHistoryOptions = {}\n): HashHistory {\n function createHashLocation(\n window: Window,\n globalHistory: Window[\"history\"]\n ) {\n let {\n pathname = \"/\",\n search = \"\",\n hash = \"\",\n } = parsePath(window.location.hash.substr(1));\n return createLocation(\n \"\",\n { pathname, search, hash },\n // state defaults to `null` because `window.history.state` does\n (globalHistory.state && globalHistory.state.usr) || null,\n (globalHistory.state && globalHistory.state.key) || \"default\"\n );\n }\n\n function createHashHref(window: Window, to: To) {\n let base = window.document.querySelector(\"base\");\n let href = \"\";\n\n if (base && base.getAttribute(\"href\")) {\n let url = window.location.href;\n let hashIndex = url.indexOf(\"#\");\n href = hashIndex === -1 ? url : url.slice(0, hashIndex);\n }\n\n return href + \"#\" + (typeof to === \"string\" ? to : createPath(to));\n }\n\n function validateHashLocation(location: Location, to: To) {\n warning(\n location.pathname.charAt(0) === \"/\",\n `relative pathnames are not supported in hash history.push(${JSON.stringify(\n to\n )})`\n );\n }\n\n return getUrlBasedHistory(\n createHashLocation,\n createHashHref,\n validateHashLocation,\n options\n );\n}\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region UTILS\n////////////////////////////////////////////////////////////////////////////////\n\nfunction warning(cond: any, message: string) {\n if (!cond) {\n // eslint-disable-next-line no-console\n if (typeof console !== \"undefined\") console.warn(message);\n\n try {\n // Welcome to debugging history!\n //\n // This error is thrown as a convenience so you can more easily\n // find the source for a warning that appears in the console by\n // enabling \"pause on exceptions\" in your JavaScript debugger.\n throw new Error(message);\n // eslint-disable-next-line no-empty\n } catch (e) {}\n }\n}\n\nfunction createKey() {\n return Math.random().toString(36).substr(2, 8);\n}\n\n/**\n * For browser-based histories, we combine the state and key into an object\n */\nfunction getHistoryState(location: Location): HistoryState {\n return {\n usr: location.state,\n key: location.key,\n };\n}\n\n/**\n * Creates a Location object with a unique key from the given Path\n */\nexport function createLocation(\n current: string | Location,\n to: To,\n state: any = null,\n key?: string\n): Readonly {\n let location: Readonly = {\n pathname: typeof current === \"string\" ? current : current.pathname,\n search: \"\",\n hash: \"\",\n ...(typeof to === \"string\" ? parsePath(to) : to),\n state,\n // TODO: This could be cleaned up. push/replace should probably just take\n // full Locations now and avoid the need to run through this flow at all\n // But that's a pretty big refactor to the current test suite so going to\n // keep as is for the time being and just let any incoming keys take precedence\n key: (to && (to as Location).key) || key || createKey(),\n };\n return location;\n}\n\n/**\n * Creates a string URL path from the given pathname, search, and hash components.\n */\nexport function createPath({\n pathname = \"/\",\n search = \"\",\n hash = \"\",\n}: Partial) {\n if (search && search !== \"?\")\n pathname += search.charAt(0) === \"?\" ? search : \"?\" + search;\n if (hash && hash !== \"#\")\n pathname += hash.charAt(0) === \"#\" ? hash : \"#\" + hash;\n return pathname;\n}\n\n/**\n * Parses a string URL path into its separate pathname, search, and hash components.\n */\nexport function parsePath(path: string): Partial {\n let parsedPath: Partial = {};\n\n if (path) {\n let hashIndex = path.indexOf(\"#\");\n if (hashIndex >= 0) {\n parsedPath.hash = path.substr(hashIndex);\n path = path.substr(0, hashIndex);\n }\n\n let searchIndex = path.indexOf(\"?\");\n if (searchIndex >= 0) {\n parsedPath.search = path.substr(searchIndex);\n path = path.substr(0, searchIndex);\n }\n\n if (path) {\n parsedPath.pathname = path;\n }\n }\n\n return parsedPath;\n}\n\nexport function createURL(location: Location | string): URL {\n // window.location.origin is \"null\" (the literal string value) in Firefox\n // under certain conditions, notably when serving from a local HTML file\n // See https://bugzilla.mozilla.org/show_bug.cgi?id=878297\n let base =\n typeof window !== \"undefined\" &&\n typeof window.location !== \"undefined\" &&\n window.location.origin !== \"null\"\n ? window.location.origin\n : \"unknown://unknown\";\n let href = typeof location === \"string\" ? location : createPath(location);\n return new URL(href, base);\n}\n\nexport interface UrlHistory extends History {}\n\nexport type UrlHistoryOptions = {\n window?: Window;\n v5Compat?: boolean;\n};\n\nfunction getUrlBasedHistory(\n getLocation: (window: Window, globalHistory: Window[\"history\"]) => Location,\n createHref: (window: Window, to: To) => string,\n validateLocation: ((location: Location, to: To) => void) | null,\n options: UrlHistoryOptions = {}\n): UrlHistory {\n let { window = document.defaultView!, v5Compat = false } = options;\n let globalHistory = window.history;\n let action = Action.Pop;\n let listener: Listener | null = null;\n\n function handlePop() {\n action = Action.Pop;\n if (listener) {\n listener({ action, location: history.location });\n }\n }\n\n function push(to: To, state?: any) {\n action = Action.Push;\n let location = createLocation(history.location, to, state);\n if (validateLocation) validateLocation(location, to);\n\n let historyState = getHistoryState(location);\n let url = history.createHref(location);\n\n // try...catch because iOS limits us to 100 pushState calls :/\n try {\n globalHistory.pushState(historyState, \"\", url);\n } catch (error) {\n // They are going to lose state here, but there is no real\n // way to warn them about it since the page will refresh...\n window.location.assign(url);\n }\n\n if (v5Compat && listener) {\n listener({ action, location: history.location });\n }\n }\n\n function replace(to: To, state?: any) {\n action = Action.Replace;\n let location = createLocation(history.location, to, state);\n if (validateLocation) validateLocation(location, to);\n\n let historyState = getHistoryState(location);\n let url = history.createHref(location);\n globalHistory.replaceState(historyState, \"\", url);\n\n if (v5Compat && listener) {\n listener({ action, location: history.location });\n }\n }\n\n let history: History = {\n get action() {\n return action;\n },\n get location() {\n return getLocation(window, globalHistory);\n },\n listen(fn: Listener) {\n if (listener) {\n throw new Error(\"A history only accepts one active listener\");\n }\n window.addEventListener(PopStateEventType, handlePop);\n listener = fn;\n\n return () => {\n window.removeEventListener(PopStateEventType, handlePop);\n listener = null;\n };\n },\n createHref(to) {\n return createHref(window, to);\n },\n encodeLocation(location) {\n // Encode a Location the same way window.location would\n let url = createURL(createPath(location));\n return {\n ...location,\n pathname: url.pathname,\n search: url.search,\n hash: url.hash,\n };\n },\n push,\n replace,\n go(n) {\n return globalHistory.go(n);\n },\n };\n\n return history;\n}\n\n//#endregion\n","import type { Location, Path, To } from \"./history\";\nimport { parsePath } from \"./history\";\n\n/**\n * Map of routeId -> data returned from a loader/action/error\n */\nexport interface RouteData {\n [routeId: string]: any;\n}\n\nexport enum ResultType {\n data = \"data\",\n deferred = \"deferred\",\n redirect = \"redirect\",\n error = \"error\",\n}\n\n/**\n * Successful result from a loader or action\n */\nexport interface SuccessResult {\n type: ResultType.data;\n data: any;\n statusCode?: number;\n headers?: Headers;\n}\n\n/**\n * Successful defer() result from a loader or action\n */\nexport interface DeferredResult {\n type: ResultType.deferred;\n deferredData: DeferredData;\n}\n\n/**\n * Redirect result from a loader or action\n */\nexport interface RedirectResult {\n type: ResultType.redirect;\n status: number;\n location: string;\n revalidate: boolean;\n}\n\n/**\n * Unsuccessful result from a loader or action\n */\nexport interface ErrorResult {\n type: ResultType.error;\n error: any;\n headers?: Headers;\n}\n\n/**\n * Result from a loader or action - potentially successful or unsuccessful\n */\nexport type DataResult =\n | SuccessResult\n | DeferredResult\n | RedirectResult\n | ErrorResult;\n\nexport type FormMethod = \"get\" | \"post\" | \"put\" | \"patch\" | \"delete\";\nexport type FormEncType =\n | \"application/x-www-form-urlencoded\"\n | \"multipart/form-data\";\n\n/**\n * @private\n * Internal interface to pass around for action submissions, not intended for\n * external consumption\n */\nexport interface Submission {\n formMethod: Exclude;\n formAction: string;\n formEncType: FormEncType;\n formData: FormData;\n}\n\n/**\n * @private\n * Arguments passed to route loader/action functions. Same for now but we keep\n * this as a private implementation detail in case they diverge in the future.\n */\ninterface DataFunctionArgs {\n request: Request;\n params: Params;\n}\n\n/**\n * Arguments passed to loader functions\n */\nexport interface LoaderFunctionArgs extends DataFunctionArgs {}\n\n/**\n * Arguments passed to action functions\n */\nexport interface ActionFunctionArgs extends DataFunctionArgs {}\n\n/**\n * Route loader function signature\n */\nexport interface LoaderFunction {\n (args: LoaderFunctionArgs): Promise | Response | Promise | any;\n}\n\n/**\n * Route action function signature\n */\nexport interface ActionFunction {\n (args: ActionFunctionArgs): Promise | Response | Promise | any;\n}\n\n/**\n * Route shouldRevalidate function signature. This runs after any submission\n * (navigation or fetcher), so we flatten the navigation/fetcher submission\n * onto the arguments. It shouldn't matter whether it came from a navigation\n * or a fetcher, what really matters is the URLs and the formData since loaders\n * have to re-run based on the data models that were potentially mutated.\n */\nexport interface ShouldRevalidateFunction {\n (args: {\n currentUrl: URL;\n currentParams: AgnosticDataRouteMatch[\"params\"];\n nextUrl: URL;\n nextParams: AgnosticDataRouteMatch[\"params\"];\n formMethod?: Submission[\"formMethod\"];\n formAction?: Submission[\"formAction\"];\n formEncType?: Submission[\"formEncType\"];\n formData?: Submission[\"formData\"];\n actionResult?: DataResult;\n defaultShouldRevalidate: boolean;\n }): boolean;\n}\n\n/**\n * Base RouteObject with common props shared by all types of routes\n */\ntype AgnosticBaseRouteObject = {\n caseSensitive?: boolean;\n path?: string;\n id?: string;\n loader?: LoaderFunction;\n action?: ActionFunction;\n hasErrorBoundary?: boolean;\n shouldRevalidate?: ShouldRevalidateFunction;\n handle?: any;\n};\n\n/**\n * Index routes must not have children\n */\nexport type AgnosticIndexRouteObject = AgnosticBaseRouteObject & {\n children?: undefined;\n index: true;\n};\n\n/**\n * Non-index routes may have children, but cannot have index\n */\nexport type AgnosticNonIndexRouteObject = AgnosticBaseRouteObject & {\n children?: AgnosticRouteObject[];\n index?: false;\n};\n\n/**\n * A route object represents a logical route, with (optionally) its child\n * routes organized in a tree-like structure.\n */\nexport type AgnosticRouteObject =\n | AgnosticIndexRouteObject\n | AgnosticNonIndexRouteObject;\n\nexport type AgnosticDataIndexRouteObject = AgnosticIndexRouteObject & {\n id: string;\n};\n\nexport type AgnosticDataNonIndexRouteObject = AgnosticNonIndexRouteObject & {\n children?: AgnosticDataRouteObject[];\n id: string;\n};\n\n/**\n * A data route object, which is just a RouteObject with a required unique ID\n */\nexport type AgnosticDataRouteObject =\n | AgnosticDataIndexRouteObject\n | AgnosticDataNonIndexRouteObject;\n\n// Recursive helper for finding path parameters in the absence of wildcards\ntype _PathParam =\n // split path into individual path segments\n Path extends `${infer L}/${infer R}`\n ? _PathParam | _PathParam\n : // find params after `:`\n Path extends `${string}:${infer Param}`\n ? Param\n : // otherwise, there aren't any params present\n never;\n\n/**\n * Examples:\n * \"/a/b/*\" -> \"*\"\n * \":a\" -> \"a\"\n * \"/a/:b\" -> \"b\"\n * \"/a/blahblahblah:b\" -> \"b\"\n * \"/:a/:b\" -> \"a\" | \"b\"\n * \"/:a/b/:c/*\" -> \"a\" | \"c\" | \"*\"\n */\ntype PathParam =\n // check if path is just a wildcard\n Path extends \"*\"\n ? \"*\"\n : // look for wildcard at the end of the path\n Path extends `${infer Rest}/*`\n ? \"*\" | _PathParam\n : // look for params in the absence of wildcards\n _PathParam;\n\n// Attempt to parse the given string segment. If it fails, then just return the\n// plain string type as a default fallback. Otherwise return the union of the\n// parsed string literals that were referenced as dynamic segments in the route.\nexport type ParamParseKey =\n // if could not find path params, fallback to `string`\n [PathParam] extends [never] ? string : PathParam;\n\n/**\n * The parameters that were parsed from the URL path.\n */\nexport type Params = {\n readonly [key in Key]: string | undefined;\n};\n\n/**\n * A RouteMatch contains info about how a route matched a URL.\n */\nexport interface AgnosticRouteMatch<\n ParamKey extends string = string,\n RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n> {\n /**\n * The names and values of dynamic parameters in the URL.\n */\n params: Params;\n /**\n * The portion of the URL pathname that was matched.\n */\n pathname: string;\n /**\n * The portion of the URL pathname that was matched before child routes.\n */\n pathnameBase: string;\n /**\n * The route object that was used to match.\n */\n route: RouteObjectType;\n}\n\nexport interface AgnosticDataRouteMatch\n extends AgnosticRouteMatch {}\n\nfunction isIndexRoute(\n route: AgnosticRouteObject\n): route is AgnosticIndexRouteObject {\n return route.index === true;\n}\n\n// Walk the route tree generating unique IDs where necessary so we are working\n// solely with AgnosticDataRouteObject's within the Router\nexport function convertRoutesToDataRoutes(\n routes: AgnosticRouteObject[],\n parentPath: number[] = [],\n allIds: Set = new Set()\n): AgnosticDataRouteObject[] {\n return routes.map((route, index) => {\n let treePath = [...parentPath, index];\n let id = typeof route.id === \"string\" ? route.id : treePath.join(\"-\");\n invariant(\n route.index !== true || !route.children,\n `Cannot specify children on an index route`\n );\n invariant(\n !allIds.has(id),\n `Found a route id collision on id \"${id}\". Route ` +\n \"id's must be globally unique within Data Router usages\"\n );\n allIds.add(id);\n\n if (isIndexRoute(route)) {\n let indexRoute: AgnosticDataIndexRouteObject = { ...route, id };\n return indexRoute;\n } else {\n let pathOrLayoutRoute: AgnosticDataNonIndexRouteObject = {\n ...route,\n id,\n children: route.children\n ? convertRoutesToDataRoutes(route.children, treePath, allIds)\n : undefined,\n };\n return pathOrLayoutRoute;\n }\n });\n}\n\n/**\n * Matches the given routes to a location and returns the match data.\n *\n * @see https://reactrouter.com/docs/en/v6/utils/match-routes\n */\nexport function matchRoutes<\n RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n>(\n routes: RouteObjectType[],\n locationArg: Partial | string,\n basename = \"/\"\n): AgnosticRouteMatch[] | null {\n let location =\n typeof locationArg === \"string\" ? parsePath(locationArg) : locationArg;\n\n let pathname = stripBasename(location.pathname || \"/\", basename);\n\n if (pathname == null) {\n return null;\n }\n\n let branches = flattenRoutes(routes);\n rankRouteBranches(branches);\n\n let matches = null;\n for (let i = 0; matches == null && i < branches.length; ++i) {\n matches = matchRouteBranch(\n branches[i],\n // Incoming pathnames are generally encoded from either window.location\n // or from router.navigate, but we want to match against the unencoded\n // paths in the route definitions. Memory router locations won't be\n // encoded here but there also shouldn't be anything to decode so this\n // should be a safe operation. This avoids needing matchRoutes to be\n // history-aware.\n safelyDecodeURI(pathname)\n );\n }\n\n return matches;\n}\n\ninterface RouteMeta<\n RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n> {\n relativePath: string;\n caseSensitive: boolean;\n childrenIndex: number;\n route: RouteObjectType;\n}\n\ninterface RouteBranch<\n RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n> {\n path: string;\n score: number;\n routesMeta: RouteMeta[];\n}\n\nfunction flattenRoutes<\n RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n>(\n routes: RouteObjectType[],\n branches: RouteBranch[] = [],\n parentsMeta: RouteMeta[] = [],\n parentPath = \"\"\n): RouteBranch[] {\n routes.forEach((route, index) => {\n let meta: RouteMeta = {\n relativePath: route.path || \"\",\n caseSensitive: route.caseSensitive === true,\n childrenIndex: index,\n route,\n };\n\n if (meta.relativePath.startsWith(\"/\")) {\n invariant(\n meta.relativePath.startsWith(parentPath),\n `Absolute route path \"${meta.relativePath}\" nested under path ` +\n `\"${parentPath}\" is not valid. An absolute child route path ` +\n `must start with the combined path of all its parent routes.`\n );\n\n meta.relativePath = meta.relativePath.slice(parentPath.length);\n }\n\n let path = joinPaths([parentPath, meta.relativePath]);\n let routesMeta = parentsMeta.concat(meta);\n\n // Add the children before adding this route to the array so we traverse the\n // route tree depth-first and child routes appear before their parents in\n // the \"flattened\" version.\n if (route.children && route.children.length > 0) {\n invariant(\n // Our types know better, but runtime JS may not!\n // @ts-expect-error\n route.index !== true,\n `Index routes must not have child routes. Please remove ` +\n `all child routes from route path \"${path}\".`\n );\n\n flattenRoutes(route.children, branches, routesMeta, path);\n }\n\n // Routes without a path shouldn't ever match by themselves unless they are\n // index routes, so don't add them to the list of possible branches.\n if (route.path == null && !route.index) {\n return;\n }\n\n branches.push({ path, score: computeScore(path, route.index), routesMeta });\n });\n\n return branches;\n}\n\nfunction rankRouteBranches(branches: RouteBranch[]): void {\n branches.sort((a, b) =>\n a.score !== b.score\n ? b.score - a.score // Higher score first\n : compareIndexes(\n a.routesMeta.map((meta) => meta.childrenIndex),\n b.routesMeta.map((meta) => meta.childrenIndex)\n )\n );\n}\n\nconst paramRe = /^:\\w+$/;\nconst dynamicSegmentValue = 3;\nconst indexRouteValue = 2;\nconst emptySegmentValue = 1;\nconst staticSegmentValue = 10;\nconst splatPenalty = -2;\nconst isSplat = (s: string) => s === \"*\";\n\nfunction computeScore(path: string, index: boolean | undefined): number {\n let segments = path.split(\"/\");\n let initialScore = segments.length;\n if (segments.some(isSplat)) {\n initialScore += splatPenalty;\n }\n\n if (index) {\n initialScore += indexRouteValue;\n }\n\n return segments\n .filter((s) => !isSplat(s))\n .reduce(\n (score, segment) =>\n score +\n (paramRe.test(segment)\n ? dynamicSegmentValue\n : segment === \"\"\n ? emptySegmentValue\n : staticSegmentValue),\n initialScore\n );\n}\n\nfunction compareIndexes(a: number[], b: number[]): number {\n let siblings =\n a.length === b.length && a.slice(0, -1).every((n, i) => n === b[i]);\n\n return siblings\n ? // If two routes are siblings, we should try to match the earlier sibling\n // first. This allows people to have fine-grained control over the matching\n // behavior by simply putting routes with identical paths in the order they\n // want them tried.\n a[a.length - 1] - b[b.length - 1]\n : // Otherwise, it doesn't really make sense to rank non-siblings by index,\n // so they sort equally.\n 0;\n}\n\nfunction matchRouteBranch<\n ParamKey extends string = string,\n RouteObjectType extends AgnosticRouteObject = AgnosticRouteObject\n>(\n branch: RouteBranch,\n pathname: string\n): AgnosticRouteMatch[] | null {\n let { routesMeta } = branch;\n\n let matchedParams = {};\n let matchedPathname = \"/\";\n let matches: AgnosticRouteMatch[] = [];\n for (let i = 0; i < routesMeta.length; ++i) {\n let meta = routesMeta[i];\n let end = i === routesMeta.length - 1;\n let remainingPathname =\n matchedPathname === \"/\"\n ? pathname\n : pathname.slice(matchedPathname.length) || \"/\";\n let match = matchPath(\n { path: meta.relativePath, caseSensitive: meta.caseSensitive, end },\n remainingPathname\n );\n\n if (!match) return null;\n\n Object.assign(matchedParams, match.params);\n\n let route = meta.route;\n\n matches.push({\n // TODO: Can this as be avoided?\n params: matchedParams as Params,\n pathname: joinPaths([matchedPathname, match.pathname]),\n pathnameBase: normalizePathname(\n joinPaths([matchedPathname, match.pathnameBase])\n ),\n route,\n });\n\n if (match.pathnameBase !== \"/\") {\n matchedPathname = joinPaths([matchedPathname, match.pathnameBase]);\n }\n }\n\n return matches;\n}\n\n/**\n * Returns a path with params interpolated.\n *\n * @see https://reactrouter.com/docs/en/v6/utils/generate-path\n */\nexport function generatePath(\n path: Path,\n params: {\n [key in PathParam]: string;\n } = {} as any\n): string {\n return path\n .replace(/:(\\w+)/g, (_, key: PathParam) => {\n invariant(params[key] != null, `Missing \":${key}\" param`);\n return params[key]!;\n })\n .replace(/(\\/?)\\*/, (_, prefix, __, str) => {\n const star = \"*\" as PathParam;\n\n if (params[star] == null) {\n // If no splat was provided, trim the trailing slash _unless_ it's\n // the entire path\n return str === \"/*\" ? \"/\" : \"\";\n }\n\n // Apply the splat\n return `${prefix}${params[star]}`;\n });\n}\n\n/**\n * A PathPattern is used to match on some portion of a URL pathname.\n */\nexport interface PathPattern {\n /**\n * A string to match against a URL pathname. May contain `:id`-style segments\n * to indicate placeholders for dynamic parameters. May also end with `/*` to\n * indicate matching the rest of the URL pathname.\n */\n path: Path;\n /**\n * Should be `true` if the static portions of the `path` should be matched in\n * the same case.\n */\n caseSensitive?: boolean;\n /**\n * Should be `true` if this pattern should match the entire URL pathname.\n */\n end?: boolean;\n}\n\n/**\n * A PathMatch contains info about how a PathPattern matched on a URL pathname.\n */\nexport interface PathMatch {\n /**\n * The names and values of dynamic parameters in the URL.\n */\n params: Params;\n /**\n * The portion of the URL pathname that was matched.\n */\n pathname: string;\n /**\n * The portion of the URL pathname that was matched before child routes.\n */\n pathnameBase: string;\n /**\n * The pattern that was used to match.\n */\n pattern: PathPattern;\n}\n\ntype Mutable = {\n -readonly [P in keyof T]: T[P];\n};\n\n/**\n * Performs pattern matching on a URL pathname and returns information about\n * the match.\n *\n * @see https://reactrouter.com/docs/en/v6/utils/match-path\n */\nexport function matchPath<\n ParamKey extends ParamParseKey,\n Path extends string\n>(\n pattern: PathPattern | Path,\n pathname: string\n): PathMatch | null {\n if (typeof pattern === \"string\") {\n pattern = { path: pattern, caseSensitive: false, end: true };\n }\n\n let [matcher, paramNames] = compilePath(\n pattern.path,\n pattern.caseSensitive,\n pattern.end\n );\n\n let match = pathname.match(matcher);\n if (!match) return null;\n\n let matchedPathname = match[0];\n let pathnameBase = matchedPathname.replace(/(.)\\/+$/, \"$1\");\n let captureGroups = match.slice(1);\n let params: Params = paramNames.reduce>(\n (memo, paramName, index) => {\n // We need to compute the pathnameBase here using the raw splat value\n // instead of using params[\"*\"] later because it will be decoded then\n if (paramName === \"*\") {\n let splatValue = captureGroups[index] || \"\";\n pathnameBase = matchedPathname\n .slice(0, matchedPathname.length - splatValue.length)\n .replace(/(.)\\/+$/, \"$1\");\n }\n\n memo[paramName] = safelyDecodeURIComponent(\n captureGroups[index] || \"\",\n paramName\n );\n return memo;\n },\n {}\n );\n\n return {\n params,\n pathname: matchedPathname,\n pathnameBase,\n pattern,\n };\n}\n\nfunction compilePath(\n path: string,\n caseSensitive = false,\n end = true\n): [RegExp, string[]] {\n warning(\n path === \"*\" || !path.endsWith(\"*\") || path.endsWith(\"/*\"),\n `Route path \"${path}\" will be treated as if it were ` +\n `\"${path.replace(/\\*$/, \"/*\")}\" because the \\`*\\` character must ` +\n `always follow a \\`/\\` in the pattern. To get rid of this warning, ` +\n `please change the route path to \"${path.replace(/\\*$/, \"/*\")}\".`\n );\n\n let paramNames: string[] = [];\n let regexpSource =\n \"^\" +\n path\n .replace(/\\/*\\*?$/, \"\") // Ignore trailing / and /*, we'll handle it below\n .replace(/^\\/*/, \"/\") // Make sure it has a leading /\n .replace(/[\\\\.*+^$?{}|()[\\]]/g, \"\\\\$&\") // Escape special regex chars\n .replace(/:(\\w+)/g, (_: string, paramName: string) => {\n paramNames.push(paramName);\n return \"([^\\\\/]+)\";\n });\n\n if (path.endsWith(\"*\")) {\n paramNames.push(\"*\");\n regexpSource +=\n path === \"*\" || path === \"/*\"\n ? \"(.*)$\" // Already matched the initial /, just match the rest\n : \"(?:\\\\/(.+)|\\\\/*)$\"; // Don't include the / in params[\"*\"]\n } else if (end) {\n // When matching to the end, ignore trailing slashes\n regexpSource += \"\\\\/*$\";\n } else if (path !== \"\" && path !== \"/\") {\n // If our path is non-empty and contains anything beyond an initial slash,\n // then we have _some_ form of path in our regex so we should expect to\n // match only if we find the end of this path segment. Look for an optional\n // non-captured trailing slash (to match a portion of the URL) or the end\n // of the path (if we've matched to the end). We used to do this with a\n // word boundary but that gives false positives on routes like\n // /user-preferences since `-` counts as a word boundary.\n regexpSource += \"(?:(?=\\\\/|$))\";\n } else {\n // Nothing to match for \"\" or \"/\"\n }\n\n let matcher = new RegExp(regexpSource, caseSensitive ? undefined : \"i\");\n\n return [matcher, paramNames];\n}\n\nfunction safelyDecodeURI(value: string) {\n try {\n return decodeURI(value);\n } catch (error) {\n warning(\n false,\n `The URL path \"${value}\" could not be decoded because it is is a ` +\n `malformed URL segment. This is probably due to a bad percent ` +\n `encoding (${error}).`\n );\n\n return value;\n }\n}\n\nfunction safelyDecodeURIComponent(value: string, paramName: string) {\n try {\n return decodeURIComponent(value);\n } catch (error) {\n warning(\n false,\n `The value for the URL param \"${paramName}\" will not be decoded because` +\n ` the string \"${value}\" is a malformed URL segment. This is probably` +\n ` due to a bad percent encoding (${error}).`\n );\n\n return value;\n }\n}\n\n/**\n * @private\n */\nexport function stripBasename(\n pathname: string,\n basename: string\n): string | null {\n if (basename === \"/\") return pathname;\n\n if (!pathname.toLowerCase().startsWith(basename.toLowerCase())) {\n return null;\n }\n\n // We want to leave trailing slash behavior in the user's control, so if they\n // specify a basename with a trailing slash, we should support it\n let startIndex = basename.endsWith(\"/\")\n ? basename.length - 1\n : basename.length;\n let nextChar = pathname.charAt(startIndex);\n if (nextChar && nextChar !== \"/\") {\n // pathname does not start with basename/\n return null;\n }\n\n return pathname.slice(startIndex) || \"/\";\n}\n\n/**\n * @private\n */\nexport function invariant(value: boolean, message?: string): asserts value;\nexport function invariant(\n value: T | null | undefined,\n message?: string\n): asserts value is T;\nexport function invariant(value: any, message?: string) {\n if (value === false || value === null || typeof value === \"undefined\") {\n throw new Error(message);\n }\n}\n\n/**\n * @private\n */\nexport function warning(cond: any, message: string): void {\n if (!cond) {\n // eslint-disable-next-line no-console\n if (typeof console !== \"undefined\") console.warn(message);\n\n try {\n // Welcome to debugging React Router!\n //\n // This error is thrown as a convenience so you can more easily\n // find the source for a warning that appears in the console by\n // enabling \"pause on exceptions\" in your JavaScript debugger.\n throw new Error(message);\n // eslint-disable-next-line no-empty\n } catch (e) {}\n }\n}\n\n/**\n * Returns a resolved path object relative to the given pathname.\n *\n * @see https://reactrouter.com/docs/en/v6/utils/resolve-path\n */\nexport function resolvePath(to: To, fromPathname = \"/\"): Path {\n let {\n pathname: toPathname,\n search = \"\",\n hash = \"\",\n } = typeof to === \"string\" ? parsePath(to) : to;\n\n let pathname = toPathname\n ? toPathname.startsWith(\"/\")\n ? toPathname\n : resolvePathname(toPathname, fromPathname)\n : fromPathname;\n\n return {\n pathname,\n search: normalizeSearch(search),\n hash: normalizeHash(hash),\n };\n}\n\nfunction resolvePathname(relativePath: string, fromPathname: string): string {\n let segments = fromPathname.replace(/\\/+$/, \"\").split(\"/\");\n let relativeSegments = relativePath.split(\"/\");\n\n relativeSegments.forEach((segment) => {\n if (segment === \"..\") {\n // Keep the root \"\" segment so the pathname starts at /\n if (segments.length > 1) segments.pop();\n } else if (segment !== \".\") {\n segments.push(segment);\n }\n });\n\n return segments.length > 1 ? segments.join(\"/\") : \"/\";\n}\n\nfunction getInvalidPathError(\n char: string,\n field: string,\n dest: string,\n path: Partial\n) {\n return (\n `Cannot include a '${char}' character in a manually specified ` +\n `\\`to.${field}\\` field [${JSON.stringify(\n path\n )}]. Please separate it out to the ` +\n `\\`to.${dest}\\` field. Alternatively you may provide the full path as ` +\n `a string in and the router will parse it for you.`\n );\n}\n\n/**\n * @private\n *\n * When processing relative navigation we want to ignore ancestor routes that\n * do not contribute to the path, such that index/pathless layout routes don't\n * interfere.\n *\n * For example, when moving a route element into an index route and/or a\n * pathless layout route, relative link behavior contained within should stay\n * the same. Both of the following examples should link back to the root:\n *\n * \n * \n * \n *\n * \n * \n * }> // <-- Does not contribute\n * // <-- Does not contribute\n * \n * \n */\nexport function getPathContributingMatches<\n T extends AgnosticRouteMatch = AgnosticRouteMatch\n>(matches: T[]) {\n return matches.filter(\n (match, index) =>\n index === 0 || (match.route.path && match.route.path.length > 0)\n );\n}\n\n/**\n * @private\n */\nexport function resolveTo(\n toArg: To,\n routePathnames: string[],\n locationPathname: string,\n isPathRelative = false\n): Path {\n let to: Partial;\n if (typeof toArg === \"string\") {\n to = parsePath(toArg);\n } else {\n to = { ...toArg };\n\n invariant(\n !to.pathname || !to.pathname.includes(\"?\"),\n getInvalidPathError(\"?\", \"pathname\", \"search\", to)\n );\n invariant(\n !to.pathname || !to.pathname.includes(\"#\"),\n getInvalidPathError(\"#\", \"pathname\", \"hash\", to)\n );\n invariant(\n !to.search || !to.search.includes(\"#\"),\n getInvalidPathError(\"#\", \"search\", \"hash\", to)\n );\n }\n\n let isEmptyPath = toArg === \"\" || to.pathname === \"\";\n let toPathname = isEmptyPath ? \"/\" : to.pathname;\n\n let from: string;\n\n // Routing is relative to the current pathname if explicitly requested.\n //\n // If a pathname is explicitly provided in `to`, it should be relative to the\n // route context. This is explained in `Note on `` values` in our\n // migration guide from v5 as a means of disambiguation between `to` values\n // that begin with `/` and those that do not. However, this is problematic for\n // `to` values that do not provide a pathname. `to` can simply be a search or\n // hash string, in which case we should assume that the navigation is relative\n // to the current location's pathname and *not* the route pathname.\n if (isPathRelative || toPathname == null) {\n from = locationPathname;\n } else {\n let routePathnameIndex = routePathnames.length - 1;\n\n if (toPathname.startsWith(\"..\")) {\n let toSegments = toPathname.split(\"/\");\n\n // Each leading .. segment means \"go up one route\" instead of \"go up one\n // URL segment\". This is a key difference from how works and a\n // major reason we call this a \"to\" value instead of a \"href\".\n while (toSegments[0] === \"..\") {\n toSegments.shift();\n routePathnameIndex -= 1;\n }\n\n to.pathname = toSegments.join(\"/\");\n }\n\n // If there are more \"..\" segments than parent routes, resolve relative to\n // the root / URL.\n from = routePathnameIndex >= 0 ? routePathnames[routePathnameIndex] : \"/\";\n }\n\n let path = resolvePath(to, from);\n\n // Ensure the pathname has a trailing slash if the original \"to\" had one\n let hasExplicitTrailingSlash =\n toPathname && toPathname !== \"/\" && toPathname.endsWith(\"/\");\n // Or if this was a link to the current path which has a trailing slash\n let hasCurrentTrailingSlash =\n (isEmptyPath || toPathname === \".\") && locationPathname.endsWith(\"/\");\n if (\n !path.pathname.endsWith(\"/\") &&\n (hasExplicitTrailingSlash || hasCurrentTrailingSlash)\n ) {\n path.pathname += \"/\";\n }\n\n return path;\n}\n\n/**\n * @private\n */\nexport function getToPathname(to: To): string | undefined {\n // Empty strings should be treated the same as / paths\n return to === \"\" || (to as Path).pathname === \"\"\n ? \"/\"\n : typeof to === \"string\"\n ? parsePath(to).pathname\n : to.pathname;\n}\n\n/**\n * @private\n */\nexport const joinPaths = (paths: string[]): string =>\n paths.join(\"/\").replace(/\\/\\/+/g, \"/\");\n\n/**\n * @private\n */\nexport const normalizePathname = (pathname: string): string =>\n pathname.replace(/\\/+$/, \"\").replace(/^\\/*/, \"/\");\n\n/**\n * @private\n */\nexport const normalizeSearch = (search: string): string =>\n !search || search === \"?\"\n ? \"\"\n : search.startsWith(\"?\")\n ? search\n : \"?\" + search;\n\n/**\n * @private\n */\nexport const normalizeHash = (hash: string): string =>\n !hash || hash === \"#\" ? \"\" : hash.startsWith(\"#\") ? hash : \"#\" + hash;\n\nexport type JsonFunction = (\n data: Data,\n init?: number | ResponseInit\n) => Response;\n\n/**\n * This is a shortcut for creating `application/json` responses. Converts `data`\n * to JSON and sets the `Content-Type` header.\n */\nexport const json: JsonFunction = (data, init = {}) => {\n let responseInit = typeof init === \"number\" ? { status: init } : init;\n\n let headers = new Headers(responseInit.headers);\n if (!headers.has(\"Content-Type\")) {\n headers.set(\"Content-Type\", \"application/json; charset=utf-8\");\n }\n\n return new Response(JSON.stringify(data), {\n ...responseInit,\n headers,\n });\n};\n\nexport interface TrackedPromise extends Promise {\n _tracked?: boolean;\n _data?: any;\n _error?: any;\n}\n\nexport class AbortedDeferredError extends Error {}\n\nexport class DeferredData {\n private pendingKeys: Set = new Set();\n private controller: AbortController;\n private abortPromise: Promise;\n private unlistenAbortSignal: () => void;\n private subscriber?: (aborted: boolean) => void = undefined;\n data: Record;\n\n constructor(data: Record) {\n invariant(\n data && typeof data === \"object\" && !Array.isArray(data),\n \"defer() only accepts plain objects\"\n );\n\n // Set up an AbortController + Promise we can race against to exit early\n // cancellation\n let reject: (e: AbortedDeferredError) => void;\n this.abortPromise = new Promise((_, r) => (reject = r));\n this.controller = new AbortController();\n let onAbort = () =>\n reject(new AbortedDeferredError(\"Deferred data aborted\"));\n this.unlistenAbortSignal = () =>\n this.controller.signal.removeEventListener(\"abort\", onAbort);\n this.controller.signal.addEventListener(\"abort\", onAbort);\n\n this.data = Object.entries(data).reduce(\n (acc, [key, value]) =>\n Object.assign(acc, {\n [key]: this.trackPromise(key, value),\n }),\n {}\n );\n }\n\n private trackPromise(\n key: string | number,\n value: Promise | unknown\n ): TrackedPromise | unknown {\n if (!(value instanceof Promise)) {\n return value;\n }\n\n this.pendingKeys.add(key);\n\n // We store a little wrapper promise that will be extended with\n // _data/_error props upon resolve/reject\n let promise: TrackedPromise = Promise.race([value, this.abortPromise]).then(\n (data) => this.onSettle(promise, key, null, data as unknown),\n (error) => this.onSettle(promise, key, error as unknown)\n );\n\n // Register rejection listeners to avoid uncaught promise rejections on\n // errors or aborted deferred values\n promise.catch(() => {});\n\n Object.defineProperty(promise, \"_tracked\", { get: () => true });\n return promise;\n }\n\n private onSettle(\n promise: TrackedPromise,\n key: string | number,\n error: unknown,\n data?: unknown\n ): unknown {\n if (\n this.controller.signal.aborted &&\n error instanceof AbortedDeferredError\n ) {\n this.unlistenAbortSignal();\n Object.defineProperty(promise, \"_error\", { get: () => error });\n return Promise.reject(error);\n }\n\n this.pendingKeys.delete(key);\n\n if (this.done) {\n // Nothing left to abort!\n this.unlistenAbortSignal();\n }\n\n const subscriber = this.subscriber;\n if (error) {\n Object.defineProperty(promise, \"_error\", { get: () => error });\n subscriber && subscriber(false);\n return Promise.reject(error);\n }\n\n Object.defineProperty(promise, \"_data\", { get: () => data });\n subscriber && subscriber(false);\n return data;\n }\n\n subscribe(fn: (aborted: boolean) => void) {\n this.subscriber = fn;\n }\n\n cancel() {\n this.controller.abort();\n this.pendingKeys.forEach((v, k) => this.pendingKeys.delete(k));\n let subscriber = this.subscriber;\n subscriber && subscriber(true);\n }\n\n async resolveData(signal: AbortSignal) {\n let aborted = false;\n if (!this.done) {\n let onAbort = () => this.cancel();\n signal.addEventListener(\"abort\", onAbort);\n aborted = await new Promise((resolve) => {\n this.subscribe((aborted) => {\n signal.removeEventListener(\"abort\", onAbort);\n if (aborted || this.done) {\n resolve(aborted);\n }\n });\n });\n }\n return aborted;\n }\n\n get done() {\n return this.pendingKeys.size === 0;\n }\n\n get unwrappedData() {\n invariant(\n this.data !== null && this.done,\n \"Can only unwrap data on initialized and settled deferreds\"\n );\n\n return Object.entries(this.data).reduce(\n (acc, [key, value]) =>\n Object.assign(acc, {\n [key]: unwrapTrackedPromise(value),\n }),\n {}\n );\n }\n}\n\nfunction isTrackedPromise(value: any): value is TrackedPromise {\n return (\n value instanceof Promise && (value as TrackedPromise)._tracked === true\n );\n}\n\nfunction unwrapTrackedPromise(value: any) {\n if (!isTrackedPromise(value)) {\n return value;\n }\n\n if (value._error) {\n throw value._error;\n }\n return value._data;\n}\n\nexport function defer(data: Record) {\n return new DeferredData(data);\n}\n\nexport type RedirectFunction = (\n url: string,\n init?: number | ResponseInit\n) => Response;\n\n/**\n * A redirect response. Sets the status code and the `Location` header.\n * Defaults to \"302 Found\".\n */\nexport const redirect: RedirectFunction = (url, init = 302) => {\n let responseInit = init;\n if (typeof responseInit === \"number\") {\n responseInit = { status: responseInit };\n } else if (typeof responseInit.status === \"undefined\") {\n responseInit.status = 302;\n }\n\n let headers = new Headers(responseInit.headers);\n headers.set(\"Location\", url);\n\n return new Response(null, {\n ...responseInit,\n headers,\n });\n};\n\n/**\n * @private\n * Utility class we use to hold auto-unwrapped 4xx/5xx Response bodies\n */\nexport class ErrorResponse {\n status: number;\n statusText: string;\n data: any;\n\n constructor(status: number, statusText: string | undefined, data: any) {\n this.status = status;\n this.statusText = statusText || \"\";\n this.data = data;\n }\n}\n\n/**\n * Check if the given error is an ErrorResponse generated from a 4xx/5xx\n * Response throw from an action/loader\n */\nexport function isRouteErrorResponse(e: any): e is ErrorResponse {\n return e instanceof ErrorResponse;\n}\n","import type { History, Location, To } from \"./history\";\nimport {\n Action as HistoryAction,\n createLocation,\n createPath,\n createURL,\n parsePath,\n} from \"./history\";\nimport type {\n DataResult,\n AgnosticDataRouteMatch,\n AgnosticDataRouteObject,\n DeferredResult,\n ErrorResult,\n FormEncType,\n FormMethod,\n RedirectResult,\n RouteData,\n AgnosticRouteObject,\n Submission,\n SuccessResult,\n AgnosticRouteMatch,\n} from \"./utils\";\nimport {\n DeferredData,\n ErrorResponse,\n ResultType,\n convertRoutesToDataRoutes,\n getPathContributingMatches,\n invariant,\n isRouteErrorResponse,\n joinPaths,\n matchRoutes,\n resolveTo,\n} from \"./utils\";\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Types and Constants\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * A Router instance manages all navigation and data loading/mutations\n */\nexport interface Router {\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Return the basename for the router\n */\n get basename(): RouterInit[\"basename\"];\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Return the current state of the router\n */\n get state(): RouterState;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Return the routes for this router instance\n */\n get routes(): AgnosticDataRouteObject[];\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Initialize the router, including adding history listeners and kicking off\n * initial data fetches. Returns a function to cleanup listeners and abort\n * any in-progress loads\n */\n initialize(): Router;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Subscribe to router.state updates\n *\n * @param fn function to call with the new state\n */\n subscribe(fn: RouterSubscriber): () => void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Enable scroll restoration behavior in the router\n *\n * @param savedScrollPositions Object that will manage positions, in case\n * it's being restored from sessionStorage\n * @param getScrollPosition Function to get the active Y scroll position\n * @param getKey Function to get the key to use for restoration\n */\n enableScrollRestoration(\n savedScrollPositions: Record,\n getScrollPosition: GetScrollPositionFunction,\n getKey?: GetScrollRestorationKeyFunction\n ): () => void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Navigate forward/backward in the history stack\n * @param to Delta to move in the history stack\n */\n navigate(to: number): void;\n\n /**\n * Navigate to the given path\n * @param to Path to navigate to\n * @param opts Navigation options (method, submission, etc.)\n */\n navigate(to: To, opts?: RouterNavigateOptions): void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Trigger a fetcher load/submission\n *\n * @param key Fetcher key\n * @param routeId Route that owns the fetcher\n * @param href href to fetch\n * @param opts Fetcher options, (method, submission, etc.)\n */\n fetch(\n key: string,\n routeId: string,\n href: string,\n opts?: RouterNavigateOptions\n ): void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Trigger a revalidation of all current route loaders and fetcher loads\n */\n revalidate(): void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Utility function to create an href for the given location\n * @param location\n */\n createHref(location: Location | URL): string;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Get/create a fetcher for the given key\n * @param key\n */\n getFetcher(key?: string): Fetcher;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Delete the fetcher for a given key\n * @param key\n */\n deleteFetcher(key?: string): void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Cleanup listeners and abort any in-progress loads\n */\n dispose(): void;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Internal fetch AbortControllers accessed by unit tests\n */\n _internalFetchControllers: Map;\n\n /**\n * @internal\n * PRIVATE - DO NOT USE\n *\n * Internal pending DeferredData instances accessed by unit tests\n */\n _internalActiveDeferreds: Map;\n}\n\n/**\n * State maintained internally by the router. During a navigation, all states\n * reflect the the \"old\" location unless otherwise noted.\n */\nexport interface RouterState {\n /**\n * The action of the most recent navigation\n */\n historyAction: HistoryAction;\n\n /**\n * The current location reflected by the router\n */\n location: Location;\n\n /**\n * The current set of route matches\n */\n matches: AgnosticDataRouteMatch[];\n\n /**\n * Tracks whether we've completed our initial data load\n */\n initialized: boolean;\n\n /**\n * Current scroll position we should start at for a new view\n * - number -> scroll position to restore to\n * - false -> do not restore scroll at all (used during submissions)\n * - null -> don't have a saved position, scroll to hash or top of page\n */\n restoreScrollPosition: number | false | null;\n\n /**\n * Indicate whether this navigation should skip resetting the scroll position\n * if we are unable to restore the scroll position\n */\n preventScrollReset: boolean;\n\n /**\n * Tracks the state of the current navigation\n */\n navigation: Navigation;\n\n /**\n * Tracks any in-progress revalidations\n */\n revalidation: RevalidationState;\n\n /**\n * Data from the loaders for the current matches\n */\n loaderData: RouteData;\n\n /**\n * Data from the action for the current matches\n */\n actionData: RouteData | null;\n\n /**\n * Errors caught from loaders for the current matches\n */\n errors: RouteData | null;\n\n /**\n * Map of current fetchers\n */\n fetchers: Map;\n}\n\n/**\n * Data that can be passed into hydrate a Router from SSR\n */\nexport type HydrationState = Partial<\n Pick\n>;\n\n/**\n * Initialization options for createRouter\n */\nexport interface RouterInit {\n basename?: string;\n routes: AgnosticRouteObject[];\n history: History;\n hydrationData?: HydrationState;\n}\n\n/**\n * State returned from a server-side query() call\n */\nexport interface StaticHandlerContext {\n location: RouterState[\"location\"];\n matches: RouterState[\"matches\"];\n loaderData: RouterState[\"loaderData\"];\n actionData: RouterState[\"actionData\"];\n errors: RouterState[\"errors\"];\n statusCode: number;\n loaderHeaders: Record;\n actionHeaders: Record;\n _deepestRenderedBoundaryId?: string | null;\n}\n\n/**\n * A StaticHandler instance manages a singular SSR navigation/fetch event\n */\nexport interface StaticHandler {\n dataRoutes: AgnosticDataRouteObject[];\n query(request: Request): Promise;\n queryRoute(request: Request, routeId?: string): Promise;\n}\n\n/**\n * Subscriber function signature for changes to router state\n */\nexport interface RouterSubscriber {\n (state: RouterState): void;\n}\n\ninterface UseMatchesMatch {\n id: string;\n pathname: string;\n params: AgnosticRouteMatch[\"params\"];\n data: unknown;\n handle: unknown;\n}\n\n/**\n * Function signature for determining the key to be used in scroll restoration\n * for a given location\n */\nexport interface GetScrollRestorationKeyFunction {\n (location: Location, matches: UseMatchesMatch[]): string | null;\n}\n\n/**\n * Function signature for determining the current scroll position\n */\nexport interface GetScrollPositionFunction {\n (): number;\n}\n\n/**\n * Options for a navigate() call for a Link navigation\n */\ntype LinkNavigateOptions = {\n replace?: boolean;\n state?: any;\n preventScrollReset?: boolean;\n};\n\n/**\n * Options for a navigate() call for a Form navigation\n */\ntype SubmissionNavigateOptions = {\n replace?: boolean;\n state?: any;\n formMethod?: FormMethod;\n formEncType?: FormEncType;\n formData: FormData;\n};\n\n/**\n * Options to pass to navigate() for either a Link or Form navigation\n */\nexport type RouterNavigateOptions =\n | LinkNavigateOptions\n | SubmissionNavigateOptions;\n\n/**\n * Options to pass to fetch()\n */\nexport type RouterFetchOptions =\n | Omit\n | Omit;\n\n/**\n * Potential states for state.navigation\n */\nexport type NavigationStates = {\n Idle: {\n state: \"idle\";\n location: undefined;\n formMethod: undefined;\n formAction: undefined;\n formEncType: undefined;\n formData: undefined;\n };\n Loading: {\n state: \"loading\";\n location: Location;\n formMethod: FormMethod | undefined;\n formAction: string | undefined;\n formEncType: FormEncType | undefined;\n formData: FormData | undefined;\n };\n Submitting: {\n state: \"submitting\";\n location: Location;\n formMethod: FormMethod;\n formAction: string;\n formEncType: FormEncType;\n formData: FormData;\n };\n};\n\nexport type Navigation = NavigationStates[keyof NavigationStates];\n\nexport type RevalidationState = \"idle\" | \"loading\";\n\n/**\n * Potential states for fetchers\n */\ntype FetcherStates = {\n Idle: {\n state: \"idle\";\n formMethod: undefined;\n formAction: undefined;\n formEncType: undefined;\n formData: undefined;\n data: TData | undefined;\n };\n Loading: {\n state: \"loading\";\n formMethod: FormMethod | undefined;\n formAction: string | undefined;\n formEncType: FormEncType | undefined;\n formData: FormData | undefined;\n data: TData | undefined;\n };\n Submitting: {\n state: \"submitting\";\n formMethod: FormMethod;\n formAction: string;\n formEncType: FormEncType;\n formData: FormData;\n data: TData | undefined;\n };\n};\n\nexport type Fetcher =\n FetcherStates[keyof FetcherStates];\n\ninterface ShortCircuitable {\n /**\n * startNavigation does not need to complete the navigation because we\n * redirected or got interrupted\n */\n shortCircuited?: boolean;\n}\n\ninterface HandleActionResult extends ShortCircuitable {\n /**\n * Error thrown from the current action, keyed by the route containing the\n * error boundary to render the error. To be committed to the state after\n * loaders have completed\n */\n pendingActionError?: RouteData;\n /**\n * Data returned from the current action, keyed by the route owning the action.\n * To be committed to the state after loaders have completed\n */\n pendingActionData?: RouteData;\n}\n\ninterface HandleLoadersResult extends ShortCircuitable {\n /**\n * loaderData returned from the current set of loaders\n */\n loaderData?: RouterState[\"loaderData\"];\n /**\n * errors thrown from the current set of loaders\n */\n errors?: RouterState[\"errors\"];\n}\n\n/**\n * Tuple of [key, href, DataRouteMatch, DataRouteMatch[]] for a revalidating\n * fetcher.load()\n */\ntype RevalidatingFetcher = [\n string,\n string,\n AgnosticDataRouteMatch,\n AgnosticDataRouteMatch[]\n];\n\n/**\n * Tuple of [href, DataRouteMatch, DataRouteMatch[]] for an active\n * fetcher.load()\n */\ntype FetchLoadMatch = [\n string,\n AgnosticDataRouteMatch,\n AgnosticDataRouteMatch[]\n];\n\n/**\n * Wrapper object to allow us to throw any response out from callLoaderOrAction\n * for queryRouter while preserving whether or not it was thrown or returned\n * from the loader/action\n */\ninterface QueryRouteResponse {\n type: ResultType.data | ResultType.error;\n response: Response;\n}\n\nexport const IDLE_NAVIGATION: NavigationStates[\"Idle\"] = {\n state: \"idle\",\n location: undefined,\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n};\n\nexport const IDLE_FETCHER: FetcherStates[\"Idle\"] = {\n state: \"idle\",\n data: undefined,\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n};\n\nconst isBrowser =\n typeof window !== \"undefined\" &&\n typeof window.document !== \"undefined\" &&\n typeof window.document.createElement !== \"undefined\";\nconst isServer = !isBrowser;\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region createRouter\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Create a router and listen to history POP navigations\n */\nexport function createRouter(init: RouterInit): Router {\n invariant(\n init.routes.length > 0,\n \"You must provide a non-empty routes array to createRouter\"\n );\n\n let dataRoutes = convertRoutesToDataRoutes(init.routes);\n // Cleanup function for history\n let unlistenHistory: (() => void) | null = null;\n // Externally-provided functions to call on all state changes\n let subscribers = new Set();\n // Externally-provided object to hold scroll restoration locations during routing\n let savedScrollPositions: Record | null = null;\n // Externally-provided function to get scroll restoration keys\n let getScrollRestorationKey: GetScrollRestorationKeyFunction | null = null;\n // Externally-provided function to get current scroll position\n let getScrollPosition: GetScrollPositionFunction | null = null;\n // One-time flag to control the initial hydration scroll restoration. Because\n // we don't get the saved positions from until _after_\n // the initial render, we need to manually trigger a separate updateState to\n // send along the restoreScrollPosition\n let initialScrollRestored = false;\n\n let initialMatches = matchRoutes(\n dataRoutes,\n init.history.location,\n init.basename\n );\n let initialErrors: RouteData | null = null;\n\n if (initialMatches == null) {\n // If we do not match a user-provided-route, fall back to the root\n // to allow the error boundary to take over\n let { matches, route, error } = getNotFoundMatches(dataRoutes);\n initialMatches = matches;\n initialErrors = { [route.id]: error };\n }\n\n let initialized =\n !initialMatches.some((m) => m.route.loader) || init.hydrationData != null;\n\n let router: Router;\n let state: RouterState = {\n historyAction: init.history.action,\n location: init.history.location,\n matches: initialMatches,\n initialized,\n navigation: IDLE_NAVIGATION,\n restoreScrollPosition: null,\n preventScrollReset: false,\n revalidation: \"idle\",\n loaderData: (init.hydrationData && init.hydrationData.loaderData) || {},\n actionData: (init.hydrationData && init.hydrationData.actionData) || null,\n errors: (init.hydrationData && init.hydrationData.errors) || initialErrors,\n fetchers: new Map(),\n };\n\n // -- Stateful internal variables to manage navigations --\n // Current navigation in progress (to be committed in completeNavigation)\n let pendingAction: HistoryAction = HistoryAction.Pop;\n // Should the current navigation prevent the scroll reset if scroll cannot\n // be restored?\n let pendingPreventScrollReset = false;\n // AbortController for the active navigation\n let pendingNavigationController: AbortController | null;\n // We use this to avoid touching history in completeNavigation if a\n // revalidation is entirely uninterrupted\n let isUninterruptedRevalidation = false;\n // Use this internal flag to force revalidation of all loaders:\n // - submissions (completed or interrupted)\n // - useRevalidate()\n // - X-Remix-Revalidate (from redirect)\n let isRevalidationRequired = false;\n // Use this internal array to capture routes that require revalidation due\n // to a cancelled deferred on action submission\n let cancelledDeferredRoutes: string[] = [];\n // Use this internal array to capture fetcher loads that were cancelled by an\n // action navigation and require revalidation\n let cancelledFetcherLoads: string[] = [];\n // AbortControllers for any in-flight fetchers\n let fetchControllers = new Map();\n // Track loads based on the order in which they started\n let incrementingLoadId = 0;\n // Track the outstanding pending navigation data load to be compared against\n // the globally incrementing load when a fetcher load lands after a completed\n // navigation\n let pendingNavigationLoadId = -1;\n // Fetchers that triggered data reloads as a result of their actions\n let fetchReloadIds = new Map();\n // Fetchers that triggered redirect navigations from their actions\n let fetchRedirectIds = new Set();\n // Most recent href/match for fetcher.load calls for fetchers\n let fetchLoadMatches = new Map();\n // Store DeferredData instances for active route matches. When a\n // route loader returns defer() we stick one in here. Then, when a nested\n // promise resolves we update loaderData. If a new navigation starts we\n // cancel active deferreds for eliminated routes.\n let activeDeferreds = new Map();\n\n // Initialize the router, all side effects should be kicked off from here.\n // Implemented as a Fluent API for ease of:\n // let router = createRouter(init).initialize();\n function initialize() {\n // If history informs us of a POP navigation, start the navigation but do not update\n // state. We'll update our own state once the navigation completes\n unlistenHistory = init.history.listen(\n ({ action: historyAction, location }) =>\n startNavigation(historyAction, location)\n );\n\n // Kick off initial data load if needed. Use Pop to avoid modifying history\n if (!state.initialized) {\n startNavigation(HistoryAction.Pop, state.location);\n }\n\n return router;\n }\n\n // Clean up a router and it's side effects\n function dispose() {\n if (unlistenHistory) {\n unlistenHistory();\n }\n subscribers.clear();\n pendingNavigationController && pendingNavigationController.abort();\n state.fetchers.forEach((_, key) => deleteFetcher(key));\n }\n\n // Subscribe to state updates for the router\n function subscribe(fn: RouterSubscriber) {\n subscribers.add(fn);\n return () => subscribers.delete(fn);\n }\n\n // Update our state and notify the calling context of the change\n function updateState(newState: Partial): void {\n state = {\n ...state,\n ...newState,\n };\n subscribers.forEach((subscriber) => subscriber(state));\n }\n\n // Complete a navigation returning the state.navigation back to the IDLE_NAVIGATION\n // and setting state.[historyAction/location/matches] to the new route.\n // - Location is a required param\n // - Navigation will always be set to IDLE_NAVIGATION\n // - Can pass any other state in newState\n function completeNavigation(\n location: Location,\n newState: Partial>\n ): void {\n // Deduce if we're in a loading/actionReload state:\n // - We have committed actionData in the store\n // - The current navigation was a submission\n // - We're past the submitting state and into the loading state\n // - The location we've finished loading is different from the submission\n // location, indicating we redirected from the action (avoids false\n // positives for loading/submissionRedirect when actionData returned\n // on a prior submission)\n let isActionReload =\n state.actionData != null &&\n state.navigation.formMethod != null &&\n state.navigation.state === \"loading\" &&\n state.navigation.formAction?.split(\"?\")[0] === location.pathname;\n\n // Always preserve any existing loaderData from re-used routes\n let newLoaderData = newState.loaderData\n ? {\n loaderData: mergeLoaderData(\n state.loaderData,\n newState.loaderData,\n newState.matches || []\n ),\n }\n : {};\n\n updateState({\n // Clear existing actionData on any completed navigation beyond the original\n // action, unless we're currently finishing the loading/actionReload state.\n // Do this prior to spreading in newState in case we got back to back actions\n ...(isActionReload ? {} : { actionData: null }),\n ...newState,\n ...newLoaderData,\n historyAction: pendingAction,\n location,\n initialized: true,\n navigation: IDLE_NAVIGATION,\n revalidation: \"idle\",\n // Don't restore on submission navigations\n restoreScrollPosition: state.navigation.formData\n ? false\n : getSavedScrollPosition(location, newState.matches || state.matches),\n preventScrollReset: pendingPreventScrollReset,\n });\n\n if (isUninterruptedRevalidation) {\n // If this was an uninterrupted revalidation then do not touch history\n } else if (pendingAction === HistoryAction.Pop) {\n // Do nothing for POP - URL has already been updated\n } else if (pendingAction === HistoryAction.Push) {\n init.history.push(location, location.state);\n } else if (pendingAction === HistoryAction.Replace) {\n init.history.replace(location, location.state);\n }\n\n // Reset stateful navigation vars\n pendingAction = HistoryAction.Pop;\n pendingPreventScrollReset = false;\n isUninterruptedRevalidation = false;\n isRevalidationRequired = false;\n cancelledDeferredRoutes = [];\n cancelledFetcherLoads = [];\n }\n\n // Trigger a navigation event, which can either be a numerical POP or a PUSH\n // replace with an optional submission\n async function navigate(\n to: number | To,\n opts?: RouterNavigateOptions\n ): Promise {\n if (typeof to === \"number\") {\n init.history.go(to);\n return;\n }\n\n let { path, submission, error } = normalizeNavigateOptions(to, opts);\n\n let location = createLocation(state.location, path, opts && opts.state);\n\n // When using navigate as a PUSH/REPLACE we aren't reading an already-encoded\n // URL from window.location, so we need to encode it here so the behavior\n // remains the same as POP and non-data-router usages. new URL() does all\n // the same encoding we'd get from a history.pushState/window.location read\n // without having to touch history\n location = init.history.encodeLocation(location);\n\n let historyAction =\n (opts && opts.replace) === true || submission != null\n ? HistoryAction.Replace\n : HistoryAction.Push;\n let preventScrollReset =\n opts && \"preventScrollReset\" in opts\n ? opts.preventScrollReset === true\n : undefined;\n\n return await startNavigation(historyAction, location, {\n submission,\n // Send through the formData serialization error if we have one so we can\n // render at the right error boundary after we match routes\n pendingError: error,\n preventScrollReset,\n replace: opts && opts.replace,\n });\n }\n\n // Revalidate all current loaders. If a navigation is in progress or if this\n // is interrupted by a navigation, allow this to \"succeed\" by calling all\n // loaders during the next loader round\n function revalidate() {\n interruptActiveLoads();\n updateState({ revalidation: \"loading\" });\n\n // If we're currently submitting an action, we don't need to start a new\n // navigation, we'll just let the follow up loader execution call all loaders\n if (state.navigation.state === \"submitting\") {\n return;\n }\n\n // If we're currently in an idle state, start a new navigation for the current\n // action/location and mark it as uninterrupted, which will skip the history\n // update in completeNavigation\n if (state.navigation.state === \"idle\") {\n startNavigation(state.historyAction, state.location, {\n startUninterruptedRevalidation: true,\n });\n return;\n }\n\n // Otherwise, if we're currently in a loading state, just start a new\n // navigation to the navigation.location but do not trigger an uninterrupted\n // revalidation so that history correctly updates once the navigation completes\n startNavigation(\n pendingAction || state.historyAction,\n state.navigation.location,\n { overrideNavigation: state.navigation }\n );\n }\n\n // Start a navigation to the given action/location. Can optionally provide a\n // overrideNavigation which will override the normalLoad in the case of a redirect\n // navigation\n async function startNavigation(\n historyAction: HistoryAction,\n location: Location,\n opts?: {\n submission?: Submission;\n overrideNavigation?: Navigation;\n pendingError?: ErrorResponse;\n startUninterruptedRevalidation?: boolean;\n preventScrollReset?: boolean;\n replace?: boolean;\n }\n ): Promise {\n // Abort any in-progress navigations and start a new one. Unset any ongoing\n // uninterrupted revalidations unless told otherwise, since we want this\n // new navigation to update history normally\n pendingNavigationController && pendingNavigationController.abort();\n pendingNavigationController = null;\n pendingAction = historyAction;\n isUninterruptedRevalidation =\n (opts && opts.startUninterruptedRevalidation) === true;\n\n // Save the current scroll position every time we start a new navigation,\n // and track whether we should reset scroll on completion\n saveScrollPosition(state.location, state.matches);\n pendingPreventScrollReset = (opts && opts.preventScrollReset) === true;\n\n let loadingNavigation = opts && opts.overrideNavigation;\n let matches = matchRoutes(dataRoutes, location, init.basename);\n\n // Short circuit with a 404 on the root error boundary if we match nothing\n if (!matches) {\n let {\n matches: notFoundMatches,\n route,\n error,\n } = getNotFoundMatches(dataRoutes);\n // Cancel all pending deferred on 404s since we don't keep any routes\n cancelActiveDeferreds();\n completeNavigation(location, {\n matches: notFoundMatches,\n loaderData: {},\n errors: {\n [route.id]: error,\n },\n });\n return;\n }\n\n // Short circuit if it's only a hash change\n if (isHashChangeOnly(state.location, location)) {\n completeNavigation(location, { matches });\n return;\n }\n\n // Create a controller/Request for this navigation\n pendingNavigationController = new AbortController();\n let request = createRequest(\n location,\n pendingNavigationController.signal,\n opts && opts.submission\n );\n let pendingActionData: RouteData | undefined;\n let pendingError: RouteData | undefined;\n\n if (opts && opts.pendingError) {\n // If we have a pendingError, it means the user attempted a GET submission\n // with binary FormData so assign here and skip to handleLoaders. That\n // way we handle calling loaders above the boundary etc. It's not really\n // different from an actionError in that sense.\n pendingError = {\n [findNearestBoundary(matches).route.id]: opts.pendingError,\n };\n } else if (opts && opts.submission) {\n // Call action if we received an action submission\n let actionOutput = await handleAction(\n request,\n location,\n opts.submission,\n matches,\n { replace: opts.replace }\n );\n\n if (actionOutput.shortCircuited) {\n return;\n }\n\n pendingActionData = actionOutput.pendingActionData;\n pendingError = actionOutput.pendingActionError;\n\n let navigation: NavigationStates[\"Loading\"] = {\n state: \"loading\",\n location,\n ...opts.submission,\n };\n loadingNavigation = navigation;\n }\n\n // Call loaders\n let { shortCircuited, loaderData, errors } = await handleLoaders(\n request,\n location,\n matches,\n loadingNavigation,\n opts && opts.submission,\n opts && opts.replace,\n pendingActionData,\n pendingError\n );\n\n if (shortCircuited) {\n return;\n }\n\n // Clean up now that the action/loaders have completed. Don't clean up if\n // we short circuited because pendingNavigationController will have already\n // been assigned to a new controller for the next navigation\n pendingNavigationController = null;\n\n completeNavigation(location, {\n matches,\n loaderData,\n errors,\n });\n }\n\n // Call the action matched by the leaf route for this navigation and handle\n // redirects/errors\n async function handleAction(\n request: Request,\n location: Location,\n submission: Submission,\n matches: AgnosticDataRouteMatch[],\n opts?: { replace?: boolean }\n ): Promise {\n interruptActiveLoads();\n\n // Put us in a submitting state\n let navigation: NavigationStates[\"Submitting\"] = {\n state: \"submitting\",\n location,\n ...submission,\n };\n updateState({ navigation });\n\n // Call our action and get the result\n let result: DataResult;\n let actionMatch = getTargetMatch(matches, location);\n\n if (!actionMatch.route.action) {\n result = getMethodNotAllowedResult(location);\n } else {\n result = await callLoaderOrAction(\n \"action\",\n request,\n actionMatch,\n matches,\n router.basename\n );\n\n if (request.signal.aborted) {\n return { shortCircuited: true };\n }\n }\n\n if (isRedirectResult(result)) {\n let redirectNavigation: NavigationStates[\"Loading\"] = {\n state: \"loading\",\n location: createLocation(state.location, result.location),\n ...submission,\n };\n await startRedirectNavigation(\n result,\n redirectNavigation,\n opts && opts.replace\n );\n return { shortCircuited: true };\n }\n\n if (isErrorResult(result)) {\n // Store off the pending error - we use it to determine which loaders\n // to call and will commit it when we complete the navigation\n let boundaryMatch = findNearestBoundary(matches, actionMatch.route.id);\n\n // By default, all submissions are REPLACE navigations, but if the\n // action threw an error that'll be rendered in an errorElement, we fall\n // back to PUSH so that the user can use the back button to get back to\n // the pre-submission form location to try again\n if ((opts && opts.replace) !== true) {\n pendingAction = HistoryAction.Push;\n }\n\n return {\n pendingActionError: { [boundaryMatch.route.id]: result.error },\n };\n }\n\n if (isDeferredResult(result)) {\n throw new Error(\"defer() is not supported in actions\");\n }\n\n return {\n pendingActionData: { [actionMatch.route.id]: result.data },\n };\n }\n\n // Call all applicable loaders for the given matches, handling redirects,\n // errors, etc.\n async function handleLoaders(\n request: Request,\n location: Location,\n matches: AgnosticDataRouteMatch[],\n overrideNavigation?: Navigation,\n submission?: Submission,\n replace?: boolean,\n pendingActionData?: RouteData,\n pendingError?: RouteData\n ): Promise {\n // Figure out the right navigation we want to use for data loading\n let loadingNavigation = overrideNavigation;\n if (!loadingNavigation) {\n let navigation: NavigationStates[\"Loading\"] = {\n state: \"loading\",\n location,\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n };\n loadingNavigation = navigation;\n }\n\n let [matchesToLoad, revalidatingFetchers] = getMatchesToLoad(\n state,\n matches,\n submission,\n location,\n isRevalidationRequired,\n cancelledDeferredRoutes,\n cancelledFetcherLoads,\n pendingActionData,\n pendingError,\n fetchLoadMatches\n );\n\n // Cancel pending deferreds for no-longer-matched routes or routes we're\n // about to reload. Note that if this is an action reload we would have\n // already cancelled all pending deferreds so this would be a no-op\n cancelActiveDeferreds(\n (routeId) =>\n !(matches && matches.some((m) => m.route.id === routeId)) ||\n (matchesToLoad && matchesToLoad.some((m) => m.route.id === routeId))\n );\n\n // Short circuit if we have no loaders to run\n if (matchesToLoad.length === 0 && revalidatingFetchers.length === 0) {\n completeNavigation(location, {\n matches,\n loaderData: mergeLoaderData(state.loaderData, {}, matches),\n // Commit pending error if we're short circuiting\n errors: pendingError || null,\n actionData: pendingActionData || null,\n });\n return { shortCircuited: true };\n }\n\n // If this is an uninterrupted revalidation, we remain in our current idle\n // state. If not, we need to switch to our loading state and load data,\n // preserving any new action data or existing action data (in the case of\n // a revalidation interrupting an actionReload)\n if (!isUninterruptedRevalidation) {\n revalidatingFetchers.forEach(([key]) => {\n let fetcher = state.fetchers.get(key);\n let revalidatingFetcher: FetcherStates[\"Loading\"] = {\n state: \"loading\",\n data: fetcher && fetcher.data,\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n };\n state.fetchers.set(key, revalidatingFetcher);\n });\n updateState({\n navigation: loadingNavigation,\n actionData: pendingActionData || state.actionData || null,\n ...(revalidatingFetchers.length > 0\n ? { fetchers: new Map(state.fetchers) }\n : {}),\n });\n }\n\n pendingNavigationLoadId = ++incrementingLoadId;\n revalidatingFetchers.forEach(([key]) =>\n fetchControllers.set(key, pendingNavigationController!)\n );\n\n let { results, loaderResults, fetcherResults } =\n await callLoadersAndMaybeResolveData(\n state.matches,\n matches,\n matchesToLoad,\n revalidatingFetchers,\n request\n );\n\n if (request.signal.aborted) {\n return { shortCircuited: true };\n }\n\n // Clean up _after_ loaders have completed. Don't clean up if we short\n // circuited because fetchControllers would have been aborted and\n // reassigned to new controllers for the next navigation\n revalidatingFetchers.forEach(([key]) => fetchControllers.delete(key));\n\n // If any loaders returned a redirect Response, start a new REPLACE navigation\n let redirect = findRedirect(results);\n if (redirect) {\n let redirectNavigation = getLoaderRedirect(state, redirect);\n await startRedirectNavigation(redirect, redirectNavigation, replace);\n return { shortCircuited: true };\n }\n\n // Process and commit output from loaders\n let { loaderData, errors } = processLoaderData(\n state,\n matches,\n matchesToLoad,\n loaderResults,\n pendingError,\n revalidatingFetchers,\n fetcherResults,\n activeDeferreds\n );\n\n // Wire up subscribers to update loaderData as promises settle\n activeDeferreds.forEach((deferredData, routeId) => {\n deferredData.subscribe((aborted) => {\n // Note: No need to updateState here since the TrackedPromise on\n // loaderData is stable across resolve/reject\n // Remove this instance if we were aborted or if promises have settled\n if (aborted || deferredData.done) {\n activeDeferreds.delete(routeId);\n }\n });\n });\n\n markFetchRedirectsDone();\n let didAbortFetchLoads = abortStaleFetchLoads(pendingNavigationLoadId);\n\n return {\n loaderData,\n errors,\n ...(didAbortFetchLoads || revalidatingFetchers.length > 0\n ? { fetchers: new Map(state.fetchers) }\n : {}),\n };\n }\n\n function getFetcher(key: string): Fetcher {\n return state.fetchers.get(key) || IDLE_FETCHER;\n }\n\n // Trigger a fetcher load/submit for the given fetcher key\n function fetch(\n key: string,\n routeId: string,\n href: string,\n opts?: RouterFetchOptions\n ) {\n if (isServer) {\n throw new Error(\n \"router.fetch() was called during the server render, but it shouldn't be. \" +\n \"You are likely calling a useFetcher() method in the body of your component. \" +\n \"Try moving it to a useEffect or a callback.\"\n );\n }\n\n if (fetchControllers.has(key)) abortFetcher(key);\n\n let matches = matchRoutes(dataRoutes, href, init.basename);\n if (!matches) {\n setFetcherError(key, routeId, new ErrorResponse(404, \"Not Found\", null));\n return;\n }\n\n let { path, submission } = normalizeNavigateOptions(href, opts, true);\n let match = getTargetMatch(matches, path);\n\n if (submission) {\n handleFetcherAction(key, routeId, path, match, matches, submission);\n return;\n }\n\n // Store off the match so we can call it's shouldRevalidate on subsequent\n // revalidations\n fetchLoadMatches.set(key, [path, match, matches]);\n handleFetcherLoader(key, routeId, path, match, matches);\n }\n\n // Call the action for the matched fetcher.submit(), and then handle redirects,\n // errors, and revalidation\n async function handleFetcherAction(\n key: string,\n routeId: string,\n path: string,\n match: AgnosticDataRouteMatch,\n requestMatches: AgnosticDataRouteMatch[],\n submission: Submission\n ) {\n interruptActiveLoads();\n fetchLoadMatches.delete(key);\n\n if (!match.route.action) {\n let { error } = getMethodNotAllowedResult(path);\n setFetcherError(key, routeId, error);\n return;\n }\n\n // Put this fetcher into it's submitting state\n let existingFetcher = state.fetchers.get(key);\n let fetcher: FetcherStates[\"Submitting\"] = {\n state: \"submitting\",\n ...submission,\n data: existingFetcher && existingFetcher.data,\n };\n state.fetchers.set(key, fetcher);\n updateState({ fetchers: new Map(state.fetchers) });\n\n // Call the action for the fetcher\n let abortController = new AbortController();\n let fetchRequest = createRequest(path, abortController.signal, submission);\n fetchControllers.set(key, abortController);\n\n let actionResult = await callLoaderOrAction(\n \"action\",\n fetchRequest,\n match,\n requestMatches,\n router.basename\n );\n\n if (fetchRequest.signal.aborted) {\n // We can delete this so long as we weren't aborted by ou our own fetcher\n // re-submit which would have put _new_ controller is in fetchControllers\n if (fetchControllers.get(key) === abortController) {\n fetchControllers.delete(key);\n }\n return;\n }\n\n if (isRedirectResult(actionResult)) {\n fetchControllers.delete(key);\n fetchRedirectIds.add(key);\n let loadingFetcher: FetcherStates[\"Loading\"] = {\n state: \"loading\",\n ...submission,\n data: undefined,\n };\n state.fetchers.set(key, loadingFetcher);\n updateState({ fetchers: new Map(state.fetchers) });\n\n let redirectNavigation: NavigationStates[\"Loading\"] = {\n state: \"loading\",\n location: createLocation(state.location, actionResult.location),\n ...submission,\n };\n await startRedirectNavigation(actionResult, redirectNavigation);\n return;\n }\n\n // Process any non-redirect errors thrown\n if (isErrorResult(actionResult)) {\n setFetcherError(key, routeId, actionResult.error);\n return;\n }\n\n if (isDeferredResult(actionResult)) {\n invariant(false, \"defer() is not supported in actions\");\n }\n\n // Start the data load for current matches, or the next location if we're\n // in the middle of a navigation\n let nextLocation = state.navigation.location || state.location;\n let revalidationRequest = createRequest(\n nextLocation,\n abortController.signal\n );\n let matches =\n state.navigation.state !== \"idle\"\n ? matchRoutes(dataRoutes, state.navigation.location, init.basename)\n : state.matches;\n\n invariant(matches, \"Didn't find any matches after fetcher action\");\n\n let loadId = ++incrementingLoadId;\n fetchReloadIds.set(key, loadId);\n\n let loadFetcher: FetcherStates[\"Loading\"] = {\n state: \"loading\",\n data: actionResult.data,\n ...submission,\n };\n state.fetchers.set(key, loadFetcher);\n\n let [matchesToLoad, revalidatingFetchers] = getMatchesToLoad(\n state,\n matches,\n submission,\n nextLocation,\n isRevalidationRequired,\n cancelledDeferredRoutes,\n cancelledFetcherLoads,\n { [match.route.id]: actionResult.data },\n undefined, // No need to send through errors since we short circuit above\n fetchLoadMatches\n );\n\n // Put all revalidating fetchers into the loading state, except for the\n // current fetcher which we want to keep in it's current loading state which\n // contains it's action submission info + action data\n revalidatingFetchers\n .filter(([staleKey]) => staleKey !== key)\n .forEach(([staleKey]) => {\n let existingFetcher = state.fetchers.get(staleKey);\n let revalidatingFetcher: FetcherStates[\"Loading\"] = {\n state: \"loading\",\n data: existingFetcher && existingFetcher.data,\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n };\n state.fetchers.set(staleKey, revalidatingFetcher);\n fetchControllers.set(staleKey, abortController);\n });\n\n updateState({ fetchers: new Map(state.fetchers) });\n\n let { results, loaderResults, fetcherResults } =\n await callLoadersAndMaybeResolveData(\n state.matches,\n matches,\n matchesToLoad,\n revalidatingFetchers,\n revalidationRequest\n );\n\n if (abortController.signal.aborted) {\n return;\n }\n\n fetchReloadIds.delete(key);\n fetchControllers.delete(key);\n revalidatingFetchers.forEach(([staleKey]) =>\n fetchControllers.delete(staleKey)\n );\n\n let redirect = findRedirect(results);\n if (redirect) {\n let redirectNavigation = getLoaderRedirect(state, redirect);\n await startRedirectNavigation(redirect, redirectNavigation);\n return;\n }\n\n // Process and commit output from loaders\n let { loaderData, errors } = processLoaderData(\n state,\n state.matches,\n matchesToLoad,\n loaderResults,\n undefined,\n revalidatingFetchers,\n fetcherResults,\n activeDeferreds\n );\n\n let doneFetcher: FetcherStates[\"Idle\"] = {\n state: \"idle\",\n data: actionResult.data,\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n };\n state.fetchers.set(key, doneFetcher);\n\n let didAbortFetchLoads = abortStaleFetchLoads(loadId);\n\n // If we are currently in a navigation loading state and this fetcher is\n // more recent than the navigation, we want the newer data so abort the\n // navigation and complete it with the fetcher data\n if (\n state.navigation.state === \"loading\" &&\n loadId > pendingNavigationLoadId\n ) {\n invariant(pendingAction, \"Expected pending action\");\n pendingNavigationController && pendingNavigationController.abort();\n\n completeNavigation(state.navigation.location, {\n matches,\n loaderData,\n errors,\n fetchers: new Map(state.fetchers),\n });\n } else {\n // otherwise just update with the fetcher data, preserving any existing\n // loaderData for loaders that did not need to reload. We have to\n // manually merge here since we aren't going through completeNavigation\n updateState({\n errors,\n loaderData: mergeLoaderData(state.loaderData, loaderData, matches),\n ...(didAbortFetchLoads ? { fetchers: new Map(state.fetchers) } : {}),\n });\n isRevalidationRequired = false;\n }\n }\n\n // Call the matched loader for fetcher.load(), handling redirects, errors, etc.\n async function handleFetcherLoader(\n key: string,\n routeId: string,\n path: string,\n match: AgnosticDataRouteMatch,\n matches: AgnosticDataRouteMatch[]\n ) {\n let existingFetcher = state.fetchers.get(key);\n // Put this fetcher into it's loading state\n let loadingFetcher: FetcherStates[\"Loading\"] = {\n state: \"loading\",\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n data: existingFetcher && existingFetcher.data,\n };\n state.fetchers.set(key, loadingFetcher);\n updateState({ fetchers: new Map(state.fetchers) });\n\n // Call the loader for this fetcher route match\n let abortController = new AbortController();\n let fetchRequest = createRequest(path, abortController.signal);\n fetchControllers.set(key, abortController);\n let result: DataResult = await callLoaderOrAction(\n \"loader\",\n fetchRequest,\n match,\n matches,\n router.basename\n );\n\n // Deferred isn't supported or fetcher loads, await everything and treat it\n // as a normal load. resolveDeferredData will return undefined if this\n // fetcher gets aborted, so we just leave result untouched and short circuit\n // below if that happens\n if (isDeferredResult(result)) {\n result =\n (await resolveDeferredData(result, fetchRequest.signal, true)) ||\n result;\n }\n\n // We can delete this so long as we weren't aborted by ou our own fetcher\n // re-load which would have put _new_ controller is in fetchControllers\n if (fetchControllers.get(key) === abortController) {\n fetchControllers.delete(key);\n }\n\n if (fetchRequest.signal.aborted) {\n return;\n }\n\n // If the loader threw a redirect Response, start a new REPLACE navigation\n if (isRedirectResult(result)) {\n let redirectNavigation = getLoaderRedirect(state, result);\n await startRedirectNavigation(result, redirectNavigation);\n return;\n }\n\n // Process any non-redirect errors thrown\n if (isErrorResult(result)) {\n let boundaryMatch = findNearestBoundary(state.matches, routeId);\n state.fetchers.delete(key);\n // TODO: In remix, this would reset to IDLE_NAVIGATION if it was a catch -\n // do we need to behave any differently with our non-redirect errors?\n // What if it was a non-redirect Response?\n updateState({\n fetchers: new Map(state.fetchers),\n errors: {\n [boundaryMatch.route.id]: result.error,\n },\n });\n return;\n }\n\n invariant(!isDeferredResult(result), \"Unhandled fetcher deferred data\");\n\n // Put the fetcher back into an idle state\n let doneFetcher: FetcherStates[\"Idle\"] = {\n state: \"idle\",\n data: result.data,\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n };\n state.fetchers.set(key, doneFetcher);\n updateState({ fetchers: new Map(state.fetchers) });\n }\n\n /**\n * Utility function to handle redirects returned from an action or loader.\n * Normally, a redirect \"replaces\" the navigation that triggered it. So, for\n * example:\n *\n * - user is on /a\n * - user clicks a link to /b\n * - loader for /b redirects to /c\n *\n * In a non-JS app the browser would track the in-flight navigation to /b and\n * then replace it with /c when it encountered the redirect response. In\n * the end it would only ever update the URL bar with /c.\n *\n * In client-side routing using pushState/replaceState, we aim to emulate\n * this behavior and we also do not update history until the end of the\n * navigation (including processed redirects). This means that we never\n * actually touch history until we've processed redirects, so we just use\n * the history action from the original navigation (PUSH or REPLACE).\n */\n async function startRedirectNavigation(\n redirect: RedirectResult,\n navigation: Navigation,\n replace?: boolean\n ) {\n if (redirect.revalidate) {\n isRevalidationRequired = true;\n }\n invariant(\n navigation.location,\n \"Expected a location on the redirect navigation\"\n );\n // There's no need to abort on redirects, since we don't detect the\n // redirect until the action/loaders have settled\n pendingNavigationController = null;\n\n let redirectHistoryAction =\n replace === true ? HistoryAction.Replace : HistoryAction.Push;\n\n await startNavigation(redirectHistoryAction, navigation.location, {\n overrideNavigation: navigation,\n });\n }\n\n async function callLoadersAndMaybeResolveData(\n currentMatches: AgnosticDataRouteMatch[],\n matches: AgnosticDataRouteMatch[],\n matchesToLoad: AgnosticDataRouteMatch[],\n fetchersToLoad: RevalidatingFetcher[],\n request: Request\n ) {\n // Call all navigation loaders and revalidating fetcher loaders in parallel,\n // then slice off the results into separate arrays so we can handle them\n // accordingly\n let results = await Promise.all([\n ...matchesToLoad.map((match) =>\n callLoaderOrAction(\"loader\", request, match, matches, router.basename)\n ),\n ...fetchersToLoad.map(([, href, match, fetchMatches]) =>\n callLoaderOrAction(\n \"loader\",\n createRequest(href, request.signal),\n match,\n fetchMatches,\n router.basename\n )\n ),\n ]);\n let loaderResults = results.slice(0, matchesToLoad.length);\n let fetcherResults = results.slice(matchesToLoad.length);\n\n await Promise.all([\n resolveDeferredResults(\n currentMatches,\n matchesToLoad,\n loaderResults,\n request.signal,\n false,\n state.loaderData\n ),\n resolveDeferredResults(\n currentMatches,\n fetchersToLoad.map(([, , match]) => match),\n fetcherResults,\n request.signal,\n true\n ),\n ]);\n\n return { results, loaderResults, fetcherResults };\n }\n\n function interruptActiveLoads() {\n // Every interruption triggers a revalidation\n isRevalidationRequired = true;\n\n // Cancel pending route-level deferreds and mark cancelled routes for\n // revalidation\n cancelledDeferredRoutes.push(...cancelActiveDeferreds());\n\n // Abort in-flight fetcher loads\n fetchLoadMatches.forEach((_, key) => {\n if (fetchControllers.has(key)) {\n cancelledFetcherLoads.push(key);\n abortFetcher(key);\n }\n });\n }\n\n function setFetcherError(key: string, routeId: string, error: any) {\n let boundaryMatch = findNearestBoundary(state.matches, routeId);\n deleteFetcher(key);\n updateState({\n errors: {\n [boundaryMatch.route.id]: error,\n },\n fetchers: new Map(state.fetchers),\n });\n }\n\n function deleteFetcher(key: string): void {\n if (fetchControllers.has(key)) abortFetcher(key);\n fetchLoadMatches.delete(key);\n fetchReloadIds.delete(key);\n fetchRedirectIds.delete(key);\n state.fetchers.delete(key);\n }\n\n function abortFetcher(key: string) {\n let controller = fetchControllers.get(key);\n invariant(controller, `Expected fetch controller: ${key}`);\n controller.abort();\n fetchControllers.delete(key);\n }\n\n function markFetchersDone(keys: string[]) {\n for (let key of keys) {\n let fetcher = getFetcher(key);\n let doneFetcher: FetcherStates[\"Idle\"] = {\n state: \"idle\",\n data: fetcher.data,\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n };\n state.fetchers.set(key, doneFetcher);\n }\n }\n\n function markFetchRedirectsDone(): void {\n let doneKeys = [];\n for (let key of fetchRedirectIds) {\n let fetcher = state.fetchers.get(key);\n invariant(fetcher, `Expected fetcher: ${key}`);\n if (fetcher.state === \"loading\") {\n fetchRedirectIds.delete(key);\n doneKeys.push(key);\n }\n }\n markFetchersDone(doneKeys);\n }\n\n function abortStaleFetchLoads(landedId: number): boolean {\n let yeetedKeys = [];\n for (let [key, id] of fetchReloadIds) {\n if (id < landedId) {\n let fetcher = state.fetchers.get(key);\n invariant(fetcher, `Expected fetcher: ${key}`);\n if (fetcher.state === \"loading\") {\n abortFetcher(key);\n fetchReloadIds.delete(key);\n yeetedKeys.push(key);\n }\n }\n }\n markFetchersDone(yeetedKeys);\n return yeetedKeys.length > 0;\n }\n\n function cancelActiveDeferreds(\n predicate?: (routeId: string) => boolean\n ): string[] {\n let cancelledRouteIds: string[] = [];\n activeDeferreds.forEach((dfd, routeId) => {\n if (!predicate || predicate(routeId)) {\n // Cancel the deferred - but do not remove from activeDeferreds here -\n // we rely on the subscribers to do that so our tests can assert proper\n // cleanup via _internalActiveDeferreds\n dfd.cancel();\n cancelledRouteIds.push(routeId);\n activeDeferreds.delete(routeId);\n }\n });\n return cancelledRouteIds;\n }\n\n // Opt in to capturing and reporting scroll positions during navigations,\n // used by the component\n function enableScrollRestoration(\n positions: Record,\n getPosition: GetScrollPositionFunction,\n getKey?: GetScrollRestorationKeyFunction\n ) {\n savedScrollPositions = positions;\n getScrollPosition = getPosition;\n getScrollRestorationKey = getKey || ((location) => location.key);\n\n // Perform initial hydration scroll restoration, since we miss the boat on\n // the initial updateState() because we've not yet rendered \n // and therefore have no savedScrollPositions available\n if (!initialScrollRestored && state.navigation === IDLE_NAVIGATION) {\n initialScrollRestored = true;\n let y = getSavedScrollPosition(state.location, state.matches);\n if (y != null) {\n updateState({ restoreScrollPosition: y });\n }\n }\n\n return () => {\n savedScrollPositions = null;\n getScrollPosition = null;\n getScrollRestorationKey = null;\n };\n }\n\n function saveScrollPosition(\n location: Location,\n matches: AgnosticDataRouteMatch[]\n ): void {\n if (savedScrollPositions && getScrollRestorationKey && getScrollPosition) {\n let userMatches = matches.map((m) =>\n createUseMatchesMatch(m, state.loaderData)\n );\n let key = getScrollRestorationKey(location, userMatches) || location.key;\n savedScrollPositions[key] = getScrollPosition();\n }\n }\n\n function getSavedScrollPosition(\n location: Location,\n matches: AgnosticDataRouteMatch[]\n ): number | null {\n if (savedScrollPositions && getScrollRestorationKey && getScrollPosition) {\n let userMatches = matches.map((m) =>\n createUseMatchesMatch(m, state.loaderData)\n );\n let key = getScrollRestorationKey(location, userMatches) || location.key;\n let y = savedScrollPositions[key];\n if (typeof y === \"number\") {\n return y;\n }\n }\n return null;\n }\n\n router = {\n get basename() {\n return init.basename;\n },\n get state() {\n return state;\n },\n get routes() {\n return dataRoutes;\n },\n initialize,\n subscribe,\n enableScrollRestoration,\n navigate,\n fetch,\n revalidate,\n // Passthrough to history-aware createHref used by useHref so we get proper\n // hash-aware URLs in DOM paths\n createHref: (to: To) => init.history.createHref(to),\n getFetcher,\n deleteFetcher,\n dispose,\n _internalFetchControllers: fetchControllers,\n _internalActiveDeferreds: activeDeferreds,\n };\n\n return router;\n}\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region createStaticHandler\n////////////////////////////////////////////////////////////////////////////////\n\nconst validActionMethods = new Set([\"POST\", \"PUT\", \"PATCH\", \"DELETE\"]);\nconst validRequestMethods = new Set([\"GET\", \"HEAD\", ...validActionMethods]);\n\nexport function unstable_createStaticHandler(\n routes: AgnosticRouteObject[]\n): StaticHandler {\n invariant(\n routes.length > 0,\n \"You must provide a non-empty routes array to unstable_createStaticHandler\"\n );\n\n let dataRoutes = convertRoutesToDataRoutes(routes);\n\n /**\n * The query() method is intended for document requests, in which we want to\n * call an optional action and potentially multiple loaders for all nested\n * routes. It returns a StaticHandlerContext object, which is very similar\n * to the router state (location, loaderData, actionData, errors, etc.) and\n * also adds SSR-specific information such as the statusCode and headers\n * from action/loaders Responses.\n *\n * It _should_ never throw and should report all errors through the\n * returned context.errors object, properly associating errors to their error\n * boundary. Additionally, it tracks _deepestRenderedBoundaryId which can be\n * used to emulate React error boundaries during SSr by performing a second\n * pass only down to the boundaryId.\n *\n * The one exception where we do not return a StaticHandlerContext is when a\n * redirect response is returned or thrown from any action/loader. We\n * propagate that out and return the raw Response so the HTTP server can\n * return it directly.\n */\n async function query(\n request: Request\n ): Promise {\n let url = new URL(request.url);\n let location = createLocation(\"\", createPath(url), null, \"default\");\n let matches = matchRoutes(dataRoutes, location);\n\n if (!validRequestMethods.has(request.method)) {\n let {\n matches: methodNotAllowedMatches,\n route,\n error,\n } = getMethodNotAllowedMatches(dataRoutes);\n return {\n location,\n matches: methodNotAllowedMatches,\n loaderData: {},\n actionData: null,\n errors: {\n [route.id]: error,\n },\n statusCode: error.status,\n loaderHeaders: {},\n actionHeaders: {},\n };\n } else if (!matches) {\n let {\n matches: notFoundMatches,\n route,\n error,\n } = getNotFoundMatches(dataRoutes);\n return {\n location,\n matches: notFoundMatches,\n loaderData: {},\n actionData: null,\n errors: {\n [route.id]: error,\n },\n statusCode: error.status,\n loaderHeaders: {},\n actionHeaders: {},\n };\n }\n\n let result = await queryImpl(request, location, matches);\n if (result instanceof Response) {\n return result;\n }\n\n // When returning StaticHandlerContext, we patch back in the location here\n // since we need it for React Context. But this helps keep our submit and\n // loadRouteData operating on a Request instead of a Location\n return { location, ...result };\n }\n\n /**\n * The queryRoute() method is intended for targeted route requests, either\n * for fetch ?_data requests or resource route requests. In this case, we\n * are only ever calling a single action or loader, and we are returning the\n * returned value directly. In most cases, this will be a Response returned\n * from the action/loader, but it may be a primitive or other value as well -\n * and in such cases the calling context should handle that accordingly.\n *\n * We do respect the throw/return differentiation, so if an action/loader\n * throws, then this method will throw the value. This is important so we\n * can do proper boundary identification in Remix where a thrown Response\n * must go to the Catch Boundary but a returned Response is happy-path.\n *\n * One thing to note is that any Router-initiated thrown Response (such as a\n * 404 or 405) will have a custom X-Remix-Router-Error: \"yes\" header on it\n * in order to differentiate from responses thrown from user actions/loaders.\n */\n async function queryRoute(request: Request, routeId?: string): Promise {\n let url = new URL(request.url);\n let location = createLocation(\"\", createPath(url), null, \"default\");\n let matches = matchRoutes(dataRoutes, location);\n\n if (!validRequestMethods.has(request.method)) {\n throw createRouterErrorResponse(null, {\n status: 405,\n statusText: \"Method Not Allowed\",\n });\n } else if (!matches) {\n throw createRouterErrorResponse(null, {\n status: 404,\n statusText: \"Not Found\",\n });\n }\n\n let match = routeId\n ? matches.find((m) => m.route.id === routeId)\n : getTargetMatch(matches, location);\n\n if (!match) {\n throw createRouterErrorResponse(null, {\n status: 404,\n statusText: \"Not Found\",\n });\n }\n\n let result = await queryImpl(request, location, matches, match);\n if (result instanceof Response) {\n return result;\n }\n\n let error = result.errors ? Object.values(result.errors)[0] : undefined;\n if (error !== undefined) {\n // If we got back result.errors, that means the loader/action threw\n // _something_ that wasn't a Response, but it's not guaranteed/required\n // to be an `instanceof Error` either, so we have to use throw here to\n // preserve the \"error\" state outside of queryImpl.\n throw error;\n }\n\n // Pick off the right state value to return\n let routeData = [result.actionData, result.loaderData].find((v) => v);\n return Object.values(routeData || {})[0];\n }\n\n async function queryImpl(\n request: Request,\n location: Location,\n matches: AgnosticDataRouteMatch[],\n routeMatch?: AgnosticDataRouteMatch\n ): Promise | Response> {\n invariant(\n request.signal,\n \"query()/queryRoute() requests must contain an AbortController signal\"\n );\n\n try {\n if (validActionMethods.has(request.method)) {\n let result = await submit(\n request,\n matches,\n routeMatch || getTargetMatch(matches, location),\n routeMatch != null\n );\n return result;\n }\n\n let result = await loadRouteData(request, matches, routeMatch);\n return result instanceof Response\n ? result\n : {\n ...result,\n actionData: null,\n actionHeaders: {},\n };\n } catch (e) {\n // If the user threw/returned a Response in callLoaderOrAction, we throw\n // it to bail out and then return or throw here based on whether the user\n // returned or threw\n if (isQueryRouteResponse(e)) {\n if (e.type === ResultType.error && !isRedirectResponse(e.response)) {\n throw e.response;\n }\n return e.response;\n }\n // Redirects are always returned since they don't propagate to catch\n // boundaries\n if (isRedirectResponse(e)) {\n return e;\n }\n throw e;\n }\n }\n\n async function submit(\n request: Request,\n matches: AgnosticDataRouteMatch[],\n actionMatch: AgnosticDataRouteMatch,\n isRouteRequest: boolean\n ): Promise | Response> {\n let result: DataResult;\n if (!actionMatch.route.action) {\n if (isRouteRequest) {\n throw createRouterErrorResponse(null, {\n status: 405,\n statusText: \"Method Not Allowed\",\n });\n }\n result = getMethodNotAllowedResult(request.url);\n } else {\n result = await callLoaderOrAction(\n \"action\",\n request,\n actionMatch,\n matches,\n undefined, // Basename not currently supported in static handlers\n true,\n isRouteRequest\n );\n\n if (request.signal.aborted) {\n let method = isRouteRequest ? \"queryRoute\" : \"query\";\n throw new Error(`${method}() call aborted`);\n }\n }\n\n if (isRedirectResult(result)) {\n // Uhhhh - this should never happen, we should always throw these from\n // callLoaderOrAction, but the type narrowing here keeps TS happy and we\n // can get back on the \"throw all redirect responses\" train here should\n // this ever happen :/\n throw new Response(null, {\n status: result.status,\n headers: {\n Location: result.location,\n },\n });\n }\n\n if (isDeferredResult(result)) {\n throw new Error(\"defer() is not supported in actions\");\n }\n\n if (isRouteRequest) {\n // Note: This should only be non-Response values if we get here, since\n // isRouteRequest should throw any Response received in callLoaderOrAction\n if (isErrorResult(result)) {\n let boundaryMatch = findNearestBoundary(matches, actionMatch.route.id);\n return {\n matches: [actionMatch],\n loaderData: {},\n actionData: null,\n errors: {\n [boundaryMatch.route.id]: result.error,\n },\n // Note: statusCode + headers are unused here since queryRoute will\n // return the raw Response or value\n statusCode: 500,\n loaderHeaders: {},\n actionHeaders: {},\n };\n }\n\n return {\n matches: [actionMatch],\n loaderData: {},\n actionData: { [actionMatch.route.id]: result.data },\n errors: null,\n // Note: statusCode + headers are unused here since queryRoute will\n // return the raw Response or value\n statusCode: 200,\n loaderHeaders: {},\n actionHeaders: {},\n };\n }\n\n if (isErrorResult(result)) {\n // Store off the pending error - we use it to determine which loaders\n // to call and will commit it when we complete the navigation\n let boundaryMatch = findNearestBoundary(matches, actionMatch.route.id);\n let context = await loadRouteData(request, matches, undefined, {\n [boundaryMatch.route.id]: result.error,\n });\n\n // action status codes take precedence over loader status codes\n return {\n ...context,\n statusCode: isRouteErrorResponse(result.error)\n ? result.error.status\n : 500,\n actionData: null,\n actionHeaders: {\n ...(result.headers ? { [actionMatch.route.id]: result.headers } : {}),\n },\n };\n }\n\n let context = await loadRouteData(request, matches);\n\n return {\n ...context,\n // action status codes take precedence over loader status codes\n ...(result.statusCode ? { statusCode: result.statusCode } : {}),\n actionData: {\n [actionMatch.route.id]: result.data,\n },\n actionHeaders: {\n ...(result.headers ? { [actionMatch.route.id]: result.headers } : {}),\n },\n };\n }\n\n async function loadRouteData(\n request: Request,\n matches: AgnosticDataRouteMatch[],\n routeMatch?: AgnosticDataRouteMatch,\n pendingActionError?: RouteData\n ): Promise<\n | Omit\n | Response\n > {\n let isRouteRequest = routeMatch != null;\n let requestMatches = routeMatch\n ? [routeMatch]\n : getLoaderMatchesUntilBoundary(\n matches,\n Object.keys(pendingActionError || {})[0]\n );\n let matchesToLoad = requestMatches.filter((m) => m.route.loader);\n\n // Short circuit if we have no loaders to run\n if (matchesToLoad.length === 0) {\n return {\n matches,\n loaderData: {},\n errors: pendingActionError || null,\n statusCode: 200,\n loaderHeaders: {},\n };\n }\n\n let results = await Promise.all([\n ...matchesToLoad.map((match) =>\n callLoaderOrAction(\n \"loader\",\n request,\n match,\n matches,\n undefined, // Basename not currently supported in static handlers\n true,\n isRouteRequest\n )\n ),\n ]);\n\n if (request.signal.aborted) {\n let method = isRouteRequest ? \"queryRoute\" : \"query\";\n throw new Error(`${method}() call aborted`);\n }\n\n // Can't do anything with these without the Remix side of things, so just\n // cancel them for now\n results.forEach((result) => {\n if (isDeferredResult(result)) {\n result.deferredData.cancel();\n }\n });\n\n // Process and commit output from loaders\n let context = processRouteLoaderData(\n matches,\n matchesToLoad,\n results,\n pendingActionError\n );\n\n return {\n ...context,\n matches,\n };\n }\n\n function createRouterErrorResponse(\n body: BodyInit | null | undefined,\n init: ResponseInit\n ) {\n return new Response(body, {\n ...init,\n headers: {\n ...init.headers,\n \"X-Remix-Router-Error\": \"yes\",\n },\n });\n }\n\n return {\n dataRoutes,\n query,\n queryRoute,\n };\n}\n\n//#endregion\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Helpers\n////////////////////////////////////////////////////////////////////////////////\n\n/**\n * Given an existing StaticHandlerContext and an error thrown at render time,\n * provide an updated StaticHandlerContext suitable for a second SSR render\n */\nexport function getStaticContextFromError(\n routes: AgnosticDataRouteObject[],\n context: StaticHandlerContext,\n error: any\n) {\n let newContext: StaticHandlerContext = {\n ...context,\n statusCode: 500,\n errors: {\n [context._deepestRenderedBoundaryId || routes[0].id]: error,\n },\n };\n return newContext;\n}\n\n// Normalize navigation options by converting formMethod=GET formData objects to\n// URLSearchParams so they behave identically to links with query params\nfunction normalizeNavigateOptions(\n to: To,\n opts?: RouterNavigateOptions,\n isFetcher = false\n): {\n path: string;\n submission?: Submission;\n error?: ErrorResponse;\n} {\n let path = typeof to === \"string\" ? to : createPath(to);\n\n // Return location verbatim on non-submission navigations\n if (!opts || (!(\"formMethod\" in opts) && !(\"formData\" in opts))) {\n return { path };\n }\n\n // Create a Submission on non-GET navigations\n if (opts.formMethod != null && opts.formMethod !== \"get\") {\n return {\n path,\n submission: {\n formMethod: opts.formMethod,\n formAction: stripHashFromPath(path),\n formEncType:\n (opts && opts.formEncType) || \"application/x-www-form-urlencoded\",\n formData: opts.formData,\n },\n };\n }\n\n // No formData to flatten for GET submission\n if (!opts.formData) {\n return { path };\n }\n\n // Flatten submission onto URLSearchParams for GET submissions\n let parsedPath = parsePath(path);\n try {\n let searchParams = convertFormDataToSearchParams(opts.formData);\n // Since fetcher GET submissions only run a single loader (as opposed to\n // navigation GET submissions which run all loaders), we need to preserve\n // any incoming ?index params\n if (\n isFetcher &&\n parsedPath.search &&\n hasNakedIndexQuery(parsedPath.search)\n ) {\n searchParams.append(\"index\", \"\");\n }\n parsedPath.search = `?${searchParams}`;\n } catch (e) {\n return {\n path,\n error: new ErrorResponse(\n 400,\n \"Bad Request\",\n \"Cannot submit binary form data using GET\"\n ),\n };\n }\n\n return { path: createPath(parsedPath) };\n}\n\nfunction getLoaderRedirect(\n state: RouterState,\n redirect: RedirectResult\n): Navigation {\n let { formMethod, formAction, formEncType, formData } = state.navigation;\n let navigation: NavigationStates[\"Loading\"] = {\n state: \"loading\",\n location: createLocation(state.location, redirect.location),\n formMethod: formMethod || undefined,\n formAction: formAction || undefined,\n formEncType: formEncType || undefined,\n formData: formData || undefined,\n };\n return navigation;\n}\n\n// Filter out all routes below any caught error as they aren't going to\n// render so we don't need to load them\nfunction getLoaderMatchesUntilBoundary(\n matches: AgnosticDataRouteMatch[],\n boundaryId?: string\n) {\n let boundaryMatches = matches;\n if (boundaryId) {\n let index = matches.findIndex((m) => m.route.id === boundaryId);\n if (index >= 0) {\n boundaryMatches = matches.slice(0, index);\n }\n }\n return boundaryMatches;\n}\n\nfunction getMatchesToLoad(\n state: RouterState,\n matches: AgnosticDataRouteMatch[],\n submission: Submission | undefined,\n location: Location,\n isRevalidationRequired: boolean,\n cancelledDeferredRoutes: string[],\n cancelledFetcherLoads: string[],\n pendingActionData?: RouteData,\n pendingError?: RouteData,\n fetchLoadMatches?: Map\n): [AgnosticDataRouteMatch[], RevalidatingFetcher[]] {\n let actionResult = pendingError\n ? Object.values(pendingError)[0]\n : pendingActionData\n ? Object.values(pendingActionData)[0]\n : null;\n\n // Pick navigation matches that are net-new or qualify for revalidation\n let boundaryId = pendingError ? Object.keys(pendingError)[0] : undefined;\n let boundaryMatches = getLoaderMatchesUntilBoundary(matches, boundaryId);\n let navigationMatches = boundaryMatches.filter(\n (match, index) =>\n match.route.loader != null &&\n (isNewLoader(state.loaderData, state.matches[index], match) ||\n // If this route had a pending deferred cancelled it must be revalidated\n cancelledDeferredRoutes.some((id) => id === match.route.id) ||\n shouldRevalidateLoader(\n state.location,\n state.matches[index],\n submission,\n location,\n match,\n isRevalidationRequired,\n actionResult\n ))\n );\n\n // Pick fetcher.loads that need to be revalidated\n let revalidatingFetchers: RevalidatingFetcher[] = [];\n fetchLoadMatches &&\n fetchLoadMatches.forEach(([href, match, fetchMatches], key) => {\n // This fetcher was cancelled from a prior action submission - force reload\n if (cancelledFetcherLoads.includes(key)) {\n revalidatingFetchers.push([key, href, match, fetchMatches]);\n } else if (isRevalidationRequired) {\n let shouldRevalidate = shouldRevalidateLoader(\n href,\n match,\n submission,\n href,\n match,\n isRevalidationRequired,\n actionResult\n );\n if (shouldRevalidate) {\n revalidatingFetchers.push([key, href, match, fetchMatches]);\n }\n }\n });\n\n return [navigationMatches, revalidatingFetchers];\n}\n\nfunction isNewLoader(\n currentLoaderData: RouteData,\n currentMatch: AgnosticDataRouteMatch,\n match: AgnosticDataRouteMatch\n) {\n let isNew =\n // [a] -> [a, b]\n !currentMatch ||\n // [a, b] -> [a, c]\n match.route.id !== currentMatch.route.id;\n\n // Handle the case that we don't have data for a re-used route, potentially\n // from a prior error or from a cancelled pending deferred\n let isMissingData = currentLoaderData[match.route.id] === undefined;\n\n // Always load if this is a net-new route or we don't yet have data\n return isNew || isMissingData;\n}\n\nfunction isNewRouteInstance(\n currentMatch: AgnosticDataRouteMatch,\n match: AgnosticDataRouteMatch\n) {\n let currentPath = currentMatch.route.path;\n return (\n // param change for this match, /users/123 -> /users/456\n currentMatch.pathname !== match.pathname ||\n // splat param changed, which is not present in match.path\n // e.g. /files/images/avatar.jpg -> files/finances.xls\n (currentPath &&\n currentPath.endsWith(\"*\") &&\n currentMatch.params[\"*\"] !== match.params[\"*\"])\n );\n}\n\nfunction shouldRevalidateLoader(\n currentLocation: string | Location,\n currentMatch: AgnosticDataRouteMatch,\n submission: Submission | undefined,\n location: string | Location,\n match: AgnosticDataRouteMatch,\n isRevalidationRequired: boolean,\n actionResult: DataResult | undefined\n) {\n let currentUrl = createURL(currentLocation);\n let currentParams = currentMatch.params;\n let nextUrl = createURL(location);\n let nextParams = match.params;\n\n // This is the default implementation as to when we revalidate. If the route\n // provides it's own implementation, then we give them full control but\n // provide this value so they can leverage it if needed after they check\n // their own specific use cases\n // Note that fetchers always provide the same current/next locations so the\n // URL-based checks here don't apply to fetcher shouldRevalidate calls\n let defaultShouldRevalidate =\n isNewRouteInstance(currentMatch, match) ||\n // Clicked the same link, resubmitted a GET form\n currentUrl.toString() === nextUrl.toString() ||\n // Search params affect all loaders\n currentUrl.search !== nextUrl.search ||\n // Forced revalidation due to submission, useRevalidate, or X-Remix-Revalidate\n isRevalidationRequired;\n\n if (match.route.shouldRevalidate) {\n let routeChoice = match.route.shouldRevalidate({\n currentUrl,\n currentParams,\n nextUrl,\n nextParams,\n ...submission,\n actionResult,\n defaultShouldRevalidate,\n });\n if (typeof routeChoice === \"boolean\") {\n return routeChoice;\n }\n }\n\n return defaultShouldRevalidate;\n}\n\nasync function callLoaderOrAction(\n type: \"loader\" | \"action\",\n request: Request,\n match: AgnosticDataRouteMatch,\n matches: AgnosticDataRouteMatch[],\n basename: string | undefined,\n isStaticRequest: boolean = false,\n isRouteRequest: boolean = false\n): Promise {\n let resultType;\n let result;\n\n // Setup a promise we can race against so that abort signals short circuit\n let reject: () => void;\n let abortPromise = new Promise((_, r) => (reject = r));\n let onReject = () => reject();\n request.signal.addEventListener(\"abort\", onReject);\n\n try {\n let handler = match.route[type];\n invariant(\n handler,\n `Could not find the ${type} to run on the \"${match.route.id}\" route`\n );\n\n result = await Promise.race([\n handler({ request, params: match.params }),\n abortPromise,\n ]);\n } catch (e) {\n resultType = ResultType.error;\n result = e;\n } finally {\n request.signal.removeEventListener(\"abort\", onReject);\n }\n\n if (result instanceof Response) {\n let status = result.status;\n\n // Process redirects\n if (status >= 300 && status <= 399) {\n let location = result.headers.get(\"Location\");\n invariant(\n location,\n \"Redirects returned/thrown from loaders/actions must have a Location header\"\n );\n\n // Support relative routing in redirects\n let activeMatches = matches.slice(0, matches.indexOf(match) + 1);\n let routePathnames = getPathContributingMatches(activeMatches).map(\n (match) => match.pathnameBase\n );\n let requestPath = createURL(request.url).pathname;\n let resolvedLocation = resolveTo(location, routePathnames, requestPath);\n invariant(\n createPath(resolvedLocation),\n `Unable to resolve redirect location: ${result.headers.get(\"Location\")}`\n );\n\n // Prepend the basename to the redirect location if we have one\n if (basename) {\n let path = resolvedLocation.pathname;\n resolvedLocation.pathname =\n path === \"/\" ? basename : joinPaths([basename, path]);\n }\n\n location = createPath(resolvedLocation);\n\n // Don't process redirects in the router during static requests requests.\n // Instead, throw the Response and let the server handle it with an HTTP\n // redirect. We also update the Location header in place in this flow so\n // basename and relative routing is taken into account\n if (isStaticRequest) {\n result.headers.set(\"Location\", location);\n throw result;\n }\n\n return {\n type: ResultType.redirect,\n status,\n location,\n revalidate: result.headers.get(\"X-Remix-Revalidate\") !== null,\n };\n }\n\n // For SSR single-route requests, we want to hand Responses back directly\n // without unwrapping. We do this with the QueryRouteResponse wrapper\n // interface so we can know whether it was returned or thrown\n if (isRouteRequest) {\n // eslint-disable-next-line no-throw-literal\n throw {\n type: resultType || ResultType.data,\n response: result,\n };\n }\n\n let data: any;\n let contentType = result.headers.get(\"Content-Type\");\n if (contentType && contentType.startsWith(\"application/json\")) {\n data = await result.json();\n } else {\n data = await result.text();\n }\n\n if (resultType === ResultType.error) {\n return {\n type: resultType,\n error: new ErrorResponse(status, result.statusText, data),\n headers: result.headers,\n };\n }\n\n return {\n type: ResultType.data,\n data,\n statusCode: result.status,\n headers: result.headers,\n };\n }\n\n if (resultType === ResultType.error) {\n return { type: resultType, error: result };\n }\n\n if (result instanceof DeferredData) {\n return { type: ResultType.deferred, deferredData: result };\n }\n\n return { type: ResultType.data, data: result };\n}\n\nfunction createRequest(\n location: string | Location,\n signal: AbortSignal,\n submission?: Submission\n): Request {\n let url = createURL(stripHashFromPath(location)).toString();\n let init: RequestInit = { signal };\n\n if (submission) {\n let { formMethod, formEncType, formData } = submission;\n init.method = formMethod.toUpperCase();\n init.body =\n formEncType === \"application/x-www-form-urlencoded\"\n ? convertFormDataToSearchParams(formData)\n : formData;\n }\n\n // Content-Type is inferred (https://fetch.spec.whatwg.org/#dom-request)\n return new Request(url, init);\n}\n\nfunction convertFormDataToSearchParams(formData: FormData): URLSearchParams {\n let searchParams = new URLSearchParams();\n\n for (let [key, value] of formData.entries()) {\n invariant(\n typeof value === \"string\",\n 'File inputs are not supported with encType \"application/x-www-form-urlencoded\", ' +\n 'please use \"multipart/form-data\" instead.'\n );\n searchParams.append(key, value);\n }\n\n return searchParams;\n}\n\nfunction processRouteLoaderData(\n matches: AgnosticDataRouteMatch[],\n matchesToLoad: AgnosticDataRouteMatch[],\n results: DataResult[],\n pendingError: RouteData | undefined,\n activeDeferreds?: Map\n): {\n loaderData: RouterState[\"loaderData\"];\n errors: RouterState[\"errors\"] | null;\n statusCode: number;\n loaderHeaders: Record;\n} {\n // Fill in loaderData/errors from our loaders\n let loaderData: RouterState[\"loaderData\"] = {};\n let errors: RouterState[\"errors\"] | null = null;\n let statusCode: number | undefined;\n let foundError = false;\n let loaderHeaders: Record = {};\n\n // Process loader results into state.loaderData/state.errors\n results.forEach((result, index) => {\n let id = matchesToLoad[index].route.id;\n invariant(\n !isRedirectResult(result),\n \"Cannot handle redirect results in processLoaderData\"\n );\n if (isErrorResult(result)) {\n // Look upwards from the matched route for the closest ancestor\n // error boundary, defaulting to the root match\n let boundaryMatch = findNearestBoundary(matches, id);\n let error = result.error;\n // If we have a pending action error, we report it at the highest-route\n // that throws a loader error, and then clear it out to indicate that\n // it was consumed\n if (pendingError) {\n error = Object.values(pendingError)[0];\n pendingError = undefined;\n }\n errors = Object.assign(errors || {}, {\n [boundaryMatch.route.id]: error,\n });\n // Once we find our first (highest) error, we set the status code and\n // prevent deeper status codes from overriding\n if (!foundError) {\n foundError = true;\n statusCode = isRouteErrorResponse(result.error)\n ? result.error.status\n : 500;\n }\n if (result.headers) {\n loaderHeaders[id] = result.headers;\n }\n } else if (isDeferredResult(result)) {\n activeDeferreds && activeDeferreds.set(id, result.deferredData);\n loaderData[id] = result.deferredData.data;\n // TODO: Add statusCode/headers once we wire up streaming in Remix\n } else {\n loaderData[id] = result.data;\n // Error status codes always override success status codes, but if all\n // loaders are successful we take the deepest status code.\n if (\n result.statusCode != null &&\n result.statusCode !== 200 &&\n !foundError\n ) {\n statusCode = result.statusCode;\n }\n if (result.headers) {\n loaderHeaders[id] = result.headers;\n }\n }\n });\n\n // If we didn't consume the pending action error (i.e., all loaders\n // resolved), then consume it here\n if (pendingError) {\n errors = pendingError;\n }\n\n return {\n loaderData,\n errors,\n statusCode: statusCode || 200,\n loaderHeaders,\n };\n}\n\nfunction processLoaderData(\n state: RouterState,\n matches: AgnosticDataRouteMatch[],\n matchesToLoad: AgnosticDataRouteMatch[],\n results: DataResult[],\n pendingError: RouteData | undefined,\n revalidatingFetchers: RevalidatingFetcher[],\n fetcherResults: DataResult[],\n activeDeferreds: Map\n): {\n loaderData: RouterState[\"loaderData\"];\n errors?: RouterState[\"errors\"];\n} {\n let { loaderData, errors } = processRouteLoaderData(\n matches,\n matchesToLoad,\n results,\n pendingError,\n activeDeferreds\n );\n\n // Process results from our revalidating fetchers\n for (let index = 0; index < revalidatingFetchers.length; index++) {\n let [key, , match] = revalidatingFetchers[index];\n invariant(\n fetcherResults !== undefined && fetcherResults[index] !== undefined,\n \"Did not find corresponding fetcher result\"\n );\n let result = fetcherResults[index];\n\n // Process fetcher non-redirect errors\n if (isErrorResult(result)) {\n let boundaryMatch = findNearestBoundary(state.matches, match.route.id);\n if (!(errors && errors[boundaryMatch.route.id])) {\n errors = {\n ...errors,\n [boundaryMatch.route.id]: result.error,\n };\n }\n state.fetchers.delete(key);\n } else if (isRedirectResult(result)) {\n // Should never get here, redirects should get processed above, but we\n // keep this to type narrow to a success result in the else\n throw new Error(\"Unhandled fetcher revalidation redirect\");\n } else if (isDeferredResult(result)) {\n // Should never get here, deferred data should be awaited for fetchers\n // in resolveDeferredResults\n throw new Error(\"Unhandled fetcher deferred data\");\n } else {\n let doneFetcher: FetcherStates[\"Idle\"] = {\n state: \"idle\",\n data: result.data,\n formMethod: undefined,\n formAction: undefined,\n formEncType: undefined,\n formData: undefined,\n };\n state.fetchers.set(key, doneFetcher);\n }\n }\n\n return { loaderData, errors };\n}\n\nfunction mergeLoaderData(\n loaderData: RouteData,\n newLoaderData: RouteData,\n matches: AgnosticDataRouteMatch[]\n): RouteData {\n let mergedLoaderData = { ...newLoaderData };\n matches.forEach((match) => {\n let id = match.route.id;\n if (newLoaderData[id] === undefined && loaderData[id] !== undefined) {\n mergedLoaderData[id] = loaderData[id];\n }\n });\n return mergedLoaderData;\n}\n\n// Find the nearest error boundary, looking upwards from the leaf route (or the\n// route specified by routeId) for the closest ancestor error boundary,\n// defaulting to the root match\nfunction findNearestBoundary(\n matches: AgnosticDataRouteMatch[],\n routeId?: string\n): AgnosticDataRouteMatch {\n let eligibleMatches = routeId\n ? matches.slice(0, matches.findIndex((m) => m.route.id === routeId) + 1)\n : [...matches];\n return (\n eligibleMatches.reverse().find((m) => m.route.hasErrorBoundary === true) ||\n matches[0]\n );\n}\n\nfunction getShortCircuitMatches(\n routes: AgnosticDataRouteObject[],\n status: number,\n statusText: string\n): {\n matches: AgnosticDataRouteMatch[];\n route: AgnosticDataRouteObject;\n error: ErrorResponse;\n} {\n // Prefer a root layout route if present, otherwise shim in a route object\n let route = routes.find((r) => r.index || !r.path || r.path === \"/\") || {\n id: `__shim-${status}-route__`,\n };\n\n return {\n matches: [\n {\n params: {},\n pathname: \"\",\n pathnameBase: \"\",\n route,\n },\n ],\n route,\n error: new ErrorResponse(status, statusText, null),\n };\n}\n\nfunction getNotFoundMatches(routes: AgnosticDataRouteObject[]) {\n return getShortCircuitMatches(routes, 404, \"Not Found\");\n}\n\nfunction getMethodNotAllowedMatches(routes: AgnosticDataRouteObject[]) {\n return getShortCircuitMatches(routes, 405, \"Method Not Allowed\");\n}\n\nfunction getMethodNotAllowedResult(path: Location | string): ErrorResult {\n let href = typeof path === \"string\" ? path : createPath(path);\n console.warn(\n \"You're trying to submit to a route that does not have an action. To \" +\n \"fix this, please add an `action` function to the route for \" +\n `[${href}]`\n );\n return {\n type: ResultType.error,\n error: new ErrorResponse(405, \"Method Not Allowed\", \"\"),\n };\n}\n\n// Find any returned redirect errors, starting from the lowest match\nfunction findRedirect(results: DataResult[]): RedirectResult | undefined {\n for (let i = results.length - 1; i >= 0; i--) {\n let result = results[i];\n if (isRedirectResult(result)) {\n return result;\n }\n }\n}\n\nfunction stripHashFromPath(path: To) {\n let parsedPath = typeof path === \"string\" ? parsePath(path) : path;\n return createPath({ ...parsedPath, hash: \"\" });\n}\n\nfunction isHashChangeOnly(a: Location, b: Location): boolean {\n return (\n a.pathname === b.pathname && a.search === b.search && a.hash !== b.hash\n );\n}\n\nfunction isDeferredResult(result: DataResult): result is DeferredResult {\n return result.type === ResultType.deferred;\n}\n\nfunction isErrorResult(result: DataResult): result is ErrorResult {\n return result.type === ResultType.error;\n}\n\nfunction isRedirectResult(result?: DataResult): result is RedirectResult {\n return (result && result.type) === ResultType.redirect;\n}\n\nfunction isRedirectResponse(result: any): result is Response {\n if (!(result instanceof Response)) {\n return false;\n }\n\n let status = result.status;\n let location = result.headers.get(\"Location\");\n return status >= 300 && status <= 399 && location != null;\n}\n\nfunction isQueryRouteResponse(obj: any): obj is QueryRouteResponse {\n return (\n obj &&\n obj.response instanceof Response &&\n (obj.type === ResultType.data || ResultType.error)\n );\n}\n\nasync function resolveDeferredResults(\n currentMatches: AgnosticDataRouteMatch[],\n matchesToLoad: AgnosticDataRouteMatch[],\n results: DataResult[],\n signal: AbortSignal,\n isFetcher: boolean,\n currentLoaderData?: RouteData\n) {\n for (let index = 0; index < results.length; index++) {\n let result = results[index];\n let match = matchesToLoad[index];\n let currentMatch = currentMatches.find(\n (m) => m.route.id === match.route.id\n );\n let isRevalidatingLoader =\n currentMatch != null &&\n !isNewRouteInstance(currentMatch, match) &&\n (currentLoaderData && currentLoaderData[match.route.id]) !== undefined;\n\n if (isDeferredResult(result) && (isFetcher || isRevalidatingLoader)) {\n // Note: we do not have to touch activeDeferreds here since we race them\n // against the signal in resolveDeferredData and they'll get aborted\n // there if needed\n await resolveDeferredData(result, signal, isFetcher).then((result) => {\n if (result) {\n results[index] = result || results[index];\n }\n });\n }\n }\n}\n\nasync function resolveDeferredData(\n result: DeferredResult,\n signal: AbortSignal,\n unwrap = false\n): Promise {\n let aborted = await result.deferredData.resolveData(signal);\n if (aborted) {\n return;\n }\n\n if (unwrap) {\n try {\n return {\n type: ResultType.data,\n data: result.deferredData.unwrappedData,\n };\n } catch (e) {\n // Handle any TrackedPromise._error values encountered while unwrapping\n return {\n type: ResultType.error,\n error: e,\n };\n }\n }\n\n return {\n type: ResultType.data,\n data: result.deferredData.data,\n };\n}\n\nfunction hasNakedIndexQuery(search: string): boolean {\n return new URLSearchParams(search).getAll(\"index\").some((v) => v === \"\");\n}\n\n// Note: This should match the format exported by useMatches, so if you change\n// this please also change that :) Eventually we'll DRY this up\nfunction createUseMatchesMatch(\n match: AgnosticDataRouteMatch,\n loaderData: RouteData\n): UseMatchesMatch {\n let { route, pathname, params } = match;\n return {\n id: route.id,\n pathname,\n params,\n data: loaderData[route.id] as unknown,\n handle: route.handle as unknown,\n };\n}\n\nfunction getTargetMatch(\n matches: AgnosticDataRouteMatch[],\n location: Location | string\n) {\n let search =\n typeof location === \"string\" ? parsePath(location).search : location.search;\n if (\n matches[matches.length - 1].route.index &&\n hasNakedIndexQuery(search || \"\")\n ) {\n // Return the leaf index route when index is present\n return matches[matches.length - 1];\n }\n // Otherwise grab the deepest \"path contributing\" match (ignoring index and\n // pathless layout routes)\n let pathMatches = getPathContributingMatches(matches);\n return pathMatches[pathMatches.length - 1];\n}\n//#endregion\n","/* The following list is defined in React's core */\nvar IS_UNITLESS = {\n animationIterationCount: true,\n boxFlex: true,\n boxFlexGroup: true,\n boxOrdinalGroup: true,\n columnCount: true,\n flex: true,\n flexGrow: true,\n flexPositive: true,\n flexShrink: true,\n flexNegative: true,\n flexOrder: true,\n gridRow: true,\n gridColumn: true,\n fontWeight: true,\n lineClamp: true,\n lineHeight: true,\n opacity: true,\n order: true,\n orphans: true,\n tabSize: true,\n widows: true,\n zIndex: true,\n zoom: true,\n\n // SVG-related properties\n fillOpacity: true,\n stopOpacity: true,\n strokeDashoffset: true,\n strokeOpacity: true,\n strokeWidth: true\n};\n\nmodule.exports = function(name, value) {\n if(typeof value === 'number' && !IS_UNITLESS[ name ]) {\n return value + 'px';\n } else {\n return value;\n }\n};","/*!\n * ApexCharts v3.36.2\n * (c) 2018-2022 ApexCharts\n * Released under the MIT License.\n */\n\"use strict\";function t(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,a)}return i}function e(e){for(var i=1;it.length)&&(e=t.length);for(var i=0,a=new Array(e);i>16,o=i>>8&255,n=255&i;return\"#\"+(16777216+65536*(Math.round((a-r)*s)+r)+256*(Math.round((a-o)*s)+o)+(Math.round((a-n)*s)+n)).toString(16).slice(1)}},{key:\"shadeColor\",value:function(e,i){return t.isColorHex(i)?this.shadeHexColor(e,i):this.shadeRGBColor(e,i)}}],[{key:\"bind\",value:function(t,e){return function(){return t.apply(e,arguments)}}},{key:\"isObject\",value:function(t){return t&&\"object\"===i(t)&&!Array.isArray(t)&&null!=t}},{key:\"is\",value:function(t,e){return Object.prototype.toString.call(e)===\"[object \"+t+\"]\"}},{key:\"listToArray\",value:function(t){var e,i=[];for(e=0;ee.length?t:e}))),t.length>e.length?t:e}),0)}},{key:\"hexToRgba\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"#999999\",e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.6;\"#\"!==t.substring(0,1)&&(t=\"#999999\");var i=t.replace(\"#\",\"\");i=i.match(new RegExp(\"(.{\"+i.length/3+\"})\",\"g\"));for(var a=0;a1&&void 0!==arguments[1]?arguments[1]:\"x\",i=t.toString().slice();return i=i.replace(/[` ~!@#$%^&*()|+\\=?;:'\",.<>{}[\\]\\\\/]/gi,e)}},{key:\"negToZero\",value:function(t){return t<0?0:t}},{key:\"moveIndexInArray\",value:function(t,e,i){if(i>=t.length)for(var a=i-t.length+1;a--;)t.push(void 0);return t.splice(i,0,t.splice(e,1)[0]),t}},{key:\"extractNumber\",value:function(t){return parseFloat(t.replace(/[^\\d.]*/g,\"\"))}},{key:\"findAncestor\",value:function(t,e){for(;(t=t.parentElement)&&!t.classList.contains(e););return t}},{key:\"setELstyles\",value:function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t.style.key=e[i])}},{key:\"isNumber\",value:function(t){return!isNaN(t)&&parseFloat(Number(t))===t&&!isNaN(parseInt(t,10))}},{key:\"isFloat\",value:function(t){return Number(t)===t&&t%1!=0}},{key:\"isSafari\",value:function(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}},{key:\"isFirefox\",value:function(){return navigator.userAgent.toLowerCase().indexOf(\"firefox\")>-1}},{key:\"isIE11\",value:function(){if(-1!==window.navigator.userAgent.indexOf(\"MSIE\")||window.navigator.appVersion.indexOf(\"Trident/\")>-1)return!0}},{key:\"isIE\",value:function(){var t=window.navigator.userAgent,e=t.indexOf(\"MSIE \");if(e>0)return parseInt(t.substring(e+5,t.indexOf(\".\",e)),10);if(t.indexOf(\"Trident/\")>0){var i=t.indexOf(\"rv:\");return parseInt(t.substring(i+3,t.indexOf(\".\",i)),10)}var a=t.indexOf(\"Edge/\");return a>0&&parseInt(t.substring(a+5,t.indexOf(\".\",a)),10)}}]),t}(),b=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.setEasingFunctions()}return r(t,[{key:\"setEasingFunctions\",value:function(){var t;if(!this.w.globals.easing){switch(this.w.config.chart.animations.easing){case\"linear\":t=\"-\";break;case\"easein\":t=\"<\";break;case\"easeout\":t=\">\";break;case\"easeinout\":default:t=\"<>\";break;case\"swing\":t=function(t){var e=1.70158;return(t-=1)*t*((e+1)*t+e)+1};break;case\"bounce\":t=function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375};break;case\"elastic\":t=function(t){return t===!!t?t:Math.pow(2,-10*t)*Math.sin((t-.075)*(2*Math.PI)/.3)+1}}this.w.globals.easing=t}}},{key:\"animateLine\",value:function(t,e,i,a){t.attr(e).animate(a).attr(i)}},{key:\"animateMarker\",value:function(t,e,i,a,s,r){e||(e=0),t.attr({r:e,width:e,height:e}).animate(a,s).attr({r:i,width:i.width,height:i.height}).afterAll((function(){r()}))}},{key:\"animateCircle\",value:function(t,e,i,a,s){t.attr({r:e.r,cx:e.cx,cy:e.cy}).animate(a,s).attr({r:i.r,cx:i.cx,cy:i.cy})}},{key:\"animateRect\",value:function(t,e,i,a,s){t.attr(e).animate(a).attr(i).afterAll((function(){return s()}))}},{key:\"animatePathsGradually\",value:function(t){var e=t.el,i=t.realIndex,a=t.j,s=t.fill,r=t.pathFrom,o=t.pathTo,n=t.speed,l=t.delay,h=this.w,c=0;h.config.chart.animations.animateGradually.enabled&&(c=h.config.chart.animations.animateGradually.delay),h.config.chart.animations.dynamicAnimation.enabled&&h.globals.dataChanged&&\"bar\"!==h.config.chart.type&&(c=0),this.morphSVG(e,i,a,\"line\"!==h.config.chart.type||h.globals.comboCharts?s:\"stroke\",r,o,n,l*c)}},{key:\"showDelayedElements\",value:function(){this.w.globals.delayedElements.forEach((function(t){t.el.classList.remove(\"apexcharts-element-hidden\")}))}},{key:\"animationCompleted\",value:function(t){var e=this.w;e.globals.animationEnded||(e.globals.animationEnded=!0,this.showDelayedElements(),\"function\"==typeof e.config.chart.events.animationEnd&&e.config.chart.events.animationEnd(this.ctx,{el:t,w:e}))}},{key:\"morphSVG\",value:function(t,e,i,a,s,r,o,n){var l=this,h=this.w;s||(s=t.attr(\"pathFrom\")),r||(r=t.attr(\"pathTo\"));var c=function(t){return\"radar\"===h.config.chart.type&&(o=1),\"M 0 \".concat(h.globals.gridHeight)};(!s||s.indexOf(\"undefined\")>-1||s.indexOf(\"NaN\")>-1)&&(s=c()),(!r||r.indexOf(\"undefined\")>-1||r.indexOf(\"NaN\")>-1)&&(r=c()),h.globals.shouldAnimate||(o=1),t.plot(s).animate(1,h.globals.easing,n).plot(s).animate(o,h.globals.easing,n).plot(r).afterAll((function(){x.isNumber(i)?i===h.globals.series[h.globals.maxValsInArrayIndex].length-2&&h.globals.shouldAnimate&&l.animationCompleted(t):\"none\"!==a&&h.globals.shouldAnimate&&(!h.globals.comboCharts&&e===h.globals.series.length-1||h.globals.comboCharts)&&l.animationCompleted(t),l.showDelayedElements()}))}}]),t}(),v=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:\"getDefaultFilter\",value:function(t,e){var i=this.w;t.unfilter(!0),(new window.SVG.Filter).size(\"120%\",\"180%\",\"-5%\",\"-40%\"),\"none\"!==i.config.states.normal.filter?this.applyFilter(t,e,i.config.states.normal.filter.type,i.config.states.normal.filter.value):i.config.chart.dropShadow.enabled&&this.dropShadow(t,i.config.chart.dropShadow,e)}},{key:\"addNormalFilter\",value:function(t,e){var i=this.w;i.config.chart.dropShadow.enabled&&!t.node.classList.contains(\"apexcharts-marker\")&&this.dropShadow(t,i.config.chart.dropShadow,e)}},{key:\"addLightenFilter\",value:function(t,e,i){var a=this,s=this.w,r=i.intensity;t.unfilter(!0);new window.SVG.Filter;t.filter((function(t){var i=s.config.chart.dropShadow;(i.enabled?a.addShadow(t,e,i):t).componentTransfer({rgb:{type:\"linear\",slope:1.5,intercept:r}})})),t.filterer.node.setAttribute(\"filterUnits\",\"userSpaceOnUse\"),this._scaleFilterSize(t.filterer.node)}},{key:\"addDarkenFilter\",value:function(t,e,i){var a=this,s=this.w,r=i.intensity;t.unfilter(!0);new window.SVG.Filter;t.filter((function(t){var i=s.config.chart.dropShadow;(i.enabled?a.addShadow(t,e,i):t).componentTransfer({rgb:{type:\"linear\",slope:r}})})),t.filterer.node.setAttribute(\"filterUnits\",\"userSpaceOnUse\"),this._scaleFilterSize(t.filterer.node)}},{key:\"applyFilter\",value:function(t,e,i){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:.5;switch(i){case\"none\":this.addNormalFilter(t,e);break;case\"lighten\":this.addLightenFilter(t,e,{intensity:a});break;case\"darken\":this.addDarkenFilter(t,e,{intensity:a})}}},{key:\"addShadow\",value:function(t,e,i){var a=i.blur,s=i.top,r=i.left,o=i.color,n=i.opacity,l=t.flood(Array.isArray(o)?o[e]:o,n).composite(t.sourceAlpha,\"in\").offset(r,s).gaussianBlur(a).merge(t.source);return t.blend(t.source,l)}},{key:\"dropShadow\",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,a=e.top,s=e.left,r=e.blur,o=e.color,n=e.opacity,l=e.noUserSpaceOnUse,h=this.w;return t.unfilter(!0),x.isIE()&&\"radialBar\"===h.config.chart.type||(o=Array.isArray(o)?o[i]:o,t.filter((function(t){var e=null;e=x.isSafari()||x.isFirefox()||x.isIE()?t.flood(o,n).composite(t.sourceAlpha,\"in\").offset(s,a).gaussianBlur(r):t.flood(o,n).composite(t.sourceAlpha,\"in\").offset(s,a).gaussianBlur(r).merge(t.source),t.blend(t.source,e)})),l||t.filterer.node.setAttribute(\"filterUnits\",\"userSpaceOnUse\"),this._scaleFilterSize(t.filterer.node)),t}},{key:\"setSelectionFilter\",value:function(t,e,i){var a=this.w;if(void 0!==a.globals.selectedDataPoints[e]&&a.globals.selectedDataPoints[e].indexOf(i)>-1){t.node.setAttribute(\"selected\",!0);var s=a.config.states.active.filter;\"none\"!==s&&this.applyFilter(t,e,s.type,s.value)}}},{key:\"_scaleFilterSize\",value:function(t){!function(e){for(var i in e)e.hasOwnProperty(i)&&t.setAttribute(i,e[i])}({width:\"200%\",height:\"200%\",x:\"-50%\",y:\"-50%\"})}}]),t}(),m=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:\"roundPathCorners\",value:function(t,e){function i(t,e,i){var s=e.x-t.x,r=e.y-t.y,o=Math.sqrt(s*s+r*r);return a(t,e,Math.min(1,i/o))}function a(t,e,i){return{x:t.x+(e.x-t.x)*i,y:t.y+(e.y-t.y)*i}}function s(t,e){t.length>2&&(t[t.length-2]=e.x,t[t.length-1]=e.y)}function r(t){return{x:parseFloat(t[t.length-2]),y:parseFloat(t[t.length-1])}}var o=t.split(/[,\\s]/).reduce((function(t,e){var i=e.match(\"([a-zA-Z])(.+)\");return i?(t.push(i[1]),t.push(i[2])):t.push(e),t}),[]).reduce((function(t,e){return parseFloat(e)==e&&t.length?t[t.length-1].push(e):t.push([e]),t}),[]),n=[];if(o.length>1){var l=r(o[0]),h=null;\"Z\"==o[o.length-1][0]&&o[0].length>2&&(h=[\"L\",l.x,l.y],o[o.length-1]=h),n.push(o[0]);for(var c=1;c2&&\"L\"==g[0]&&u.length>2&&\"L\"==u[0]){var f,p,x=r(d),b=r(g),v=r(u);f=i(b,x,e),p=i(b,v,e),s(g,f),g.origPoint=b,n.push(g);var m=a(f,b,.5),y=a(b,p,.5),w=[\"C\",m.x,m.y,y.x,y.y,p.x,p.y];w.origPoint=b,n.push(w)}else n.push(g)}if(h){var k=r(n[n.length-1]);n.push([\"Z\"]),s(n[0],k)}}else n=o;return n.reduce((function(t,e){return t+e.join(\" \")+\" \"}),\"\")}},{key:\"drawLine\",value:function(t,e,i,a){var s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:\"#a8a8a8\",r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,o=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null,n=arguments.length>7&&void 0!==arguments[7]?arguments[7]:\"butt\",l=this.w,h=l.globals.dom.Paper.line().attr({x1:t,y1:e,x2:i,y2:a,stroke:s,\"stroke-dasharray\":r,\"stroke-width\":o,\"stroke-linecap\":n});return h}},{key:\"drawRect\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:\"#fefefe\",o=arguments.length>6&&void 0!==arguments[6]?arguments[6]:1,n=arguments.length>7&&void 0!==arguments[7]?arguments[7]:null,l=arguments.length>8&&void 0!==arguments[8]?arguments[8]:null,h=arguments.length>9&&void 0!==arguments[9]?arguments[9]:0,c=this.w,d=c.globals.dom.Paper.rect();return d.attr({x:t,y:e,width:i>0?i:0,height:a>0?a:0,rx:s,ry:s,opacity:o,\"stroke-width\":null!==n?n:0,stroke:null!==l?l:\"none\",\"stroke-dasharray\":h}),d.node.setAttribute(\"fill\",r),d}},{key:\"drawPolygon\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"#e1e1e1\",i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:\"none\",s=this.w,r=s.globals.dom.Paper.polygon(t).attr({fill:a,stroke:e,\"stroke-width\":i});return r}},{key:\"drawCircle\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=this.w;t<0&&(t=0);var a=i.globals.dom.Paper.circle(2*t);return null!==e&&a.attr(e),a}},{key:\"drawPath\",value:function(t){var e=t.d,i=void 0===e?\"\":e,a=t.stroke,s=void 0===a?\"#a8a8a8\":a,r=t.strokeWidth,o=void 0===r?1:r,n=t.fill,l=t.fillOpacity,h=void 0===l?1:l,c=t.strokeOpacity,d=void 0===c?1:c,g=t.classes,u=t.strokeLinecap,f=void 0===u?null:u,p=t.strokeDashArray,x=void 0===p?0:p,b=this.w;return null===f&&(f=b.config.stroke.lineCap),(i.indexOf(\"undefined\")>-1||i.indexOf(\"NaN\")>-1)&&(i=\"M 0 \".concat(b.globals.gridHeight)),b.globals.dom.Paper.path(i).attr({fill:n,\"fill-opacity\":h,stroke:s,\"stroke-opacity\":d,\"stroke-linecap\":f,\"stroke-width\":o,\"stroke-dasharray\":x,class:g})}},{key:\"group\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=this.w,i=e.globals.dom.Paper.group();return null!==t&&i.attr(t),i}},{key:\"move\",value:function(t,e){var i=[\"M\",t,e].join(\" \");return i}},{key:\"line\",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=null;return null===i?a=[\" L\",t,e].join(\" \"):\"H\"===i?a=[\" H\",t].join(\" \"):\"V\"===i&&(a=[\" V\",e].join(\" \")),a}},{key:\"curve\",value:function(t,e,i,a,s,r){var o=[\"C\",t,e,i,a,s,r].join(\" \");return o}},{key:\"quadraticCurve\",value:function(t,e,i,a){return[\"Q\",t,e,i,a].join(\" \")}},{key:\"arc\",value:function(t,e,i,a,s,r,o){var n=arguments.length>7&&void 0!==arguments[7]&&arguments[7],l=\"A\";n&&(l=\"a\");var h=[l,t,e,i,a,s,r,o].join(\" \");return h}},{key:\"renderPaths\",value:function(t){var i,a=t.j,s=t.realIndex,r=t.pathFrom,o=t.pathTo,n=t.stroke,l=t.strokeWidth,h=t.strokeLinecap,c=t.fill,d=t.animationDelay,g=t.initialSpeed,u=t.dataChangeSpeed,f=t.className,p=t.shouldClipToGrid,x=void 0===p||p,m=t.bindEventsOnPaths,y=void 0===m||m,w=t.drawShadow,k=void 0===w||w,A=this.w,S=new v(this.ctx),C=new b(this.ctx),L=this.w.config.chart.animations.enabled,P=L&&this.w.config.chart.animations.dynamicAnimation.enabled,T=!!(L&&!A.globals.resized||P&&A.globals.dataChanged&&A.globals.shouldAnimate);T?i=r:(i=o,A.globals.animationEnded=!0);var M=A.config.stroke.dashArray,I=0;I=Array.isArray(M)?M[s]:A.config.stroke.dashArray;var z=this.drawPath({d:i,stroke:n,strokeWidth:l,fill:c,fillOpacity:1,classes:f,strokeLinecap:h,strokeDashArray:I});if(z.attr(\"index\",s),x&&z.attr({\"clip-path\":\"url(#gridRectMask\".concat(A.globals.cuid,\")\")}),\"none\"!==A.config.states.normal.filter.type)S.getDefaultFilter(z,s);else if(A.config.chart.dropShadow.enabled&&k&&(!A.config.chart.dropShadow.enabledOnSeries||A.config.chart.dropShadow.enabledOnSeries&&-1!==A.config.chart.dropShadow.enabledOnSeries.indexOf(s))){var X=A.config.chart.dropShadow;S.dropShadow(z,X,s)}y&&(z.node.addEventListener(\"mouseenter\",this.pathMouseEnter.bind(this,z)),z.node.addEventListener(\"mouseleave\",this.pathMouseLeave.bind(this,z)),z.node.addEventListener(\"mousedown\",this.pathMouseDown.bind(this,z))),z.attr({pathTo:o,pathFrom:r});var E={el:z,j:a,realIndex:s,pathFrom:r,pathTo:o,fill:c,strokeWidth:l,delay:d};return!L||A.globals.resized||A.globals.dataChanged?!A.globals.resized&&A.globals.dataChanged||C.showDelayedElements():C.animatePathsGradually(e(e({},E),{},{speed:g})),A.globals.dataChanged&&P&&T&&C.animatePathsGradually(e(e({},E),{},{speed:u})),z}},{key:\"drawPattern\",value:function(t,e,i){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:\"#a8a8a8\",s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,r=this.w,o=r.globals.dom.Paper.pattern(e,i,(function(r){\"horizontalLines\"===t?r.line(0,0,i,0).stroke({color:a,width:s+1}):\"verticalLines\"===t?r.line(0,0,0,e).stroke({color:a,width:s+1}):\"slantedLines\"===t?r.line(0,0,e,i).stroke({color:a,width:s}):\"squares\"===t?r.rect(e,i).fill(\"none\").stroke({color:a,width:s}):\"circles\"===t&&r.circle(e).fill(\"none\").stroke({color:a,width:s})}));return o}},{key:\"drawGradient\",value:function(t,e,i,a,s){var r,o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:null,n=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null,l=arguments.length>7&&void 0!==arguments[7]?arguments[7]:null,h=arguments.length>8&&void 0!==arguments[8]?arguments[8]:0,c=this.w;e.length<9&&0===e.indexOf(\"#\")&&(e=x.hexToRgba(e,a)),i.length<9&&0===i.indexOf(\"#\")&&(i=x.hexToRgba(i,s));var d=0,g=1,u=1,f=null;null!==n&&(d=void 0!==n[0]?n[0]/100:0,g=void 0!==n[1]?n[1]/100:1,u=void 0!==n[2]?n[2]/100:1,f=void 0!==n[3]?n[3]/100:null);var p=!(\"donut\"!==c.config.chart.type&&\"pie\"!==c.config.chart.type&&\"polarArea\"!==c.config.chart.type&&\"bubble\"!==c.config.chart.type);if(r=null===l||0===l.length?c.globals.dom.Paper.gradient(p?\"radial\":\"linear\",(function(t){t.at(d,e,a),t.at(g,i,s),t.at(u,i,s),null!==f&&t.at(f,e,a)})):c.globals.dom.Paper.gradient(p?\"radial\":\"linear\",(function(t){(Array.isArray(l[h])?l[h]:l).forEach((function(e){t.at(e.offset/100,e.color,e.opacity)}))})),p){var b=c.globals.gridWidth/2,v=c.globals.gridHeight/2;\"bubble\"!==c.config.chart.type?r.attr({gradientUnits:\"userSpaceOnUse\",cx:b,cy:v,r:o}):r.attr({cx:.5,cy:.5,r:.8,fx:.2,fy:.2})}else\"vertical\"===t?r.from(0,0).to(0,1):\"diagonal\"===t?r.from(0,0).to(1,1):\"horizontal\"===t?r.from(0,1).to(1,1):\"diagonal2\"===t&&r.from(1,0).to(0,1);return r}},{key:\"getTextBasedOnMaxWidth\",value:function(t){var e=t.text,i=t.maxWidth,a=t.fontSize,s=t.fontFamily,r=this.getTextRects(e,a,s),o=r.width/e.length,n=Math.floor(i/o);return i-1){var n=i.globals.selectedDataPoints[s].indexOf(r);i.globals.selectedDataPoints[s].splice(n,1)}}else{if(!i.config.states.active.allowMultipleDataPointsSelection&&i.globals.selectedDataPoints.length>0){i.globals.selectedDataPoints=[];var l=i.globals.dom.Paper.select(\".apexcharts-series path\").members,h=i.globals.dom.Paper.select(\".apexcharts-series circle, .apexcharts-series rect\").members,c=function(t){Array.prototype.forEach.call(t,(function(t){t.node.setAttribute(\"selected\",\"false\"),a.getDefaultFilter(t,s)}))};c(l),c(h)}t.node.setAttribute(\"selected\",\"true\"),o=\"true\",void 0===i.globals.selectedDataPoints[s]&&(i.globals.selectedDataPoints[s]=[]),i.globals.selectedDataPoints[s].push(r)}if(\"true\"===o){var d=i.config.states.active.filter;if(\"none\"!==d)a.applyFilter(t,s,d.type,d.value);else if(\"none\"!==i.config.states.hover.filter&&!i.globals.isTouchDevice){var g=i.config.states.hover.filter;a.applyFilter(t,s,g.type,g.value)}}else if(\"none\"!==i.config.states.active.filter.type)if(\"none\"===i.config.states.hover.filter.type||i.globals.isTouchDevice)a.getDefaultFilter(t,s);else{g=i.config.states.hover.filter;a.applyFilter(t,s,g.type,g.value)}\"function\"==typeof i.config.chart.events.dataPointSelection&&i.config.chart.events.dataPointSelection(e,this.ctx,{selectedDataPoints:i.globals.selectedDataPoints,seriesIndex:s,dataPointIndex:r,w:i}),e&&this.ctx.events.fireEvent(\"dataPointSelection\",[e,this.ctx,{selectedDataPoints:i.globals.selectedDataPoints,seriesIndex:s,dataPointIndex:r,w:i}])}},{key:\"rotateAroundCenter\",value:function(t){var e={};return t&&\"function\"==typeof t.getBBox&&(e=t.getBBox()),{x:e.x+e.width/2,y:e.y+e.height/2}}},{key:\"getTextRects\",value:function(t,e,i,a){var s=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],r=this.w,o=this.drawText({x:-200,y:-200,text:t,textAnchor:\"start\",fontSize:e,fontFamily:i,foreColor:\"#fff\",opacity:0});a&&o.attr(\"transform\",a),r.globals.dom.Paper.add(o);var n=o.bbox();return s||(n=o.node.getBoundingClientRect()),o.remove(),{width:n.width,height:n.height}}},{key:\"placeTextWithEllipsis\",value:function(t,e,i){if(\"function\"==typeof t.getComputedTextLength&&(t.textContent=e,e.length>0&&t.getComputedTextLength()>=i/1.1)){for(var a=e.length-3;a>0;a-=3)if(t.getSubStringLength(0,a)<=i/1.1)return void(t.textContent=e.substring(0,a)+\"...\");t.textContent=\".\"}}}],[{key:\"setAttrs\",value:function(t,e){for(var i in e)e.hasOwnProperty(i)&&t.setAttribute(i,e[i])}}]),t}(),y=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:\"getStackedSeriesTotals\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=this.w,i=[];if(0===e.globals.series.length)return i;for(var a=0;a0&&void 0!==arguments[0]?arguments[0]:null;return null===t?this.w.config.series.reduce((function(t,e){return t+e}),0):this.w.globals.series[t].reduce((function(t,e){return t+e}),0)}},{key:\"isSeriesNull\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return 0===(null===t?this.w.config.series.filter((function(t){return null!==t})):this.w.config.series[t].data.filter((function(t){return null!==t}))).length}},{key:\"seriesHaveSameValues\",value:function(t){return this.w.globals.series[t].every((function(t,e,i){return t===i[0]}))}},{key:\"getCategoryLabels\",value:function(t){var e=this.w,i=t.slice();return e.config.xaxis.convertedCatToNumeric&&(i=t.map((function(t,i){return e.config.xaxis.labels.formatter(t-e.globals.minX+1)}))),i}},{key:\"getLargestSeries\",value:function(){var t=this.w;t.globals.maxValsInArrayIndex=t.globals.series.map((function(t){return t.length})).indexOf(Math.max.apply(Math,t.globals.series.map((function(t){return t.length}))))}},{key:\"getLargestMarkerSize\",value:function(){var t=this.w,e=0;return t.globals.markers.size.forEach((function(t){e=Math.max(e,t)})),t.config.markers.discrete&&t.config.markers.discrete.length&&t.config.markers.discrete.forEach((function(t){e=Math.max(e,t.size)})),e>0&&(e+=t.config.markers.hover.sizeOffset+1),t.globals.markers.largestSize=e,e}},{key:\"getSeriesTotals\",value:function(){var t=this.w;t.globals.seriesTotals=t.globals.series.map((function(t,e){var i=0;if(Array.isArray(t))for(var a=0;at&&i.globals.seriesX[s][o]0&&(e=!0),{comboBarCount:i,comboCharts:e}}},{key:\"extendArrayProps\",value:function(t,e,i){return e.yaxis&&(e=t.extendYAxis(e,i)),e.annotations&&(e.annotations.yaxis&&(e=t.extendYAxisAnnotations(e)),e.annotations.xaxis&&(e=t.extendXAxisAnnotations(e)),e.annotations.points&&(e=t.extendPointAnnotations(e))),e}}]),t}(),w=function(){function t(e){a(this,t),this.w=e.w,this.annoCtx=e}return r(t,[{key:\"setOrientations\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=this.w;if(\"vertical\"===t.label.orientation){var a=null!==e?e:0,s=i.globals.dom.baseEl.querySelector(\".apexcharts-xaxis-annotations .apexcharts-xaxis-annotation-label[rel='\".concat(a,\"']\"));if(null!==s){var r=s.getBoundingClientRect();s.setAttribute(\"x\",parseFloat(s.getAttribute(\"x\"))-r.height+4),\"top\"===t.label.position?s.setAttribute(\"y\",parseFloat(s.getAttribute(\"y\"))+r.width):s.setAttribute(\"y\",parseFloat(s.getAttribute(\"y\"))-r.width);var o=this.annoCtx.graphics.rotateAroundCenter(s),n=o.x,l=o.y;s.setAttribute(\"transform\",\"rotate(-90 \".concat(n,\" \").concat(l,\")\"))}}}},{key:\"addBackgroundToAnno\",value:function(t,e){var i=this.w;if(!t||void 0===e.label.text||void 0!==e.label.text&&!String(e.label.text).trim())return null;var a=i.globals.dom.baseEl.querySelector(\".apexcharts-grid\").getBoundingClientRect(),s=t.getBoundingClientRect(),r=e.label.style.padding.left,o=e.label.style.padding.right,n=e.label.style.padding.top,l=e.label.style.padding.bottom;\"vertical\"===e.label.orientation&&(n=e.label.style.padding.left,l=e.label.style.padding.right,r=e.label.style.padding.top,o=e.label.style.padding.bottom);var h=s.left-a.left-r,c=s.top-a.top-n,d=this.annoCtx.graphics.drawRect(h-i.globals.barPadForNumericAxis,c,s.width+r+o,s.height+n+l,e.label.borderRadius,e.label.style.background,1,e.label.borderWidth,e.label.borderColor,0);return e.id&&d.node.classList.add(e.id),d}},{key:\"annotationsBackground\",value:function(){var t=this,e=this.w,i=function(i,a,s){var r=e.globals.dom.baseEl.querySelector(\".apexcharts-\".concat(s,\"-annotations .apexcharts-\").concat(s,\"-annotation-label[rel='\").concat(a,\"']\"));if(r){var o=r.parentNode,n=t.addBackgroundToAnno(r,i);n&&(o.insertBefore(n.node,r),i.label.mouseEnter&&n.node.addEventListener(\"mouseenter\",i.label.mouseEnter.bind(t,i)),i.label.mouseLeave&&n.node.addEventListener(\"mouseleave\",i.label.mouseLeave.bind(t,i)),i.label.click&&n.node.addEventListener(\"click\",i.label.click.bind(t,i)))}};e.config.annotations.xaxis.map((function(t,e){i(t,e,\"xaxis\")})),e.config.annotations.yaxis.map((function(t,e){i(t,e,\"yaxis\")})),e.config.annotations.points.map((function(t,e){i(t,e,\"point\")}))}},{key:\"getY1Y2\",value:function(t,e){var i,a=\"y1\"===t?e.y:e.y2,s=this.w;if(this.annoCtx.invertAxis){var r=s.globals.labels.indexOf(a);s.config.xaxis.convertedCatToNumeric&&(r=s.globals.categoryLabels.indexOf(a));var o=s.globals.dom.baseEl.querySelector(\".apexcharts-yaxis-texts-g text:nth-child(\"+(r+1)+\")\");o&&(i=parseFloat(o.getAttribute(\"y\")))}else{var n;if(s.config.yaxis[e.yAxisIndex].logarithmic)n=(a=new y(this.annoCtx.ctx).getLogVal(a,e.yAxisIndex))/s.globals.yLogRatio[e.yAxisIndex];else n=(a-s.globals.minYArr[e.yAxisIndex])/(s.globals.yRange[e.yAxisIndex]/s.globals.gridHeight);i=s.globals.gridHeight-n,!e.marker||void 0!==e.y&&null!==e.y||(i=0),s.config.yaxis[e.yAxisIndex]&&s.config.yaxis[e.yAxisIndex].reversed&&(i=n)}return\"string\"==typeof a&&a.indexOf(\"px\")>-1&&(i=parseFloat(a)),i}},{key:\"getX1X2\",value:function(t,e){var i=this.w,a=this.annoCtx.invertAxis?i.globals.minY:i.globals.minX,s=this.annoCtx.invertAxis?i.globals.maxY:i.globals.maxX,r=this.annoCtx.invertAxis?i.globals.yRange[0]:i.globals.xRange,o=(e.x-a)/(r/i.globals.gridWidth);this.annoCtx.inversedReversedAxis&&(o=(s-e.x)/(r/i.globals.gridWidth)),\"category\"!==i.config.xaxis.type&&!i.config.xaxis.convertedCatToNumeric||this.annoCtx.invertAxis||i.globals.dataFormatXNumeric||(o=this.getStringX(e.x));var n=(e.x2-a)/(r/i.globals.gridWidth);return this.annoCtx.inversedReversedAxis&&(n=(s-e.x2)/(r/i.globals.gridWidth)),\"category\"!==i.config.xaxis.type&&!i.config.xaxis.convertedCatToNumeric||this.annoCtx.invertAxis||i.globals.dataFormatXNumeric||(n=this.getStringX(e.x2)),void 0!==e.x&&null!==e.x||!e.marker||(o=i.globals.gridWidth),\"x1\"===t&&\"string\"==typeof e.x&&e.x.indexOf(\"px\")>-1&&(o=parseFloat(e.x)),\"x2\"===t&&\"string\"==typeof e.x2&&e.x2.indexOf(\"px\")>-1&&(n=parseFloat(e.x2)),\"x1\"===t?o:n}},{key:\"getStringX\",value:function(t){var e=this.w,i=t;e.config.xaxis.convertedCatToNumeric&&e.globals.categoryLabels.length&&(t=e.globals.categoryLabels.indexOf(t)+1);var a=e.globals.labels.indexOf(t),s=e.globals.dom.baseEl.querySelector(\".apexcharts-xaxis-texts-g text:nth-child(\"+(a+1)+\")\");return s&&(i=parseFloat(s.getAttribute(\"x\"))),i}}]),t}(),k=function(){function t(e){a(this,t),this.w=e.w,this.annoCtx=e,this.invertAxis=this.annoCtx.invertAxis,this.helpers=new w(this.annoCtx)}return r(t,[{key:\"addXaxisAnnotation\",value:function(t,e,i){var a,s=this.w,r=this.helpers.getX1X2(\"x1\",t),o=t.label.text,n=t.strokeDashArray;if(x.isNumber(r)){if(null===t.x2||void 0===t.x2){var l=this.annoCtx.graphics.drawLine(r+t.offsetX,0+t.offsetY,r+t.offsetX,s.globals.gridHeight+t.offsetY,t.borderColor,n,t.borderWidth);e.appendChild(l.node),t.id&&l.node.classList.add(t.id)}else{if((a=this.helpers.getX1X2(\"x2\",t))o){var h=o;o=a,a=h}var c=this.annoCtx.graphics.drawRect(0+t.offsetX,a+t.offsetY,this._getYAxisAnnotationWidth(t),o-a,0,t.fillColor,t.opacity,1,t.borderColor,r);c.node.classList.add(\"apexcharts-annotation-rect\"),c.attr(\"clip-path\",\"url(#gridRectMask\".concat(s.globals.cuid,\")\")),e.appendChild(c.node),t.id&&c.node.classList.add(t.id)}var d=\"right\"===t.label.position?s.globals.gridWidth:\"center\"===t.label.position?s.globals.gridWidth/2:0,g=this.annoCtx.graphics.drawText({x:d+t.label.offsetX,y:(null!=a?a:o)+t.label.offsetY-3,text:n,textAnchor:t.label.textAnchor,fontSize:t.label.style.fontSize,fontFamily:t.label.style.fontFamily,fontWeight:t.label.style.fontWeight,foreColor:t.label.style.color,cssClass:\"apexcharts-yaxis-annotation-label \".concat(t.label.style.cssClass,\" \").concat(t.id?t.id:\"\")});g.attr({rel:i}),e.appendChild(g.node)}},{key:\"_getYAxisAnnotationWidth\",value:function(t){var e=this.w;e.globals.gridWidth;return(t.width.indexOf(\"%\")>-1?e.globals.gridWidth*parseInt(t.width,10)/100:parseInt(t.width,10))+t.offsetX}},{key:\"drawYAxisAnnotations\",value:function(){var t=this,e=this.w,i=this.annoCtx.graphics.group({class:\"apexcharts-yaxis-annotations\"});return e.config.annotations.yaxis.map((function(e,a){t.addYaxisAnnotation(e,i.node,a)})),i}}]),t}(),S=function(){function t(e){a(this,t),this.w=e.w,this.annoCtx=e,this.helpers=new w(this.annoCtx)}return r(t,[{key:\"addPointAnnotation\",value:function(t,e,i){this.w;var a=this.helpers.getX1X2(\"x1\",t),s=this.helpers.getY1Y2(\"y1\",t);if(x.isNumber(a)){var r={pSize:t.marker.size,pointStrokeWidth:t.marker.strokeWidth,pointFillColor:t.marker.fillColor,pointStrokeColor:t.marker.strokeColor,shape:t.marker.shape,pRadius:t.marker.radius,class:\"apexcharts-point-annotation-marker \".concat(t.marker.cssClass,\" \").concat(t.id?t.id:\"\")},o=this.annoCtx.graphics.drawMarker(a+t.marker.offsetX,s+t.marker.offsetY,r);e.appendChild(o.node);var n=t.label.text?t.label.text:\"\",l=this.annoCtx.graphics.drawText({x:a+t.label.offsetX,y:s+t.label.offsetY-t.marker.size-parseFloat(t.label.style.fontSize)/1.6,text:n,textAnchor:t.label.textAnchor,fontSize:t.label.style.fontSize,fontFamily:t.label.style.fontFamily,fontWeight:t.label.style.fontWeight,foreColor:t.label.style.color,cssClass:\"apexcharts-point-annotation-label \".concat(t.label.style.cssClass,\" \").concat(t.id?t.id:\"\")});if(l.attr({rel:i}),e.appendChild(l.node),t.customSVG.SVG){var h=this.annoCtx.graphics.group({class:\"apexcharts-point-annotations-custom-svg \"+t.customSVG.cssClass});h.attr({transform:\"translate(\".concat(a+t.customSVG.offsetX,\", \").concat(s+t.customSVG.offsetY,\")\")}),h.node.innerHTML=t.customSVG.SVG,e.appendChild(h.node)}if(t.image.path){var c=t.image.width?t.image.width:20,d=t.image.height?t.image.height:20;o=this.annoCtx.addImage({x:a+t.image.offsetX-c/2,y:s+t.image.offsetY-d/2,width:c,height:d,path:t.image.path,appendTo:\".apexcharts-point-annotations\"})}t.mouseEnter&&o.node.addEventListener(\"mouseenter\",t.mouseEnter.bind(this,t)),t.mouseLeave&&o.node.addEventListener(\"mouseleave\",t.mouseLeave.bind(this,t)),t.click&&o.node.addEventListener(\"click\",t.click.bind(this,t))}}},{key:\"drawPointAnnotations\",value:function(){var t=this,e=this.w,i=this.annoCtx.graphics.group({class:\"apexcharts-point-annotations\"});return e.config.annotations.points.map((function(e,a){t.addPointAnnotation(e,i.node,a)})),i}}]),t}();var C={name:\"en\",options:{months:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],shortMonths:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],days:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],shortDays:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],toolbar:{exportToSVG:\"Download SVG\",exportToPNG:\"Download PNG\",exportToCSV:\"Download CSV\",menu:\"Menu\",selection:\"Selection\",selectionZoom:\"Selection Zoom\",zoomIn:\"Zoom In\",zoomOut:\"Zoom Out\",pan:\"Panning\",reset:\"Reset Zoom\"}}},L=function(){function t(){a(this,t),this.yAxis={show:!0,showAlways:!1,showForNullSeries:!0,seriesName:void 0,opposite:!1,reversed:!1,logarithmic:!1,logBase:10,tickAmount:void 0,forceNiceScale:!1,max:void 0,min:void 0,floating:!1,decimalsInFloat:void 0,labels:{show:!0,minWidth:0,maxWidth:160,offsetX:0,offsetY:0,align:void 0,rotate:0,padding:20,style:{colors:[],fontSize:\"11px\",fontWeight:400,fontFamily:void 0,cssClass:\"\"},formatter:void 0},axisBorder:{show:!1,color:\"#e0e0e0\",width:1,offsetX:0,offsetY:0},axisTicks:{show:!1,color:\"#e0e0e0\",width:6,offsetX:0,offsetY:0},title:{text:void 0,rotate:-90,offsetY:0,offsetX:0,style:{color:void 0,fontSize:\"11px\",fontWeight:900,fontFamily:void 0,cssClass:\"\"}},tooltip:{enabled:!1,offsetX:0},crosshairs:{show:!0,position:\"front\",stroke:{color:\"#b6b6b6\",width:1,dashArray:0}}},this.pointAnnotation={id:void 0,x:0,y:null,yAxisIndex:0,seriesIndex:0,mouseEnter:void 0,mouseLeave:void 0,click:void 0,marker:{size:4,fillColor:\"#fff\",strokeWidth:2,strokeColor:\"#333\",shape:\"circle\",offsetX:0,offsetY:0,radius:2,cssClass:\"\"},label:{borderColor:\"#c2c2c2\",borderWidth:1,borderRadius:2,text:void 0,textAnchor:\"middle\",offsetX:0,offsetY:0,mouseEnter:void 0,mouseLeave:void 0,click:void 0,style:{background:\"#fff\",color:void 0,fontSize:\"11px\",fontFamily:void 0,fontWeight:400,cssClass:\"\",padding:{left:5,right:5,top:2,bottom:2}}},customSVG:{SVG:void 0,cssClass:void 0,offsetX:0,offsetY:0},image:{path:void 0,width:20,height:20,offsetX:0,offsetY:0}},this.yAxisAnnotation={id:void 0,y:0,y2:null,strokeDashArray:1,fillColor:\"#c2c2c2\",borderColor:\"#c2c2c2\",borderWidth:1,opacity:.3,offsetX:0,offsetY:0,width:\"100%\",yAxisIndex:0,label:{borderColor:\"#c2c2c2\",borderWidth:1,borderRadius:2,text:void 0,textAnchor:\"end\",position:\"right\",offsetX:0,offsetY:-3,mouseEnter:void 0,mouseLeave:void 0,click:void 0,style:{background:\"#fff\",color:void 0,fontSize:\"11px\",fontFamily:void 0,fontWeight:400,cssClass:\"\",padding:{left:5,right:5,top:2,bottom:2}}}},this.xAxisAnnotation={id:void 0,x:0,x2:null,strokeDashArray:1,fillColor:\"#c2c2c2\",borderColor:\"#c2c2c2\",borderWidth:1,opacity:.3,offsetX:0,offsetY:0,label:{borderColor:\"#c2c2c2\",borderWidth:1,borderRadius:2,text:void 0,textAnchor:\"middle\",orientation:\"vertical\",position:\"top\",offsetX:0,offsetY:0,mouseEnter:void 0,mouseLeave:void 0,click:void 0,style:{background:\"#fff\",color:void 0,fontSize:\"11px\",fontFamily:void 0,fontWeight:400,cssClass:\"\",padding:{left:5,right:5,top:2,bottom:2}}}},this.text={x:0,y:0,text:\"\",textAnchor:\"start\",foreColor:void 0,fontSize:\"13px\",fontFamily:void 0,fontWeight:400,appendTo:\".apexcharts-annotations\",backgroundColor:\"transparent\",borderColor:\"#c2c2c2\",borderRadius:0,borderWidth:0,paddingLeft:4,paddingRight:4,paddingTop:2,paddingBottom:2}}return r(t,[{key:\"init\",value:function(){return{annotations:{position:\"front\",yaxis:[this.yAxisAnnotation],xaxis:[this.xAxisAnnotation],points:[this.pointAnnotation],texts:[],images:[],shapes:[]},chart:{animations:{enabled:!0,easing:\"easeinout\",speed:800,animateGradually:{delay:150,enabled:!0},dynamicAnimation:{enabled:!0,speed:350}},background:\"transparent\",locales:[C],defaultLocale:\"en\",dropShadow:{enabled:!1,enabledOnSeries:void 0,top:2,left:2,blur:4,color:\"#000\",opacity:.35},events:{animationEnd:void 0,beforeMount:void 0,mounted:void 0,updated:void 0,click:void 0,mouseMove:void 0,mouseLeave:void 0,xAxisLabelClick:void 0,legendClick:void 0,markerClick:void 0,selection:void 0,dataPointSelection:void 0,dataPointMouseEnter:void 0,dataPointMouseLeave:void 0,beforeZoom:void 0,beforeResetZoom:void 0,zoomed:void 0,scrolled:void 0,brushScrolled:void 0},foreColor:\"#373d3f\",fontFamily:\"Helvetica, Arial, sans-serif\",height:\"auto\",parentHeightOffset:15,redrawOnParentResize:!0,redrawOnWindowResize:!0,id:void 0,group:void 0,offsetX:0,offsetY:0,selection:{enabled:!1,type:\"x\",fill:{color:\"#24292e\",opacity:.1},stroke:{width:1,color:\"#24292e\",opacity:.4,dashArray:3},xaxis:{min:void 0,max:void 0},yaxis:{min:void 0,max:void 0}},sparkline:{enabled:!1},brush:{enabled:!1,autoScaleYaxis:!0,target:void 0},stacked:!1,stackType:\"normal\",toolbar:{show:!0,offsetX:0,offsetY:0,tools:{download:!0,selection:!0,zoom:!0,zoomin:!0,zoomout:!0,pan:!0,reset:!0,customIcons:[]},export:{csv:{filename:void 0,columnDelimiter:\",\",headerCategory:\"category\",headerValue:\"value\",dateFormatter:function(t){return new Date(t).toDateString()}},png:{filename:void 0},svg:{filename:void 0}},autoSelected:\"zoom\"},type:\"line\",width:\"100%\",zoom:{enabled:!0,type:\"x\",autoScaleYaxis:!1,zoomedArea:{fill:{color:\"#90CAF9\",opacity:.4},stroke:{color:\"#0D47A1\",opacity:.4,width:1}}}},plotOptions:{area:{fillTo:\"origin\"},bar:{horizontal:!1,columnWidth:\"70%\",barHeight:\"70%\",distributed:!1,borderRadius:0,borderRadiusApplication:\"around\",borderRadiusWhenStacked:\"last\",rangeBarOverlap:!0,rangeBarGroupRows:!1,colors:{ranges:[],backgroundBarColors:[],backgroundBarOpacity:1,backgroundBarRadius:0},dataLabels:{position:\"top\",maxItems:100,hideOverflowingLabels:!0,orientation:\"horizontal\",total:{enabled:!1,formatter:void 0,offsetX:0,offsetY:0,style:{color:\"#373d3f\",fontSize:\"12px\",fontFamily:void 0,fontWeight:600}}}},bubble:{zScaling:!0,minBubbleRadius:void 0,maxBubbleRadius:void 0},candlestick:{colors:{upward:\"#00B746\",downward:\"#EF403C\"},wick:{useFillColor:!0}},boxPlot:{colors:{upper:\"#00E396\",lower:\"#008FFB\"}},heatmap:{radius:2,enableShades:!0,shadeIntensity:.5,reverseNegativeShade:!1,distributed:!1,useFillColorAsStroke:!1,colorScale:{inverse:!1,ranges:[],min:void 0,max:void 0}},treemap:{enableShades:!0,shadeIntensity:.5,distributed:!1,reverseNegativeShade:!1,useFillColorAsStroke:!1,colorScale:{inverse:!1,ranges:[],min:void 0,max:void 0}},radialBar:{inverseOrder:!1,startAngle:0,endAngle:360,offsetX:0,offsetY:0,hollow:{margin:5,size:\"50%\",background:\"transparent\",image:void 0,imageWidth:150,imageHeight:150,imageOffsetX:0,imageOffsetY:0,imageClipped:!0,position:\"front\",dropShadow:{enabled:!1,top:0,left:0,blur:3,color:\"#000\",opacity:.5}},track:{show:!0,startAngle:void 0,endAngle:void 0,background:\"#f2f2f2\",strokeWidth:\"97%\",opacity:1,margin:5,dropShadow:{enabled:!1,top:0,left:0,blur:3,color:\"#000\",opacity:.5}},dataLabels:{show:!0,name:{show:!0,fontSize:\"16px\",fontFamily:void 0,fontWeight:600,color:void 0,offsetY:0,formatter:function(t){return t}},value:{show:!0,fontSize:\"14px\",fontFamily:void 0,fontWeight:400,color:void 0,offsetY:16,formatter:function(t){return t+\"%\"}},total:{show:!1,label:\"Total\",fontSize:\"16px\",fontWeight:600,fontFamily:void 0,color:void 0,formatter:function(t){return t.globals.seriesTotals.reduce((function(t,e){return t+e}),0)/t.globals.series.length+\"%\"}}}},pie:{customScale:1,offsetX:0,offsetY:0,startAngle:0,endAngle:360,expandOnClick:!0,dataLabels:{offset:0,minAngleToShowLabel:10},donut:{size:\"65%\",background:\"transparent\",labels:{show:!1,name:{show:!0,fontSize:\"16px\",fontFamily:void 0,fontWeight:600,color:void 0,offsetY:-10,formatter:function(t){return t}},value:{show:!0,fontSize:\"20px\",fontFamily:void 0,fontWeight:400,color:void 0,offsetY:10,formatter:function(t){return t}},total:{show:!1,showAlways:!1,label:\"Total\",fontSize:\"16px\",fontWeight:400,fontFamily:void 0,color:void 0,formatter:function(t){return t.globals.seriesTotals.reduce((function(t,e){return t+e}),0)}}}}},polarArea:{rings:{strokeWidth:1,strokeColor:\"#e8e8e8\"},spokes:{strokeWidth:1,connectorColors:\"#e8e8e8\"}},radar:{size:void 0,offsetX:0,offsetY:0,polygons:{strokeWidth:1,strokeColors:\"#e8e8e8\",connectorColors:\"#e8e8e8\",fill:{colors:void 0}}}},colors:void 0,dataLabels:{enabled:!0,enabledOnSeries:void 0,formatter:function(t){return null!==t?t:\"\"},textAnchor:\"middle\",distributed:!1,offsetX:0,offsetY:0,style:{fontSize:\"12px\",fontFamily:void 0,fontWeight:600,colors:void 0},background:{enabled:!0,foreColor:\"#fff\",borderRadius:2,padding:4,opacity:.9,borderWidth:1,borderColor:\"#fff\",dropShadow:{enabled:!1,top:1,left:1,blur:1,color:\"#000\",opacity:.45}},dropShadow:{enabled:!1,top:1,left:1,blur:1,color:\"#000\",opacity:.45}},fill:{type:\"solid\",colors:void 0,opacity:.85,gradient:{shade:\"dark\",type:\"horizontal\",shadeIntensity:.5,gradientToColors:void 0,inverseColors:!0,opacityFrom:1,opacityTo:1,stops:[0,50,100],colorStops:[]},image:{src:[],width:void 0,height:void 0},pattern:{style:\"squares\",width:6,height:6,strokeWidth:2}},forecastDataPoints:{count:0,fillOpacity:.5,strokeWidth:void 0,dashArray:4},grid:{show:!0,borderColor:\"#e0e0e0\",strokeDashArray:0,position:\"back\",xaxis:{lines:{show:!1}},yaxis:{lines:{show:!0}},row:{colors:void 0,opacity:.5},column:{colors:void 0,opacity:.5},padding:{top:0,right:10,bottom:0,left:12}},labels:[],legend:{show:!0,showForSingleSeries:!1,showForNullSeries:!0,showForZeroSeries:!0,floating:!1,position:\"bottom\",horizontalAlign:\"center\",inverseOrder:!1,fontSize:\"12px\",fontFamily:void 0,fontWeight:400,width:void 0,height:void 0,formatter:void 0,tooltipHoverFormatter:void 0,offsetX:-20,offsetY:4,customLegendItems:[],labels:{colors:void 0,useSeriesColors:!1},markers:{width:12,height:12,strokeWidth:0,fillColors:void 0,strokeColor:\"#fff\",radius:12,customHTML:void 0,offsetX:0,offsetY:0,onClick:void 0},itemMargin:{horizontal:5,vertical:2},onItemClick:{toggleDataSeries:!0},onItemHover:{highlightDataSeries:!0}},markers:{discrete:[],size:0,colors:void 0,strokeColors:\"#fff\",strokeWidth:2,strokeOpacity:.9,strokeDashArray:0,fillOpacity:1,shape:\"circle\",width:8,height:8,radius:2,offsetX:0,offsetY:0,onClick:void 0,onDblClick:void 0,showNullDataPoints:!0,hover:{size:void 0,sizeOffset:3}},noData:{text:void 0,align:\"center\",verticalAlign:\"middle\",offsetX:0,offsetY:0,style:{color:void 0,fontSize:\"14px\",fontFamily:void 0}},responsive:[],series:void 0,states:{normal:{filter:{type:\"none\",value:0}},hover:{filter:{type:\"lighten\",value:.1}},active:{allowMultipleDataPointsSelection:!1,filter:{type:\"darken\",value:.5}}},title:{text:void 0,align:\"left\",margin:5,offsetX:0,offsetY:0,floating:!1,style:{fontSize:\"14px\",fontWeight:900,fontFamily:void 0,color:void 0}},subtitle:{text:void 0,align:\"left\",margin:5,offsetX:0,offsetY:30,floating:!1,style:{fontSize:\"12px\",fontWeight:400,fontFamily:void 0,color:void 0}},stroke:{show:!0,curve:\"smooth\",lineCap:\"butt\",width:2,colors:void 0,dashArray:0,fill:{type:\"solid\",colors:void 0,opacity:.85,gradient:{shade:\"dark\",type:\"horizontal\",shadeIntensity:.5,gradientToColors:void 0,inverseColors:!0,opacityFrom:1,opacityTo:1,stops:[0,50,100],colorStops:[]}}},tooltip:{enabled:!0,enabledOnSeries:void 0,shared:!0,followCursor:!1,intersect:!1,inverseOrder:!1,custom:void 0,fillSeriesColor:!1,theme:\"light\",cssClass:\"\",style:{fontSize:\"12px\",fontFamily:void 0},onDatasetHover:{highlightDataSeries:!1},x:{show:!0,format:\"dd MMM\",formatter:void 0},y:{formatter:void 0,title:{formatter:function(t){return t?t+\": \":\"\"}}},z:{formatter:void 0,title:\"Size: \"},marker:{show:!0,fillColors:void 0},items:{display:\"flex\"},fixed:{enabled:!1,position:\"topRight\",offsetX:0,offsetY:0}},xaxis:{type:\"category\",categories:[],convertedCatToNumeric:!1,offsetX:0,offsetY:0,overwriteCategories:void 0,labels:{show:!0,rotate:-45,rotateAlways:!1,hideOverlappingLabels:!0,trim:!1,minHeight:void 0,maxHeight:120,showDuplicates:!0,style:{colors:[],fontSize:\"12px\",fontWeight:400,fontFamily:void 0,cssClass:\"\"},offsetX:0,offsetY:0,format:void 0,formatter:void 0,datetimeUTC:!0,datetimeFormatter:{year:\"yyyy\",month:\"MMM 'yy\",day:\"dd MMM\",hour:\"HH:mm\",minute:\"HH:mm:ss\",second:\"HH:mm:ss\"}},group:{groups:[],style:{colors:[],fontSize:\"12px\",fontWeight:400,fontFamily:void 0,cssClass:\"\"}},axisBorder:{show:!0,color:\"#e0e0e0\",width:\"100%\",height:1,offsetX:0,offsetY:0},axisTicks:{show:!0,color:\"#e0e0e0\",height:6,offsetX:0,offsetY:0},tickAmount:void 0,tickPlacement:\"on\",min:void 0,max:void 0,range:void 0,floating:!1,decimalsInFloat:void 0,position:\"bottom\",title:{text:void 0,offsetX:0,offsetY:0,style:{color:void 0,fontSize:\"12px\",fontWeight:900,fontFamily:void 0,cssClass:\"\"}},crosshairs:{show:!0,width:1,position:\"back\",opacity:.9,stroke:{color:\"#b6b6b6\",width:1,dashArray:3},fill:{type:\"solid\",color:\"#B1B9C4\",gradient:{colorFrom:\"#D8E3F0\",colorTo:\"#BED1E6\",stops:[0,100],opacityFrom:.4,opacityTo:.5}},dropShadow:{enabled:!1,left:0,top:0,blur:1,opacity:.4}},tooltip:{enabled:!0,offsetY:0,formatter:void 0,style:{fontSize:\"12px\",fontFamily:void 0}}},yaxis:this.yAxis,theme:{mode:\"light\",palette:\"palette1\",monochrome:{enabled:!1,color:\"#008FFB\",shadeTo:\"light\",shadeIntensity:.65}}}}}]),t}(),P=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.graphics=new m(this.ctx),this.w.globals.isBarHorizontal&&(this.invertAxis=!0),this.helpers=new w(this),this.xAxisAnnotations=new k(this),this.yAxisAnnotations=new A(this),this.pointsAnnotations=new S(this),this.w.globals.isBarHorizontal&&this.w.config.yaxis[0].reversed&&(this.inversedReversedAxis=!0),this.xDivision=this.w.globals.gridWidth/this.w.globals.dataPoints}return r(t,[{key:\"drawAxesAnnotations\",value:function(){var t=this.w;if(t.globals.axisCharts){for(var e=this.yAxisAnnotations.drawYAxisAnnotations(),i=this.xAxisAnnotations.drawXAxisAnnotations(),a=this.pointsAnnotations.drawPointAnnotations(),s=t.config.chart.animations.enabled,r=[e,i,a],o=[i.node,e.node,a.node],n=0;n<3;n++)t.globals.dom.elGraphical.add(r[n]),!s||t.globals.resized||t.globals.dataChanged||\"scatter\"!==t.config.chart.type&&\"bubble\"!==t.config.chart.type&&t.globals.dataPoints>1&&o[n].classList.add(\"apexcharts-element-hidden\"),t.globals.delayedElements.push({el:o[n],index:0});this.helpers.annotationsBackground()}}},{key:\"drawImageAnnos\",value:function(){var t=this;this.w.config.annotations.images.map((function(e,i){t.addImage(e,i)}))}},{key:\"drawTextAnnos\",value:function(){var t=this;this.w.config.annotations.texts.map((function(e,i){t.addText(e,i)}))}},{key:\"addXaxisAnnotation\",value:function(t,e,i){this.xAxisAnnotations.addXaxisAnnotation(t,e,i)}},{key:\"addYaxisAnnotation\",value:function(t,e,i){this.yAxisAnnotations.addYaxisAnnotation(t,e,i)}},{key:\"addPointAnnotation\",value:function(t,e,i){this.pointsAnnotations.addPointAnnotation(t,e,i)}},{key:\"addText\",value:function(t,e){var i=t.x,a=t.y,s=t.text,r=t.textAnchor,o=t.foreColor,n=t.fontSize,l=t.fontFamily,h=t.fontWeight,c=t.cssClass,d=t.backgroundColor,g=t.borderWidth,u=t.strokeDashArray,f=t.borderRadius,p=t.borderColor,x=t.appendTo,b=void 0===x?\".apexcharts-annotations\":x,v=t.paddingLeft,m=void 0===v?4:v,y=t.paddingRight,w=void 0===y?4:y,k=t.paddingBottom,A=void 0===k?2:k,S=t.paddingTop,C=void 0===S?2:S,L=this.w,P=this.graphics.drawText({x:i,y:a,text:s,textAnchor:r||\"start\",fontSize:n||\"12px\",fontWeight:h||\"regular\",fontFamily:l||L.config.chart.fontFamily,foreColor:o||L.config.chart.foreColor,cssClass:c}),T=L.globals.dom.baseEl.querySelector(b);T&&T.appendChild(P.node);var M=P.bbox();if(s){var I=this.graphics.drawRect(M.x-m,M.y-C,M.width+m+w,M.height+A+C,f,d||\"transparent\",1,g,p,u);T.insertBefore(I.node,P.node)}}},{key:\"addImage\",value:function(t,e){var i=this.w,a=t.path,s=t.x,r=void 0===s?0:s,o=t.y,n=void 0===o?0:o,l=t.width,h=void 0===l?20:l,c=t.height,d=void 0===c?20:c,g=t.appendTo,u=void 0===g?\".apexcharts-annotations\":g,f=i.globals.dom.Paper.image(a);f.size(h,d).move(r,n);var p=i.globals.dom.baseEl.querySelector(u);return p&&p.appendChild(f.node),f}},{key:\"addXaxisAnnotationExternal\",value:function(t,e,i){return this.addAnnotationExternal({params:t,pushToMemory:e,context:i,type:\"xaxis\",contextMethod:i.addXaxisAnnotation}),i}},{key:\"addYaxisAnnotationExternal\",value:function(t,e,i){return this.addAnnotationExternal({params:t,pushToMemory:e,context:i,type:\"yaxis\",contextMethod:i.addYaxisAnnotation}),i}},{key:\"addPointAnnotationExternal\",value:function(t,e,i){return void 0===this.invertAxis&&(this.invertAxis=i.w.globals.isBarHorizontal),this.addAnnotationExternal({params:t,pushToMemory:e,context:i,type:\"point\",contextMethod:i.addPointAnnotation}),i}},{key:\"addAnnotationExternal\",value:function(t){var e=t.params,i=t.pushToMemory,a=t.context,s=t.type,r=t.contextMethod,o=a,n=o.w,l=n.globals.dom.baseEl.querySelector(\".apexcharts-\".concat(s,\"-annotations\")),h=l.childNodes.length+1,c=new L,d=Object.assign({},\"xaxis\"===s?c.xAxisAnnotation:\"yaxis\"===s?c.yAxisAnnotation:c.pointAnnotation),g=x.extend(d,e);switch(s){case\"xaxis\":this.addXaxisAnnotation(g,l,h);break;case\"yaxis\":this.addYaxisAnnotation(g,l,h);break;case\"point\":this.addPointAnnotation(g,l,h)}var u=n.globals.dom.baseEl.querySelector(\".apexcharts-\".concat(s,\"-annotations .apexcharts-\").concat(s,\"-annotation-label[rel='\").concat(h,\"']\")),f=this.helpers.addBackgroundToAnno(u,g);return f&&l.insertBefore(f.node,u),i&&n.globals.memory.methodsToExec.push({context:o,id:g.id?g.id:x.randomId(),method:r,label:\"addAnnotation\",params:e}),a}},{key:\"clearAnnotations\",value:function(t){var e=t.w,i=e.globals.dom.baseEl.querySelectorAll(\".apexcharts-yaxis-annotations, .apexcharts-xaxis-annotations, .apexcharts-point-annotations\");e.globals.memory.methodsToExec.map((function(t,i){\"addText\"!==t.label&&\"addAnnotation\"!==t.label||e.globals.memory.methodsToExec.splice(i,1)})),i=x.listToArray(i),Array.prototype.forEach.call(i,(function(t){for(;t.firstChild;)t.removeChild(t.firstChild)}))}},{key:\"removeAnnotation\",value:function(t,e){var i=t.w,a=i.globals.dom.baseEl.querySelectorAll(\".\".concat(e));a&&(i.globals.memory.methodsToExec.map((function(t,a){t.id===e&&i.globals.memory.methodsToExec.splice(a,1)})),Array.prototype.forEach.call(a,(function(t){t.parentElement.removeChild(t)})))}}]),t}(),T=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.months31=[1,3,5,7,8,10,12],this.months30=[2,4,6,9,11],this.daysCntOfYear=[0,31,59,90,120,151,181,212,243,273,304,334]}return r(t,[{key:\"isValidDate\",value:function(t){return!isNaN(this.parseDate(t))}},{key:\"getTimeStamp\",value:function(t){return Date.parse(t)?this.w.config.xaxis.labels.datetimeUTC?new Date(new Date(t).toISOString().substr(0,25)).getTime():new Date(t).getTime():t}},{key:\"getDate\",value:function(t){return this.w.config.xaxis.labels.datetimeUTC?new Date(new Date(t).toUTCString()):new Date(t)}},{key:\"parseDate\",value:function(t){var e=Date.parse(t);if(!isNaN(e))return this.getTimeStamp(t);var i=Date.parse(t.replace(/-/g,\"/\").replace(/[a-z]+/gi,\" \"));return i=this.getTimeStamp(i)}},{key:\"parseDateWithTimezone\",value:function(t){return Date.parse(t.replace(/-/g,\"/\").replace(/[a-z]+/gi,\" \"))}},{key:\"formatDate\",value:function(t,e){var i=this.w.globals.locale,a=this.w.config.xaxis.labels.datetimeUTC,s=[\"\\0\"].concat(u(i.months)),r=[\"\\x01\"].concat(u(i.shortMonths)),o=[\"\\x02\"].concat(u(i.days)),n=[\"\\x03\"].concat(u(i.shortDays));function l(t,e){var i=t+\"\";for(e=e||2;i.length12?g-12:0===g?12:g;e=(e=(e=(e=e.replace(/(^|[^\\\\])HH+/g,\"$1\"+l(g))).replace(/(^|[^\\\\])H/g,\"$1\"+g)).replace(/(^|[^\\\\])hh+/g,\"$1\"+l(f))).replace(/(^|[^\\\\])h/g,\"$1\"+f);var p=a?t.getUTCMinutes():t.getMinutes();e=(e=e.replace(/(^|[^\\\\])mm+/g,\"$1\"+l(p))).replace(/(^|[^\\\\])m/g,\"$1\"+p);var x=a?t.getUTCSeconds():t.getSeconds();e=(e=e.replace(/(^|[^\\\\])ss+/g,\"$1\"+l(x))).replace(/(^|[^\\\\])s/g,\"$1\"+x);var b=a?t.getUTCMilliseconds():t.getMilliseconds();e=e.replace(/(^|[^\\\\])fff+/g,\"$1\"+l(b,3)),b=Math.round(b/10),e=e.replace(/(^|[^\\\\])ff/g,\"$1\"+l(b)),b=Math.round(b/10);var v=g<12?\"AM\":\"PM\";e=(e=(e=e.replace(/(^|[^\\\\])f/g,\"$1\"+b)).replace(/(^|[^\\\\])TT+/g,\"$1\"+v)).replace(/(^|[^\\\\])T/g,\"$1\"+v.charAt(0));var m=v.toLowerCase();e=(e=e.replace(/(^|[^\\\\])tt+/g,\"$1\"+m)).replace(/(^|[^\\\\])t/g,\"$1\"+m.charAt(0));var y=-t.getTimezoneOffset(),w=a||!y?\"Z\":y>0?\"+\":\"-\";if(!a){var k=(y=Math.abs(y))%60;w+=l(Math.floor(y/60))+\":\"+l(k)}e=e.replace(/(^|[^\\\\])K/g,\"$1\"+w);var A=(a?t.getUTCDay():t.getDay())+1;return e=(e=(e=(e=(e=e.replace(new RegExp(o[0],\"g\"),o[A])).replace(new RegExp(n[0],\"g\"),n[A])).replace(new RegExp(s[0],\"g\"),s[c])).replace(new RegExp(r[0],\"g\"),r[c])).replace(/\\\\(.)/g,\"$1\")}},{key:\"getTimeUnitsfromTimestamp\",value:function(t,e,i){var a=this.w;void 0!==a.config.xaxis.min&&(t=a.config.xaxis.min),void 0!==a.config.xaxis.max&&(e=a.config.xaxis.max);var s=this.getDate(t),r=this.getDate(e),o=this.formatDate(s,\"yyyy MM dd HH mm ss fff\").split(\" \"),n=this.formatDate(r,\"yyyy MM dd HH mm ss fff\").split(\" \");return{minMillisecond:parseInt(o[6],10),maxMillisecond:parseInt(n[6],10),minSecond:parseInt(o[5],10),maxSecond:parseInt(n[5],10),minMinute:parseInt(o[4],10),maxMinute:parseInt(n[4],10),minHour:parseInt(o[3],10),maxHour:parseInt(n[3],10),minDate:parseInt(o[2],10),maxDate:parseInt(n[2],10),minMonth:parseInt(o[1],10)-1,maxMonth:parseInt(n[1],10)-1,minYear:parseInt(o[0],10),maxYear:parseInt(n[0],10)}}},{key:\"isLeapYear\",value:function(t){return t%4==0&&t%100!=0||t%400==0}},{key:\"calculcateLastDaysOfMonth\",value:function(t,e,i){return this.determineDaysOfMonths(t,e)-i}},{key:\"determineDaysOfYear\",value:function(t){var e=365;return this.isLeapYear(t)&&(e=366),e}},{key:\"determineRemainingDaysOfYear\",value:function(t,e,i){var a=this.daysCntOfYear[e]+i;return e>1&&this.isLeapYear()&&a++,a}},{key:\"determineDaysOfMonths\",value:function(t,e){var i=30;switch(t=x.monthMod(t),!0){case this.months30.indexOf(t)>-1:2===t&&(i=this.isLeapYear(e)?29:28);break;case this.months31.indexOf(t)>-1:default:i=31}return i}}]),t}(),M=function(t){var e,i=t.ctx,a=t.seriesIndex,s=t.dataPointIndex,r=t.y1,o=t.y2,n=t.w,l=n.globals.seriesRangeStart[a][s],h=n.globals.seriesRangeEnd[a][s],c=n.globals.labels[s],d=n.config.series[a].name?n.config.series[a].name:\"\",g=n.config.tooltip.y.formatter,u=n.config.tooltip.y.title.formatter,f={w:n,seriesIndex:a,dataPointIndex:s,start:l,end:h};\"function\"==typeof u&&(d=u(d,f)),null!==(e=n.config.series[a].data[s])&&void 0!==e&&e.x&&(c=n.config.series[a].data[s].x+\":\"),\"function\"==typeof g&&(c=g(c,f)),Number.isFinite(r)&&Number.isFinite(o)&&(l=r,h=o);var p=\"\",x=\"\",b=n.globals.colors[a];if(void 0===n.config.tooltip.x.formatter)if(\"datetime\"===n.config.xaxis.type){var v=new T(i);p=v.formatDate(v.getDate(l),n.config.tooltip.x.format),x=v.formatDate(v.getDate(h),n.config.tooltip.x.format)}else p=l,x=h;else p=n.config.tooltip.x.formatter(l),x=n.config.tooltip.x.formatter(h);return{start:l,end:h,startVal:p,endVal:x,ylabel:c,color:b,seriesName:d}},I=function(t){var e=t.color,i=t.seriesName,a=t.ylabel,s=t.start,r=t.end,o=t.seriesIndex,n=t.dataPointIndex,l=t.ctx.tooltip.tooltipLabels.getFormatters(o);s=l.yLbFormatter(s),r=l.yLbFormatter(r);var h=l.yLbFormatter(t.w.globals.series[o][n]),c='\\n '.concat(s,'\\n - \\n ').concat(r,\"\\n \");return'

    \"},z=function(){function t(e){a(this,t),this.opts=e}return r(t,[{key:\"line\",value:function(){return{chart:{animations:{easing:\"swing\"}},dataLabels:{enabled:!1},stroke:{width:5,curve:\"straight\"},markers:{size:0,hover:{sizeOffset:6}},xaxis:{crosshairs:{width:1}}}}},{key:\"sparkline\",value:function(t){this.opts.yaxis[0].show=!1,this.opts.yaxis[0].title.text=\"\",this.opts.yaxis[0].axisBorder.show=!1,this.opts.yaxis[0].axisTicks.show=!1,this.opts.yaxis[0].floating=!0;return x.extend(t,{grid:{show:!1,padding:{left:0,right:0,top:0,bottom:0}},legend:{show:!1},xaxis:{labels:{show:!1},tooltip:{enabled:!1},axisBorder:{show:!1},axisTicks:{show:!1}},chart:{toolbar:{show:!1},zoom:{enabled:!1}},dataLabels:{enabled:!1}})}},{key:\"bar\",value:function(){return{chart:{stacked:!1,animations:{easing:\"swing\"}},plotOptions:{bar:{dataLabels:{position:\"center\"}}},dataLabels:{style:{colors:[\"#fff\"]},background:{enabled:!1}},stroke:{width:0,lineCap:\"round\"},fill:{opacity:.85},legend:{markers:{shape:\"square\",radius:2,size:8}},tooltip:{shared:!1,intersect:!0},xaxis:{tooltip:{enabled:!1},tickPlacement:\"between\",crosshairs:{width:\"barWidth\",position:\"back\",fill:{type:\"gradient\"},dropShadow:{enabled:!1},stroke:{width:0}}}}}},{key:\"candlestick\",value:function(){var t=this;return{stroke:{width:1,colors:[\"#333\"]},fill:{opacity:1},dataLabels:{enabled:!1},tooltip:{shared:!0,custom:function(e){var i=e.seriesIndex,a=e.dataPointIndex,s=e.w;return t._getBoxTooltip(s,i,a,[\"Open\",\"High\",\"\",\"Low\",\"Close\"],\"candlestick\")}},states:{active:{filter:{type:\"none\"}}},xaxis:{crosshairs:{width:1}}}}},{key:\"boxPlot\",value:function(){var t=this;return{chart:{animations:{dynamicAnimation:{enabled:!1}}},stroke:{width:1,colors:[\"#24292e\"]},dataLabels:{enabled:!1},tooltip:{shared:!0,custom:function(e){var i=e.seriesIndex,a=e.dataPointIndex,s=e.w;return t._getBoxTooltip(s,i,a,[\"Minimum\",\"Q1\",\"Median\",\"Q3\",\"Maximum\"],\"boxPlot\")}},markers:{size:5,strokeWidth:1,strokeColors:\"#111\"},xaxis:{crosshairs:{width:1}}}}},{key:\"rangeBar\",value:function(){return{stroke:{width:0,lineCap:\"square\"},plotOptions:{bar:{borderRadius:0,dataLabels:{position:\"center\"}}},dataLabels:{enabled:!1,formatter:function(t,e){e.ctx;var i=e.seriesIndex,a=e.dataPointIndex,s=e.w,r=function(){var t=s.globals.seriesRangeStart[i][a];return s.globals.seriesRangeEnd[i][a]-t};return s.globals.comboCharts?\"rangeBar\"===s.config.series[i].type||\"rangeArea\"===s.config.series[i].type?r():t:r()},background:{enabled:!1},style:{colors:[\"#fff\"]}},tooltip:{shared:!1,followCursor:!0,custom:function(t){return t.w.config.plotOptions&&t.w.config.plotOptions.bar&&t.w.config.plotOptions.bar.horizontal?function(t){var i=M(t),a=i.color,s=i.seriesName,r=i.ylabel,o=i.startVal,n=i.endVal;return I(e(e({},t),{},{color:a,seriesName:s,ylabel:r,start:o,end:n}))}(t):function(t){var i=M(t),a=i.color,s=i.seriesName,r=i.ylabel,o=i.start,n=i.end;return I(e(e({},t),{},{color:a,seriesName:s,ylabel:r,start:o,end:n}))}(t)}},xaxis:{tickPlacement:\"between\",tooltip:{enabled:!1},crosshairs:{stroke:{width:0}}}}}},{key:\"area\",value:function(){return{stroke:{width:4,fill:{type:\"solid\",gradient:{inverseColors:!1,shade:\"light\",type:\"vertical\",opacityFrom:.65,opacityTo:.5,stops:[0,100,100]}}},fill:{type:\"gradient\",gradient:{inverseColors:!1,shade:\"light\",type:\"vertical\",opacityFrom:.65,opacityTo:.5,stops:[0,100,100]}},markers:{size:0,hover:{sizeOffset:6}},tooltip:{followCursor:!1}}}},{key:\"rangeArea\",value:function(){return{stroke:{curve:\"straight\",width:0},fill:{type:\"solid\",opacity:.6},markers:{size:0},states:{hover:{filter:{type:\"none\"}},active:{filter:{type:\"none\"}}},tooltip:{intersect:!1,shared:!0,followCursor:!0,custom:function(t){return function(t){var i=M(t),a=i.color,s=i.seriesName,r=i.ylabel,o=i.start,n=i.end;return I(e(e({},t),{},{color:a,seriesName:s,ylabel:r,start:o,end:n}))}(t)}}}}},{key:\"brush\",value:function(t){return x.extend(t,{chart:{toolbar:{autoSelected:\"selection\",show:!1},zoom:{enabled:!1}},dataLabels:{enabled:!1},stroke:{width:1},tooltip:{enabled:!1},xaxis:{tooltip:{enabled:!1}}})}},{key:\"stacked100\",value:function(t){t.dataLabels=t.dataLabels||{},t.dataLabels.formatter=t.dataLabels.formatter||void 0;var e=t.dataLabels.formatter;return t.yaxis.forEach((function(e,i){t.yaxis[i].min=0,t.yaxis[i].max=100})),\"bar\"===t.chart.type&&(t.dataLabels.formatter=e||function(t){return\"number\"==typeof t&&t?t.toFixed(0)+\"%\":t}),t}},{key:\"convertCatToNumeric\",value:function(t){return t.xaxis.convertedCatToNumeric=!0,t}},{key:\"convertCatToNumericXaxis\",value:function(t,e,i){t.xaxis.type=\"numeric\",t.xaxis.labels=t.xaxis.labels||{},t.xaxis.labels.formatter=t.xaxis.labels.formatter||function(t){return x.isNumber(t)?Math.floor(t):t};var a=t.xaxis.labels.formatter,s=t.xaxis.categories&&t.xaxis.categories.length?t.xaxis.categories:t.labels;return i&&i.length&&(s=i.map((function(t){return Array.isArray(t)?t:String(t)}))),s&&s.length&&(t.xaxis.labels.formatter=function(t){return x.isNumber(t)?a(s[Math.floor(t)-1]):a(t)}),t.xaxis.categories=[],t.labels=[],t.xaxis.tickAmount=t.xaxis.tickAmount||\"dataPoints\",t}},{key:\"bubble\",value:function(){return{dataLabels:{style:{colors:[\"#fff\"]}},tooltip:{shared:!1,intersect:!0},xaxis:{crosshairs:{width:0}},fill:{type:\"solid\",gradient:{shade:\"light\",inverse:!0,shadeIntensity:.55,opacityFrom:.4,opacityTo:.8}}}}},{key:\"scatter\",value:function(){return{dataLabels:{enabled:!1},tooltip:{shared:!1,intersect:!0},markers:{size:6,strokeWidth:1,hover:{sizeOffset:2}}}}},{key:\"heatmap\",value:function(){return{chart:{stacked:!1},fill:{opacity:1},dataLabels:{style:{colors:[\"#fff\"]}},stroke:{colors:[\"#fff\"]},tooltip:{followCursor:!0,marker:{show:!1},x:{show:!1}},legend:{position:\"top\",markers:{shape:\"square\",size:10,offsetY:2}},grid:{padding:{right:20}}}}},{key:\"treemap\",value:function(){return{chart:{zoom:{enabled:!1}},dataLabels:{style:{fontSize:14,fontWeight:600,colors:[\"#fff\"]}},stroke:{show:!0,width:2,colors:[\"#fff\"]},legend:{show:!1},fill:{gradient:{stops:[0,100]}},tooltip:{followCursor:!0,x:{show:!1}},grid:{padding:{left:0,right:0}},xaxis:{crosshairs:{show:!1},tooltip:{enabled:!1}}}}},{key:\"pie\",value:function(){return{chart:{toolbar:{show:!1}},plotOptions:{pie:{donut:{labels:{show:!1}}}},dataLabels:{formatter:function(t){return t.toFixed(1)+\"%\"},style:{colors:[\"#fff\"]},background:{enabled:!1},dropShadow:{enabled:!0}},stroke:{colors:[\"#fff\"]},fill:{opacity:1,gradient:{shade:\"light\",stops:[0,100]}},tooltip:{theme:\"dark\",fillSeriesColor:!0},legend:{position:\"right\"}}}},{key:\"donut\",value:function(){return{chart:{toolbar:{show:!1}},dataLabels:{formatter:function(t){return t.toFixed(1)+\"%\"},style:{colors:[\"#fff\"]},background:{enabled:!1},dropShadow:{enabled:!0}},stroke:{colors:[\"#fff\"]},fill:{opacity:1,gradient:{shade:\"light\",shadeIntensity:.35,stops:[80,100],opacityFrom:1,opacityTo:1}},tooltip:{theme:\"dark\",fillSeriesColor:!0},legend:{position:\"right\"}}}},{key:\"polarArea\",value:function(){return this.opts.yaxis[0].tickAmount=this.opts.yaxis[0].tickAmount?this.opts.yaxis[0].tickAmount:6,{chart:{toolbar:{show:!1}},dataLabels:{formatter:function(t){return t.toFixed(1)+\"%\"},enabled:!1},stroke:{show:!0,width:2},fill:{opacity:.7},tooltip:{theme:\"dark\",fillSeriesColor:!0},legend:{position:\"right\"}}}},{key:\"radar\",value:function(){return this.opts.yaxis[0].labels.offsetY=this.opts.yaxis[0].labels.offsetY?this.opts.yaxis[0].labels.offsetY:6,{dataLabels:{enabled:!1,style:{fontSize:\"11px\"}},stroke:{width:2},markers:{size:3,strokeWidth:1,strokeOpacity:1},fill:{opacity:.2},tooltip:{shared:!1,intersect:!0,followCursor:!0},grid:{show:!1},xaxis:{labels:{formatter:function(t){return t},style:{colors:[\"#a8a8a8\"],fontSize:\"11px\"}},tooltip:{enabled:!1},crosshairs:{show:!1}}}}},{key:\"radialBar\",value:function(){return{chart:{animations:{dynamicAnimation:{enabled:!0,speed:800}},toolbar:{show:!1}},fill:{gradient:{shade:\"dark\",shadeIntensity:.4,inverseColors:!1,type:\"diagonal2\",opacityFrom:1,opacityTo:1,stops:[70,98,100]}},legend:{show:!1,position:\"right\"},tooltip:{enabled:!1,fillSeriesColor:!0}}}},{key:\"_getBoxTooltip\",value:function(t,e,i,a,s){var r=t.globals.seriesCandleO[e][i],o=t.globals.seriesCandleH[e][i],n=t.globals.seriesCandleM[e][i],l=t.globals.seriesCandleL[e][i],h=t.globals.seriesCandleC[e][i];return t.config.series[e].type&&t.config.series[e].type!==s?'
    \\n '.concat(t.config.series[e].name?t.config.series[e].name:\"series-\"+(e+1),\": \").concat(t.globals.series[e][i],\"\\n
    \"):'
    ')+\"
    \".concat(a[0],': ')+r+\"
    \"+\"
    \".concat(a[1],': ')+o+\"
    \"+(n?\"
    \".concat(a[2],': ')+n+\"
    \":\"\")+\"
    \".concat(a[3],': ')+l+\"
    \"+\"
    \".concat(a[4],': ')+h+\"
    \"}}]),t}(),X=function(){function t(e){a(this,t),this.opts=e}return r(t,[{key:\"init\",value:function(t){var e=t.responsiveOverride,a=this.opts,s=new L,r=new z(a);this.chartType=a.chart.type,\"histogram\"===this.chartType&&(a.chart.type=\"bar\",a=x.extend({plotOptions:{bar:{columnWidth:\"99.99%\"}}},a)),a=this.extendYAxis(a),a=this.extendAnnotations(a);var o=s.init(),n={};if(a&&\"object\"===i(a)){var l={};l=-1!==[\"line\",\"area\",\"bar\",\"candlestick\",\"boxPlot\",\"rangeBar\",\"rangeArea\",\"histogram\",\"bubble\",\"scatter\",\"heatmap\",\"treemap\",\"pie\",\"polarArea\",\"donut\",\"radar\",\"radialBar\"].indexOf(a.chart.type)?r[a.chart.type]():r.line(),a.chart.brush&&a.chart.brush.enabled&&(l=r.brush(l)),a.chart.stacked&&\"100%\"===a.chart.stackType&&(a=r.stacked100(a)),this.checkForDarkTheme(window.Apex),this.checkForDarkTheme(a),a.xaxis=a.xaxis||window.Apex.xaxis||{},e||(a.xaxis.convertedCatToNumeric=!1),((a=this.checkForCatToNumericXAxis(this.chartType,l,a)).chart.sparkline&&a.chart.sparkline.enabled||window.Apex.chart&&window.Apex.chart.sparkline&&window.Apex.chart.sparkline.enabled)&&(l=r.sparkline(l)),n=x.extend(o,l)}var h=x.extend(n,window.Apex);return o=x.extend(h,a),o=this.handleUserInputErrors(o)}},{key:\"checkForCatToNumericXAxis\",value:function(t,e,i){var a=new z(i),s=(\"bar\"===t||\"boxPlot\"===t)&&i.plotOptions&&i.plotOptions.bar&&i.plotOptions.bar.horizontal,r=\"pie\"===t||\"polarArea\"===t||\"donut\"===t||\"radar\"===t||\"radialBar\"===t||\"heatmap\"===t,o=\"datetime\"!==i.xaxis.type&&\"numeric\"!==i.xaxis.type,n=i.xaxis.tickPlacement?i.xaxis.tickPlacement:e.xaxis&&e.xaxis.tickPlacement;return s||r||!o||\"between\"===n||(i=a.convertCatToNumeric(i)),i}},{key:\"extendYAxis\",value:function(t,e){var i=new L;(void 0===t.yaxis||!t.yaxis||Array.isArray(t.yaxis)&&0===t.yaxis.length)&&(t.yaxis={}),t.yaxis.constructor!==Array&&window.Apex.yaxis&&window.Apex.yaxis.constructor!==Array&&(t.yaxis=x.extend(t.yaxis,window.Apex.yaxis)),t.yaxis.constructor!==Array?t.yaxis=[x.extend(i.yAxis,t.yaxis)]:t.yaxis=x.extendArray(t.yaxis,i.yAxis);var a=!1;t.yaxis.forEach((function(t){t.logarithmic&&(a=!0)}));var s=t.series;return e&&!s&&(s=e.config.series),a&&s.length!==t.yaxis.length&&s.length&&(t.yaxis=s.map((function(e,a){if(e.name||(s[a].name=\"series-\".concat(a+1)),t.yaxis[a])return t.yaxis[a].seriesName=s[a].name,t.yaxis[a];var r=x.extend(i.yAxis,t.yaxis[0]);return r.show=!1,r}))),a&&s.length>1&&s.length!==t.yaxis.length&&console.warn(\"A multi-series logarithmic chart should have equal number of series and y-axes. Please make sure to equalize both.\"),t}},{key:\"extendAnnotations\",value:function(t){return void 0===t.annotations&&(t.annotations={},t.annotations.yaxis=[],t.annotations.xaxis=[],t.annotations.points=[]),t=this.extendYAxisAnnotations(t),t=this.extendXAxisAnnotations(t),t=this.extendPointAnnotations(t)}},{key:\"extendYAxisAnnotations\",value:function(t){var e=new L;return t.annotations.yaxis=x.extendArray(void 0!==t.annotations.yaxis?t.annotations.yaxis:[],e.yAxisAnnotation),t}},{key:\"extendXAxisAnnotations\",value:function(t){var e=new L;return t.annotations.xaxis=x.extendArray(void 0!==t.annotations.xaxis?t.annotations.xaxis:[],e.xAxisAnnotation),t}},{key:\"extendPointAnnotations\",value:function(t){var e=new L;return t.annotations.points=x.extendArray(void 0!==t.annotations.points?t.annotations.points:[],e.pointAnnotation),t}},{key:\"checkForDarkTheme\",value:function(t){t.theme&&\"dark\"===t.theme.mode&&(t.tooltip||(t.tooltip={}),\"light\"!==t.tooltip.theme&&(t.tooltip.theme=\"dark\"),t.chart.foreColor||(t.chart.foreColor=\"#f6f7f8\"),t.chart.background||(t.chart.background=\"#424242\"),t.theme.palette||(t.theme.palette=\"palette4\"))}},{key:\"handleUserInputErrors\",value:function(t){var e=t;if(e.tooltip.shared&&e.tooltip.intersect)throw new Error(\"tooltip.shared cannot be enabled when tooltip.intersect is true. Turn off any other option by setting it to false.\");if(\"bar\"===e.chart.type&&e.plotOptions.bar.horizontal){if(e.yaxis.length>1)throw new Error(\"Multiple Y Axis for bars are not supported. Switch to column chart by setting plotOptions.bar.horizontal=false\");e.yaxis[0].reversed&&(e.yaxis[0].opposite=!0),e.xaxis.tooltip.enabled=!1,e.yaxis[0].tooltip.enabled=!1,e.chart.zoom.enabled=!1}return\"bar\"!==e.chart.type&&\"rangeBar\"!==e.chart.type||e.tooltip.shared&&\"barWidth\"===e.xaxis.crosshairs.width&&e.series.length>1&&(e.xaxis.crosshairs.width=\"tickWidth\"),\"candlestick\"!==e.chart.type&&\"boxPlot\"!==e.chart.type||e.yaxis[0].reversed&&(console.warn(\"Reversed y-axis in \".concat(e.chart.type,\" chart is not supported.\")),e.yaxis[0].reversed=!1),e}}]),t}(),E=function(){function t(){a(this,t)}return r(t,[{key:\"initGlobalVars\",value:function(t){t.series=[],t.seriesCandleO=[],t.seriesCandleH=[],t.seriesCandleM=[],t.seriesCandleL=[],t.seriesCandleC=[],t.seriesRangeStart=[],t.seriesRangeEnd=[],t.seriesRange=[],t.seriesPercent=[],t.seriesGoals=[],t.seriesX=[],t.seriesZ=[],t.seriesNames=[],t.seriesTotals=[],t.seriesLog=[],t.seriesColors=[],t.stackedSeriesTotals=[],t.seriesXvalues=[],t.seriesYvalues=[],t.labels=[],t.hasGroups=!1,t.groups=[],t.categoryLabels=[],t.timescaleLabels=[],t.noLabelsProvided=!1,t.resizeTimer=null,t.selectionResizeTimer=null,t.delayedElements=[],t.pointsArray=[],t.dataLabelsRects=[],t.isXNumeric=!1,t.xaxisLabelsCount=0,t.skipLastTimelinelabel=!1,t.skipFirstTimelinelabel=!1,t.isDataXYZ=!1,t.isMultiLineX=!1,t.isMultipleYAxis=!1,t.maxY=-Number.MAX_VALUE,t.minY=Number.MIN_VALUE,t.minYArr=[],t.maxYArr=[],t.maxX=-Number.MAX_VALUE,t.minX=Number.MAX_VALUE,t.initialMaxX=-Number.MAX_VALUE,t.initialMinX=Number.MAX_VALUE,t.maxDate=0,t.minDate=Number.MAX_VALUE,t.minZ=Number.MAX_VALUE,t.maxZ=-Number.MAX_VALUE,t.minXDiff=Number.MAX_VALUE,t.yAxisScale=[],t.xAxisScale=null,t.xAxisTicksPositions=[],t.yLabelsCoords=[],t.yTitleCoords=[],t.barPadForNumericAxis=0,t.padHorizontal=0,t.xRange=0,t.yRange=[],t.zRange=0,t.dataPoints=0,t.xTickAmount=0}},{key:\"globalVars\",value:function(t){return{chartID:null,cuid:null,events:{beforeMount:[],mounted:[],updated:[],clicked:[],selection:[],dataPointSelection:[],zoomed:[],scrolled:[]},colors:[],clientX:null,clientY:null,fill:{colors:[]},stroke:{colors:[]},dataLabels:{style:{colors:[]}},radarPolygons:{fill:{colors:[]}},markers:{colors:[],size:t.markers.size,largestSize:0},animationEnded:!1,isTouchDevice:\"ontouchstart\"in window||navigator.msMaxTouchPoints,isDirty:!1,isExecCalled:!1,initialConfig:null,initialSeries:[],lastXAxis:[],lastYAxis:[],columnSeries:null,labels:[],timescaleLabels:[],noLabelsProvided:!1,allSeriesCollapsed:!1,collapsedSeries:[],collapsedSeriesIndices:[],ancillaryCollapsedSeries:[],ancillaryCollapsedSeriesIndices:[],risingSeries:[],dataFormatXNumeric:!1,capturedSeriesIndex:-1,capturedDataPointIndex:-1,selectedDataPoints:[],goldenPadding:35,invalidLogScale:!1,ignoreYAxisIndexes:[],yAxisSameScaleIndices:[],maxValsInArrayIndex:0,radialSize:0,selection:void 0,zoomEnabled:\"zoom\"===t.chart.toolbar.autoSelected&&t.chart.toolbar.tools.zoom&&t.chart.zoom.enabled,panEnabled:\"pan\"===t.chart.toolbar.autoSelected&&t.chart.toolbar.tools.pan,selectionEnabled:\"selection\"===t.chart.toolbar.autoSelected&&t.chart.toolbar.tools.selection,yaxis:null,mousedown:!1,lastClientPosition:{},visibleXRange:void 0,yValueDecimal:0,total:0,SVGNS:\"http://www.w3.org/2000/svg\",svgWidth:0,svgHeight:0,noData:!1,locale:{},dom:{},memory:{methodsToExec:[]},shouldAnimate:!0,skipLastTimelinelabel:!1,skipFirstTimelinelabel:!1,delayedElements:[],axisCharts:!0,isDataXYZ:!1,resized:!1,resizeTimer:null,comboCharts:!1,dataChanged:!1,previousPaths:[],allSeriesHasEqualX:!0,pointsArray:[],dataLabelsRects:[],lastDrawnDataLabelsIndexes:[],hasNullValues:!1,easing:null,zoomed:!1,gridWidth:0,gridHeight:0,rotateXLabels:!1,defaultLabels:!1,xLabelFormatter:void 0,yLabelFormatters:[],xaxisTooltipFormatter:void 0,ttKeyFormatter:void 0,ttVal:void 0,ttZFormatter:void 0,LINE_HEIGHT_RATIO:1.618,xAxisLabelsHeight:0,xAxisGroupLabelsHeight:0,xAxisLabelsWidth:0,yAxisLabelsWidth:0,scaleX:1,scaleY:1,translateX:0,translateY:0,translateYAxisX:[],yAxisWidths:[],translateXAxisY:0,translateXAxisX:0,tooltip:null}}},{key:\"init\",value:function(t){var e=this.globalVars(t);return this.initGlobalVars(e),e.initialConfig=x.extend({},t),e.initialSeries=x.clone(t.series),e.lastXAxis=x.clone(e.initialConfig.xaxis),e.lastYAxis=x.clone(e.initialConfig.yaxis),e}}]),t}(),Y=function(){function t(e){a(this,t),this.opts=e}return r(t,[{key:\"init\",value:function(){var t=new X(this.opts).init({responsiveOverride:!1});return{config:t,globals:(new E).init(t)}}}]),t}(),F=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.opts=null,this.seriesIndex=0}return r(t,[{key:\"clippedImgArea\",value:function(t){var e=this.w,i=e.config,a=parseInt(e.globals.gridWidth,10),s=parseInt(e.globals.gridHeight,10),r=a>s?a:s,o=t.image,n=0,l=0;void 0===t.width&&void 0===t.height?void 0!==i.fill.image.width&&void 0!==i.fill.image.height?(n=i.fill.image.width+1,l=i.fill.image.height):(n=r+1,l=r):(n=t.width,l=t.height);var h=document.createElementNS(e.globals.SVGNS,\"pattern\");m.setAttrs(h,{id:t.patternID,patternUnits:t.patternUnits?t.patternUnits:\"userSpaceOnUse\",width:n+\"px\",height:l+\"px\"});var c=document.createElementNS(e.globals.SVGNS,\"image\");h.appendChild(c),c.setAttributeNS(window.SVG.xlink,\"href\",o),m.setAttrs(c,{x:0,y:0,preserveAspectRatio:\"none\",width:n+\"px\",height:l+\"px\"}),c.style.opacity=t.opacity,e.globals.dom.elDefs.node.appendChild(h)}},{key:\"getSeriesIndex\",value:function(t){var e=this.w;return(\"bar\"===e.config.chart.type||\"rangeBar\"===e.config.chart.type)&&e.config.plotOptions.bar.distributed||\"heatmap\"===e.config.chart.type||\"treemap\"===e.config.chart.type?this.seriesIndex=t.seriesNumber:this.seriesIndex=t.seriesNumber%e.globals.series.length,this.seriesIndex}},{key:\"fillPath\",value:function(t){var e=this.w;this.opts=t;var i,a,s,r=this.w.config;this.seriesIndex=this.getSeriesIndex(t);var o=this.getFillColors()[this.seriesIndex];void 0!==e.globals.seriesColors[this.seriesIndex]&&(o=e.globals.seriesColors[this.seriesIndex]),\"function\"==typeof o&&(o=o({seriesIndex:this.seriesIndex,dataPointIndex:t.dataPointIndex,value:t.value,w:e}));var n=t.fillType?t.fillType:this.getFillType(this.seriesIndex),l=Array.isArray(r.fill.opacity)?r.fill.opacity[this.seriesIndex]:r.fill.opacity;t.color&&(o=t.color);var h=o;if(-1===o.indexOf(\"rgb\")?o.length<9&&(h=x.hexToRgba(o,l)):o.indexOf(\"rgba\")>-1&&(l=x.getOpacityFromRGBA(o)),t.opacity&&(l=t.opacity),\"pattern\"===n&&(a=this.handlePatternFill({fillConfig:t.fillConfig,patternFill:a,fillColor:o,fillOpacity:l,defaultColor:h})),\"gradient\"===n&&(s=this.handleGradientFill({fillConfig:t.fillConfig,fillColor:o,fillOpacity:l,i:this.seriesIndex})),\"image\"===n){var c=r.fill.image.src,d=t.patternID?t.patternID:\"\";this.clippedImgArea({opacity:l,image:Array.isArray(c)?t.seriesNumber-1&&(u=x.getOpacityFromRGBA(g));var f=void 0===o.gradient.opacityTo?a:Array.isArray(o.gradient.opacityTo)?o.gradient.opacityTo[r]:o.gradient.opacityTo;if(void 0===o.gradient.gradientToColors||0===o.gradient.gradientToColors.length)n=\"dark\"===o.gradient.shade?c.shadeColor(-1*parseFloat(o.gradient.shadeIntensity),i.indexOf(\"rgb\")>-1?x.rgb2hex(i):i):c.shadeColor(parseFloat(o.gradient.shadeIntensity),i.indexOf(\"rgb\")>-1?x.rgb2hex(i):i);else if(o.gradient.gradientToColors[l.seriesNumber]){var p=o.gradient.gradientToColors[l.seriesNumber];n=p,p.indexOf(\"rgba\")>-1&&(f=x.getOpacityFromRGBA(p))}else n=i;if(o.gradient.gradientFrom&&(g=o.gradient.gradientFrom),o.gradient.gradientTo&&(n=o.gradient.gradientTo),o.gradient.inverseColors){var b=g;g=n,n=b}return g.indexOf(\"rgb\")>-1&&(g=x.rgb2hex(g)),n.indexOf(\"rgb\")>-1&&(n=x.rgb2hex(n)),h.drawGradient(d,g,n,u,f,l.size,o.gradient.stops,o.gradient.colorStops,r)}}]),t}(),R=function(){function t(e,i){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:\"setGlobalMarkerSize\",value:function(){var t=this.w;if(t.globals.markers.size=Array.isArray(t.config.markers.size)?t.config.markers.size:[t.config.markers.size],t.globals.markers.size.length>0){if(t.globals.markers.size.length4&&void 0!==arguments[4]&&arguments[4],o=this.w,n=e,l=t,h=null,c=new m(this.ctx),d=o.config.markers.discrete&&o.config.markers.discrete.length;if((o.globals.markers.size[e]>0||r||d)&&(h=c.group({class:r||d?\"\":\"apexcharts-series-markers\"})).attr(\"clip-path\",\"url(#gridRectMarkerMask\".concat(o.globals.cuid,\")\")),Array.isArray(l.x))for(var g=0;g0:o.config.markers.size>0;if(p||r||d){x.isNumber(l.y[g])?f+=\" w\".concat(x.randomId()):f=\"apexcharts-nullpoint\";var b=this.getMarkerConfig({cssClass:f,seriesIndex:e,dataPointIndex:u});o.config.series[n].data[u]&&(o.config.series[n].data[u].fillColor&&(b.pointFillColor=o.config.series[n].data[u].fillColor),o.config.series[n].data[u].strokeColor&&(b.pointStrokeColor=o.config.series[n].data[u].strokeColor)),a&&(b.pSize=a),(s=c.drawMarker(l.x[g],l.y[g],b)).attr(\"rel\",u),s.attr(\"j\",u),s.attr(\"index\",e),s.node.setAttribute(\"default-marker-size\",b.pSize);var y=new v(this.ctx);y.setSelectionFilter(s,e,u),this.addEvents(s),h&&h.add(s)}else void 0===o.globals.pointsArray[e]&&(o.globals.pointsArray[e]=[]),o.globals.pointsArray[e].push([l.x[g],l.y[g]])}return h}},{key:\"getMarkerConfig\",value:function(t){var e=t.cssClass,i=t.seriesIndex,a=t.dataPointIndex,s=void 0===a?null:a,r=t.finishRadius,o=void 0===r?null:r,n=this.w,l=this.getMarkerStyle(i),h=n.globals.markers.size[i],c=n.config.markers;return null!==s&&c.discrete.length&&c.discrete.map((function(t){t.seriesIndex===i&&t.dataPointIndex===s&&(l.pointStrokeColor=t.strokeColor,l.pointFillColor=t.fillColor,h=t.size,l.pointShape=t.shape)})),{pSize:null===o?h:o,pRadius:c.radius,width:Array.isArray(c.width)?c.width[i]:c.width,height:Array.isArray(c.height)?c.height[i]:c.height,pointStrokeWidth:Array.isArray(c.strokeWidth)?c.strokeWidth[i]:c.strokeWidth,pointStrokeColor:l.pointStrokeColor,pointFillColor:l.pointFillColor,shape:l.pointShape||(Array.isArray(c.shape)?c.shape[i]:c.shape),class:e,pointStrokeOpacity:Array.isArray(c.strokeOpacity)?c.strokeOpacity[i]:c.strokeOpacity,pointStrokeDashArray:Array.isArray(c.strokeDashArray)?c.strokeDashArray[i]:c.strokeDashArray,pointFillOpacity:Array.isArray(c.fillOpacity)?c.fillOpacity[i]:c.fillOpacity,seriesIndex:i}}},{key:\"addEvents\",value:function(t){var e=this.w,i=new m(this.ctx);t.node.addEventListener(\"mouseenter\",i.pathMouseEnter.bind(this.ctx,t)),t.node.addEventListener(\"mouseleave\",i.pathMouseLeave.bind(this.ctx,t)),t.node.addEventListener(\"mousedown\",i.pathMouseDown.bind(this.ctx,t)),t.node.addEventListener(\"click\",e.config.markers.onClick),t.node.addEventListener(\"dblclick\",e.config.markers.onDblClick),t.node.addEventListener(\"touchstart\",i.pathMouseDown.bind(this.ctx,t),{passive:!0})}},{key:\"getMarkerStyle\",value:function(t){var e=this.w,i=e.globals.markers.colors,a=e.config.markers.strokeColor||e.config.markers.strokeColors;return{pointStrokeColor:Array.isArray(a)?a[t]:a,pointFillColor:Array.isArray(i)?i[t]:i}}}]),t}(),D=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.initialAnim=this.w.config.chart.animations.enabled,this.dynamicAnim=this.initialAnim&&this.w.config.chart.animations.dynamicAnimation.enabled}return r(t,[{key:\"draw\",value:function(t,e,i){var a=this.w,s=new m(this.ctx),r=i.realIndex,o=i.pointsPos,n=i.zRatio,l=i.elParent,h=s.group({class:\"apexcharts-series-markers apexcharts-series-\".concat(a.config.chart.type)});if(h.attr(\"clip-path\",\"url(#gridRectMarkerMask\".concat(a.globals.cuid,\")\")),Array.isArray(o.x))for(var c=0;cp.maxBubbleRadius&&(f=p.maxBubbleRadius)}a.config.chart.animations.enabled||(u=f);var x=o.x[c],b=o.y[c];if(u=u||0,null!==b&&void 0!==a.globals.series[r][d]||(g=!1),g){var v=this.drawPoint(x,b,u,f,r,d,e);h.add(v)}l.add(h)}}},{key:\"drawPoint\",value:function(t,e,i,a,s,r,o){var n=this.w,l=s,h=new b(this.ctx),c=new v(this.ctx),d=new F(this.ctx),g=new R(this.ctx),u=new m(this.ctx),f=g.getMarkerConfig({cssClass:\"apexcharts-marker\",seriesIndex:l,dataPointIndex:r,finishRadius:\"bubble\"===n.config.chart.type||n.globals.comboCharts&&n.config.series[s]&&\"bubble\"===n.config.series[s].type?a:null});a=f.pSize;var p,x=d.fillPath({seriesNumber:s,dataPointIndex:r,color:f.pointFillColor,patternUnits:\"objectBoundingBox\",value:n.globals.series[s][o]});if(\"circle\"===f.shape?p=u.drawCircle(i):\"square\"!==f.shape&&\"rect\"!==f.shape||(p=u.drawRect(0,0,f.width-f.pointStrokeWidth/2,f.height-f.pointStrokeWidth/2,f.pRadius)),n.config.series[l].data[r]&&n.config.series[l].data[r].fillColor&&(x=n.config.series[l].data[r].fillColor),p.attr({x:t-f.width/2-f.pointStrokeWidth/2,y:e-f.height/2-f.pointStrokeWidth/2,cx:t,cy:e,fill:x,\"fill-opacity\":f.pointFillOpacity,stroke:f.pointStrokeColor,r:a,\"stroke-width\":f.pointStrokeWidth,\"stroke-dasharray\":f.pointStrokeDashArray,\"stroke-opacity\":f.pointStrokeOpacity}),n.config.chart.dropShadow.enabled){var y=n.config.chart.dropShadow;c.dropShadow(p,y,s)}if(!this.initialAnim||n.globals.dataChanged||n.globals.resized)n.globals.animationEnded=!0;else{var w=n.config.chart.animations.speed;h.animateMarker(p,0,\"circle\"===f.shape?a:{width:f.width,height:f.height},w,n.globals.easing,(function(){window.setTimeout((function(){h.animationCompleted(p)}),100)}))}if(n.globals.dataChanged&&\"circle\"===f.shape)if(this.dynamicAnim){var k,A,S,C,L=n.config.chart.animations.dynamicAnimation.speed;null!=(C=n.globals.previousPaths[s]&&n.globals.previousPaths[s][o])&&(k=C.x,A=C.y,S=void 0!==C.r?C.r:a);for(var P=0;Pn.globals.gridHeight+d&&(e=n.globals.gridHeight+d/2),void 0===n.globals.dataLabelsRects[a]&&(n.globals.dataLabelsRects[a]=[]),n.globals.dataLabelsRects[a].push({x:t,y:e,width:c,height:d});var g=n.globals.dataLabelsRects[a].length-2,u=void 0!==n.globals.lastDrawnDataLabelsIndexes[a]?n.globals.lastDrawnDataLabelsIndexes[a][n.globals.lastDrawnDataLabelsIndexes[a].length-1]:0;if(void 0!==n.globals.dataLabelsRects[a][g]){var f=n.globals.dataLabelsRects[a][u];(t>f.x+f.width+2||e>f.y+f.height+2||t+ce.globals.gridWidth+p.textRects.width+10)&&(n=\"\");var x=e.globals.dataLabels.style.colors[r];((\"bar\"===e.config.chart.type||\"rangeBar\"===e.config.chart.type)&&e.config.plotOptions.bar.distributed||e.config.dataLabels.distributed)&&(x=e.globals.dataLabels.style.colors[o]),\"function\"==typeof x&&(x=x({series:e.globals.series,seriesIndex:r,dataPointIndex:o,w:e})),g&&(x=g);var b=d.offsetX,y=d.offsetY;if(\"bar\"!==e.config.chart.type&&\"rangeBar\"!==e.config.chart.type||(b=0,y=0),p.drawnextLabel){var w=i.drawText({width:100,height:parseInt(d.style.fontSize,10),x:a+b,y:s+y,foreColor:x,textAnchor:l||d.textAnchor,text:n,fontSize:h||d.style.fontSize,fontFamily:d.style.fontFamily,fontWeight:d.style.fontWeight||\"normal\"});if(w.attr({class:\"apexcharts-datalabel\",cx:a,cy:s}),d.dropShadow.enabled){var k=d.dropShadow;new v(this.ctx).dropShadow(w,k)}c.add(w),void 0===e.globals.lastDrawnDataLabelsIndexes[r]&&(e.globals.lastDrawnDataLabelsIndexes[r]=[]),e.globals.lastDrawnDataLabelsIndexes[r].push(o)}}}},{key:\"addBackgroundToDataLabel\",value:function(t,e){var i=this.w,a=i.config.dataLabels.background,s=a.padding,r=a.padding/2,o=e.width,n=e.height,l=new m(this.ctx).drawRect(e.x-s,e.y-r/2,o+2*s,n+r,a.borderRadius,\"transparent\"===i.config.chart.background?\"#fff\":i.config.chart.background,a.opacity,a.borderWidth,a.borderColor);a.dropShadow.enabled&&new v(this.ctx).dropShadow(l,a.dropShadow);return l}},{key:\"dataLabelsBackground\",value:function(){var t=this.w;if(\"bubble\"!==t.config.chart.type)for(var e=t.globals.dom.baseEl.querySelectorAll(\".apexcharts-datalabels text\"),i=0;i0&&void 0!==arguments[0])||arguments[0],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=this.w,s=x.clone(a.globals.initialSeries);a.globals.previousPaths=[],i?(a.globals.collapsedSeries=[],a.globals.ancillaryCollapsedSeries=[],a.globals.collapsedSeriesIndices=[],a.globals.ancillaryCollapsedSeriesIndices=[]):s=this.emptyCollapsedSeries(s),a.config.series=s,t&&(e&&(a.globals.zoomed=!1,this.ctx.updateHelpers.revertDefaultAxisMinMax()),this.ctx.updateHelpers._updateSeries(s,a.config.chart.animations.dynamicAnimation.enabled))}},{key:\"emptyCollapsedSeries\",value:function(t){for(var e=this.w,i=0;i-1&&(t[i].data=[]);return t}},{key:\"toggleSeriesOnHover\",value:function(t,e){var i=this.w;e||(e=t.target);var a=i.globals.dom.baseEl.querySelectorAll(\".apexcharts-series, .apexcharts-datalabels\");if(\"mousemove\"===t.type){var s=parseInt(e.getAttribute(\"rel\"),10)-1,r=null,o=null;i.globals.axisCharts||\"radialBar\"===i.config.chart.type?i.globals.axisCharts?(r=i.globals.dom.baseEl.querySelector(\".apexcharts-series[data\\\\:realIndex='\".concat(s,\"']\")),o=i.globals.dom.baseEl.querySelector(\".apexcharts-datalabels[data\\\\:realIndex='\".concat(s,\"']\"))):r=i.globals.dom.baseEl.querySelector(\".apexcharts-series[rel='\".concat(s+1,\"']\")):r=i.globals.dom.baseEl.querySelector(\".apexcharts-series[rel='\".concat(s+1,\"'] path\"));for(var n=0;n=t.from&&a<=t.to&&s[e].classList.remove(i.legendInactiveClass)}}(a.config.plotOptions.heatmap.colorScale.ranges[o])}else\"mouseout\"===t.type&&r(\"remove\")}},{key:\"getActiveConfigSeriesIndex\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"asc\",e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],i=this.w,a=0;if(i.config.series.length>1)for(var s=i.config.series.map((function(t,a){return t.data&&t.data.length>0&&-1===i.globals.collapsedSeriesIndices.indexOf(a)&&(!i.globals.comboCharts||0===e.length||e.length&&e.indexOf(i.config.series[a].type)>-1)?a:-1})),r=\"asc\"===t?0:s.length-1;\"asc\"===t?r=0;\"asc\"===t?r++:r--)if(-1!==s[r]){a=s[r];break}return a}},{key:\"getBarSeriesIndices\",value:function(){return this.w.globals.comboCharts?this.w.config.series.map((function(t,e){return\"bar\"===t.type||\"column\"===t.type?e:-1})).filter((function(t){return-1!==t})):this.w.config.series.map((function(t,e){return e}))}},{key:\"getPreviousPaths\",value:function(){var t=this.w;function e(e,i,a){for(var s=e[i].childNodes,r={type:a,paths:[],realIndex:e[i].getAttribute(\"data:realIndex\")},o=0;o0)for(var a=function(e){for(var i=t.globals.dom.baseEl.querySelectorAll(\".apexcharts-\".concat(t.config.chart.type,\" .apexcharts-series[data\\\\:realIndex='\").concat(e,\"'] rect\")),a=[],s=function(t){var e=function(e){return i[t].getAttribute(e)},s={x:parseFloat(e(\"x\")),y:parseFloat(e(\"y\")),width:parseFloat(e(\"width\")),height:parseFloat(e(\"height\"))};a.push({rect:s,color:i[t].getAttribute(\"color\")})},r=0;r0)for(var a=0;a0?t:[]}));return t}}]),t}(),N=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.twoDSeries=[],this.threeDSeries=[],this.twoDSeriesX=[],this.seriesGoals=[],this.coreUtils=new y(this.ctx)}return r(t,[{key:\"isMultiFormat\",value:function(){return this.isFormatXY()||this.isFormat2DArray()}},{key:\"isFormatXY\",value:function(){var t=this.w.config.series.slice(),e=new O(this.ctx);if(this.activeSeriesIndex=e.getActiveConfigSeriesIndex(),void 0!==t[this.activeSeriesIndex].data&&t[this.activeSeriesIndex].data.length>0&&null!==t[this.activeSeriesIndex].data[0]&&void 0!==t[this.activeSeriesIndex].data[0].x&&null!==t[this.activeSeriesIndex].data[0])return!0}},{key:\"isFormat2DArray\",value:function(){var t=this.w.config.series.slice(),e=new O(this.ctx);if(this.activeSeriesIndex=e.getActiveConfigSeriesIndex(),void 0!==t[this.activeSeriesIndex].data&&t[this.activeSeriesIndex].data.length>0&&void 0!==t[this.activeSeriesIndex].data[0]&&null!==t[this.activeSeriesIndex].data[0]&&t[this.activeSeriesIndex].data[0].constructor===Array)return!0}},{key:\"handleFormat2DArray\",value:function(t,e){for(var i=this.w.config,a=this.w.globals,s=\"boxPlot\"===i.chart.type||\"boxPlot\"===i.series[e].type,r=0;r=5?this.twoDSeries.push(x.parseNumber(t[e].data[r][4])):this.twoDSeries.push(x.parseNumber(t[e].data[r][1])),a.dataFormatXNumeric=!0),\"datetime\"===i.xaxis.type){var o=new Date(t[e].data[r][0]);o=new Date(o).getTime(),this.twoDSeriesX.push(o)}else this.twoDSeriesX.push(t[e].data[r][0]);for(var n=0;n-1&&(r=this.activeSeriesIndex);for(var o=0;o1&&void 0!==arguments[1]?arguments[1]:this.ctx,a=this.w.config,s=this.w.globals,r=new T(i),o=a.labels.length>0?a.labels.slice():a.xaxis.categories.slice();s.isRangeBar=\"rangeBar\"===a.chart.type&&s.isBarHorizontal,s.hasGroups=\"category\"===a.xaxis.type&&a.xaxis.group.groups.length>0,s.hasGroups&&(s.groups=a.xaxis.group.groups);for(var n=function(){for(var t=0;t0&&(this.twoDSeriesX=o,s.seriesX.push(this.twoDSeriesX))),s.labels.push(this.twoDSeriesX);var h=t[l].data.map((function(t){return x.parseNumber(t)}));s.series.push(h)}s.seriesZ.push(this.threeDSeries),void 0!==t[l].name?s.seriesNames.push(t[l].name):s.seriesNames.push(\"series-\"+parseInt(l+1,10)),void 0!==t[l].color?s.seriesColors.push(t[l].color):s.seriesColors.push(void 0)}return this.w}},{key:\"parseDataNonAxisCharts\",value:function(t){var e=this.w.globals,i=this.w.config;e.series=t.slice(),e.seriesNames=i.labels.slice();for(var a=0;a0)i.labels=e.xaxis.categories;else if(e.labels.length>0)i.labels=e.labels.slice();else if(this.fallbackToCategory){if(i.labels=i.labels[0],i.seriesRange.length&&(i.seriesRange.map((function(t){t.forEach((function(t){i.labels.indexOf(t.x)<0&&t.x&&i.labels.push(t.x)}))})),i.labels=i.labels.filter((function(t,e,i){return i.indexOf(t)===e}))),e.xaxis.convertedCatToNumeric)new z(e).convertCatToNumericXaxis(e,this.ctx,i.seriesX[0]),this._generateExternalLabels(t)}else this._generateExternalLabels(t)}},{key:\"_generateExternalLabels\",value:function(t){var e=this.w.globals,i=this.w.config,a=[];if(e.axisCharts){if(e.series.length>0)if(this.isFormatXY())for(var s=i.series.map((function(t,e){return t.data.filter((function(t,e,i){return i.findIndex((function(e){return e.x===t.x}))===e}))})),r=s.reduce((function(t,e,i,a){return a[t].length>e.length?t:i}),0),o=0;o0&&i<100?t.toFixed(1):t.toFixed(0)}if(e.globals.isBarHorizontal)if(e.globals.maxY-e.globals.minYArr<4)return t.toFixed(1);return t.toFixed(0)}return t},\"function\"==typeof e.config.tooltip.x.formatter?e.globals.ttKeyFormatter=e.config.tooltip.x.formatter:e.globals.ttKeyFormatter=e.globals.xLabelFormatter,\"function\"==typeof e.config.xaxis.tooltip.formatter&&(e.globals.xaxisTooltipFormatter=e.config.xaxis.tooltip.formatter),(Array.isArray(e.config.tooltip.y)||void 0!==e.config.tooltip.y.formatter)&&(e.globals.ttVal=e.config.tooltip.y),void 0!==e.config.tooltip.z.formatter&&(e.globals.ttZFormatter=e.config.tooltip.z.formatter),void 0!==e.config.legend.formatter&&(e.globals.legendFormatter=e.config.legend.formatter),e.config.yaxis.forEach((function(i,a){void 0!==i.labels.formatter?e.globals.yLabelFormatters[a]=i.labels.formatter:e.globals.yLabelFormatters[a]=function(s){return e.globals.xyCharts?Array.isArray(s)?s.map((function(e){return t.defaultYFormatter(e,i,a)})):t.defaultYFormatter(s,i,a):s}})),e.globals}},{key:\"heatmapLabelFormatters\",value:function(){var t=this.w;if(\"heatmap\"===t.config.chart.type){t.globals.yAxisScale[0].result=t.globals.seriesNames.slice();var e=t.globals.seriesNames.reduce((function(t,e){return t.length>e.length?t:e}),0);t.globals.yAxisScale[0].niceMax=e,t.globals.yAxisScale[0].niceMin=e}}}]),t}(),B=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:\"getLabel\",value:function(t,e,i,a){var s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[],r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:\"12px\",o=!(arguments.length>6&&void 0!==arguments[6])||arguments[6],n=this.w,l=void 0===t[a]?\"\":t[a],h=l,c=n.globals.xLabelFormatter,d=n.config.xaxis.labels.formatter,g=!1,u=new W(this.ctx),f=l;o&&(h=u.xLabelFormat(c,l,f,{i:a,dateFormatter:new T(this.ctx).formatDate,w:n}),void 0!==d&&(h=d(l,t[a],{i:a,dateFormatter:new T(this.ctx).formatDate,w:n})));var p=function(t){var i=null;return e.forEach((function(t){\"month\"===t.unit?i=\"year\":\"day\"===t.unit?i=\"month\":\"hour\"===t.unit?i=\"day\":\"minute\"===t.unit&&(i=\"hour\")})),i===t};e.length>0?(g=p(e[a].unit),i=e[a].position,h=e[a].value):\"datetime\"===n.config.xaxis.type&&void 0===d&&(h=\"\"),void 0===h&&(h=\"\"),h=Array.isArray(h)?h:h.toString();var x=new m(this.ctx),b={};b=n.globals.rotateXLabels&&o?x.getTextRects(h,parseInt(r,10),null,\"rotate(\".concat(n.config.xaxis.labels.rotate,\" 0 0)\"),!1):x.getTextRects(h,parseInt(r,10));var v=!n.config.xaxis.labels.showDuplicates&&this.ctx.timeScale;return!Array.isArray(h)&&(0===h.indexOf(\"NaN\")||0===h.toLowerCase().indexOf(\"invalid\")||h.toLowerCase().indexOf(\"infinity\")>=0||s.indexOf(h)>=0&&v)&&(h=\"\"),{x:i,text:h,textRect:b,isBold:g}}},{key:\"checkLabelBasedOnTickamount\",value:function(t,e,i){var a=this.w,s=a.config.xaxis.tickAmount;return\"dataPoints\"===s&&(s=Math.round(a.globals.gridWidth/120)),s>i||t%Math.round(i/(s+1))==0||(e.text=\"\"),e}},{key:\"checkForOverflowingLabels\",value:function(t,e,i,a,s){var r=this.w;if(0===t&&r.globals.skipFirstTimelinelabel&&(e.text=\"\"),t===i-1&&r.globals.skipLastTimelinelabel&&(e.text=\"\"),r.config.xaxis.labels.hideOverlappingLabels&&a.length>0){var o=s[s.length-1];e.x0){!0===n.config.yaxis[s].opposite&&(t+=a.width);for(var c=e;c>=0;c--){var d=h+e/10+n.config.yaxis[s].labels.offsetY-1;n.globals.isBarHorizontal&&(d=r*c),\"heatmap\"===n.config.chart.type&&(d+=r/2);var g=l.drawLine(t+i.offsetX-a.width+a.offsetX,d+a.offsetY,t+i.offsetX+a.offsetX,d+a.offsetY,a.color);o.add(g),h+=r}}}}]),t}(),G=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:\"scaleSvgNode\",value:function(t,e){var i=parseFloat(t.getAttributeNS(null,\"width\")),a=parseFloat(t.getAttributeNS(null,\"height\"));t.setAttributeNS(null,\"width\",i*e),t.setAttributeNS(null,\"height\",a*e),t.setAttributeNS(null,\"viewBox\",\"0 0 \"+i+\" \"+a)}},{key:\"fixSvgStringForIe11\",value:function(t){if(!x.isIE11())return t.replace(/ /g,\" \");var e=0,i=t.replace(/xmlns=\"http:\\/\\/www.w3.org\\/2000\\/svg\"/g,(function(t){return 2===++e?'xmlns:xlink=\"http://www.w3.org/1999/xlink\" xmlns:svgjs=\"http://svgjs.dev\"':t}));return i=(i=i.replace(/xmlns:NS\\d+=\"\"/g,\"\")).replace(/NS\\d+:(\\w+:\\w+=\")/g,\"$1\")}},{key:\"getSvgString\",value:function(t){null==t&&(t=1);var e=this.w.globals.dom.Paper.svg();if(1!==t){var i=this.w.globals.dom.Paper.node.cloneNode(!0);this.scaleSvgNode(i,t),e=(new XMLSerializer).serializeToString(i)}return this.fixSvgStringForIe11(e)}},{key:\"cleanup\",value:function(){var t=this.w,e=t.globals.dom.baseEl.getElementsByClassName(\"apexcharts-xcrosshairs\"),i=t.globals.dom.baseEl.getElementsByClassName(\"apexcharts-ycrosshairs\"),a=t.globals.dom.baseEl.querySelectorAll(\".apexcharts-zoom-rect, .apexcharts-selection-rect\");Array.prototype.forEach.call(a,(function(t){t.setAttribute(\"width\",0)})),e&&e[0]&&(e[0].setAttribute(\"x\",-500),e[0].setAttribute(\"x1\",-500),e[0].setAttribute(\"x2\",-500)),i&&i[0]&&(i[0].setAttribute(\"y\",-100),i[0].setAttribute(\"y1\",-100),i[0].setAttribute(\"y2\",-100))}},{key:\"svgUrl\",value:function(){this.cleanup();var t=this.getSvgString(),e=new Blob([t],{type:\"image/svg+xml;charset=utf-8\"});return URL.createObjectURL(e)}},{key:\"dataURI\",value:function(t){var e=this;return new Promise((function(i){var a=e.w,s=t?t.scale||t.width/a.globals.svgWidth:1;e.cleanup();var r=document.createElement(\"canvas\");r.width=a.globals.svgWidth*s,r.height=parseInt(a.globals.dom.elWrap.style.height,10)*s;var o=\"transparent\"===a.config.chart.background?\"#fff\":a.config.chart.background,n=r.getContext(\"2d\");n.fillStyle=o,n.fillRect(0,0,r.width*s,r.height*s);var l=e.getSvgString(s);if(window.canvg&&x.isIE11()){var h=window.canvg.Canvg.fromString(n,l,{ignoreClear:!0,ignoreDimensions:!0});h.start();var c=r.msToBlob();h.stop(),i({blob:c})}else{var d=\"data:image/svg+xml,\"+encodeURIComponent(l),g=new Image;g.crossOrigin=\"anonymous\",g.onload=function(){if(n.drawImage(g,0,0),r.msToBlob){var t=r.msToBlob();i({blob:t})}else{var e=r.toDataURL(\"image/png\");i({imgURI:e})}},g.src=d}}))}},{key:\"exportToSVG\",value:function(){this.triggerDownload(this.svgUrl(),this.w.config.chart.toolbar.export.svg.filename,\".svg\")}},{key:\"exportToPng\",value:function(){var t=this;this.dataURI().then((function(e){var i=e.imgURI,a=e.blob;a?navigator.msSaveOrOpenBlob(a,t.w.globals.chartID+\".png\"):t.triggerDownload(i,t.w.config.chart.toolbar.export.png.filename,\".png\")}))}},{key:\"exportToCSV\",value:function(t){var e=this,i=t.series,a=t.fileName,s=t.columnDelimiter,r=void 0===s?\",\":s,o=t.lineDelimiter,n=void 0===o?\"\\n\":o,l=this.w;i||(i=l.config.series);var h=[],c=[],d=\"\",g=l.globals.series.map((function(t,e){return-1===l.globals.collapsedSeriesIndices.indexOf(e)?t:[]})),f=Math.max.apply(Math,u(i.map((function(t){return t.data?t.data.length:0})))),p=new N(this.ctx),b=new B(this.ctx),v=function(t){var i=\"\";if(l.globals.axisCharts){if(\"category\"===l.config.xaxis.type||l.config.xaxis.convertedCatToNumeric)if(l.globals.isBarHorizontal){var a=l.globals.yLabelFormatters[0],s=new O(e.ctx).getActiveConfigSeriesIndex();i=a(l.globals.labels[t],{seriesIndex:s,dataPointIndex:t,w:l})}else i=b.getLabel(l.globals.labels,l.globals.timescaleLabels,0,t).text;\"datetime\"===l.config.xaxis.type&&(l.config.xaxis.categories.length?i=l.config.xaxis.categories[t]:l.config.labels.length&&(i=l.config.labels[t]))}else i=l.config.labels[t];return Array.isArray(i)&&(i=i.join(\" \")),x.isNumber(i)?i:i.split(r).join(\"\")},m=function(t,e){if(h.length&&0===e&&c.push(h.join(r)),t.data){t.data=t.data.length&&t.data||u(Array(f)).map((function(){return\"\"}));for(var a=0;a=10?l.config.chart.toolbar.export.csv.dateFormatter(s):x.isNumber(s)?s:s.split(r).join(\"\")));for(var o=0;o0&&!s.globals.isBarHorizontal&&(this.xaxisLabels=s.globals.timescaleLabels.slice()),s.config.xaxis.overwriteCategories&&(this.xaxisLabels=s.config.xaxis.overwriteCategories),this.drawnLabels=[],this.drawnLabelsRects=[],\"top\"===s.config.xaxis.position?this.offY=0:this.offY=s.globals.gridHeight+1,this.offY=this.offY+s.config.xaxis.axisBorder.offsetY,this.isCategoryBarHorizontal=\"bar\"===s.config.chart.type&&s.config.plotOptions.bar.horizontal,this.xaxisFontSize=s.config.xaxis.labels.style.fontSize,this.xaxisFontFamily=s.config.xaxis.labels.style.fontFamily,this.xaxisForeColors=s.config.xaxis.labels.style.colors,this.xaxisBorderWidth=s.config.xaxis.axisBorder.width,this.isCategoryBarHorizontal&&(this.xaxisBorderWidth=s.config.yaxis[0].axisBorder.width.toString()),this.xaxisBorderWidth.indexOf(\"%\")>-1?this.xaxisBorderWidth=s.globals.gridWidth*parseInt(this.xaxisBorderWidth,10)/100:this.xaxisBorderWidth=parseInt(this.xaxisBorderWidth,10),this.xaxisBorderHeight=s.config.xaxis.axisBorder.height,this.yaxis=s.config.yaxis[0]}return r(t,[{key:\"drawXaxis\",value:function(){var t=this.w,e=new m(this.ctx),i=e.group({class:\"apexcharts-xaxis\",transform:\"translate(\".concat(t.config.xaxis.offsetX,\", \").concat(t.config.xaxis.offsetY,\")\")}),a=e.group({class:\"apexcharts-xaxis-texts-g\",transform:\"translate(\".concat(t.globals.translateXAxisX,\", \").concat(t.globals.translateXAxisY,\")\")});i.add(a);for(var s=[],r=0;r6&&void 0!==arguments[6]?arguments[6]:{},h=[],c=[],d=this.w,g=l.xaxisFontSize||this.xaxisFontSize,u=l.xaxisFontFamily||this.xaxisFontFamily,f=l.xaxisForeColors||this.xaxisForeColors,p=l.fontWeight||d.config.xaxis.labels.style.fontWeight,x=l.cssClass||d.config.xaxis.labels.style.cssClass,b=d.globals.padHorizontal,v=a.length,m=\"category\"===d.config.xaxis.type?d.globals.dataPoints:v;if(0===m&&v>m&&(m=v),s){var y=m>1?m-1:m;o=d.globals.gridWidth/y,b=b+r(0,o)/2+d.config.xaxis.labels.offsetX}else o=d.globals.gridWidth/m,b=b+r(0,o)+d.config.xaxis.labels.offsetX;for(var w=function(s){var l=b-r(s,o)/2+d.config.xaxis.labels.offsetX;0===s&&1===v&&o/2===b&&1===m&&(l=d.globals.gridWidth/2);var y=n.axesUtils.getLabel(a,d.globals.timescaleLabels,l,s,h,g,t),w=28;d.globals.rotateXLabels&&t&&(w=22),d.config.xaxis.title.text&&\"top\"===d.config.xaxis.position&&(w+=parseFloat(d.config.xaxis.title.style.fontSize)+2),t||(w=w+parseFloat(g)+(d.globals.xAxisLabelsHeight-d.globals.xAxisGroupLabelsHeight)+(d.globals.rotateXLabels?10:0)),y=void 0!==d.config.xaxis.tickAmount&&\"dataPoints\"!==d.config.xaxis.tickAmount&&\"datetime\"!==d.config.xaxis.type?n.axesUtils.checkLabelBasedOnTickamount(s,y,v):n.axesUtils.checkForOverflowingLabels(s,y,v,h,c);if(t&&y.text&&d.globals.xaxisLabelsCount++,d.config.xaxis.labels.show){var k=e.drawText({x:y.x,y:n.offY+d.config.xaxis.labels.offsetY+w-(\"top\"===d.config.xaxis.position?d.globals.xAxisHeight+d.config.xaxis.axisTicks.height-2:0),text:y.text,textAnchor:\"middle\",fontWeight:y.isBold?600:p,fontSize:g,fontFamily:u,foreColor:Array.isArray(f)?t&&d.config.xaxis.convertedCatToNumeric?f[d.globals.minX+s-1]:f[s]:f,isPlainText:!1,cssClass:(t?\"apexcharts-xaxis-label \":\"apexcharts-xaxis-group-label \")+x});if(i.add(k),k.on(\"click\",(function(t){if(\"function\"==typeof d.config.chart.events.xAxisLabelClick){var e=Object.assign({},d,{labelIndex:s});d.config.chart.events.xAxisLabelClick(t,n.ctx,e)}})),t){var A=document.createElementNS(d.globals.SVGNS,\"title\");A.textContent=Array.isArray(y.text)?y.text.join(\" \"):y.text,k.node.appendChild(A),\"\"!==y.text&&(h.push(y.text),c.push(y))}}sa.globals.gridWidth)){var r=this.offY+a.config.xaxis.axisTicks.offsetY;if(e=e+r+a.config.xaxis.axisTicks.height,\"top\"===a.config.xaxis.position&&(e=r-a.config.xaxis.axisTicks.height),a.config.xaxis.axisTicks.show){var o=new m(this.ctx).drawLine(t+a.config.xaxis.axisTicks.offsetX,r+a.config.xaxis.offsetY,s+a.config.xaxis.axisTicks.offsetX,e+a.config.xaxis.offsetY,a.config.xaxis.axisTicks.color);i.add(o),o.node.classList.add(\"apexcharts-xaxis-tick\")}}}},{key:\"getXAxisTicksPositions\",value:function(){var t=this.w,e=[],i=this.xaxisLabels.length,a=t.globals.padHorizontal;if(t.globals.timescaleLabels.length>0)for(var s=0;s0){var h=s[s.length-1].getBBox(),c=s[0].getBBox();h.x<-20&&s[s.length-1].parentNode.removeChild(s[s.length-1]),c.x+c.width>t.globals.gridWidth&&!t.globals.isBarHorizontal&&s[0].parentNode.removeChild(s[0]);for(var d=0;d0&&(this.xaxisLabels=i.globals.timescaleLabels.slice())}return r(t,[{key:\"drawGridArea\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=this.w,i=new m(this.ctx);null===t&&(t=i.group({class:\"apexcharts-grid\"}));var a=i.drawLine(e.globals.padHorizontal,1,e.globals.padHorizontal,e.globals.gridHeight,\"transparent\"),s=i.drawLine(e.globals.padHorizontal,e.globals.gridHeight,e.globals.gridWidth,e.globals.gridHeight,\"transparent\");return t.add(s),t.add(a),t}},{key:\"drawGrid\",value:function(){var t=null;return this.w.globals.axisCharts&&(t=this.renderGrid(),this.drawGridArea(t.el)),t}},{key:\"createGridMask\",value:function(){var t=this.w,e=t.globals,i=new m(this.ctx),a=Array.isArray(t.config.stroke.width)?0:t.config.stroke.width;if(Array.isArray(t.config.stroke.width)){var s=0;t.config.stroke.width.forEach((function(t){s=Math.max(s,t)})),a=s}e.dom.elGridRectMask=document.createElementNS(e.SVGNS,\"clipPath\"),e.dom.elGridRectMask.setAttribute(\"id\",\"gridRectMask\".concat(e.cuid)),e.dom.elGridRectMarkerMask=document.createElementNS(e.SVGNS,\"clipPath\"),e.dom.elGridRectMarkerMask.setAttribute(\"id\",\"gridRectMarkerMask\".concat(e.cuid)),e.dom.elForecastMask=document.createElementNS(e.SVGNS,\"clipPath\"),e.dom.elForecastMask.setAttribute(\"id\",\"forecastMask\".concat(e.cuid)),e.dom.elNonForecastMask=document.createElementNS(e.SVGNS,\"clipPath\"),e.dom.elNonForecastMask.setAttribute(\"id\",\"nonForecastMask\".concat(e.cuid));var r=t.config.chart.type,o=0,n=0;(\"bar\"===r||\"rangeBar\"===r||\"candlestick\"===r||\"boxPlot\"===r||t.globals.comboBarCount>0)&&t.globals.isXNumeric&&!t.globals.isBarHorizontal&&(o=t.config.grid.padding.left,n=t.config.grid.padding.right,e.barPadForNumericAxis>o&&(o=e.barPadForNumericAxis,n=e.barPadForNumericAxis)),e.dom.elGridRect=i.drawRect(-a/2-o-2,-a/2,e.gridWidth+a+n+o+4,e.gridHeight+a,0,\"#fff\");var l=t.globals.markers.largestSize+1;e.dom.elGridRectMarker=i.drawRect(2*-l,2*-l,e.gridWidth+4*l,e.gridHeight+4*l,0,\"#fff\"),e.dom.elGridRectMask.appendChild(e.dom.elGridRect.node),e.dom.elGridRectMarkerMask.appendChild(e.dom.elGridRectMarker.node);var h=e.dom.baseEl.querySelector(\"defs\");h.appendChild(e.dom.elGridRectMask),h.appendChild(e.dom.elForecastMask),h.appendChild(e.dom.elNonForecastMask),h.appendChild(e.dom.elGridRectMarkerMask)}},{key:\"_drawGridLines\",value:function(t){var e=t.i,i=t.x1,a=t.y1,s=t.x2,r=t.y2,o=t.xCount,n=t.parent,l=this.w;if(!(0===e&&l.globals.skipFirstTimelinelabel||e===o-1&&l.globals.skipLastTimelinelabel&&!l.config.xaxis.labels.formatter||\"radar\"===l.config.chart.type)){l.config.grid.xaxis.lines.show&&this._drawGridLine({i:e,x1:i,y1:a,x2:s,y2:r,xCount:o,parent:n});var h=0;if(l.globals.hasGroups&&\"between\"===l.config.xaxis.tickPlacement){var c=l.globals.groups;if(c){for(var d=0,g=0;d2));s++);return!t.globals.isBarHorizontal||this.isRangeBar?(i=this.xaxisLabels.length,this.isRangeBar&&(a=t.globals.labels.length,t.config.xaxis.tickAmount&&t.config.xaxis.labels.formatter&&(i=t.config.xaxis.tickAmount)),this._drawXYLines({xCount:i,tickAmount:a})):(i=a,a=t.globals.xTickAmount,this._drawInvertedXYLines({xCount:i,tickAmount:a})),this.drawGridBands(i,a),{el:this.elg,elGridBorders:this.elGridBorders,xAxisTickWidth:t.globals.gridWidth/i}}},{key:\"drawGridBands\",value:function(t,e){var i=this.w;if(void 0!==i.config.grid.row.colors&&i.config.grid.row.colors.length>0)for(var a=0,s=i.globals.gridHeight/e,r=i.globals.gridWidth,o=0,n=0;o=i.config.grid.row.colors.length&&(n=0),this._drawGridBandRect({c:n,x1:0,y1:a,x2:r,y2:s,type:\"row\"}),a+=i.globals.gridHeight/e;if(void 0!==i.config.grid.column.colors&&i.config.grid.column.colors.length>0)for(var l=i.globals.isBarHorizontal||\"category\"!==i.config.xaxis.type&&!i.config.xaxis.convertedCatToNumeric?t:t-1,h=i.globals.padHorizontal,c=i.globals.padHorizontal+i.globals.gridWidth/l,d=i.globals.gridHeight,g=0,u=0;g=i.config.grid.column.colors.length&&(u=0),this._drawGridBandRect({c:u,x1:h,y1:0,x2:c,y2:d,type:\"column\"}),h+=i.globals.gridWidth/l}}]),t}(),_=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:\"niceScale\",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:10,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,s=arguments.length>4?arguments[4]:void 0,r=this.w,o=Math.abs(e-t);if(\"dataPoints\"===(i=this._adjustTicksForSmallRange(i,a,o))&&(i=r.globals.dataPoints-1),t===Number.MIN_VALUE&&0===e||!x.isNumber(t)&&!x.isNumber(e)||t===Number.MIN_VALUE&&e===-Number.MAX_VALUE){t=0,e=i;var n=this.linearScale(t,e,i);return n}t>e?(console.warn(\"axis.min cannot be greater than axis.max\"),e=t+.1):t===e&&(t=0===t?0:t-.5,e=0===e?2:e+.5);var l=[];o<1&&s&&(\"candlestick\"===r.config.chart.type||\"candlestick\"===r.config.series[a].type||\"boxPlot\"===r.config.chart.type||\"boxPlot\"===r.config.series[a].type||r.globals.isRangeData)&&(e*=1.01);var h=i+1;h<2?h=2:h>2&&(h-=2);var c=o/h,d=Math.floor(x.log10(c)),g=Math.pow(10,d),u=Math.round(c/g);u<1&&(u=1);var f=u*g,p=f*Math.floor(t/f),b=f*Math.ceil(e/f),v=p;if(s&&o>2){for(;l.push(v),!((v+=f)>b););return{result:l,niceMin:l[0],niceMax:l[l.length-1]}}var m=t;(l=[]).push(m);for(var y=Math.abs(e-t)/i,w=0;w<=i;w++)m+=y,l.push(m);return l[l.length-2]>=e&&l.pop(),{result:l,niceMin:l[0],niceMax:l[l.length-1]}}},{key:\"linearScale\",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:10,a=arguments.length>3?arguments[3]:void 0,s=Math.abs(e-t);\"dataPoints\"===(i=this._adjustTicksForSmallRange(i,a,s))&&(i=this.w.globals.dataPoints-1);var r=s/i;i===Number.MAX_VALUE&&(i=10,r=1);for(var o=[],n=t;i>=0;)o.push(n),n+=r,i-=1;return{result:o,niceMin:o[0],niceMax:o[o.length-1]}}},{key:\"logarithmicScaleNice\",value:function(t,e,i){e<=0&&(e=Math.max(t,i)),t<=0&&(t=Math.min(e,i));for(var a=[],s=Math.ceil(Math.log(e)/Math.log(i)+1),r=Math.floor(Math.log(t)/Math.log(i));r5)a.allSeriesCollapsed=!1,a.yAxisScale[t]=this.logarithmicScale(e,i,r.logBase),a.yAxisScale[t]=r.forceNiceScale?this.logarithmicScaleNice(e,i,r.logBase):this.logarithmicScale(e,i,r.logBase);else if(i!==-Number.MAX_VALUE&&x.isNumber(i))if(a.allSeriesCollapsed=!1,void 0===r.min&&void 0===r.max||r.forceNiceScale){var n=void 0===s.yaxis[t].max&&void 0===s.yaxis[t].min||s.yaxis[t].forceNiceScale;a.yAxisScale[t]=this.niceScale(e,i,r.tickAmount?r.tickAmount:o<5&&o>1?o+1:5,t,n)}else a.yAxisScale[t]=this.linearScale(e,i,r.tickAmount,t);else a.yAxisScale[t]=this.linearScale(0,5,5)}},{key:\"setXScale\",value:function(t,e){var i=this.w,a=i.globals,s=i.config.xaxis,r=Math.abs(e-t);return e!==-Number.MAX_VALUE&&x.isNumber(e)?a.xAxisScale=this.linearScale(t,e,s.tickAmount?s.tickAmount:r<5&&r>1?r+1:5,0):a.xAxisScale=this.linearScale(0,5,5),a.xAxisScale}},{key:\"setMultipleYScales\",value:function(){var t=this,e=this.w.globals,i=this.w.config,a=e.minYArr.concat([]),s=e.maxYArr.concat([]),r=[];i.yaxis.forEach((function(e,o){var n=o;i.series.forEach((function(t,i){t.name===e.seriesName&&(n=i,o!==i?r.push({index:i,similarIndex:o,alreadyExists:!0}):r.push({index:i}))}));var l=a[n],h=s[n];t.setYScaleForIndex(o,l,h)})),this.sameScaleInMultipleAxes(a,s,r)}},{key:\"sameScaleInMultipleAxes\",value:function(t,e,i){var a=this,s=this.w.config,r=this.w.globals,o=[];i.forEach((function(t){t.alreadyExists&&(void 0===o[t.index]&&(o[t.index]=[]),o[t.index].push(t.index),o[t.index].push(t.similarIndex))})),r.yAxisSameScaleIndices=o,o.forEach((function(t,e){o.forEach((function(i,a){var s,r;e!==a&&(s=t,r=i,s.filter((function(t){return-1!==r.indexOf(t)}))).length>0&&(o[e]=o[e].concat(o[a]))}))}));var n=o.map((function(t){return t.filter((function(e,i){return t.indexOf(e)===i}))})).map((function(t){return t.sort()}));o=o.filter((function(t){return!!t}));var l=n.slice(),h=l.map((function(t){return JSON.stringify(t)}));l=l.filter((function(t,e){return h.indexOf(JSON.stringify(t))===e}));var c=[],d=[];t.forEach((function(t,i){l.forEach((function(a,s){a.indexOf(i)>-1&&(void 0===c[s]&&(c[s]=[],d[s]=[]),c[s].push({key:i,value:t}),d[s].push({key:i,value:e[i]}))}))}));var g=Array.apply(null,Array(l.length)).map(Number.prototype.valueOf,Number.MIN_VALUE),u=Array.apply(null,Array(l.length)).map(Number.prototype.valueOf,-Number.MAX_VALUE);c.forEach((function(t,e){t.forEach((function(t,i){g[e]=Math.min(t.value,g[e])}))})),d.forEach((function(t,e){t.forEach((function(t,i){u[e]=Math.max(t.value,u[e])}))})),t.forEach((function(t,e){d.forEach((function(t,i){var o=g[i],n=u[i];s.chart.stacked&&(n=0,t.forEach((function(t,e){t.value!==-Number.MAX_VALUE&&(n+=t.value),o!==Number.MIN_VALUE&&(o+=c[i][e].value)}))),t.forEach((function(i,l){t[l].key===e&&(void 0!==s.yaxis[e].min&&(o=\"function\"==typeof s.yaxis[e].min?s.yaxis[e].min(r.minY):s.yaxis[e].min),void 0!==s.yaxis[e].max&&(n=\"function\"==typeof s.yaxis[e].max?s.yaxis[e].max(r.maxY):s.yaxis[e].max),a.setYScaleForIndex(e,o,n))}))}))}))}},{key:\"autoScaleY\",value:function(t,e,i){t||(t=this);var a=t.w;if(a.globals.isMultipleYAxis||a.globals.collapsedSeries.length)return console.warn(\"autoScaleYaxis is not supported in a multi-yaxis chart.\"),e;var s=a.globals.seriesX[0],r=a.config.chart.stacked;return e.forEach((function(t,o){for(var n=0,l=0;l=i.xaxis.min){n=l;break}var h,c,d=a.globals.minYArr[o],g=a.globals.maxYArr[o],u=a.globals.stackedSeriesTotals;a.globals.series.forEach((function(o,l){var f=o[n];r?(f=u[n],h=c=f,u.forEach((function(t,e){s[e]<=i.xaxis.max&&s[e]>=i.xaxis.min&&(t>c&&null!==t&&(c=t),o[e]=i.xaxis.min){var r=t,o=t;a.globals.series.forEach((function(i,a){null!==t&&(r=Math.min(i[e],r),o=Math.max(i[e],o))})),o>c&&null!==o&&(c=o),rd&&(h=d),e.length>1?(e[l].min=void 0===t.min?h:t.min,e[l].max=void 0===t.max?c:t.max):(e[0].min=void 0===t.min?h:t.min,e[0].max=void 0===t.max?c:t.max)}))})),e}}]),t}(),U=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.scales=new _(e)}return r(t,[{key:\"init\",value:function(){this.setYRange(),this.setXRange(),this.setZRange()}},{key:\"getMinYMaxY\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Number.MAX_VALUE,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:-Number.MAX_VALUE,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,s=this.w.config,r=this.w.globals,o=-Number.MAX_VALUE,n=Number.MIN_VALUE;null===a&&(a=t+1);var l=r.series,h=l,c=l;\"candlestick\"===s.chart.type?(h=r.seriesCandleL,c=r.seriesCandleH):\"boxPlot\"===s.chart.type?(h=r.seriesCandleO,c=r.seriesCandleC):r.isRangeData&&(h=r.seriesRangeStart,c=r.seriesRangeEnd);for(var d=t;dh[d][g]&&h[d][g]<0&&(n=h[d][g])):r.hasNullValues=!0}}return\"rangeBar\"===s.chart.type&&r.seriesRangeStart.length&&r.isBarHorizontal&&(n=e),\"bar\"===s.chart.type&&(n<0&&o<0&&(o=0),n===Number.MIN_VALUE&&(n=0)),{minY:n,maxY:o,lowestY:e,highestY:i}}},{key:\"setYRange\",value:function(){var t=this.w.globals,e=this.w.config;t.maxY=-Number.MAX_VALUE,t.minY=Number.MIN_VALUE;var i=Number.MAX_VALUE;if(t.isMultipleYAxis)for(var a=0;a=0&&i<=10||void 0!==e.yaxis[0].min||void 0!==e.yaxis[0].max)&&(o=0),t.minY=i-5*o/100,i>0&&t.minY<0&&(t.minY=0),t.maxY=t.maxY+5*o/100}if(e.yaxis.forEach((function(e,i){void 0!==e.max&&(\"number\"==typeof e.max?t.maxYArr[i]=e.max:\"function\"==typeof e.max&&(t.maxYArr[i]=e.max(t.isMultipleYAxis?t.maxYArr[i]:t.maxY)),t.maxY=t.maxYArr[i]),void 0!==e.min&&(\"number\"==typeof e.min?t.minYArr[i]=e.min:\"function\"==typeof e.min&&(t.minYArr[i]=e.min(t.isMultipleYAxis?t.minYArr[i]===Number.MIN_VALUE?0:t.minYArr[i]:t.minY)),t.minY=t.minYArr[i])})),t.isBarHorizontal){[\"min\",\"max\"].forEach((function(i){void 0!==e.xaxis[i]&&\"number\"==typeof e.xaxis[i]&&(\"min\"===i?t.minY=e.xaxis[i]:t.maxY=e.xaxis[i])}))}return t.isMultipleYAxis?(this.scales.setMultipleYScales(),t.minY=i,t.yAxisScale.forEach((function(e,i){t.minYArr[i]=e.niceMin,t.maxYArr[i]=e.niceMax}))):(this.scales.setYScaleForIndex(0,t.minY,t.maxY),t.minY=t.yAxisScale[0].niceMin,t.maxY=t.yAxisScale[0].niceMax,t.minYArr[0]=t.yAxisScale[0].niceMin,t.maxYArr[0]=t.yAxisScale[0].niceMax),{minY:t.minY,maxY:t.maxY,minYArr:t.minYArr,maxYArr:t.maxYArr,yAxisScale:t.yAxisScale}}},{key:\"setXRange\",value:function(){var t=this.w.globals,e=this.w.config,i=\"numeric\"===e.xaxis.type||\"datetime\"===e.xaxis.type||\"category\"===e.xaxis.type&&!t.noLabelsProvided||t.noLabelsProvided||t.isXNumeric;if(t.isXNumeric&&function(){for(var e=0;et.dataPoints&&0!==t.dataPoints&&(a=t.dataPoints-1)):\"dataPoints\"===e.xaxis.tickAmount?(t.series.length>1&&(a=t.series[t.maxValsInArrayIndex].length-1),t.isXNumeric&&(a=t.maxX-t.minX-1)):a=e.xaxis.tickAmount,t.xTickAmount=a,void 0!==e.xaxis.max&&\"number\"==typeof e.xaxis.max&&(t.maxX=e.xaxis.max),void 0!==e.xaxis.min&&\"number\"==typeof e.xaxis.min&&(t.minX=e.xaxis.min),void 0!==e.xaxis.range&&(t.minX=t.maxX-e.xaxis.range),t.minX!==Number.MAX_VALUE&&t.maxX!==-Number.MAX_VALUE)if(e.xaxis.convertedCatToNumeric&&!t.dataFormatXNumeric){for(var s=[],r=t.minX-1;r0&&(t.xAxisScale=this.scales.linearScale(1,t.labels.length,a-1),t.seriesX=t.labels.slice());i&&(t.labels=t.xAxisScale.result.slice())}return t.isBarHorizontal&&t.labels.length&&(t.xTickAmount=t.labels.length),this._handleSingleDataPoint(),this._getMinXDiff(),{minX:t.minX,maxX:t.maxX}}},{key:\"setZRange\",value:function(){var t=this.w.globals;if(t.isDataXYZ)for(var e=0;e0){var s=e-a[i-1];s>0&&(t.minXDiff=Math.min(s,t.minXDiff))}})),1!==t.dataPoints&&t.minXDiff!==Number.MAX_VALUE||(t.minXDiff=.5)}))}},{key:\"_setStackedMinMax\",value:function(){var t=this.w.globals,e=[],i=[];if(t.series.length)for(var a=0;a0?s=s+parseFloat(t.series[o][a])+1e-4:r+=parseFloat(t.series[o][a])),o===t.series.length-1&&(e.push(s),i.push(r));for(var n=0;n=0;b--)x(b);if(void 0!==i.config.yaxis[t].title.text){var v=a.group({class:\"apexcharts-yaxis-title\"}),y=0;i.config.yaxis[t].opposite&&(y=i.globals.translateYAxisX[t]);var w=a.drawText({x:y,y:i.globals.gridHeight/2+i.globals.translateY+i.config.yaxis[t].title.offsetY,text:i.config.yaxis[t].title.text,textAnchor:\"end\",foreColor:i.config.yaxis[t].title.style.color,fontSize:i.config.yaxis[t].title.style.fontSize,fontWeight:i.config.yaxis[t].title.style.fontWeight,fontFamily:i.config.yaxis[t].title.style.fontFamily,cssClass:\"apexcharts-yaxis-title-text \"+i.config.yaxis[t].title.style.cssClass});v.add(w),l.add(v)}var k=i.config.yaxis[t].axisBorder,A=31+k.offsetX;if(i.config.yaxis[t].opposite&&(A=-31-k.offsetX),k.show){var S=a.drawLine(A,i.globals.translateY+k.offsetY-2,A,i.globals.gridHeight+i.globals.translateY+k.offsetY+2,k.color,0,k.width);l.add(S)}return i.config.yaxis[t].axisTicks.show&&this.axesUtils.drawYAxisTicks(A,c,k,i.config.yaxis[t].axisTicks,t,d,l),l}},{key:\"drawYaxisInversed\",value:function(t){var e=this.w,i=new m(this.ctx),a=i.group({class:\"apexcharts-xaxis apexcharts-yaxis-inversed\"}),s=i.group({class:\"apexcharts-xaxis-texts-g\",transform:\"translate(\".concat(e.globals.translateXAxisX,\", \").concat(e.globals.translateXAxisY,\")\")});a.add(s);var r=e.globals.yAxisScale[t].result.length-1,o=e.globals.gridWidth/r+.1,n=o+e.config.xaxis.labels.offsetX,l=e.globals.xLabelFormatter,h=e.globals.yAxisScale[t].result.slice(),c=e.globals.timescaleLabels;c.length>0&&(this.xaxisLabels=c.slice(),r=(h=c.slice()).length),h=this.axesUtils.checkForReversedLabels(t,h);var d=c.length;if(e.config.xaxis.labels.show)for(var g=d?0:r;d?g=0;d?g++:g--){var u=h[g];u=l(u,g,e);var f=e.globals.gridWidth+e.globals.padHorizontal-(n-o+e.config.xaxis.labels.offsetX);if(c.length){var p=this.axesUtils.getLabel(h,c,f,g,this.drawnLabels,this.xaxisFontSize);f=p.x,u=p.text,this.drawnLabels.push(p.text),0===g&&e.globals.skipFirstTimelinelabel&&(u=\"\"),g===h.length-1&&e.globals.skipLastTimelinelabel&&(u=\"\")}var x=i.drawText({x:f,y:this.xAxisoffX+e.config.xaxis.labels.offsetY+30-(\"top\"===e.config.xaxis.position?e.globals.xAxisHeight+e.config.xaxis.axisTicks.height-2:0),text:u,textAnchor:\"middle\",foreColor:Array.isArray(this.xaxisForeColors)?this.xaxisForeColors[t]:this.xaxisForeColors,fontSize:this.xaxisFontSize,fontFamily:this.xaxisFontFamily,fontWeight:e.config.xaxis.labels.style.fontWeight,isPlainText:!1,cssClass:\"apexcharts-xaxis-label \"+e.config.xaxis.labels.style.cssClass});s.add(x),x.tspan(u);var b=document.createElementNS(e.globals.SVGNS,\"title\");b.textContent=u,x.node.appendChild(b),n+=o}return this.inversedYAxisTitleText(a),this.inversedYAxisBorder(a),a}},{key:\"inversedYAxisBorder\",value:function(t){var e=this.w,i=new m(this.ctx),a=e.config.xaxis.axisBorder;if(a.show){var s=0;\"bar\"===e.config.chart.type&&e.globals.isXNumeric&&(s-=15);var r=i.drawLine(e.globals.padHorizontal+s+a.offsetX,this.xAxisoffX,e.globals.gridWidth,this.xAxisoffX,a.color,0,a.height);this.elgrid&&this.elgrid.elGridBorders?this.elgrid.elGridBorders.add(r):t.add(r)}}},{key:\"inversedYAxisTitleText\",value:function(t){var e=this.w,i=new m(this.ctx);if(void 0!==e.config.xaxis.title.text){var a=i.group({class:\"apexcharts-xaxis-title apexcharts-yaxis-title-inversed\"}),s=i.drawText({x:e.globals.gridWidth/2+e.config.xaxis.title.offsetX,y:this.xAxisoffX+parseFloat(this.xaxisFontSize)+parseFloat(e.config.xaxis.title.style.fontSize)+e.config.xaxis.title.offsetY+20,text:e.config.xaxis.title.text,textAnchor:\"middle\",fontSize:e.config.xaxis.title.style.fontSize,fontFamily:e.config.xaxis.title.style.fontFamily,fontWeight:e.config.xaxis.title.style.fontWeight,foreColor:e.config.xaxis.title.style.color,cssClass:\"apexcharts-xaxis-title-text \"+e.config.xaxis.title.style.cssClass});a.add(s),t.add(a)}}},{key:\"yAxisTitleRotate\",value:function(t,e){var i=this.w,a=new m(this.ctx),s={width:0,height:0},r={width:0,height:0},o=i.globals.dom.baseEl.querySelector(\" .apexcharts-yaxis[rel='\".concat(t,\"'] .apexcharts-yaxis-texts-g\"));null!==o&&(s=o.getBoundingClientRect());var n=i.globals.dom.baseEl.querySelector(\".apexcharts-yaxis[rel='\".concat(t,\"'] .apexcharts-yaxis-title text\"));if(null!==n&&(r=n.getBoundingClientRect()),null!==n){var l=this.xPaddingForYAxisTitle(t,s,r,e);n.setAttribute(\"x\",l.xPos-(e?10:0))}if(null!==n){var h=a.rotateAroundCenter(n);n.setAttribute(\"transform\",\"rotate(\".concat(e?-1*i.config.yaxis[t].title.rotate:i.config.yaxis[t].title.rotate,\" \").concat(h.x,\" \").concat(h.y,\")\"))}}},{key:\"xPaddingForYAxisTitle\",value:function(t,e,i,a){var s=this.w,r=0,o=0,n=10;return void 0===s.config.yaxis[t].title.text||t<0?{xPos:o,padd:0}:(a?(o=e.width+s.config.yaxis[t].title.offsetX+i.width/2+n/2,0===(r+=1)&&(o-=n/2)):(o=-1*e.width+s.config.yaxis[t].title.offsetX+n/2+i.width/2,s.globals.isBarHorizontal&&(n=25,o=-1*e.width-s.config.yaxis[t].title.offsetX-n)),{xPos:o,padd:n})}},{key:\"setYAxisXPosition\",value:function(t,e){var i=this.w,a=0,s=0,r=18,o=1;i.config.yaxis.length>1&&(this.multipleYs=!0),i.config.yaxis.map((function(n,l){var h=i.globals.ignoreYAxisIndexes.indexOf(l)>-1||!n.show||n.floating||0===t[l].width,c=t[l].width+e[l].width;n.opposite?i.globals.isBarHorizontal?(s=i.globals.gridWidth+i.globals.translateX-1,i.globals.translateYAxisX[l]=s-n.labels.offsetX):(s=i.globals.gridWidth+i.globals.translateX+o,h||(o=o+c+20),i.globals.translateYAxisX[l]=s-n.labels.offsetX+20):(a=i.globals.translateX-r,h||(r=r+c+20),i.globals.translateYAxisX[l]=a+n.labels.offsetX)}))}},{key:\"setYAxisTextAlignments\",value:function(){var t=this.w,e=t.globals.dom.baseEl.getElementsByClassName(\"apexcharts-yaxis\");(e=x.listToArray(e)).forEach((function(e,i){var a=t.config.yaxis[i];if(a&&void 0!==a.labels.align){var s=t.globals.dom.baseEl.querySelector(\".apexcharts-yaxis[rel='\".concat(i,\"'] .apexcharts-yaxis-texts-g\")),r=t.globals.dom.baseEl.querySelectorAll(\".apexcharts-yaxis[rel='\".concat(i,\"'] .apexcharts-yaxis-label\"));r=x.listToArray(r);var o=s.getBoundingClientRect();\"left\"===a.labels.align?(r.forEach((function(t,e){t.setAttribute(\"text-anchor\",\"start\")})),a.opposite||s.setAttribute(\"transform\",\"translate(-\".concat(o.width,\", 0)\"))):\"center\"===a.labels.align?(r.forEach((function(t,e){t.setAttribute(\"text-anchor\",\"middle\")})),s.setAttribute(\"transform\",\"translate(\".concat(o.width/2*(a.opposite?1:-1),\", 0)\"))):\"right\"===a.labels.align&&(r.forEach((function(t,e){t.setAttribute(\"text-anchor\",\"end\")})),a.opposite&&s.setAttribute(\"transform\",\"translate(\".concat(o.width,\", 0)\")))}}))}}]),t}(),Z=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.documentEvent=x.bind(this.documentEvent,this)}return r(t,[{key:\"addEventListener\",value:function(t,e){var i=this.w;i.globals.events.hasOwnProperty(t)?i.globals.events[t].push(e):i.globals.events[t]=[e]}},{key:\"removeEventListener\",value:function(t,e){var i=this.w;if(i.globals.events.hasOwnProperty(t)){var a=i.globals.events[t].indexOf(e);-1!==a&&i.globals.events[t].splice(a,1)}}},{key:\"fireEvent\",value:function(t,e){var i=this.w;if(i.globals.events.hasOwnProperty(t)){e&&e.length||(e=[]);for(var a=i.globals.events[t],s=a.length,r=0;r0&&(e=this.w.config.chart.locales.concat(window.Apex.chart.locales));var i=e.filter((function(e){return e.name===t}))[0];if(!i)throw new Error(\"Wrong locale name provided. Please make sure you set the correct locale name in options\");var a=x.extend(C,i);this.w.globals.locale=a.options}}]),t}(),J=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:\"drawAxis\",value:function(t,e){var i,a,s=this.w.globals,r=this.w.config,o=new V(this.ctx,e),n=new q(this.ctx,e);s.axisCharts&&\"radar\"!==t&&(s.isBarHorizontal?(a=n.drawYaxisInversed(0),i=o.drawXaxisInversed(0),s.dom.elGraphical.add(i),s.dom.elGraphical.add(a)):(i=o.drawXaxis(),s.dom.elGraphical.add(i),r.yaxis.map((function(t,e){-1===s.ignoreYAxisIndexes.indexOf(e)&&(a=n.drawYaxis(e),s.dom.Paper.add(a))}))))}}]),t}(),Q=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:\"drawXCrosshairs\",value:function(){var t=this.w,e=new m(this.ctx),i=new v(this.ctx),a=t.config.xaxis.crosshairs.fill.gradient,s=t.config.xaxis.crosshairs.dropShadow,r=t.config.xaxis.crosshairs.fill.type,o=a.colorFrom,n=a.colorTo,l=a.opacityFrom,h=a.opacityTo,c=a.stops,d=s.enabled,g=s.left,u=s.top,f=s.blur,p=s.color,b=s.opacity,y=t.config.xaxis.crosshairs.fill.color;if(t.config.xaxis.crosshairs.show){\"gradient\"===r&&(y=e.drawGradient(\"vertical\",o,n,l,h,null,c,null));var w=e.drawRect();1===t.config.xaxis.crosshairs.width&&(w=e.drawLine());var k=t.globals.gridHeight;(!x.isNumber(k)||k<0)&&(k=0);var A=t.config.xaxis.crosshairs.width;(!x.isNumber(A)||A<0)&&(A=0),w.attr({class:\"apexcharts-xcrosshairs\",x:0,y:0,y2:k,width:A,height:k,fill:y,filter:\"none\",\"fill-opacity\":t.config.xaxis.crosshairs.opacity,stroke:t.config.xaxis.crosshairs.stroke.color,\"stroke-width\":t.config.xaxis.crosshairs.stroke.width,\"stroke-dasharray\":t.config.xaxis.crosshairs.stroke.dashArray}),d&&(w=i.dropShadow(w,{left:g,top:u,blur:f,color:p,opacity:b})),t.globals.dom.elGraphical.add(w)}}},{key:\"drawYCrosshairs\",value:function(){var t=this.w,e=new m(this.ctx),i=t.config.yaxis[0].crosshairs,a=t.globals.barPadForNumericAxis;if(t.config.yaxis[0].crosshairs.show){var s=e.drawLine(-a,0,t.globals.gridWidth+a,0,i.stroke.color,i.stroke.dashArray,i.stroke.width);s.attr({class:\"apexcharts-ycrosshairs\"}),t.globals.dom.elGraphical.add(s)}var r=e.drawLine(-a,0,t.globals.gridWidth+a,0,i.stroke.color,0,0);r.attr({class:\"apexcharts-ycrosshairs-hidden\"}),t.globals.dom.elGraphical.add(r)}}]),t}(),K=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:\"checkResponsiveConfig\",value:function(t){var e=this,i=this.w,a=i.config;if(0!==a.responsive.length){var s=a.responsive.slice();s.sort((function(t,e){return t.breakpoint>e.breakpoint?1:e.breakpoint>t.breakpoint?-1:0})).reverse();var r=new X({}),o=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=s[0].breakpoint,o=window.innerWidth>0?window.innerWidth:screen.width;if(o>a){var n=y.extendArrayProps(r,i.globals.initialConfig,i);t=x.extend(n,t),t=x.extend(i.config,t),e.overrideResponsiveOptions(t)}else for(var l=0;l0&&\"function\"==typeof e.config.colors[0]&&(e.globals.colors=e.config.series.map((function(i,a){var s=e.config.colors[a];return s||(s=e.config.colors[0]),\"function\"==typeof s?(t.isColorFn=!0,s({value:e.globals.axisCharts?e.globals.series[a][0]?e.globals.series[a][0]:0:e.globals.series[a],seriesIndex:a,dataPointIndex:a,w:e})):s})))),e.globals.seriesColors.map((function(t,i){t&&(e.globals.colors[i]=t)})),e.config.theme.monochrome.enabled){var a=[],s=e.globals.series.length;(this.isBarDistributed||this.isHeatmapDistributed)&&(s=e.globals.series[0].length*e.globals.series.length);for(var r=e.config.theme.monochrome.color,o=1/(s/e.config.theme.monochrome.shadeIntensity),n=e.config.theme.monochrome.shadeTo,l=0,h=0;h2&&void 0!==arguments[2]?arguments[2]:null,a=this.w,s=e||a.globals.series.length;if(null===i&&(i=this.isBarDistributed||this.isHeatmapDistributed||\"heatmap\"===a.config.chart.type&&a.config.plotOptions.heatmap.colorScale.inverse),i&&a.globals.series.length&&(s=a.globals.series[a.globals.maxValsInArrayIndex].length*a.globals.series.length),t.lengtht.globals.svgWidth&&(this.dCtx.lgRect.width=t.globals.svgWidth/1.5),this.dCtx.lgRect}},{key:\"getLargestStringFromMultiArr\",value:function(t,e){var i=t;if(this.w.globals.isMultiLineX){var a=e.map((function(t,e){return Array.isArray(t)?t.length:1})),s=Math.max.apply(Math,u(a));i=e[a.indexOf(s)]}return i}}]),t}(),at=function(){function t(e){a(this,t),this.w=e.w,this.dCtx=e}return r(t,[{key:\"getxAxisLabelsCoords\",value:function(){var t,e=this.w,i=e.globals.labels.slice();if(e.config.xaxis.convertedCatToNumeric&&0===i.length&&(i=e.globals.categoryLabels),e.globals.timescaleLabels.length>0){var a=this.getxAxisTimeScaleLabelsCoords();t={width:a.width,height:a.height},e.globals.rotateXLabels=!1}else{this.dCtx.lgWidthForSideLegends=\"left\"!==e.config.legend.position&&\"right\"!==e.config.legend.position||e.config.legend.floating?0:this.dCtx.lgRect.width;var s=e.globals.xLabelFormatter,r=x.getLargestStringFromArr(i),o=this.dCtx.dimHelpers.getLargestStringFromMultiArr(r,i);e.globals.isBarHorizontal&&(o=r=e.globals.yAxisScale[0].result.reduce((function(t,e){return t.length>e.length?t:e}),0));var n=new W(this.dCtx.ctx),l=r;r=n.xLabelFormat(s,r,l,{i:void 0,dateFormatter:new T(this.dCtx.ctx).formatDate,w:e}),o=n.xLabelFormat(s,o,l,{i:void 0,dateFormatter:new T(this.dCtx.ctx).formatDate,w:e}),(e.config.xaxis.convertedCatToNumeric&&void 0===r||\"\"===String(r).trim())&&(o=r=\"1\");var h=new m(this.dCtx.ctx),c=h.getTextRects(r,e.config.xaxis.labels.style.fontSize),d=c;if(r!==o&&(d=h.getTextRects(o,e.config.xaxis.labels.style.fontSize)),(t={width:c.width>=d.width?c.width:d.width,height:c.height>=d.height?c.height:d.height}).width*i.length>e.globals.svgWidth-this.dCtx.lgWidthForSideLegends-this.dCtx.yAxisWidth-this.dCtx.gridPad.left-this.dCtx.gridPad.right&&0!==e.config.xaxis.labels.rotate||e.config.xaxis.labels.rotateAlways){if(!e.globals.isBarHorizontal){e.globals.rotateXLabels=!0;var g=function(t){return h.getTextRects(t,e.config.xaxis.labels.style.fontSize,e.config.xaxis.labels.style.fontFamily,\"rotate(\".concat(e.config.xaxis.labels.rotate,\" 0 0)\"),!1)};c=g(r),r!==o&&(d=g(o)),t.height=(c.height>d.height?c.height:d.height)/1.5,t.width=c.width>d.width?c.width:d.width}}else e.globals.rotateXLabels=!1}return e.config.xaxis.labels.show||(t={width:0,height:0}),{width:t.width,height:t.height}}},{key:\"getxAxisGroupLabelsCoords\",value:function(){var t,e=this.w;if(!e.globals.hasGroups)return{width:0,height:0};var i,a=(null===(t=e.config.xaxis.group.style)||void 0===t?void 0:t.fontSize)||e.config.xaxis.labels.style.fontSize,s=e.globals.groups.map((function(t){return t.title})),r=x.getLargestStringFromArr(s),o=this.dCtx.dimHelpers.getLargestStringFromMultiArr(r,s),n=new m(this.dCtx.ctx),l=n.getTextRects(r,a),h=l;return r!==o&&(h=n.getTextRects(o,a)),i={width:l.width>=h.width?l.width:h.width,height:l.height>=h.height?l.height:h.height},e.config.xaxis.labels.show||(i={width:0,height:0}),{width:i.width,height:i.height}}},{key:\"getxAxisTitleCoords\",value:function(){var t=this.w,e=0,i=0;if(void 0!==t.config.xaxis.title.text){var a=new m(this.dCtx.ctx).getTextRects(t.config.xaxis.title.text,t.config.xaxis.title.style.fontSize);e=a.width,i=a.height}return{width:e,height:i}}},{key:\"getxAxisTimeScaleLabelsCoords\",value:function(){var t,e=this.w;this.dCtx.timescaleLabels=e.globals.timescaleLabels.slice();var i=this.dCtx.timescaleLabels.map((function(t){return t.value})),a=i.reduce((function(t,e){return void 0===t?(console.error(\"You have possibly supplied invalid Date format. Please supply a valid JavaScript Date\"),0):t.length>e.length?t:e}),0);return 1.05*(t=new m(this.dCtx.ctx).getTextRects(a,e.config.xaxis.labels.style.fontSize)).width*i.length>e.globals.gridWidth&&0!==e.config.xaxis.labels.rotate&&(e.globals.overlappingXLabels=!0),t}},{key:\"additionalPaddingXLabels\",value:function(t){var e=this,i=this.w,a=i.globals,s=i.config,r=s.xaxis.type,o=t.width;a.skipLastTimelinelabel=!1,a.skipFirstTimelinelabel=!1;var n=i.config.yaxis[0].opposite&&i.globals.isBarHorizontal,l=function(t,n){(function(t){return-1!==a.collapsedSeriesIndices.indexOf(t)})(n)||function(t){if(e.dCtx.timescaleLabels&&e.dCtx.timescaleLabels.length){var n=e.dCtx.timescaleLabels[0],l=e.dCtx.timescaleLabels[e.dCtx.timescaleLabels.length-1].position+o/1.75-e.dCtx.yAxisWidthRight,h=n.position-o/1.75+e.dCtx.yAxisWidthLeft,c=\"right\"===i.config.legend.position&&e.dCtx.lgRect.width>0?e.dCtx.lgRect.width:0;l>a.svgWidth-a.translateX-c&&(a.skipLastTimelinelabel=!0),h<-(t.show&&!t.floating||\"bar\"!==s.chart.type&&\"candlestick\"!==s.chart.type&&\"rangeBar\"!==s.chart.type&&\"boxPlot\"!==s.chart.type?10:o/1.75)&&(a.skipFirstTimelinelabel=!0)}else\"datetime\"===r?e.dCtx.gridPad.rightString(n.niceMax).length?c:n.niceMax,g=h(d,{seriesIndex:o,dataPointIndex:-1,w:e}),u=g;if(void 0!==g&&0!==g.length||(g=d),e.globals.isBarHorizontal){a=0;var f=e.globals.labels.slice();g=h(g=x.getLargestStringFromArr(f),{seriesIndex:o,dataPointIndex:-1,w:e}),u=t.dCtx.dimHelpers.getLargestStringFromMultiArr(g,f)}var p=new m(t.dCtx.ctx),b=\"rotate(\".concat(r.labels.rotate,\" 0 0)\"),v=p.getTextRects(g,r.labels.style.fontSize,r.labels.style.fontFamily,b,!1),y=v;g!==u&&(y=p.getTextRects(u,r.labels.style.fontSize,r.labels.style.fontFamily,b,!1)),i.push({width:(l>y.width||l>v.width?l:y.width>v.width?y.width:v.width)+a,height:y.height>v.height?y.height:v.height})}else i.push({width:0,height:0})})),i}},{key:\"getyAxisTitleCoords\",value:function(){var t=this,e=this.w,i=[];return e.config.yaxis.map((function(e,a){if(e.show&&void 0!==e.title.text){var s=new m(t.dCtx.ctx),r=\"rotate(\".concat(e.title.rotate,\" 0 0)\"),o=s.getTextRects(e.title.text,e.title.style.fontSize,e.title.style.fontFamily,r,!1);i.push({width:o.width,height:o.height})}else i.push({width:0,height:0})})),i}},{key:\"getTotalYAxisWidth\",value:function(){var t=this.w,e=0,i=0,a=0,s=t.globals.yAxisScale.length>1?10:0,r=new B(this.dCtx.ctx),o=function(o,n){var l=t.config.yaxis[n].floating,h=0;o.width>0&&!l?(h=o.width+s,function(e){return t.globals.ignoreYAxisIndexes.indexOf(e)>-1}(n)&&(h=h-o.width-s)):h=l||r.isYAxisHidden(n)?0:5,t.config.yaxis[n].opposite?a+=h:i+=h,e+=h};return t.globals.yLabelsCoords.map((function(t,e){o(t,e)})),t.globals.yTitleCoords.map((function(t,e){o(t,e)})),t.globals.isBarHorizontal&&!t.config.yaxis[0].floating&&(e=t.globals.yLabelsCoords[0].width+t.globals.yTitleCoords[0].width+15),this.dCtx.yAxisWidthLeft=i,this.dCtx.yAxisWidthRight=a,e}}]),t}(),rt=function(){function t(e){a(this,t),this.w=e.w,this.dCtx=e}return r(t,[{key:\"gridPadForColumnsInNumericAxis\",value:function(t){var e=this.w;if(e.globals.noData||e.globals.allSeriesCollapsed)return 0;var i=function(t){return\"bar\"===t||\"rangeBar\"===t||\"candlestick\"===t||\"boxPlot\"===t},a=e.config.chart.type,s=0,r=i(a)?e.config.series.length:1;if(e.globals.comboBarCount>0&&(r=e.globals.comboBarCount),e.globals.collapsedSeries.forEach((function(t){i(t.type)&&(r-=1)})),e.config.chart.stacked&&(r=1),(i(a)||e.globals.comboBarCount>0)&&e.globals.isXNumeric&&!e.globals.isBarHorizontal&&r>0){var o,n,l=Math.abs(e.globals.initialMaxX-e.globals.initialMinX);l<=3&&(l=e.globals.dataPoints),o=l/t,e.globals.minXDiff&&e.globals.minXDiff/o>0&&(n=e.globals.minXDiff/o),n>t/2&&(n/=2),(s=n/r*parseInt(e.config.plotOptions.bar.columnWidth,10)/100)<1&&(s=1),s=s/(r>1?1:1.5)+5,e.globals.barPadForNumericAxis=s}return s}},{key:\"gridPadFortitleSubtitle\",value:function(){var t=this,e=this.w,i=e.globals,a=this.dCtx.isSparkline||!e.globals.axisCharts?0:10;[\"title\",\"subtitle\"].forEach((function(i){void 0!==e.config[i].text?a+=e.config[i].margin:a+=t.dCtx.isSparkline||!e.globals.axisCharts?0:5})),!e.config.legend.show||\"bottom\"!==e.config.legend.position||e.config.legend.floating||e.globals.axisCharts||(a+=10);var s=this.dCtx.dimHelpers.getTitleSubtitleCoords(\"title\"),r=this.dCtx.dimHelpers.getTitleSubtitleCoords(\"subtitle\");i.gridHeight=i.gridHeight-s.height-r.height-a,i.translateY=i.translateY+s.height+r.height+a}},{key:\"setGridXPosForDualYAxis\",value:function(t,e){var i=this.w,a=new B(this.dCtx.ctx);i.config.yaxis.map((function(s,r){-1!==i.globals.ignoreYAxisIndexes.indexOf(r)||s.floating||a.isYAxisHidden(r)||(s.opposite&&(i.globals.translateX=i.globals.translateX-(e[r].width+t[r].width)-parseInt(i.config.yaxis[r].labels.style.fontSize,10)/1.2-12),i.globals.translateX<2&&(i.globals.translateX=2))}))}}]),t}(),ot=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.lgRect={},this.yAxisWidth=0,this.yAxisWidthLeft=0,this.yAxisWidthRight=0,this.xAxisHeight=0,this.isSparkline=this.w.config.chart.sparkline.enabled,this.dimHelpers=new it(this),this.dimYAxis=new st(this),this.dimXAxis=new at(this),this.dimGrid=new rt(this),this.lgWidthForSideLegends=0,this.gridPad=this.w.config.grid.padding,this.xPadRight=0,this.xPadLeft=0}return r(t,[{key:\"plotCoords\",value:function(){var t=this,e=this.w,i=e.globals;this.lgRect=this.dimHelpers.getLegendsRect(),this.isSparkline&&(e.config.markers.discrete.length>0||e.config.markers.size>0)&&Object.entries(this.gridPad).forEach((function(e){var i=g(e,2),a=i[0],s=i[1];t.gridPad[a]=Math.max(s,t.w.globals.markers.largestSize/1.5)})),i.axisCharts?this.setDimensionsForAxisCharts():this.setDimensionsForNonAxisCharts(),this.dimGrid.gridPadFortitleSubtitle(),i.gridHeight=i.gridHeight-this.gridPad.top-this.gridPad.bottom,i.gridWidth=i.gridWidth-this.gridPad.left-this.gridPad.right-this.xPadRight-this.xPadLeft;var a=this.dimGrid.gridPadForColumnsInNumericAxis(i.gridWidth);i.gridWidth=i.gridWidth-2*a,i.translateX=i.translateX+this.gridPad.left+this.xPadLeft+(a>0?a+4:0),i.translateY=i.translateY+this.gridPad.top}},{key:\"setDimensionsForAxisCharts\",value:function(){var t=this,e=this.w,i=e.globals,a=this.dimYAxis.getyAxisLabelsCoords(),s=this.dimYAxis.getyAxisTitleCoords();e.globals.yLabelsCoords=[],e.globals.yTitleCoords=[],e.config.yaxis.map((function(t,i){e.globals.yLabelsCoords.push({width:a[i].width,index:i}),e.globals.yTitleCoords.push({width:s[i].width,index:i})})),this.yAxisWidth=this.dimYAxis.getTotalYAxisWidth();var r=this.dimXAxis.getxAxisLabelsCoords(),o=this.dimXAxis.getxAxisGroupLabelsCoords(),n=this.dimXAxis.getxAxisTitleCoords();this.conditionalChecksForAxisCoords(r,n,o),i.translateXAxisY=e.globals.rotateXLabels?this.xAxisHeight/8:-4,i.translateXAxisX=e.globals.rotateXLabels&&e.globals.isXNumeric&&e.config.xaxis.labels.rotate<=-45?-this.xAxisWidth/4:0,e.globals.isBarHorizontal&&(i.rotateXLabels=!1,i.translateXAxisY=parseInt(e.config.xaxis.labels.style.fontSize,10)/1.5*-1),i.translateXAxisY=i.translateXAxisY+e.config.xaxis.labels.offsetY,i.translateXAxisX=i.translateXAxisX+e.config.xaxis.labels.offsetX;var l=this.yAxisWidth,h=this.xAxisHeight;i.xAxisLabelsHeight=this.xAxisHeight-n.height,i.xAxisGroupLabelsHeight=i.xAxisLabelsHeight-r.height,i.xAxisLabelsWidth=this.xAxisWidth,i.xAxisHeight=this.xAxisHeight;var c=10;(\"radar\"===e.config.chart.type||this.isSparkline)&&(l=0,h=i.goldenPadding),this.isSparkline&&(this.lgRect={height:0,width:0}),(this.isSparkline||\"treemap\"===e.config.chart.type)&&(l=0,h=0,c=0),this.isSparkline||this.dimXAxis.additionalPaddingXLabels(r);var d=function(){i.translateX=l,i.gridHeight=i.svgHeight-t.lgRect.height-h-(t.isSparkline||\"treemap\"===e.config.chart.type?0:e.globals.rotateXLabels?10:15),i.gridWidth=i.svgWidth-l};switch(\"top\"===e.config.xaxis.position&&(c=i.xAxisHeight-e.config.xaxis.axisTicks.height-5),e.config.legend.position){case\"bottom\":i.translateY=c,d();break;case\"top\":i.translateY=this.lgRect.height+c,d();break;case\"left\":i.translateY=c,i.translateX=this.lgRect.width+l,i.gridHeight=i.svgHeight-h-12,i.gridWidth=i.svgWidth-this.lgRect.width-l;break;case\"right\":i.translateY=c,i.translateX=l,i.gridHeight=i.svgHeight-h-12,i.gridWidth=i.svgWidth-this.lgRect.width-l-5;break;default:throw new Error(\"Legend position not supported\")}this.dimGrid.setGridXPosForDualYAxis(s,a),new q(this.ctx).setYAxisXPosition(a,s)}},{key:\"setDimensionsForNonAxisCharts\",value:function(){var t=this.w,e=t.globals,i=t.config,a=0;t.config.legend.show&&!t.config.legend.floating&&(a=20);var s=\"pie\"===i.chart.type||\"polarArea\"===i.chart.type||\"donut\"===i.chart.type?\"pie\":\"radialBar\",r=i.plotOptions[s].offsetY,o=i.plotOptions[s].offsetX;if(!i.legend.show||i.legend.floating)return e.gridHeight=e.svgHeight-i.grid.padding.left+i.grid.padding.right,e.gridWidth=e.gridHeight,e.translateY=r,void(e.translateX=o+(e.svgWidth-e.gridWidth)/2);switch(i.legend.position){case\"bottom\":e.gridHeight=e.svgHeight-this.lgRect.height-e.goldenPadding,e.gridWidth=e.svgWidth,e.translateY=r-10,e.translateX=o+(e.svgWidth-e.gridWidth)/2;break;case\"top\":e.gridHeight=e.svgHeight-this.lgRect.height-e.goldenPadding,e.gridWidth=e.svgWidth,e.translateY=this.lgRect.height+r+10,e.translateX=o+(e.svgWidth-e.gridWidth)/2;break;case\"left\":e.gridWidth=e.svgWidth-this.lgRect.width-a,e.gridHeight=\"auto\"!==i.chart.height?e.svgHeight:e.gridWidth,e.translateY=r,e.translateX=o+this.lgRect.width+a;break;case\"right\":e.gridWidth=e.svgWidth-this.lgRect.width-a-5,e.gridHeight=\"auto\"!==i.chart.height?e.svgHeight:e.gridWidth,e.translateY=r,e.translateX=o+10;break;default:throw new Error(\"Legend position not supported\")}}},{key:\"conditionalChecksForAxisCoords\",value:function(t,e,i){var a=this.w,s=a.globals.hasGroups?2:1,r=i.height+t.height+e.height,o=a.globals.isMultiLineX?1.2:a.globals.LINE_HEIGHT_RATIO,n=a.globals.rotateXLabels?22:10,l=a.globals.rotateXLabels&&\"bottom\"===a.config.legend.position?10:0;this.xAxisHeight=r*o+s*n+l,this.xAxisWidth=t.width,this.xAxisHeight-e.height>a.config.xaxis.labels.maxHeight&&(this.xAxisHeight=a.config.xaxis.labels.maxHeight),a.config.xaxis.labels.minHeight&&this.xAxisHeightc&&(this.yAxisWidth=c)}}]),t}(),nt=function(){function t(e){a(this,t),this.w=e.w,this.lgCtx=e}return r(t,[{key:\"getLegendStyles\",value:function(){var t=document.createElement(\"style\");t.setAttribute(\"type\",\"text/css\");var e=document.createTextNode(\"\\t\\n \\t\\n .apexcharts-legend {\\t\\n display: flex;\\t\\n overflow: auto;\\t\\n padding: 0 10px;\\t\\n }\\t\\n .apexcharts-legend.apx-legend-position-bottom, .apexcharts-legend.apx-legend-position-top {\\t\\n flex-wrap: wrap\\t\\n }\\t\\n .apexcharts-legend.apx-legend-position-right, .apexcharts-legend.apx-legend-position-left {\\t\\n flex-direction: column;\\t\\n bottom: 0;\\t\\n }\\t\\n .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-left, .apexcharts-legend.apx-legend-position-top.apexcharts-align-left, .apexcharts-legend.apx-legend-position-right, .apexcharts-legend.apx-legend-position-left {\\t\\n justify-content: flex-start;\\t\\n }\\t\\n .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-center, .apexcharts-legend.apx-legend-position-top.apexcharts-align-center {\\t\\n justify-content: center; \\t\\n }\\t\\n .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-right, .apexcharts-legend.apx-legend-position-top.apexcharts-align-right {\\t\\n justify-content: flex-end;\\t\\n }\\t\\n .apexcharts-legend-series {\\t\\n cursor: pointer;\\t\\n line-height: normal;\\t\\n }\\t\\n .apexcharts-legend.apx-legend-position-bottom .apexcharts-legend-series, .apexcharts-legend.apx-legend-position-top .apexcharts-legend-series{\\t\\n display: flex;\\t\\n align-items: center;\\t\\n }\\t\\n .apexcharts-legend-text {\\t\\n position: relative;\\t\\n font-size: 14px;\\t\\n }\\t\\n .apexcharts-legend-text *, .apexcharts-legend-marker * {\\t\\n pointer-events: none;\\t\\n }\\t\\n .apexcharts-legend-marker {\\t\\n position: relative;\\t\\n display: inline-block;\\t\\n cursor: pointer;\\t\\n margin-right: 3px;\\t\\n border-style: solid;\\n }\\t\\n \\t\\n .apexcharts-legend.apexcharts-align-right .apexcharts-legend-series, .apexcharts-legend.apexcharts-align-left .apexcharts-legend-series{\\t\\n display: inline-block;\\t\\n }\\t\\n .apexcharts-legend-series.apexcharts-no-click {\\t\\n cursor: auto;\\t\\n }\\t\\n .apexcharts-legend .apexcharts-hidden-zero-series, .apexcharts-legend .apexcharts-hidden-null-series {\\t\\n display: none !important;\\t\\n }\\t\\n .apexcharts-inactive-legend {\\t\\n opacity: 0.45;\\t\\n }\");return t.appendChild(e),t}},{key:\"getLegendBBox\",value:function(){var t=this.w.globals.dom.baseEl.querySelector(\".apexcharts-legend\").getBoundingClientRect(),e=t.width;return{clwh:t.height,clww:e}}},{key:\"appendToForeignObject\",value:function(){var t=this.w.globals;t.dom.elLegendForeign=document.createElementNS(t.SVGNS,\"foreignObject\");var e=t.dom.elLegendForeign;e.setAttribute(\"x\",0),e.setAttribute(\"y\",0),e.setAttribute(\"width\",t.svgWidth),e.setAttribute(\"height\",t.svgHeight),t.dom.elLegendWrap.setAttribute(\"xmlns\",\"http://www.w3.org/1999/xhtml\"),e.appendChild(t.dom.elLegendWrap),e.appendChild(this.getLegendStyles()),t.dom.Paper.node.insertBefore(e,t.dom.elGraphical.node)}},{key:\"toggleDataSeries\",value:function(t,e){var i=this,a=this.w;if(a.globals.axisCharts||\"radialBar\"===a.config.chart.type){a.globals.resized=!0;var s=null,r=null;if(a.globals.risingSeries=[],a.globals.axisCharts?(s=a.globals.dom.baseEl.querySelector(\".apexcharts-series[data\\\\:realIndex='\".concat(t,\"']\")),r=parseInt(s.getAttribute(\"data:realIndex\"),10)):(s=a.globals.dom.baseEl.querySelector(\".apexcharts-series[rel='\".concat(t+1,\"']\")),r=parseInt(s.getAttribute(\"rel\"),10)-1),e)[{cs:a.globals.collapsedSeries,csi:a.globals.collapsedSeriesIndices},{cs:a.globals.ancillaryCollapsedSeries,csi:a.globals.ancillaryCollapsedSeriesIndices}].forEach((function(t){i.riseCollapsedSeries(t.cs,t.csi,r)}));else this.hideSeries({seriesEl:s,realIndex:r})}else{var o=a.globals.dom.Paper.select(\" .apexcharts-series[rel='\".concat(t+1,\"'] path\")),n=a.config.chart.type;if(\"pie\"===n||\"polarArea\"===n||\"donut\"===n){var l=a.config.plotOptions.pie.donut.labels;new m(this.lgCtx.ctx).pathMouseDown(o.members[0],null),this.lgCtx.ctx.pie.printDataLabelsInner(o.members[0].node,l)}o.fire(\"click\")}}},{key:\"hideSeries\",value:function(t){var e=t.seriesEl,i=t.realIndex,a=this.w,s=x.clone(a.config.series);if(a.globals.axisCharts){var r=!1;if(a.config.yaxis[i]&&a.config.yaxis[i].show&&a.config.yaxis[i].showAlways&&(r=!0,a.globals.ancillaryCollapsedSeriesIndices.indexOf(i)<0&&(a.globals.ancillaryCollapsedSeries.push({index:i,data:s[i].data.slice(),type:e.parentNode.className.baseVal.split(\"-\")[1]}),a.globals.ancillaryCollapsedSeriesIndices.push(i))),!r){a.globals.collapsedSeries.push({index:i,data:s[i].data.slice(),type:e.parentNode.className.baseVal.split(\"-\")[1]}),a.globals.collapsedSeriesIndices.push(i);var o=a.globals.risingSeries.indexOf(i);a.globals.risingSeries.splice(o,1)}}else a.globals.collapsedSeries.push({index:i,data:s[i]}),a.globals.collapsedSeriesIndices.push(i);for(var n=e.childNodes,l=0;l0){for(var r=0;r-1&&(t[a].data=[])})):t.forEach((function(i,a){e.globals.collapsedSeriesIndices.indexOf(a)>-1&&(t[a]=0)})),t}}]),t}(),lt=function(){function t(e,i){a(this,t),this.ctx=e,this.w=e.w,this.onLegendClick=this.onLegendClick.bind(this),this.onLegendHovered=this.onLegendHovered.bind(this),this.isBarsDistributed=\"bar\"===this.w.config.chart.type&&this.w.config.plotOptions.bar.distributed&&1===this.w.config.series.length,this.legendHelpers=new nt(this)}return r(t,[{key:\"init\",value:function(){var t=this.w,e=t.globals,i=t.config;if((i.legend.showForSingleSeries&&1===e.series.length||this.isBarsDistributed||e.series.length>1||!e.axisCharts)&&i.legend.show){for(;e.dom.elLegendWrap.firstChild;)e.dom.elLegendWrap.removeChild(e.dom.elLegendWrap.firstChild);this.drawLegends(),x.isIE11()?document.getElementsByTagName(\"head\")[0].appendChild(this.legendHelpers.getLegendStyles()):this.legendHelpers.appendToForeignObject(),\"bottom\"===i.legend.position||\"top\"===i.legend.position?this.legendAlignHorizontal():\"right\"!==i.legend.position&&\"left\"!==i.legend.position||this.legendAlignVertical()}}},{key:\"drawLegends\",value:function(){var t=this,e=this.w,i=e.config.legend.fontFamily,a=e.globals.seriesNames,s=e.globals.colors.slice();if(\"heatmap\"===e.config.chart.type){var r=e.config.plotOptions.heatmap.colorScale.ranges;a=r.map((function(t){return t.name?t.name:t.from+\" - \"+t.to})),s=r.map((function(t){return t.color}))}else this.isBarsDistributed&&(a=e.globals.labels.slice());e.config.legend.customLegendItems.length&&(a=e.config.legend.customLegendItems);for(var o=e.globals.legendFormatter,n=e.config.legend.inverseOrder,l=n?a.length-1:0;n?l>=0:l<=a.length-1;n?l--:l++){var h=o(a[l],{seriesIndex:l,w:e}),c=!1,d=!1;if(e.globals.collapsedSeries.length>0)for(var g=0;g0)for(var u=0;u0?l-10:0)+(h>0?h-10:0)}a.style.position=\"absolute\",r=r+t+i.config.legend.offsetX,o=o+e+i.config.legend.offsetY,a.style.left=r+\"px\",a.style.top=o+\"px\",\"bottom\"===i.config.legend.position?(a.style.top=\"auto\",a.style.bottom=5-i.config.legend.offsetY+\"px\"):\"right\"===i.config.legend.position&&(a.style.left=\"auto\",a.style.right=25+i.config.legend.offsetX+\"px\");[\"width\",\"height\"].forEach((function(t){a.style[t]&&(a.style[t]=parseInt(i.config.legend[t],10)+\"px\")}))}},{key:\"legendAlignHorizontal\",value:function(){var t=this.w;t.globals.dom.baseEl.querySelector(\".apexcharts-legend\").style.right=0;var e=this.legendHelpers.getLegendBBox(),i=new ot(this.ctx),a=i.dimHelpers.getTitleSubtitleCoords(\"title\"),s=i.dimHelpers.getTitleSubtitleCoords(\"subtitle\"),r=0;\"bottom\"===t.config.legend.position?r=-e.clwh/1.8:\"top\"===t.config.legend.position&&(r=a.height+s.height+t.config.title.margin+t.config.subtitle.margin-10),this.setLegendWrapXY(20,r)}},{key:\"legendAlignVertical\",value:function(){var t=this.w,e=this.legendHelpers.getLegendBBox(),i=0;\"left\"===t.config.legend.position&&(i=20),\"right\"===t.config.legend.position&&(i=t.globals.svgWidth-e.clww-10),this.setLegendWrapXY(i,20)}},{key:\"onLegendHovered\",value:function(t){var e=this.w,i=t.target.classList.contains(\"apexcharts-legend-text\")||t.target.classList.contains(\"apexcharts-legend-marker\");if(\"heatmap\"===e.config.chart.type||this.isBarsDistributed){if(i){var a=parseInt(t.target.getAttribute(\"rel\"),10)-1;this.ctx.events.fireEvent(\"legendHover\",[this.ctx,a,this.w]),new O(this.ctx).highlightRangeInSeries(t,t.target)}}else!t.target.classList.contains(\"apexcharts-inactive-legend\")&&i&&new O(this.ctx).toggleSeriesOnHover(t,t.target)}},{key:\"onLegendClick\",value:function(t){var e=this.w;if(!e.config.legend.customLegendItems.length&&(t.target.classList.contains(\"apexcharts-legend-text\")||t.target.classList.contains(\"apexcharts-legend-marker\"))){var i=parseInt(t.target.getAttribute(\"rel\"),10)-1,a=\"true\"===t.target.getAttribute(\"data:collapsed\"),s=this.w.config.chart.events.legendClick;\"function\"==typeof s&&s(this.ctx,i,this.w),this.ctx.events.fireEvent(\"legendClick\",[this.ctx,i,this.w]);var r=this.w.config.legend.markers.onClick;\"function\"==typeof r&&t.target.classList.contains(\"apexcharts-legend-marker\")&&(r(this.ctx,i,this.w),this.ctx.events.fireEvent(\"legendMarkerClick\",[this.ctx,i,this.w])),\"treemap\"!==e.config.chart.type&&\"heatmap\"!==e.config.chart.type&&!this.isBarsDistributed&&e.config.legend.onItemClick.toggleDataSeries&&this.legendHelpers.toggleDataSeries(i,a)}}}]),t}(),ht=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w;var i=this.w;this.ev=this.w.config.chart.events,this.selectedClass=\"apexcharts-selected\",this.localeValues=this.w.globals.locale.toolbar,this.minX=i.globals.minX,this.maxX=i.globals.maxX}return r(t,[{key:\"createToolbar\",value:function(){var t=this,e=this.w,i=function(){return document.createElement(\"div\")},a=i();if(a.setAttribute(\"class\",\"apexcharts-toolbar\"),a.style.top=e.config.chart.toolbar.offsetY+\"px\",a.style.right=3-e.config.chart.toolbar.offsetX+\"px\",e.globals.dom.elWrap.appendChild(a),this.elZoom=i(),this.elZoomIn=i(),this.elZoomOut=i(),this.elPan=i(),this.elSelection=i(),this.elZoomReset=i(),this.elMenuIcon=i(),this.elMenu=i(),this.elCustomIcons=[],this.t=e.config.chart.toolbar.tools,Array.isArray(this.t.customIcons))for(var s=0;s\\n \\n \\n\\n'),o(\"zoomOut\",this.elZoomOut,'\\n \\n \\n\\n');var n=function(i){t.t[i]&&e.config.chart[i].enabled&&r.push({el:\"zoom\"===i?t.elZoom:t.elSelection,icon:\"string\"==typeof t.t[i]?t.t[i]:\"zoom\"===i?'\\n \\n \\n \\n':'\\n \\n \\n',title:t.localeValues[\"zoom\"===i?\"selectionZoom\":\"selection\"],class:e.globals.isTouchDevice?\"apexcharts-element-hidden\":\"apexcharts-\".concat(i,\"-icon\")})};n(\"zoom\"),n(\"selection\"),this.t.pan&&e.config.chart.zoom.enabled&&r.push({el:this.elPan,icon:\"string\"==typeof this.t.pan?this.t.pan:'\\n \\n \\n \\n \\n \\n \\n \\n',title:this.localeValues.pan,class:e.globals.isTouchDevice?\"apexcharts-element-hidden\":\"apexcharts-pan-icon\"}),o(\"reset\",this.elZoomReset,'\\n \\n \\n'),this.t.download&&r.push({el:this.elMenuIcon,icon:\"string\"==typeof this.t.download?this.t.download:'',title:this.localeValues.menu,class:\"apexcharts-menu-icon\"});for(var l=0;l0&&e.height>0&&this.slDraggableRect.selectize({points:\"l, r\",pointSize:8,pointType:\"rect\"}).resize({constraint:{minX:0,minY:0,maxX:t.globals.gridWidth,maxY:t.globals.gridHeight}}).on(\"resizing\",this.selectionDragging.bind(this,\"resizing\"))}}},{key:\"preselectedSelection\",value:function(){var t=this.w,e=this.xyRatios;if(!t.globals.zoomEnabled)if(void 0!==t.globals.selection&&null!==t.globals.selection)this.drawSelectionRect(t.globals.selection);else if(void 0!==t.config.chart.selection.xaxis.min&&void 0!==t.config.chart.selection.xaxis.max){var i=(t.config.chart.selection.xaxis.min-t.globals.minX)/e.xRatio,a={x:i,y:0,width:t.globals.gridWidth-(t.globals.maxX-t.config.chart.selection.xaxis.max)/e.xRatio-i,height:t.globals.gridHeight,translateX:0,translateY:0,selectionEnabled:!0};this.drawSelectionRect(a),this.makeSelectionRectDraggable(),\"function\"==typeof t.config.chart.events.selection&&t.config.chart.events.selection(this.ctx,{xaxis:{min:t.config.chart.selection.xaxis.min,max:t.config.chart.selection.xaxis.max},yaxis:{}})}}},{key:\"drawSelectionRect\",value:function(t){var e=t.x,i=t.y,a=t.width,s=t.height,r=t.translateX,o=void 0===r?0:r,n=t.translateY,l=void 0===n?0:n,h=this.w,c=this.zoomRect,d=this.selectionRect;if(this.dragged||null!==h.globals.selection){var g={transform:\"translate(\"+o+\", \"+l+\")\"};h.globals.zoomEnabled&&this.dragged&&(a<0&&(a=1),c.attr({x:e,y:i,width:a,height:s,fill:h.config.chart.zoom.zoomedArea.fill.color,\"fill-opacity\":h.config.chart.zoom.zoomedArea.fill.opacity,stroke:h.config.chart.zoom.zoomedArea.stroke.color,\"stroke-width\":h.config.chart.zoom.zoomedArea.stroke.width,\"stroke-opacity\":h.config.chart.zoom.zoomedArea.stroke.opacity}),m.setAttrs(c.node,g)),h.globals.selectionEnabled&&(d.attr({x:e,y:i,width:a>0?a:0,height:s>0?s:0,fill:h.config.chart.selection.fill.color,\"fill-opacity\":h.config.chart.selection.fill.opacity,stroke:h.config.chart.selection.stroke.color,\"stroke-width\":h.config.chart.selection.stroke.width,\"stroke-dasharray\":h.config.chart.selection.stroke.dashArray,\"stroke-opacity\":h.config.chart.selection.stroke.opacity}),m.setAttrs(d.node,g))}}},{key:\"hideSelectionRect\",value:function(t){t&&t.attr({x:0,y:0,width:0,height:0})}},{key:\"selectionDrawing\",value:function(t){var e=t.context,i=t.zoomtype,a=this.w,s=e,r=this.gridRect.getBoundingClientRect(),o=s.startX-1,n=s.startY,l=!1,h=!1,c=s.clientX-r.left-o,d=s.clientY-r.top-n,g={};return Math.abs(c+o)>a.globals.gridWidth?c=a.globals.gridWidth-o:s.clientX-r.left<0&&(c=o),o>s.clientX-r.left&&(l=!0,c=Math.abs(c)),n>s.clientY-r.top&&(h=!0,d=Math.abs(d)),g=\"x\"===i?{x:l?o-c:o,y:0,width:c,height:a.globals.gridHeight}:\"y\"===i?{x:0,y:h?n-d:n,width:a.globals.gridWidth,height:d}:{x:l?o-c:o,y:h?n-d:n,width:c,height:d},s.drawSelectionRect(g),s.selectionDragging(\"resizing\"),g}},{key:\"selectionDragging\",value:function(t,e){var i=this,a=this.w,s=this.xyRatios,r=this.selectionRect,o=0;\"resizing\"===t&&(o=30);var n=function(t){return parseFloat(r.node.getAttribute(t))},l={x:n(\"x\"),y:n(\"y\"),width:n(\"width\"),height:n(\"height\")};a.globals.selection=l,\"function\"==typeof a.config.chart.events.selection&&a.globals.selectionEnabled&&(clearTimeout(this.w.globals.selectionResizeTimer),this.w.globals.selectionResizeTimer=window.setTimeout((function(){var t=i.gridRect.getBoundingClientRect(),e=r.node.getBoundingClientRect(),o={xaxis:{min:a.globals.xAxisScale.niceMin+(e.left-t.left)*s.xRatio,max:a.globals.xAxisScale.niceMin+(e.right-t.left)*s.xRatio},yaxis:{min:a.globals.yAxisScale[0].niceMin+(t.bottom-e.bottom)*s.yRatio[0],max:a.globals.yAxisScale[0].niceMax-(e.top-t.top)*s.yRatio[0]}};a.config.chart.events.selection(i.ctx,o),a.config.chart.brush.enabled&&void 0!==a.config.chart.events.brushScrolled&&a.config.chart.events.brushScrolled(i.ctx,o)}),o))}},{key:\"selectionDrawn\",value:function(t){var e=t.context,i=t.zoomtype,a=this.w,s=e,r=this.xyRatios,o=this.ctx.toolbar;if(s.startX>s.endX){var n=s.startX;s.startX=s.endX,s.endX=n}if(s.startY>s.endY){var l=s.startY;s.startY=s.endY,s.endY=l}var h=void 0,c=void 0;a.globals.isRangeBar?(h=a.globals.yAxisScale[0].niceMin+s.startX*r.invertedYRatio,c=a.globals.yAxisScale[0].niceMin+s.endX*r.invertedYRatio):(h=a.globals.xAxisScale.niceMin+s.startX*r.xRatio,c=a.globals.xAxisScale.niceMin+s.endX*r.xRatio);var d=[],g=[];if(a.config.yaxis.forEach((function(t,e){d.push(a.globals.yAxisScale[e].niceMax-r.yRatio[e]*s.startY),g.push(a.globals.yAxisScale[e].niceMax-r.yRatio[e]*s.endY)})),s.dragged&&(s.dragX>10||s.dragY>10)&&h!==c)if(a.globals.zoomEnabled){var u=x.clone(a.globals.initialConfig.yaxis),f=x.clone(a.globals.initialConfig.xaxis);if(a.globals.zoomed=!0,a.config.xaxis.convertedCatToNumeric&&(h=Math.floor(h),c=Math.floor(c),h<1&&(h=1,c=a.globals.dataPoints),c-h<2&&(c=h+1)),\"xy\"!==i&&\"x\"!==i||(f={min:h,max:c}),\"xy\"!==i&&\"y\"!==i||u.forEach((function(t,e){u[e].min=g[e],u[e].max=d[e]})),a.config.chart.zoom.autoScaleYaxis){var p=new _(s.ctx);u=p.autoScaleY(s.ctx,u,{xaxis:f})}if(o){var b=o.getBeforeZoomRange(f,u);b&&(f=b.xaxis?b.xaxis:f,u=b.yaxis?b.yaxis:u)}var v={xaxis:f};a.config.chart.group||(v.yaxis=u),s.ctx.updateHelpers._updateOptions(v,!1,s.w.config.chart.animations.dynamicAnimation.enabled),\"function\"==typeof a.config.chart.events.zoomed&&o.zoomCallback(f,u)}else if(a.globals.selectionEnabled){var m,y=null;m={min:h,max:c},\"xy\"!==i&&\"y\"!==i||(y=x.clone(a.config.yaxis)).forEach((function(t,e){y[e].min=g[e],y[e].max=d[e]})),a.globals.selection=s.selection,\"function\"==typeof a.config.chart.events.selection&&a.config.chart.events.selection(s.ctx,{xaxis:m,yaxis:y})}}},{key:\"panDragging\",value:function(t){var e=t.context,i=this.w,a=e;if(void 0!==i.globals.lastClientPosition.x){var s=i.globals.lastClientPosition.x-a.clientX,r=i.globals.lastClientPosition.y-a.clientY;Math.abs(s)>Math.abs(r)&&s>0?this.moveDirection=\"left\":Math.abs(s)>Math.abs(r)&&s<0?this.moveDirection=\"right\":Math.abs(r)>Math.abs(s)&&r>0?this.moveDirection=\"up\":Math.abs(r)>Math.abs(s)&&r<0&&(this.moveDirection=\"down\")}i.globals.lastClientPosition={x:a.clientX,y:a.clientY};var o=i.globals.isRangeBar?i.globals.minY:i.globals.minX,n=i.globals.isRangeBar?i.globals.maxY:i.globals.maxX;i.config.xaxis.convertedCatToNumeric||a.panScrolled(o,n)}},{key:\"delayedPanScrolled\",value:function(){var t=this.w,e=t.globals.minX,i=t.globals.maxX,a=(t.globals.maxX-t.globals.minX)/2;\"left\"===this.moveDirection?(e=t.globals.minX+a,i=t.globals.maxX+a):\"right\"===this.moveDirection&&(e=t.globals.minX-a,i=t.globals.maxX-a),e=Math.floor(e),i=Math.floor(i),this.updateScrolledChart({xaxis:{min:e,max:i}},e,i)}},{key:\"panScrolled\",value:function(t,e){var i=this.w,a=this.xyRatios,s=x.clone(i.globals.initialConfig.yaxis),r=a.xRatio,o=i.globals.minX,n=i.globals.maxX;i.globals.isRangeBar&&(r=a.invertedYRatio,o=i.globals.minY,n=i.globals.maxY),\"left\"===this.moveDirection?(t=o+i.globals.gridWidth/15*r,e=n+i.globals.gridWidth/15*r):\"right\"===this.moveDirection&&(t=o-i.globals.gridWidth/15*r,e=n-i.globals.gridWidth/15*r),i.globals.isRangeBar||(ti.globals.initialMaxX)&&(t=o,e=n);var l={min:t,max:e};i.config.chart.zoom.autoScaleYaxis&&(s=new _(this.ctx).autoScaleY(this.ctx,s,{xaxis:l}));var h={xaxis:{min:t,max:e}};i.config.chart.group||(h.yaxis=s),this.updateScrolledChart(h,t,e)}},{key:\"updateScrolledChart\",value:function(t,e,i){var a=this.w;this.ctx.updateHelpers._updateOptions(t,!1,!1),\"function\"==typeof a.config.chart.events.scrolled&&a.config.chart.events.scrolled(this.ctx,{xaxis:{min:e,max:i}})}}]),i}(),dt=function(){function t(e){a(this,t),this.w=e.w,this.ttCtx=e,this.ctx=e.ctx}return r(t,[{key:\"getNearestValues\",value:function(t){var e=t.hoverArea,i=t.elGrid,a=t.clientX,s=t.clientY,r=this.w,o=i.getBoundingClientRect(),n=o.width,l=o.height,h=n/(r.globals.dataPoints-1),c=l/r.globals.dataPoints,d=this.hasBars();!r.globals.comboCharts&&!d||r.config.xaxis.convertedCatToNumeric||(h=n/r.globals.dataPoints);var g=a-o.left-r.globals.barPadForNumericAxis,u=s-o.top;g<0||u<0||g>n||u>l?(e.classList.remove(\"hovering-zoom\"),e.classList.remove(\"hovering-pan\")):r.globals.zoomEnabled?(e.classList.remove(\"hovering-pan\"),e.classList.add(\"hovering-zoom\")):r.globals.panEnabled&&(e.classList.remove(\"hovering-zoom\"),e.classList.add(\"hovering-pan\"));var f=Math.round(g/h),p=Math.floor(u/c);d&&!r.config.xaxis.convertedCatToNumeric&&(f=Math.ceil(g/h),f-=1);var b=null,v=null,m=[],y=[];if(r.globals.seriesXvalues.forEach((function(t){m.push([t[0]+1e-6].concat(t))})),r.globals.seriesYvalues.forEach((function(t){y.push([t[0]+1e-6].concat(t))})),m=m.map((function(t){return t.filter((function(t){return x.isNumber(t)}))})),y=y.map((function(t){return t.filter((function(t){return x.isNumber(t)}))})),r.globals.isXNumeric){var w=this.ttCtx.getElGrid().getBoundingClientRect(),k=g*(w.width/n),A=u*(w.height/l);b=(v=this.closestInMultiArray(k,A,m,y)).index,f=v.j,null!==b&&(m=r.globals.seriesXvalues[b],f=(v=this.closestInArray(k,m)).index)}return r.globals.capturedSeriesIndex=null===b?-1:b,(!f||f<1)&&(f=0),r.globals.isBarHorizontal?r.globals.capturedDataPointIndex=p:r.globals.capturedDataPointIndex=f,{capturedSeries:b,j:r.globals.isBarHorizontal?p:f,hoverX:g,hoverY:u}}},{key:\"closestInMultiArray\",value:function(t,e,i,a){var s=this.w,r=0,o=null,n=-1;s.globals.series.length>1?r=this.getFirstActiveXArray(i):o=0;var l=i[r][0],h=Math.abs(t-l);if(i.forEach((function(e){e.forEach((function(e,i){var a=Math.abs(t-e);a0?e:-1})),s=0;s0)for(var a=0;ai?-1:0}));var e=[];return t.forEach((function(t){e.push(t.querySelector(\".apexcharts-marker\"))})),e}},{key:\"hasMarkers\",value:function(){return this.getElMarkers().length>0}},{key:\"getElBars\",value:function(){return this.w.globals.dom.baseEl.querySelectorAll(\".apexcharts-bar-series, .apexcharts-candlestick-series, .apexcharts-boxPlot-series, .apexcharts-rangebar-series\")}},{key:\"hasBars\",value:function(){return this.getElBars().length>0}},{key:\"getHoverMarkerSize\",value:function(t){var e=this.w,i=e.config.markers.hover.size;return void 0===i&&(i=e.globals.markers.size[t]+e.config.markers.hover.sizeOffset),i}},{key:\"toggleAllTooltipSeriesGroups\",value:function(t){var e=this.w,i=this.ttCtx;0===i.allTooltipSeriesGroups.length&&(i.allTooltipSeriesGroups=e.globals.dom.baseEl.querySelectorAll(\".apexcharts-tooltip-series-group\"));for(var a=i.allTooltipSeriesGroups,s=0;s\",e=\"
    \";d.forEach((function(i,a){t+='
    ').concat(i.attrs.name,\"
    \"),e+=\"
    \".concat(i.val,\"
    \")})),v.innerHTML=t+\"
    \",m.innerHTML=e+\"\"};o?l.globals.seriesGoals[e][i]&&Array.isArray(l.globals.seriesGoals[e][i])?y():(v.innerHTML=\"\",m.innerHTML=\"\"):y()}else v.innerHTML=\"\",m.innerHTML=\"\";null!==f&&(a[e].querySelector(\".apexcharts-tooltip-text-z-label\").innerHTML=l.config.tooltip.z.title,a[e].querySelector(\".apexcharts-tooltip-text-z-value\").innerHTML=void 0!==f?f:\"\");o&&p[0]&&(null==c||l.globals.ancillaryCollapsedSeriesIndices.indexOf(e)>-1||l.globals.collapsedSeriesIndices.indexOf(e)>-1?p[0].parentNode.style.display=\"none\":p[0].parentNode.style.display=l.config.tooltip.items.display)}},{key:\"toggleActiveInactiveSeries\",value:function(t){var e=this.w;if(t)this.tooltipUtil.toggleAllTooltipSeriesGroups(\"enable\");else{this.tooltipUtil.toggleAllTooltipSeriesGroups(\"disable\");var i=e.globals.dom.baseEl.querySelector(\".apexcharts-tooltip-series-group\");i&&(i.classList.add(\"apexcharts-active\"),i.style.display=e.config.tooltip.items.display)}}},{key:\"getValuesToPrint\",value:function(t){var e=t.i,i=t.j,a=this.w,s=this.ctx.series.filteredSeriesX(),r=\"\",o=\"\",n=null,l=null,h={series:a.globals.series,seriesIndex:e,dataPointIndex:i,w:a},c=a.globals.ttZFormatter;null===i?l=a.globals.series[e]:a.globals.isXNumeric&&\"treemap\"!==a.config.chart.type?(r=s[e][i],0===s[e].length&&(r=s[this.tooltipUtil.getFirstActiveXArray(s)][i])):r=void 0!==a.globals.labels[i]?a.globals.labels[i]:\"\";var d=r;a.globals.isXNumeric&&\"datetime\"===a.config.xaxis.type?r=new W(this.ctx).xLabelFormat(a.globals.ttKeyFormatter,d,d,{i:void 0,dateFormatter:new T(this.ctx).formatDate,w:this.w}):r=a.globals.isBarHorizontal?a.globals.yLabelFormatters[0](d,h):a.globals.xLabelFormatter(d,h);return void 0!==a.config.tooltip.x.formatter&&(r=a.globals.ttKeyFormatter(d,h)),a.globals.seriesZ.length>0&&a.globals.seriesZ[e].length>0&&(n=c(a.globals.seriesZ[e][i],a)),o=\"function\"==typeof a.config.xaxis.tooltip.formatter?a.globals.xaxisTooltipFormatter(d,h):r,{val:Array.isArray(l)?l.join(\" \"):l,xVal:Array.isArray(r)?r.join(\" \"):r,xAxisTTVal:Array.isArray(o)?o.join(\" \"):o,zVal:n}}},{key:\"handleCustomTooltip\",value:function(t){var e=t.i,i=t.j,a=t.y1,s=t.y2,r=t.w,o=this.ttCtx.getElTooltip(),n=r.config.tooltip.custom;Array.isArray(n)&&n[e]&&(n=n[e]),o.innerHTML=n({ctx:this.ctx,series:r.globals.series,seriesIndex:e,dataPointIndex:i,y1:a,y2:s,w:r})}}]),t}(),ut=function(){function t(e){a(this,t),this.ttCtx=e,this.ctx=e.ctx,this.w=e.w}return r(t,[{key:\"moveXCrosshairs\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=this.ttCtx,a=this.w,s=i.getElXCrosshairs(),r=t-i.xcrosshairsWidth/2,o=a.globals.labels.slice().length;if(null!==e&&(r=a.globals.gridWidth/o*e),null===s||a.globals.isBarHorizontal||(s.setAttribute(\"x\",r),s.setAttribute(\"x1\",r),s.setAttribute(\"x2\",r),s.setAttribute(\"y2\",a.globals.gridHeight),s.classList.add(\"apexcharts-active\")),r<0&&(r=0),r>a.globals.gridWidth&&(r=a.globals.gridWidth),i.isXAxisTooltipEnabled){var n=r;\"tickWidth\"!==a.config.xaxis.crosshairs.width&&\"barWidth\"!==a.config.xaxis.crosshairs.width||(n=r+i.xcrosshairsWidth/2),this.moveXAxisTooltip(n)}}},{key:\"moveYCrosshairs\",value:function(t){var e=this.ttCtx;null!==e.ycrosshairs&&m.setAttrs(e.ycrosshairs,{y1:t,y2:t}),null!==e.ycrosshairsHidden&&m.setAttrs(e.ycrosshairsHidden,{y1:t,y2:t})}},{key:\"moveXAxisTooltip\",value:function(t){var e=this.w,i=this.ttCtx;if(null!==i.xaxisTooltip&&0!==i.xcrosshairsWidth){i.xaxisTooltip.classList.add(\"apexcharts-active\");var a=i.xaxisOffY+e.config.xaxis.tooltip.offsetY+e.globals.translateY+1+e.config.xaxis.offsetY;if(t-=i.xaxisTooltip.getBoundingClientRect().width/2,!isNaN(t)){t+=e.globals.translateX;var s;s=new m(this.ctx).getTextRects(i.xaxisTooltipText.innerHTML),i.xaxisTooltipText.style.minWidth=s.width+\"px\",i.xaxisTooltip.style.left=t+\"px\",i.xaxisTooltip.style.top=a+\"px\"}}}},{key:\"moveYAxisTooltip\",value:function(t){var e=this.w,i=this.ttCtx;null===i.yaxisTTEls&&(i.yaxisTTEls=e.globals.dom.baseEl.querySelectorAll(\".apexcharts-yaxistooltip\"));var a=parseInt(i.ycrosshairsHidden.getAttribute(\"y1\"),10),s=e.globals.translateY+a,r=i.yaxisTTEls[t].getBoundingClientRect().height,o=e.globals.translateYAxisX[t]-2;e.config.yaxis[t].opposite&&(o-=26),s-=r/2,-1===e.globals.ignoreYAxisIndexes.indexOf(t)?(i.yaxisTTEls[t].classList.add(\"apexcharts-active\"),i.yaxisTTEls[t].style.top=s+\"px\",i.yaxisTTEls[t].style.left=o+e.config.yaxis[t].tooltip.offsetX+\"px\"):i.yaxisTTEls[t].classList.remove(\"apexcharts-active\")}},{key:\"moveTooltip\",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=this.w,s=this.ttCtx,r=s.getElTooltip(),o=s.tooltipRect,n=null!==i?parseFloat(i):1,l=parseFloat(t)+n+5,h=parseFloat(e)+n/2;if(l>a.globals.gridWidth/2&&(l=l-o.ttWidth-n-10),l>a.globals.gridWidth-o.ttWidth-10&&(l=a.globals.gridWidth-o.ttWidth),l<-20&&(l=-20),a.config.tooltip.followCursor){var c=s.getElGrid(),d=c.getBoundingClientRect();h=s.e.clientY+a.globals.translateY-d.top-o.ttHeight/2}else a.globals.isBarHorizontal||(o.ttHeight/2+h>a.globals.gridHeight&&(h=a.globals.gridHeight-o.ttHeight+a.globals.translateY),h<0&&(h=0));isNaN(l)||(l+=a.globals.translateX,r.style.left=l+\"px\",r.style.top=h+\"px\")}},{key:\"moveMarkers\",value:function(t,e){var i=this.w,a=this.ttCtx;if(i.globals.markers.size[t]>0)for(var s=i.globals.dom.baseEl.querySelectorAll(\" .apexcharts-series[data\\\\:realIndex='\".concat(t,\"'] .apexcharts-marker\")),r=0;r0&&(h.setAttribute(\"r\",n),h.setAttribute(\"cx\",i),h.setAttribute(\"cy\",a)),this.moveXCrosshairs(i),r.fixedTooltip||this.moveTooltip(i,a,n)}}},{key:\"moveDynamicPointsOnHover\",value:function(t){var e,i=this.ttCtx,a=i.w,s=0,r=0,o=a.globals.pointsArray;e=new O(this.ctx).getActiveConfigSeriesIndex(\"asc\",[\"line\",\"area\",\"scatter\",\"bubble\"]);var n=i.tooltipUtil.getHoverMarkerSize(e);o[e]&&(s=o[e][t][0],r=o[e][t][1]);var l=i.tooltipUtil.getAllMarkers();if(null!==l)for(var h=0;h0?(l[h]&&l[h].setAttribute(\"r\",n),l[h]&&l[h].setAttribute(\"cy\",d)):l[h]&&l[h].setAttribute(\"r\",0)}}if(this.moveXCrosshairs(s),!i.fixedTooltip){var f=r||a.globals.gridHeight;this.moveTooltip(s,f,n)}}},{key:\"moveStickyTooltipOverBars\",value:function(t){var e=this.w,i=this.ttCtx,a=e.globals.columnSeries?e.globals.columnSeries.length:e.globals.series.length,s=a>=2&&a%2==0?Math.floor(a/2):Math.floor(a/2)+1;e.globals.isBarHorizontal&&(s=new O(this.ctx).getActiveConfigSeriesIndex(\"desc\")+1);var r=e.globals.dom.baseEl.querySelector(\".apexcharts-bar-series .apexcharts-series[rel='\".concat(s,\"'] path[j='\").concat(t,\"'], .apexcharts-candlestick-series .apexcharts-series[rel='\").concat(s,\"'] path[j='\").concat(t,\"'], .apexcharts-boxPlot-series .apexcharts-series[rel='\").concat(s,\"'] path[j='\").concat(t,\"'], .apexcharts-rangebar-series .apexcharts-series[rel='\").concat(s,\"'] path[j='\").concat(t,\"']\")),o=r?parseFloat(r.getAttribute(\"cx\")):0,n=r?parseFloat(r.getAttribute(\"cy\")):0,l=r?parseFloat(r.getAttribute(\"barWidth\")):0,h=r?parseFloat(r.getAttribute(\"barHeight\")):0,c=i.getElGrid().getBoundingClientRect(),d=r.classList.contains(\"apexcharts-candlestick-area\")||r.classList.contains(\"apexcharts-boxPlot-area\");if(e.globals.isXNumeric?(r&&!d&&(o-=a%2!=0?l/2:0),r&&d&&e.globals.comboCharts&&(o-=l/2)):e.globals.isBarHorizontal||(o=i.xAxisTicksPositions[t-1]+i.dataPointsDividedWidth/2,isNaN(o)&&(o=i.xAxisTicksPositions[t]-i.dataPointsDividedWidth/2)),e.globals.isBarHorizontal?(n>e.globals.gridHeight/2&&(n-=i.tooltipRect.ttHeight),(n=n+e.config.grid.padding.top+h/3)+h>e.globals.gridHeight&&(n=e.globals.gridHeight-h)):e.config.tooltip.followCursor?n=i.e.clientY-c.top-i.tooltipRect.ttHeight/2:n+i.tooltipRect.ttHeight+15>e.globals.gridHeight&&(n=e.globals.gridHeight),n<-10&&(n=-10),e.globals.isBarHorizontal||this.moveXCrosshairs(o),!i.fixedTooltip){var g=n||e.globals.gridHeight;this.moveTooltip(o,g)}}}]),t}(),ft=function(){function t(e){a(this,t),this.w=e.w,this.ttCtx=e,this.ctx=e.ctx,this.tooltipPosition=new ut(e)}return r(t,[{key:\"drawDynamicPoints\",value:function(){var t=this.w,e=new m(this.ctx),i=new R(this.ctx),a=t.globals.dom.baseEl.querySelectorAll(\".apexcharts-series\");a=u(a),t.config.chart.stacked&&a.sort((function(t,e){return parseFloat(t.getAttribute(\"data:realIndex\"))-parseFloat(e.getAttribute(\"data:realIndex\"))}));for(var s=0;s2&&void 0!==arguments[2]?arguments[2]:null,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,s=this.w;\"bubble\"!==s.config.chart.type&&this.newPointSize(t,e);var r=e.getAttribute(\"cx\"),o=e.getAttribute(\"cy\");if(null!==i&&null!==a&&(r=i,o=a),this.tooltipPosition.moveXCrosshairs(r),!this.fixedTooltip){if(\"radar\"===s.config.chart.type){var n=this.ttCtx.getElGrid(),l=n.getBoundingClientRect();r=this.ttCtx.e.clientX-l.left}this.tooltipPosition.moveTooltip(r,o,s.config.markers.hover.size)}}},{key:\"enlargePoints\",value:function(t){for(var e=this.w,i=this,a=this.ttCtx,s=t,r=e.globals.dom.baseEl.querySelectorAll(\".apexcharts-series:not(.apexcharts-series-collapsed) .apexcharts-marker\"),o=e.config.markers.hover.size,n=0;n=0?t[e].setAttribute(\"r\",i):t[e].setAttribute(\"r\",0)}}}]),t}(),pt=function(){function t(e){a(this,t),this.w=e.w,this.ttCtx=e}return r(t,[{key:\"getAttr\",value:function(t,e){return parseFloat(t.target.getAttribute(e))}},{key:\"handleHeatTreeTooltip\",value:function(t){var e=t.e,i=t.opt,a=t.x,s=t.y,r=t.type,o=this.ttCtx,n=this.w;if(e.target.classList.contains(\"apexcharts-\".concat(r,\"-rect\"))){var l=this.getAttr(e,\"i\"),h=this.getAttr(e,\"j\"),c=this.getAttr(e,\"cx\"),d=this.getAttr(e,\"cy\"),g=this.getAttr(e,\"width\"),u=this.getAttr(e,\"height\");if(o.tooltipLabels.drawSeriesTexts({ttItems:i.ttItems,i:l,j:h,shared:!1,e:e}),n.globals.capturedSeriesIndex=l,n.globals.capturedDataPointIndex=h,a=c+o.tooltipRect.ttWidth/2+g,s=d+o.tooltipRect.ttHeight/2-u/2,o.tooltipPosition.moveXCrosshairs(c+g/2),a>n.globals.gridWidth/2&&(a=c-o.tooltipRect.ttWidth/2+g),o.w.config.tooltip.followCursor){var f=n.globals.dom.elWrap.getBoundingClientRect();a=n.globals.clientX-f.left-(a>n.globals.gridWidth/2?o.tooltipRect.ttWidth:0),s=n.globals.clientY-f.top-(s>n.globals.gridHeight/2?o.tooltipRect.ttHeight:0)}}return{x:a,y:s}}},{key:\"handleMarkerTooltip\",value:function(t){var e,i,a=t.e,s=t.opt,r=t.x,o=t.y,n=this.w,l=this.ttCtx;if(a.target.classList.contains(\"apexcharts-marker\")){var h=parseInt(s.paths.getAttribute(\"cx\"),10),c=parseInt(s.paths.getAttribute(\"cy\"),10),d=parseFloat(s.paths.getAttribute(\"val\"));if(i=parseInt(s.paths.getAttribute(\"rel\"),10),e=parseInt(s.paths.parentNode.parentNode.parentNode.getAttribute(\"rel\"),10)-1,l.intersect){var g=x.findAncestor(s.paths,\"apexcharts-series\");g&&(e=parseInt(g.getAttribute(\"data:realIndex\"),10))}if(l.tooltipLabels.drawSeriesTexts({ttItems:s.ttItems,i:e,j:i,shared:!l.showOnIntersect&&n.config.tooltip.shared,e:a}),\"mouseup\"===a.type&&l.markerClick(a,e,i),n.globals.capturedSeriesIndex=e,n.globals.capturedDataPointIndex=i,r=h,o=c+n.globals.translateY-1.4*l.tooltipRect.ttHeight,l.w.config.tooltip.followCursor){var u=l.getElGrid().getBoundingClientRect();o=l.e.clientY+n.globals.translateY-u.top}d<0&&(o=c),l.marker.enlargeCurrentPoint(i,s.paths,r,o)}return{x:r,y:o}}},{key:\"handleBarTooltip\",value:function(t){var e,i,a=t.e,s=t.opt,r=this.w,o=this.ttCtx,n=o.getElTooltip(),l=0,h=0,c=0,d=this.getBarTooltipXY({e:a,opt:s});e=d.i;var g=d.barHeight,u=d.j;r.globals.capturedSeriesIndex=e,r.globals.capturedDataPointIndex=u,r.globals.isBarHorizontal&&o.tooltipUtil.hasBars()||!r.config.tooltip.shared?(h=d.x,c=d.y,i=Array.isArray(r.config.stroke.width)?r.config.stroke.width[e]:r.config.stroke.width,l=h):r.globals.comboCharts||r.config.tooltip.shared||(l/=2),isNaN(c)?c=r.globals.svgHeight-o.tooltipRect.ttHeight:c<0&&(c=0);var f=parseInt(s.paths.parentNode.getAttribute(\"data:realIndex\"),10),p=r.globals.isMultipleYAxis?r.config.yaxis[f]&&r.config.yaxis[f].reversed:r.config.yaxis[0].reversed;if(h+o.tooltipRect.ttWidth>r.globals.gridWidth&&!p?h-=o.tooltipRect.ttWidth:h<0&&(h=0),o.w.config.tooltip.followCursor){var x=o.getElGrid().getBoundingClientRect();c=o.e.clientY-x.top}null===o.tooltip&&(o.tooltip=r.globals.dom.baseEl.querySelector(\".apexcharts-tooltip\")),r.config.tooltip.shared||(r.globals.comboBarCount>0?o.tooltipPosition.moveXCrosshairs(l+i/2):o.tooltipPosition.moveXCrosshairs(l)),!o.fixedTooltip&&(!r.config.tooltip.shared||r.globals.isBarHorizontal&&o.tooltipUtil.hasBars())&&(p&&(h-=o.tooltipRect.ttWidth)<0&&(h=0),!p||r.globals.isBarHorizontal&&o.tooltipUtil.hasBars()||(c=c+g-2*(r.globals.series[e][u]<0?g:0)),o.tooltipRect.ttHeight+c>r.globals.gridHeight?c=r.globals.gridHeight-o.tooltipRect.ttHeight+r.globals.translateY:(c=c+r.globals.translateY-o.tooltipRect.ttHeight/2)<0&&(c=0),n.style.left=h+r.globals.translateX+\"px\",n.style.top=c+\"px\")}},{key:\"getBarTooltipXY\",value:function(t){var e=t.e,i=t.opt,a=this.w,s=null,r=this.ttCtx,o=0,n=0,l=0,h=0,c=0,d=e.target.classList;if(d.contains(\"apexcharts-bar-area\")||d.contains(\"apexcharts-candlestick-area\")||d.contains(\"apexcharts-boxPlot-area\")||d.contains(\"apexcharts-rangebar-area\")){var g=e.target,u=g.getBoundingClientRect(),f=i.elGrid.getBoundingClientRect(),p=u.height;c=u.height;var x=u.width,b=parseInt(g.getAttribute(\"cx\"),10),v=parseInt(g.getAttribute(\"cy\"),10);h=parseFloat(g.getAttribute(\"barWidth\"));var m=\"touchmove\"===e.type?e.touches[0].clientX:e.clientX;s=parseInt(g.getAttribute(\"j\"),10),o=parseInt(g.parentNode.getAttribute(\"rel\"),10)-1;var y=g.getAttribute(\"data-range-y1\"),w=g.getAttribute(\"data-range-y2\");a.globals.comboCharts&&(o=parseInt(g.parentNode.getAttribute(\"data:realIndex\"),10)),r.tooltipLabels.drawSeriesTexts({ttItems:i.ttItems,i:o,j:s,y1:y?parseInt(y,10):null,y2:w?parseInt(w,10):null,shared:!r.showOnIntersect&&a.config.tooltip.shared,e:e}),a.config.tooltip.followCursor?a.globals.isBarHorizontal?(n=m-f.left+15,l=v-r.dataPointsDividedHeight+p/2-r.tooltipRect.ttHeight/2):(n=a.globals.isXNumeric?b-x/2:b-r.dataPointsDividedWidth+x/2,l=e.clientY-f.top-r.tooltipRect.ttHeight/2-15):a.globals.isBarHorizontal?((n=b)0&&i.setAttribute(\"width\",e.xcrosshairsWidth)}},{key:\"handleYCrosshair\",value:function(){var t=this.w,e=this.ttCtx;e.ycrosshairs=t.globals.dom.baseEl.querySelector(\".apexcharts-ycrosshairs\"),e.ycrosshairsHidden=t.globals.dom.baseEl.querySelector(\".apexcharts-ycrosshairs-hidden\")}},{key:\"drawYaxisTooltipText\",value:function(t,e,i){var a=this.ttCtx,s=this.w,r=s.globals.yLabelFormatters[t];if(a.yaxisTooltips[t]){var o=a.getElGrid().getBoundingClientRect(),n=(e-o.top)*i.yRatio[t],l=s.globals.maxYArr[t]-s.globals.minYArr[t],h=s.globals.minYArr[t]+(l-n);a.tooltipPosition.moveYCrosshairs(e-o.top),a.yaxisTooltipText[t].innerHTML=r(h),a.tooltipPosition.moveYAxisTooltip(t)}}}]),t}(),bt=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w;var i=this.w;this.tConfig=i.config.tooltip,this.tooltipUtil=new dt(this),this.tooltipLabels=new gt(this),this.tooltipPosition=new ut(this),this.marker=new ft(this),this.intersect=new pt(this),this.axesTooltip=new xt(this),this.showOnIntersect=this.tConfig.intersect,this.showTooltipTitle=this.tConfig.x.show,this.fixedTooltip=this.tConfig.fixed.enabled,this.xaxisTooltip=null,this.yaxisTTEls=null,this.isBarShared=!i.globals.isBarHorizontal&&this.tConfig.shared,this.lastHoverTime=Date.now()}return r(t,[{key:\"getElTooltip\",value:function(t){return t||(t=this),t.w.globals.dom.baseEl?t.w.globals.dom.baseEl.querySelector(\".apexcharts-tooltip\"):null}},{key:\"getElXCrosshairs\",value:function(){return this.w.globals.dom.baseEl.querySelector(\".apexcharts-xcrosshairs\")}},{key:\"getElGrid\",value:function(){return this.w.globals.dom.baseEl.querySelector(\".apexcharts-grid\")}},{key:\"drawTooltip\",value:function(t){var e=this.w;this.xyRatios=t,this.isXAxisTooltipEnabled=e.config.xaxis.tooltip.enabled&&e.globals.axisCharts,this.yaxisTooltips=e.config.yaxis.map((function(t,i){return!!(t.show&&t.tooltip.enabled&&e.globals.axisCharts)})),this.allTooltipSeriesGroups=[],e.globals.axisCharts||(this.showTooltipTitle=!1);var i=document.createElement(\"div\");if(i.classList.add(\"apexcharts-tooltip\"),e.config.tooltip.cssClass&&i.classList.add(e.config.tooltip.cssClass),i.classList.add(\"apexcharts-theme-\".concat(this.tConfig.theme)),e.globals.dom.elWrap.appendChild(i),e.globals.axisCharts){this.axesTooltip.drawXaxisTooltip(),this.axesTooltip.drawYaxisTooltip(),this.axesTooltip.setXCrosshairWidth(),this.axesTooltip.handleYCrosshair();var a=new V(this.ctx);this.xAxisTicksPositions=a.getXAxisTicksPositions()}if(!e.globals.comboCharts&&!this.tConfig.intersect&&\"rangeBar\"!==e.config.chart.type||this.tConfig.shared||(this.showOnIntersect=!0),0!==e.config.markers.size&&0!==e.globals.markers.largestSize||this.marker.drawDynamicPoints(this),e.globals.collapsedSeries.length!==e.globals.series.length){this.dataPointsDividedHeight=e.globals.gridHeight/e.globals.dataPoints,this.dataPointsDividedWidth=e.globals.gridWidth/e.globals.dataPoints,this.showTooltipTitle&&(this.tooltipTitle=document.createElement(\"div\"),this.tooltipTitle.classList.add(\"apexcharts-tooltip-title\"),this.tooltipTitle.style.fontFamily=this.tConfig.style.fontFamily||e.config.chart.fontFamily,this.tooltipTitle.style.fontSize=this.tConfig.style.fontSize,i.appendChild(this.tooltipTitle));var s=e.globals.series.length;(e.globals.xyCharts||e.globals.comboCharts)&&this.tConfig.shared&&(s=this.showOnIntersect?1:e.globals.series.length),this.legendLabels=e.globals.dom.baseEl.querySelectorAll(\".apexcharts-legend-text\"),this.ttItems=this.createTTElements(s),this.addSVGEvents()}}},{key:\"createTTElements\",value:function(t){for(var e=this,i=this.w,a=[],s=this.getElTooltip(),r=function(r){var o=document.createElement(\"div\");o.classList.add(\"apexcharts-tooltip-series-group\"),o.style.order=i.config.tooltip.inverseOrder?t-r:r+1,e.tConfig.shared&&e.tConfig.enabledOnSeries&&Array.isArray(e.tConfig.enabledOnSeries)&&e.tConfig.enabledOnSeries.indexOf(r)<0&&o.classList.add(\"apexcharts-tooltip-series-group-hidden\");var n=document.createElement(\"span\");n.classList.add(\"apexcharts-tooltip-marker\"),n.style.backgroundColor=i.globals.colors[r],o.appendChild(n);var l=document.createElement(\"div\");l.classList.add(\"apexcharts-tooltip-text\"),l.style.fontFamily=e.tConfig.style.fontFamily||i.config.chart.fontFamily,l.style.fontSize=e.tConfig.style.fontSize,[\"y\",\"goals\",\"z\"].forEach((function(t){var e=document.createElement(\"div\");e.classList.add(\"apexcharts-tooltip-\".concat(t,\"-group\"));var i=document.createElement(\"span\");i.classList.add(\"apexcharts-tooltip-text-\".concat(t,\"-label\")),e.appendChild(i);var a=document.createElement(\"span\");a.classList.add(\"apexcharts-tooltip-text-\".concat(t,\"-value\")),e.appendChild(a),l.appendChild(e)})),o.appendChild(l),s.appendChild(o),a.push(o)},o=0;o0&&this.addPathsEventListeners(u,c),this.tooltipUtil.hasBars()&&!this.tConfig.shared&&this.addDatapointEventsListeners(c)}}},{key:\"drawFixedTooltipRect\",value:function(){var t=this.w,e=this.getElTooltip(),i=e.getBoundingClientRect(),a=i.width+10,s=i.height+10,r=this.tConfig.fixed.offsetX,o=this.tConfig.fixed.offsetY,n=this.tConfig.fixed.position.toLowerCase();return n.indexOf(\"right\")>-1&&(r=r+t.globals.svgWidth-a+10),n.indexOf(\"bottom\")>-1&&(o=o+t.globals.svgHeight-s-10),e.style.left=r+\"px\",e.style.top=o+\"px\",{x:r,y:o,ttWidth:a,ttHeight:s}}},{key:\"addDatapointEventsListeners\",value:function(t){var e=this.w.globals.dom.baseEl.querySelectorAll(\".apexcharts-series-markers .apexcharts-marker, .apexcharts-bar-area, .apexcharts-candlestick-area, .apexcharts-boxPlot-area, .apexcharts-rangebar-area\");this.addPathsEventListeners(e,t)}},{key:\"addPathsEventListeners\",value:function(t,e){for(var i=this,a=function(a){var s={paths:t[a],tooltipEl:e.tooltipEl,tooltipY:e.tooltipY,tooltipX:e.tooltipX,elGrid:e.elGrid,hoverArea:e.hoverArea,ttItems:e.ttItems};[\"mousemove\",\"mouseup\",\"touchmove\",\"mouseout\",\"touchend\"].map((function(e){return t[a].addEventListener(e,i.onSeriesHover.bind(i,s),{capture:!1,passive:!0})}))},s=0;s=100?this.seriesHover(t,e):(clearTimeout(this.seriesHoverTimeout),this.seriesHoverTimeout=setTimeout((function(){i.seriesHover(t,e)}),100-a))}},{key:\"seriesHover\",value:function(t,e){var i=this;this.lastHoverTime=Date.now();var a=[],s=this.w;s.config.chart.group&&(a=this.ctx.getGroupedCharts()),s.globals.axisCharts&&(s.globals.minX===-1/0&&s.globals.maxX===1/0||0===s.globals.dataPoints)||(a.length?a.forEach((function(a){var s=i.getElTooltip(a),r={paths:t.paths,tooltipEl:s,tooltipY:t.tooltipY,tooltipX:t.tooltipX,elGrid:t.elGrid,hoverArea:t.hoverArea,ttItems:a.w.globals.tooltip.ttItems};a.w.globals.minX===i.w.globals.minX&&a.w.globals.maxX===i.w.globals.maxX&&a.w.globals.tooltip.seriesHoverByContext({chartCtx:a,ttCtx:a.w.globals.tooltip,opt:r,e:e})})):this.seriesHoverByContext({chartCtx:this.ctx,ttCtx:this.w.globals.tooltip,opt:t,e:e}))}},{key:\"seriesHoverByContext\",value:function(t){var e=t.chartCtx,i=t.ttCtx,a=t.opt,s=t.e,r=e.w,o=this.getElTooltip();if(o){if(i.tooltipRect={x:0,y:0,ttWidth:o.getBoundingClientRect().width,ttHeight:o.getBoundingClientRect().height},i.e=s,i.tooltipUtil.hasBars()&&!r.globals.comboCharts&&!i.isBarShared)if(this.tConfig.onDatasetHover.highlightDataSeries)new O(e).toggleSeriesOnHover(s,s.target.parentNode);i.fixedTooltip&&i.drawFixedTooltipRect(),r.globals.axisCharts?i.axisChartsTooltips({e:s,opt:a,tooltipRect:i.tooltipRect}):i.nonAxisChartsTooltips({e:s,opt:a,tooltipRect:i.tooltipRect})}}},{key:\"axisChartsTooltips\",value:function(t){var e,i,a=t.e,s=t.opt,r=this.w,o=s.elGrid.getBoundingClientRect(),n=\"touchmove\"===a.type?a.touches[0].clientX:a.clientX,l=\"touchmove\"===a.type?a.touches[0].clientY:a.clientY;if(this.clientY=l,this.clientX=n,r.globals.capturedSeriesIndex=-1,r.globals.capturedDataPointIndex=-1,lo.top+o.height)this.handleMouseOut(s);else{if(Array.isArray(this.tConfig.enabledOnSeries)&&!r.config.tooltip.shared){var h=parseInt(s.paths.getAttribute(\"index\"),10);if(this.tConfig.enabledOnSeries.indexOf(h)<0)return void this.handleMouseOut(s)}var c=this.getElTooltip(),d=this.getElXCrosshairs(),g=r.globals.xyCharts||\"bar\"===r.config.chart.type&&!r.globals.isBarHorizontal&&this.tooltipUtil.hasBars()&&this.tConfig.shared||r.globals.comboCharts&&this.tooltipUtil.hasBars();if(\"mousemove\"===a.type||\"touchmove\"===a.type||\"mouseup\"===a.type){if(r.globals.collapsedSeries.length+r.globals.ancillaryCollapsedSeries.length===r.globals.series.length)return;null!==d&&d.classList.add(\"apexcharts-active\");var u=this.yaxisTooltips.filter((function(t){return!0===t}));if(null!==this.ycrosshairs&&u.length&&this.ycrosshairs.classList.add(\"apexcharts-active\"),g&&!this.showOnIntersect)this.handleStickyTooltip(a,n,l,s);else if(\"heatmap\"===r.config.chart.type||\"treemap\"===r.config.chart.type){var f=this.intersect.handleHeatTreeTooltip({e:a,opt:s,x:e,y:i,type:r.config.chart.type});e=f.x,i=f.y,c.style.left=e+\"px\",c.style.top=i+\"px\"}else this.tooltipUtil.hasBars()&&this.intersect.handleBarTooltip({e:a,opt:s}),this.tooltipUtil.hasMarkers()&&this.intersect.handleMarkerTooltip({e:a,opt:s,x:e,y:i});if(this.yaxisTooltips.length)for(var p=0;pl.width?this.handleMouseOut(a):null!==n?this.handleStickyCapturedSeries(t,n,a,o):(this.tooltipUtil.isXoverlap(o)||s.globals.isBarHorizontal)&&this.create(t,this,0,o,a.ttItems)}},{key:\"handleStickyCapturedSeries\",value:function(t,e,i,a){var s=this.w;if(!this.tConfig.shared&&null===s.globals.series[e][a])return void this.handleMouseOut(i);void 0!==s.globals.series[e][a]?this.tConfig.shared&&this.tooltipUtil.isXoverlap(a)&&this.tooltipUtil.isInitialSeriesSameLen()?this.create(t,this,e,a,i.ttItems):this.create(t,this,e,a,i.ttItems,!1):this.tooltipUtil.isXoverlap(a)&&this.create(t,this,0,a,i.ttItems)}},{key:\"deactivateHoverFilter\",value:function(){for(var t=this.w,e=new m(this.ctx),i=t.globals.dom.Paper.select(\".apexcharts-bar-area\"),a=0;a5&&void 0!==arguments[5]?arguments[5]:null,o=this.w,n=e;\"mouseup\"===t.type&&this.markerClick(t,i,a),null===r&&(r=this.tConfig.shared);var l=this.tooltipUtil.hasMarkers(),h=this.tooltipUtil.getElBars();if(o.config.legend.tooltipHoverFormatter){var c=o.config.legend.tooltipHoverFormatter,d=Array.from(this.legendLabels);d.forEach((function(t){var e=t.getAttribute(\"data:default-text\");t.innerHTML=decodeURIComponent(e)}));for(var g=0;g0?n.marker.enlargePoints(a):n.tooltipPosition.moveDynamicPointsOnHover(a)),this.tooltipUtil.hasBars()&&(this.barSeriesHeight=this.tooltipUtil.getBarsHeight(h),this.barSeriesHeight>0)){var b=new m(this.ctx),v=o.globals.dom.Paper.select(\".apexcharts-bar-area[j='\".concat(a,\"']\"));this.deactivateHoverFilter(),this.tooltipPosition.moveStickyTooltipOverBars(a);for(var y=0;ys.globals.gridHeight&&(u=s.globals.gridHeight-b)),{bcx:h,bcy:l,dataLabelsX:e,dataLabelsY:u,totalDataLabelsX:a,totalDataLabelsY:i,totalDataLabelsAnchor:\"middle\"}}},{key:\"calculateBarsDataLabelsPosition\",value:function(t){var e=this.w,i=t.x,a=t.i,s=t.j,r=t.realIndex,o=t.bcy,n=t.barHeight,l=t.barWidth,h=t.textRects,c=t.dataLabelsX,d=t.strokeWidth,g=t.dataLabelsConfig,u=t.barDataLabelsConfig,f=t.barTotalDataLabelsConfig,p=t.offX,x=t.offY,b=e.globals.gridHeight/e.globals.dataPoints;l=Math.abs(l);var v,y,w=o-(this.barCtx.isRangeBar?0:b)+n/2+h.height/2+x-3,k=\"start\",A=this.barCtx.series[a][s]<0,S=i;switch(this.barCtx.isReversed&&(S=i+l-(A?2*l:0),i=e.globals.gridWidth-l),u.position){case\"center\":c=A?S+l/2-p:Math.max(h.width/2,S-l/2)+p;break;case\"bottom\":c=A?S+l-d-Math.round(h.width/2)-p:S-l+d+Math.round(h.width/2)+p;break;case\"top\":c=A?S-d+Math.round(h.width/2)-p:S-d-Math.round(h.width/2)+p}if(this.barCtx.lastActiveBarSerieIndex===r&&f.enabled){var C=new m(this.barCtx.ctx).getTextRects(this.getStackedTotalDataLabel({realIndex:r,j:s}),g.fontSize);A?(v=S-d+Math.round(C.width/2)-p-f.offsetX-15,k=\"end\"):v=S-d-Math.round(C.width/2)+p+f.offsetX+15,y=w+f.offsetY}return e.config.chart.stacked||(c<0?c=c+h.width+d:c+h.width/2>e.globals.gridWidth&&(c=e.globals.gridWidth-h.width-d)),{bcx:i,bcy:o,dataLabelsX:c,dataLabelsY:w,totalDataLabelsX:v,totalDataLabelsY:y,totalDataLabelsAnchor:k}}},{key:\"drawCalculatedDataLabels\",value:function(t){var i=t.x,a=t.y,s=t.val,r=t.i,o=t.j,n=t.textRects,l=t.barHeight,h=t.barWidth,c=t.dataLabelsConfig,d=this.w,g=\"rotate(0)\";\"vertical\"===d.config.plotOptions.bar.dataLabels.orientation&&(g=\"rotate(-90, \".concat(i,\", \").concat(a,\")\"));var u=new H(this.barCtx.ctx),f=new m(this.barCtx.ctx),p=c.formatter,x=null,b=d.globals.collapsedSeriesIndices.indexOf(r)>-1;if(c.enabled&&!b){x=f.group({class:\"apexcharts-data-labels\",transform:g});var v=\"\";void 0!==s&&(v=p(s,e(e({},d),{},{seriesIndex:r,dataPointIndex:o,w:d})));var y=d.globals.series[r][o]<0,w=d.config.plotOptions.bar.dataLabels.position;if(\"vertical\"===d.config.plotOptions.bar.dataLabels.orientation&&(\"top\"===w&&(c.textAnchor=y?\"end\":\"start\"),\"center\"===w&&(c.textAnchor=\"middle\"),\"bottom\"===w&&(c.textAnchor=y?\"end\":\"start\")),this.barCtx.isRangeBar&&this.barCtx.barOptions.dataLabels.hideOverflowingLabels)hMath.abs(h)&&(v=\"\"):n.height/1.6>Math.abs(l)&&(v=\"\"));var k=e({},c);this.barCtx.isHorizontal&&s<0&&(\"start\"===c.textAnchor?k.textAnchor=\"end\":\"end\"===c.textAnchor&&(k.textAnchor=\"start\")),u.plotDataLabelsText({x:i,y:a,text:v,i:r,j:o,parent:x,dataLabelsConfig:k,alwaysDrawDataLabel:!0,offsetCorrection:!0})}return x}},{key:\"drawTotalDataLabels\",value:function(t){var e,i=t.x,a=t.y,s=t.val,r=t.realIndex,o=t.textAnchor,n=t.barTotalDataLabelsConfig,l=new m(this.barCtx.ctx);return n.enabled&&void 0!==i&&void 0!==a&&this.barCtx.lastActiveBarSerieIndex===r&&(e=l.drawText({x:i,y:a,foreColor:n.style.color,text:s,textAnchor:o,fontFamily:n.style.fontFamily,fontSize:n.style.fontSize,fontWeight:n.style.fontWeight})),e}}]),t}(),mt=function(){function t(e){a(this,t),this.w=e.w,this.barCtx=e}return r(t,[{key:\"initVariables\",value:function(t){var e=this.w;this.barCtx.series=t,this.barCtx.totalItems=0,this.barCtx.seriesLen=0,this.barCtx.visibleI=-1,this.barCtx.visibleItems=1;for(var i=0;i0&&(this.barCtx.seriesLen=this.barCtx.seriesLen+1,this.barCtx.totalItems+=t[i].length),e.globals.isXNumeric)for(var a=0;ae.globals.minX&&e.globals.seriesX[i][a]0&&(a=l.globals.minXDiff/d),(r=a/this.barCtx.seriesLen*parseInt(this.barCtx.barOptions.columnWidth,10)/100)<1&&(r=1)}o=l.globals.gridHeight-this.barCtx.baseLineY[this.barCtx.yaxisIndex]-(this.barCtx.isReversed?l.globals.gridHeight:0)+(this.barCtx.isReversed?2*this.barCtx.baseLineY[this.barCtx.yaxisIndex]:0),t=l.globals.padHorizontal+(a-r*this.barCtx.seriesLen)/2}return{x:t,y:e,yDivision:i,xDivision:a,barHeight:s,barWidth:r,zeroH:o,zeroW:n}}},{key:\"getPathFillColor\",value:function(t,e,i,a){var s,r,o,n,l=this.w,h=new F(this.barCtx.ctx),c=null,d=this.barCtx.barOptions.distributed?i:e;this.barCtx.barOptions.colors.ranges.length>0&&this.barCtx.barOptions.colors.ranges.map((function(a){t[e][i]>=a.from&&t[e][i]<=a.to&&(c=a.color)}));return l.config.series[e].data[i]&&l.config.series[e].data[i].fillColor&&(c=l.config.series[e].data[i].fillColor),h.fillPath({seriesNumber:this.barCtx.barOptions.distributed?d:a,dataPointIndex:i,color:c,value:t[e][i],fillConfig:null===(s=l.config.series[e].data[i])||void 0===s?void 0:s.fill,fillType:null!==(r=l.config.series[e].data[i])&&void 0!==r&&null!==(o=r.fill)&&void 0!==o&&o.type?null===(n=l.config.series[e].data[i])||void 0===n?void 0:n.fill.type:l.config.fill.type})}},{key:\"getStrokeWidth\",value:function(t,e,i){var a=0,s=this.w;return void 0===this.barCtx.series[t][e]||null===this.barCtx.series[t][e]?this.barCtx.isNullValue=!0:this.barCtx.isNullValue=!1,s.config.stroke.show&&(this.barCtx.isNullValue||(a=Array.isArray(this.barCtx.strokeWidth)?this.barCtx.strokeWidth[i]:this.barCtx.strokeWidth)),a}},{key:\"shouldApplyRadius\",value:function(t){var e=this.w,i=!1;return e.config.plotOptions.bar.borderRadius>0&&(e.config.chart.stacked&&\"last\"===e.config.plotOptions.bar.borderRadiusWhenStacked?this.barCtx.lastActiveBarSerieIndex===t&&(i=!0):i=!0),i}},{key:\"barBackground\",value:function(t){var e=t.j,i=t.i,a=t.x1,s=t.x2,r=t.y1,o=t.y2,n=t.elSeries,l=this.w,h=new m(this.barCtx.ctx),c=new O(this.barCtx.ctx).getActiveConfigSeriesIndex();if(this.barCtx.barOptions.colors.backgroundBarColors.length>0&&c===i){e>=this.barCtx.barOptions.colors.backgroundBarColors.length&&(e%=this.barCtx.barOptions.colors.backgroundBarColors.length);var d=this.barCtx.barOptions.colors.backgroundBarColors[e],g=h.drawRect(void 0!==a?a:0,void 0!==r?r:0,void 0!==s?s:l.globals.gridWidth,void 0!==o?o:l.globals.gridHeight,this.barCtx.barOptions.colors.backgroundBarRadius,d,this.barCtx.barOptions.colors.backgroundBarOpacity);n.add(g),g.node.classList.add(\"apexcharts-backgroundBar\")}}},{key:\"getColumnPaths\",value:function(t){var e,i=t.barWidth,a=t.barXPosition,s=t.y1,r=t.y2,o=t.strokeWidth,n=t.realIndex,l=t.i,h=t.j,c=t.w,d=new m(this.barCtx.ctx);(o=Array.isArray(o)?o[n]:o)||(o=0);var g=i,u=a;null!==(e=c.config.series[n].data[h])&&void 0!==e&&e.columnWidthOffset&&(u=a-c.config.series[n].data[h].columnWidthOffset/2,g=i+c.config.series[n].data[h].columnWidthOffset);var f=u,p=u+g;s+=.001,r+=.001;var x=d.move(f,s),b=d.move(f,s),v=d.line(p-o,s);return c.globals.previousPaths.length>0&&(b=this.barCtx.getPreviousPath(n,h,!1)),x=x+d.line(f,r)+d.line(p-o,r)+d.line(p-o,s)+(\"around\"===c.config.plotOptions.bar.borderRadiusApplication?\" Z\":\" z\"),b=b+d.line(f,s)+v+v+v+v+v+d.line(f,s)+(\"around\"===c.config.plotOptions.bar.borderRadiusApplication?\" Z\":\" z\"),this.shouldApplyRadius(n)&&(x=d.roundPathCorners(x,c.config.plotOptions.bar.borderRadius)),c.config.chart.stacked&&(this.barCtx.yArrj.push(r),this.barCtx.yArrjF.push(Math.abs(s-r)),this.barCtx.yArrjVal.push(this.barCtx.series[l][h])),{pathTo:x,pathFrom:b}}},{key:\"getBarpaths\",value:function(t){var e,i=t.barYPosition,a=t.barHeight,s=t.x1,r=t.x2,o=t.strokeWidth,n=t.realIndex,l=t.i,h=t.j,c=t.w,d=new m(this.barCtx.ctx);(o=Array.isArray(o)?o[n]:o)||(o=0);var g=i,u=a;null!==(e=c.config.series[n].data[h])&&void 0!==e&&e.barHeightOffset&&(g=i-c.config.series[n].data[h].barHeightOffset/2,u=a+c.config.series[n].data[h].barHeightOffset);var f=g,p=g+u;s+=.001,r+=.001;var x=d.move(s,f),b=d.move(s,f);c.globals.previousPaths.length>0&&(b=this.barCtx.getPreviousPath(n,h,!1));var v=d.line(s,p-o);return x=x+d.line(r,f)+d.line(r,p-o)+v+(\"around\"===c.config.plotOptions.bar.borderRadiusApplication?\" Z\":\" z\"),b=b+d.line(s,f)+v+v+v+v+v+d.line(s,f)+(\"around\"===c.config.plotOptions.bar.borderRadiusApplication?\" Z\":\" z\"),this.shouldApplyRadius(n)&&(x=d.roundPathCorners(x,c.config.plotOptions.bar.borderRadius)),c.config.chart.stacked&&(this.barCtx.xArrj.push(r),this.barCtx.xArrjF.push(Math.abs(s-r)),this.barCtx.xArrjVal.push(this.barCtx.series[l][h])),{pathTo:x,pathFrom:b}}},{key:\"checkZeroSeries\",value:function(t){for(var e=t.series,i=this.w,a=0;a=0;o--)this.barCtx.zeroSerieses.indexOf(o)>-1&&o===this.radiusOnSeriesNumber&&(this.barCtx.radiusOnSeriesNumber-=1);for(var n=e.length-1;n>=0;n--)i.globals.collapsedSeriesIndices.indexOf(this.barCtx.radiusOnSeriesNumber)>-1&&(this.barCtx.radiusOnSeriesNumber-=1)}},{key:\"getXForValue\",value:function(t,e){var i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=i?e:null;return null!=t&&(a=e+t/this.barCtx.invertedYRatio-2*(this.barCtx.isReversed?t/this.barCtx.invertedYRatio:0)),a}},{key:\"getYForValue\",value:function(t,e){var i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=i?e:null;return null!=t&&(a=e-t/this.barCtx.yRatio[this.barCtx.yaxisIndex]+2*(this.barCtx.isReversed?t/this.barCtx.yRatio[this.barCtx.yaxisIndex]:0)),a}},{key:\"getGoalValues\",value:function(t,e,i,a,s){var r=this,n=this.w,l=[];return n.globals.seriesGoals[a]&&n.globals.seriesGoals[a][s]&&Array.isArray(n.globals.seriesGoals[a][s])&&n.globals.seriesGoals[a][s].forEach((function(a){var s;l.push((o(s={},t,\"x\"===t?r.getXForValue(a.value,e,!1):r.getYForValue(a.value,i,!1)),o(s,\"attrs\",a),s))})),l}},{key:\"drawGoalLine\",value:function(t){var e=t.barXPosition,i=t.barYPosition,a=t.goalX,s=t.goalY,r=t.barWidth,o=t.barHeight,n=new m(this.barCtx.ctx),l=n.group({className:\"apexcharts-bar-goals-groups\"}),h=null;return this.barCtx.isHorizontal?Array.isArray(a)&&a.forEach((function(t){var e=void 0!==t.attrs.strokeHeight?t.attrs.strokeHeight:o/2,a=i+e+o/2;h=n.drawLine(t.x,a-2*e,t.x,a,t.attrs.strokeColor?t.attrs.strokeColor:void 0,t.attrs.strokeDashArray,t.attrs.strokeWidth?t.attrs.strokeWidth:2,t.attrs.strokeLineCap),l.add(h)})):Array.isArray(s)&&s.forEach((function(t){var i=void 0!==t.attrs.strokeWidth?t.attrs.strokeWidth:r/2,a=e+i+r/2;h=n.drawLine(a-2*i,t.y,a,t.y,t.attrs.strokeColor?t.attrs.strokeColor:void 0,t.attrs.strokeDashArray,t.attrs.strokeHeight?t.attrs.strokeHeight:2,t.attrs.strokeLineCap),l.add(h)})),l}}]),t}(),yt=function(){function t(e,i){a(this,t),this.ctx=e,this.w=e.w;var s=this.w;this.barOptions=s.config.plotOptions.bar,this.isHorizontal=this.barOptions.horizontal,this.strokeWidth=s.config.stroke.width,this.isNullValue=!1,this.isRangeBar=s.globals.seriesRange.length&&this.isHorizontal,this.xyRatios=i,null!==this.xyRatios&&(this.xRatio=i.xRatio,this.initialXRatio=i.initialXRatio,this.yRatio=i.yRatio,this.invertedXRatio=i.invertedXRatio,this.invertedYRatio=i.invertedYRatio,this.baseLineY=i.baseLineY,this.baseLineInvertedY=i.baseLineInvertedY),this.yaxisIndex=0,this.seriesLen=0;var r=new O(this.ctx);this.lastActiveBarSerieIndex=r.getActiveConfigSeriesIndex(\"desc\",[\"bar\",\"column\"]);var o=r.getBarSeriesIndices(),n=new y(this.ctx);this.stackedSeriesTotals=n.getStackedSeriesTotals(this.w.config.series.map((function(t,e){return-1===o.indexOf(e)?e:-1})).filter((function(t){return-1!==t}))),this.barHelpers=new mt(this)}return r(t,[{key:\"draw\",value:function(t,i){var a=this.w,s=new m(this.ctx),r=new y(this.ctx,a);t=r.getLogSeries(t),this.series=t,this.yRatio=r.getLogYRatios(this.yRatio),this.barHelpers.initVariables(t);var o=s.group({class:\"apexcharts-bar-series apexcharts-plot-series\"});a.config.dataLabels.enabled&&this.totalItems>this.barOptions.dataLabels.maxItems&&console.warn(\"WARNING: DataLabels are enabled but there are too many to display. This may cause performance issue when rendering.\");for(var n=0,l=0;n0&&(this.visibleI=this.visibleI+1);var k=0,A=0;this.yRatio.length>1&&(this.yaxisIndex=v),this.isReversed=a.config.yaxis[this.yaxisIndex]&&a.config.yaxis[this.yaxisIndex].reversed;var S=this.barHelpers.initialPositions();f=S.y,k=S.barHeight,c=S.yDivision,g=S.zeroW,u=S.x,A=S.barWidth,h=S.xDivision,d=S.zeroH,this.horizontal||b.push(u+A/2);for(var C=s.group({class:\"apexcharts-datalabels\",\"data:realIndex\":v}),L=s.group({class:\"apexcharts-bar-goals-markers\",style:\"pointer-events: none\"}),P=0;P0&&b.push(u+A/2),p.push(f);var X=this.barHelpers.getPathFillColor(t,n,P,v);this.renderSeries({realIndex:v,pathFill:X,j:P,i:n,pathFrom:M.pathFrom,pathTo:M.pathTo,strokeWidth:T,elSeries:w,x:u,y:f,series:t,barHeight:k,barWidth:A,elDataLabelsWrap:C,elGoalsMarkers:L,visibleSeries:this.visibleI,type:\"bar\"})}a.globals.seriesXvalues[v]=b,a.globals.seriesYvalues[v]=p,o.add(w)}return o}},{key:\"renderSeries\",value:function(t){var e=t.realIndex,i=t.pathFill,a=t.lineFill,s=t.j,r=t.i,o=t.pathFrom,n=t.pathTo,l=t.strokeWidth,h=t.elSeries,c=t.x,d=t.y,g=t.y1,u=t.y2,f=t.series,p=t.barHeight,x=t.barWidth,b=t.barYPosition,y=t.elDataLabelsWrap,w=t.elGoalsMarkers,k=t.visibleSeries,A=t.type,S=this.w,C=new m(this.ctx);a||(a=this.barOptions.distributed?S.globals.stroke.colors[s]:S.globals.stroke.colors[e]),S.config.series[r].data[s]&&S.config.series[r].data[s].strokeColor&&(a=S.config.series[r].data[s].strokeColor),this.isNullValue&&(i=\"none\");var L=s/S.config.chart.animations.animateGradually.delay*(S.config.chart.animations.speed/S.globals.dataPoints)/2.4,P=C.renderPaths({i:r,j:s,realIndex:e,pathFrom:o,pathTo:n,stroke:a,strokeWidth:l,strokeLineCap:S.config.stroke.lineCap,fill:i,animationDelay:L,initialSpeed:S.config.chart.animations.speed,dataChangeSpeed:S.config.chart.animations.dynamicAnimation.speed,className:\"apexcharts-\".concat(A,\"-area\")});P.attr(\"clip-path\",\"url(#gridRectMask\".concat(S.globals.cuid,\")\"));var T=S.config.forecastDataPoints;T.count>0&&s>=S.globals.dataPoints-T.count&&(P.node.setAttribute(\"stroke-dasharray\",T.dashArray),P.node.setAttribute(\"stroke-width\",T.strokeWidth),P.node.setAttribute(\"fill-opacity\",T.fillOpacity)),void 0!==g&&void 0!==u&&(P.attr(\"data-range-y1\",g),P.attr(\"data-range-y2\",u)),new v(this.ctx).setSelectionFilter(P,e,s),h.add(P);var M=new vt(this).handleBarDataLabels({x:c,y:d,y1:g,y2:u,i:r,j:s,series:f,realIndex:e,barHeight:p,barWidth:x,barYPosition:b,renderedPath:P,visibleSeries:k});return null!==M.dataLabels&&y.add(M.dataLabels),M.totalDataLabels&&y.add(M.totalDataLabels),h.add(y),w&&h.add(w),h}},{key:\"drawBarPaths\",value:function(t){var e=t.indexes,i=t.barHeight,a=t.strokeWidth,s=t.zeroW,r=t.x,o=t.y,n=t.yDivision,l=t.elSeries,h=this.w,c=e.i,d=e.j;h.globals.isXNumeric&&(o=(h.globals.seriesX[c][d]-h.globals.minX)/this.invertedXRatio-i);var g=o+i*this.visibleI;r=this.barHelpers.getXForValue(this.series[c][d],s);var u=this.barHelpers.getBarpaths({barYPosition:g,barHeight:i,x1:s,x2:r,strokeWidth:a,series:this.series,realIndex:e.realIndex,i:c,j:d,w:h});return h.globals.isXNumeric||(o+=n),this.barHelpers.barBackground({j:d,i:c,y1:g-i*this.visibleI,y2:i*this.seriesLen,elSeries:l}),{pathTo:u.pathTo,pathFrom:u.pathFrom,x:r,y:o,goalX:this.barHelpers.getGoalValues(\"x\",s,null,c,d),barYPosition:g}}},{key:\"drawColumnPaths\",value:function(t){var e=t.indexes,i=t.x,a=t.y,s=t.xDivision,r=t.barWidth,o=t.zeroH,n=t.strokeWidth,l=t.elSeries,h=this.w,c=e.realIndex,d=e.i,g=e.j,u=e.bc;if(h.globals.isXNumeric){var f=c;h.globals.seriesX[c].length||(f=h.globals.maxValsInArrayIndex),i=(h.globals.seriesX[f][g]-h.globals.minX)/this.xRatio-r*this.seriesLen/2}var p=i+r*this.visibleI;a=this.barHelpers.getYForValue(this.series[d][g],o);var x=this.barHelpers.getColumnPaths({barXPosition:p,barWidth:r,y1:o,y2:a,strokeWidth:n,series:this.series,realIndex:e.realIndex,i:d,j:g,w:h});return h.globals.isXNumeric||(i+=s),this.barHelpers.barBackground({bc:u,j:g,i:d,x1:p-n/2-r*this.visibleI,x2:r*this.seriesLen+n/2,elSeries:l}),{pathTo:x.pathTo,pathFrom:x.pathFrom,x:i,y:a,goalY:this.barHelpers.getGoalValues(\"y\",null,o,d,g),barXPosition:p}}},{key:\"getPreviousPath\",value:function(t,e){for(var i,a=this.w,s=0;s0&&parseInt(r.realIndex,10)===parseInt(t,10)&&void 0!==a.globals.previousPaths[s].paths[e]&&(i=a.globals.previousPaths[s].paths[e].d)}return i}}]),t}(),wt=function(t){n(s,yt);var i=d(s);function s(){return a(this,s),i.apply(this,arguments)}return r(s,[{key:\"draw\",value:function(t,i){var a=this,s=this.w;this.graphics=new m(this.ctx),this.bar=new yt(this.ctx,this.xyRatios);var r=new y(this.ctx,s);t=r.getLogSeries(t),this.yRatio=r.getLogYRatios(this.yRatio),this.barHelpers.initVariables(t),\"100%\"===s.config.chart.stackType&&(t=s.globals.seriesPercent.slice()),this.series=t,this.totalItems=0,this.prevY=[],this.prevX=[],this.prevYF=[],this.prevXF=[],this.prevYVal=[],this.prevXVal=[],this.xArrj=[],this.xArrjF=[],this.xArrjVal=[],this.yArrj=[],this.yArrjF=[],this.yArrjVal=[];for(var o=0;o0&&(this.totalItems+=t[o].length);for(var n=this.graphics.group({class:\"apexcharts-bar-series apexcharts-plot-series\"}),l=0,h=0,c=function(r,o){var c=void 0,d=void 0,g=void 0,u=void 0,f=[],p=[],b=s.globals.comboCharts?i[r]:r;a.yRatio.length>1&&(a.yaxisIndex=b),a.isReversed=s.config.yaxis[a.yaxisIndex]&&s.config.yaxis[a.yaxisIndex].reversed;var v=a.graphics.group({class:\"apexcharts-series\",seriesName:x.escapeString(s.globals.seriesNames[b]),rel:r+1,\"data:realIndex\":b});a.ctx.series.addCollapsedClassToSeries(v,b);var m=a.graphics.group({class:\"apexcharts-datalabels\",\"data:realIndex\":b}),y=a.graphics.group({class:\"apexcharts-bar-goals-markers\",style:\"pointer-events: none\"}),w=0,k=0,A=a.initialPositions(l,h,c,d,g,u);h=A.y,w=A.barHeight,d=A.yDivision,u=A.zeroW,l=A.x,k=A.barWidth,c=A.xDivision,g=A.zeroH,a.yArrj=[],a.yArrjF=[],a.yArrjVal=[],a.xArrj=[],a.xArrjF=[],a.xArrjVal=[],1===a.prevY.length&&a.prevY[0].every((function(t){return isNaN(t)}))&&(a.prevY[0]=a.prevY[0].map((function(t){return g})),a.prevYF[0]=a.prevYF[0].map((function(t){return 0})));for(var S=0;S1?(i=l.globals.minXDiff/this.xRatio)*parseInt(this.barOptions.columnWidth,10)/100:n*parseInt(l.config.plotOptions.bar.columnWidth,10)/100,s=l.globals.gridHeight-this.baseLineY[this.yaxisIndex]-(this.isReversed?l.globals.gridHeight:0)+(this.isReversed?2*this.baseLineY[this.yaxisIndex]:0),t=l.globals.padHorizontal+(i-n)/2),{x:t,y:e,yDivision:a,xDivision:i,barHeight:o,barWidth:n,zeroH:s,zeroW:r}}},{key:\"drawStackedBarPaths\",value:function(t){for(var e,i=t.indexes,a=t.barHeight,s=t.strokeWidth,r=t.zeroW,o=t.x,n=t.y,l=t.yDivision,h=t.elSeries,c=this.w,d=n,g=i.i,u=i.j,f=0,p=0;p0){var x=r;this.prevXVal[g-1][u]<0?x=this.series[g][u]>=0?this.prevX[g-1][u]+f-2*(this.isReversed?f:0):this.prevX[g-1][u]:this.prevXVal[g-1][u]>=0&&(x=this.series[g][u]>=0?this.prevX[g-1][u]:this.prevX[g-1][u]-f+2*(this.isReversed?f:0)),e=x}else e=r;o=null===this.series[g][u]?e:e+this.series[g][u]/this.invertedYRatio-2*(this.isReversed?this.series[g][u]/this.invertedYRatio:0);var b=this.barHelpers.getBarpaths({barYPosition:d,barHeight:a,x1:e,x2:o,strokeWidth:s,series:this.series,realIndex:i.realIndex,i:g,j:u,w:c});return this.barHelpers.barBackground({j:u,i:g,y1:d,y2:a,elSeries:h}),n+=l,{pathTo:b.pathTo,pathFrom:b.pathFrom,goalX:this.barHelpers.getGoalValues(\"x\",r,null,g,u),barYPosition:d,x:o,y:n}}},{key:\"drawStackedColumnPaths\",value:function(t){var e=t.indexes,i=t.x,a=t.y,s=t.xDivision,r=t.barWidth,o=t.zeroH;t.strokeWidth;var n=t.elSeries,l=this.w,h=e.i,c=e.j,d=e.bc;if(l.globals.isXNumeric){var g=l.globals.seriesX[h][c];g||(g=0),i=(g-l.globals.minX)/this.xRatio-r/2}for(var u,f=i,p=0,x=0;x0&&!l.globals.isXNumeric||h>0&&l.globals.isXNumeric&&l.globals.seriesX[h-1][c]===l.globals.seriesX[h][c]){var b,v,m=Math.min(this.yRatio.length+1,h+1);if(void 0!==this.prevY[h-1])for(var y=1;y=0?v-p+2*(this.isReversed?p:0):v;break}if(this.prevYVal[h-w][c]>=0){b=this.series[h][c]>=0?v:v+p-2*(this.isReversed?p:0);break}}void 0===b&&(b=l.globals.gridHeight),u=this.prevYF[0].every((function(t){return 0===t}))&&this.prevYF.slice(1,h).every((function(t){return t.every((function(t){return isNaN(t)}))}))?o:b}else u=o;a=u-this.series[h][c]/this.yRatio[this.yaxisIndex]+2*(this.isReversed?this.series[h][c]/this.yRatio[this.yaxisIndex]:0);var k=this.barHelpers.getColumnPaths({barXPosition:f,barWidth:r,y1:u,y2:a,yRatio:this.yRatio[this.yaxisIndex],strokeWidth:this.strokeWidth,series:this.series,realIndex:e.realIndex,i:h,j:c,w:l});return this.barHelpers.barBackground({bc:d,j:c,i:h,x1:f,x2:r,elSeries:n}),i+=s,{pathTo:k.pathTo,pathFrom:k.pathFrom,goalY:this.barHelpers.getGoalValues(\"y\",null,o,h,c),barXPosition:f,x:l.globals.isXNumeric?i-s:i,y:a}}}]),s}(),kt=function(t){n(s,yt);var i=d(s);function s(){return a(this,s),i.apply(this,arguments)}return r(s,[{key:\"draw\",value:function(t,i){var a=this,s=this.w,r=new m(this.ctx),o=new F(this.ctx);this.candlestickOptions=this.w.config.plotOptions.candlestick,this.boxOptions=this.w.config.plotOptions.boxPlot,this.isHorizontal=s.config.plotOptions.bar.horizontal;var n=new y(this.ctx,s);t=n.getLogSeries(t),this.series=t,this.yRatio=n.getLogYRatios(this.yRatio),this.barHelpers.initVariables(t);for(var l=r.group({class:\"apexcharts-\".concat(s.config.chart.type,\"-series apexcharts-plot-series\")}),h=function(n){a.isBoxPlot=\"boxPlot\"===s.config.chart.type||\"boxPlot\"===s.config.series[n].type;var h,c,d,g,u=void 0,f=void 0,p=[],b=[],v=s.globals.comboCharts?i[n]:n,m=r.group({class:\"apexcharts-series\",seriesName:x.escapeString(s.globals.seriesNames[v]),rel:n+1,\"data:realIndex\":v});a.ctx.series.addCollapsedClassToSeries(m,v),t[n].length>0&&(a.visibleI=a.visibleI+1);var y,w;a.yRatio.length>1&&(a.yaxisIndex=v);var k=a.barHelpers.initialPositions();f=k.y,y=k.barHeight,c=k.yDivision,g=k.zeroW,u=k.x,w=k.barWidth,h=k.xDivision,d=k.zeroH,b.push(u+w/2);for(var A=r.group({class:\"apexcharts-datalabels\",\"data:realIndex\":v}),S=function(i){var r=a.barHelpers.getStrokeWidth(n,i,v),l=null,x={indexes:{i:n,j:i,realIndex:v},x:u,y:f,strokeWidth:r,elSeries:m};l=a.isHorizontal?a.drawHorizontalBoxPaths(e(e({},x),{},{yDivision:c,barHeight:y,zeroW:g})):a.drawVerticalBoxPaths(e(e({},x),{},{xDivision:h,barWidth:w,zeroH:d})),f=l.y,u=l.x,i>0&&b.push(u+w/2),p.push(f),l.pathTo.forEach((function(e,h){var c=!a.isBoxPlot&&a.candlestickOptions.wick.useFillColor?l.color[h]:s.globals.stroke.colors[n],d=o.fillPath({seriesNumber:v,dataPointIndex:i,color:l.color[h],value:t[n][i]});a.renderSeries({realIndex:v,pathFill:d,lineFill:c,j:i,i:n,pathFrom:l.pathFrom,pathTo:e,strokeWidth:r,elSeries:m,x:u,y:f,series:t,barHeight:y,barWidth:w,elDataLabelsWrap:A,visibleSeries:a.visibleI,type:s.config.chart.type})}))},C=0;Cb.c&&(d=!1);var w=Math.min(b.o,b.c),k=Math.max(b.o,b.c),A=b.m;n.globals.isXNumeric&&(i=(n.globals.seriesX[x][c]-n.globals.minX)/this.xRatio-s/2);var S=i+s*this.visibleI;void 0===this.series[h][c]||null===this.series[h][c]?(w=r,k=r):(w=r-w/p,k=r-k/p,v=r-b.h/p,y=r-b.l/p,A=r-b.m/p);var C=l.move(S,r),L=l.move(S+s/2,w);return n.globals.previousPaths.length>0&&(L=this.getPreviousPath(x,c,!0)),C=this.isBoxPlot?[l.move(S,w)+l.line(S+s/2,w)+l.line(S+s/2,v)+l.line(S+s/4,v)+l.line(S+s-s/4,v)+l.line(S+s/2,v)+l.line(S+s/2,w)+l.line(S+s,w)+l.line(S+s,A)+l.line(S,A)+l.line(S,w+o/2),l.move(S,A)+l.line(S+s,A)+l.line(S+s,k)+l.line(S+s/2,k)+l.line(S+s/2,y)+l.line(S+s-s/4,y)+l.line(S+s/4,y)+l.line(S+s/2,y)+l.line(S+s/2,k)+l.line(S,k)+l.line(S,A)+\"z\"]:[l.move(S,k)+l.line(S+s/2,k)+l.line(S+s/2,v)+l.line(S+s/2,k)+l.line(S+s,k)+l.line(S+s,w)+l.line(S+s/2,w)+l.line(S+s/2,y)+l.line(S+s/2,w)+l.line(S,w)+l.line(S,k-o/2)],L+=l.move(S,w),n.globals.isXNumeric||(i+=a),{pathTo:C,pathFrom:L,x:i,y:k,barXPosition:S,color:this.isBoxPlot?f:d?[g]:[u]}}},{key:\"drawHorizontalBoxPaths\",value:function(t){var e=t.indexes;t.x;var i=t.y,a=t.yDivision,s=t.barHeight,r=t.zeroW,o=t.strokeWidth,n=this.w,l=new m(this.ctx),h=e.i,c=e.j,d=this.boxOptions.colors.lower;this.isBoxPlot&&(d=[this.boxOptions.colors.lower,this.boxOptions.colors.upper]);var g=this.invertedYRatio,u=e.realIndex,f=this.getOHLCValue(u,c),p=r,x=r,b=Math.min(f.o,f.c),v=Math.max(f.o,f.c),y=f.m;n.globals.isXNumeric&&(i=(n.globals.seriesX[u][c]-n.globals.minX)/this.invertedXRatio-s/2);var w=i+s*this.visibleI;void 0===this.series[h][c]||null===this.series[h][c]?(b=r,v=r):(b=r+b/g,v=r+v/g,p=r+f.h/g,x=r+f.l/g,y=r+f.m/g);var k=l.move(r,w),A=l.move(b,w+s/2);return n.globals.previousPaths.length>0&&(A=this.getPreviousPath(u,c,!0)),k=[l.move(b,w)+l.line(b,w+s/2)+l.line(p,w+s/2)+l.line(p,w+s/2-s/4)+l.line(p,w+s/2+s/4)+l.line(p,w+s/2)+l.line(b,w+s/2)+l.line(b,w+s)+l.line(y,w+s)+l.line(y,w)+l.line(b+o/2,w),l.move(y,w)+l.line(y,w+s)+l.line(v,w+s)+l.line(v,w+s/2)+l.line(x,w+s/2)+l.line(x,w+s-s/4)+l.line(x,w+s/4)+l.line(x,w+s/2)+l.line(v,w+s/2)+l.line(v,w)+l.line(y,w)+\"z\"],A+=l.move(b,w),n.globals.isXNumeric||(i+=a),{pathTo:k,pathFrom:A,x:v,y:i,barYPosition:w,color:d}}},{key:\"getOHLCValue\",value:function(t,e){var i=this.w;return{o:this.isBoxPlot?i.globals.seriesCandleH[t][e]:i.globals.seriesCandleO[t][e],h:this.isBoxPlot?i.globals.seriesCandleO[t][e]:i.globals.seriesCandleH[t][e],m:i.globals.seriesCandleM[t][e],l:this.isBoxPlot?i.globals.seriesCandleC[t][e]:i.globals.seriesCandleL[t][e],c:this.isBoxPlot?i.globals.seriesCandleL[t][e]:i.globals.seriesCandleC[t][e]}}}]),s}(),At=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:\"checkColorRange\",value:function(){var t=this.w,e=!1,i=t.config.plotOptions[t.config.chart.type];return i.colorScale.ranges.length>0&&i.colorScale.ranges.map((function(t,i){t.from<=0&&(e=!0)})),e}},{key:\"getShadeColor\",value:function(t,e,i,a){var s=this.w,r=1,o=s.config.plotOptions[t].shadeIntensity,n=this.determineColor(t,e,i);s.globals.hasNegs||a?r=s.config.plotOptions[t].reverseNegativeShade?n.percent<0?n.percent/100*(1.25*o):(1-n.percent/100)*(1.25*o):n.percent<=0?1-(1+n.percent/100)*o:(1-n.percent/100)*o:(r=1-n.percent/100,\"treemap\"===t&&(r=(1-n.percent/100)*(1.25*o)));var l=n.color,h=new x;return s.config.plotOptions[t].enableShades&&(l=\"dark\"===this.w.config.theme.mode?x.hexToRgba(h.shadeColor(-1*r,n.color),s.config.fill.opacity):x.hexToRgba(h.shadeColor(r,n.color),s.config.fill.opacity)),{color:l,colorProps:n}}},{key:\"determineColor\",value:function(t,e,i){var a=this.w,s=a.globals.series[e][i],r=a.config.plotOptions[t],o=r.colorScale.inverse?i:e;r.distributed&&\"treemap\"===a.config.chart.type&&(o=i);var n=a.globals.colors[o],l=null,h=Math.min.apply(Math,u(a.globals.series[e])),c=Math.max.apply(Math,u(a.globals.series[e]));r.distributed||\"heatmap\"!==t||(h=a.globals.minY,c=a.globals.maxY),void 0!==r.colorScale.min&&(h=r.colorScale.mina.globals.maxY?r.colorScale.max:a.globals.maxY);var d=Math.abs(c)+Math.abs(h),g=100*s/(0===d?d-1e-6:d);r.colorScale.ranges.length>0&&r.colorScale.ranges.map((function(t,e){if(s>=t.from&&s<=t.to){n=t.color,l=t.foreColor?t.foreColor:null,h=t.from,c=t.to;var i=Math.abs(c)+Math.abs(h);g=100*s/(0===i?i-1e-6:i)}}));return{color:n,foreColor:l,percent:g}}},{key:\"calculateDataLabels\",value:function(t){var e=t.text,i=t.x,a=t.y,s=t.i,r=t.j,o=t.colorProps,n=t.fontSize,l=this.w.config.dataLabels,h=new m(this.ctx),c=new H(this.ctx),d=null;if(l.enabled){d=h.group({class:\"apexcharts-data-labels\"});var g=l.offsetX,u=l.offsetY,f=i+g,p=a+parseFloat(l.style.fontSize)/3+u;c.plotDataLabelsText({x:f,y:p,text:e,i:s,j:r,color:o.foreColor,parent:d,fontSize:n,dataLabelsConfig:l})}return d}},{key:\"addListeners\",value:function(t){var e=new m(this.ctx);t.node.addEventListener(\"mouseenter\",e.pathMouseEnter.bind(this,t)),t.node.addEventListener(\"mouseleave\",e.pathMouseLeave.bind(this,t)),t.node.addEventListener(\"mousedown\",e.pathMouseDown.bind(this,t))}}]),t}(),St=function(){function t(e,i){a(this,t),this.ctx=e,this.w=e.w,this.xRatio=i.xRatio,this.yRatio=i.yRatio,this.dynamicAnim=this.w.config.chart.animations.dynamicAnimation,this.helpers=new At(e),this.rectRadius=this.w.config.plotOptions.heatmap.radius,this.strokeWidth=this.w.config.stroke.show?this.w.config.stroke.width:0}return r(t,[{key:\"draw\",value:function(t){var e=this.w,i=new m(this.ctx),a=i.group({class:\"apexcharts-heatmap\"});a.attr(\"clip-path\",\"url(#gridRectMask\".concat(e.globals.cuid,\")\"));var s=e.globals.gridWidth/e.globals.dataPoints,r=e.globals.gridHeight/e.globals.series.length,o=0,n=!1;this.negRange=this.helpers.checkColorRange();var l=t.slice();e.config.yaxis[0].reversed&&(n=!0,l.reverse());for(var h=n?0:l.length-1;n?h=0;n?h++:h--){var c=i.group({class:\"apexcharts-series apexcharts-heatmap-series\",seriesName:x.escapeString(e.globals.seriesNames[h]),rel:h+1,\"data:realIndex\":h});if(this.ctx.series.addCollapsedClassToSeries(c,h),e.config.chart.dropShadow.enabled){var d=e.config.chart.dropShadow;new v(this.ctx).dropShadow(c,d,h)}for(var g=0,u=e.config.plotOptions.heatmap.shadeIntensity,f=0;f-1&&this.pieClicked(d),i.config.dataLabels.enabled){var A=w.x,S=w.y,C=100*u/this.fullAngle+\"%\";if(0!==u&&i.config.plotOptions.pie.dataLabels.minAngleToShowLabelthis.fullAngle?e.endAngle=e.endAngle-(a+o):a+o=this.fullAngle+this.w.config.plotOptions.pie.startAngle%this.fullAngle&&(n=this.fullAngle+this.w.config.plotOptions.pie.startAngle%this.fullAngle-.01),Math.ceil(n)>this.fullAngle&&(n-=this.fullAngle);var l=Math.PI*(n-90)/180,h=e.centerX+s*Math.cos(o),c=e.centerY+s*Math.sin(o),d=e.centerX+s*Math.cos(l),g=e.centerY+s*Math.sin(l),u=x.polarToCartesian(e.centerX,e.centerY,e.donutSize,n),f=x.polarToCartesian(e.centerX,e.centerY,e.donutSize,r),p=a>180?1:0,b=[\"M\",h,c,\"A\",s,s,0,p,1,d,g];return\"donut\"===e.chartType?[].concat(b,[\"L\",u.x,u.y,\"A\",e.donutSize,e.donutSize,0,p,0,f.x,f.y,\"L\",h,c,\"z\"]).join(\" \"):\"pie\"===e.chartType||\"polarArea\"===e.chartType?[].concat(b,[\"L\",e.centerX,e.centerY,\"L\",h,c]).join(\" \"):[].concat(b).join(\" \")}},{key:\"drawPolarElements\",value:function(t){var e=this.w,i=new _(this.ctx),a=new m(this.ctx),s=new Ct(this.ctx),r=a.group(),o=a.group(),n=i.niceScale(0,Math.ceil(this.maxY),e.config.yaxis[0].tickAmount,0,!0),l=n.result.reverse(),h=n.result.length;this.maxY=n.niceMax;for(var c=e.globals.radialSize,d=c/(h-1),g=0;g1&&t.total.show&&(s=t.total.color);var o=r.globals.dom.baseEl.querySelector(\".apexcharts-datalabel-label\"),n=r.globals.dom.baseEl.querySelector(\".apexcharts-datalabel-value\");i=(0,t.value.formatter)(i,r),a||\"function\"!=typeof t.total.formatter||(i=t.total.formatter(r));var l=e===t.total.label;e=t.name.formatter(e,l,r),null!==o&&(o.textContent=e),null!==n&&(n.textContent=i),null!==o&&(o.style.fill=s)}},{key:\"printDataLabelsInner\",value:function(t,e){var i=this.w,a=t.getAttribute(\"data:value\"),s=i.globals.seriesNames[parseInt(t.parentNode.getAttribute(\"rel\"),10)-1];i.globals.series.length>1&&this.printInnerLabels(e,s,a,t);var r=i.globals.dom.baseEl.querySelector(\".apexcharts-datalabels-group\");null!==r&&(r.style.opacity=1)}},{key:\"drawSpokes\",value:function(t){var e=this,i=this.w,a=new m(this.ctx),s=i.config.plotOptions.polarArea.spokes;if(0!==s.strokeWidth){for(var r=[],o=360/i.globals.series.length,n=0;n1)o&&!e.total.showAlways?l({makeSliceOut:!1,printLabel:!0}):this.printInnerLabels(e,e.total.label,e.total.formatter(s));else if(l({makeSliceOut:!1,printLabel:!0}),!o)if(s.globals.selectedDataPoints.length&&s.globals.series.length>1)if(s.globals.selectedDataPoints[0].length>0){var h=s.globals.selectedDataPoints[0],c=s.globals.dom.baseEl.querySelector(\".apexcharts-\".concat(this.chartType.toLowerCase(),\"-slice-\").concat(h));this.printDataLabelsInner(c,e)}else r&&s.globals.selectedDataPoints.length&&0===s.globals.selectedDataPoints[0].length&&(r.style.opacity=0);else r&&s.globals.series.length>1&&(r.style.opacity=0)}}]),t}(),Pt=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.chartType=this.w.config.chart.type,this.initialAnim=this.w.config.chart.animations.enabled,this.dynamicAnim=this.initialAnim&&this.w.config.chart.animations.dynamicAnimation.enabled,this.animDur=0;var i=this.w;this.graphics=new m(this.ctx),this.lineColorArr=void 0!==i.globals.stroke.colors?i.globals.stroke.colors:i.globals.colors,this.defaultSize=i.globals.svgHeight0&&(p=i.getPreviousPath(n));for(var b=0;b=10?t.x>0?(i=\"start\",a+=10):t.x<0&&(i=\"end\",a-=10):i=\"middle\",Math.abs(t.y)>=e-10&&(t.y<0?s-=10:t.y>0&&(s+=10)),{textAnchor:i,newX:a,newY:s}}},{key:\"getPreviousPath\",value:function(t){for(var e=this.w,i=null,a=0;a0&&parseInt(s.realIndex,10)===parseInt(t,10)&&void 0!==e.globals.previousPaths[a].paths[0]&&(i=e.globals.previousPaths[a].paths[0].d)}return i}},{key:\"getDataPointsPos\",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.dataPointsLen;t=t||[],e=e||[];for(var a=[],s=0;s=360&&(g=360-Math.abs(this.startAngle)-.1);var u=i.drawPath({d:\"\",stroke:c,strokeWidth:o*parseInt(h.strokeWidth,10)/100,fill:\"none\",strokeOpacity:h.opacity,classes:\"apexcharts-radialbar-area\"});if(h.dropShadow.enabled){var f=h.dropShadow;s.dropShadow(u,f)}l.add(u),u.attr(\"id\",\"apexcharts-radialbarTrack-\"+n),this.animatePaths(u,{centerX:t.centerX,centerY:t.centerY,endAngle:g,startAngle:d,size:t.size,i:n,totalItems:2,animBeginArr:0,dur:0,isTrack:!0,easing:e.globals.easing})}return a}},{key:\"drawArcs\",value:function(t){var e=this.w,i=new m(this.ctx),a=new F(this.ctx),s=new v(this.ctx),r=i.group(),o=this.getStrokeWidth(t);t.size=t.size-o/2;var n=e.config.plotOptions.radialBar.hollow.background,l=t.size-o*t.series.length-this.margin*t.series.length-o*parseInt(e.config.plotOptions.radialBar.track.strokeWidth,10)/100/2,h=l-e.config.plotOptions.radialBar.hollow.margin;void 0!==e.config.plotOptions.radialBar.hollow.image&&(n=this.drawHollowImage(t,r,l,n));var c=this.drawHollow({size:h,centerX:t.centerX,centerY:t.centerY,fill:n||\"transparent\"});if(e.config.plotOptions.radialBar.hollow.dropShadow.enabled){var d=e.config.plotOptions.radialBar.hollow.dropShadow;s.dropShadow(c,d)}var g=1;!this.radialDataLabels.total.show&&e.globals.series.length>1&&(g=0);var u=null;this.radialDataLabels.show&&(u=this.renderInnerDataLabels(this.radialDataLabels,{hollowSize:l,centerX:t.centerX,centerY:t.centerY,opacity:g})),\"back\"===e.config.plotOptions.radialBar.hollow.position&&(r.add(c),u&&r.add(u));var f=!1;e.config.plotOptions.radialBar.inverseOrder&&(f=!0);for(var p=f?t.series.length-1:0;f?p>=0:p100?100:t.series[p])/100,S=Math.round(this.totalAngle*A)+this.startAngle,C=void 0;e.globals.dataChanged&&(k=this.startAngle,C=Math.round(this.totalAngle*x.negToZero(e.globals.previousPaths[p])/100)+k),Math.abs(S)+Math.abs(w)>=360&&(S-=.01),Math.abs(C)+Math.abs(k)>=360&&(C-=.01);var L=S-w,P=Array.isArray(e.config.stroke.dashArray)?e.config.stroke.dashArray[p]:e.config.stroke.dashArray,T=i.drawPath({d:\"\",stroke:y,strokeWidth:o,fill:\"none\",fillOpacity:e.config.fill.opacity,classes:\"apexcharts-radialbar-area apexcharts-radialbar-slice-\"+p,strokeDashArray:P});if(m.setAttrs(T.node,{\"data:angle\":L,\"data:value\":t.series[p]}),e.config.chart.dropShadow.enabled){var M=e.config.chart.dropShadow;s.dropShadow(T,M,p)}s.setSelectionFilter(T,0,p),this.addListeners(T,this.radialDataLabels),b.add(T),T.attr({index:0,j:p});var I=0;!this.initialAnim||e.globals.resized||e.globals.dataChanged||(I=e.config.chart.animations.speed),e.globals.dataChanged&&(I=e.config.chart.animations.dynamicAnimation.speed),this.animDur=I/(1.2*t.series.length)+this.animDur,this.animBeginArr.push(this.animDur),this.animatePaths(T,{centerX:t.centerX,centerY:t.centerY,endAngle:S,startAngle:w,prevEndAngle:C,prevStartAngle:k,size:t.size,i:p,totalItems:2,animBeginArr:this.animBeginArr,dur:I,shouldSetPrevPaths:!0,easing:e.globals.easing})}return{g:r,elHollow:c,dataLabels:u}}},{key:\"drawHollow\",value:function(t){var e=new m(this.ctx).drawCircle(2*t.size);return e.attr({class:\"apexcharts-radialbar-hollow\",cx:t.centerX,cy:t.centerY,r:t.size,fill:t.fill}),e}},{key:\"drawHollowImage\",value:function(t,e,i,a){var s=this.w,r=new F(this.ctx),o=x.randomId(),n=s.config.plotOptions.radialBar.hollow.image;if(s.config.plotOptions.radialBar.hollow.imageClipped)r.clippedImgArea({width:i,height:i,image:n,patternID:\"pattern\".concat(s.globals.cuid).concat(o)}),a=\"url(#pattern\".concat(s.globals.cuid).concat(o,\")\");else{var l=s.config.plotOptions.radialBar.hollow.imageWidth,h=s.config.plotOptions.radialBar.hollow.imageHeight;if(void 0===l&&void 0===h){var c=s.globals.dom.Paper.image(n).loaded((function(e){this.move(t.centerX-e.width/2+s.config.plotOptions.radialBar.hollow.imageOffsetX,t.centerY-e.height/2+s.config.plotOptions.radialBar.hollow.imageOffsetY)}));e.add(c)}else{var d=s.globals.dom.Paper.image(n).loaded((function(e){this.move(t.centerX-l/2+s.config.plotOptions.radialBar.hollow.imageOffsetX,t.centerY-h/2+s.config.plotOptions.radialBar.hollow.imageOffsetY),this.size(l,h)}));e.add(d)}}return a}},{key:\"getStrokeWidth\",value:function(t){var e=this.w;return t.size*(100-parseInt(e.config.plotOptions.radialBar.hollow.size,10))/100/(t.series.length+1)-this.margin}}]),i}(),Mt=function(t){n(s,yt);var i=d(s);function s(){return a(this,s),i.apply(this,arguments)}return r(s,[{key:\"draw\",value:function(t,i){var a=this.w,s=new m(this.ctx);this.rangeBarOptions=this.w.config.plotOptions.rangeBar,this.series=t,this.seriesRangeStart=a.globals.seriesRangeStart,this.seriesRangeEnd=a.globals.seriesRangeEnd,this.barHelpers.initVariables(t);for(var r=s.group({class:\"apexcharts-rangebar-series apexcharts-plot-series\"}),o=0;o0&&(this.visibleI=this.visibleI+1);var p=0,b=0;this.yRatio.length>1&&(this.yaxisIndex=u);var v=this.barHelpers.initialPositions();d=v.y,h=v.zeroW,c=v.x,b=v.barWidth,n=v.xDivision,l=v.zeroH;for(var y=s.group({class:\"apexcharts-datalabels\",\"data:realIndex\":u}),w=s.group({class:\"apexcharts-rangebar-goals-markers\",style:\"pointer-events: none\"}),k=0;k0}));return a=l.config.plotOptions.bar.rangeBarGroupRows?s+o*g:s+r*this.visibleI+o*g,u>-1&&!l.config.plotOptions.bar.rangeBarOverlap&&(h=l.globals.seriesRange[e][u].overlaps).indexOf(c)>-1&&(a=(r=n.barHeight/h.length)*this.visibleI+o*(100-parseInt(this.barOptions.barHeight,10))/100/2+r*(this.visibleI+h.indexOf(c))+o*g),{barYPosition:a,barHeight:r}}},{key:\"drawRangeColumnPaths\",value:function(t){var e=t.indexes,i=t.x;t.strokeWidth;var a=t.xDivision,s=t.barWidth,r=t.zeroH,o=this.w,n=e.i,l=e.j,h=this.yRatio[this.yaxisIndex],c=e.realIndex,d=this.getRangeValue(c,l),g=Math.min(d.start,d.end),u=Math.max(d.start,d.end);o.globals.isXNumeric&&(i=(o.globals.seriesX[n][l]-o.globals.minX)/this.xRatio-s/2);var f=i+s*this.visibleI;void 0===this.series[n][l]||null===this.series[n][l]?g=r:(g=r-g/h,u=r-u/h);var p=Math.abs(u-g),x=this.barHelpers.getColumnPaths({barXPosition:f,barWidth:s,y1:g,y2:u,strokeWidth:this.strokeWidth,series:this.seriesRangeEnd,realIndex:e.realIndex,i:c,j:l,w:o});return o.globals.isXNumeric||(i+=a),{pathTo:x.pathTo,pathFrom:x.pathFrom,barHeight:p,x:i,y:u,goalY:this.barHelpers.getGoalValues(\"y\",null,r,n,l),barXPosition:f}}},{key:\"drawRangeBarPaths\",value:function(t){var e=t.indexes,i=t.y,a=t.y1,s=t.y2,r=t.yDivision,o=t.barHeight,n=t.barYPosition,l=t.zeroW,h=this.w,c=l+a/this.invertedYRatio,d=l+s/this.invertedYRatio,g=Math.abs(d-c),u=this.barHelpers.getBarpaths({barYPosition:n,barHeight:o,x1:c,x2:d,strokeWidth:this.strokeWidth,series:this.seriesRangeEnd,i:e.realIndex,realIndex:e.realIndex,j:e.j,w:h});return h.globals.isXNumeric||(i+=r),{pathTo:u.pathTo,pathFrom:u.pathFrom,barWidth:g,x:d,goalX:this.barHelpers.getGoalValues(\"x\",l,null,e.realIndex,e.j),y:i}}},{key:\"getRangeValue\",value:function(t,e){var i=this.w;return{start:i.globals.seriesRangeStart[t][e],end:i.globals.seriesRangeEnd[t][e]}}}]),s}(),It=function(){function t(e){a(this,t),this.w=e.w,this.lineCtx=e}return r(t,[{key:\"sameValueSeriesFix\",value:function(t,e){var i=this.w;if((\"gradient\"===i.config.fill.type||\"gradient\"===i.config.fill.type[t])&&new y(this.lineCtx.ctx,i).seriesHaveSameValues(t)){var a=e[t].slice();a[a.length-1]=a[a.length-1]+1e-6,e[t]=a}return e}},{key:\"calculatePoints\",value:function(t){var e=t.series,i=t.realIndex,a=t.x,s=t.y,r=t.i,o=t.j,n=t.prevY,l=this.w,h=[],c=[];if(0===o){var d=this.lineCtx.categoryAxisCorrection+l.config.markers.offsetX;l.globals.isXNumeric&&(d=(l.globals.seriesX[i][0]-l.globals.minX)/this.lineCtx.xRatio+l.config.markers.offsetX),h.push(d),c.push(x.isNumber(e[r][0])?n+l.config.markers.offsetY:null),h.push(a+l.config.markers.offsetX),c.push(x.isNumber(e[r][o+1])?s+l.config.markers.offsetY:null)}else h.push(a+l.config.markers.offsetX),c.push(x.isNumber(e[r][o+1])?s+l.config.markers.offsetY:null);return{x:h,y:c}}},{key:\"checkPreviousPaths\",value:function(t){for(var e=t.pathFromLine,i=t.pathFromArea,a=t.realIndex,s=this.w,r=0;r0&&parseInt(o.realIndex,10)===parseInt(a,10)&&(\"line\"===o.type?(this.lineCtx.appendPathFrom=!1,e=s.globals.previousPaths[r].paths[0].d):\"area\"===o.type&&(this.lineCtx.appendPathFrom=!1,i=s.globals.previousPaths[r].paths[0].d,s.config.stroke.show&&s.globals.previousPaths[r].paths[1]&&(e=s.globals.previousPaths[r].paths[1].d)))}return{pathFromLine:e,pathFromArea:i}}},{key:\"determineFirstPrevY\",value:function(t){var e,i=t.i,a=t.series,s=t.prevY,r=t.lineYPosition,o=this.w;if(void 0!==(null===(e=a[i])||void 0===e?void 0:e[0]))s=(r=o.config.chart.stacked&&i>0?this.lineCtx.prevSeriesY[i-1][0]:this.lineCtx.zeroY)-a[i][0]/this.lineCtx.yRatio[this.lineCtx.yaxisIndex]+2*(this.lineCtx.isReversed?a[i][0]/this.lineCtx.yRatio[this.lineCtx.yaxisIndex]:0);else if(o.config.chart.stacked&&i>0&&void 0===a[i][0])for(var n=i-1;n>=0;n--)if(null!==a[n][0]&&void 0!==a[n][0]){s=r=this.lineCtx.prevSeriesY[n][0];break}return{prevY:s,lineYPosition:r}}}]),t}(),zt=function(){function t(e,i,s){a(this,t),this.ctx=e,this.w=e.w,this.xyRatios=i,this.pointsChart=!(\"bubble\"!==this.w.config.chart.type&&\"scatter\"!==this.w.config.chart.type)||s,this.scatter=new D(this.ctx),this.noNegatives=this.w.globals.minX===Number.MAX_VALUE,this.lineHelpers=new It(this),this.markers=new R(this.ctx),this.prevSeriesY=[],this.categoryAxisCorrection=0,this.yaxisIndex=0}return r(t,[{key:\"draw\",value:function(t,i,a,s){var r=this.w,o=new m(this.ctx),n=r.globals.comboCharts?i:r.config.chart.type,l=o.group({class:\"apexcharts-\".concat(n,\"-series apexcharts-plot-series\")}),h=new y(this.ctx,r);this.yRatio=this.xyRatios.yRatio,this.zRatio=this.xyRatios.zRatio,this.xRatio=this.xyRatios.xRatio,this.baseLineY=this.xyRatios.baseLineY,t=h.getLogSeries(t),this.yRatio=h.getLogYRatios(this.yRatio);for(var c=[],d=0;d0&&(p=(r.globals.seriesX[g][0]-r.globals.minX)/this.xRatio),f.push(p);var x,b=p,v=void 0,w=b,k=this.zeroY,A=this.zeroY;k=this.lineHelpers.determineFirstPrevY({i:d,series:t,prevY:k,lineYPosition:0}).prevY,u.push(k),x=k;\"rangeArea\"===n&&(v=A=this.lineHelpers.determineFirstPrevY({i:d,series:s,prevY:A,lineYPosition:0}).prevY);var S={type:n,series:t,realIndex:g,i:d,x:p,y:1,pX:b,pY:x,pathsFrom:this._calculatePathsFrom({type:n,series:t,i:d,realIndex:g,prevX:w,prevY:k,prevY2:A}),linePaths:[],areaPaths:[],seriesIndex:a,lineYPosition:0,xArrj:f,yArrj:u,seriesRangeEnd:s},C=this._iterateOverDataPoints(e(e({},S),{},{iterations:\"rangeArea\"===n?t[d].length-1:void 0,isRangeStart:!0}));if(\"rangeArea\"===n){var L=this._calculatePathsFrom({series:s,i:d,realIndex:g,prevX:w,prevY:A}),P=this._iterateOverDataPoints(e(e({},S),{},{series:s,pY:v,pathsFrom:L,iterations:s[d].length-1,isRangeStart:!1}));C.linePaths[0]=P.linePath+C.linePath,C.pathFromLine=P.pathFromLine+C.pathFromLine}this._handlePaths({type:n,realIndex:g,i:d,paths:C}),this.elSeries.add(this.elPointsMain),this.elSeries.add(this.elDataLabelsWrap),c.push(this.elSeries)}if(r.config.chart.stacked)for(var T=c.length;T>0;T--)l.add(c[T-1]);else for(var M=0;M1&&(this.yaxisIndex=i),this.isReversed=a.config.yaxis[this.yaxisIndex]&&a.config.yaxis[this.yaxisIndex].reversed,this.zeroY=a.globals.gridHeight-this.baseLineY[this.yaxisIndex]-(this.isReversed?a.globals.gridHeight:0)+(this.isReversed?2*this.baseLineY[this.yaxisIndex]:0),this.areaBottomY=this.zeroY,(this.zeroY>a.globals.gridHeight||\"end\"===a.config.plotOptions.area.fillTo)&&(this.areaBottomY=a.globals.gridHeight),this.categoryAxisCorrection=this.xDivision/2,this.elSeries=s.group({class:\"apexcharts-series\",seriesName:x.escapeString(a.globals.seriesNames[i])}),this.elPointsMain=s.group({class:\"apexcharts-series-markers-wrap\",\"data:realIndex\":i}),this.elDataLabelsWrap=s.group({class:\"apexcharts-datalabels\",\"data:realIndex\":i});var r=t[e].length===a.globals.dataPoints;this.elSeries.attr({\"data:longestSeries\":r,rel:e+1,\"data:realIndex\":i}),this.appendPathFrom=!0}},{key:\"_calculatePathsFrom\",value:function(t){var e,i,a,s,r=t.type,o=t.series,n=t.i,l=t.realIndex,h=t.prevX,c=t.prevY,d=t.prevY2,g=this.w,u=new m(this.ctx);if(null===o[n][0]){for(var f=0;f0){var p=this.lineHelpers.checkPreviousPaths({pathFromLine:a,pathFromArea:s,realIndex:l});a=p.pathFromLine,s=p.pathFromArea}return{prevX:h,prevY:c,linePath:e,areaPath:i,pathFromLine:a,pathFromArea:s}}},{key:\"_handlePaths\",value:function(t){var i=t.type,a=t.realIndex,s=t.i,r=t.paths,o=this.w,n=new m(this.ctx),l=new F(this.ctx);this.prevSeriesY.push(r.yArrj),o.globals.seriesXvalues[a]=r.xArrj,o.globals.seriesYvalues[a]=r.yArrj;var h=o.config.forecastDataPoints;if(h.count>0&&\"rangeArea\"!==i){var c=o.globals.seriesXvalues[a][o.globals.seriesXvalues[a].length-h.count-1],d=n.drawRect(c,0,o.globals.gridWidth,o.globals.gridHeight,0);o.globals.dom.elForecastMask.appendChild(d.node);var g=n.drawRect(0,0,c,o.globals.gridHeight,0);o.globals.dom.elNonForecastMask.appendChild(g.node)}this.pointsChart||o.globals.delayedElements.push({el:this.elPointsMain.node,index:a});var u={i:s,realIndex:a,animationDelay:s,initialSpeed:o.config.chart.animations.speed,dataChangeSpeed:o.config.chart.animations.dynamicAnimation.speed,className:\"apexcharts-\".concat(i)};if(\"area\"===i)for(var f=l.fillPath({seriesNumber:a}),p=0;p0&&\"rangeArea\"!==i){var S=n.renderPaths(k);S.node.setAttribute(\"stroke-dasharray\",h.dashArray),h.strokeWidth&&S.node.setAttribute(\"stroke-width\",h.strokeWidth),this.elSeries.add(S),S.attr(\"clip-path\",\"url(#forecastMask\".concat(o.globals.cuid,\")\")),A.attr(\"clip-path\",\"url(#nonForecastMask\".concat(o.globals.cuid,\")\"))}}}}},{key:\"_iterateOverDataPoints\",value:function(t){var e=t.type,i=t.series,a=t.iterations,s=t.realIndex,r=t.i,o=t.x,n=t.y,l=t.pX,h=t.pY,c=t.pathsFrom,d=t.linePaths,g=t.areaPaths,u=t.seriesIndex,f=t.lineYPosition,p=t.xArrj,b=t.yArrj,v=t.isRangeStart,y=t.seriesRangeEnd,w=this.w,k=new m(this.ctx),A=this.yRatio,S=c.prevY,C=c.linePath,L=c.areaPath,P=c.pathFromLine,T=c.pathFromArea,M=x.isNumber(w.globals.minYArr[s])?w.globals.minYArr[s]:w.globals.minY;a||(a=w.globals.dataPoints>1?w.globals.dataPoints-1:w.globals.dataPoints);for(var I=n,z=0;z0&&w.globals.collapsedSeries.length-1){e--;break}return e>=0?e:0}(r-1)][z+1]}else f=this.zeroY;else f=this.zeroY;X?n=f-M/A[this.yaxisIndex]+2*(this.isReversed?M/A[this.yaxisIndex]:0):(n=f-i[r][z+1]/A[this.yaxisIndex]+2*(this.isReversed?i[r][z+1]/A[this.yaxisIndex]:0),\"rangeArea\"===e&&(I=f-y[r][z+1]/A[this.yaxisIndex]+2*(this.isReversed?y[r][z+1]/A[this.yaxisIndex]:0))),p.push(o),b.push(n);var Y=this.lineHelpers.calculatePoints({series:i,x:o,y:n,realIndex:s,i:r,j:z,prevY:S}),F=this._createPaths({type:e,series:i,i:r,realIndex:s,j:z,x:o,y:n,y2:I,pX:l,pY:h,linePath:C,areaPath:L,linePaths:d,areaPaths:g,seriesIndex:u,isRangeStart:v});g=F.areaPaths,d=F.linePaths,l=F.pX,h=F.pY,L=F.areaPath,C=F.linePath,this.appendPathFrom&&(P+=k.line(o,this.zeroY),T+=k.line(o,this.zeroY)),this.handleNullDataPoints(i,Y,r,z,s),this._handleMarkersAndLabels({type:e,pointsPos:Y,i:r,j:z,realIndex:s,isRangeStart:v})}return{yArrj:b,xArrj:p,pathFromArea:T,areaPaths:g,pathFromLine:P,linePaths:d,linePath:C,areaPath:L}}},{key:\"_handleMarkersAndLabels\",value:function(t){var e=t.type,i=t.pointsPos,a=t.isRangeStart,s=t.i,r=t.j,o=t.realIndex,n=this.w,l=new H(this.ctx);if(this.pointsChart)this.scatter.draw(this.elSeries,r,{realIndex:o,pointsPos:i,zRatio:this.zRatio,elParent:this.elPointsMain});else{n.globals.series[s].length>1&&this.elPointsMain.node.classList.add(\"apexcharts-element-hidden\");var h=this.markers.plotChartMarkers(i,o,r+1);null!==h&&this.elPointsMain.add(h)}var c=l.drawDataLabel({type:e,isRangeStart:a,pos:i,i:o,j:r+1});null!==c&&this.elDataLabelsWrap.add(c)}},{key:\"_createPaths\",value:function(t){var e=t.type,i=t.series,a=t.i,s=t.realIndex,r=t.j,o=t.x,n=t.y,l=t.y2,h=t.pX,c=t.pY,d=t.linePath,g=t.areaPath,u=t.linePaths,f=t.areaPaths,p=t.seriesIndex,x=t.isRangeStart,b=this.w,v=new m(this.ctx),y=b.config.stroke.curve,w=this.areaBottomY;if(Array.isArray(b.config.stroke.curve)&&(y=Array.isArray(p)?b.config.stroke.curve[p[a]]:b.config.stroke.curve[a]),\"smooth\"===y){var k=.35*(o-h);b.globals.hasNullValues?(null!==i[a][r]&&(null!==i[a][r+1]?(d=v.move(h,c)+v.curve(h+k,c,o-k,n,o+1,n),g=v.move(h+1,c)+v.curve(h+k,c,o-k,n,o+1,n)+v.line(o,w)+v.line(h,w)+\"z\"):(d=v.move(h,c),g=v.move(h,c)+\"z\")),u.push(d),f.push(g)):(d+=v.curve(h+k,c,o-k,n,o,n),g+=v.curve(h+k,c,o-k,n,o,n)),h=o,c=n,r===i[a].length-2&&(g=g+v.curve(h,c,o,n,o,w)+v.move(o,n)+\"z\",\"rangeArea\"===e&&x?d=d+v.curve(h,c,o,n,o,l)+v.move(o,l)+\"z\":b.globals.hasNullValues||(u.push(d),f.push(g)))}else{if(null===i[a][r+1]){d+=v.move(o,n);var A=b.globals.isXNumeric?(b.globals.seriesX[s][r]-b.globals.minX)/this.xRatio:o-this.xDivision;g=g+v.line(A,w)+v.move(o,n)+\"z\"}null===i[a][r]&&(d+=v.move(o,n),g+=v.move(o,w)),\"stepline\"===y?(d=d+v.line(o,null,\"H\")+v.line(null,n,\"V\"),g=g+v.line(o,null,\"H\")+v.line(null,n,\"V\")):\"straight\"===y&&(d+=v.line(o,n),g+=v.line(o,n)),r===i[a].length-2&&(g=g+v.line(o,w)+v.move(o,n)+\"z\",\"rangeArea\"===e&&x?d=d+v.line(o,l)+v.move(o,l)+\"z\":(u.push(d),f.push(g)))}return{linePaths:u,areaPaths:f,pX:h,pY:c,linePath:d,areaPath:g}}},{key:\"handleNullDataPoints\",value:function(t,e,i,a,s){var r=this.w;if(null===t[i][a]&&r.config.markers.showNullDataPoints||1===t[i].length){var o=this.markers.plotChartMarkers(e,s,a+1,this.strokeWidth-r.config.markers.strokeWidth/2,!0);null!==o&&this.elPointsMain.add(o)}}}]),t}();window.TreemapSquared={},window.TreemapSquared.generate=function(){function t(e,i,a,s){this.xoffset=e,this.yoffset=i,this.height=s,this.width=a,this.shortestEdge=function(){return Math.min(this.height,this.width)},this.getCoordinates=function(t){var e,i=[],a=this.xoffset,s=this.yoffset,o=r(t)/this.height,n=r(t)/this.width;if(this.width>=this.height)for(e=0;e=this.height){var a=e/this.height,s=this.width-a;i=new t(this.xoffset+a,this.yoffset,s,this.height)}else{var r=e/this.width,o=this.height-r;i=new t(this.xoffset,this.yoffset+r,this.width,o)}return i}}function e(e,a,s,o,n){o=void 0===o?0:o,n=void 0===n?0:n;var l=i(function(t,e){var i,a=[],s=e/r(t);for(i=0;i=o}(e,l=t[0],n)?(e.push(l),i(t.slice(1),e,s,o)):(h=s.cutArea(r(e),o),o.push(s.getCoordinates(e)),i(t,[],h,o)),o;o.push(s.getCoordinates(e))}function a(t,e){var i=Math.min.apply(Math,t),a=Math.max.apply(Math,t),s=r(t);return Math.max(Math.pow(e,2)*a/Math.pow(s,2),Math.pow(s,2)/(Math.pow(e,2)*i))}function s(t){return t&&t.constructor===Array}function r(t){var e,i=0;for(e=0;er-a&&l.width<=o-s){var h=n.rotateAroundCenter(t.node);t.node.setAttribute(\"transform\",\"rotate(-90 \".concat(h.x,\" \").concat(h.y,\")\"))}}},{key:\"animateTreemap\",value:function(t,e,i,a){var s=new b(this.ctx);s.animateRect(t,{x:e.x,y:e.y,width:e.width,height:e.height},{x:i.x,y:i.y,width:i.width,height:i.height},a,(function(){s.animationCompleted(t)}))}}]),t}(),Ft=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.timeScaleArray=[],this.utc=this.w.config.xaxis.labels.datetimeUTC}return r(t,[{key:\"calculateTimeScaleTicks\",value:function(t,i){var a=this,s=this.w;if(s.globals.allSeriesCollapsed)return s.globals.labels=[],s.globals.timescaleLabels=[],[];var r=new T(this.ctx),o=(i-t)/864e5;this.determineInterval(o),s.globals.disableZoomIn=!1,s.globals.disableZoomOut=!1,o<.00011574074074074075?s.globals.disableZoomIn=!0:o>5e4&&(s.globals.disableZoomOut=!0);var n=r.getTimeUnitsfromTimestamp(t,i,this.utc),l=s.globals.gridWidth/o,h=l/24,c=h/60,d=c/60,g=Math.floor(24*o),u=Math.floor(1440*o),f=Math.floor(86400*o),p=Math.floor(o),x=Math.floor(o/30),b=Math.floor(o/365),v={minMillisecond:n.minMillisecond,minSecond:n.minSecond,minMinute:n.minMinute,minHour:n.minHour,minDate:n.minDate,minMonth:n.minMonth,minYear:n.minYear},m={firstVal:v,currentMillisecond:v.minMillisecond,currentSecond:v.minSecond,currentMinute:v.minMinute,currentHour:v.minHour,currentMonthDate:v.minDate,currentDate:v.minDate,currentMonth:v.minMonth,currentYear:v.minYear,daysWidthOnXAxis:l,hoursWidthOnXAxis:h,minutesWidthOnXAxis:c,secondsWidthOnXAxis:d,numberOfSeconds:f,numberOfMinutes:u,numberOfHours:g,numberOfDays:p,numberOfMonths:x,numberOfYears:b};switch(this.tickInterval){case\"years\":this.generateYearScale(m);break;case\"months\":case\"half_year\":this.generateMonthScale(m);break;case\"months_days\":case\"months_fortnight\":case\"days\":case\"week_days\":this.generateDayScale(m);break;case\"hours\":this.generateHourScale(m);break;case\"minutes_fives\":case\"minutes\":this.generateMinuteScale(m);break;case\"seconds_tens\":case\"seconds_fives\":case\"seconds\":this.generateSecondScale(m)}var y=this.timeScaleArray.map((function(t){var i={position:t.position,unit:t.unit,year:t.year,day:t.day?t.day:1,hour:t.hour?t.hour:0,month:t.month+1};return\"month\"===t.unit?e(e({},i),{},{day:1,value:t.value+1}):\"day\"===t.unit||\"hour\"===t.unit?e(e({},i),{},{value:t.value}):\"minute\"===t.unit?e(e({},i),{},{value:t.value,minute:t.value}):\"second\"===t.unit?e(e({},i),{},{value:t.value,minute:t.minute,second:t.second}):t}));return y.filter((function(t){var e=1,i=Math.ceil(s.globals.gridWidth/120),r=t.value;void 0!==s.config.xaxis.tickAmount&&(i=s.config.xaxis.tickAmount),y.length>i&&(e=Math.floor(y.length/i));var o=!1,n=!1;switch(a.tickInterval){case\"years\":\"year\"===t.unit&&(o=!0);break;case\"half_year\":e=7,\"year\"===t.unit&&(o=!0);break;case\"months\":e=1,\"year\"===t.unit&&(o=!0);break;case\"months_fortnight\":e=15,\"year\"!==t.unit&&\"month\"!==t.unit||(o=!0),30===r&&(n=!0);break;case\"months_days\":e=10,\"month\"===t.unit&&(o=!0),30===r&&(n=!0);break;case\"week_days\":e=8,\"month\"===t.unit&&(o=!0);break;case\"days\":e=1,\"month\"===t.unit&&(o=!0);break;case\"hours\":\"day\"===t.unit&&(o=!0);break;case\"minutes_fives\":case\"seconds_fives\":r%5!=0&&(n=!0);break;case\"seconds_tens\":r%10!=0&&(n=!0)}if(\"hours\"===a.tickInterval||\"minutes_fives\"===a.tickInterval||\"seconds_tens\"===a.tickInterval||\"seconds_fives\"===a.tickInterval){if(!n)return!0}else if((r%e==0||o)&&!n)return!0}))}},{key:\"recalcDimensionsBasedOnFormat\",value:function(t,e){var i=this.w,a=this.formatDates(t),s=this.removeOverlappingTS(a);i.globals.timescaleLabels=s.slice(),new ot(this.ctx).plotCoords()}},{key:\"determineInterval\",value:function(t){var e=24*t,i=60*e;switch(!0){case t/365>5:this.tickInterval=\"years\";break;case t>800:this.tickInterval=\"half_year\";break;case t>180:this.tickInterval=\"months\";break;case t>90:this.tickInterval=\"months_fortnight\";break;case t>60:this.tickInterval=\"months_days\";break;case t>30:this.tickInterval=\"week_days\";break;case t>2:this.tickInterval=\"days\";break;case e>2.4:this.tickInterval=\"hours\";break;case i>15:this.tickInterval=\"minutes_fives\";break;case i>5:this.tickInterval=\"minutes\";break;case i>1:this.tickInterval=\"seconds_tens\";break;case 60*i>20:this.tickInterval=\"seconds_fives\";break;default:this.tickInterval=\"seconds\"}}},{key:\"generateYearScale\",value:function(t){var e=t.firstVal,i=t.currentMonth,a=t.currentYear,s=t.daysWidthOnXAxis,r=t.numberOfYears,o=e.minYear,n=0,l=new T(this.ctx),h=\"year\";if(e.minDate>1||e.minMonth>0){var c=l.determineRemainingDaysOfYear(e.minYear,e.minMonth,e.minDate);n=(l.determineDaysOfYear(e.minYear)-c+1)*s,o=e.minYear+1,this.timeScaleArray.push({position:n,value:o,unit:h,year:o,month:x.monthMod(i+1)})}else 1===e.minDate&&0===e.minMonth&&this.timeScaleArray.push({position:n,value:o,unit:h,year:a,month:x.monthMod(i+1)});for(var d=o,g=n,u=0;u1){l=(h.determineDaysOfMonths(a+1,e.minYear)-i+1)*r,n=x.monthMod(a+1);var g=s+d,u=x.monthMod(n),f=n;0===n&&(c=\"year\",f=g,u=1,g+=d+=1),this.timeScaleArray.push({position:l,value:f,unit:c,year:g,month:u})}else this.timeScaleArray.push({position:l,value:n,unit:c,year:s,month:x.monthMod(a)});for(var p=n+1,b=l,v=0,m=1;vo.determineDaysOfMonths(e+1,i)?(h=1,n=\"month\",g=e+=1,e):e},d=(24-e.minHour)*s,g=l,u=c(h,i,a);0===e.minHour&&1===e.minDate?(d=0,g=x.monthMod(e.minMonth),n=\"month\",h=e.minDate,r++):1!==e.minDate&&0===e.minHour&&0===e.minMinute&&(d=0,l=e.minDate,g=l,u=c(h=l,i,a)),this.timeScaleArray.push({position:d,value:g,unit:n,year:this._getYear(a,u,0),month:x.monthMod(u),day:h});for(var f=d,p=0;pn.determineDaysOfMonths(e+1,s)&&(p=1,e+=1),{month:e,date:p}},c=function(t,e){return t>n.determineDaysOfMonths(e+1,s)?e+=1:e},d=60-(e.minMinute+e.minSecond/60),g=d*r,u=e.minHour+1,f=u+1;60===d&&(g=0,f=(u=e.minHour)+1);var p=i,b=c(p,a);this.timeScaleArray.push({position:g,value:u,unit:l,day:p,hour:f,year:s,month:x.monthMod(b)});for(var v=g,m=0;m=24)f=0,l=\"day\",b=h(p+=1,b).month,b=c(p,b);var y=this._getYear(s,b,0);v=0===f&&0===m?d*r:60*r+v;var w=0===f?p:f;this.timeScaleArray.push({position:v,value:w,unit:l,hour:f,day:p,year:y,month:x.monthMod(b)}),f++}}},{key:\"generateMinuteScale\",value:function(t){for(var e=t.currentMillisecond,i=t.currentSecond,a=t.currentMinute,s=t.currentHour,r=t.currentDate,o=t.currentMonth,n=t.currentYear,l=t.minutesWidthOnXAxis,h=t.secondsWidthOnXAxis,c=t.numberOfMinutes,d=a+1,g=r,u=o,f=n,p=s,b=(60-i-e/1e3)*h,v=0;v=60&&(d=0,24===(p+=1)&&(p=0)),this.timeScaleArray.push({position:b,value:d,unit:\"minute\",hour:p,minute:d,day:g,year:this._getYear(f,u,0),month:x.monthMod(u)}),b+=l,d++}},{key:\"generateSecondScale\",value:function(t){for(var e=t.currentMillisecond,i=t.currentSecond,a=t.currentMinute,s=t.currentHour,r=t.currentDate,o=t.currentMonth,n=t.currentYear,l=t.secondsWidthOnXAxis,h=t.numberOfSeconds,c=i+1,d=a,g=r,u=o,f=n,p=s,b=(1e3-e)/1e3*l,v=0;v=60&&(c=0,++d>=60&&(d=0,24===++p&&(p=0))),this.timeScaleArray.push({position:b,value:c,unit:\"second\",hour:p,minute:d,second:c,day:g,year:this._getYear(f,u,0),month:x.monthMod(u)}),b+=l,c++}},{key:\"createRawDateString\",value:function(t,e){var i=t.year;return 0===t.month&&(t.month=1),i+=\"-\"+(\"0\"+t.month.toString()).slice(-2),\"day\"===t.unit?i+=\"day\"===t.unit?\"-\"+(\"0\"+e).slice(-2):\"-01\":i+=\"-\"+(\"0\"+(t.day?t.day:\"1\")).slice(-2),\"hour\"===t.unit?i+=\"hour\"===t.unit?\"T\"+(\"0\"+e).slice(-2):\"T00\":i+=\"T\"+(\"0\"+(t.hour?t.hour:\"0\")).slice(-2),\"minute\"===t.unit?i+=\":\"+(\"0\"+e).slice(-2):i+=\":\"+(t.minute?(\"0\"+t.minute).slice(-2):\"00\"),\"second\"===t.unit?i+=\":\"+(\"0\"+e).slice(-2):i+=\":00\",this.utc&&(i+=\".000Z\"),i}},{key:\"formatDates\",value:function(t){var e=this,i=this.w;return t.map((function(t){var a=t.value.toString(),s=new T(e.ctx),r=e.createRawDateString(t,a),o=s.getDate(s.parseDate(r));if(e.utc||(o=s.getDate(s.parseDateWithTimezone(r))),void 0===i.config.xaxis.labels.format){var n=\"dd MMM\",l=i.config.xaxis.labels.datetimeFormatter;\"year\"===t.unit&&(n=l.year),\"month\"===t.unit&&(n=l.month),\"day\"===t.unit&&(n=l.day),\"hour\"===t.unit&&(n=l.hour),\"minute\"===t.unit&&(n=l.minute),\"second\"===t.unit&&(n=l.second),a=s.formatDate(o,n)}else a=s.formatDate(o,i.config.xaxis.labels.format);return{dateString:r,position:t.position,value:a,unit:t.unit,year:t.year,month:t.month}}))}},{key:\"removeOverlappingTS\",value:function(t){var e,i=this,a=new m(this.ctx),s=!1;t.length>0&&t[0].value&&t.every((function(e){return e.value.length===t[0].value.length}))&&(s=!0,e=a.getTextRects(t[0].value).width);var r=0,o=t.map((function(o,n){if(n>0&&i.w.config.xaxis.labels.hideOverlappingLabels){var l=s?e:a.getTextRects(t[r].value).width,h=t[r].position;return o.position>h+l+10?(r=n,o):null}return o}));return o=o.filter((function(t){return null!==t}))}},{key:\"_getYear\",value:function(t,e,i){return t+Math.floor(e/12)+i}}]),t}(),Rt=function(){function t(e,i){a(this,t),this.ctx=i,this.w=i.w,this.el=e}return r(t,[{key:\"setupElements\",value:function(){var t=this.w.globals,e=this.w.config,i=e.chart.type;t.axisCharts=[\"line\",\"area\",\"bar\",\"rangeBar\",\"rangeArea\",\"candlestick\",\"boxPlot\",\"scatter\",\"bubble\",\"radar\",\"heatmap\",\"treemap\"].indexOf(i)>-1,t.xyCharts=[\"line\",\"area\",\"bar\",\"rangeBar\",\"rangeArea\",\"candlestick\",\"boxPlot\",\"scatter\",\"bubble\"].indexOf(i)>-1,t.isBarHorizontal=(\"bar\"===e.chart.type||\"rangeBar\"===e.chart.type||\"boxPlot\"===e.chart.type)&&e.plotOptions.bar.horizontal,t.chartClass=\".apexcharts\"+t.chartID,t.dom.baseEl=this.el,t.dom.elWrap=document.createElement(\"div\"),m.setAttrs(t.dom.elWrap,{id:t.chartClass.substring(1),class:\"apexcharts-canvas \"+t.chartClass.substring(1)}),this.el.appendChild(t.dom.elWrap),t.dom.Paper=new window.SVG.Doc(t.dom.elWrap),t.dom.Paper.attr({class:\"apexcharts-svg\",\"xmlns:data\":\"ApexChartsNS\",transform:\"translate(\".concat(e.chart.offsetX,\", \").concat(e.chart.offsetY,\")\")}),t.dom.Paper.node.style.background=e.chart.background,this.setSVGDimensions(),t.dom.elGraphical=t.dom.Paper.group().attr({class:\"apexcharts-inner apexcharts-graphical\"}),t.dom.elAnnotations=t.dom.Paper.group().attr({class:\"apexcharts-annotations\"}),t.dom.elDefs=t.dom.Paper.defs(),t.dom.elLegendWrap=document.createElement(\"div\"),t.dom.elLegendWrap.classList.add(\"apexcharts-legend\"),t.dom.elWrap.appendChild(t.dom.elLegendWrap),t.dom.Paper.add(t.dom.elGraphical),t.dom.elGraphical.add(t.dom.elDefs)}},{key:\"plotChartType\",value:function(t,e){var i=this.w,a=i.config,s=i.globals,r={series:[],i:[]},o={series:[],i:[]},n={series:[],i:[]},l={series:[],i:[]},h={series:[],i:[]},c={series:[],i:[]},d={series:[],i:[]},g={series:[],i:[]},u={series:[],seriesRangeEnd:[],i:[]};s.series.map((function(e,f){var p=0;void 0!==t[f].type?(\"column\"===t[f].type||\"bar\"===t[f].type?(s.series.length>1&&a.plotOptions.bar.horizontal&&console.warn(\"Horizontal bars are not supported in a mixed/combo chart. Please turn off `plotOptions.bar.horizontal`\"),h.series.push(e),h.i.push(f),p++,i.globals.columnSeries=h.series):\"area\"===t[f].type?(o.series.push(e),o.i.push(f),p++):\"line\"===t[f].type?(r.series.push(e),r.i.push(f),p++):\"scatter\"===t[f].type?(n.series.push(e),n.i.push(f)):\"bubble\"===t[f].type?(l.series.push(e),l.i.push(f),p++):\"candlestick\"===t[f].type?(c.series.push(e),c.i.push(f),p++):\"boxPlot\"===t[f].type?(d.series.push(e),d.i.push(f),p++):\"rangeBar\"===t[f].type?(g.series.push(e),g.i.push(f),p++):\"rangeArea\"===t[f].type?(u.series.push(s.seriesRangeStart[f]),u.seriesRangeEnd.push(s.seriesRangeEnd[f]),u.i.push(f),p++):console.warn(\"You have specified an unrecognized chart type. Available types for this property are line/area/column/bar/scatter/bubble\"),p>1&&(s.comboCharts=!0)):(r.series.push(e),r.i.push(f))}));var f=new zt(this.ctx,e),p=new kt(this.ctx,e);this.ctx.pie=new Lt(this.ctx);var x=new Tt(this.ctx);this.ctx.rangeBar=new Mt(this.ctx,e);var b=new Pt(this.ctx),v=[];if(s.comboCharts){if(o.series.length>0&&v.push(f.draw(o.series,\"area\",o.i)),h.series.length>0)if(i.config.chart.stacked){var m=new wt(this.ctx,e);v.push(m.draw(h.series,h.i))}else this.ctx.bar=new yt(this.ctx,e),v.push(this.ctx.bar.draw(h.series,h.i));if(u.series.length>0&&v.push(f.draw(u.series,\"rangeArea\",u.i,u.seriesRangeEnd)),r.series.length>0&&v.push(f.draw(r.series,\"line\",r.i)),c.series.length>0&&v.push(p.draw(c.series,c.i)),d.series.length>0&&v.push(p.draw(d.series,d.i)),g.series.length>0&&v.push(this.ctx.rangeBar.draw(g.series,g.i)),n.series.length>0){var y=new zt(this.ctx,e,!0);v.push(y.draw(n.series,\"scatter\",n.i))}if(l.series.length>0){var w=new zt(this.ctx,e,!0);v.push(w.draw(l.series,\"bubble\",l.i))}}else switch(a.chart.type){case\"line\":v=f.draw(s.series,\"line\");break;case\"area\":v=f.draw(s.series,\"area\");break;case\"bar\":if(a.chart.stacked)v=new wt(this.ctx,e).draw(s.series);else this.ctx.bar=new yt(this.ctx,e),v=this.ctx.bar.draw(s.series);break;case\"candlestick\":v=new kt(this.ctx,e).draw(s.series);break;case\"boxPlot\":v=new kt(this.ctx,e).draw(s.series);break;case\"rangeBar\":v=this.ctx.rangeBar.draw(s.series);break;case\"rangeArea\":v=f.draw(s.seriesRangeStart,\"rangeArea\",void 0,s.seriesRangeEnd);break;case\"heatmap\":v=new St(this.ctx,e).draw(s.series);break;case\"treemap\":v=new Yt(this.ctx,e).draw(s.series);break;case\"pie\":case\"donut\":case\"polarArea\":v=this.ctx.pie.draw(s.series);break;case\"radialBar\":v=x.draw(s.series);break;case\"radar\":v=b.draw(s.series);break;default:v=f.draw(s.series)}return v}},{key:\"setSVGDimensions\",value:function(){var t=this.w.globals,e=this.w.config;t.svgWidth=e.chart.width,t.svgHeight=e.chart.height;var i=x.getDimensions(this.el),a=e.chart.width.toString().split(/[0-9]+/g).pop();\"%\"===a?x.isNumber(i[0])&&(0===i[0].width&&(i=x.getDimensions(this.el.parentNode)),t.svgWidth=i[0]*parseInt(e.chart.width,10)/100):\"px\"!==a&&\"\"!==a||(t.svgWidth=parseInt(e.chart.width,10));var s=e.chart.height.toString().split(/[0-9]+/g).pop();if(\"auto\"!==t.svgHeight&&\"\"!==t.svgHeight)if(\"%\"===s){var r=x.getDimensions(this.el.parentNode);t.svgHeight=r[1]*parseInt(e.chart.height,10)/100}else t.svgHeight=parseInt(e.chart.height,10);else t.axisCharts?t.svgHeight=t.svgWidth/1.61:t.svgHeight=t.svgWidth/1.2;if(t.svgWidth<0&&(t.svgWidth=0),t.svgHeight<0&&(t.svgHeight=0),m.setAttrs(t.dom.Paper.node,{width:t.svgWidth,height:t.svgHeight}),\"%\"!==s){var o=e.chart.sparkline.enabled?0:t.axisCharts?e.chart.parentHeightOffset:0;t.dom.Paper.node.parentNode.parentNode.style.minHeight=t.svgHeight+o+\"px\"}t.dom.elWrap.style.width=t.svgWidth+\"px\",t.dom.elWrap.style.height=t.svgHeight+\"px\"}},{key:\"shiftGraphPosition\",value:function(){var t=this.w.globals,e=t.translateY,i={transform:\"translate(\"+t.translateX+\", \"+e+\")\"};m.setAttrs(t.dom.elGraphical.node,i)}},{key:\"resizeNonAxisCharts\",value:function(){var t=this.w,e=t.globals,i=0,a=t.config.chart.sparkline.enabled?1:15;a+=t.config.grid.padding.bottom,\"top\"!==t.config.legend.position&&\"bottom\"!==t.config.legend.position||!t.config.legend.show||t.config.legend.floating||(i=new lt(this.ctx).legendHelpers.getLegendBBox().clwh+10);var s=t.globals.dom.baseEl.querySelector(\".apexcharts-radialbar, .apexcharts-pie\"),r=2.05*t.globals.radialSize;if(s&&!t.config.chart.sparkline.enabled&&0!==t.config.plotOptions.radialBar.startAngle){var o=x.getBoundingClientRect(s);r=o.bottom;var n=o.bottom-o.top;r=Math.max(2.05*t.globals.radialSize,n)}var l=r+e.translateY+i+a;e.dom.elLegendForeign&&e.dom.elLegendForeign.setAttribute(\"height\",l),t.config.chart.height&&String(t.config.chart.height).indexOf(\"%\")>0||(e.dom.elWrap.style.height=l+\"px\",m.setAttrs(e.dom.Paper.node,{height:l}),e.dom.Paper.node.parentNode.parentNode.style.minHeight=l+\"px\")}},{key:\"coreCalculations\",value:function(){new U(this.ctx).init()}},{key:\"resetGlobals\",value:function(){var t=this,e=function(){return t.w.config.series.map((function(t){return[]}))},i=new E,a=this.w.globals;i.initGlobalVars(a),a.seriesXvalues=e(),a.seriesYvalues=e()}},{key:\"isMultipleY\",value:function(){if(this.w.config.yaxis.constructor===Array&&this.w.config.yaxis.length>1)return this.w.globals.isMultipleYAxis=!0,!0}},{key:\"xySettings\",value:function(){var t=null,e=this.w;if(e.globals.axisCharts){if(\"back\"===e.config.xaxis.crosshairs.position)new Q(this.ctx).drawXCrosshairs();if(\"back\"===e.config.yaxis[0].crosshairs.position)new Q(this.ctx).drawYCrosshairs();if(\"datetime\"===e.config.xaxis.type&&void 0===e.config.xaxis.labels.formatter){this.ctx.timeScale=new Ft(this.ctx);var i=[];isFinite(e.globals.minX)&&isFinite(e.globals.maxX)&&!e.globals.isBarHorizontal?i=this.ctx.timeScale.calculateTimeScaleTicks(e.globals.minX,e.globals.maxX):e.globals.isBarHorizontal&&(i=this.ctx.timeScale.calculateTimeScaleTicks(e.globals.minY,e.globals.maxY)),this.ctx.timeScale.recalcDimensionsBasedOnFormat(i)}t=new y(this.ctx).getCalculatedRatios()}return t}},{key:\"updateSourceChart\",value:function(t){this.ctx.w.globals.selection=void 0,this.ctx.updateHelpers._updateOptions({chart:{selection:{xaxis:{min:t.w.globals.minX,max:t.w.globals.maxX}}}},!1,!1)}},{key:\"setupBrushHandler\",value:function(){var t=this,i=this.w;if(i.config.chart.brush.enabled&&\"function\"!=typeof i.config.chart.events.selection){var a=i.config.chart.brush.targets||[i.config.chart.brush.target];a.forEach((function(e){var i=ApexCharts.getChartByID(e);i.w.globals.brushSource=t.ctx,\"function\"!=typeof i.w.config.chart.events.zoomed&&(i.w.config.chart.events.zoomed=function(){t.updateSourceChart(i)}),\"function\"!=typeof i.w.config.chart.events.scrolled&&(i.w.config.chart.events.scrolled=function(){t.updateSourceChart(i)})})),i.config.chart.events.selection=function(t,s){a.forEach((function(t){var a=ApexCharts.getChartByID(t),r=x.clone(i.config.yaxis);if(i.config.chart.brush.autoScaleYaxis&&1===a.w.globals.series.length){var o=new _(a);r=o.autoScaleY(a,r,s)}var n=a.w.config.yaxis.reduce((function(t,i,s){return[].concat(u(t),[e(e({},a.w.config.yaxis[s]),{},{min:r[0].min,max:r[0].max})])}),[]);a.ctx.updateHelpers._updateOptions({xaxis:{min:s.xaxis.min,max:s.xaxis.max},yaxis:n},!1,!1,!1,!1)}))}}}}]),t}(),Dt=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:\"_updateOptions\",value:function(t){var e=this,a=arguments.length>1&&void 0!==arguments[1]&&arguments[1],s=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],o=arguments.length>4&&void 0!==arguments[4]&&arguments[4];return new Promise((function(n){var l=[e.ctx];r&&(l=e.ctx.getSyncedCharts()),e.ctx.w.globals.isExecCalled&&(l=[e.ctx],e.ctx.w.globals.isExecCalled=!1),l.forEach((function(r,h){var c=r.w;if(c.globals.shouldAnimate=s,a||(c.globals.resized=!0,c.globals.dataChanged=!0,s&&r.series.getPreviousPaths()),t&&\"object\"===i(t)&&(r.config=new X(t),t=y.extendArrayProps(r.config,t,c),r.w.globals.chartID!==e.ctx.w.globals.chartID&&delete t.series,c.config=x.extend(c.config,t),o&&(c.globals.lastXAxis=t.xaxis?x.clone(t.xaxis):[],c.globals.lastYAxis=t.yaxis?x.clone(t.yaxis):[],c.globals.initialConfig=x.extend({},c.config),c.globals.initialSeries=x.clone(c.config.series),t.series))){for(var d=0;d2&&void 0!==arguments[2]&&arguments[2];return new Promise((function(s){var r,o=i.w;return o.globals.shouldAnimate=e,o.globals.dataChanged=!0,e&&i.ctx.series.getPreviousPaths(),o.globals.axisCharts?(0===(r=t.map((function(t,e){return i._extendSeries(t,e)}))).length&&(r=[{data:[]}]),o.config.series=r):o.config.series=t.slice(),a&&(o.globals.initialConfig.series=x.clone(o.config.series),o.globals.initialSeries=x.clone(o.config.series)),i.ctx.update().then((function(){s(i.ctx)}))}))}},{key:\"_extendSeries\",value:function(t,i){var a=this.w,s=a.config.series[i];return e(e({},a.config.series[i]),{},{name:t.name?t.name:s&&s.name,color:t.color?t.color:s&&s.color,type:t.type?t.type:s&&s.type,data:t.data?t.data:s&&s.data})}},{key:\"toggleDataPointSelection\",value:function(t,e){var i=this.w,a=null,s=\".apexcharts-series[data\\\\:realIndex='\".concat(t,\"']\");return i.globals.axisCharts?a=i.globals.dom.Paper.select(\"\".concat(s,\" path[j='\").concat(e,\"'], \").concat(s,\" circle[j='\").concat(e,\"'], \").concat(s,\" rect[j='\").concat(e,\"']\")).members[0]:void 0===e&&(a=i.globals.dom.Paper.select(\"\".concat(s,\" path[j='\").concat(t,\"']\")).members[0],\"pie\"!==i.config.chart.type&&\"polarArea\"!==i.config.chart.type&&\"donut\"!==i.config.chart.type||this.ctx.pie.pieClicked(t)),a?(new m(this.ctx).pathMouseDown(a,null),a.node?a.node:null):(console.warn(\"toggleDataPointSelection: Element not found\"),null)}},{key:\"forceXAxisUpdate\",value:function(t){var e=this.w;if([\"min\",\"max\"].forEach((function(i){void 0!==t.xaxis[i]&&(e.config.xaxis[i]=t.xaxis[i],e.globals.lastXAxis[i]=t.xaxis[i])})),t.xaxis.categories&&t.xaxis.categories.length&&(e.config.xaxis.categories=t.xaxis.categories),e.config.xaxis.convertedCatToNumeric){var i=new z(t);t=i.convertCatToNumericXaxis(t,this.ctx)}return t}},{key:\"forceYAxisUpdate\",value:function(t){return t.chart&&t.chart.stacked&&\"100%\"===t.chart.stackType&&(Array.isArray(t.yaxis)?t.yaxis.forEach((function(e,i){t.yaxis[i].min=0,t.yaxis[i].max=100})):(t.yaxis.min=0,t.yaxis.max=100)),t}},{key:\"revertDefaultAxisMinMax\",value:function(t){var e=this,i=this.w,a=i.globals.lastXAxis,s=i.globals.lastYAxis;t&&t.xaxis&&(a=t.xaxis),t&&t.yaxis&&(s=t.yaxis),i.config.xaxis.min=a.min,i.config.xaxis.max=a.max;var r=function(t){void 0!==s[t]&&(i.config.yaxis[t].min=s[t].min,i.config.yaxis[t].max=s[t].max)};i.config.yaxis.map((function(t,a){i.globals.zoomed||void 0!==s[a]?r(a):void 0!==e.ctx.opts.yaxis[a]&&(t.min=e.ctx.opts.yaxis[a].min,t.max=e.ctx.opts.yaxis[a].max)}))}}]),t}();Xt=\"undefined\"!=typeof window?window:void 0,Et=function(t,e){var a=(void 0!==this?this:t).SVG=function(t){if(a.supported)return t=new a.Doc(t),a.parser.draw||a.prepare(),t};if(a.ns=\"http://www.w3.org/2000/svg\",a.xmlns=\"http://www.w3.org/2000/xmlns/\",a.xlink=\"http://www.w3.org/1999/xlink\",a.svgjs=\"http://svgjs.dev\",a.supported=!0,!a.supported)return!1;a.did=1e3,a.eid=function(t){return\"Svgjs\"+d(t)+a.did++},a.create=function(t){var i=e.createElementNS(this.ns,t);return i.setAttribute(\"id\",this.eid(t)),i},a.extend=function(){var t,e;e=(t=[].slice.call(arguments)).pop();for(var i=t.length-1;i>=0;i--)if(t[i])for(var s in e)t[i].prototype[s]=e[s];a.Set&&a.Set.inherit&&a.Set.inherit()},a.invent=function(t){var e=\"function\"==typeof t.create?t.create:function(){this.constructor.call(this,a.create(t.create))};return t.inherit&&(e.prototype=new t.inherit),t.extend&&a.extend(e,t.extend),t.construct&&a.extend(t.parent||a.Container,t.construct),e},a.adopt=function(e){return e?e.instance?e.instance:((i=\"svg\"==e.nodeName?e.parentNode instanceof t.SVGElement?new a.Nested:new a.Doc:\"linearGradient\"==e.nodeName?new a.Gradient(\"linear\"):\"radialGradient\"==e.nodeName?new a.Gradient(\"radial\"):a[d(e.nodeName)]?new(a[d(e.nodeName)]):new a.Element(e)).type=e.nodeName,i.node=e,e.instance=i,i instanceof a.Doc&&i.namespace().defs(),i.setData(JSON.parse(e.getAttribute(\"svgjs:data\"))||{}),i):null;var i},a.prepare=function(){var t=e.getElementsByTagName(\"body\")[0],i=(t?new a.Doc(t):a.adopt(e.documentElement).nested()).size(2,0);a.parser={body:t||e.documentElement,draw:i.style(\"opacity:0;position:absolute;left:-100%;top:-100%;overflow:hidden\").node,poly:i.polyline().node,path:i.path().node,native:a.create(\"svg\")}},a.parser={native:a.create(\"svg\")},e.addEventListener(\"DOMContentLoaded\",(function(){a.parser.draw||a.prepare()}),!1),a.regex={numberAndUnit:/^([+-]?(\\d+(\\.\\d*)?|\\.\\d+)(e[+-]?\\d+)?)([a-z%]*)$/i,hex:/^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i,rgb:/rgb\\((\\d+),(\\d+),(\\d+)\\)/,reference:/#([a-z0-9\\-_]+)/i,transforms:/\\)\\s*,?\\s*/,whitespace:/\\s/g,isHex:/^#[a-f0-9]{3,6}$/i,isRgb:/^rgb\\(/,isCss:/[^:]+:[^;]+;?/,isBlank:/^(\\s+)?$/,isNumber:/^[+-]?(\\d+(\\.\\d*)?|\\.\\d+)(e[+-]?\\d+)?$/i,isPercent:/^-?[\\d\\.]+%$/,isImage:/\\.(jpg|jpeg|png|gif|svg)(\\?[^=]+.*)?/i,delimiter:/[\\s,]+/,hyphen:/([^e])\\-/gi,pathLetters:/[MLHVCSQTAZ]/gi,isPathLetter:/[MLHVCSQTAZ]/i,numbersWithDots:/((\\d?\\.\\d+(?:e[+-]?\\d+)?)((?:\\.\\d+(?:e[+-]?\\d+)?)+))+/gi,dots:/\\./g},a.utils={map:function(t,e){for(var i=t.length,a=[],s=0;s1?1:t,new a.Color({r:~~(this.r+(this.destination.r-this.r)*t),g:~~(this.g+(this.destination.g-this.g)*t),b:~~(this.b+(this.destination.b-this.b)*t)})):this}}),a.Color.test=function(t){return t+=\"\",a.regex.isHex.test(t)||a.regex.isRgb.test(t)},a.Color.isRgb=function(t){return t&&\"number\"==typeof t.r&&\"number\"==typeof t.g&&\"number\"==typeof t.b},a.Color.isColor=function(t){return a.Color.isRgb(t)||a.Color.test(t)},a.Array=function(t,e){0==(t=(t||[]).valueOf()).length&&e&&(t=e.valueOf()),this.value=this.parse(t)},a.extend(a.Array,{toString:function(){return this.value.join(\" \")},valueOf:function(){return this.value},parse:function(t){return t=t.valueOf(),Array.isArray(t)?t:this.split(t)}}),a.PointArray=function(t,e){a.Array.call(this,t,e||[[0,0]])},a.PointArray.prototype=new a.Array,a.PointArray.prototype.constructor=a.PointArray;for(var s={M:function(t,e,i){return e.x=i.x=t[0],e.y=i.y=t[1],[\"M\",e.x,e.y]},L:function(t,e){return e.x=t[0],e.y=t[1],[\"L\",t[0],t[1]]},H:function(t,e){return e.x=t[0],[\"H\",t[0]]},V:function(t,e){return e.y=t[0],[\"V\",t[0]]},C:function(t,e){return e.x=t[4],e.y=t[5],[\"C\",t[0],t[1],t[2],t[3],t[4],t[5]]},Q:function(t,e){return e.x=t[2],e.y=t[3],[\"Q\",t[0],t[1],t[2],t[3]]},Z:function(t,e,i){return e.x=i.x,e.y=i.y,[\"Z\"]}},r=\"mlhvqtcsaz\".split(\"\"),o=0,n=r.length;ol);return r},bbox:function(){return a.parser.draw||a.prepare(),a.parser.path.setAttribute(\"d\",this.toString()),a.parser.path.getBBox()}}),a.Number=a.invent({create:function(t,e){this.value=0,this.unit=e||\"\",\"number\"==typeof t?this.value=isNaN(t)?0:isFinite(t)?t:t<0?-34e37:34e37:\"string\"==typeof t?(e=t.match(a.regex.numberAndUnit))&&(this.value=parseFloat(e[1]),\"%\"==e[5]?this.value/=100:\"s\"==e[5]&&(this.value*=1e3),this.unit=e[5]):t instanceof a.Number&&(this.value=t.valueOf(),this.unit=t.unit)},extend:{toString:function(){return(\"%\"==this.unit?~~(1e8*this.value)/1e6:\"s\"==this.unit?this.value/1e3:this.value)+this.unit},toJSON:function(){return this.toString()},valueOf:function(){return this.value},plus:function(t){return t=new a.Number(t),new a.Number(this+t,this.unit||t.unit)},minus:function(t){return t=new a.Number(t),new a.Number(this-t,this.unit||t.unit)},times:function(t){return t=new a.Number(t),new a.Number(this*t,this.unit||t.unit)},divide:function(t){return t=new a.Number(t),new a.Number(this/t,this.unit||t.unit)},to:function(t){var e=new a.Number(this);return\"string\"==typeof t&&(e.unit=t),e},morph:function(t){return this.destination=new a.Number(t),t.relative&&(this.destination.value+=this.value),this},at:function(t){return this.destination?new a.Number(this.destination).minus(this).times(t).plus(this):this}}}),a.Element=a.invent({create:function(t){this._stroke=a.defaults.attrs.stroke,this._event=null,this.dom={},(this.node=t)&&(this.type=t.nodeName,this.node.instance=this,this._stroke=t.getAttribute(\"stroke\")||this._stroke)},extend:{x:function(t){return this.attr(\"x\",t)},y:function(t){return this.attr(\"y\",t)},cx:function(t){return null==t?this.x()+this.width()/2:this.x(t-this.width()/2)},cy:function(t){return null==t?this.y()+this.height()/2:this.y(t-this.height()/2)},move:function(t,e){return this.x(t).y(e)},center:function(t,e){return this.cx(t).cy(e)},width:function(t){return this.attr(\"width\",t)},height:function(t){return this.attr(\"height\",t)},size:function(t,e){var i=u(this,t,e);return this.width(new a.Number(i.width)).height(new a.Number(i.height))},clone:function(t){this.writeDataToDom();var e=x(this.node.cloneNode(!0));return t?t.add(e):this.after(e),e},remove:function(){return this.parent()&&this.parent().removeElement(this),this},replace:function(t){return this.after(t).remove(),t},addTo:function(t){return t.put(this)},putIn:function(t){return t.add(this)},id:function(t){return this.attr(\"id\",t)},show:function(){return this.style(\"display\",\"\")},hide:function(){return this.style(\"display\",\"none\")},visible:function(){return\"none\"!=this.style(\"display\")},toString:function(){return this.attr(\"id\")},classes:function(){var t=this.attr(\"class\");return null==t?[]:t.trim().split(a.regex.delimiter)},hasClass:function(t){return-1!=this.classes().indexOf(t)},addClass:function(t){if(!this.hasClass(t)){var e=this.classes();e.push(t),this.attr(\"class\",e.join(\" \"))}return this},removeClass:function(t){return this.hasClass(t)&&this.attr(\"class\",this.classes().filter((function(e){return e!=t})).join(\" \")),this},toggleClass:function(t){return this.hasClass(t)?this.removeClass(t):this.addClass(t)},reference:function(t){return a.get(this.attr(t))},parent:function(e){var i=this;if(!i.node.parentNode)return null;if(i=a.adopt(i.node.parentNode),!e)return i;for(;i&&i.node instanceof t.SVGElement;){if(\"string\"==typeof e?i.matches(e):i instanceof e)return i;if(!i.node.parentNode||\"#document\"==i.node.parentNode.nodeName)return null;i=a.adopt(i.node.parentNode)}},doc:function(){return this instanceof a.Doc?this:this.parent(a.Doc)},parents:function(t){var e=[],i=this;do{if(!(i=i.parent(t))||!i.node)break;e.push(i)}while(i.parent);return e},matches:function(t){return function(t,e){return(t.matches||t.matchesSelector||t.msMatchesSelector||t.mozMatchesSelector||t.webkitMatchesSelector||t.oMatchesSelector).call(t,e)}(this.node,t)},native:function(){return this.node},svg:function(t){var i=e.createElement(\"svg\");if(!(t&&this instanceof a.Parent))return i.appendChild(t=e.createElement(\"svg\")),this.writeDataToDom(),t.appendChild(this.node.cloneNode(!0)),i.innerHTML.replace(/^/,\"\").replace(/<\\/svg>$/,\"\");i.innerHTML=\"\"+t.replace(/\\n/,\"\").replace(/<([\\w:-]+)([^<]+?)\\/>/g,\"<$1$2>\")+\"\";for(var s=0,r=i.firstChild.childNodes.length;s\":function(t){return-Math.cos(t*Math.PI)/2+.5},\">\":function(t){return Math.sin(t*Math.PI/2)},\"<\":function(t){return 1-Math.cos(t*Math.PI/2)}},a.morph=function(t){return function(e,i){return new a.MorphObj(e,i).at(t)}},a.Situation=a.invent({create:function(t){this.init=!1,this.reversed=!1,this.reversing=!1,this.duration=new a.Number(t.duration).valueOf(),this.delay=new a.Number(t.delay).valueOf(),this.start=+new Date+this.delay,this.finish=this.start+this.duration,this.ease=t.ease,this.loop=0,this.loops=!1,this.animations={},this.attrs={},this.styles={},this.transforms=[],this.once={}}}),a.FX=a.invent({create:function(t){this._target=t,this.situations=[],this.active=!1,this.situation=null,this.paused=!1,this.lastPos=0,this.pos=0,this.absPos=0,this._speed=1},extend:{animate:function(t,e,s){\"object\"===i(t)&&(e=t.ease,s=t.delay,t=t.duration);var r=new a.Situation({duration:t||1e3,delay:s||0,ease:a.easing[e||\"-\"]||e});return this.queue(r),this},target:function(t){return t&&t instanceof a.Element?(this._target=t,this):this._target},timeToAbsPos:function(t){return(t-this.situation.start)/(this.situation.duration/this._speed)},absPosToTime:function(t){return this.situation.duration/this._speed*t+this.situation.start},startAnimFrame:function(){this.stopAnimFrame(),this.animationFrame=t.requestAnimationFrame(function(){this.step()}.bind(this))},stopAnimFrame:function(){t.cancelAnimationFrame(this.animationFrame)},start:function(){return!this.active&&this.situation&&(this.active=!0,this.startCurrent()),this},startCurrent:function(){return this.situation.start=+new Date+this.situation.delay/this._speed,this.situation.finish=this.situation.start+this.situation.duration/this._speed,this.initAnimations().step()},queue:function(t){return(\"function\"==typeof t||t instanceof a.Situation)&&this.situations.push(t),this.situation||(this.situation=this.situations.shift()),this},dequeue:function(){return this.stop(),this.situation=this.situations.shift(),this.situation&&(this.situation instanceof a.Situation?this.start():this.situation.call(this)),this},initAnimations:function(){var t,e=this.situation;if(e.init)return this;for(var i in e.animations){t=this.target()[i](),Array.isArray(t)||(t=[t]),Array.isArray(e.animations[i])||(e.animations[i]=[e.animations[i]]);for(var s=t.length;s--;)e.animations[i][s]instanceof a.Number&&(t[s]=new a.Number(t[s])),e.animations[i][s]=t[s].morph(e.animations[i][s])}for(var i in e.attrs)e.attrs[i]=new a.MorphObj(this.target().attr(i),e.attrs[i]);for(var i in e.styles)e.styles[i]=new a.MorphObj(this.target().style(i),e.styles[i]);return e.initialTransformation=this.target().matrixify(),e.init=!0,this},clearQueue:function(){return this.situations=[],this},clearCurrent:function(){return this.situation=null,this},stop:function(t,e){var i=this.active;return this.active=!1,e&&this.clearQueue(),t&&this.situation&&(!i&&this.startCurrent(),this.atEnd()),this.stopAnimFrame(),this.clearCurrent()},after:function(t){var e=this.last();return this.target().on(\"finished.fx\",(function i(a){a.detail.situation==e&&(t.call(this,e),this.off(\"finished.fx\",i))})),this._callStart()},during:function(t){var e=this.last(),i=function(i){i.detail.situation==e&&t.call(this,i.detail.pos,a.morph(i.detail.pos),i.detail.eased,e)};return this.target().off(\"during.fx\",i).on(\"during.fx\",i),this.after((function(){this.off(\"during.fx\",i)})),this._callStart()},afterAll:function(t){var e=function e(i){t.call(this),this.off(\"allfinished.fx\",e)};return this.target().off(\"allfinished.fx\",e).on(\"allfinished.fx\",e),this._callStart()},last:function(){return this.situations.length?this.situations[this.situations.length-1]:this.situation},add:function(t,e,i){return this.last()[i||\"animations\"][t]=e,this._callStart()},step:function(t){var e,i,a;t||(this.absPos=this.timeToAbsPos(+new Date)),!1!==this.situation.loops?(e=Math.max(this.absPos,0),i=Math.floor(e),!0===this.situation.loops||ithis.lastPos&&r<=s&&(this.situation.once[r].call(this.target(),this.pos,s),delete this.situation.once[r]);return this.active&&this.target().fire(\"during\",{pos:this.pos,eased:s,fx:this,situation:this.situation}),this.situation?(this.eachAt(),1==this.pos&&!this.situation.reversed||this.situation.reversed&&0==this.pos?(this.stopAnimFrame(),this.target().fire(\"finished\",{fx:this,situation:this.situation}),this.situations.length||(this.target().fire(\"allfinished\"),this.situations.length||(this.target().off(\".fx\"),this.active=!1)),this.active?this.dequeue():this.clearCurrent()):!this.paused&&this.active&&this.startAnimFrame(),this.lastPos=s,this):this},eachAt:function(){var t,e=this,i=this.target(),s=this.situation;for(var r in s.animations)t=[].concat(s.animations[r]).map((function(t){return\"string\"!=typeof t&&t.at?t.at(s.ease(e.pos),e.pos):t})),i[r].apply(i,t);for(var r in s.attrs)t=[r].concat(s.attrs[r]).map((function(t){return\"string\"!=typeof t&&t.at?t.at(s.ease(e.pos),e.pos):t})),i.attr.apply(i,t);for(var r in s.styles)t=[r].concat(s.styles[r]).map((function(t){return\"string\"!=typeof t&&t.at?t.at(s.ease(e.pos),e.pos):t})),i.style.apply(i,t);if(s.transforms.length){t=s.initialTransformation,r=0;for(var o=s.transforms.length;r=0;--s)this[m[s]]=null!=t[m[s]]?t[m[s]]:e[m[s]]},extend:{extract:function(){var t=f(this,0,1);f(this,1,0);var e=180/Math.PI*Math.atan2(t.y,t.x)-90;return{x:this.e,y:this.f,transformedX:(this.e*Math.cos(e*Math.PI/180)+this.f*Math.sin(e*Math.PI/180))/Math.sqrt(this.a*this.a+this.b*this.b),transformedY:(this.f*Math.cos(e*Math.PI/180)+this.e*Math.sin(-e*Math.PI/180))/Math.sqrt(this.c*this.c+this.d*this.d),rotation:e,a:this.a,b:this.b,c:this.c,d:this.d,e:this.e,f:this.f,matrix:new a.Matrix(this)}},clone:function(){return new a.Matrix(this)},morph:function(t){return this.destination=new a.Matrix(t),this},multiply:function(t){return new a.Matrix(this.native().multiply(function(t){return t instanceof a.Matrix||(t=new a.Matrix(t)),t}(t).native()))},inverse:function(){return new a.Matrix(this.native().inverse())},translate:function(t,e){return new a.Matrix(this.native().translate(t||0,e||0))},native:function(){for(var t=a.parser.native.createSVGMatrix(),e=m.length-1;e>=0;e--)t[m[e]]=this[m[e]];return t},toString:function(){return\"matrix(\"+v(this.a)+\",\"+v(this.b)+\",\"+v(this.c)+\",\"+v(this.d)+\",\"+v(this.e)+\",\"+v(this.f)+\")\"}},parent:a.Element,construct:{ctm:function(){return new a.Matrix(this.node.getCTM())},screenCTM:function(){if(this instanceof a.Nested){var t=this.rect(1,1),e=t.node.getScreenCTM();return t.remove(),new a.Matrix(e)}return new a.Matrix(this.node.getScreenCTM())}}}),a.Point=a.invent({create:function(t,e){var a;a=Array.isArray(t)?{x:t[0],y:t[1]}:\"object\"===i(t)?{x:t.x,y:t.y}:null!=t?{x:t,y:null!=e?e:t}:{x:0,y:0},this.x=a.x,this.y=a.y},extend:{clone:function(){return new a.Point(this)},morph:function(t,e){return this.destination=new a.Point(t,e),this}}}),a.extend(a.Element,{point:function(t,e){return new a.Point(t,e).transform(this.screenCTM().inverse())}}),a.extend(a.Element,{attr:function(t,e,s){if(null==t){for(t={},s=(e=this.node.attributes).length-1;s>=0;s--)t[e[s].nodeName]=a.regex.isNumber.test(e[s].nodeValue)?parseFloat(e[s].nodeValue):e[s].nodeValue;return t}if(\"object\"===i(t))for(var r in t)this.attr(r,t[r]);else if(null===e)this.node.removeAttribute(t);else{if(null==e)return null==(e=this.node.getAttribute(t))?a.defaults.attrs[t]:a.regex.isNumber.test(e)?parseFloat(e):e;\"stroke-width\"==t?this.attr(\"stroke\",parseFloat(e)>0?this._stroke:null):\"stroke\"==t&&(this._stroke=e),\"fill\"!=t&&\"stroke\"!=t||(a.regex.isImage.test(e)&&(e=this.doc().defs().image(e,0,0)),e instanceof a.Image&&(e=this.doc().defs().pattern(0,0,(function(){this.add(e)})))),\"number\"==typeof e?e=new a.Number(e):a.Color.isColor(e)?e=new a.Color(e):Array.isArray(e)&&(e=new a.Array(e)),\"leading\"==t?this.leading&&this.leading(e):\"string\"==typeof s?this.node.setAttributeNS(s,t,e.toString()):this.node.setAttribute(t,e.toString()),!this.rebuild||\"font-size\"!=t&&\"x\"!=t||this.rebuild(t,e)}return this}}),a.extend(a.Element,{transform:function(t,e){var s;return\"object\"!==i(t)?(s=new a.Matrix(this).extract(),\"string\"==typeof t?s[t]:s):(s=new a.Matrix(this),e=!!e||!!t.relative,null!=t.a&&(s=e?s.multiply(new a.Matrix(t)):new a.Matrix(t)),this.attr(\"transform\",s))}}),a.extend(a.Element,{untransform:function(){return this.attr(\"transform\",null)},matrixify:function(){return(this.attr(\"transform\")||\"\").split(a.regex.transforms).slice(0,-1).map((function(t){var e=t.trim().split(\"(\");return[e[0],e[1].split(a.regex.delimiter).map((function(t){return parseFloat(t)}))]})).reduce((function(t,e){return\"matrix\"==e[0]?t.multiply(p(e[1])):t[e[0]].apply(t,e[1])}),new a.Matrix)},toParent:function(t){if(this==t)return this;var e=this.screenCTM(),i=t.screenCTM().inverse();return this.addTo(t).untransform().transform(i.multiply(e)),this},toDoc:function(){return this.toParent(this.doc())}}),a.Transformation=a.invent({create:function(t,e){if(arguments.length>1&&\"boolean\"!=typeof e)return this.constructor.call(this,[].slice.call(arguments));if(Array.isArray(t))for(var a=0,s=this.arguments.length;a=0},index:function(t){return[].slice.call(this.node.childNodes).indexOf(t.node)},get:function(t){return a.adopt(this.node.childNodes[t])},first:function(){return this.get(0)},last:function(){return this.get(this.node.childNodes.length-1)},each:function(t,e){for(var i=this.children(),s=0,r=i.length;s=0;i--)e.childNodes[i]instanceof t.SVGElement&&x(e.childNodes[i]);return a.adopt(e).id(a.eid(e.nodeName))}function b(t){return null==t.x&&(t.x=0,t.y=0,t.width=0,t.height=0),t.w=t.width,t.h=t.height,t.x2=t.x+t.width,t.y2=t.y+t.height,t.cx=t.x+t.width/2,t.cy=t.y+t.height/2,t}function v(t){return Math.abs(t)>1e-37?t:0}[\"fill\",\"stroke\"].forEach((function(t){var e={};e[t]=function(e){if(void 0===e)return this;if(\"string\"==typeof e||a.Color.isRgb(e)||e&&\"function\"==typeof e.fill)this.attr(t,e);else for(var i=l[t].length-1;i>=0;i--)null!=e[l[t][i]]&&this.attr(l.prefix(t,l[t][i]),e[l[t][i]]);return this},a.extend(a.Element,a.FX,e)})),a.extend(a.Element,a.FX,{translate:function(t,e){return this.transform({x:t,y:e})},matrix:function(t){return this.attr(\"transform\",new a.Matrix(6==arguments.length?[].slice.call(arguments):t))},opacity:function(t){return this.attr(\"opacity\",t)},dx:function(t){return this.x(new a.Number(t).plus(this instanceof a.FX?0:this.x()),!0)},dy:function(t){return this.y(new a.Number(t).plus(this instanceof a.FX?0:this.y()),!0)}}),a.extend(a.Path,{length:function(){return this.node.getTotalLength()},pointAt:function(t){return this.node.getPointAtLength(t)}}),a.Set=a.invent({create:function(t){Array.isArray(t)?this.members=t:this.clear()},extend:{add:function(){for(var t=[].slice.call(arguments),e=0,i=t.length;e-1&&this.members.splice(e,1),this},each:function(t){for(var e=0,i=this.members.length;e=0},index:function(t){return this.members.indexOf(t)},get:function(t){return this.members[t]},first:function(){return this.get(0)},last:function(){return this.get(this.members.length-1)},valueOf:function(){return this.members}},construct:{set:function(t){return new a.Set(t)}}}),a.FX.Set=a.invent({create:function(t){this.set=t}}),a.Set.inherit=function(){var t=[];for(var e in a.Shape.prototype)\"function\"==typeof a.Shape.prototype[e]&&\"function\"!=typeof a.Set.prototype[e]&&t.push(e);for(var e in t.forEach((function(t){a.Set.prototype[t]=function(){for(var e=0,i=this.members.length;e=0;t--)delete this.memory()[arguments[t]];return this},memory:function(){return this._memory||(this._memory={})}}),a.get=function(t){var i=e.getElementById(function(t){var e=(t||\"\").toString().match(a.regex.reference);if(e)return e[1]}(t)||t);return a.adopt(i)},a.select=function(t,i){return new a.Set(a.utils.map((i||e).querySelectorAll(t),(function(t){return a.adopt(t)})))},a.extend(a.Parent,{select:function(t){return a.select(t,this.node)}});var m=\"abcdef\".split(\"\");if(\"function\"!=typeof t.CustomEvent){var y=function(t,i){i=i||{bubbles:!1,cancelable:!1,detail:void 0};var a=e.createEvent(\"CustomEvent\");return a.initCustomEvent(t,i.bubbles,i.cancelable,i.detail),a};y.prototype=t.Event.prototype,a.CustomEvent=y}else a.CustomEvent=t.CustomEvent;return a},\"function\"==typeof define&&define.amd?define((function(){return Et(Xt,Xt.document)})):\"object\"===(\"undefined\"==typeof exports?\"undefined\":i(exports))&&\"undefined\"!=typeof module?module.exports=Xt.document?Et(Xt,Xt.document):function(t){return Et(t,t.document)}:Xt.SVG=Et(Xt,Xt.document),\n/*! svg.filter.js - v2.0.2 - 2016-02-24\n* https://github.com/wout/svg.filter.js\n* Copyright (c) 2016 Wout Fierens; Licensed MIT */\nfunction(){SVG.Filter=SVG.invent({create:\"filter\",inherit:SVG.Parent,extend:{source:\"SourceGraphic\",sourceAlpha:\"SourceAlpha\",background:\"BackgroundImage\",backgroundAlpha:\"BackgroundAlpha\",fill:\"FillPaint\",stroke:\"StrokePaint\",autoSetIn:!0,put:function(t,e){return this.add(t,e),!t.attr(\"in\")&&this.autoSetIn&&t.attr(\"in\",this.source),t.attr(\"result\")||t.attr(\"result\",t),t},blend:function(t,e,i){return this.put(new SVG.BlendEffect(t,e,i))},colorMatrix:function(t,e){return this.put(new SVG.ColorMatrixEffect(t,e))},convolveMatrix:function(t){return this.put(new SVG.ConvolveMatrixEffect(t))},componentTransfer:function(t){return this.put(new SVG.ComponentTransferEffect(t))},composite:function(t,e,i){return this.put(new SVG.CompositeEffect(t,e,i))},flood:function(t,e){return this.put(new SVG.FloodEffect(t,e))},offset:function(t,e){return this.put(new SVG.OffsetEffect(t,e))},image:function(t){return this.put(new SVG.ImageEffect(t))},merge:function(){var t=[void 0];for(var e in arguments)t.push(arguments[e]);return this.put(new(SVG.MergeEffect.bind.apply(SVG.MergeEffect,t)))},gaussianBlur:function(t,e){return this.put(new SVG.GaussianBlurEffect(t,e))},morphology:function(t,e){return this.put(new SVG.MorphologyEffect(t,e))},diffuseLighting:function(t,e,i){return this.put(new SVG.DiffuseLightingEffect(t,e,i))},displacementMap:function(t,e,i,a,s){return this.put(new SVG.DisplacementMapEffect(t,e,i,a,s))},specularLighting:function(t,e,i,a){return this.put(new SVG.SpecularLightingEffect(t,e,i,a))},tile:function(){return this.put(new SVG.TileEffect)},turbulence:function(t,e,i,a,s){return this.put(new SVG.TurbulenceEffect(t,e,i,a,s))},toString:function(){return\"url(#\"+this.attr(\"id\")+\")\"}}}),SVG.extend(SVG.Defs,{filter:function(t){var e=this.put(new SVG.Filter);return\"function\"==typeof t&&t.call(e,e),e}}),SVG.extend(SVG.Container,{filter:function(t){return this.defs().filter(t)}}),SVG.extend(SVG.Element,SVG.G,SVG.Nested,{filter:function(t){return this.filterer=t instanceof SVG.Element?t:this.doc().filter(t),this.doc()&&this.filterer.doc()!==this.doc()&&this.doc().defs().add(this.filterer),this.attr(\"filter\",this.filterer),this.filterer},unfilter:function(t){return this.filterer&&!0===t&&this.filterer.remove(),delete this.filterer,this.attr(\"filter\",null)}}),SVG.Effect=SVG.invent({create:function(){this.constructor.call(this)},inherit:SVG.Element,extend:{in:function(t){return null==t?this.parent()&&this.parent().select('[result=\"'+this.attr(\"in\")+'\"]').get(0)||this.attr(\"in\"):this.attr(\"in\",t)},result:function(t){return null==t?this.attr(\"result\"):this.attr(\"result\",t)},toString:function(){return this.result()}}}),SVG.ParentEffect=SVG.invent({create:function(){this.constructor.call(this)},inherit:SVG.Parent,extend:{in:function(t){return null==t?this.parent()&&this.parent().select('[result=\"'+this.attr(\"in\")+'\"]').get(0)||this.attr(\"in\"):this.attr(\"in\",t)},result:function(t){return null==t?this.attr(\"result\"):this.attr(\"result\",t)},toString:function(){return this.result()}}});var t={blend:function(t,e){return this.parent()&&this.parent().blend(this,t,e)},colorMatrix:function(t,e){return this.parent()&&this.parent().colorMatrix(t,e).in(this)},convolveMatrix:function(t){return this.parent()&&this.parent().convolveMatrix(t).in(this)},componentTransfer:function(t){return this.parent()&&this.parent().componentTransfer(t).in(this)},composite:function(t,e){return this.parent()&&this.parent().composite(this,t,e)},flood:function(t,e){return this.parent()&&this.parent().flood(t,e)},offset:function(t,e){return this.parent()&&this.parent().offset(t,e).in(this)},image:function(t){return this.parent()&&this.parent().image(t)},merge:function(){return this.parent()&&this.parent().merge.apply(this.parent(),[this].concat(arguments))},gaussianBlur:function(t,e){return this.parent()&&this.parent().gaussianBlur(t,e).in(this)},morphology:function(t,e){return this.parent()&&this.parent().morphology(t,e).in(this)},diffuseLighting:function(t,e,i){return this.parent()&&this.parent().diffuseLighting(t,e,i).in(this)},displacementMap:function(t,e,i,a){return this.parent()&&this.parent().displacementMap(this,t,e,i,a)},specularLighting:function(t,e,i,a){return this.parent()&&this.parent().specularLighting(t,e,i,a).in(this)},tile:function(){return this.parent()&&this.parent().tile().in(this)},turbulence:function(t,e,i,a,s){return this.parent()&&this.parent().turbulence(t,e,i,a,s).in(this)}};SVG.extend(SVG.Effect,t),SVG.extend(SVG.ParentEffect,t),SVG.ChildEffect=SVG.invent({create:function(){this.constructor.call(this)},inherit:SVG.Element,extend:{in:function(t){this.attr(\"in\",t)}}});var e={blend:function(t,e,i){this.attr({in:t,in2:e,mode:i||\"normal\"})},colorMatrix:function(t,e){\"matrix\"==t&&(e=s(e)),this.attr({type:t,values:void 0===e?null:e})},convolveMatrix:function(t){t=s(t),this.attr({order:Math.sqrt(t.split(\" \").length),kernelMatrix:t})},composite:function(t,e,i){this.attr({in:t,in2:e,operator:i})},flood:function(t,e){this.attr(\"flood-color\",t),null!=e&&this.attr(\"flood-opacity\",e)},offset:function(t,e){this.attr({dx:t,dy:e})},image:function(t){this.attr(\"href\",t,SVG.xlink)},displacementMap:function(t,e,i,a,s){this.attr({in:t,in2:e,scale:i,xChannelSelector:a,yChannelSelector:s})},gaussianBlur:function(t,e){null!=t||null!=e?this.attr(\"stdDeviation\",r(Array.prototype.slice.call(arguments))):this.attr(\"stdDeviation\",\"0 0\")},morphology:function(t,e){this.attr({operator:t,radius:e})},tile:function(){},turbulence:function(t,e,i,a,s){this.attr({numOctaves:e,seed:i,stitchTiles:a,baseFrequency:t,type:s})}},i={merge:function(){var t;if(arguments[0]instanceof SVG.Set){var e=this;arguments[0].each((function(t){this instanceof SVG.MergeNode?e.put(this):(this instanceof SVG.Effect||this instanceof SVG.ParentEffect)&&e.put(new SVG.MergeNode(this))}))}else{t=Array.isArray(arguments[0])?arguments[0]:arguments;for(var i=0;i1&&(T*=a=Math.sqrt(a),M*=a);s=(new SVG.Matrix).rotate(I).scale(1/T,1/M).rotate(-I),F=F.transform(s),R=R.transform(s),r=[R.x-F.x,R.y-F.y],n=r[0]*r[0]+r[1]*r[1],o=Math.sqrt(n),r[0]/=o,r[1]/=o,l=n<4?Math.sqrt(1-n/4):0,z===X&&(l*=-1);h=new SVG.Point((R.x+F.x)/2+l*-r[1],(R.y+F.y)/2+l*r[0]),c=new SVG.Point(F.x-h.x,F.y-h.y),d=new SVG.Point(R.x-h.x,R.y-h.y),g=Math.acos(c.x/Math.sqrt(c.x*c.x+c.y*c.y)),c.y<0&&(g*=-1);u=Math.acos(d.x/Math.sqrt(d.x*d.x+d.y*d.y)),d.y<0&&(u*=-1);X&&g>u&&(u+=2*Math.PI);!X&&gr.maxX-e.width&&(o=(a=r.maxX-e.width)-this.startPoints.box.x),null!=r.minY&&sr.maxY-e.height&&(n=(s=r.maxY-e.height)-this.startPoints.box.y),null!=r.snapToGrid&&(a-=a%r.snapToGrid,s-=s%r.snapToGrid,o-=o%r.snapToGrid,n-=n%r.snapToGrid),this.el instanceof SVG.G?this.el.matrix(this.startPoints.transform).transform({x:o,y:n},!0):this.el.move(a,s));return i},t.prototype.end=function(t){var e=this.drag(t);this.el.fire(\"dragend\",{event:t,p:e,m:this.m,handler:this}),SVG.off(window,\"mousemove.drag\"),SVG.off(window,\"touchmove.drag\"),SVG.off(window,\"mouseup.drag\"),SVG.off(window,\"touchend.drag\")},SVG.extend(SVG.Element,{draggable:function(e,i){\"function\"!=typeof e&&\"object\"!=typeof e||(i=e,e=!0);var a=this.remember(\"_draggable\")||new t(this);return(e=void 0===e||e)?a.init(i||{},e):(this.off(\"mousedown.drag\"),this.off(\"touchstart.drag\")),this}})}.call(void 0),function(){function t(t){this.el=t,t.remember(\"_selectHandler\",this),this.pointSelection={isSelected:!1},this.rectSelection={isSelected:!1},this.pointsList={lt:[0,0],rt:[\"width\",0],rb:[\"width\",\"height\"],lb:[0,\"height\"],t:[\"width\",0],r:[\"width\",\"height\"],b:[\"width\",\"height\"],l:[0,\"height\"]},this.pointCoord=function(t,e,i){var a=\"string\"!=typeof t?t:e[t];return i?a/2:a},this.pointCoords=function(t,e){var i=this.pointsList[t];return{x:this.pointCoord(i[0],e,\"t\"===t||\"b\"===t),y:this.pointCoord(i[1],e,\"r\"===t||\"l\"===t)}}}t.prototype.init=function(t,e){var i=this.el.bbox();this.options={};var a=this.el.selectize.defaults.points;for(var s in this.el.selectize.defaults)this.options[s]=this.el.selectize.defaults[s],void 0!==e[s]&&(this.options[s]=e[s]);var r=[\"points\",\"pointsExclude\"];for(var s in r){var o=this.options[r[s]];\"string\"==typeof o?o=o.length>0?o.split(/\\s*,\\s*/i):[]:\"boolean\"==typeof o&&\"points\"===r[s]&&(o=o?a:[]),this.options[r[s]]=o}this.options.points=[a,this.options.points].reduce((function(t,e){return t.filter((function(t){return e.indexOf(t)>-1}))})),this.options.points=[this.options.points,this.options.pointsExclude].reduce((function(t,e){return t.filter((function(t){return e.indexOf(t)<0}))})),this.parent=this.el.parent(),this.nested=this.nested||this.parent.group(),this.nested.matrix(new SVG.Matrix(this.el).translate(i.x,i.y)),this.options.deepSelect&&-1!==[\"line\",\"polyline\",\"polygon\"].indexOf(this.el.type)?this.selectPoints(t):this.selectRect(t),this.observe(),this.cleanup()},t.prototype.selectPoints=function(t){return this.pointSelection.isSelected=t,this.pointSelection.set||(this.pointSelection.set=this.parent.set(),this.drawPoints()),this},t.prototype.getPointArray=function(){var t=this.el.bbox();return this.el.array().valueOf().map((function(e){return[e[0]-t.x,e[1]-t.y]}))},t.prototype.drawPoints=function(){for(var t=this,e=this.getPointArray(),i=0,a=e.length;i0&&this.parameters.box.height-i[1]>0){if(\"text\"===this.parameters.type)return this.el.move(this.parameters.box.x+i[0],this.parameters.box.y),void this.el.attr(\"font-size\",this.parameters.fontSize-i[0]);i=this.checkAspectRatio(i),this.el.move(this.parameters.box.x+i[0],this.parameters.box.y+i[1]).size(this.parameters.box.width-i[0],this.parameters.box.height-i[1])}};break;case\"rt\":this.calc=function(t,e){var i=this.snapToGrid(t,e,2);if(this.parameters.box.width+i[0]>0&&this.parameters.box.height-i[1]>0){if(\"text\"===this.parameters.type)return this.el.move(this.parameters.box.x-i[0],this.parameters.box.y),void this.el.attr(\"font-size\",this.parameters.fontSize+i[0]);i=this.checkAspectRatio(i,!0),this.el.move(this.parameters.box.x,this.parameters.box.y+i[1]).size(this.parameters.box.width+i[0],this.parameters.box.height-i[1])}};break;case\"rb\":this.calc=function(t,e){var i=this.snapToGrid(t,e,0);if(this.parameters.box.width+i[0]>0&&this.parameters.box.height+i[1]>0){if(\"text\"===this.parameters.type)return this.el.move(this.parameters.box.x-i[0],this.parameters.box.y),void this.el.attr(\"font-size\",this.parameters.fontSize+i[0]);i=this.checkAspectRatio(i),this.el.move(this.parameters.box.x,this.parameters.box.y).size(this.parameters.box.width+i[0],this.parameters.box.height+i[1])}};break;case\"lb\":this.calc=function(t,e){var i=this.snapToGrid(t,e,1);if(this.parameters.box.width-i[0]>0&&this.parameters.box.height+i[1]>0){if(\"text\"===this.parameters.type)return this.el.move(this.parameters.box.x+i[0],this.parameters.box.y),void this.el.attr(\"font-size\",this.parameters.fontSize-i[0]);i=this.checkAspectRatio(i,!0),this.el.move(this.parameters.box.x+i[0],this.parameters.box.y).size(this.parameters.box.width-i[0],this.parameters.box.height+i[1])}};break;case\"t\":this.calc=function(t,e){var i=this.snapToGrid(t,e,2);if(this.parameters.box.height-i[1]>0){if(\"text\"===this.parameters.type)return;this.el.move(this.parameters.box.x,this.parameters.box.y+i[1]).height(this.parameters.box.height-i[1])}};break;case\"r\":this.calc=function(t,e){var i=this.snapToGrid(t,e,0);if(this.parameters.box.width+i[0]>0){if(\"text\"===this.parameters.type)return;this.el.move(this.parameters.box.x,this.parameters.box.y).width(this.parameters.box.width+i[0])}};break;case\"b\":this.calc=function(t,e){var i=this.snapToGrid(t,e,0);if(this.parameters.box.height+i[1]>0){if(\"text\"===this.parameters.type)return;this.el.move(this.parameters.box.x,this.parameters.box.y).height(this.parameters.box.height+i[1])}};break;case\"l\":this.calc=function(t,e){var i=this.snapToGrid(t,e,1);if(this.parameters.box.width-i[0]>0){if(\"text\"===this.parameters.type)return;this.el.move(this.parameters.box.x+i[0],this.parameters.box.y).width(this.parameters.box.width-i[0])}};break;case\"rot\":this.calc=function(t,e){var i=t+this.parameters.p.x,a=e+this.parameters.p.y,s=Math.atan2(this.parameters.p.y-this.parameters.box.y-this.parameters.box.height/2,this.parameters.p.x-this.parameters.box.x-this.parameters.box.width/2),r=Math.atan2(a-this.parameters.box.y-this.parameters.box.height/2,i-this.parameters.box.x-this.parameters.box.width/2),o=this.parameters.rotation+180*(r-s)/Math.PI+this.options.snapToAngle/2;this.el.center(this.parameters.box.cx,this.parameters.box.cy).rotate(o-o%this.options.snapToAngle,this.parameters.box.cx,this.parameters.box.cy)};break;case\"point\":this.calc=function(t,e){var i=this.snapToGrid(t,e,this.parameters.pointCoords[0],this.parameters.pointCoords[1]),a=this.el.array().valueOf();a[this.parameters.i][0]=this.parameters.pointCoords[0]+i[0],a[this.parameters.i][1]=this.parameters.pointCoords[1]+i[1],this.el.plot(a)}}this.el.fire(\"resizestart\",{dx:this.parameters.x,dy:this.parameters.y,event:t}),SVG.on(window,\"touchmove.resize\",(function(t){e.update(t||window.event)})),SVG.on(window,\"touchend.resize\",(function(){e.done()})),SVG.on(window,\"mousemove.resize\",(function(t){e.update(t||window.event)})),SVG.on(window,\"mouseup.resize\",(function(){e.done()}))},t.prototype.update=function(t){if(t){var e=this._extractPosition(t),i=this.transformPoint(e.x,e.y),a=i.x-this.parameters.p.x,s=i.y-this.parameters.p.y;this.lastUpdateCall=[a,s],this.calc(a,s),this.el.fire(\"resizing\",{dx:a,dy:s,event:t})}else this.lastUpdateCall&&this.calc(this.lastUpdateCall[0],this.lastUpdateCall[1])},t.prototype.done=function(){this.lastUpdateCall=null,SVG.off(window,\"mousemove.resize\"),SVG.off(window,\"mouseup.resize\"),SVG.off(window,\"touchmove.resize\"),SVG.off(window,\"touchend.resize\"),this.el.fire(\"resizedone\")},t.prototype.snapToGrid=function(t,e,i,a){var s;return void 0!==a?s=[(i+t)%this.options.snapToGrid,(a+e)%this.options.snapToGrid]:(i=null==i?3:i,s=[(this.parameters.box.x+t+(1&i?0:this.parameters.box.width))%this.options.snapToGrid,(this.parameters.box.y+e+(2&i?0:this.parameters.box.height))%this.options.snapToGrid]),t<0&&(s[0]-=this.options.snapToGrid),e<0&&(s[1]-=this.options.snapToGrid),t-=Math.abs(s[0])o.maxX&&(t=o.maxX-s),void 0!==o.minY&&r+eo.maxY&&(e=o.maxY-r),[t,e]},t.prototype.checkAspectRatio=function(t,e){if(!this.options.saveAspectRatio)return t;var i=t.slice(),a=this.parameters.box.width/this.parameters.box.height,s=this.parameters.box.width+t[0],r=this.parameters.box.height-t[1],o=s/r;return oa&&(i[0]=this.parameters.box.width-r*a,e&&(i[0]=-i[0])),i},SVG.extend(SVG.Element,{resize:function(e){return(this.remember(\"_resizeHandler\")||new t(this)).init(e||{}),this}}),SVG.Element.prototype.resize.defaults={snapToAngle:.1,snapToGrid:1,constraint:{},saveAspectRatio:!1}}).call(this)}(),void 0===window.Apex&&(window.Apex={});var Ht=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:\"initModules\",value:function(){this.ctx.publicMethods=[\"updateOptions\",\"updateSeries\",\"appendData\",\"appendSeries\",\"toggleSeries\",\"showSeries\",\"hideSeries\",\"setLocale\",\"resetSeries\",\"zoomX\",\"toggleDataPointSelection\",\"dataURI\",\"exportToCSV\",\"addXaxisAnnotation\",\"addYaxisAnnotation\",\"addPointAnnotation\",\"clearAnnotations\",\"removeAnnotation\",\"paper\",\"destroy\"],this.ctx.eventList=[\"click\",\"mousedown\",\"mousemove\",\"mouseleave\",\"touchstart\",\"touchmove\",\"touchleave\",\"mouseup\",\"touchend\"],this.ctx.animations=new b(this.ctx),this.ctx.axes=new J(this.ctx),this.ctx.core=new Rt(this.ctx.el,this.ctx),this.ctx.config=new X({}),this.ctx.data=new N(this.ctx),this.ctx.grid=new j(this.ctx),this.ctx.graphics=new m(this.ctx),this.ctx.coreUtils=new y(this.ctx),this.ctx.crosshairs=new Q(this.ctx),this.ctx.events=new Z(this.ctx),this.ctx.exports=new G(this.ctx),this.ctx.localization=new $(this.ctx),this.ctx.options=new L,this.ctx.responsive=new K(this.ctx),this.ctx.series=new O(this.ctx),this.ctx.theme=new tt(this.ctx),this.ctx.formatters=new W(this.ctx),this.ctx.titleSubtitle=new et(this.ctx),this.ctx.legend=new lt(this.ctx),this.ctx.toolbar=new ht(this.ctx),this.ctx.tooltip=new bt(this.ctx),this.ctx.dimensions=new ot(this.ctx),this.ctx.updateHelpers=new Dt(this.ctx),this.ctx.zoomPanSelection=new ct(this.ctx),this.ctx.w.globals.tooltip=new bt(this.ctx)}}]),t}(),Ot=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:\"clear\",value:function(t){var e=t.isUpdating;this.ctx.zoomPanSelection&&this.ctx.zoomPanSelection.destroy(),this.ctx.toolbar&&this.ctx.toolbar.destroy(),this.ctx.animations=null,this.ctx.axes=null,this.ctx.annotations=null,this.ctx.core=null,this.ctx.data=null,this.ctx.grid=null,this.ctx.series=null,this.ctx.responsive=null,this.ctx.theme=null,this.ctx.formatters=null,this.ctx.titleSubtitle=null,this.ctx.legend=null,this.ctx.dimensions=null,this.ctx.options=null,this.ctx.crosshairs=null,this.ctx.zoomPanSelection=null,this.ctx.updateHelpers=null,this.ctx.toolbar=null,this.ctx.localization=null,this.ctx.w.globals.tooltip=null,this.clearDomElements({isUpdating:e})}},{key:\"killSVG\",value:function(t){t.each((function(t,e){this.removeClass(\"*\"),this.off(),this.stop()}),!0),t.ungroup(),t.clear()}},{key:\"clearDomElements\",value:function(t){var e=this,i=t.isUpdating,a=this.w.globals.dom.Paper.node;a.parentNode&&a.parentNode.parentNode&&!i&&(a.parentNode.parentNode.style.minHeight=\"unset\");var s=this.w.globals.dom.baseEl;s&&this.ctx.eventList.forEach((function(t){s.removeEventListener(t,e.ctx.events.documentEvent)}));var r=this.w.globals.dom;if(null!==this.ctx.el)for(;this.ctx.el.firstChild;)this.ctx.el.removeChild(this.ctx.el.firstChild);this.killSVG(r.Paper),r.Paper.remove(),r.elWrap=null,r.elGraphical=null,r.elAnnotations=null,r.elLegendWrap=null,r.baseEl=null,r.elGridRect=null,r.elGridRectMask=null,r.elGridRectMarkerMask=null,r.elForecastMask=null,r.elNonForecastMask=null,r.elDefs=null}}]),t}(),Nt=new WeakMap;var Wt=function(){function t(e,i){a(this,t),this.opts=i,this.ctx=this,this.w=new Y(i).init(),this.el=e,this.w.globals.cuid=x.randomId(),this.w.globals.chartID=this.w.config.chart.id?x.escapeString(this.w.config.chart.id):this.w.globals.cuid,new Ht(this).initModules(),this.create=x.bind(this.create,this),this.windowResizeHandler=this._windowResizeHandler.bind(this),this.parentResizeHandler=this._parentResizeCallback.bind(this)}return r(t,[{key:\"render\",value:function(){var t=this;return new Promise((function(e,i){if(null!==t.el){void 0===Apex._chartInstances&&(Apex._chartInstances=[]),t.w.config.chart.id&&Apex._chartInstances.push({id:t.w.globals.chartID,group:t.w.config.chart.group,chart:t}),t.setLocale(t.w.config.chart.defaultLocale);var a=t.w.config.chart.events.beforeMount;if(\"function\"==typeof a&&a(t,t.w),t.events.fireEvent(\"beforeMount\",[t,t.w]),window.addEventListener(\"resize\",t.windowResizeHandler),function(t,e){var i=!1;if(t.nodeType!==Node.DOCUMENT_FRAGMENT_NODE){var a=t.getBoundingClientRect();\"none\"!==t.style.display&&0!==a.width||(i=!0)}var s=new ResizeObserver((function(a){i&&e.call(t,a),i=!0}));t.nodeType===Node.DOCUMENT_FRAGMENT_NODE?Array.from(t.children).forEach((function(t){return s.observe(t)})):s.observe(t),Nt.set(e,s)}(t.el.parentNode,t.parentResizeHandler),!t.css){var s=t.el.getRootNode&&t.el.getRootNode(),r=x.is(\"ShadowRoot\",s),o=t.el.ownerDocument,n=o.getElementById(\"apexcharts-css\");!r&&n||(t.css=document.createElement(\"style\"),t.css.id=\"apexcharts-css\",t.css.textContent='@keyframes opaque {\\n 0% {\\n opacity: 0\\n }\\n\\n to {\\n opacity: 1\\n }\\n}\\n\\n@keyframes resizeanim {\\n 0%,to {\\n opacity: 0\\n }\\n}\\n\\n.apexcharts-canvas {\\n position: relative;\\n user-select: none\\n}\\n\\n.apexcharts-canvas ::-webkit-scrollbar {\\n -webkit-appearance: none;\\n width: 6px\\n}\\n\\n.apexcharts-canvas ::-webkit-scrollbar-thumb {\\n border-radius: 4px;\\n background-color: rgba(0,0,0,.5);\\n box-shadow: 0 0 1px rgba(255,255,255,.5);\\n -webkit-box-shadow: 0 0 1px rgba(255,255,255,.5)\\n}\\n\\n.apexcharts-inner {\\n position: relative\\n}\\n\\n.apexcharts-text tspan {\\n font-family: inherit\\n}\\n\\n.legend-mouseover-inactive {\\n transition: .15s ease all;\\n opacity: .2\\n}\\n\\n.apexcharts-legend-text {\\n padding-left: 15px;\\n margin-left: -15px;\\n}\\n\\n.apexcharts-series-collapsed {\\n opacity: 0\\n}\\n\\n.apexcharts-tooltip {\\n border-radius: 5px;\\n box-shadow: 2px 2px 6px -4px #999;\\n cursor: default;\\n font-size: 14px;\\n left: 62px;\\n opacity: 0;\\n pointer-events: none;\\n position: absolute;\\n top: 20px;\\n display: flex;\\n flex-direction: column;\\n overflow: hidden;\\n white-space: nowrap;\\n z-index: 12;\\n transition: .15s ease all\\n}\\n\\n.apexcharts-tooltip.apexcharts-active {\\n opacity: 1;\\n transition: .15s ease all\\n}\\n\\n.apexcharts-tooltip.apexcharts-theme-light {\\n border: 1px solid #e3e3e3;\\n background: rgba(255,255,255,.96)\\n}\\n\\n.apexcharts-tooltip.apexcharts-theme-dark {\\n color: #fff;\\n background: rgba(30,30,30,.8)\\n}\\n\\n.apexcharts-tooltip * {\\n font-family: inherit\\n}\\n\\n.apexcharts-tooltip-title {\\n padding: 6px;\\n font-size: 15px;\\n margin-bottom: 4px\\n}\\n\\n.apexcharts-tooltip.apexcharts-theme-light .apexcharts-tooltip-title {\\n background: #eceff1;\\n border-bottom: 1px solid #ddd\\n}\\n\\n.apexcharts-tooltip.apexcharts-theme-dark .apexcharts-tooltip-title {\\n background: rgba(0,0,0,.7);\\n border-bottom: 1px solid #333\\n}\\n\\n.apexcharts-tooltip-text-goals-value,.apexcharts-tooltip-text-y-value,.apexcharts-tooltip-text-z-value {\\n display: inline-block;\\n margin-left: 5px;\\n font-weight: 600\\n}\\n\\n.apexcharts-tooltip-text-goals-label:empty,.apexcharts-tooltip-text-goals-value:empty,.apexcharts-tooltip-text-y-label:empty,.apexcharts-tooltip-text-y-value:empty,.apexcharts-tooltip-text-z-value:empty,.apexcharts-tooltip-title:empty {\\n display: none\\n}\\n\\n.apexcharts-tooltip-text-goals-label,.apexcharts-tooltip-text-goals-value {\\n padding: 6px 0 5px\\n}\\n\\n.apexcharts-tooltip-goals-group,.apexcharts-tooltip-text-goals-label,.apexcharts-tooltip-text-goals-value {\\n display: flex\\n}\\n\\n.apexcharts-tooltip-text-goals-label:not(:empty),.apexcharts-tooltip-text-goals-value:not(:empty) {\\n margin-top: -6px\\n}\\n\\n.apexcharts-tooltip-marker {\\n width: 12px;\\n height: 12px;\\n position: relative;\\n top: 0;\\n margin-right: 10px;\\n border-radius: 50%\\n}\\n\\n.apexcharts-tooltip-series-group {\\n padding: 0 10px;\\n display: none;\\n text-align: left;\\n justify-content: left;\\n align-items: center\\n}\\n\\n.apexcharts-tooltip-series-group.apexcharts-active .apexcharts-tooltip-marker {\\n opacity: 1\\n}\\n\\n.apexcharts-tooltip-series-group.apexcharts-active,.apexcharts-tooltip-series-group:last-child {\\n padding-bottom: 4px\\n}\\n\\n.apexcharts-tooltip-series-group-hidden {\\n opacity: 0;\\n height: 0;\\n line-height: 0;\\n padding: 0!important\\n}\\n\\n.apexcharts-tooltip-y-group {\\n padding: 6px 0 5px\\n}\\n\\n.apexcharts-custom-tooltip,.apexcharts-tooltip-box {\\n padding: 4px 8px\\n}\\n\\n.apexcharts-tooltip-boxPlot {\\n display: flex;\\n flex-direction: column-reverse\\n}\\n\\n.apexcharts-tooltip-box>div {\\n margin: 4px 0\\n}\\n\\n.apexcharts-tooltip-box span.value {\\n font-weight: 700\\n}\\n\\n.apexcharts-tooltip-rangebar {\\n padding: 5px 8px\\n}\\n\\n.apexcharts-tooltip-rangebar .category {\\n font-weight: 600;\\n color: #777\\n}\\n\\n.apexcharts-tooltip-rangebar .series-name {\\n font-weight: 700;\\n display: block;\\n margin-bottom: 5px\\n}\\n\\n.apexcharts-xaxistooltip,.apexcharts-yaxistooltip {\\n opacity: 0;\\n pointer-events: none;\\n color: #373d3f;\\n font-size: 13px;\\n text-align: center;\\n border-radius: 2px;\\n position: absolute;\\n z-index: 10;\\n background: #eceff1;\\n border: 1px solid #90a4ae\\n}\\n\\n.apexcharts-xaxistooltip {\\n padding: 9px 10px;\\n transition: .15s ease all\\n}\\n\\n.apexcharts-xaxistooltip.apexcharts-theme-dark {\\n background: rgba(0,0,0,.7);\\n border: 1px solid rgba(0,0,0,.5);\\n color: #fff\\n}\\n\\n.apexcharts-xaxistooltip:after,.apexcharts-xaxistooltip:before {\\n left: 50%;\\n border: solid transparent;\\n content: \" \";\\n height: 0;\\n width: 0;\\n position: absolute;\\n pointer-events: none\\n}\\n\\n.apexcharts-xaxistooltip:after {\\n border-color: transparent;\\n border-width: 6px;\\n margin-left: -6px\\n}\\n\\n.apexcharts-xaxistooltip:before {\\n border-color: transparent;\\n border-width: 7px;\\n margin-left: -7px\\n}\\n\\n.apexcharts-xaxistooltip-bottom:after,.apexcharts-xaxistooltip-bottom:before {\\n bottom: 100%\\n}\\n\\n.apexcharts-xaxistooltip-top:after,.apexcharts-xaxistooltip-top:before {\\n top: 100%\\n}\\n\\n.apexcharts-xaxistooltip-bottom:after {\\n border-bottom-color: #eceff1\\n}\\n\\n.apexcharts-xaxistooltip-bottom:before {\\n border-bottom-color: #90a4ae\\n}\\n\\n.apexcharts-xaxistooltip-bottom.apexcharts-theme-dark:after,.apexcharts-xaxistooltip-bottom.apexcharts-theme-dark:before {\\n border-bottom-color: rgba(0,0,0,.5)\\n}\\n\\n.apexcharts-xaxistooltip-top:after {\\n border-top-color: #eceff1\\n}\\n\\n.apexcharts-xaxistooltip-top:before {\\n border-top-color: #90a4ae\\n}\\n\\n.apexcharts-xaxistooltip-top.apexcharts-theme-dark:after,.apexcharts-xaxistooltip-top.apexcharts-theme-dark:before {\\n border-top-color: rgba(0,0,0,.5)\\n}\\n\\n.apexcharts-xaxistooltip.apexcharts-active {\\n opacity: 1;\\n transition: .15s ease all\\n}\\n\\n.apexcharts-yaxistooltip {\\n padding: 4px 10px\\n}\\n\\n.apexcharts-yaxistooltip.apexcharts-theme-dark {\\n background: rgba(0,0,0,.7);\\n border: 1px solid rgba(0,0,0,.5);\\n color: #fff\\n}\\n\\n.apexcharts-yaxistooltip:after,.apexcharts-yaxistooltip:before {\\n top: 50%;\\n border: solid transparent;\\n content: \" \";\\n height: 0;\\n width: 0;\\n position: absolute;\\n pointer-events: none\\n}\\n\\n.apexcharts-yaxistooltip:after {\\n border-color: transparent;\\n border-width: 6px;\\n margin-top: -6px\\n}\\n\\n.apexcharts-yaxistooltip:before {\\n border-color: transparent;\\n border-width: 7px;\\n margin-top: -7px\\n}\\n\\n.apexcharts-yaxistooltip-left:after,.apexcharts-yaxistooltip-left:before {\\n left: 100%\\n}\\n\\n.apexcharts-yaxistooltip-right:after,.apexcharts-yaxistooltip-right:before {\\n right: 100%\\n}\\n\\n.apexcharts-yaxistooltip-left:after {\\n border-left-color: #eceff1\\n}\\n\\n.apexcharts-yaxistooltip-left:before {\\n border-left-color: #90a4ae\\n}\\n\\n.apexcharts-yaxistooltip-left.apexcharts-theme-dark:after,.apexcharts-yaxistooltip-left.apexcharts-theme-dark:before {\\n border-left-color: rgba(0,0,0,.5)\\n}\\n\\n.apexcharts-yaxistooltip-right:after {\\n border-right-color: #eceff1\\n}\\n\\n.apexcharts-yaxistooltip-right:before {\\n border-right-color: #90a4ae\\n}\\n\\n.apexcharts-yaxistooltip-right.apexcharts-theme-dark:after,.apexcharts-yaxistooltip-right.apexcharts-theme-dark:before {\\n border-right-color: rgba(0,0,0,.5)\\n}\\n\\n.apexcharts-yaxistooltip.apexcharts-active {\\n opacity: 1\\n}\\n\\n.apexcharts-yaxistooltip-hidden {\\n display: none\\n}\\n\\n.apexcharts-xcrosshairs,.apexcharts-ycrosshairs {\\n pointer-events: none;\\n opacity: 0;\\n transition: .15s ease all\\n}\\n\\n.apexcharts-xcrosshairs.apexcharts-active,.apexcharts-ycrosshairs.apexcharts-active {\\n opacity: 1;\\n transition: .15s ease all\\n}\\n\\n.apexcharts-ycrosshairs-hidden {\\n opacity: 0\\n}\\n\\n.apexcharts-selection-rect {\\n cursor: move\\n}\\n\\n.svg_select_boundingRect,.svg_select_points_rot {\\n pointer-events: none;\\n opacity: 0;\\n visibility: hidden\\n}\\n\\n.apexcharts-selection-rect+g .svg_select_boundingRect,.apexcharts-selection-rect+g .svg_select_points_rot {\\n opacity: 0;\\n visibility: hidden\\n}\\n\\n.apexcharts-selection-rect+g .svg_select_points_l,.apexcharts-selection-rect+g .svg_select_points_r {\\n cursor: ew-resize;\\n opacity: 1;\\n visibility: visible\\n}\\n\\n.svg_select_points {\\n fill: #efefef;\\n stroke: #333;\\n rx: 2\\n}\\n\\n.apexcharts-svg.apexcharts-zoomable.hovering-zoom {\\n cursor: crosshair\\n}\\n\\n.apexcharts-svg.apexcharts-zoomable.hovering-pan {\\n cursor: move\\n}\\n\\n.apexcharts-menu-icon,.apexcharts-pan-icon,.apexcharts-reset-icon,.apexcharts-selection-icon,.apexcharts-toolbar-custom-icon,.apexcharts-zoom-icon,.apexcharts-zoomin-icon,.apexcharts-zoomout-icon {\\n cursor: pointer;\\n width: 20px;\\n height: 20px;\\n line-height: 24px;\\n color: #6e8192;\\n text-align: center\\n}\\n\\n.apexcharts-menu-icon svg,.apexcharts-reset-icon svg,.apexcharts-zoom-icon svg,.apexcharts-zoomin-icon svg,.apexcharts-zoomout-icon svg {\\n fill: #6e8192\\n}\\n\\n.apexcharts-selection-icon svg {\\n fill: #444;\\n transform: scale(.76)\\n}\\n\\n.apexcharts-theme-dark .apexcharts-menu-icon svg,.apexcharts-theme-dark .apexcharts-pan-icon svg,.apexcharts-theme-dark .apexcharts-reset-icon svg,.apexcharts-theme-dark .apexcharts-selection-icon svg,.apexcharts-theme-dark .apexcharts-toolbar-custom-icon svg,.apexcharts-theme-dark .apexcharts-zoom-icon svg,.apexcharts-theme-dark .apexcharts-zoomin-icon svg,.apexcharts-theme-dark .apexcharts-zoomout-icon svg {\\n fill: #f3f4f5\\n}\\n\\n.apexcharts-canvas .apexcharts-reset-zoom-icon.apexcharts-selected svg,.apexcharts-canvas .apexcharts-selection-icon.apexcharts-selected svg,.apexcharts-canvas .apexcharts-zoom-icon.apexcharts-selected svg {\\n fill: #008ffb\\n}\\n\\n.apexcharts-theme-light .apexcharts-menu-icon:hover svg,.apexcharts-theme-light .apexcharts-reset-icon:hover svg,.apexcharts-theme-light .apexcharts-selection-icon:not(.apexcharts-selected):hover svg,.apexcharts-theme-light .apexcharts-zoom-icon:not(.apexcharts-selected):hover svg,.apexcharts-theme-light .apexcharts-zoomin-icon:hover svg,.apexcharts-theme-light .apexcharts-zoomout-icon:hover svg {\\n fill: #333\\n}\\n\\n.apexcharts-menu-icon,.apexcharts-selection-icon {\\n position: relative\\n}\\n\\n.apexcharts-reset-icon {\\n margin-left: 5px\\n}\\n\\n.apexcharts-menu-icon,.apexcharts-reset-icon,.apexcharts-zoom-icon {\\n transform: scale(.85)\\n}\\n\\n.apexcharts-zoomin-icon,.apexcharts-zoomout-icon {\\n transform: scale(.7)\\n}\\n\\n.apexcharts-zoomout-icon {\\n margin-right: 3px\\n}\\n\\n.apexcharts-pan-icon {\\n transform: scale(.62);\\n position: relative;\\n left: 1px;\\n top: 0\\n}\\n\\n.apexcharts-pan-icon svg {\\n fill: #fff;\\n stroke: #6e8192;\\n stroke-width: 2\\n}\\n\\n.apexcharts-pan-icon.apexcharts-selected svg {\\n stroke: #008ffb\\n}\\n\\n.apexcharts-pan-icon:not(.apexcharts-selected):hover svg {\\n stroke: #333\\n}\\n\\n.apexcharts-toolbar {\\n position: absolute;\\n z-index: 11;\\n max-width: 176px;\\n text-align: right;\\n border-radius: 3px;\\n padding: 0 6px 2px;\\n display: flex;\\n justify-content: space-between;\\n align-items: center\\n}\\n\\n.apexcharts-menu {\\n background: #fff;\\n position: absolute;\\n top: 100%;\\n border: 1px solid #ddd;\\n border-radius: 3px;\\n padding: 3px;\\n right: 10px;\\n opacity: 0;\\n min-width: 110px;\\n transition: .15s ease all;\\n pointer-events: none\\n}\\n\\n.apexcharts-menu.apexcharts-menu-open {\\n opacity: 1;\\n pointer-events: all;\\n transition: .15s ease all\\n}\\n\\n.apexcharts-menu-item {\\n padding: 6px 7px;\\n font-size: 12px;\\n cursor: pointer\\n}\\n\\n.apexcharts-theme-light .apexcharts-menu-item:hover {\\n background: #eee\\n}\\n\\n.apexcharts-theme-dark .apexcharts-menu {\\n background: rgba(0,0,0,.7);\\n color: #fff\\n}\\n\\n@media screen and (min-width:768px) {\\n .apexcharts-canvas:hover .apexcharts-toolbar {\\n opacity: 1\\n }\\n}\\n\\n.apexcharts-canvas .apexcharts-element-hidden,.apexcharts-datalabel.apexcharts-element-hidden,.apexcharts-hide .apexcharts-series-points {\\n opacity: 0\\n}\\n\\n.apexcharts-datalabel,.apexcharts-datalabel-label,.apexcharts-datalabel-value,.apexcharts-datalabels,.apexcharts-pie-label {\\n cursor: default;\\n pointer-events: none\\n}\\n\\n.apexcharts-pie-label-delay {\\n opacity: 0;\\n animation-name: opaque;\\n animation-duration: .3s;\\n animation-fill-mode: forwards;\\n animation-timing-function: ease\\n}\\n\\n.apexcharts-annotation-rect,.apexcharts-area-series .apexcharts-area,.apexcharts-area-series .apexcharts-series-markers .apexcharts-marker.no-pointer-events,.apexcharts-gridline,.apexcharts-line,.apexcharts-line-series .apexcharts-series-markers .apexcharts-marker.no-pointer-events,.apexcharts-point-annotation-label,.apexcharts-radar-series path,.apexcharts-radar-series polygon,.apexcharts-toolbar svg,.apexcharts-tooltip .apexcharts-marker,.apexcharts-xaxis-annotation-label,.apexcharts-yaxis-annotation-label,.apexcharts-zoom-rect {\\n pointer-events: none\\n}\\n\\n.apexcharts-marker {\\n transition: .15s ease all\\n}\\n\\n.resize-triggers {\\n animation: 1ms resizeanim;\\n visibility: hidden;\\n opacity: 0;\\n height: 100%;\\n width: 100%;\\n overflow: hidden\\n}\\n\\n.contract-trigger:before,.resize-triggers,.resize-triggers>div {\\n content: \" \";\\n display: block;\\n position: absolute;\\n top: 0;\\n left: 0\\n}\\n\\n.resize-triggers>div {\\n height: 100%;\\n width: 100%;\\n background: #eee;\\n overflow: auto\\n}\\n\\n.contract-trigger:before {\\n overflow: hidden;\\n width: 200%;\\n height: 200%\\n}\\n',r?s.prepend(t.css):o.head.appendChild(t.css))}var l=t.create(t.w.config.series,{});if(!l)return e(t);t.mount(l).then((function(){\"function\"==typeof t.w.config.chart.events.mounted&&t.w.config.chart.events.mounted(t,t.w),t.events.fireEvent(\"mounted\",[t,t.w]),e(l)})).catch((function(t){i(t)}))}else i(new Error(\"Element not found\"))}))}},{key:\"create\",value:function(t,e){var i=this.w;new Ht(this).initModules();var a=this.w.globals;(a.noData=!1,a.animationEnded=!1,this.responsive.checkResponsiveConfig(e),i.config.xaxis.convertedCatToNumeric)&&new z(i.config).convertCatToNumericXaxis(i.config,this.ctx);if(null===this.el)return a.animationEnded=!0,null;if(this.core.setupElements(),\"treemap\"===i.config.chart.type&&(i.config.grid.show=!1,i.config.yaxis[0].show=!1),0===a.svgWidth)return a.animationEnded=!0,null;var s=y.checkComboSeries(t);a.comboCharts=s.comboCharts,a.comboBarCount=s.comboBarCount;var r=t.every((function(t){return t.data&&0===t.data.length}));(0===t.length||r)&&this.series.handleNoData(),this.events.setupEventHandlers(),this.data.parseData(t),this.theme.init(),new R(this).setGlobalMarkerSize(),this.formatters.setLabelFormatters(),this.titleSubtitle.draw(),a.noData&&a.collapsedSeries.length!==a.series.length&&!i.config.legend.showForSingleSeries||this.legend.init(),this.series.hasAllSeriesEqualX(),a.axisCharts&&(this.core.coreCalculations(),\"category\"!==i.config.xaxis.type&&this.formatters.setLabelFormatters(),this.ctx.toolbar.minX=i.globals.minX,this.ctx.toolbar.maxX=i.globals.maxX),this.formatters.heatmapLabelFormatters(),new y(this).getLargestMarkerSize(),this.dimensions.plotCoords();var o=this.core.xySettings();this.grid.createGridMask();var n=this.core.plotChartType(t,o),l=new H(this);l.bringForward(),i.config.dataLabels.background.enabled&&l.dataLabelsBackground(),this.core.shiftGraphPosition();var h={plot:{left:i.globals.translateX,top:i.globals.translateY,width:i.globals.gridWidth,height:i.globals.gridHeight}};return{elGraph:n,xyRatios:o,elInner:i.globals.dom.elGraphical,dimensions:h}}},{key:\"mount\",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,i=this,a=i.w;return new Promise((function(s,r){if(null===i.el)return r(new Error(\"Not enough data to display or target element not found\"));(null===e||a.globals.allSeriesCollapsed)&&i.series.handleNoData(),i.grid=new j(i);var o=i.grid.drawGrid();\"treemap\"!==a.config.chart.type&&i.axes.drawAxis(a.config.chart.type,o),i.annotations=new P(i),i.annotations.drawImageAnnos(),i.annotations.drawTextAnnos(),\"back\"===a.config.grid.position&&o&&a.globals.dom.elGraphical.add(o.el);var n=new V(t.ctx,o),l=new q(t.ctx,o);if(null!==o&&(n.xAxisLabelCorrections(o.xAxisTickWidth),l.setYAxisTextAlignments(),a.config.yaxis.map((function(t,e){-1===a.globals.ignoreYAxisIndexes.indexOf(e)&&l.yAxisTitleRotate(e,t.opposite)}))),\"back\"===a.config.annotations.position&&(a.globals.dom.Paper.add(a.globals.dom.elAnnotations),i.annotations.drawAxesAnnotations()),Array.isArray(e.elGraph))for(var h=0;h0&&a.globals.memory.methodsToExec.forEach((function(t){t.method(t.params,!1,t.context)})),a.globals.axisCharts||a.globals.noData||i.core.resizeNonAxisCharts(),s(i)}))}},{key:\"destroy\",value:function(){var t,e;window.removeEventListener(\"resize\",this.windowResizeHandler),this.el.parentNode,t=this.parentResizeHandler,(e=Nt.get(t))&&(e.disconnect(),Nt.delete(t));var i=this.w.config.chart.id;i&&Apex._chartInstances.forEach((function(t,e){t.id===x.escapeString(i)&&Apex._chartInstances.splice(e,1)})),new Ot(this.ctx).clear({isUpdating:!1})}},{key:\"updateOptions\",value:function(t){var e=this,i=arguments.length>1&&void 0!==arguments[1]&&arguments[1],a=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],s=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],r=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],o=this.w;return o.globals.selection=void 0,t.series&&(this.series.resetSeries(!1,!0,!1),t.series.length&&t.series[0].data&&(t.series=t.series.map((function(t,i){return e.updateHelpers._extendSeries(t,i)}))),this.updateHelpers.revertDefaultAxisMinMax()),t.xaxis&&(t=this.updateHelpers.forceXAxisUpdate(t)),t.yaxis&&(t=this.updateHelpers.forceYAxisUpdate(t)),o.globals.collapsedSeriesIndices.length>0&&this.series.clearPreviousPaths(),t.theme&&(t=this.theme.updateThemeOptions(t)),this.updateHelpers._updateOptions(t,i,a,s,r)}},{key:\"updateSeries\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];return this.series.resetSeries(!1),this.updateHelpers.revertDefaultAxisMinMax(),this.updateHelpers._updateSeries(t,e,i)}},{key:\"appendSeries\",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=this.w.config.series.slice();return a.push(t),this.series.resetSeries(!1),this.updateHelpers.revertDefaultAxisMinMax(),this.updateHelpers._updateSeries(a,e,i)}},{key:\"appendData\",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=this;i.w.globals.dataChanged=!0,i.series.getPreviousPaths();for(var a=i.w.config.series.slice(),s=0;s0&&void 0!==arguments[0])||arguments[0],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.series.resetSeries(t,e)}},{key:\"addEventListener\",value:function(t,e){this.events.addEventListener(t,e)}},{key:\"removeEventListener\",value:function(t,e){this.events.removeEventListener(t,e)}},{key:\"addXaxisAnnotation\",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addXaxisAnnotationExternal(t,e,a)}},{key:\"addYaxisAnnotation\",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addYaxisAnnotationExternal(t,e,a)}},{key:\"addPointAnnotation\",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addPointAnnotationExternal(t,e,a)}},{key:\"clearAnnotations\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0,e=this;t&&(e=t),e.annotations.clearAnnotations(e)}},{key:\"removeAnnotation\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,i=this;e&&(i=e),i.annotations.removeAnnotation(i,t)}},{key:\"getChartArea\",value:function(){return this.w.globals.dom.baseEl.querySelector(\".apexcharts-inner\")}},{key:\"getSeriesTotalXRange\",value:function(t,e){return this.coreUtils.getSeriesTotalsXRange(t,e)}},{key:\"getHighestValueInSeries\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=new U(this.ctx);return e.getMinYMaxY(t).highestY}},{key:\"getLowestValueInSeries\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=new U(this.ctx);return e.getMinYMaxY(t).lowestY}},{key:\"getSeriesTotal\",value:function(){return this.w.globals.seriesTotals}},{key:\"toggleDataPointSelection\",value:function(t,e){return this.updateHelpers.toggleDataPointSelection(t,e)}},{key:\"zoomX\",value:function(t,e){this.ctx.toolbar.zoomUpdateOptions(t,e)}},{key:\"setLocale\",value:function(t){this.localization.setCurrentLocaleValues(t)}},{key:\"dataURI\",value:function(t){return new G(this.ctx).dataURI(t)}},{key:\"exportToCSV\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=new G(this.ctx);return e.exportToCSV(t)}},{key:\"paper\",value:function(){return this.w.globals.dom.Paper}},{key:\"_parentResizeCallback\",value:function(){this.w.globals.animationEnded&&this.w.config.chart.redrawOnParentResize&&this._windowResize()}},{key:\"_windowResize\",value:function(){var t=this;clearTimeout(this.w.globals.resizeTimer),this.w.globals.resizeTimer=window.setTimeout((function(){t.w.globals.resized=!0,t.w.globals.dataChanged=!1,t.ctx.update()}),150)}},{key:\"_windowResizeHandler\",value:function(){var t=this.w.config.chart.redrawOnWindowResize;\"function\"==typeof t&&(t=t()),t&&this._windowResize()}}],[{key:\"getChartByID\",value:function(t){var e=x.escapeString(t),i=Apex._chartInstances.filter((function(t){return t.id===e}))[0];return i&&i.chart}},{key:\"initOnLoad\",value:function(){for(var e=document.querySelectorAll(\"[data-apexcharts]\"),i=0;i2?s-2:0),o=2;o
    ' + html + '


    ');\n this.setContents(contents);\n this.history.clear();\n if (this.options.placeholder) {\n this.root.setAttribute('data-placeholder', this.options.placeholder);\n }\n if (this.options.readOnly) {\n this.disable();\n }\n }\n\n _createClass(Quill, [{\n key: 'addContainer',\n value: function addContainer(container) {\n var refNode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n if (typeof container === 'string') {\n var className = container;\n container = document.createElement('div');\n container.classList.add(className);\n }\n this.container.insertBefore(container, refNode);\n return container;\n }\n }, {\n key: 'blur',\n value: function blur() {\n this.selection.setRange(null);\n }\n }, {\n key: 'deleteText',\n value: function deleteText(index, length, source) {\n var _this3 = this;\n\n var _overload = overload(index, length, source);\n\n var _overload2 = _slicedToArray(_overload, 4);\n\n index = _overload2[0];\n length = _overload2[1];\n source = _overload2[3];\n\n return modify.call(this, function () {\n return _this3.editor.deleteText(index, length);\n }, source, index, -1 * length);\n }\n }, {\n key: 'disable',\n value: function disable() {\n this.enable(false);\n }\n }, {\n key: 'enable',\n value: function enable() {\n var enabled = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n this.scroll.enable(enabled);\n this.container.classList.toggle('ql-disabled', !enabled);\n }\n }, {\n key: 'focus',\n value: function focus() {\n var scrollTop = this.scrollingContainer.scrollTop;\n this.selection.focus();\n this.scrollingContainer.scrollTop = scrollTop;\n this.scrollIntoView();\n }\n }, {\n key: 'format',\n value: function format(name, value) {\n var _this4 = this;\n\n var source = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _emitter4.default.sources.API;\n\n return modify.call(this, function () {\n var range = _this4.getSelection(true);\n var change = new _quillDelta2.default();\n if (range == null) {\n return change;\n } else if (_parchment2.default.query(name, _parchment2.default.Scope.BLOCK)) {\n change = _this4.editor.formatLine(range.index, range.length, _defineProperty({}, name, value));\n } else if (range.length === 0) {\n _this4.selection.format(name, value);\n return change;\n } else {\n change = _this4.editor.formatText(range.index, range.length, _defineProperty({}, name, value));\n }\n _this4.setSelection(range, _emitter4.default.sources.SILENT);\n return change;\n }, source);\n }\n }, {\n key: 'formatLine',\n value: function formatLine(index, length, name, value, source) {\n var _this5 = this;\n\n var formats = void 0;\n\n var _overload3 = overload(index, length, name, value, source);\n\n var _overload4 = _slicedToArray(_overload3, 4);\n\n index = _overload4[0];\n length = _overload4[1];\n formats = _overload4[2];\n source = _overload4[3];\n\n return modify.call(this, function () {\n return _this5.editor.formatLine(index, length, formats);\n }, source, index, 0);\n }\n }, {\n key: 'formatText',\n value: function formatText(index, length, name, value, source) {\n var _this6 = this;\n\n var formats = void 0;\n\n var _overload5 = overload(index, length, name, value, source);\n\n var _overload6 = _slicedToArray(_overload5, 4);\n\n index = _overload6[0];\n length = _overload6[1];\n formats = _overload6[2];\n source = _overload6[3];\n\n return modify.call(this, function () {\n return _this6.editor.formatText(index, length, formats);\n }, source, index, 0);\n }\n }, {\n key: 'getBounds',\n value: function getBounds(index) {\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n\n var bounds = void 0;\n if (typeof index === 'number') {\n bounds = this.selection.getBounds(index, length);\n } else {\n bounds = this.selection.getBounds(index.index, index.length);\n }\n var containerBounds = this.container.getBoundingClientRect();\n return {\n bottom: bounds.bottom - containerBounds.top,\n height: bounds.height,\n left: bounds.left - containerBounds.left,\n right: bounds.right - containerBounds.left,\n top: bounds.top - containerBounds.top,\n width: bounds.width\n };\n }\n }, {\n key: 'getContents',\n value: function getContents() {\n var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.getLength() - index;\n\n var _overload7 = overload(index, length);\n\n var _overload8 = _slicedToArray(_overload7, 2);\n\n index = _overload8[0];\n length = _overload8[1];\n\n return this.editor.getContents(index, length);\n }\n }, {\n key: 'getFormat',\n value: function getFormat() {\n var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.getSelection(true);\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n\n if (typeof index === 'number') {\n return this.editor.getFormat(index, length);\n } else {\n return this.editor.getFormat(index.index, index.length);\n }\n }\n }, {\n key: 'getIndex',\n value: function getIndex(blot) {\n return blot.offset(this.scroll);\n }\n }, {\n key: 'getLength',\n value: function getLength() {\n return this.scroll.length();\n }\n }, {\n key: 'getLeaf',\n value: function getLeaf(index) {\n return this.scroll.leaf(index);\n }\n }, {\n key: 'getLine',\n value: function getLine(index) {\n return this.scroll.line(index);\n }\n }, {\n key: 'getLines',\n value: function getLines() {\n var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Number.MAX_VALUE;\n\n if (typeof index !== 'number') {\n return this.scroll.lines(index.index, index.length);\n } else {\n return this.scroll.lines(index, length);\n }\n }\n }, {\n key: 'getModule',\n value: function getModule(name) {\n return this.theme.modules[name];\n }\n }, {\n key: 'getSelection',\n value: function getSelection() {\n var focus = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (focus) this.focus();\n this.update(); // Make sure we access getRange with editor in consistent state\n return this.selection.getRange()[0];\n }\n }, {\n key: 'getText',\n value: function getText() {\n var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.getLength() - index;\n\n var _overload9 = overload(index, length);\n\n var _overload10 = _slicedToArray(_overload9, 2);\n\n index = _overload10[0];\n length = _overload10[1];\n\n return this.editor.getText(index, length);\n }\n }, {\n key: 'hasFocus',\n value: function hasFocus() {\n return this.selection.hasFocus();\n }\n }, {\n key: 'insertEmbed',\n value: function insertEmbed(index, embed, value) {\n var _this7 = this;\n\n var source = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : Quill.sources.API;\n\n return modify.call(this, function () {\n return _this7.editor.insertEmbed(index, embed, value);\n }, source, index);\n }\n }, {\n key: 'insertText',\n value: function insertText(index, text, name, value, source) {\n var _this8 = this;\n\n var formats = void 0;\n\n var _overload11 = overload(index, 0, name, value, source);\n\n var _overload12 = _slicedToArray(_overload11, 4);\n\n index = _overload12[0];\n formats = _overload12[2];\n source = _overload12[3];\n\n return modify.call(this, function () {\n return _this8.editor.insertText(index, text, formats);\n }, source, index, text.length);\n }\n }, {\n key: 'isEnabled',\n value: function isEnabled() {\n return !this.container.classList.contains('ql-disabled');\n }\n }, {\n key: 'off',\n value: function off() {\n return this.emitter.off.apply(this.emitter, arguments);\n }\n }, {\n key: 'on',\n value: function on() {\n return this.emitter.on.apply(this.emitter, arguments);\n }\n }, {\n key: 'once',\n value: function once() {\n return this.emitter.once.apply(this.emitter, arguments);\n }\n }, {\n key: 'pasteHTML',\n value: function pasteHTML(index, html, source) {\n this.clipboard.dangerouslyPasteHTML(index, html, source);\n }\n }, {\n key: 'removeFormat',\n value: function removeFormat(index, length, source) {\n var _this9 = this;\n\n var _overload13 = overload(index, length, source);\n\n var _overload14 = _slicedToArray(_overload13, 4);\n\n index = _overload14[0];\n length = _overload14[1];\n source = _overload14[3];\n\n return modify.call(this, function () {\n return _this9.editor.removeFormat(index, length);\n }, source, index);\n }\n }, {\n key: 'scrollIntoView',\n value: function scrollIntoView() {\n this.selection.scrollIntoView(this.scrollingContainer);\n }\n }, {\n key: 'setContents',\n value: function setContents(delta) {\n var _this10 = this;\n\n var source = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _emitter4.default.sources.API;\n\n return modify.call(this, function () {\n delta = new _quillDelta2.default(delta);\n var length = _this10.getLength();\n var deleted = _this10.editor.deleteText(0, length);\n var applied = _this10.editor.applyDelta(delta);\n var lastOp = applied.ops[applied.ops.length - 1];\n if (lastOp != null && typeof lastOp.insert === 'string' && lastOp.insert[lastOp.insert.length - 1] === '\\n') {\n _this10.editor.deleteText(_this10.getLength() - 1, 1);\n applied.delete(1);\n }\n var ret = deleted.compose(applied);\n return ret;\n }, source);\n }\n }, {\n key: 'setSelection',\n value: function setSelection(index, length, source) {\n if (index == null) {\n this.selection.setRange(null, length || Quill.sources.API);\n } else {\n var _overload15 = overload(index, length, source);\n\n var _overload16 = _slicedToArray(_overload15, 4);\n\n index = _overload16[0];\n length = _overload16[1];\n source = _overload16[3];\n\n this.selection.setRange(new _selection.Range(index, length), source);\n if (source !== _emitter4.default.sources.SILENT) {\n this.selection.scrollIntoView(this.scrollingContainer);\n }\n }\n }\n }, {\n key: 'setText',\n value: function setText(text) {\n var source = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _emitter4.default.sources.API;\n\n var delta = new _quillDelta2.default().insert(text);\n return this.setContents(delta, source);\n }\n }, {\n key: 'update',\n value: function update() {\n var source = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _emitter4.default.sources.USER;\n\n var change = this.scroll.update(source); // Will update selection before selection.update() does if text changes\n this.selection.update(source);\n return change;\n }\n }, {\n key: 'updateContents',\n value: function updateContents(delta) {\n var _this11 = this;\n\n var source = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _emitter4.default.sources.API;\n\n return modify.call(this, function () {\n delta = new _quillDelta2.default(delta);\n return _this11.editor.applyDelta(delta, source);\n }, source, true);\n }\n }]);\n\n return Quill;\n}();\n\nQuill.DEFAULTS = {\n bounds: null,\n formats: null,\n modules: {},\n placeholder: '',\n readOnly: false,\n scrollingContainer: null,\n strict: true,\n theme: 'default'\n};\nQuill.events = _emitter4.default.events;\nQuill.sources = _emitter4.default.sources;\n// eslint-disable-next-line no-undef\nQuill.version = false ? 'dev' : \"1.3.7\";\n\nQuill.imports = {\n 'delta': _quillDelta2.default,\n 'parchment': _parchment2.default,\n 'core/module': _module2.default,\n 'core/theme': _theme2.default\n};\n\nfunction expandConfig(container, userConfig) {\n userConfig = (0, _extend2.default)(true, {\n container: container,\n modules: {\n clipboard: true,\n keyboard: true,\n history: true\n }\n }, userConfig);\n if (!userConfig.theme || userConfig.theme === Quill.DEFAULTS.theme) {\n userConfig.theme = _theme2.default;\n } else {\n userConfig.theme = Quill.import('themes/' + userConfig.theme);\n if (userConfig.theme == null) {\n throw new Error('Invalid theme ' + userConfig.theme + '. Did you register it?');\n }\n }\n var themeConfig = (0, _extend2.default)(true, {}, userConfig.theme.DEFAULTS);\n [themeConfig, userConfig].forEach(function (config) {\n config.modules = config.modules || {};\n Object.keys(config.modules).forEach(function (module) {\n if (config.modules[module] === true) {\n config.modules[module] = {};\n }\n });\n });\n var moduleNames = Object.keys(themeConfig.modules).concat(Object.keys(userConfig.modules));\n var moduleConfig = moduleNames.reduce(function (config, name) {\n var moduleClass = Quill.import('modules/' + name);\n if (moduleClass == null) {\n debug.error('Cannot load ' + name + ' module. Are you sure you registered it?');\n } else {\n config[name] = moduleClass.DEFAULTS || {};\n }\n return config;\n }, {});\n // Special case toolbar shorthand\n if (userConfig.modules != null && userConfig.modules.toolbar && userConfig.modules.toolbar.constructor !== Object) {\n userConfig.modules.toolbar = {\n container: userConfig.modules.toolbar\n };\n }\n userConfig = (0, _extend2.default)(true, {}, Quill.DEFAULTS, { modules: moduleConfig }, themeConfig, userConfig);\n ['bounds', 'container', 'scrollingContainer'].forEach(function (key) {\n if (typeof userConfig[key] === 'string') {\n userConfig[key] = document.querySelector(userConfig[key]);\n }\n });\n userConfig.modules = Object.keys(userConfig.modules).reduce(function (config, name) {\n if (userConfig.modules[name]) {\n config[name] = userConfig.modules[name];\n }\n return config;\n }, {});\n return userConfig;\n}\n\n// Handle selection preservation and TEXT_CHANGE emission\n// common to modification APIs\nfunction modify(modifier, source, index, shift) {\n if (this.options.strict && !this.isEnabled() && source === _emitter4.default.sources.USER) {\n return new _quillDelta2.default();\n }\n var range = index == null ? null : this.getSelection();\n var oldDelta = this.editor.delta;\n var change = modifier();\n if (range != null) {\n if (index === true) index = range.index;\n if (shift == null) {\n range = shiftRange(range, change, source);\n } else if (shift !== 0) {\n range = shiftRange(range, index, shift, source);\n }\n this.setSelection(range, _emitter4.default.sources.SILENT);\n }\n if (change.length() > 0) {\n var _emitter;\n\n var args = [_emitter4.default.events.TEXT_CHANGE, change, oldDelta, source];\n (_emitter = this.emitter).emit.apply(_emitter, [_emitter4.default.events.EDITOR_CHANGE].concat(args));\n if (source !== _emitter4.default.sources.SILENT) {\n var _emitter2;\n\n (_emitter2 = this.emitter).emit.apply(_emitter2, args);\n }\n }\n return change;\n}\n\nfunction overload(index, length, name, value, source) {\n var formats = {};\n if (typeof index.index === 'number' && typeof index.length === 'number') {\n // Allow for throwaway end (used by insertText/insertEmbed)\n if (typeof length !== 'number') {\n source = value, value = name, name = length, length = index.length, index = index.index;\n } else {\n length = index.length, index = index.index;\n }\n } else if (typeof length !== 'number') {\n source = value, value = name, name = length, length = 0;\n }\n // Handle format being object, two format name/value strings or excluded\n if ((typeof name === 'undefined' ? 'undefined' : _typeof(name)) === 'object') {\n formats = name;\n source = value;\n } else if (typeof name === 'string') {\n if (value != null) {\n formats[name] = value;\n } else {\n source = name;\n }\n }\n // Handle optional source\n source = source || _emitter4.default.sources.API;\n return [index, length, formats, source];\n}\n\nfunction shiftRange(range, index, length, source) {\n if (range == null) return null;\n var start = void 0,\n end = void 0;\n if (index instanceof _quillDelta2.default) {\n var _map = [range.index, range.index + range.length].map(function (pos) {\n return index.transformPosition(pos, source !== _emitter4.default.sources.USER);\n });\n\n var _map2 = _slicedToArray(_map, 2);\n\n start = _map2[0];\n end = _map2[1];\n } else {\n var _map3 = [range.index, range.index + range.length].map(function (pos) {\n if (pos < index || pos === index && source === _emitter4.default.sources.USER) return pos;\n if (length >= 0) {\n return pos + length;\n } else {\n return Math.max(index, pos + length);\n }\n });\n\n var _map4 = _slicedToArray(_map3, 2);\n\n start = _map4[0];\n end = _map4[1];\n }\n return new _selection.Range(start, end - start);\n}\n\nexports.expandConfig = expandConfig;\nexports.overload = overload;\nexports.default = Quill;\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _text = __webpack_require__(7);\n\nvar _text2 = _interopRequireDefault(_text);\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Inline = function (_Parchment$Inline) {\n _inherits(Inline, _Parchment$Inline);\n\n function Inline() {\n _classCallCheck(this, Inline);\n\n return _possibleConstructorReturn(this, (Inline.__proto__ || Object.getPrototypeOf(Inline)).apply(this, arguments));\n }\n\n _createClass(Inline, [{\n key: 'formatAt',\n value: function formatAt(index, length, name, value) {\n if (Inline.compare(this.statics.blotName, name) < 0 && _parchment2.default.query(name, _parchment2.default.Scope.BLOT)) {\n var blot = this.isolate(index, length);\n if (value) {\n blot.wrap(name, value);\n }\n } else {\n _get(Inline.prototype.__proto__ || Object.getPrototypeOf(Inline.prototype), 'formatAt', this).call(this, index, length, name, value);\n }\n }\n }, {\n key: 'optimize',\n value: function optimize(context) {\n _get(Inline.prototype.__proto__ || Object.getPrototypeOf(Inline.prototype), 'optimize', this).call(this, context);\n if (this.parent instanceof Inline && Inline.compare(this.statics.blotName, this.parent.statics.blotName) > 0) {\n var parent = this.parent.isolate(this.offset(), this.length());\n this.moveChildren(parent);\n parent.wrap(this);\n }\n }\n }], [{\n key: 'compare',\n value: function compare(self, other) {\n var selfIndex = Inline.order.indexOf(self);\n var otherIndex = Inline.order.indexOf(other);\n if (selfIndex >= 0 || otherIndex >= 0) {\n return selfIndex - otherIndex;\n } else if (self === other) {\n return 0;\n } else if (self < other) {\n return -1;\n } else {\n return 1;\n }\n }\n }]);\n\n return Inline;\n}(_parchment2.default.Inline);\n\nInline.allowedChildren = [Inline, _parchment2.default.Embed, _text2.default];\n// Lower index means deeper in the DOM tree, since not found (-1) is for embeds\nInline.order = ['cursor', 'inline', // Must be lower\n'underline', 'strike', 'italic', 'bold', 'script', 'link', 'code' // Must be higher\n];\n\nexports.default = Inline;\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar TextBlot = function (_Parchment$Text) {\n _inherits(TextBlot, _Parchment$Text);\n\n function TextBlot() {\n _classCallCheck(this, TextBlot);\n\n return _possibleConstructorReturn(this, (TextBlot.__proto__ || Object.getPrototypeOf(TextBlot)).apply(this, arguments));\n }\n\n return TextBlot;\n}(_parchment2.default.Text);\n\nexports.default = TextBlot;\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _eventemitter = __webpack_require__(54);\n\nvar _eventemitter2 = _interopRequireDefault(_eventemitter);\n\nvar _logger = __webpack_require__(10);\n\nvar _logger2 = _interopRequireDefault(_logger);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar debug = (0, _logger2.default)('quill:events');\n\nvar EVENTS = ['selectionchange', 'mousedown', 'mouseup', 'click'];\n\nEVENTS.forEach(function (eventName) {\n document.addEventListener(eventName, function () {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n [].slice.call(document.querySelectorAll('.ql-container')).forEach(function (node) {\n // TODO use WeakMap\n if (node.__quill && node.__quill.emitter) {\n var _node$__quill$emitter;\n\n (_node$__quill$emitter = node.__quill.emitter).handleDOM.apply(_node$__quill$emitter, args);\n }\n });\n });\n});\n\nvar Emitter = function (_EventEmitter) {\n _inherits(Emitter, _EventEmitter);\n\n function Emitter() {\n _classCallCheck(this, Emitter);\n\n var _this = _possibleConstructorReturn(this, (Emitter.__proto__ || Object.getPrototypeOf(Emitter)).call(this));\n\n _this.listeners = {};\n _this.on('error', debug.error);\n return _this;\n }\n\n _createClass(Emitter, [{\n key: 'emit',\n value: function emit() {\n debug.log.apply(debug, arguments);\n _get(Emitter.prototype.__proto__ || Object.getPrototypeOf(Emitter.prototype), 'emit', this).apply(this, arguments);\n }\n }, {\n key: 'handleDOM',\n value: function handleDOM(event) {\n for (var _len2 = arguments.length, args = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n (this.listeners[event.type] || []).forEach(function (_ref) {\n var node = _ref.node,\n handler = _ref.handler;\n\n if (event.target === node || node.contains(event.target)) {\n handler.apply(undefined, [event].concat(args));\n }\n });\n }\n }, {\n key: 'listenDOM',\n value: function listenDOM(eventName, node, handler) {\n if (!this.listeners[eventName]) {\n this.listeners[eventName] = [];\n }\n this.listeners[eventName].push({ node: node, handler: handler });\n }\n }]);\n\n return Emitter;\n}(_eventemitter2.default);\n\nEmitter.events = {\n EDITOR_CHANGE: 'editor-change',\n SCROLL_BEFORE_UPDATE: 'scroll-before-update',\n SCROLL_OPTIMIZE: 'scroll-optimize',\n SCROLL_UPDATE: 'scroll-update',\n SELECTION_CHANGE: 'selection-change',\n TEXT_CHANGE: 'text-change'\n};\nEmitter.sources = {\n API: 'api',\n SILENT: 'silent',\n USER: 'user'\n};\n\nexports.default = Emitter;\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Module = function Module(quill) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Module);\n\n this.quill = quill;\n this.options = options;\n};\n\nModule.DEFAULTS = {};\n\nexports.default = Module;\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar levels = ['error', 'warn', 'log', 'info'];\nvar level = 'warn';\n\nfunction debug(method) {\n if (levels.indexOf(method) <= levels.indexOf(level)) {\n var _console;\n\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n (_console = console)[method].apply(_console, args); // eslint-disable-line no-console\n }\n}\n\nfunction namespace(ns) {\n return levels.reduce(function (logger, method) {\n logger[method] = debug.bind(console, method, ns);\n return logger;\n }, {});\n}\n\ndebug.level = namespace.level = function (newLevel) {\n level = newLevel;\n};\n\nexports.default = namespace;\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar pSlice = Array.prototype.slice;\nvar objectKeys = __webpack_require__(52);\nvar isArguments = __webpack_require__(53);\n\nvar deepEqual = module.exports = function (actual, expected, opts) {\n if (!opts) opts = {};\n // 7.1. All identical values are equivalent, as determined by ===.\n if (actual === expected) {\n return true;\n\n } else if (actual instanceof Date && expected instanceof Date) {\n return actual.getTime() === expected.getTime();\n\n // 7.3. Other pairs that do not both pass typeof value == 'object',\n // equivalence is determined by ==.\n } else if (!actual || !expected || typeof actual != 'object' && typeof expected != 'object') {\n return opts.strict ? actual === expected : actual == expected;\n\n // 7.4. For all other Object pairs, including Array objects, equivalence is\n // determined by having the same number of owned properties (as verified\n // with Object.prototype.hasOwnProperty.call), the same set of keys\n // (although not necessarily the same order), equivalent values for every\n // corresponding key, and an identical 'prototype' property. Note: this\n // accounts for both named and indexed properties on Arrays.\n } else {\n return objEquiv(actual, expected, opts);\n }\n}\n\nfunction isUndefinedOrNull(value) {\n return value === null || value === undefined;\n}\n\nfunction isBuffer (x) {\n if (!x || typeof x !== 'object' || typeof x.length !== 'number') return false;\n if (typeof x.copy !== 'function' || typeof x.slice !== 'function') {\n return false;\n }\n if (x.length > 0 && typeof x[0] !== 'number') return false;\n return true;\n}\n\nfunction objEquiv(a, b, opts) {\n var i, key;\n if (isUndefinedOrNull(a) || isUndefinedOrNull(b))\n return false;\n // an identical 'prototype' property.\n if (a.prototype !== b.prototype) return false;\n //~~~I've managed to break Object.keys through screwy arguments passing.\n // Converting to array solves the problem.\n if (isArguments(a)) {\n if (!isArguments(b)) {\n return false;\n }\n a = pSlice.call(a);\n b = pSlice.call(b);\n return deepEqual(a, b, opts);\n }\n if (isBuffer(a)) {\n if (!isBuffer(b)) {\n return false;\n }\n if (a.length !== b.length) return false;\n for (i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) return false;\n }\n return true;\n }\n try {\n var ka = objectKeys(a),\n kb = objectKeys(b);\n } catch (e) {//happens when one is a string literal and the other isn't\n return false;\n }\n // having the same number of owned properties (keys incorporates\n // hasOwnProperty)\n if (ka.length != kb.length)\n return false;\n //the same set of keys (although not necessarily the same order),\n ka.sort();\n kb.sort();\n //~~~cheap key test\n for (i = ka.length - 1; i >= 0; i--) {\n if (ka[i] != kb[i])\n return false;\n }\n //equivalent values for every corresponding key, and\n //~~~possibly expensive deep test\n for (i = ka.length - 1; i >= 0; i--) {\n key = ka[i];\n if (!deepEqual(a[key], b[key], opts)) return false;\n }\n return typeof a === typeof b;\n}\n\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Registry = __webpack_require__(1);\nvar Attributor = /** @class */ (function () {\n function Attributor(attrName, keyName, options) {\n if (options === void 0) { options = {}; }\n this.attrName = attrName;\n this.keyName = keyName;\n var attributeBit = Registry.Scope.TYPE & Registry.Scope.ATTRIBUTE;\n if (options.scope != null) {\n // Ignore type bits, force attribute bit\n this.scope = (options.scope & Registry.Scope.LEVEL) | attributeBit;\n }\n else {\n this.scope = Registry.Scope.ATTRIBUTE;\n }\n if (options.whitelist != null)\n this.whitelist = options.whitelist;\n }\n Attributor.keys = function (node) {\n return [].map.call(node.attributes, function (item) {\n return item.name;\n });\n };\n Attributor.prototype.add = function (node, value) {\n if (!this.canAdd(node, value))\n return false;\n node.setAttribute(this.keyName, value);\n return true;\n };\n Attributor.prototype.canAdd = function (node, value) {\n var match = Registry.query(node, Registry.Scope.BLOT & (this.scope | Registry.Scope.TYPE));\n if (match == null)\n return false;\n if (this.whitelist == null)\n return true;\n if (typeof value === 'string') {\n return this.whitelist.indexOf(value.replace(/[\"']/g, '')) > -1;\n }\n else {\n return this.whitelist.indexOf(value) > -1;\n }\n };\n Attributor.prototype.remove = function (node) {\n node.removeAttribute(this.keyName);\n };\n Attributor.prototype.value = function (node) {\n var value = node.getAttribute(this.keyName);\n if (this.canAdd(node, value) && value) {\n return value;\n }\n return '';\n };\n return Attributor;\n}());\nexports.default = Attributor;\n\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.Code = undefined;\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _quillDelta = __webpack_require__(2);\n\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _block = __webpack_require__(4);\n\nvar _block2 = _interopRequireDefault(_block);\n\nvar _inline = __webpack_require__(6);\n\nvar _inline2 = _interopRequireDefault(_inline);\n\nvar _text = __webpack_require__(7);\n\nvar _text2 = _interopRequireDefault(_text);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Code = function (_Inline) {\n _inherits(Code, _Inline);\n\n function Code() {\n _classCallCheck(this, Code);\n\n return _possibleConstructorReturn(this, (Code.__proto__ || Object.getPrototypeOf(Code)).apply(this, arguments));\n }\n\n return Code;\n}(_inline2.default);\n\nCode.blotName = 'code';\nCode.tagName = 'CODE';\n\nvar CodeBlock = function (_Block) {\n _inherits(CodeBlock, _Block);\n\n function CodeBlock() {\n _classCallCheck(this, CodeBlock);\n\n return _possibleConstructorReturn(this, (CodeBlock.__proto__ || Object.getPrototypeOf(CodeBlock)).apply(this, arguments));\n }\n\n _createClass(CodeBlock, [{\n key: 'delta',\n value: function delta() {\n var _this3 = this;\n\n var text = this.domNode.textContent;\n if (text.endsWith('\\n')) {\n // Should always be true\n text = text.slice(0, -1);\n }\n return text.split('\\n').reduce(function (delta, frag) {\n return delta.insert(frag).insert('\\n', _this3.formats());\n }, new _quillDelta2.default());\n }\n }, {\n key: 'format',\n value: function format(name, value) {\n if (name === this.statics.blotName && value) return;\n\n var _descendant = this.descendant(_text2.default, this.length() - 1),\n _descendant2 = _slicedToArray(_descendant, 1),\n text = _descendant2[0];\n\n if (text != null) {\n text.deleteAt(text.length() - 1, 1);\n }\n _get(CodeBlock.prototype.__proto__ || Object.getPrototypeOf(CodeBlock.prototype), 'format', this).call(this, name, value);\n }\n }, {\n key: 'formatAt',\n value: function formatAt(index, length, name, value) {\n if (length === 0) return;\n if (_parchment2.default.query(name, _parchment2.default.Scope.BLOCK) == null || name === this.statics.blotName && value === this.statics.formats(this.domNode)) {\n return;\n }\n var nextNewline = this.newlineIndex(index);\n if (nextNewline < 0 || nextNewline >= index + length) return;\n var prevNewline = this.newlineIndex(index, true) + 1;\n var isolateLength = nextNewline - prevNewline + 1;\n var blot = this.isolate(prevNewline, isolateLength);\n var next = blot.next;\n blot.format(name, value);\n if (next instanceof CodeBlock) {\n next.formatAt(0, index - prevNewline + length - isolateLength, name, value);\n }\n }\n }, {\n key: 'insertAt',\n value: function insertAt(index, value, def) {\n if (def != null) return;\n\n var _descendant3 = this.descendant(_text2.default, index),\n _descendant4 = _slicedToArray(_descendant3, 2),\n text = _descendant4[0],\n offset = _descendant4[1];\n\n text.insertAt(offset, value);\n }\n }, {\n key: 'length',\n value: function length() {\n var length = this.domNode.textContent.length;\n if (!this.domNode.textContent.endsWith('\\n')) {\n return length + 1;\n }\n return length;\n }\n }, {\n key: 'newlineIndex',\n value: function newlineIndex(searchIndex) {\n var reverse = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n if (!reverse) {\n var offset = this.domNode.textContent.slice(searchIndex).indexOf('\\n');\n return offset > -1 ? searchIndex + offset : -1;\n } else {\n return this.domNode.textContent.slice(0, searchIndex).lastIndexOf('\\n');\n }\n }\n }, {\n key: 'optimize',\n value: function optimize(context) {\n if (!this.domNode.textContent.endsWith('\\n')) {\n this.appendChild(_parchment2.default.create('text', '\\n'));\n }\n _get(CodeBlock.prototype.__proto__ || Object.getPrototypeOf(CodeBlock.prototype), 'optimize', this).call(this, context);\n var next = this.next;\n if (next != null && next.prev === this && next.statics.blotName === this.statics.blotName && this.statics.formats(this.domNode) === next.statics.formats(next.domNode)) {\n next.optimize(context);\n next.moveChildren(this);\n next.remove();\n }\n }\n }, {\n key: 'replace',\n value: function replace(target) {\n _get(CodeBlock.prototype.__proto__ || Object.getPrototypeOf(CodeBlock.prototype), 'replace', this).call(this, target);\n [].slice.call(this.domNode.querySelectorAll('*')).forEach(function (node) {\n var blot = _parchment2.default.find(node);\n if (blot == null) {\n node.parentNode.removeChild(node);\n } else if (blot instanceof _parchment2.default.Embed) {\n blot.remove();\n } else {\n blot.unwrap();\n }\n });\n }\n }], [{\n key: 'create',\n value: function create(value) {\n var domNode = _get(CodeBlock.__proto__ || Object.getPrototypeOf(CodeBlock), 'create', this).call(this, value);\n domNode.setAttribute('spellcheck', false);\n return domNode;\n }\n }, {\n key: 'formats',\n value: function formats() {\n return true;\n }\n }]);\n\n return CodeBlock;\n}(_block2.default);\n\nCodeBlock.blotName = 'code-block';\nCodeBlock.tagName = 'PRE';\nCodeBlock.TAB = ' ';\n\nexports.Code = Code;\nexports.default = CodeBlock;\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _quillDelta = __webpack_require__(2);\n\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\n\nvar _op = __webpack_require__(20);\n\nvar _op2 = _interopRequireDefault(_op);\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _code = __webpack_require__(13);\n\nvar _code2 = _interopRequireDefault(_code);\n\nvar _cursor = __webpack_require__(24);\n\nvar _cursor2 = _interopRequireDefault(_cursor);\n\nvar _block = __webpack_require__(4);\n\nvar _block2 = _interopRequireDefault(_block);\n\nvar _break = __webpack_require__(16);\n\nvar _break2 = _interopRequireDefault(_break);\n\nvar _clone = __webpack_require__(21);\n\nvar _clone2 = _interopRequireDefault(_clone);\n\nvar _deepEqual = __webpack_require__(11);\n\nvar _deepEqual2 = _interopRequireDefault(_deepEqual);\n\nvar _extend = __webpack_require__(3);\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar ASCII = /^[ -~]*$/;\n\nvar Editor = function () {\n function Editor(scroll) {\n _classCallCheck(this, Editor);\n\n this.scroll = scroll;\n this.delta = this.getDelta();\n }\n\n _createClass(Editor, [{\n key: 'applyDelta',\n value: function applyDelta(delta) {\n var _this = this;\n\n var consumeNextNewline = false;\n this.scroll.update();\n var scrollLength = this.scroll.length();\n this.scroll.batchStart();\n delta = normalizeDelta(delta);\n delta.reduce(function (index, op) {\n var length = op.retain || op.delete || op.insert.length || 1;\n var attributes = op.attributes || {};\n if (op.insert != null) {\n if (typeof op.insert === 'string') {\n var text = op.insert;\n if (text.endsWith('\\n') && consumeNextNewline) {\n consumeNextNewline = false;\n text = text.slice(0, -1);\n }\n if (index >= scrollLength && !text.endsWith('\\n')) {\n consumeNextNewline = true;\n }\n _this.scroll.insertAt(index, text);\n\n var _scroll$line = _this.scroll.line(index),\n _scroll$line2 = _slicedToArray(_scroll$line, 2),\n line = _scroll$line2[0],\n offset = _scroll$line2[1];\n\n var formats = (0, _extend2.default)({}, (0, _block.bubbleFormats)(line));\n if (line instanceof _block2.default) {\n var _line$descendant = line.descendant(_parchment2.default.Leaf, offset),\n _line$descendant2 = _slicedToArray(_line$descendant, 1),\n leaf = _line$descendant2[0];\n\n formats = (0, _extend2.default)(formats, (0, _block.bubbleFormats)(leaf));\n }\n attributes = _op2.default.attributes.diff(formats, attributes) || {};\n } else if (_typeof(op.insert) === 'object') {\n var key = Object.keys(op.insert)[0]; // There should only be one key\n if (key == null) return index;\n _this.scroll.insertAt(index, key, op.insert[key]);\n }\n scrollLength += length;\n }\n Object.keys(attributes).forEach(function (name) {\n _this.scroll.formatAt(index, length, name, attributes[name]);\n });\n return index + length;\n }, 0);\n delta.reduce(function (index, op) {\n if (typeof op.delete === 'number') {\n _this.scroll.deleteAt(index, op.delete);\n return index;\n }\n return index + (op.retain || op.insert.length || 1);\n }, 0);\n this.scroll.batchEnd();\n return this.update(delta);\n }\n }, {\n key: 'deleteText',\n value: function deleteText(index, length) {\n this.scroll.deleteAt(index, length);\n return this.update(new _quillDelta2.default().retain(index).delete(length));\n }\n }, {\n key: 'formatLine',\n value: function formatLine(index, length) {\n var _this2 = this;\n\n var formats = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n this.scroll.update();\n Object.keys(formats).forEach(function (format) {\n if (_this2.scroll.whitelist != null && !_this2.scroll.whitelist[format]) return;\n var lines = _this2.scroll.lines(index, Math.max(length, 1));\n var lengthRemaining = length;\n lines.forEach(function (line) {\n var lineLength = line.length();\n if (!(line instanceof _code2.default)) {\n line.format(format, formats[format]);\n } else {\n var codeIndex = index - line.offset(_this2.scroll);\n var codeLength = line.newlineIndex(codeIndex + lengthRemaining) - codeIndex + 1;\n line.formatAt(codeIndex, codeLength, format, formats[format]);\n }\n lengthRemaining -= lineLength;\n });\n });\n this.scroll.optimize();\n return this.update(new _quillDelta2.default().retain(index).retain(length, (0, _clone2.default)(formats)));\n }\n }, {\n key: 'formatText',\n value: function formatText(index, length) {\n var _this3 = this;\n\n var formats = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n Object.keys(formats).forEach(function (format) {\n _this3.scroll.formatAt(index, length, format, formats[format]);\n });\n return this.update(new _quillDelta2.default().retain(index).retain(length, (0, _clone2.default)(formats)));\n }\n }, {\n key: 'getContents',\n value: function getContents(index, length) {\n return this.delta.slice(index, index + length);\n }\n }, {\n key: 'getDelta',\n value: function getDelta() {\n return this.scroll.lines().reduce(function (delta, line) {\n return delta.concat(line.delta());\n }, new _quillDelta2.default());\n }\n }, {\n key: 'getFormat',\n value: function getFormat(index) {\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n\n var lines = [],\n leaves = [];\n if (length === 0) {\n this.scroll.path(index).forEach(function (path) {\n var _path = _slicedToArray(path, 1),\n blot = _path[0];\n\n if (blot instanceof _block2.default) {\n lines.push(blot);\n } else if (blot instanceof _parchment2.default.Leaf) {\n leaves.push(blot);\n }\n });\n } else {\n lines = this.scroll.lines(index, length);\n leaves = this.scroll.descendants(_parchment2.default.Leaf, index, length);\n }\n var formatsArr = [lines, leaves].map(function (blots) {\n if (blots.length === 0) return {};\n var formats = (0, _block.bubbleFormats)(blots.shift());\n while (Object.keys(formats).length > 0) {\n var blot = blots.shift();\n if (blot == null) return formats;\n formats = combineFormats((0, _block.bubbleFormats)(blot), formats);\n }\n return formats;\n });\n return _extend2.default.apply(_extend2.default, formatsArr);\n }\n }, {\n key: 'getText',\n value: function getText(index, length) {\n return this.getContents(index, length).filter(function (op) {\n return typeof op.insert === 'string';\n }).map(function (op) {\n return op.insert;\n }).join('');\n }\n }, {\n key: 'insertEmbed',\n value: function insertEmbed(index, embed, value) {\n this.scroll.insertAt(index, embed, value);\n return this.update(new _quillDelta2.default().retain(index).insert(_defineProperty({}, embed, value)));\n }\n }, {\n key: 'insertText',\n value: function insertText(index, text) {\n var _this4 = this;\n\n var formats = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n text = text.replace(/\\r\\n/g, '\\n').replace(/\\r/g, '\\n');\n this.scroll.insertAt(index, text);\n Object.keys(formats).forEach(function (format) {\n _this4.scroll.formatAt(index, text.length, format, formats[format]);\n });\n return this.update(new _quillDelta2.default().retain(index).insert(text, (0, _clone2.default)(formats)));\n }\n }, {\n key: 'isBlank',\n value: function isBlank() {\n if (this.scroll.children.length == 0) return true;\n if (this.scroll.children.length > 1) return false;\n var block = this.scroll.children.head;\n if (block.statics.blotName !== _block2.default.blotName) return false;\n if (block.children.length > 1) return false;\n return block.children.head instanceof _break2.default;\n }\n }, {\n key: 'removeFormat',\n value: function removeFormat(index, length) {\n var text = this.getText(index, length);\n\n var _scroll$line3 = this.scroll.line(index + length),\n _scroll$line4 = _slicedToArray(_scroll$line3, 2),\n line = _scroll$line4[0],\n offset = _scroll$line4[1];\n\n var suffixLength = 0,\n suffix = new _quillDelta2.default();\n if (line != null) {\n if (!(line instanceof _code2.default)) {\n suffixLength = line.length() - offset;\n } else {\n suffixLength = line.newlineIndex(offset) - offset + 1;\n }\n suffix = line.delta().slice(offset, offset + suffixLength - 1).insert('\\n');\n }\n var contents = this.getContents(index, length + suffixLength);\n var diff = contents.diff(new _quillDelta2.default().insert(text).concat(suffix));\n var delta = new _quillDelta2.default().retain(index).concat(diff);\n return this.applyDelta(delta);\n }\n }, {\n key: 'update',\n value: function update(change) {\n var mutations = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n var cursorIndex = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : undefined;\n\n var oldDelta = this.delta;\n if (mutations.length === 1 && mutations[0].type === 'characterData' && mutations[0].target.data.match(ASCII) && _parchment2.default.find(mutations[0].target)) {\n // Optimization for character changes\n var textBlot = _parchment2.default.find(mutations[0].target);\n var formats = (0, _block.bubbleFormats)(textBlot);\n var index = textBlot.offset(this.scroll);\n var oldValue = mutations[0].oldValue.replace(_cursor2.default.CONTENTS, '');\n var oldText = new _quillDelta2.default().insert(oldValue);\n var newText = new _quillDelta2.default().insert(textBlot.value());\n var diffDelta = new _quillDelta2.default().retain(index).concat(oldText.diff(newText, cursorIndex));\n change = diffDelta.reduce(function (delta, op) {\n if (op.insert) {\n return delta.insert(op.insert, formats);\n } else {\n return delta.push(op);\n }\n }, new _quillDelta2.default());\n this.delta = oldDelta.compose(change);\n } else {\n this.delta = this.getDelta();\n if (!change || !(0, _deepEqual2.default)(oldDelta.compose(change), this.delta)) {\n change = oldDelta.diff(this.delta, cursorIndex);\n }\n }\n return change;\n }\n }]);\n\n return Editor;\n}();\n\nfunction combineFormats(formats, combined) {\n return Object.keys(combined).reduce(function (merged, name) {\n if (formats[name] == null) return merged;\n if (combined[name] === formats[name]) {\n merged[name] = combined[name];\n } else if (Array.isArray(combined[name])) {\n if (combined[name].indexOf(formats[name]) < 0) {\n merged[name] = combined[name].concat([formats[name]]);\n }\n } else {\n merged[name] = [combined[name], formats[name]];\n }\n return merged;\n }, {});\n}\n\nfunction normalizeDelta(delta) {\n return delta.reduce(function (delta, op) {\n if (op.insert === 1) {\n var attributes = (0, _clone2.default)(op.attributes);\n delete attributes['image'];\n return delta.insert({ image: op.attributes.image }, attributes);\n }\n if (op.attributes != null && (op.attributes.list === true || op.attributes.bullet === true)) {\n op = (0, _clone2.default)(op);\n if (op.attributes.list) {\n op.attributes.list = 'ordered';\n } else {\n op.attributes.list = 'bullet';\n delete op.attributes.bullet;\n }\n }\n if (typeof op.insert === 'string') {\n var text = op.insert.replace(/\\r\\n/g, '\\n').replace(/\\r/g, '\\n');\n return delta.insert(text, op.attributes);\n }\n return delta.push(op);\n }, new _quillDelta2.default());\n}\n\nexports.default = Editor;\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.Range = undefined;\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _clone = __webpack_require__(21);\n\nvar _clone2 = _interopRequireDefault(_clone);\n\nvar _deepEqual = __webpack_require__(11);\n\nvar _deepEqual2 = _interopRequireDefault(_deepEqual);\n\nvar _emitter3 = __webpack_require__(8);\n\nvar _emitter4 = _interopRequireDefault(_emitter3);\n\nvar _logger = __webpack_require__(10);\n\nvar _logger2 = _interopRequireDefault(_logger);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar debug = (0, _logger2.default)('quill:selection');\n\nvar Range = function Range(index) {\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n\n _classCallCheck(this, Range);\n\n this.index = index;\n this.length = length;\n};\n\nvar Selection = function () {\n function Selection(scroll, emitter) {\n var _this = this;\n\n _classCallCheck(this, Selection);\n\n this.emitter = emitter;\n this.scroll = scroll;\n this.composing = false;\n this.mouseDown = false;\n this.root = this.scroll.domNode;\n this.cursor = _parchment2.default.create('cursor', this);\n // savedRange is last non-null range\n this.lastRange = this.savedRange = new Range(0, 0);\n this.handleComposition();\n this.handleDragging();\n this.emitter.listenDOM('selectionchange', document, function () {\n if (!_this.mouseDown) {\n setTimeout(_this.update.bind(_this, _emitter4.default.sources.USER), 1);\n }\n });\n this.emitter.on(_emitter4.default.events.EDITOR_CHANGE, function (type, delta) {\n if (type === _emitter4.default.events.TEXT_CHANGE && delta.length() > 0) {\n _this.update(_emitter4.default.sources.SILENT);\n }\n });\n this.emitter.on(_emitter4.default.events.SCROLL_BEFORE_UPDATE, function () {\n if (!_this.hasFocus()) return;\n var native = _this.getNativeRange();\n if (native == null) return;\n if (native.start.node === _this.cursor.textNode) return; // cursor.restore() will handle\n // TODO unclear if this has negative side effects\n _this.emitter.once(_emitter4.default.events.SCROLL_UPDATE, function () {\n try {\n _this.setNativeRange(native.start.node, native.start.offset, native.end.node, native.end.offset);\n } catch (ignored) {}\n });\n });\n this.emitter.on(_emitter4.default.events.SCROLL_OPTIMIZE, function (mutations, context) {\n if (context.range) {\n var _context$range = context.range,\n startNode = _context$range.startNode,\n startOffset = _context$range.startOffset,\n endNode = _context$range.endNode,\n endOffset = _context$range.endOffset;\n\n _this.setNativeRange(startNode, startOffset, endNode, endOffset);\n }\n });\n this.update(_emitter4.default.sources.SILENT);\n }\n\n _createClass(Selection, [{\n key: 'handleComposition',\n value: function handleComposition() {\n var _this2 = this;\n\n this.root.addEventListener('compositionstart', function () {\n _this2.composing = true;\n });\n this.root.addEventListener('compositionend', function () {\n _this2.composing = false;\n if (_this2.cursor.parent) {\n var range = _this2.cursor.restore();\n if (!range) return;\n setTimeout(function () {\n _this2.setNativeRange(range.startNode, range.startOffset, range.endNode, range.endOffset);\n }, 1);\n }\n });\n }\n }, {\n key: 'handleDragging',\n value: function handleDragging() {\n var _this3 = this;\n\n this.emitter.listenDOM('mousedown', document.body, function () {\n _this3.mouseDown = true;\n });\n this.emitter.listenDOM('mouseup', document.body, function () {\n _this3.mouseDown = false;\n _this3.update(_emitter4.default.sources.USER);\n });\n }\n }, {\n key: 'focus',\n value: function focus() {\n if (this.hasFocus()) return;\n this.root.focus();\n this.setRange(this.savedRange);\n }\n }, {\n key: 'format',\n value: function format(_format, value) {\n if (this.scroll.whitelist != null && !this.scroll.whitelist[_format]) return;\n this.scroll.update();\n var nativeRange = this.getNativeRange();\n if (nativeRange == null || !nativeRange.native.collapsed || _parchment2.default.query(_format, _parchment2.default.Scope.BLOCK)) return;\n if (nativeRange.start.node !== this.cursor.textNode) {\n var blot = _parchment2.default.find(nativeRange.start.node, false);\n if (blot == null) return;\n // TODO Give blot ability to not split\n if (blot instanceof _parchment2.default.Leaf) {\n var after = blot.split(nativeRange.start.offset);\n blot.parent.insertBefore(this.cursor, after);\n } else {\n blot.insertBefore(this.cursor, nativeRange.start.node); // Should never happen\n }\n this.cursor.attach();\n }\n this.cursor.format(_format, value);\n this.scroll.optimize();\n this.setNativeRange(this.cursor.textNode, this.cursor.textNode.data.length);\n this.update();\n }\n }, {\n key: 'getBounds',\n value: function getBounds(index) {\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n\n var scrollLength = this.scroll.length();\n index = Math.min(index, scrollLength - 1);\n length = Math.min(index + length, scrollLength - 1) - index;\n var node = void 0,\n _scroll$leaf = this.scroll.leaf(index),\n _scroll$leaf2 = _slicedToArray(_scroll$leaf, 2),\n leaf = _scroll$leaf2[0],\n offset = _scroll$leaf2[1];\n if (leaf == null) return null;\n\n var _leaf$position = leaf.position(offset, true);\n\n var _leaf$position2 = _slicedToArray(_leaf$position, 2);\n\n node = _leaf$position2[0];\n offset = _leaf$position2[1];\n\n var range = document.createRange();\n if (length > 0) {\n range.setStart(node, offset);\n\n var _scroll$leaf3 = this.scroll.leaf(index + length);\n\n var _scroll$leaf4 = _slicedToArray(_scroll$leaf3, 2);\n\n leaf = _scroll$leaf4[0];\n offset = _scroll$leaf4[1];\n\n if (leaf == null) return null;\n\n var _leaf$position3 = leaf.position(offset, true);\n\n var _leaf$position4 = _slicedToArray(_leaf$position3, 2);\n\n node = _leaf$position4[0];\n offset = _leaf$position4[1];\n\n range.setEnd(node, offset);\n return range.getBoundingClientRect();\n } else {\n var side = 'left';\n var rect = void 0;\n if (node instanceof Text) {\n if (offset < node.data.length) {\n range.setStart(node, offset);\n range.setEnd(node, offset + 1);\n } else {\n range.setStart(node, offset - 1);\n range.setEnd(node, offset);\n side = 'right';\n }\n rect = range.getBoundingClientRect();\n } else {\n rect = leaf.domNode.getBoundingClientRect();\n if (offset > 0) side = 'right';\n }\n return {\n bottom: rect.top + rect.height,\n height: rect.height,\n left: rect[side],\n right: rect[side],\n top: rect.top,\n width: 0\n };\n }\n }\n }, {\n key: 'getNativeRange',\n value: function getNativeRange() {\n var selection = document.getSelection();\n if (selection == null || selection.rangeCount <= 0) return null;\n var nativeRange = selection.getRangeAt(0);\n if (nativeRange == null) return null;\n var range = this.normalizeNative(nativeRange);\n debug.info('getNativeRange', range);\n return range;\n }\n }, {\n key: 'getRange',\n value: function getRange() {\n var normalized = this.getNativeRange();\n if (normalized == null) return [null, null];\n var range = this.normalizedToRange(normalized);\n return [range, normalized];\n }\n }, {\n key: 'hasFocus',\n value: function hasFocus() {\n return document.activeElement === this.root;\n }\n }, {\n key: 'normalizedToRange',\n value: function normalizedToRange(range) {\n var _this4 = this;\n\n var positions = [[range.start.node, range.start.offset]];\n if (!range.native.collapsed) {\n positions.push([range.end.node, range.end.offset]);\n }\n var indexes = positions.map(function (position) {\n var _position = _slicedToArray(position, 2),\n node = _position[0],\n offset = _position[1];\n\n var blot = _parchment2.default.find(node, true);\n var index = blot.offset(_this4.scroll);\n if (offset === 0) {\n return index;\n } else if (blot instanceof _parchment2.default.Container) {\n return index + blot.length();\n } else {\n return index + blot.index(node, offset);\n }\n });\n var end = Math.min(Math.max.apply(Math, _toConsumableArray(indexes)), this.scroll.length() - 1);\n var start = Math.min.apply(Math, [end].concat(_toConsumableArray(indexes)));\n return new Range(start, end - start);\n }\n }, {\n key: 'normalizeNative',\n value: function normalizeNative(nativeRange) {\n if (!contains(this.root, nativeRange.startContainer) || !nativeRange.collapsed && !contains(this.root, nativeRange.endContainer)) {\n return null;\n }\n var range = {\n start: { node: nativeRange.startContainer, offset: nativeRange.startOffset },\n end: { node: nativeRange.endContainer, offset: nativeRange.endOffset },\n native: nativeRange\n };\n [range.start, range.end].forEach(function (position) {\n var node = position.node,\n offset = position.offset;\n while (!(node instanceof Text) && node.childNodes.length > 0) {\n if (node.childNodes.length > offset) {\n node = node.childNodes[offset];\n offset = 0;\n } else if (node.childNodes.length === offset) {\n node = node.lastChild;\n offset = node instanceof Text ? node.data.length : node.childNodes.length + 1;\n } else {\n break;\n }\n }\n position.node = node, position.offset = offset;\n });\n return range;\n }\n }, {\n key: 'rangeToNative',\n value: function rangeToNative(range) {\n var _this5 = this;\n\n var indexes = range.collapsed ? [range.index] : [range.index, range.index + range.length];\n var args = [];\n var scrollLength = this.scroll.length();\n indexes.forEach(function (index, i) {\n index = Math.min(scrollLength - 1, index);\n var node = void 0,\n _scroll$leaf5 = _this5.scroll.leaf(index),\n _scroll$leaf6 = _slicedToArray(_scroll$leaf5, 2),\n leaf = _scroll$leaf6[0],\n offset = _scroll$leaf6[1];\n var _leaf$position5 = leaf.position(offset, i !== 0);\n\n var _leaf$position6 = _slicedToArray(_leaf$position5, 2);\n\n node = _leaf$position6[0];\n offset = _leaf$position6[1];\n\n args.push(node, offset);\n });\n if (args.length < 2) {\n args = args.concat(args);\n }\n return args;\n }\n }, {\n key: 'scrollIntoView',\n value: function scrollIntoView(scrollingContainer) {\n var range = this.lastRange;\n if (range == null) return;\n var bounds = this.getBounds(range.index, range.length);\n if (bounds == null) return;\n var limit = this.scroll.length() - 1;\n\n var _scroll$line = this.scroll.line(Math.min(range.index, limit)),\n _scroll$line2 = _slicedToArray(_scroll$line, 1),\n first = _scroll$line2[0];\n\n var last = first;\n if (range.length > 0) {\n var _scroll$line3 = this.scroll.line(Math.min(range.index + range.length, limit));\n\n var _scroll$line4 = _slicedToArray(_scroll$line3, 1);\n\n last = _scroll$line4[0];\n }\n if (first == null || last == null) return;\n var scrollBounds = scrollingContainer.getBoundingClientRect();\n if (bounds.top < scrollBounds.top) {\n scrollingContainer.scrollTop -= scrollBounds.top - bounds.top;\n } else if (bounds.bottom > scrollBounds.bottom) {\n scrollingContainer.scrollTop += bounds.bottom - scrollBounds.bottom;\n }\n }\n }, {\n key: 'setNativeRange',\n value: function setNativeRange(startNode, startOffset) {\n var endNode = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : startNode;\n var endOffset = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : startOffset;\n var force = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n debug.info('setNativeRange', startNode, startOffset, endNode, endOffset);\n if (startNode != null && (this.root.parentNode == null || startNode.parentNode == null || endNode.parentNode == null)) {\n return;\n }\n var selection = document.getSelection();\n if (selection == null) return;\n if (startNode != null) {\n if (!this.hasFocus()) this.root.focus();\n var native = (this.getNativeRange() || {}).native;\n if (native == null || force || startNode !== native.startContainer || startOffset !== native.startOffset || endNode !== native.endContainer || endOffset !== native.endOffset) {\n\n if (startNode.tagName == \"BR\") {\n startOffset = [].indexOf.call(startNode.parentNode.childNodes, startNode);\n startNode = startNode.parentNode;\n }\n if (endNode.tagName == \"BR\") {\n endOffset = [].indexOf.call(endNode.parentNode.childNodes, endNode);\n endNode = endNode.parentNode;\n }\n var range = document.createRange();\n range.setStart(startNode, startOffset);\n range.setEnd(endNode, endOffset);\n selection.removeAllRanges();\n selection.addRange(range);\n }\n } else {\n selection.removeAllRanges();\n this.root.blur();\n document.body.focus(); // root.blur() not enough on IE11+Travis+SauceLabs (but not local VMs)\n }\n }\n }, {\n key: 'setRange',\n value: function setRange(range) {\n var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var source = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _emitter4.default.sources.API;\n\n if (typeof force === 'string') {\n source = force;\n force = false;\n }\n debug.info('setRange', range);\n if (range != null) {\n var args = this.rangeToNative(range);\n this.setNativeRange.apply(this, _toConsumableArray(args).concat([force]));\n } else {\n this.setNativeRange(null);\n }\n this.update(source);\n }\n }, {\n key: 'update',\n value: function update() {\n var source = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _emitter4.default.sources.USER;\n\n var oldRange = this.lastRange;\n\n var _getRange = this.getRange(),\n _getRange2 = _slicedToArray(_getRange, 2),\n lastRange = _getRange2[0],\n nativeRange = _getRange2[1];\n\n this.lastRange = lastRange;\n if (this.lastRange != null) {\n this.savedRange = this.lastRange;\n }\n if (!(0, _deepEqual2.default)(oldRange, this.lastRange)) {\n var _emitter;\n\n if (!this.composing && nativeRange != null && nativeRange.native.collapsed && nativeRange.start.node !== this.cursor.textNode) {\n this.cursor.restore();\n }\n var args = [_emitter4.default.events.SELECTION_CHANGE, (0, _clone2.default)(this.lastRange), (0, _clone2.default)(oldRange), source];\n (_emitter = this.emitter).emit.apply(_emitter, [_emitter4.default.events.EDITOR_CHANGE].concat(args));\n if (source !== _emitter4.default.sources.SILENT) {\n var _emitter2;\n\n (_emitter2 = this.emitter).emit.apply(_emitter2, args);\n }\n }\n }\n }]);\n\n return Selection;\n}();\n\nfunction contains(parent, descendant) {\n try {\n // Firefox inserts inaccessible nodes around video elements\n descendant.parentNode;\n } catch (e) {\n return false;\n }\n // IE11 has bug with Text nodes\n // https://connect.microsoft.com/IE/feedback/details/780874/node-contains-is-incorrect\n if (descendant instanceof Text) {\n descendant = descendant.parentNode;\n }\n return parent.contains(descendant);\n}\n\nexports.Range = Range;\nexports.default = Selection;\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Break = function (_Parchment$Embed) {\n _inherits(Break, _Parchment$Embed);\n\n function Break() {\n _classCallCheck(this, Break);\n\n return _possibleConstructorReturn(this, (Break.__proto__ || Object.getPrototypeOf(Break)).apply(this, arguments));\n }\n\n _createClass(Break, [{\n key: 'insertInto',\n value: function insertInto(parent, ref) {\n if (parent.children.length === 0) {\n _get(Break.prototype.__proto__ || Object.getPrototypeOf(Break.prototype), 'insertInto', this).call(this, parent, ref);\n } else {\n this.remove();\n }\n }\n }, {\n key: 'length',\n value: function length() {\n return 0;\n }\n }, {\n key: 'value',\n value: function value() {\n return '';\n }\n }], [{\n key: 'value',\n value: function value() {\n return undefined;\n }\n }]);\n\n return Break;\n}(_parchment2.default.Embed);\n\nBreak.blotName = 'break';\nBreak.tagName = 'BR';\n\nexports.default = Break;\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar linked_list_1 = __webpack_require__(44);\nvar shadow_1 = __webpack_require__(30);\nvar Registry = __webpack_require__(1);\nvar ContainerBlot = /** @class */ (function (_super) {\n __extends(ContainerBlot, _super);\n function ContainerBlot(domNode) {\n var _this = _super.call(this, domNode) || this;\n _this.build();\n return _this;\n }\n ContainerBlot.prototype.appendChild = function (other) {\n this.insertBefore(other);\n };\n ContainerBlot.prototype.attach = function () {\n _super.prototype.attach.call(this);\n this.children.forEach(function (child) {\n child.attach();\n });\n };\n ContainerBlot.prototype.build = function () {\n var _this = this;\n this.children = new linked_list_1.default();\n // Need to be reversed for if DOM nodes already in order\n [].slice\n .call(this.domNode.childNodes)\n .reverse()\n .forEach(function (node) {\n try {\n var child = makeBlot(node);\n _this.insertBefore(child, _this.children.head || undefined);\n }\n catch (err) {\n if (err instanceof Registry.ParchmentError)\n return;\n else\n throw err;\n }\n });\n };\n ContainerBlot.prototype.deleteAt = function (index, length) {\n if (index === 0 && length === this.length()) {\n return this.remove();\n }\n this.children.forEachAt(index, length, function (child, offset, length) {\n child.deleteAt(offset, length);\n });\n };\n ContainerBlot.prototype.descendant = function (criteria, index) {\n var _a = this.children.find(index), child = _a[0], offset = _a[1];\n if ((criteria.blotName == null && criteria(child)) ||\n (criteria.blotName != null && child instanceof criteria)) {\n return [child, offset];\n }\n else if (child instanceof ContainerBlot) {\n return child.descendant(criteria, offset);\n }\n else {\n return [null, -1];\n }\n };\n ContainerBlot.prototype.descendants = function (criteria, index, length) {\n if (index === void 0) { index = 0; }\n if (length === void 0) { length = Number.MAX_VALUE; }\n var descendants = [];\n var lengthLeft = length;\n this.children.forEachAt(index, length, function (child, index, length) {\n if ((criteria.blotName == null && criteria(child)) ||\n (criteria.blotName != null && child instanceof criteria)) {\n descendants.push(child);\n }\n if (child instanceof ContainerBlot) {\n descendants = descendants.concat(child.descendants(criteria, index, lengthLeft));\n }\n lengthLeft -= length;\n });\n return descendants;\n };\n ContainerBlot.prototype.detach = function () {\n this.children.forEach(function (child) {\n child.detach();\n });\n _super.prototype.detach.call(this);\n };\n ContainerBlot.prototype.formatAt = function (index, length, name, value) {\n this.children.forEachAt(index, length, function (child, offset, length) {\n child.formatAt(offset, length, name, value);\n });\n };\n ContainerBlot.prototype.insertAt = function (index, value, def) {\n var _a = this.children.find(index), child = _a[0], offset = _a[1];\n if (child) {\n child.insertAt(offset, value, def);\n }\n else {\n var blot = def == null ? Registry.create('text', value) : Registry.create(value, def);\n this.appendChild(blot);\n }\n };\n ContainerBlot.prototype.insertBefore = function (childBlot, refBlot) {\n if (this.statics.allowedChildren != null &&\n !this.statics.allowedChildren.some(function (child) {\n return childBlot instanceof child;\n })) {\n throw new Registry.ParchmentError(\"Cannot insert \" + childBlot.statics.blotName + \" into \" + this.statics.blotName);\n }\n childBlot.insertInto(this, refBlot);\n };\n ContainerBlot.prototype.length = function () {\n return this.children.reduce(function (memo, child) {\n return memo + child.length();\n }, 0);\n };\n ContainerBlot.prototype.moveChildren = function (targetParent, refNode) {\n this.children.forEach(function (child) {\n targetParent.insertBefore(child, refNode);\n });\n };\n ContainerBlot.prototype.optimize = function (context) {\n _super.prototype.optimize.call(this, context);\n if (this.children.length === 0) {\n if (this.statics.defaultChild != null) {\n var child = Registry.create(this.statics.defaultChild);\n this.appendChild(child);\n child.optimize(context);\n }\n else {\n this.remove();\n }\n }\n };\n ContainerBlot.prototype.path = function (index, inclusive) {\n if (inclusive === void 0) { inclusive = false; }\n var _a = this.children.find(index, inclusive), child = _a[0], offset = _a[1];\n var position = [[this, index]];\n if (child instanceof ContainerBlot) {\n return position.concat(child.path(offset, inclusive));\n }\n else if (child != null) {\n position.push([child, offset]);\n }\n return position;\n };\n ContainerBlot.prototype.removeChild = function (child) {\n this.children.remove(child);\n };\n ContainerBlot.prototype.replace = function (target) {\n if (target instanceof ContainerBlot) {\n target.moveChildren(this);\n }\n _super.prototype.replace.call(this, target);\n };\n ContainerBlot.prototype.split = function (index, force) {\n if (force === void 0) { force = false; }\n if (!force) {\n if (index === 0)\n return this;\n if (index === this.length())\n return this.next;\n }\n var after = this.clone();\n this.parent.insertBefore(after, this.next);\n this.children.forEachAt(index, this.length(), function (child, offset, length) {\n child = child.split(offset, force);\n after.appendChild(child);\n });\n return after;\n };\n ContainerBlot.prototype.unwrap = function () {\n this.moveChildren(this.parent, this.next);\n this.remove();\n };\n ContainerBlot.prototype.update = function (mutations, context) {\n var _this = this;\n var addedNodes = [];\n var removedNodes = [];\n mutations.forEach(function (mutation) {\n if (mutation.target === _this.domNode && mutation.type === 'childList') {\n addedNodes.push.apply(addedNodes, mutation.addedNodes);\n removedNodes.push.apply(removedNodes, mutation.removedNodes);\n }\n });\n removedNodes.forEach(function (node) {\n // Check node has actually been removed\n // One exception is Chrome does not immediately remove IFRAMEs\n // from DOM but MutationRecord is correct in its reported removal\n if (node.parentNode != null &&\n // @ts-ignore\n node.tagName !== 'IFRAME' &&\n document.body.compareDocumentPosition(node) & Node.DOCUMENT_POSITION_CONTAINED_BY) {\n return;\n }\n var blot = Registry.find(node);\n if (blot == null)\n return;\n if (blot.domNode.parentNode == null || blot.domNode.parentNode === _this.domNode) {\n blot.detach();\n }\n });\n addedNodes\n .filter(function (node) {\n return node.parentNode == _this.domNode;\n })\n .sort(function (a, b) {\n if (a === b)\n return 0;\n if (a.compareDocumentPosition(b) & Node.DOCUMENT_POSITION_FOLLOWING) {\n return 1;\n }\n return -1;\n })\n .forEach(function (node) {\n var refBlot = null;\n if (node.nextSibling != null) {\n refBlot = Registry.find(node.nextSibling);\n }\n var blot = makeBlot(node);\n if (blot.next != refBlot || blot.next == null) {\n if (blot.parent != null) {\n blot.parent.removeChild(_this);\n }\n _this.insertBefore(blot, refBlot || undefined);\n }\n });\n };\n return ContainerBlot;\n}(shadow_1.default));\nfunction makeBlot(node) {\n var blot = Registry.find(node);\n if (blot == null) {\n try {\n blot = Registry.create(node);\n }\n catch (e) {\n blot = Registry.create(Registry.Scope.INLINE);\n [].slice.call(node.childNodes).forEach(function (child) {\n // @ts-ignore\n blot.domNode.appendChild(child);\n });\n if (node.parentNode) {\n node.parentNode.replaceChild(blot.domNode, node);\n }\n blot.attach();\n }\n }\n return blot;\n}\nexports.default = ContainerBlot;\n\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar attributor_1 = __webpack_require__(12);\nvar store_1 = __webpack_require__(31);\nvar container_1 = __webpack_require__(17);\nvar Registry = __webpack_require__(1);\nvar FormatBlot = /** @class */ (function (_super) {\n __extends(FormatBlot, _super);\n function FormatBlot(domNode) {\n var _this = _super.call(this, domNode) || this;\n _this.attributes = new store_1.default(_this.domNode);\n return _this;\n }\n FormatBlot.formats = function (domNode) {\n if (typeof this.tagName === 'string') {\n return true;\n }\n else if (Array.isArray(this.tagName)) {\n return domNode.tagName.toLowerCase();\n }\n return undefined;\n };\n FormatBlot.prototype.format = function (name, value) {\n var format = Registry.query(name);\n if (format instanceof attributor_1.default) {\n this.attributes.attribute(format, value);\n }\n else if (value) {\n if (format != null && (name !== this.statics.blotName || this.formats()[name] !== value)) {\n this.replaceWith(name, value);\n }\n }\n };\n FormatBlot.prototype.formats = function () {\n var formats = this.attributes.values();\n var format = this.statics.formats(this.domNode);\n if (format != null) {\n formats[this.statics.blotName] = format;\n }\n return formats;\n };\n FormatBlot.prototype.replaceWith = function (name, value) {\n var replacement = _super.prototype.replaceWith.call(this, name, value);\n this.attributes.copy(replacement);\n return replacement;\n };\n FormatBlot.prototype.update = function (mutations, context) {\n var _this = this;\n _super.prototype.update.call(this, mutations, context);\n if (mutations.some(function (mutation) {\n return mutation.target === _this.domNode && mutation.type === 'attributes';\n })) {\n this.attributes.build();\n }\n };\n FormatBlot.prototype.wrap = function (name, value) {\n var wrapper = _super.prototype.wrap.call(this, name, value);\n if (wrapper instanceof FormatBlot && wrapper.statics.scope === this.statics.scope) {\n this.attributes.move(wrapper);\n }\n return wrapper;\n };\n return FormatBlot;\n}(container_1.default));\nexports.default = FormatBlot;\n\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar shadow_1 = __webpack_require__(30);\nvar Registry = __webpack_require__(1);\nvar LeafBlot = /** @class */ (function (_super) {\n __extends(LeafBlot, _super);\n function LeafBlot() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n LeafBlot.value = function (domNode) {\n return true;\n };\n LeafBlot.prototype.index = function (node, offset) {\n if (this.domNode === node ||\n this.domNode.compareDocumentPosition(node) & Node.DOCUMENT_POSITION_CONTAINED_BY) {\n return Math.min(offset, 1);\n }\n return -1;\n };\n LeafBlot.prototype.position = function (index, inclusive) {\n var offset = [].indexOf.call(this.parent.domNode.childNodes, this.domNode);\n if (index > 0)\n offset += 1;\n return [this.parent.domNode, offset];\n };\n LeafBlot.prototype.value = function () {\n var _a;\n return _a = {}, _a[this.statics.blotName] = this.statics.value(this.domNode) || true, _a;\n };\n LeafBlot.scope = Registry.Scope.INLINE_BLOT;\n return LeafBlot;\n}(shadow_1.default));\nexports.default = LeafBlot;\n\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar equal = __webpack_require__(11);\nvar extend = __webpack_require__(3);\n\n\nvar lib = {\n attributes: {\n compose: function (a, b, keepNull) {\n if (typeof a !== 'object') a = {};\n if (typeof b !== 'object') b = {};\n var attributes = extend(true, {}, b);\n if (!keepNull) {\n attributes = Object.keys(attributes).reduce(function (copy, key) {\n if (attributes[key] != null) {\n copy[key] = attributes[key];\n }\n return copy;\n }, {});\n }\n for (var key in a) {\n if (a[key] !== undefined && b[key] === undefined) {\n attributes[key] = a[key];\n }\n }\n return Object.keys(attributes).length > 0 ? attributes : undefined;\n },\n\n diff: function(a, b) {\n if (typeof a !== 'object') a = {};\n if (typeof b !== 'object') b = {};\n var attributes = Object.keys(a).concat(Object.keys(b)).reduce(function (attributes, key) {\n if (!equal(a[key], b[key])) {\n attributes[key] = b[key] === undefined ? null : b[key];\n }\n return attributes;\n }, {});\n return Object.keys(attributes).length > 0 ? attributes : undefined;\n },\n\n transform: function (a, b, priority) {\n if (typeof a !== 'object') return b;\n if (typeof b !== 'object') return undefined;\n if (!priority) return b; // b simply overwrites us without priority\n var attributes = Object.keys(b).reduce(function (attributes, key) {\n if (a[key] === undefined) attributes[key] = b[key]; // null is a valid value\n return attributes;\n }, {});\n return Object.keys(attributes).length > 0 ? attributes : undefined;\n }\n },\n\n iterator: function (ops) {\n return new Iterator(ops);\n },\n\n length: function (op) {\n if (typeof op['delete'] === 'number') {\n return op['delete'];\n } else if (typeof op.retain === 'number') {\n return op.retain;\n } else {\n return typeof op.insert === 'string' ? op.insert.length : 1;\n }\n }\n};\n\n\nfunction Iterator(ops) {\n this.ops = ops;\n this.index = 0;\n this.offset = 0;\n};\n\nIterator.prototype.hasNext = function () {\n return this.peekLength() < Infinity;\n};\n\nIterator.prototype.next = function (length) {\n if (!length) length = Infinity;\n var nextOp = this.ops[this.index];\n if (nextOp) {\n var offset = this.offset;\n var opLength = lib.length(nextOp)\n if (length >= opLength - offset) {\n length = opLength - offset;\n this.index += 1;\n this.offset = 0;\n } else {\n this.offset += length;\n }\n if (typeof nextOp['delete'] === 'number') {\n return { 'delete': length };\n } else {\n var retOp = {};\n if (nextOp.attributes) {\n retOp.attributes = nextOp.attributes;\n }\n if (typeof nextOp.retain === 'number') {\n retOp.retain = length;\n } else if (typeof nextOp.insert === 'string') {\n retOp.insert = nextOp.insert.substr(offset, length);\n } else {\n // offset should === 0, length should === 1\n retOp.insert = nextOp.insert;\n }\n return retOp;\n }\n } else {\n return { retain: Infinity };\n }\n};\n\nIterator.prototype.peek = function () {\n return this.ops[this.index];\n};\n\nIterator.prototype.peekLength = function () {\n if (this.ops[this.index]) {\n // Should never return 0 if our index is being managed correctly\n return lib.length(this.ops[this.index]) - this.offset;\n } else {\n return Infinity;\n }\n};\n\nIterator.prototype.peekType = function () {\n if (this.ops[this.index]) {\n if (typeof this.ops[this.index]['delete'] === 'number') {\n return 'delete';\n } else if (typeof this.ops[this.index].retain === 'number') {\n return 'retain';\n } else {\n return 'insert';\n }\n }\n return 'retain';\n};\n\nIterator.prototype.rest = function () {\n if (!this.hasNext()) {\n return [];\n } else if (this.offset === 0) {\n return this.ops.slice(this.index);\n } else {\n var offset = this.offset;\n var index = this.index;\n var next = this.next();\n var rest = this.ops.slice(this.index);\n this.offset = offset;\n this.index = index;\n return [next].concat(rest);\n }\n};\n\n\nmodule.exports = lib;\n\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports) {\n\nvar clone = (function() {\n'use strict';\n\nfunction _instanceof(obj, type) {\n return type != null && obj instanceof type;\n}\n\nvar nativeMap;\ntry {\n nativeMap = Map;\n} catch(_) {\n // maybe a reference error because no `Map`. Give it a dummy value that no\n // value will ever be an instanceof.\n nativeMap = function() {};\n}\n\nvar nativeSet;\ntry {\n nativeSet = Set;\n} catch(_) {\n nativeSet = function() {};\n}\n\nvar nativePromise;\ntry {\n nativePromise = Promise;\n} catch(_) {\n nativePromise = function() {};\n}\n\n/**\n * Clones (copies) an Object using deep copying.\n *\n * This function supports circular references by default, but if you are certain\n * there are no circular references in your object, you can save some CPU time\n * by calling clone(obj, false).\n *\n * Caution: if `circular` is false and `parent` contains circular references,\n * your program may enter an infinite loop and crash.\n *\n * @param `parent` - the object to be cloned\n * @param `circular` - set to true if the object to be cloned may contain\n * circular references. (optional - true by default)\n * @param `depth` - set to a number if the object is only to be cloned to\n * a particular depth. (optional - defaults to Infinity)\n * @param `prototype` - sets the prototype to be used when cloning an object.\n * (optional - defaults to parent prototype).\n * @param `includeNonEnumerable` - set to true if the non-enumerable properties\n * should be cloned as well. Non-enumerable properties on the prototype\n * chain will be ignored. (optional - false by default)\n*/\nfunction clone(parent, circular, depth, prototype, includeNonEnumerable) {\n if (typeof circular === 'object') {\n depth = circular.depth;\n prototype = circular.prototype;\n includeNonEnumerable = circular.includeNonEnumerable;\n circular = circular.circular;\n }\n // maintain two arrays for circular references, where corresponding parents\n // and children have the same index\n var allParents = [];\n var allChildren = [];\n\n var useBuffer = typeof Buffer != 'undefined';\n\n if (typeof circular == 'undefined')\n circular = true;\n\n if (typeof depth == 'undefined')\n depth = Infinity;\n\n // recurse this function so we don't reset allParents and allChildren\n function _clone(parent, depth) {\n // cloning null always returns null\n if (parent === null)\n return null;\n\n if (depth === 0)\n return parent;\n\n var child;\n var proto;\n if (typeof parent != 'object') {\n return parent;\n }\n\n if (_instanceof(parent, nativeMap)) {\n child = new nativeMap();\n } else if (_instanceof(parent, nativeSet)) {\n child = new nativeSet();\n } else if (_instanceof(parent, nativePromise)) {\n child = new nativePromise(function (resolve, reject) {\n parent.then(function(value) {\n resolve(_clone(value, depth - 1));\n }, function(err) {\n reject(_clone(err, depth - 1));\n });\n });\n } else if (clone.__isArray(parent)) {\n child = [];\n } else if (clone.__isRegExp(parent)) {\n child = new RegExp(parent.source, __getRegExpFlags(parent));\n if (parent.lastIndex) child.lastIndex = parent.lastIndex;\n } else if (clone.__isDate(parent)) {\n child = new Date(parent.getTime());\n } else if (useBuffer && Buffer.isBuffer(parent)) {\n if (Buffer.allocUnsafe) {\n // Node.js >= 4.5.0\n child = Buffer.allocUnsafe(parent.length);\n } else {\n // Older Node.js versions\n child = new Buffer(parent.length);\n }\n parent.copy(child);\n return child;\n } else if (_instanceof(parent, Error)) {\n child = Object.create(parent);\n } else {\n if (typeof prototype == 'undefined') {\n proto = Object.getPrototypeOf(parent);\n child = Object.create(proto);\n }\n else {\n child = Object.create(prototype);\n proto = prototype;\n }\n }\n\n if (circular) {\n var index = allParents.indexOf(parent);\n\n if (index != -1) {\n return allChildren[index];\n }\n allParents.push(parent);\n allChildren.push(child);\n }\n\n if (_instanceof(parent, nativeMap)) {\n parent.forEach(function(value, key) {\n var keyChild = _clone(key, depth - 1);\n var valueChild = _clone(value, depth - 1);\n child.set(keyChild, valueChild);\n });\n }\n if (_instanceof(parent, nativeSet)) {\n parent.forEach(function(value) {\n var entryChild = _clone(value, depth - 1);\n child.add(entryChild);\n });\n }\n\n for (var i in parent) {\n var attrs;\n if (proto) {\n attrs = Object.getOwnPropertyDescriptor(proto, i);\n }\n\n if (attrs && attrs.set == null) {\n continue;\n }\n child[i] = _clone(parent[i], depth - 1);\n }\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(parent);\n for (var i = 0; i < symbols.length; i++) {\n // Don't need to worry about cloning a symbol because it is a primitive,\n // like a number or string.\n var symbol = symbols[i];\n var descriptor = Object.getOwnPropertyDescriptor(parent, symbol);\n if (descriptor && !descriptor.enumerable && !includeNonEnumerable) {\n continue;\n }\n child[symbol] = _clone(parent[symbol], depth - 1);\n if (!descriptor.enumerable) {\n Object.defineProperty(child, symbol, {\n enumerable: false\n });\n }\n }\n }\n\n if (includeNonEnumerable) {\n var allPropertyNames = Object.getOwnPropertyNames(parent);\n for (var i = 0; i < allPropertyNames.length; i++) {\n var propertyName = allPropertyNames[i];\n var descriptor = Object.getOwnPropertyDescriptor(parent, propertyName);\n if (descriptor && descriptor.enumerable) {\n continue;\n }\n child[propertyName] = _clone(parent[propertyName], depth - 1);\n Object.defineProperty(child, propertyName, {\n enumerable: false\n });\n }\n }\n\n return child;\n }\n\n return _clone(parent, depth);\n}\n\n/**\n * Simple flat clone using prototype, accepts only objects, usefull for property\n * override on FLAT configuration object (no nested props).\n *\n * USE WITH CAUTION! This may not behave as you wish if you do not know how this\n * works.\n */\nclone.clonePrototype = function clonePrototype(parent) {\n if (parent === null)\n return null;\n\n var c = function () {};\n c.prototype = parent;\n return new c();\n};\n\n// private utility functions\n\nfunction __objToStr(o) {\n return Object.prototype.toString.call(o);\n}\nclone.__objToStr = __objToStr;\n\nfunction __isDate(o) {\n return typeof o === 'object' && __objToStr(o) === '[object Date]';\n}\nclone.__isDate = __isDate;\n\nfunction __isArray(o) {\n return typeof o === 'object' && __objToStr(o) === '[object Array]';\n}\nclone.__isArray = __isArray;\n\nfunction __isRegExp(o) {\n return typeof o === 'object' && __objToStr(o) === '[object RegExp]';\n}\nclone.__isRegExp = __isRegExp;\n\nfunction __getRegExpFlags(re) {\n var flags = '';\n if (re.global) flags += 'g';\n if (re.ignoreCase) flags += 'i';\n if (re.multiline) flags += 'm';\n return flags;\n}\nclone.__getRegExpFlags = __getRegExpFlags;\n\nreturn clone;\n})();\n\nif (typeof module === 'object' && module.exports) {\n module.exports = clone;\n}\n\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _emitter = __webpack_require__(8);\n\nvar _emitter2 = _interopRequireDefault(_emitter);\n\nvar _block = __webpack_require__(4);\n\nvar _block2 = _interopRequireDefault(_block);\n\nvar _break = __webpack_require__(16);\n\nvar _break2 = _interopRequireDefault(_break);\n\nvar _code = __webpack_require__(13);\n\nvar _code2 = _interopRequireDefault(_code);\n\nvar _container = __webpack_require__(25);\n\nvar _container2 = _interopRequireDefault(_container);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nfunction isLine(blot) {\n return blot instanceof _block2.default || blot instanceof _block.BlockEmbed;\n}\n\nvar Scroll = function (_Parchment$Scroll) {\n _inherits(Scroll, _Parchment$Scroll);\n\n function Scroll(domNode, config) {\n _classCallCheck(this, Scroll);\n\n var _this = _possibleConstructorReturn(this, (Scroll.__proto__ || Object.getPrototypeOf(Scroll)).call(this, domNode));\n\n _this.emitter = config.emitter;\n if (Array.isArray(config.whitelist)) {\n _this.whitelist = config.whitelist.reduce(function (whitelist, format) {\n whitelist[format] = true;\n return whitelist;\n }, {});\n }\n // Some reason fixes composition issues with character languages in Windows/Chrome, Safari\n _this.domNode.addEventListener('DOMNodeInserted', function () {});\n _this.optimize();\n _this.enable();\n return _this;\n }\n\n _createClass(Scroll, [{\n key: 'batchStart',\n value: function batchStart() {\n this.batch = true;\n }\n }, {\n key: 'batchEnd',\n value: function batchEnd() {\n this.batch = false;\n this.optimize();\n }\n }, {\n key: 'deleteAt',\n value: function deleteAt(index, length) {\n var _line = this.line(index),\n _line2 = _slicedToArray(_line, 2),\n first = _line2[0],\n offset = _line2[1];\n\n var _line3 = this.line(index + length),\n _line4 = _slicedToArray(_line3, 1),\n last = _line4[0];\n\n _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'deleteAt', this).call(this, index, length);\n if (last != null && first !== last && offset > 0) {\n if (first instanceof _block.BlockEmbed || last instanceof _block.BlockEmbed) {\n this.optimize();\n return;\n }\n if (first instanceof _code2.default) {\n var newlineIndex = first.newlineIndex(first.length(), true);\n if (newlineIndex > -1) {\n first = first.split(newlineIndex + 1);\n if (first === last) {\n this.optimize();\n return;\n }\n }\n } else if (last instanceof _code2.default) {\n var _newlineIndex = last.newlineIndex(0);\n if (_newlineIndex > -1) {\n last.split(_newlineIndex + 1);\n }\n }\n var ref = last.children.head instanceof _break2.default ? null : last.children.head;\n first.moveChildren(last, ref);\n first.remove();\n }\n this.optimize();\n }\n }, {\n key: 'enable',\n value: function enable() {\n var enabled = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n this.domNode.setAttribute('contenteditable', enabled);\n }\n }, {\n key: 'formatAt',\n value: function formatAt(index, length, format, value) {\n if (this.whitelist != null && !this.whitelist[format]) return;\n _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'formatAt', this).call(this, index, length, format, value);\n this.optimize();\n }\n }, {\n key: 'insertAt',\n value: function insertAt(index, value, def) {\n if (def != null && this.whitelist != null && !this.whitelist[value]) return;\n if (index >= this.length()) {\n if (def == null || _parchment2.default.query(value, _parchment2.default.Scope.BLOCK) == null) {\n var blot = _parchment2.default.create(this.statics.defaultChild);\n this.appendChild(blot);\n if (def == null && value.endsWith('\\n')) {\n value = value.slice(0, -1);\n }\n blot.insertAt(0, value, def);\n } else {\n var embed = _parchment2.default.create(value, def);\n this.appendChild(embed);\n }\n } else {\n _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'insertAt', this).call(this, index, value, def);\n }\n this.optimize();\n }\n }, {\n key: 'insertBefore',\n value: function insertBefore(blot, ref) {\n if (blot.statics.scope === _parchment2.default.Scope.INLINE_BLOT) {\n var wrapper = _parchment2.default.create(this.statics.defaultChild);\n wrapper.appendChild(blot);\n blot = wrapper;\n }\n _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'insertBefore', this).call(this, blot, ref);\n }\n }, {\n key: 'leaf',\n value: function leaf(index) {\n return this.path(index).pop() || [null, -1];\n }\n }, {\n key: 'line',\n value: function line(index) {\n if (index === this.length()) {\n return this.line(index - 1);\n }\n return this.descendant(isLine, index);\n }\n }, {\n key: 'lines',\n value: function lines() {\n var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Number.MAX_VALUE;\n\n var getLines = function getLines(blot, index, length) {\n var lines = [],\n lengthLeft = length;\n blot.children.forEachAt(index, length, function (child, index, length) {\n if (isLine(child)) {\n lines.push(child);\n } else if (child instanceof _parchment2.default.Container) {\n lines = lines.concat(getLines(child, index, lengthLeft));\n }\n lengthLeft -= length;\n });\n return lines;\n };\n return getLines(this, index, length);\n }\n }, {\n key: 'optimize',\n value: function optimize() {\n var mutations = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (this.batch === true) return;\n _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'optimize', this).call(this, mutations, context);\n if (mutations.length > 0) {\n this.emitter.emit(_emitter2.default.events.SCROLL_OPTIMIZE, mutations, context);\n }\n }\n }, {\n key: 'path',\n value: function path(index) {\n return _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'path', this).call(this, index).slice(1); // Exclude self\n }\n }, {\n key: 'update',\n value: function update(mutations) {\n if (this.batch === true) return;\n var source = _emitter2.default.sources.USER;\n if (typeof mutations === 'string') {\n source = mutations;\n }\n if (!Array.isArray(mutations)) {\n mutations = this.observer.takeRecords();\n }\n if (mutations.length > 0) {\n this.emitter.emit(_emitter2.default.events.SCROLL_BEFORE_UPDATE, source, mutations);\n }\n _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'update', this).call(this, mutations.concat([])); // pass copy\n if (mutations.length > 0) {\n this.emitter.emit(_emitter2.default.events.SCROLL_UPDATE, source, mutations);\n }\n }\n }]);\n\n return Scroll;\n}(_parchment2.default.Scroll);\n\nScroll.blotName = 'scroll';\nScroll.className = 'ql-editor';\nScroll.tagName = 'DIV';\nScroll.defaultChild = 'block';\nScroll.allowedChildren = [_block2.default, _block.BlockEmbed, _container2.default];\n\nexports.default = Scroll;\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SHORTKEY = exports.default = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _clone = __webpack_require__(21);\n\nvar _clone2 = _interopRequireDefault(_clone);\n\nvar _deepEqual = __webpack_require__(11);\n\nvar _deepEqual2 = _interopRequireDefault(_deepEqual);\n\nvar _extend = __webpack_require__(3);\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nvar _quillDelta = __webpack_require__(2);\n\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\n\nvar _op = __webpack_require__(20);\n\nvar _op2 = _interopRequireDefault(_op);\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _quill = __webpack_require__(5);\n\nvar _quill2 = _interopRequireDefault(_quill);\n\nvar _logger = __webpack_require__(10);\n\nvar _logger2 = _interopRequireDefault(_logger);\n\nvar _module = __webpack_require__(9);\n\nvar _module2 = _interopRequireDefault(_module);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar debug = (0, _logger2.default)('quill:keyboard');\n\nvar SHORTKEY = /Mac/i.test(navigator.platform) ? 'metaKey' : 'ctrlKey';\n\nvar Keyboard = function (_Module) {\n _inherits(Keyboard, _Module);\n\n _createClass(Keyboard, null, [{\n key: 'match',\n value: function match(evt, binding) {\n binding = normalize(binding);\n if (['altKey', 'ctrlKey', 'metaKey', 'shiftKey'].some(function (key) {\n return !!binding[key] !== evt[key] && binding[key] !== null;\n })) {\n return false;\n }\n return binding.key === (evt.which || evt.keyCode);\n }\n }]);\n\n function Keyboard(quill, options) {\n _classCallCheck(this, Keyboard);\n\n var _this = _possibleConstructorReturn(this, (Keyboard.__proto__ || Object.getPrototypeOf(Keyboard)).call(this, quill, options));\n\n _this.bindings = {};\n Object.keys(_this.options.bindings).forEach(function (name) {\n if (name === 'list autofill' && quill.scroll.whitelist != null && !quill.scroll.whitelist['list']) {\n return;\n }\n if (_this.options.bindings[name]) {\n _this.addBinding(_this.options.bindings[name]);\n }\n });\n _this.addBinding({ key: Keyboard.keys.ENTER, shiftKey: null }, handleEnter);\n _this.addBinding({ key: Keyboard.keys.ENTER, metaKey: null, ctrlKey: null, altKey: null }, function () {});\n if (/Firefox/i.test(navigator.userAgent)) {\n // Need to handle delete and backspace for Firefox in the general case #1171\n _this.addBinding({ key: Keyboard.keys.BACKSPACE }, { collapsed: true }, handleBackspace);\n _this.addBinding({ key: Keyboard.keys.DELETE }, { collapsed: true }, handleDelete);\n } else {\n _this.addBinding({ key: Keyboard.keys.BACKSPACE }, { collapsed: true, prefix: /^.?$/ }, handleBackspace);\n _this.addBinding({ key: Keyboard.keys.DELETE }, { collapsed: true, suffix: /^.?$/ }, handleDelete);\n }\n _this.addBinding({ key: Keyboard.keys.BACKSPACE }, { collapsed: false }, handleDeleteRange);\n _this.addBinding({ key: Keyboard.keys.DELETE }, { collapsed: false }, handleDeleteRange);\n _this.addBinding({ key: Keyboard.keys.BACKSPACE, altKey: null, ctrlKey: null, metaKey: null, shiftKey: null }, { collapsed: true, offset: 0 }, handleBackspace);\n _this.listen();\n return _this;\n }\n\n _createClass(Keyboard, [{\n key: 'addBinding',\n value: function addBinding(key) {\n var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var handler = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n var binding = normalize(key);\n if (binding == null || binding.key == null) {\n return debug.warn('Attempted to add invalid keyboard binding', binding);\n }\n if (typeof context === 'function') {\n context = { handler: context };\n }\n if (typeof handler === 'function') {\n handler = { handler: handler };\n }\n binding = (0, _extend2.default)(binding, context, handler);\n this.bindings[binding.key] = this.bindings[binding.key] || [];\n this.bindings[binding.key].push(binding);\n }\n }, {\n key: 'listen',\n value: function listen() {\n var _this2 = this;\n\n this.quill.root.addEventListener('keydown', function (evt) {\n if (evt.defaultPrevented) return;\n var which = evt.which || evt.keyCode;\n var bindings = (_this2.bindings[which] || []).filter(function (binding) {\n return Keyboard.match(evt, binding);\n });\n if (bindings.length === 0) return;\n var range = _this2.quill.getSelection();\n if (range == null || !_this2.quill.hasFocus()) return;\n\n var _quill$getLine = _this2.quill.getLine(range.index),\n _quill$getLine2 = _slicedToArray(_quill$getLine, 2),\n line = _quill$getLine2[0],\n offset = _quill$getLine2[1];\n\n var _quill$getLeaf = _this2.quill.getLeaf(range.index),\n _quill$getLeaf2 = _slicedToArray(_quill$getLeaf, 2),\n leafStart = _quill$getLeaf2[0],\n offsetStart = _quill$getLeaf2[1];\n\n var _ref = range.length === 0 ? [leafStart, offsetStart] : _this2.quill.getLeaf(range.index + range.length),\n _ref2 = _slicedToArray(_ref, 2),\n leafEnd = _ref2[0],\n offsetEnd = _ref2[1];\n\n var prefixText = leafStart instanceof _parchment2.default.Text ? leafStart.value().slice(0, offsetStart) : '';\n var suffixText = leafEnd instanceof _parchment2.default.Text ? leafEnd.value().slice(offsetEnd) : '';\n var curContext = {\n collapsed: range.length === 0,\n empty: range.length === 0 && line.length() <= 1,\n format: _this2.quill.getFormat(range),\n offset: offset,\n prefix: prefixText,\n suffix: suffixText\n };\n var prevented = bindings.some(function (binding) {\n if (binding.collapsed != null && binding.collapsed !== curContext.collapsed) return false;\n if (binding.empty != null && binding.empty !== curContext.empty) return false;\n if (binding.offset != null && binding.offset !== curContext.offset) return false;\n if (Array.isArray(binding.format)) {\n // any format is present\n if (binding.format.every(function (name) {\n return curContext.format[name] == null;\n })) {\n return false;\n }\n } else if (_typeof(binding.format) === 'object') {\n // all formats must match\n if (!Object.keys(binding.format).every(function (name) {\n if (binding.format[name] === true) return curContext.format[name] != null;\n if (binding.format[name] === false) return curContext.format[name] == null;\n return (0, _deepEqual2.default)(binding.format[name], curContext.format[name]);\n })) {\n return false;\n }\n }\n if (binding.prefix != null && !binding.prefix.test(curContext.prefix)) return false;\n if (binding.suffix != null && !binding.suffix.test(curContext.suffix)) return false;\n return binding.handler.call(_this2, range, curContext) !== true;\n });\n if (prevented) {\n evt.preventDefault();\n }\n });\n }\n }]);\n\n return Keyboard;\n}(_module2.default);\n\nKeyboard.keys = {\n BACKSPACE: 8,\n TAB: 9,\n ENTER: 13,\n ESCAPE: 27,\n LEFT: 37,\n UP: 38,\n RIGHT: 39,\n DOWN: 40,\n DELETE: 46\n};\n\nKeyboard.DEFAULTS = {\n bindings: {\n 'bold': makeFormatHandler('bold'),\n 'italic': makeFormatHandler('italic'),\n 'underline': makeFormatHandler('underline'),\n 'indent': {\n // highlight tab or tab at beginning of list, indent or blockquote\n key: Keyboard.keys.TAB,\n format: ['blockquote', 'indent', 'list'],\n handler: function handler(range, context) {\n if (context.collapsed && context.offset !== 0) return true;\n this.quill.format('indent', '+1', _quill2.default.sources.USER);\n }\n },\n 'outdent': {\n key: Keyboard.keys.TAB,\n shiftKey: true,\n format: ['blockquote', 'indent', 'list'],\n // highlight tab or tab at beginning of list, indent or blockquote\n handler: function handler(range, context) {\n if (context.collapsed && context.offset !== 0) return true;\n this.quill.format('indent', '-1', _quill2.default.sources.USER);\n }\n },\n 'outdent backspace': {\n key: Keyboard.keys.BACKSPACE,\n collapsed: true,\n shiftKey: null,\n metaKey: null,\n ctrlKey: null,\n altKey: null,\n format: ['indent', 'list'],\n offset: 0,\n handler: function handler(range, context) {\n if (context.format.indent != null) {\n this.quill.format('indent', '-1', _quill2.default.sources.USER);\n } else if (context.format.list != null) {\n this.quill.format('list', false, _quill2.default.sources.USER);\n }\n }\n },\n 'indent code-block': makeCodeBlockHandler(true),\n 'outdent code-block': makeCodeBlockHandler(false),\n 'remove tab': {\n key: Keyboard.keys.TAB,\n shiftKey: true,\n collapsed: true,\n prefix: /\\t$/,\n handler: function handler(range) {\n this.quill.deleteText(range.index - 1, 1, _quill2.default.sources.USER);\n }\n },\n 'tab': {\n key: Keyboard.keys.TAB,\n handler: function handler(range) {\n this.quill.history.cutoff();\n var delta = new _quillDelta2.default().retain(range.index).delete(range.length).insert('\\t');\n this.quill.updateContents(delta, _quill2.default.sources.USER);\n this.quill.history.cutoff();\n this.quill.setSelection(range.index + 1, _quill2.default.sources.SILENT);\n }\n },\n 'list empty enter': {\n key: Keyboard.keys.ENTER,\n collapsed: true,\n format: ['list'],\n empty: true,\n handler: function handler(range, context) {\n this.quill.format('list', false, _quill2.default.sources.USER);\n if (context.format.indent) {\n this.quill.format('indent', false, _quill2.default.sources.USER);\n }\n }\n },\n 'checklist enter': {\n key: Keyboard.keys.ENTER,\n collapsed: true,\n format: { list: 'checked' },\n handler: function handler(range) {\n var _quill$getLine3 = this.quill.getLine(range.index),\n _quill$getLine4 = _slicedToArray(_quill$getLine3, 2),\n line = _quill$getLine4[0],\n offset = _quill$getLine4[1];\n\n var formats = (0, _extend2.default)({}, line.formats(), { list: 'checked' });\n var delta = new _quillDelta2.default().retain(range.index).insert('\\n', formats).retain(line.length() - offset - 1).retain(1, { list: 'unchecked' });\n this.quill.updateContents(delta, _quill2.default.sources.USER);\n this.quill.setSelection(range.index + 1, _quill2.default.sources.SILENT);\n this.quill.scrollIntoView();\n }\n },\n 'header enter': {\n key: Keyboard.keys.ENTER,\n collapsed: true,\n format: ['header'],\n suffix: /^$/,\n handler: function handler(range, context) {\n var _quill$getLine5 = this.quill.getLine(range.index),\n _quill$getLine6 = _slicedToArray(_quill$getLine5, 2),\n line = _quill$getLine6[0],\n offset = _quill$getLine6[1];\n\n var delta = new _quillDelta2.default().retain(range.index).insert('\\n', context.format).retain(line.length() - offset - 1).retain(1, { header: null });\n this.quill.updateContents(delta, _quill2.default.sources.USER);\n this.quill.setSelection(range.index + 1, _quill2.default.sources.SILENT);\n this.quill.scrollIntoView();\n }\n },\n 'list autofill': {\n key: ' ',\n collapsed: true,\n format: { list: false },\n prefix: /^\\s*?(\\d+\\.|-|\\*|\\[ ?\\]|\\[x\\])$/,\n handler: function handler(range, context) {\n var length = context.prefix.length;\n\n var _quill$getLine7 = this.quill.getLine(range.index),\n _quill$getLine8 = _slicedToArray(_quill$getLine7, 2),\n line = _quill$getLine8[0],\n offset = _quill$getLine8[1];\n\n if (offset > length) return true;\n var value = void 0;\n switch (context.prefix.trim()) {\n case '[]':case '[ ]':\n value = 'unchecked';\n break;\n case '[x]':\n value = 'checked';\n break;\n case '-':case '*':\n value = 'bullet';\n break;\n default:\n value = 'ordered';\n }\n this.quill.insertText(range.index, ' ', _quill2.default.sources.USER);\n this.quill.history.cutoff();\n var delta = new _quillDelta2.default().retain(range.index - offset).delete(length + 1).retain(line.length() - 2 - offset).retain(1, { list: value });\n this.quill.updateContents(delta, _quill2.default.sources.USER);\n this.quill.history.cutoff();\n this.quill.setSelection(range.index - length, _quill2.default.sources.SILENT);\n }\n },\n 'code exit': {\n key: Keyboard.keys.ENTER,\n collapsed: true,\n format: ['code-block'],\n prefix: /\\n\\n$/,\n suffix: /^\\s+$/,\n handler: function handler(range) {\n var _quill$getLine9 = this.quill.getLine(range.index),\n _quill$getLine10 = _slicedToArray(_quill$getLine9, 2),\n line = _quill$getLine10[0],\n offset = _quill$getLine10[1];\n\n var delta = new _quillDelta2.default().retain(range.index + line.length() - offset - 2).retain(1, { 'code-block': null }).delete(1);\n this.quill.updateContents(delta, _quill2.default.sources.USER);\n }\n },\n 'embed left': makeEmbedArrowHandler(Keyboard.keys.LEFT, false),\n 'embed left shift': makeEmbedArrowHandler(Keyboard.keys.LEFT, true),\n 'embed right': makeEmbedArrowHandler(Keyboard.keys.RIGHT, false),\n 'embed right shift': makeEmbedArrowHandler(Keyboard.keys.RIGHT, true)\n }\n};\n\nfunction makeEmbedArrowHandler(key, shiftKey) {\n var _ref3;\n\n var where = key === Keyboard.keys.LEFT ? 'prefix' : 'suffix';\n return _ref3 = {\n key: key,\n shiftKey: shiftKey,\n altKey: null\n }, _defineProperty(_ref3, where, /^$/), _defineProperty(_ref3, 'handler', function handler(range) {\n var index = range.index;\n if (key === Keyboard.keys.RIGHT) {\n index += range.length + 1;\n }\n\n var _quill$getLeaf3 = this.quill.getLeaf(index),\n _quill$getLeaf4 = _slicedToArray(_quill$getLeaf3, 1),\n leaf = _quill$getLeaf4[0];\n\n if (!(leaf instanceof _parchment2.default.Embed)) return true;\n if (key === Keyboard.keys.LEFT) {\n if (shiftKey) {\n this.quill.setSelection(range.index - 1, range.length + 1, _quill2.default.sources.USER);\n } else {\n this.quill.setSelection(range.index - 1, _quill2.default.sources.USER);\n }\n } else {\n if (shiftKey) {\n this.quill.setSelection(range.index, range.length + 1, _quill2.default.sources.USER);\n } else {\n this.quill.setSelection(range.index + range.length + 1, _quill2.default.sources.USER);\n }\n }\n return false;\n }), _ref3;\n}\n\nfunction handleBackspace(range, context) {\n if (range.index === 0 || this.quill.getLength() <= 1) return;\n\n var _quill$getLine11 = this.quill.getLine(range.index),\n _quill$getLine12 = _slicedToArray(_quill$getLine11, 1),\n line = _quill$getLine12[0];\n\n var formats = {};\n if (context.offset === 0) {\n var _quill$getLine13 = this.quill.getLine(range.index - 1),\n _quill$getLine14 = _slicedToArray(_quill$getLine13, 1),\n prev = _quill$getLine14[0];\n\n if (prev != null && prev.length() > 1) {\n var curFormats = line.formats();\n var prevFormats = this.quill.getFormat(range.index - 1, 1);\n formats = _op2.default.attributes.diff(curFormats, prevFormats) || {};\n }\n }\n // Check for astral symbols\n var length = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]$/.test(context.prefix) ? 2 : 1;\n this.quill.deleteText(range.index - length, length, _quill2.default.sources.USER);\n if (Object.keys(formats).length > 0) {\n this.quill.formatLine(range.index - length, length, formats, _quill2.default.sources.USER);\n }\n this.quill.focus();\n}\n\nfunction handleDelete(range, context) {\n // Check for astral symbols\n var length = /^[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/.test(context.suffix) ? 2 : 1;\n if (range.index >= this.quill.getLength() - length) return;\n var formats = {},\n nextLength = 0;\n\n var _quill$getLine15 = this.quill.getLine(range.index),\n _quill$getLine16 = _slicedToArray(_quill$getLine15, 1),\n line = _quill$getLine16[0];\n\n if (context.offset >= line.length() - 1) {\n var _quill$getLine17 = this.quill.getLine(range.index + 1),\n _quill$getLine18 = _slicedToArray(_quill$getLine17, 1),\n next = _quill$getLine18[0];\n\n if (next) {\n var curFormats = line.formats();\n var nextFormats = this.quill.getFormat(range.index, 1);\n formats = _op2.default.attributes.diff(curFormats, nextFormats) || {};\n nextLength = next.length();\n }\n }\n this.quill.deleteText(range.index, length, _quill2.default.sources.USER);\n if (Object.keys(formats).length > 0) {\n this.quill.formatLine(range.index + nextLength - 1, length, formats, _quill2.default.sources.USER);\n }\n}\n\nfunction handleDeleteRange(range) {\n var lines = this.quill.getLines(range);\n var formats = {};\n if (lines.length > 1) {\n var firstFormats = lines[0].formats();\n var lastFormats = lines[lines.length - 1].formats();\n formats = _op2.default.attributes.diff(lastFormats, firstFormats) || {};\n }\n this.quill.deleteText(range, _quill2.default.sources.USER);\n if (Object.keys(formats).length > 0) {\n this.quill.formatLine(range.index, 1, formats, _quill2.default.sources.USER);\n }\n this.quill.setSelection(range.index, _quill2.default.sources.SILENT);\n this.quill.focus();\n}\n\nfunction handleEnter(range, context) {\n var _this3 = this;\n\n if (range.length > 0) {\n this.quill.scroll.deleteAt(range.index, range.length); // So we do not trigger text-change\n }\n var lineFormats = Object.keys(context.format).reduce(function (lineFormats, format) {\n if (_parchment2.default.query(format, _parchment2.default.Scope.BLOCK) && !Array.isArray(context.format[format])) {\n lineFormats[format] = context.format[format];\n }\n return lineFormats;\n }, {});\n this.quill.insertText(range.index, '\\n', lineFormats, _quill2.default.sources.USER);\n // Earlier scroll.deleteAt might have messed up our selection,\n // so insertText's built in selection preservation is not reliable\n this.quill.setSelection(range.index + 1, _quill2.default.sources.SILENT);\n this.quill.focus();\n Object.keys(context.format).forEach(function (name) {\n if (lineFormats[name] != null) return;\n if (Array.isArray(context.format[name])) return;\n if (name === 'link') return;\n _this3.quill.format(name, context.format[name], _quill2.default.sources.USER);\n });\n}\n\nfunction makeCodeBlockHandler(indent) {\n return {\n key: Keyboard.keys.TAB,\n shiftKey: !indent,\n format: { 'code-block': true },\n handler: function handler(range) {\n var CodeBlock = _parchment2.default.query('code-block');\n var index = range.index,\n length = range.length;\n\n var _quill$scroll$descend = this.quill.scroll.descendant(CodeBlock, index),\n _quill$scroll$descend2 = _slicedToArray(_quill$scroll$descend, 2),\n block = _quill$scroll$descend2[0],\n offset = _quill$scroll$descend2[1];\n\n if (block == null) return;\n var scrollIndex = this.quill.getIndex(block);\n var start = block.newlineIndex(offset, true) + 1;\n var end = block.newlineIndex(scrollIndex + offset + length);\n var lines = block.domNode.textContent.slice(start, end).split('\\n');\n offset = 0;\n lines.forEach(function (line, i) {\n if (indent) {\n block.insertAt(start + offset, CodeBlock.TAB);\n offset += CodeBlock.TAB.length;\n if (i === 0) {\n index += CodeBlock.TAB.length;\n } else {\n length += CodeBlock.TAB.length;\n }\n } else if (line.startsWith(CodeBlock.TAB)) {\n block.deleteAt(start + offset, CodeBlock.TAB.length);\n offset -= CodeBlock.TAB.length;\n if (i === 0) {\n index -= CodeBlock.TAB.length;\n } else {\n length -= CodeBlock.TAB.length;\n }\n }\n offset += line.length + 1;\n });\n this.quill.update(_quill2.default.sources.USER);\n this.quill.setSelection(index, length, _quill2.default.sources.SILENT);\n }\n };\n}\n\nfunction makeFormatHandler(format) {\n return {\n key: format[0].toUpperCase(),\n shortKey: true,\n handler: function handler(range, context) {\n this.quill.format(format, !context.format[format], _quill2.default.sources.USER);\n }\n };\n}\n\nfunction normalize(binding) {\n if (typeof binding === 'string' || typeof binding === 'number') {\n return normalize({ key: binding });\n }\n if ((typeof binding === 'undefined' ? 'undefined' : _typeof(binding)) === 'object') {\n binding = (0, _clone2.default)(binding, false);\n }\n if (typeof binding.key === 'string') {\n if (Keyboard.keys[binding.key.toUpperCase()] != null) {\n binding.key = Keyboard.keys[binding.key.toUpperCase()];\n } else if (binding.key.length === 1) {\n binding.key = binding.key.toUpperCase().charCodeAt(0);\n } else {\n return null;\n }\n }\n if (binding.shortKey) {\n binding[SHORTKEY] = binding.shortKey;\n delete binding.shortKey;\n }\n return binding;\n}\n\nexports.default = Keyboard;\nexports.SHORTKEY = SHORTKEY;\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _text = __webpack_require__(7);\n\nvar _text2 = _interopRequireDefault(_text);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Cursor = function (_Parchment$Embed) {\n _inherits(Cursor, _Parchment$Embed);\n\n _createClass(Cursor, null, [{\n key: 'value',\n value: function value() {\n return undefined;\n }\n }]);\n\n function Cursor(domNode, selection) {\n _classCallCheck(this, Cursor);\n\n var _this = _possibleConstructorReturn(this, (Cursor.__proto__ || Object.getPrototypeOf(Cursor)).call(this, domNode));\n\n _this.selection = selection;\n _this.textNode = document.createTextNode(Cursor.CONTENTS);\n _this.domNode.appendChild(_this.textNode);\n _this._length = 0;\n return _this;\n }\n\n _createClass(Cursor, [{\n key: 'detach',\n value: function detach() {\n // super.detach() will also clear domNode.__blot\n if (this.parent != null) this.parent.removeChild(this);\n }\n }, {\n key: 'format',\n value: function format(name, value) {\n if (this._length !== 0) {\n return _get(Cursor.prototype.__proto__ || Object.getPrototypeOf(Cursor.prototype), 'format', this).call(this, name, value);\n }\n var target = this,\n index = 0;\n while (target != null && target.statics.scope !== _parchment2.default.Scope.BLOCK_BLOT) {\n index += target.offset(target.parent);\n target = target.parent;\n }\n if (target != null) {\n this._length = Cursor.CONTENTS.length;\n target.optimize();\n target.formatAt(index, Cursor.CONTENTS.length, name, value);\n this._length = 0;\n }\n }\n }, {\n key: 'index',\n value: function index(node, offset) {\n if (node === this.textNode) return 0;\n return _get(Cursor.prototype.__proto__ || Object.getPrototypeOf(Cursor.prototype), 'index', this).call(this, node, offset);\n }\n }, {\n key: 'length',\n value: function length() {\n return this._length;\n }\n }, {\n key: 'position',\n value: function position() {\n return [this.textNode, this.textNode.data.length];\n }\n }, {\n key: 'remove',\n value: function remove() {\n _get(Cursor.prototype.__proto__ || Object.getPrototypeOf(Cursor.prototype), 'remove', this).call(this);\n this.parent = null;\n }\n }, {\n key: 'restore',\n value: function restore() {\n if (this.selection.composing || this.parent == null) return;\n var textNode = this.textNode;\n var range = this.selection.getNativeRange();\n var restoreText = void 0,\n start = void 0,\n end = void 0;\n if (range != null && range.start.node === textNode && range.end.node === textNode) {\n var _ref = [textNode, range.start.offset, range.end.offset];\n restoreText = _ref[0];\n start = _ref[1];\n end = _ref[2];\n }\n // Link format will insert text outside of anchor tag\n while (this.domNode.lastChild != null && this.domNode.lastChild !== this.textNode) {\n this.domNode.parentNode.insertBefore(this.domNode.lastChild, this.domNode);\n }\n if (this.textNode.data !== Cursor.CONTENTS) {\n var text = this.textNode.data.split(Cursor.CONTENTS).join('');\n if (this.next instanceof _text2.default) {\n restoreText = this.next.domNode;\n this.next.insertAt(0, text);\n this.textNode.data = Cursor.CONTENTS;\n } else {\n this.textNode.data = text;\n this.parent.insertBefore(_parchment2.default.create(this.textNode), this);\n this.textNode = document.createTextNode(Cursor.CONTENTS);\n this.domNode.appendChild(this.textNode);\n }\n }\n this.remove();\n if (start != null) {\n var _map = [start, end].map(function (offset) {\n return Math.max(0, Math.min(restoreText.data.length, offset - 1));\n });\n\n var _map2 = _slicedToArray(_map, 2);\n\n start = _map2[0];\n end = _map2[1];\n\n return {\n startNode: restoreText,\n startOffset: start,\n endNode: restoreText,\n endOffset: end\n };\n }\n }\n }, {\n key: 'update',\n value: function update(mutations, context) {\n var _this2 = this;\n\n if (mutations.some(function (mutation) {\n return mutation.type === 'characterData' && mutation.target === _this2.textNode;\n })) {\n var range = this.restore();\n if (range) context.range = range;\n }\n }\n }, {\n key: 'value',\n value: function value() {\n return '';\n }\n }]);\n\n return Cursor;\n}(_parchment2.default.Embed);\n\nCursor.blotName = 'cursor';\nCursor.className = 'ql-cursor';\nCursor.tagName = 'span';\nCursor.CONTENTS = '\\uFEFF'; // Zero width no break space\n\n\nexports.default = Cursor;\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _block = __webpack_require__(4);\n\nvar _block2 = _interopRequireDefault(_block);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Container = function (_Parchment$Container) {\n _inherits(Container, _Parchment$Container);\n\n function Container() {\n _classCallCheck(this, Container);\n\n return _possibleConstructorReturn(this, (Container.__proto__ || Object.getPrototypeOf(Container)).apply(this, arguments));\n }\n\n return Container;\n}(_parchment2.default.Container);\n\nContainer.allowedChildren = [_block2.default, _block.BlockEmbed, Container];\n\nexports.default = Container;\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ColorStyle = exports.ColorClass = exports.ColorAttributor = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ColorAttributor = function (_Parchment$Attributor) {\n _inherits(ColorAttributor, _Parchment$Attributor);\n\n function ColorAttributor() {\n _classCallCheck(this, ColorAttributor);\n\n return _possibleConstructorReturn(this, (ColorAttributor.__proto__ || Object.getPrototypeOf(ColorAttributor)).apply(this, arguments));\n }\n\n _createClass(ColorAttributor, [{\n key: 'value',\n value: function value(domNode) {\n var value = _get(ColorAttributor.prototype.__proto__ || Object.getPrototypeOf(ColorAttributor.prototype), 'value', this).call(this, domNode);\n if (!value.startsWith('rgb(')) return value;\n value = value.replace(/^[^\\d]+/, '').replace(/[^\\d]+$/, '');\n return '#' + value.split(',').map(function (component) {\n return ('00' + parseInt(component).toString(16)).slice(-2);\n }).join('');\n }\n }]);\n\n return ColorAttributor;\n}(_parchment2.default.Attributor.Style);\n\nvar ColorClass = new _parchment2.default.Attributor.Class('color', 'ql-color', {\n scope: _parchment2.default.Scope.INLINE\n});\nvar ColorStyle = new ColorAttributor('color', 'color', {\n scope: _parchment2.default.Scope.INLINE\n});\n\nexports.ColorAttributor = ColorAttributor;\nexports.ColorClass = ColorClass;\nexports.ColorStyle = ColorStyle;\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.sanitize = exports.default = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _inline = __webpack_require__(6);\n\nvar _inline2 = _interopRequireDefault(_inline);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Link = function (_Inline) {\n _inherits(Link, _Inline);\n\n function Link() {\n _classCallCheck(this, Link);\n\n return _possibleConstructorReturn(this, (Link.__proto__ || Object.getPrototypeOf(Link)).apply(this, arguments));\n }\n\n _createClass(Link, [{\n key: 'format',\n value: function format(name, value) {\n if (name !== this.statics.blotName || !value) return _get(Link.prototype.__proto__ || Object.getPrototypeOf(Link.prototype), 'format', this).call(this, name, value);\n value = this.constructor.sanitize(value);\n this.domNode.setAttribute('href', value);\n }\n }], [{\n key: 'create',\n value: function create(value) {\n var node = _get(Link.__proto__ || Object.getPrototypeOf(Link), 'create', this).call(this, value);\n value = this.sanitize(value);\n node.setAttribute('href', value);\n node.setAttribute('rel', 'noopener noreferrer');\n node.setAttribute('target', '_blank');\n return node;\n }\n }, {\n key: 'formats',\n value: function formats(domNode) {\n return domNode.getAttribute('href');\n }\n }, {\n key: 'sanitize',\n value: function sanitize(url) {\n return _sanitize(url, this.PROTOCOL_WHITELIST) ? url : this.SANITIZED_URL;\n }\n }]);\n\n return Link;\n}(_inline2.default);\n\nLink.blotName = 'link';\nLink.tagName = 'A';\nLink.SANITIZED_URL = 'about:blank';\nLink.PROTOCOL_WHITELIST = ['http', 'https', 'mailto', 'tel'];\n\nfunction _sanitize(url, protocols) {\n var anchor = document.createElement('a');\n anchor.href = url;\n var protocol = anchor.href.slice(0, anchor.href.indexOf(':'));\n return protocols.indexOf(protocol) > -1;\n}\n\nexports.default = Link;\nexports.sanitize = _sanitize;\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _keyboard = __webpack_require__(23);\n\nvar _keyboard2 = _interopRequireDefault(_keyboard);\n\nvar _dropdown = __webpack_require__(107);\n\nvar _dropdown2 = _interopRequireDefault(_dropdown);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar optionsCounter = 0;\n\nfunction toggleAriaAttribute(element, attribute) {\n element.setAttribute(attribute, !(element.getAttribute(attribute) === 'true'));\n}\n\nvar Picker = function () {\n function Picker(select) {\n var _this = this;\n\n _classCallCheck(this, Picker);\n\n this.select = select;\n this.container = document.createElement('span');\n this.buildPicker();\n this.select.style.display = 'none';\n this.select.parentNode.insertBefore(this.container, this.select);\n\n this.label.addEventListener('mousedown', function () {\n _this.togglePicker();\n });\n this.label.addEventListener('keydown', function (event) {\n switch (event.keyCode) {\n // Allows the \"Enter\" key to open the picker\n case _keyboard2.default.keys.ENTER:\n _this.togglePicker();\n break;\n\n // Allows the \"Escape\" key to close the picker\n case _keyboard2.default.keys.ESCAPE:\n _this.escape();\n event.preventDefault();\n break;\n default:\n }\n });\n this.select.addEventListener('change', this.update.bind(this));\n }\n\n _createClass(Picker, [{\n key: 'togglePicker',\n value: function togglePicker() {\n this.container.classList.toggle('ql-expanded');\n // Toggle aria-expanded and aria-hidden to make the picker accessible\n toggleAriaAttribute(this.label, 'aria-expanded');\n toggleAriaAttribute(this.options, 'aria-hidden');\n }\n }, {\n key: 'buildItem',\n value: function buildItem(option) {\n var _this2 = this;\n\n var item = document.createElement('span');\n item.tabIndex = '0';\n item.setAttribute('role', 'button');\n\n item.classList.add('ql-picker-item');\n if (option.hasAttribute('value')) {\n item.setAttribute('data-value', option.getAttribute('value'));\n }\n if (option.textContent) {\n item.setAttribute('data-label', option.textContent);\n }\n item.addEventListener('click', function () {\n _this2.selectItem(item, true);\n });\n item.addEventListener('keydown', function (event) {\n switch (event.keyCode) {\n // Allows the \"Enter\" key to select an item\n case _keyboard2.default.keys.ENTER:\n _this2.selectItem(item, true);\n event.preventDefault();\n break;\n\n // Allows the \"Escape\" key to close the picker\n case _keyboard2.default.keys.ESCAPE:\n _this2.escape();\n event.preventDefault();\n break;\n default:\n }\n });\n\n return item;\n }\n }, {\n key: 'buildLabel',\n value: function buildLabel() {\n var label = document.createElement('span');\n label.classList.add('ql-picker-label');\n label.innerHTML = _dropdown2.default;\n label.tabIndex = '0';\n label.setAttribute('role', 'button');\n label.setAttribute('aria-expanded', 'false');\n this.container.appendChild(label);\n return label;\n }\n }, {\n key: 'buildOptions',\n value: function buildOptions() {\n var _this3 = this;\n\n var options = document.createElement('span');\n options.classList.add('ql-picker-options');\n\n // Don't want screen readers to read this until options are visible\n options.setAttribute('aria-hidden', 'true');\n options.tabIndex = '-1';\n\n // Need a unique id for aria-controls\n options.id = 'ql-picker-options-' + optionsCounter;\n optionsCounter += 1;\n this.label.setAttribute('aria-controls', options.id);\n\n this.options = options;\n\n [].slice.call(this.select.options).forEach(function (option) {\n var item = _this3.buildItem(option);\n options.appendChild(item);\n if (option.selected === true) {\n _this3.selectItem(item);\n }\n });\n this.container.appendChild(options);\n }\n }, {\n key: 'buildPicker',\n value: function buildPicker() {\n var _this4 = this;\n\n [].slice.call(this.select.attributes).forEach(function (item) {\n _this4.container.setAttribute(item.name, item.value);\n });\n this.container.classList.add('ql-picker');\n this.label = this.buildLabel();\n this.buildOptions();\n }\n }, {\n key: 'escape',\n value: function escape() {\n var _this5 = this;\n\n // Close menu and return focus to trigger label\n this.close();\n // Need setTimeout for accessibility to ensure that the browser executes\n // focus on the next process thread and after any DOM content changes\n setTimeout(function () {\n return _this5.label.focus();\n }, 1);\n }\n }, {\n key: 'close',\n value: function close() {\n this.container.classList.remove('ql-expanded');\n this.label.setAttribute('aria-expanded', 'false');\n this.options.setAttribute('aria-hidden', 'true');\n }\n }, {\n key: 'selectItem',\n value: function selectItem(item) {\n var trigger = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var selected = this.container.querySelector('.ql-selected');\n if (item === selected) return;\n if (selected != null) {\n selected.classList.remove('ql-selected');\n }\n if (item == null) return;\n item.classList.add('ql-selected');\n this.select.selectedIndex = [].indexOf.call(item.parentNode.children, item);\n if (item.hasAttribute('data-value')) {\n this.label.setAttribute('data-value', item.getAttribute('data-value'));\n } else {\n this.label.removeAttribute('data-value');\n }\n if (item.hasAttribute('data-label')) {\n this.label.setAttribute('data-label', item.getAttribute('data-label'));\n } else {\n this.label.removeAttribute('data-label');\n }\n if (trigger) {\n if (typeof Event === 'function') {\n this.select.dispatchEvent(new Event('change'));\n } else if ((typeof Event === 'undefined' ? 'undefined' : _typeof(Event)) === 'object') {\n // IE11\n var event = document.createEvent('Event');\n event.initEvent('change', true, true);\n this.select.dispatchEvent(event);\n }\n this.close();\n }\n }\n }, {\n key: 'update',\n value: function update() {\n var option = void 0;\n if (this.select.selectedIndex > -1) {\n var item = this.container.querySelector('.ql-picker-options').children[this.select.selectedIndex];\n option = this.select.options[this.select.selectedIndex];\n this.selectItem(item);\n } else {\n this.selectItem(null);\n }\n var isActive = option != null && option !== this.select.querySelector('option[selected]');\n this.label.classList.toggle('ql-active', isActive);\n }\n }]);\n\n return Picker;\n}();\n\nexports.default = Picker;\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _quill = __webpack_require__(5);\n\nvar _quill2 = _interopRequireDefault(_quill);\n\nvar _block = __webpack_require__(4);\n\nvar _block2 = _interopRequireDefault(_block);\n\nvar _break = __webpack_require__(16);\n\nvar _break2 = _interopRequireDefault(_break);\n\nvar _container = __webpack_require__(25);\n\nvar _container2 = _interopRequireDefault(_container);\n\nvar _cursor = __webpack_require__(24);\n\nvar _cursor2 = _interopRequireDefault(_cursor);\n\nvar _embed = __webpack_require__(35);\n\nvar _embed2 = _interopRequireDefault(_embed);\n\nvar _inline = __webpack_require__(6);\n\nvar _inline2 = _interopRequireDefault(_inline);\n\nvar _scroll = __webpack_require__(22);\n\nvar _scroll2 = _interopRequireDefault(_scroll);\n\nvar _text = __webpack_require__(7);\n\nvar _text2 = _interopRequireDefault(_text);\n\nvar _clipboard = __webpack_require__(55);\n\nvar _clipboard2 = _interopRequireDefault(_clipboard);\n\nvar _history = __webpack_require__(42);\n\nvar _history2 = _interopRequireDefault(_history);\n\nvar _keyboard = __webpack_require__(23);\n\nvar _keyboard2 = _interopRequireDefault(_keyboard);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n_quill2.default.register({\n 'blots/block': _block2.default,\n 'blots/block/embed': _block.BlockEmbed,\n 'blots/break': _break2.default,\n 'blots/container': _container2.default,\n 'blots/cursor': _cursor2.default,\n 'blots/embed': _embed2.default,\n 'blots/inline': _inline2.default,\n 'blots/scroll': _scroll2.default,\n 'blots/text': _text2.default,\n\n 'modules/clipboard': _clipboard2.default,\n 'modules/history': _history2.default,\n 'modules/keyboard': _keyboard2.default\n});\n\n_parchment2.default.register(_block2.default, _break2.default, _cursor2.default, _inline2.default, _scroll2.default, _text2.default);\n\nexports.default = _quill2.default;\n\n/***/ }),\n/* 30 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Registry = __webpack_require__(1);\nvar ShadowBlot = /** @class */ (function () {\n function ShadowBlot(domNode) {\n this.domNode = domNode;\n // @ts-ignore\n this.domNode[Registry.DATA_KEY] = { blot: this };\n }\n Object.defineProperty(ShadowBlot.prototype, \"statics\", {\n // Hack for accessing inherited static methods\n get: function () {\n return this.constructor;\n },\n enumerable: true,\n configurable: true\n });\n ShadowBlot.create = function (value) {\n if (this.tagName == null) {\n throw new Registry.ParchmentError('Blot definition missing tagName');\n }\n var node;\n if (Array.isArray(this.tagName)) {\n if (typeof value === 'string') {\n value = value.toUpperCase();\n if (parseInt(value).toString() === value) {\n value = parseInt(value);\n }\n }\n if (typeof value === 'number') {\n node = document.createElement(this.tagName[value - 1]);\n }\n else if (this.tagName.indexOf(value) > -1) {\n node = document.createElement(value);\n }\n else {\n node = document.createElement(this.tagName[0]);\n }\n }\n else {\n node = document.createElement(this.tagName);\n }\n if (this.className) {\n node.classList.add(this.className);\n }\n return node;\n };\n ShadowBlot.prototype.attach = function () {\n if (this.parent != null) {\n this.scroll = this.parent.scroll;\n }\n };\n ShadowBlot.prototype.clone = function () {\n var domNode = this.domNode.cloneNode(false);\n return Registry.create(domNode);\n };\n ShadowBlot.prototype.detach = function () {\n if (this.parent != null)\n this.parent.removeChild(this);\n // @ts-ignore\n delete this.domNode[Registry.DATA_KEY];\n };\n ShadowBlot.prototype.deleteAt = function (index, length) {\n var blot = this.isolate(index, length);\n blot.remove();\n };\n ShadowBlot.prototype.formatAt = function (index, length, name, value) {\n var blot = this.isolate(index, length);\n if (Registry.query(name, Registry.Scope.BLOT) != null && value) {\n blot.wrap(name, value);\n }\n else if (Registry.query(name, Registry.Scope.ATTRIBUTE) != null) {\n var parent = Registry.create(this.statics.scope);\n blot.wrap(parent);\n parent.format(name, value);\n }\n };\n ShadowBlot.prototype.insertAt = function (index, value, def) {\n var blot = def == null ? Registry.create('text', value) : Registry.create(value, def);\n var ref = this.split(index);\n this.parent.insertBefore(blot, ref);\n };\n ShadowBlot.prototype.insertInto = function (parentBlot, refBlot) {\n if (refBlot === void 0) { refBlot = null; }\n if (this.parent != null) {\n this.parent.children.remove(this);\n }\n var refDomNode = null;\n parentBlot.children.insertBefore(this, refBlot);\n if (refBlot != null) {\n refDomNode = refBlot.domNode;\n }\n if (this.domNode.parentNode != parentBlot.domNode ||\n this.domNode.nextSibling != refDomNode) {\n parentBlot.domNode.insertBefore(this.domNode, refDomNode);\n }\n this.parent = parentBlot;\n this.attach();\n };\n ShadowBlot.prototype.isolate = function (index, length) {\n var target = this.split(index);\n target.split(length);\n return target;\n };\n ShadowBlot.prototype.length = function () {\n return 1;\n };\n ShadowBlot.prototype.offset = function (root) {\n if (root === void 0) { root = this.parent; }\n if (this.parent == null || this == root)\n return 0;\n return this.parent.children.offset(this) + this.parent.offset(root);\n };\n ShadowBlot.prototype.optimize = function (context) {\n // TODO clean up once we use WeakMap\n // @ts-ignore\n if (this.domNode[Registry.DATA_KEY] != null) {\n // @ts-ignore\n delete this.domNode[Registry.DATA_KEY].mutations;\n }\n };\n ShadowBlot.prototype.remove = function () {\n if (this.domNode.parentNode != null) {\n this.domNode.parentNode.removeChild(this.domNode);\n }\n this.detach();\n };\n ShadowBlot.prototype.replace = function (target) {\n if (target.parent == null)\n return;\n target.parent.insertBefore(this, target.next);\n target.remove();\n };\n ShadowBlot.prototype.replaceWith = function (name, value) {\n var replacement = typeof name === 'string' ? Registry.create(name, value) : name;\n replacement.replace(this);\n return replacement;\n };\n ShadowBlot.prototype.split = function (index, force) {\n return index === 0 ? this : this.next;\n };\n ShadowBlot.prototype.update = function (mutations, context) {\n // Nothing to do by default\n };\n ShadowBlot.prototype.wrap = function (name, value) {\n var wrapper = typeof name === 'string' ? Registry.create(name, value) : name;\n if (this.parent != null) {\n this.parent.insertBefore(wrapper, this.next);\n }\n wrapper.appendChild(this);\n return wrapper;\n };\n ShadowBlot.blotName = 'abstract';\n return ShadowBlot;\n}());\nexports.default = ShadowBlot;\n\n\n/***/ }),\n/* 31 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar attributor_1 = __webpack_require__(12);\nvar class_1 = __webpack_require__(32);\nvar style_1 = __webpack_require__(33);\nvar Registry = __webpack_require__(1);\nvar AttributorStore = /** @class */ (function () {\n function AttributorStore(domNode) {\n this.attributes = {};\n this.domNode = domNode;\n this.build();\n }\n AttributorStore.prototype.attribute = function (attribute, value) {\n // verb\n if (value) {\n if (attribute.add(this.domNode, value)) {\n if (attribute.value(this.domNode) != null) {\n this.attributes[attribute.attrName] = attribute;\n }\n else {\n delete this.attributes[attribute.attrName];\n }\n }\n }\n else {\n attribute.remove(this.domNode);\n delete this.attributes[attribute.attrName];\n }\n };\n AttributorStore.prototype.build = function () {\n var _this = this;\n this.attributes = {};\n var attributes = attributor_1.default.keys(this.domNode);\n var classes = class_1.default.keys(this.domNode);\n var styles = style_1.default.keys(this.domNode);\n attributes\n .concat(classes)\n .concat(styles)\n .forEach(function (name) {\n var attr = Registry.query(name, Registry.Scope.ATTRIBUTE);\n if (attr instanceof attributor_1.default) {\n _this.attributes[attr.attrName] = attr;\n }\n });\n };\n AttributorStore.prototype.copy = function (target) {\n var _this = this;\n Object.keys(this.attributes).forEach(function (key) {\n var value = _this.attributes[key].value(_this.domNode);\n target.format(key, value);\n });\n };\n AttributorStore.prototype.move = function (target) {\n var _this = this;\n this.copy(target);\n Object.keys(this.attributes).forEach(function (key) {\n _this.attributes[key].remove(_this.domNode);\n });\n this.attributes = {};\n };\n AttributorStore.prototype.values = function () {\n var _this = this;\n return Object.keys(this.attributes).reduce(function (attributes, name) {\n attributes[name] = _this.attributes[name].value(_this.domNode);\n return attributes;\n }, {});\n };\n return AttributorStore;\n}());\nexports.default = AttributorStore;\n\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar attributor_1 = __webpack_require__(12);\nfunction match(node, prefix) {\n var className = node.getAttribute('class') || '';\n return className.split(/\\s+/).filter(function (name) {\n return name.indexOf(prefix + \"-\") === 0;\n });\n}\nvar ClassAttributor = /** @class */ (function (_super) {\n __extends(ClassAttributor, _super);\n function ClassAttributor() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ClassAttributor.keys = function (node) {\n return (node.getAttribute('class') || '').split(/\\s+/).map(function (name) {\n return name\n .split('-')\n .slice(0, -1)\n .join('-');\n });\n };\n ClassAttributor.prototype.add = function (node, value) {\n if (!this.canAdd(node, value))\n return false;\n this.remove(node);\n node.classList.add(this.keyName + \"-\" + value);\n return true;\n };\n ClassAttributor.prototype.remove = function (node) {\n var matches = match(node, this.keyName);\n matches.forEach(function (name) {\n node.classList.remove(name);\n });\n if (node.classList.length === 0) {\n node.removeAttribute('class');\n }\n };\n ClassAttributor.prototype.value = function (node) {\n var result = match(node, this.keyName)[0] || '';\n var value = result.slice(this.keyName.length + 1); // +1 for hyphen\n return this.canAdd(node, value) ? value : '';\n };\n return ClassAttributor;\n}(attributor_1.default));\nexports.default = ClassAttributor;\n\n\n/***/ }),\n/* 33 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar attributor_1 = __webpack_require__(12);\nfunction camelize(name) {\n var parts = name.split('-');\n var rest = parts\n .slice(1)\n .map(function (part) {\n return part[0].toUpperCase() + part.slice(1);\n })\n .join('');\n return parts[0] + rest;\n}\nvar StyleAttributor = /** @class */ (function (_super) {\n __extends(StyleAttributor, _super);\n function StyleAttributor() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n StyleAttributor.keys = function (node) {\n return (node.getAttribute('style') || '').split(';').map(function (value) {\n var arr = value.split(':');\n return arr[0].trim();\n });\n };\n StyleAttributor.prototype.add = function (node, value) {\n if (!this.canAdd(node, value))\n return false;\n // @ts-ignore\n node.style[camelize(this.keyName)] = value;\n return true;\n };\n StyleAttributor.prototype.remove = function (node) {\n // @ts-ignore\n node.style[camelize(this.keyName)] = '';\n if (!node.getAttribute('style')) {\n node.removeAttribute('style');\n }\n };\n StyleAttributor.prototype.value = function (node) {\n // @ts-ignore\n var value = node.style[camelize(this.keyName)];\n return this.canAdd(node, value) ? value : '';\n };\n return StyleAttributor;\n}(attributor_1.default));\nexports.default = StyleAttributor;\n\n\n/***/ }),\n/* 34 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Theme = function () {\n function Theme(quill, options) {\n _classCallCheck(this, Theme);\n\n this.quill = quill;\n this.options = options;\n this.modules = {};\n }\n\n _createClass(Theme, [{\n key: 'init',\n value: function init() {\n var _this = this;\n\n Object.keys(this.options.modules).forEach(function (name) {\n if (_this.modules[name] == null) {\n _this.addModule(name);\n }\n });\n }\n }, {\n key: 'addModule',\n value: function addModule(name) {\n var moduleClass = this.quill.constructor.import('modules/' + name);\n this.modules[name] = new moduleClass(this.quill, this.options.modules[name] || {});\n return this.modules[name];\n }\n }]);\n\n return Theme;\n}();\n\nTheme.DEFAULTS = {\n modules: {}\n};\nTheme.themes = {\n 'default': Theme\n};\n\nexports.default = Theme;\n\n/***/ }),\n/* 35 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _text = __webpack_require__(7);\n\nvar _text2 = _interopRequireDefault(_text);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar GUARD_TEXT = '\\uFEFF';\n\nvar Embed = function (_Parchment$Embed) {\n _inherits(Embed, _Parchment$Embed);\n\n function Embed(node) {\n _classCallCheck(this, Embed);\n\n var _this = _possibleConstructorReturn(this, (Embed.__proto__ || Object.getPrototypeOf(Embed)).call(this, node));\n\n _this.contentNode = document.createElement('span');\n _this.contentNode.setAttribute('contenteditable', false);\n [].slice.call(_this.domNode.childNodes).forEach(function (childNode) {\n _this.contentNode.appendChild(childNode);\n });\n _this.leftGuard = document.createTextNode(GUARD_TEXT);\n _this.rightGuard = document.createTextNode(GUARD_TEXT);\n _this.domNode.appendChild(_this.leftGuard);\n _this.domNode.appendChild(_this.contentNode);\n _this.domNode.appendChild(_this.rightGuard);\n return _this;\n }\n\n _createClass(Embed, [{\n key: 'index',\n value: function index(node, offset) {\n if (node === this.leftGuard) return 0;\n if (node === this.rightGuard) return 1;\n return _get(Embed.prototype.__proto__ || Object.getPrototypeOf(Embed.prototype), 'index', this).call(this, node, offset);\n }\n }, {\n key: 'restore',\n value: function restore(node) {\n var range = void 0,\n textNode = void 0;\n var text = node.data.split(GUARD_TEXT).join('');\n if (node === this.leftGuard) {\n if (this.prev instanceof _text2.default) {\n var prevLength = this.prev.length();\n this.prev.insertAt(prevLength, text);\n range = {\n startNode: this.prev.domNode,\n startOffset: prevLength + text.length\n };\n } else {\n textNode = document.createTextNode(text);\n this.parent.insertBefore(_parchment2.default.create(textNode), this);\n range = {\n startNode: textNode,\n startOffset: text.length\n };\n }\n } else if (node === this.rightGuard) {\n if (this.next instanceof _text2.default) {\n this.next.insertAt(0, text);\n range = {\n startNode: this.next.domNode,\n startOffset: text.length\n };\n } else {\n textNode = document.createTextNode(text);\n this.parent.insertBefore(_parchment2.default.create(textNode), this.next);\n range = {\n startNode: textNode,\n startOffset: text.length\n };\n }\n }\n node.data = GUARD_TEXT;\n return range;\n }\n }, {\n key: 'update',\n value: function update(mutations, context) {\n var _this2 = this;\n\n mutations.forEach(function (mutation) {\n if (mutation.type === 'characterData' && (mutation.target === _this2.leftGuard || mutation.target === _this2.rightGuard)) {\n var range = _this2.restore(mutation.target);\n if (range) context.range = range;\n }\n });\n }\n }]);\n\n return Embed;\n}(_parchment2.default.Embed);\n\nexports.default = Embed;\n\n/***/ }),\n/* 36 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.AlignStyle = exports.AlignClass = exports.AlignAttribute = undefined;\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar config = {\n scope: _parchment2.default.Scope.BLOCK,\n whitelist: ['right', 'center', 'justify']\n};\n\nvar AlignAttribute = new _parchment2.default.Attributor.Attribute('align', 'align', config);\nvar AlignClass = new _parchment2.default.Attributor.Class('align', 'ql-align', config);\nvar AlignStyle = new _parchment2.default.Attributor.Style('align', 'text-align', config);\n\nexports.AlignAttribute = AlignAttribute;\nexports.AlignClass = AlignClass;\nexports.AlignStyle = AlignStyle;\n\n/***/ }),\n/* 37 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.BackgroundStyle = exports.BackgroundClass = undefined;\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _color = __webpack_require__(26);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar BackgroundClass = new _parchment2.default.Attributor.Class('background', 'ql-bg', {\n scope: _parchment2.default.Scope.INLINE\n});\nvar BackgroundStyle = new _color.ColorAttributor('background', 'background-color', {\n scope: _parchment2.default.Scope.INLINE\n});\n\nexports.BackgroundClass = BackgroundClass;\nexports.BackgroundStyle = BackgroundStyle;\n\n/***/ }),\n/* 38 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.DirectionStyle = exports.DirectionClass = exports.DirectionAttribute = undefined;\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar config = {\n scope: _parchment2.default.Scope.BLOCK,\n whitelist: ['rtl']\n};\n\nvar DirectionAttribute = new _parchment2.default.Attributor.Attribute('direction', 'dir', config);\nvar DirectionClass = new _parchment2.default.Attributor.Class('direction', 'ql-direction', config);\nvar DirectionStyle = new _parchment2.default.Attributor.Style('direction', 'direction', config);\n\nexports.DirectionAttribute = DirectionAttribute;\nexports.DirectionClass = DirectionClass;\nexports.DirectionStyle = DirectionStyle;\n\n/***/ }),\n/* 39 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.FontClass = exports.FontStyle = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar config = {\n scope: _parchment2.default.Scope.INLINE,\n whitelist: ['serif', 'monospace']\n};\n\nvar FontClass = new _parchment2.default.Attributor.Class('font', 'ql-font', config);\n\nvar FontStyleAttributor = function (_Parchment$Attributor) {\n _inherits(FontStyleAttributor, _Parchment$Attributor);\n\n function FontStyleAttributor() {\n _classCallCheck(this, FontStyleAttributor);\n\n return _possibleConstructorReturn(this, (FontStyleAttributor.__proto__ || Object.getPrototypeOf(FontStyleAttributor)).apply(this, arguments));\n }\n\n _createClass(FontStyleAttributor, [{\n key: 'value',\n value: function value(node) {\n return _get(FontStyleAttributor.prototype.__proto__ || Object.getPrototypeOf(FontStyleAttributor.prototype), 'value', this).call(this, node).replace(/[\"']/g, '');\n }\n }]);\n\n return FontStyleAttributor;\n}(_parchment2.default.Attributor.Style);\n\nvar FontStyle = new FontStyleAttributor('font', 'font-family', config);\n\nexports.FontStyle = FontStyle;\nexports.FontClass = FontClass;\n\n/***/ }),\n/* 40 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SizeStyle = exports.SizeClass = undefined;\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar SizeClass = new _parchment2.default.Attributor.Class('size', 'ql-size', {\n scope: _parchment2.default.Scope.INLINE,\n whitelist: ['small', 'large', 'huge']\n});\nvar SizeStyle = new _parchment2.default.Attributor.Style('size', 'font-size', {\n scope: _parchment2.default.Scope.INLINE,\n whitelist: ['10px', '18px', '32px']\n});\n\nexports.SizeClass = SizeClass;\nexports.SizeStyle = SizeStyle;\n\n/***/ }),\n/* 41 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = {\n 'align': {\n '': __webpack_require__(76),\n 'center': __webpack_require__(77),\n 'right': __webpack_require__(78),\n 'justify': __webpack_require__(79)\n },\n 'background': __webpack_require__(80),\n 'blockquote': __webpack_require__(81),\n 'bold': __webpack_require__(82),\n 'clean': __webpack_require__(83),\n 'code': __webpack_require__(58),\n 'code-block': __webpack_require__(58),\n 'color': __webpack_require__(84),\n 'direction': {\n '': __webpack_require__(85),\n 'rtl': __webpack_require__(86)\n },\n 'float': {\n 'center': __webpack_require__(87),\n 'full': __webpack_require__(88),\n 'left': __webpack_require__(89),\n 'right': __webpack_require__(90)\n },\n 'formula': __webpack_require__(91),\n 'header': {\n '1': __webpack_require__(92),\n '2': __webpack_require__(93)\n },\n 'italic': __webpack_require__(94),\n 'image': __webpack_require__(95),\n 'indent': {\n '+1': __webpack_require__(96),\n '-1': __webpack_require__(97)\n },\n 'link': __webpack_require__(98),\n 'list': {\n 'ordered': __webpack_require__(99),\n 'bullet': __webpack_require__(100),\n 'check': __webpack_require__(101)\n },\n 'script': {\n 'sub': __webpack_require__(102),\n 'super': __webpack_require__(103)\n },\n 'strike': __webpack_require__(104),\n 'underline': __webpack_require__(105),\n 'video': __webpack_require__(106)\n};\n\n/***/ }),\n/* 42 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getLastChangeIndex = exports.default = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _quill = __webpack_require__(5);\n\nvar _quill2 = _interopRequireDefault(_quill);\n\nvar _module = __webpack_require__(9);\n\nvar _module2 = _interopRequireDefault(_module);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar History = function (_Module) {\n _inherits(History, _Module);\n\n function History(quill, options) {\n _classCallCheck(this, History);\n\n var _this = _possibleConstructorReturn(this, (History.__proto__ || Object.getPrototypeOf(History)).call(this, quill, options));\n\n _this.lastRecorded = 0;\n _this.ignoreChange = false;\n _this.clear();\n _this.quill.on(_quill2.default.events.EDITOR_CHANGE, function (eventName, delta, oldDelta, source) {\n if (eventName !== _quill2.default.events.TEXT_CHANGE || _this.ignoreChange) return;\n if (!_this.options.userOnly || source === _quill2.default.sources.USER) {\n _this.record(delta, oldDelta);\n } else {\n _this.transform(delta);\n }\n });\n _this.quill.keyboard.addBinding({ key: 'Z', shortKey: true }, _this.undo.bind(_this));\n _this.quill.keyboard.addBinding({ key: 'Z', shortKey: true, shiftKey: true }, _this.redo.bind(_this));\n if (/Win/i.test(navigator.platform)) {\n _this.quill.keyboard.addBinding({ key: 'Y', shortKey: true }, _this.redo.bind(_this));\n }\n return _this;\n }\n\n _createClass(History, [{\n key: 'change',\n value: function change(source, dest) {\n if (this.stack[source].length === 0) return;\n var delta = this.stack[source].pop();\n this.stack[dest].push(delta);\n this.lastRecorded = 0;\n this.ignoreChange = true;\n this.quill.updateContents(delta[source], _quill2.default.sources.USER);\n this.ignoreChange = false;\n var index = getLastChangeIndex(delta[source]);\n this.quill.setSelection(index);\n }\n }, {\n key: 'clear',\n value: function clear() {\n this.stack = { undo: [], redo: [] };\n }\n }, {\n key: 'cutoff',\n value: function cutoff() {\n this.lastRecorded = 0;\n }\n }, {\n key: 'record',\n value: function record(changeDelta, oldDelta) {\n if (changeDelta.ops.length === 0) return;\n this.stack.redo = [];\n var undoDelta = this.quill.getContents().diff(oldDelta);\n var timestamp = Date.now();\n if (this.lastRecorded + this.options.delay > timestamp && this.stack.undo.length > 0) {\n var delta = this.stack.undo.pop();\n undoDelta = undoDelta.compose(delta.undo);\n changeDelta = delta.redo.compose(changeDelta);\n } else {\n this.lastRecorded = timestamp;\n }\n this.stack.undo.push({\n redo: changeDelta,\n undo: undoDelta\n });\n if (this.stack.undo.length > this.options.maxStack) {\n this.stack.undo.shift();\n }\n }\n }, {\n key: 'redo',\n value: function redo() {\n this.change('redo', 'undo');\n }\n }, {\n key: 'transform',\n value: function transform(delta) {\n this.stack.undo.forEach(function (change) {\n change.undo = delta.transform(change.undo, true);\n change.redo = delta.transform(change.redo, true);\n });\n this.stack.redo.forEach(function (change) {\n change.undo = delta.transform(change.undo, true);\n change.redo = delta.transform(change.redo, true);\n });\n }\n }, {\n key: 'undo',\n value: function undo() {\n this.change('undo', 'redo');\n }\n }]);\n\n return History;\n}(_module2.default);\n\nHistory.DEFAULTS = {\n delay: 1000,\n maxStack: 100,\n userOnly: false\n};\n\nfunction endsWithNewlineChange(delta) {\n var lastOp = delta.ops[delta.ops.length - 1];\n if (lastOp == null) return false;\n if (lastOp.insert != null) {\n return typeof lastOp.insert === 'string' && lastOp.insert.endsWith('\\n');\n }\n if (lastOp.attributes != null) {\n return Object.keys(lastOp.attributes).some(function (attr) {\n return _parchment2.default.query(attr, _parchment2.default.Scope.BLOCK) != null;\n });\n }\n return false;\n}\n\nfunction getLastChangeIndex(delta) {\n var deleteLength = delta.reduce(function (length, op) {\n length += op.delete || 0;\n return length;\n }, 0);\n var changeIndex = delta.length() - deleteLength;\n if (endsWithNewlineChange(delta)) {\n changeIndex -= 1;\n }\n return changeIndex;\n}\n\nexports.default = History;\nexports.getLastChangeIndex = getLastChangeIndex;\n\n/***/ }),\n/* 43 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.BaseTooltip = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _extend = __webpack_require__(3);\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nvar _quillDelta = __webpack_require__(2);\n\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\n\nvar _emitter = __webpack_require__(8);\n\nvar _emitter2 = _interopRequireDefault(_emitter);\n\nvar _keyboard = __webpack_require__(23);\n\nvar _keyboard2 = _interopRequireDefault(_keyboard);\n\nvar _theme = __webpack_require__(34);\n\nvar _theme2 = _interopRequireDefault(_theme);\n\nvar _colorPicker = __webpack_require__(59);\n\nvar _colorPicker2 = _interopRequireDefault(_colorPicker);\n\nvar _iconPicker = __webpack_require__(60);\n\nvar _iconPicker2 = _interopRequireDefault(_iconPicker);\n\nvar _picker = __webpack_require__(28);\n\nvar _picker2 = _interopRequireDefault(_picker);\n\nvar _tooltip = __webpack_require__(61);\n\nvar _tooltip2 = _interopRequireDefault(_tooltip);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ALIGNS = [false, 'center', 'right', 'justify'];\n\nvar COLORS = [\"#000000\", \"#e60000\", \"#ff9900\", \"#ffff00\", \"#008a00\", \"#0066cc\", \"#9933ff\", \"#ffffff\", \"#facccc\", \"#ffebcc\", \"#ffffcc\", \"#cce8cc\", \"#cce0f5\", \"#ebd6ff\", \"#bbbbbb\", \"#f06666\", \"#ffc266\", \"#ffff66\", \"#66b966\", \"#66a3e0\", \"#c285ff\", \"#888888\", \"#a10000\", \"#b26b00\", \"#b2b200\", \"#006100\", \"#0047b2\", \"#6b24b2\", \"#444444\", \"#5c0000\", \"#663d00\", \"#666600\", \"#003700\", \"#002966\", \"#3d1466\"];\n\nvar FONTS = [false, 'serif', 'monospace'];\n\nvar HEADERS = ['1', '2', '3', false];\n\nvar SIZES = ['small', false, 'large', 'huge'];\n\nvar BaseTheme = function (_Theme) {\n _inherits(BaseTheme, _Theme);\n\n function BaseTheme(quill, options) {\n _classCallCheck(this, BaseTheme);\n\n var _this = _possibleConstructorReturn(this, (BaseTheme.__proto__ || Object.getPrototypeOf(BaseTheme)).call(this, quill, options));\n\n var listener = function listener(e) {\n if (!document.body.contains(quill.root)) {\n return document.body.removeEventListener('click', listener);\n }\n if (_this.tooltip != null && !_this.tooltip.root.contains(e.target) && document.activeElement !== _this.tooltip.textbox && !_this.quill.hasFocus()) {\n _this.tooltip.hide();\n }\n if (_this.pickers != null) {\n _this.pickers.forEach(function (picker) {\n if (!picker.container.contains(e.target)) {\n picker.close();\n }\n });\n }\n };\n quill.emitter.listenDOM('click', document.body, listener);\n return _this;\n }\n\n _createClass(BaseTheme, [{\n key: 'addModule',\n value: function addModule(name) {\n var module = _get(BaseTheme.prototype.__proto__ || Object.getPrototypeOf(BaseTheme.prototype), 'addModule', this).call(this, name);\n if (name === 'toolbar') {\n this.extendToolbar(module);\n }\n return module;\n }\n }, {\n key: 'buildButtons',\n value: function buildButtons(buttons, icons) {\n buttons.forEach(function (button) {\n var className = button.getAttribute('class') || '';\n className.split(/\\s+/).forEach(function (name) {\n if (!name.startsWith('ql-')) return;\n name = name.slice('ql-'.length);\n if (icons[name] == null) return;\n if (name === 'direction') {\n button.innerHTML = icons[name][''] + icons[name]['rtl'];\n } else if (typeof icons[name] === 'string') {\n button.innerHTML = icons[name];\n } else {\n var value = button.value || '';\n if (value != null && icons[name][value]) {\n button.innerHTML = icons[name][value];\n }\n }\n });\n });\n }\n }, {\n key: 'buildPickers',\n value: function buildPickers(selects, icons) {\n var _this2 = this;\n\n this.pickers = selects.map(function (select) {\n if (select.classList.contains('ql-align')) {\n if (select.querySelector('option') == null) {\n fillSelect(select, ALIGNS);\n }\n return new _iconPicker2.default(select, icons.align);\n } else if (select.classList.contains('ql-background') || select.classList.contains('ql-color')) {\n var format = select.classList.contains('ql-background') ? 'background' : 'color';\n if (select.querySelector('option') == null) {\n fillSelect(select, COLORS, format === 'background' ? '#ffffff' : '#000000');\n }\n return new _colorPicker2.default(select, icons[format]);\n } else {\n if (select.querySelector('option') == null) {\n if (select.classList.contains('ql-font')) {\n fillSelect(select, FONTS);\n } else if (select.classList.contains('ql-header')) {\n fillSelect(select, HEADERS);\n } else if (select.classList.contains('ql-size')) {\n fillSelect(select, SIZES);\n }\n }\n return new _picker2.default(select);\n }\n });\n var update = function update() {\n _this2.pickers.forEach(function (picker) {\n picker.update();\n });\n };\n this.quill.on(_emitter2.default.events.EDITOR_CHANGE, update);\n }\n }]);\n\n return BaseTheme;\n}(_theme2.default);\n\nBaseTheme.DEFAULTS = (0, _extend2.default)(true, {}, _theme2.default.DEFAULTS, {\n modules: {\n toolbar: {\n handlers: {\n formula: function formula() {\n this.quill.theme.tooltip.edit('formula');\n },\n image: function image() {\n var _this3 = this;\n\n var fileInput = this.container.querySelector('input.ql-image[type=file]');\n if (fileInput == null) {\n fileInput = document.createElement('input');\n fileInput.setAttribute('type', 'file');\n fileInput.setAttribute('accept', 'image/png, image/gif, image/jpeg, image/bmp, image/x-icon');\n fileInput.classList.add('ql-image');\n fileInput.addEventListener('change', function () {\n if (fileInput.files != null && fileInput.files[0] != null) {\n var reader = new FileReader();\n reader.onload = function (e) {\n var range = _this3.quill.getSelection(true);\n _this3.quill.updateContents(new _quillDelta2.default().retain(range.index).delete(range.length).insert({ image: e.target.result }), _emitter2.default.sources.USER);\n _this3.quill.setSelection(range.index + 1, _emitter2.default.sources.SILENT);\n fileInput.value = \"\";\n };\n reader.readAsDataURL(fileInput.files[0]);\n }\n });\n this.container.appendChild(fileInput);\n }\n fileInput.click();\n },\n video: function video() {\n this.quill.theme.tooltip.edit('video');\n }\n }\n }\n }\n});\n\nvar BaseTooltip = function (_Tooltip) {\n _inherits(BaseTooltip, _Tooltip);\n\n function BaseTooltip(quill, boundsContainer) {\n _classCallCheck(this, BaseTooltip);\n\n var _this4 = _possibleConstructorReturn(this, (BaseTooltip.__proto__ || Object.getPrototypeOf(BaseTooltip)).call(this, quill, boundsContainer));\n\n _this4.textbox = _this4.root.querySelector('input[type=\"text\"]');\n _this4.listen();\n return _this4;\n }\n\n _createClass(BaseTooltip, [{\n key: 'listen',\n value: function listen() {\n var _this5 = this;\n\n this.textbox.addEventListener('keydown', function (event) {\n if (_keyboard2.default.match(event, 'enter')) {\n _this5.save();\n event.preventDefault();\n } else if (_keyboard2.default.match(event, 'escape')) {\n _this5.cancel();\n event.preventDefault();\n }\n });\n }\n }, {\n key: 'cancel',\n value: function cancel() {\n this.hide();\n }\n }, {\n key: 'edit',\n value: function edit() {\n var mode = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'link';\n var preview = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n this.root.classList.remove('ql-hidden');\n this.root.classList.add('ql-editing');\n if (preview != null) {\n this.textbox.value = preview;\n } else if (mode !== this.root.getAttribute('data-mode')) {\n this.textbox.value = '';\n }\n this.position(this.quill.getBounds(this.quill.selection.savedRange));\n this.textbox.select();\n this.textbox.setAttribute('placeholder', this.textbox.getAttribute('data-' + mode) || '');\n this.root.setAttribute('data-mode', mode);\n }\n }, {\n key: 'restoreFocus',\n value: function restoreFocus() {\n var scrollTop = this.quill.scrollingContainer.scrollTop;\n this.quill.focus();\n this.quill.scrollingContainer.scrollTop = scrollTop;\n }\n }, {\n key: 'save',\n value: function save() {\n var value = this.textbox.value;\n switch (this.root.getAttribute('data-mode')) {\n case 'link':\n {\n var scrollTop = this.quill.root.scrollTop;\n if (this.linkRange) {\n this.quill.formatText(this.linkRange, 'link', value, _emitter2.default.sources.USER);\n delete this.linkRange;\n } else {\n this.restoreFocus();\n this.quill.format('link', value, _emitter2.default.sources.USER);\n }\n this.quill.root.scrollTop = scrollTop;\n break;\n }\n case 'video':\n {\n value = extractVideoUrl(value);\n } // eslint-disable-next-line no-fallthrough\n case 'formula':\n {\n if (!value) break;\n var range = this.quill.getSelection(true);\n if (range != null) {\n var index = range.index + range.length;\n this.quill.insertEmbed(index, this.root.getAttribute('data-mode'), value, _emitter2.default.sources.USER);\n if (this.root.getAttribute('data-mode') === 'formula') {\n this.quill.insertText(index + 1, ' ', _emitter2.default.sources.USER);\n }\n this.quill.setSelection(index + 2, _emitter2.default.sources.USER);\n }\n break;\n }\n default:\n }\n this.textbox.value = '';\n this.hide();\n }\n }]);\n\n return BaseTooltip;\n}(_tooltip2.default);\n\nfunction extractVideoUrl(url) {\n var match = url.match(/^(?:(https?):\\/\\/)?(?:(?:www|m)\\.)?youtube\\.com\\/watch.*v=([a-zA-Z0-9_-]+)/) || url.match(/^(?:(https?):\\/\\/)?(?:(?:www|m)\\.)?youtu\\.be\\/([a-zA-Z0-9_-]+)/);\n if (match) {\n return (match[1] || 'https') + '://www.youtube.com/embed/' + match[2] + '?showinfo=0';\n }\n if (match = url.match(/^(?:(https?):\\/\\/)?(?:www\\.)?vimeo\\.com\\/(\\d+)/)) {\n // eslint-disable-line no-cond-assign\n return (match[1] || 'https') + '://player.vimeo.com/video/' + match[2] + '/';\n }\n return url;\n}\n\nfunction fillSelect(select, values) {\n var defaultValue = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n values.forEach(function (value) {\n var option = document.createElement('option');\n if (value === defaultValue) {\n option.setAttribute('selected', 'selected');\n } else {\n option.setAttribute('value', value);\n }\n select.appendChild(option);\n });\n}\n\nexports.BaseTooltip = BaseTooltip;\nexports.default = BaseTheme;\n\n/***/ }),\n/* 44 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar LinkedList = /** @class */ (function () {\n function LinkedList() {\n this.head = this.tail = null;\n this.length = 0;\n }\n LinkedList.prototype.append = function () {\n var nodes = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n nodes[_i] = arguments[_i];\n }\n this.insertBefore(nodes[0], null);\n if (nodes.length > 1) {\n this.append.apply(this, nodes.slice(1));\n }\n };\n LinkedList.prototype.contains = function (node) {\n var cur, next = this.iterator();\n while ((cur = next())) {\n if (cur === node)\n return true;\n }\n return false;\n };\n LinkedList.prototype.insertBefore = function (node, refNode) {\n if (!node)\n return;\n node.next = refNode;\n if (refNode != null) {\n node.prev = refNode.prev;\n if (refNode.prev != null) {\n refNode.prev.next = node;\n }\n refNode.prev = node;\n if (refNode === this.head) {\n this.head = node;\n }\n }\n else if (this.tail != null) {\n this.tail.next = node;\n node.prev = this.tail;\n this.tail = node;\n }\n else {\n node.prev = null;\n this.head = this.tail = node;\n }\n this.length += 1;\n };\n LinkedList.prototype.offset = function (target) {\n var index = 0, cur = this.head;\n while (cur != null) {\n if (cur === target)\n return index;\n index += cur.length();\n cur = cur.next;\n }\n return -1;\n };\n LinkedList.prototype.remove = function (node) {\n if (!this.contains(node))\n return;\n if (node.prev != null)\n node.prev.next = node.next;\n if (node.next != null)\n node.next.prev = node.prev;\n if (node === this.head)\n this.head = node.next;\n if (node === this.tail)\n this.tail = node.prev;\n this.length -= 1;\n };\n LinkedList.prototype.iterator = function (curNode) {\n if (curNode === void 0) { curNode = this.head; }\n // TODO use yield when we can\n return function () {\n var ret = curNode;\n if (curNode != null)\n curNode = curNode.next;\n return ret;\n };\n };\n LinkedList.prototype.find = function (index, inclusive) {\n if (inclusive === void 0) { inclusive = false; }\n var cur, next = this.iterator();\n while ((cur = next())) {\n var length = cur.length();\n if (index < length ||\n (inclusive && index === length && (cur.next == null || cur.next.length() !== 0))) {\n return [cur, index];\n }\n index -= length;\n }\n return [null, 0];\n };\n LinkedList.prototype.forEach = function (callback) {\n var cur, next = this.iterator();\n while ((cur = next())) {\n callback(cur);\n }\n };\n LinkedList.prototype.forEachAt = function (index, length, callback) {\n if (length <= 0)\n return;\n var _a = this.find(index), startNode = _a[0], offset = _a[1];\n var cur, curIndex = index - offset, next = this.iterator(startNode);\n while ((cur = next()) && curIndex < index + length) {\n var curLength = cur.length();\n if (index > curIndex) {\n callback(cur, index - curIndex, Math.min(length, curIndex + curLength - index));\n }\n else {\n callback(cur, 0, Math.min(curLength, index + length - curIndex));\n }\n curIndex += curLength;\n }\n };\n LinkedList.prototype.map = function (callback) {\n return this.reduce(function (memo, cur) {\n memo.push(callback(cur));\n return memo;\n }, []);\n };\n LinkedList.prototype.reduce = function (callback, memo) {\n var cur, next = this.iterator();\n while ((cur = next())) {\n memo = callback(memo, cur);\n }\n return memo;\n };\n return LinkedList;\n}());\nexports.default = LinkedList;\n\n\n/***/ }),\n/* 45 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar container_1 = __webpack_require__(17);\nvar Registry = __webpack_require__(1);\nvar OBSERVER_CONFIG = {\n attributes: true,\n characterData: true,\n characterDataOldValue: true,\n childList: true,\n subtree: true,\n};\nvar MAX_OPTIMIZE_ITERATIONS = 100;\nvar ScrollBlot = /** @class */ (function (_super) {\n __extends(ScrollBlot, _super);\n function ScrollBlot(node) {\n var _this = _super.call(this, node) || this;\n _this.scroll = _this;\n _this.observer = new MutationObserver(function (mutations) {\n _this.update(mutations);\n });\n _this.observer.observe(_this.domNode, OBSERVER_CONFIG);\n _this.attach();\n return _this;\n }\n ScrollBlot.prototype.detach = function () {\n _super.prototype.detach.call(this);\n this.observer.disconnect();\n };\n ScrollBlot.prototype.deleteAt = function (index, length) {\n this.update();\n if (index === 0 && length === this.length()) {\n this.children.forEach(function (child) {\n child.remove();\n });\n }\n else {\n _super.prototype.deleteAt.call(this, index, length);\n }\n };\n ScrollBlot.prototype.formatAt = function (index, length, name, value) {\n this.update();\n _super.prototype.formatAt.call(this, index, length, name, value);\n };\n ScrollBlot.prototype.insertAt = function (index, value, def) {\n this.update();\n _super.prototype.insertAt.call(this, index, value, def);\n };\n ScrollBlot.prototype.optimize = function (mutations, context) {\n var _this = this;\n if (mutations === void 0) { mutations = []; }\n if (context === void 0) { context = {}; }\n _super.prototype.optimize.call(this, context);\n // We must modify mutations directly, cannot make copy and then modify\n var records = [].slice.call(this.observer.takeRecords());\n // Array.push currently seems to be implemented by a non-tail recursive function\n // so we cannot just mutations.push.apply(mutations, this.observer.takeRecords());\n while (records.length > 0)\n mutations.push(records.pop());\n // TODO use WeakMap\n var mark = function (blot, markParent) {\n if (markParent === void 0) { markParent = true; }\n if (blot == null || blot === _this)\n return;\n if (blot.domNode.parentNode == null)\n return;\n // @ts-ignore\n if (blot.domNode[Registry.DATA_KEY].mutations == null) {\n // @ts-ignore\n blot.domNode[Registry.DATA_KEY].mutations = [];\n }\n if (markParent)\n mark(blot.parent);\n };\n var optimize = function (blot) {\n // Post-order traversal\n if (\n // @ts-ignore\n blot.domNode[Registry.DATA_KEY] == null ||\n // @ts-ignore\n blot.domNode[Registry.DATA_KEY].mutations == null) {\n return;\n }\n if (blot instanceof container_1.default) {\n blot.children.forEach(optimize);\n }\n blot.optimize(context);\n };\n var remaining = mutations;\n for (var i = 0; remaining.length > 0; i += 1) {\n if (i >= MAX_OPTIMIZE_ITERATIONS) {\n throw new Error('[Parchment] Maximum optimize iterations reached');\n }\n remaining.forEach(function (mutation) {\n var blot = Registry.find(mutation.target, true);\n if (blot == null)\n return;\n if (blot.domNode === mutation.target) {\n if (mutation.type === 'childList') {\n mark(Registry.find(mutation.previousSibling, false));\n [].forEach.call(mutation.addedNodes, function (node) {\n var child = Registry.find(node, false);\n mark(child, false);\n if (child instanceof container_1.default) {\n child.children.forEach(function (grandChild) {\n mark(grandChild, false);\n });\n }\n });\n }\n else if (mutation.type === 'attributes') {\n mark(blot.prev);\n }\n }\n mark(blot);\n });\n this.children.forEach(optimize);\n remaining = [].slice.call(this.observer.takeRecords());\n records = remaining.slice();\n while (records.length > 0)\n mutations.push(records.pop());\n }\n };\n ScrollBlot.prototype.update = function (mutations, context) {\n var _this = this;\n if (context === void 0) { context = {}; }\n mutations = mutations || this.observer.takeRecords();\n // TODO use WeakMap\n mutations\n .map(function (mutation) {\n var blot = Registry.find(mutation.target, true);\n if (blot == null)\n return null;\n // @ts-ignore\n if (blot.domNode[Registry.DATA_KEY].mutations == null) {\n // @ts-ignore\n blot.domNode[Registry.DATA_KEY].mutations = [mutation];\n return blot;\n }\n else {\n // @ts-ignore\n blot.domNode[Registry.DATA_KEY].mutations.push(mutation);\n return null;\n }\n })\n .forEach(function (blot) {\n if (blot == null ||\n blot === _this ||\n //@ts-ignore\n blot.domNode[Registry.DATA_KEY] == null)\n return;\n // @ts-ignore\n blot.update(blot.domNode[Registry.DATA_KEY].mutations || [], context);\n });\n // @ts-ignore\n if (this.domNode[Registry.DATA_KEY].mutations != null) {\n // @ts-ignore\n _super.prototype.update.call(this, this.domNode[Registry.DATA_KEY].mutations, context);\n }\n this.optimize(mutations, context);\n };\n ScrollBlot.blotName = 'scroll';\n ScrollBlot.defaultChild = 'block';\n ScrollBlot.scope = Registry.Scope.BLOCK_BLOT;\n ScrollBlot.tagName = 'DIV';\n return ScrollBlot;\n}(container_1.default));\nexports.default = ScrollBlot;\n\n\n/***/ }),\n/* 46 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar format_1 = __webpack_require__(18);\nvar Registry = __webpack_require__(1);\n// Shallow object comparison\nfunction isEqual(obj1, obj2) {\n if (Object.keys(obj1).length !== Object.keys(obj2).length)\n return false;\n // @ts-ignore\n for (var prop in obj1) {\n // @ts-ignore\n if (obj1[prop] !== obj2[prop])\n return false;\n }\n return true;\n}\nvar InlineBlot = /** @class */ (function (_super) {\n __extends(InlineBlot, _super);\n function InlineBlot() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n InlineBlot.formats = function (domNode) {\n if (domNode.tagName === InlineBlot.tagName)\n return undefined;\n return _super.formats.call(this, domNode);\n };\n InlineBlot.prototype.format = function (name, value) {\n var _this = this;\n if (name === this.statics.blotName && !value) {\n this.children.forEach(function (child) {\n if (!(child instanceof format_1.default)) {\n child = child.wrap(InlineBlot.blotName, true);\n }\n _this.attributes.copy(child);\n });\n this.unwrap();\n }\n else {\n _super.prototype.format.call(this, name, value);\n }\n };\n InlineBlot.prototype.formatAt = function (index, length, name, value) {\n if (this.formats()[name] != null || Registry.query(name, Registry.Scope.ATTRIBUTE)) {\n var blot = this.isolate(index, length);\n blot.format(name, value);\n }\n else {\n _super.prototype.formatAt.call(this, index, length, name, value);\n }\n };\n InlineBlot.prototype.optimize = function (context) {\n _super.prototype.optimize.call(this, context);\n var formats = this.formats();\n if (Object.keys(formats).length === 0) {\n return this.unwrap(); // unformatted span\n }\n var next = this.next;\n if (next instanceof InlineBlot && next.prev === this && isEqual(formats, next.formats())) {\n next.moveChildren(this);\n next.remove();\n }\n };\n InlineBlot.blotName = 'inline';\n InlineBlot.scope = Registry.Scope.INLINE_BLOT;\n InlineBlot.tagName = 'SPAN';\n return InlineBlot;\n}(format_1.default));\nexports.default = InlineBlot;\n\n\n/***/ }),\n/* 47 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar format_1 = __webpack_require__(18);\nvar Registry = __webpack_require__(1);\nvar BlockBlot = /** @class */ (function (_super) {\n __extends(BlockBlot, _super);\n function BlockBlot() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n BlockBlot.formats = function (domNode) {\n var tagName = Registry.query(BlockBlot.blotName).tagName;\n if (domNode.tagName === tagName)\n return undefined;\n return _super.formats.call(this, domNode);\n };\n BlockBlot.prototype.format = function (name, value) {\n if (Registry.query(name, Registry.Scope.BLOCK) == null) {\n return;\n }\n else if (name === this.statics.blotName && !value) {\n this.replaceWith(BlockBlot.blotName);\n }\n else {\n _super.prototype.format.call(this, name, value);\n }\n };\n BlockBlot.prototype.formatAt = function (index, length, name, value) {\n if (Registry.query(name, Registry.Scope.BLOCK) != null) {\n this.format(name, value);\n }\n else {\n _super.prototype.formatAt.call(this, index, length, name, value);\n }\n };\n BlockBlot.prototype.insertAt = function (index, value, def) {\n if (def == null || Registry.query(value, Registry.Scope.INLINE) != null) {\n // Insert text or inline\n _super.prototype.insertAt.call(this, index, value, def);\n }\n else {\n var after = this.split(index);\n var blot = Registry.create(value, def);\n after.parent.insertBefore(blot, after);\n }\n };\n BlockBlot.prototype.update = function (mutations, context) {\n if (navigator.userAgent.match(/Trident/)) {\n this.build();\n }\n else {\n _super.prototype.update.call(this, mutations, context);\n }\n };\n BlockBlot.blotName = 'block';\n BlockBlot.scope = Registry.Scope.BLOCK_BLOT;\n BlockBlot.tagName = 'P';\n return BlockBlot;\n}(format_1.default));\nexports.default = BlockBlot;\n\n\n/***/ }),\n/* 48 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar leaf_1 = __webpack_require__(19);\nvar EmbedBlot = /** @class */ (function (_super) {\n __extends(EmbedBlot, _super);\n function EmbedBlot() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n EmbedBlot.formats = function (domNode) {\n return undefined;\n };\n EmbedBlot.prototype.format = function (name, value) {\n // super.formatAt wraps, which is what we want in general,\n // but this allows subclasses to overwrite for formats\n // that just apply to particular embeds\n _super.prototype.formatAt.call(this, 0, this.length(), name, value);\n };\n EmbedBlot.prototype.formatAt = function (index, length, name, value) {\n if (index === 0 && length === this.length()) {\n this.format(name, value);\n }\n else {\n _super.prototype.formatAt.call(this, index, length, name, value);\n }\n };\n EmbedBlot.prototype.formats = function () {\n return this.statics.formats(this.domNode);\n };\n return EmbedBlot;\n}(leaf_1.default));\nexports.default = EmbedBlot;\n\n\n/***/ }),\n/* 49 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar leaf_1 = __webpack_require__(19);\nvar Registry = __webpack_require__(1);\nvar TextBlot = /** @class */ (function (_super) {\n __extends(TextBlot, _super);\n function TextBlot(node) {\n var _this = _super.call(this, node) || this;\n _this.text = _this.statics.value(_this.domNode);\n return _this;\n }\n TextBlot.create = function (value) {\n return document.createTextNode(value);\n };\n TextBlot.value = function (domNode) {\n var text = domNode.data;\n // @ts-ignore\n if (text['normalize'])\n text = text['normalize']();\n return text;\n };\n TextBlot.prototype.deleteAt = function (index, length) {\n this.domNode.data = this.text = this.text.slice(0, index) + this.text.slice(index + length);\n };\n TextBlot.prototype.index = function (node, offset) {\n if (this.domNode === node) {\n return offset;\n }\n return -1;\n };\n TextBlot.prototype.insertAt = function (index, value, def) {\n if (def == null) {\n this.text = this.text.slice(0, index) + value + this.text.slice(index);\n this.domNode.data = this.text;\n }\n else {\n _super.prototype.insertAt.call(this, index, value, def);\n }\n };\n TextBlot.prototype.length = function () {\n return this.text.length;\n };\n TextBlot.prototype.optimize = function (context) {\n _super.prototype.optimize.call(this, context);\n this.text = this.statics.value(this.domNode);\n if (this.text.length === 0) {\n this.remove();\n }\n else if (this.next instanceof TextBlot && this.next.prev === this) {\n this.insertAt(this.length(), this.next.value());\n this.next.remove();\n }\n };\n TextBlot.prototype.position = function (index, inclusive) {\n if (inclusive === void 0) { inclusive = false; }\n return [this.domNode, index];\n };\n TextBlot.prototype.split = function (index, force) {\n if (force === void 0) { force = false; }\n if (!force) {\n if (index === 0)\n return this;\n if (index === this.length())\n return this.next;\n }\n var after = Registry.create(this.domNode.splitText(index));\n this.parent.insertBefore(after, this.next);\n this.text = this.statics.value(this.domNode);\n return after;\n };\n TextBlot.prototype.update = function (mutations, context) {\n var _this = this;\n if (mutations.some(function (mutation) {\n return mutation.type === 'characterData' && mutation.target === _this.domNode;\n })) {\n this.text = this.statics.value(this.domNode);\n }\n };\n TextBlot.prototype.value = function () {\n return this.text;\n };\n TextBlot.blotName = 'text';\n TextBlot.scope = Registry.Scope.INLINE_BLOT;\n return TextBlot;\n}(leaf_1.default));\nexports.default = TextBlot;\n\n\n/***/ }),\n/* 50 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar elem = document.createElement('div');\nelem.classList.toggle('test-class', false);\nif (elem.classList.contains('test-class')) {\n var _toggle = DOMTokenList.prototype.toggle;\n DOMTokenList.prototype.toggle = function (token, force) {\n if (arguments.length > 1 && !this.contains(token) === !force) {\n return force;\n } else {\n return _toggle.call(this, token);\n }\n };\n}\n\nif (!String.prototype.startsWith) {\n String.prototype.startsWith = function (searchString, position) {\n position = position || 0;\n return this.substr(position, searchString.length) === searchString;\n };\n}\n\nif (!String.prototype.endsWith) {\n String.prototype.endsWith = function (searchString, position) {\n var subjectString = this.toString();\n if (typeof position !== 'number' || !isFinite(position) || Math.floor(position) !== position || position > subjectString.length) {\n position = subjectString.length;\n }\n position -= searchString.length;\n var lastIndex = subjectString.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n };\n}\n\nif (!Array.prototype.find) {\n Object.defineProperty(Array.prototype, \"find\", {\n value: function value(predicate) {\n if (this === null) {\n throw new TypeError('Array.prototype.find called on null or undefined');\n }\n if (typeof predicate !== 'function') {\n throw new TypeError('predicate must be a function');\n }\n var list = Object(this);\n var length = list.length >>> 0;\n var thisArg = arguments[1];\n var value;\n\n for (var i = 0; i < length; i++) {\n value = list[i];\n if (predicate.call(thisArg, value, i, list)) {\n return value;\n }\n }\n return undefined;\n }\n });\n}\n\ndocument.addEventListener(\"DOMContentLoaded\", function () {\n // Disable resizing in Firefox\n document.execCommand(\"enableObjectResizing\", false, false);\n // Disable automatic linkifying in IE11\n document.execCommand(\"autoUrlDetect\", false, false);\n});\n\n/***/ }),\n/* 51 */\n/***/ (function(module, exports) {\n\n/**\n * This library modifies the diff-patch-match library by Neil Fraser\n * by removing the patch and match functionality and certain advanced\n * options in the diff function. The original license is as follows:\n *\n * ===\n *\n * Diff Match and Patch\n *\n * Copyright 2006 Google Inc.\n * http://code.google.com/p/google-diff-match-patch/\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n/**\n * The data structure representing a diff is an array of tuples:\n * [[DIFF_DELETE, 'Hello'], [DIFF_INSERT, 'Goodbye'], [DIFF_EQUAL, ' world.']]\n * which means: delete 'Hello', add 'Goodbye' and keep ' world.'\n */\nvar DIFF_DELETE = -1;\nvar DIFF_INSERT = 1;\nvar DIFF_EQUAL = 0;\n\n\n/**\n * Find the differences between two texts. Simplifies the problem by stripping\n * any common prefix or suffix off the texts before diffing.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @param {Int} cursor_pos Expected edit position in text1 (optional)\n * @return {Array} Array of diff tuples.\n */\nfunction diff_main(text1, text2, cursor_pos) {\n // Check for equality (speedup).\n if (text1 == text2) {\n if (text1) {\n return [[DIFF_EQUAL, text1]];\n }\n return [];\n }\n\n // Check cursor_pos within bounds\n if (cursor_pos < 0 || text1.length < cursor_pos) {\n cursor_pos = null;\n }\n\n // Trim off common prefix (speedup).\n var commonlength = diff_commonPrefix(text1, text2);\n var commonprefix = text1.substring(0, commonlength);\n text1 = text1.substring(commonlength);\n text2 = text2.substring(commonlength);\n\n // Trim off common suffix (speedup).\n commonlength = diff_commonSuffix(text1, text2);\n var commonsuffix = text1.substring(text1.length - commonlength);\n text1 = text1.substring(0, text1.length - commonlength);\n text2 = text2.substring(0, text2.length - commonlength);\n\n // Compute the diff on the middle block.\n var diffs = diff_compute_(text1, text2);\n\n // Restore the prefix and suffix.\n if (commonprefix) {\n diffs.unshift([DIFF_EQUAL, commonprefix]);\n }\n if (commonsuffix) {\n diffs.push([DIFF_EQUAL, commonsuffix]);\n }\n diff_cleanupMerge(diffs);\n if (cursor_pos != null) {\n diffs = fix_cursor(diffs, cursor_pos);\n }\n diffs = fix_emoji(diffs);\n return diffs;\n};\n\n\n/**\n * Find the differences between two texts. Assumes that the texts do not\n * have any common prefix or suffix.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @return {Array} Array of diff tuples.\n */\nfunction diff_compute_(text1, text2) {\n var diffs;\n\n if (!text1) {\n // Just add some text (speedup).\n return [[DIFF_INSERT, text2]];\n }\n\n if (!text2) {\n // Just delete some text (speedup).\n return [[DIFF_DELETE, text1]];\n }\n\n var longtext = text1.length > text2.length ? text1 : text2;\n var shorttext = text1.length > text2.length ? text2 : text1;\n var i = longtext.indexOf(shorttext);\n if (i != -1) {\n // Shorter text is inside the longer text (speedup).\n diffs = [[DIFF_INSERT, longtext.substring(0, i)],\n [DIFF_EQUAL, shorttext],\n [DIFF_INSERT, longtext.substring(i + shorttext.length)]];\n // Swap insertions for deletions if diff is reversed.\n if (text1.length > text2.length) {\n diffs[0][0] = diffs[2][0] = DIFF_DELETE;\n }\n return diffs;\n }\n\n if (shorttext.length == 1) {\n // Single character string.\n // After the previous speedup, the character can't be an equality.\n return [[DIFF_DELETE, text1], [DIFF_INSERT, text2]];\n }\n\n // Check to see if the problem can be split in two.\n var hm = diff_halfMatch_(text1, text2);\n if (hm) {\n // A half-match was found, sort out the return data.\n var text1_a = hm[0];\n var text1_b = hm[1];\n var text2_a = hm[2];\n var text2_b = hm[3];\n var mid_common = hm[4];\n // Send both pairs off for separate processing.\n var diffs_a = diff_main(text1_a, text2_a);\n var diffs_b = diff_main(text1_b, text2_b);\n // Merge the results.\n return diffs_a.concat([[DIFF_EQUAL, mid_common]], diffs_b);\n }\n\n return diff_bisect_(text1, text2);\n};\n\n\n/**\n * Find the 'middle snake' of a diff, split the problem in two\n * and return the recursively constructed diff.\n * See Myers 1986 paper: An O(ND) Difference Algorithm and Its Variations.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @return {Array} Array of diff tuples.\n * @private\n */\nfunction diff_bisect_(text1, text2) {\n // Cache the text lengths to prevent multiple calls.\n var text1_length = text1.length;\n var text2_length = text2.length;\n var max_d = Math.ceil((text1_length + text2_length) / 2);\n var v_offset = max_d;\n var v_length = 2 * max_d;\n var v1 = new Array(v_length);\n var v2 = new Array(v_length);\n // Setting all elements to -1 is faster in Chrome & Firefox than mixing\n // integers and undefined.\n for (var x = 0; x < v_length; x++) {\n v1[x] = -1;\n v2[x] = -1;\n }\n v1[v_offset + 1] = 0;\n v2[v_offset + 1] = 0;\n var delta = text1_length - text2_length;\n // If the total number of characters is odd, then the front path will collide\n // with the reverse path.\n var front = (delta % 2 != 0);\n // Offsets for start and end of k loop.\n // Prevents mapping of space beyond the grid.\n var k1start = 0;\n var k1end = 0;\n var k2start = 0;\n var k2end = 0;\n for (var d = 0; d < max_d; d++) {\n // Walk the front path one step.\n for (var k1 = -d + k1start; k1 <= d - k1end; k1 += 2) {\n var k1_offset = v_offset + k1;\n var x1;\n if (k1 == -d || (k1 != d && v1[k1_offset - 1] < v1[k1_offset + 1])) {\n x1 = v1[k1_offset + 1];\n } else {\n x1 = v1[k1_offset - 1] + 1;\n }\n var y1 = x1 - k1;\n while (x1 < text1_length && y1 < text2_length &&\n text1.charAt(x1) == text2.charAt(y1)) {\n x1++;\n y1++;\n }\n v1[k1_offset] = x1;\n if (x1 > text1_length) {\n // Ran off the right of the graph.\n k1end += 2;\n } else if (y1 > text2_length) {\n // Ran off the bottom of the graph.\n k1start += 2;\n } else if (front) {\n var k2_offset = v_offset + delta - k1;\n if (k2_offset >= 0 && k2_offset < v_length && v2[k2_offset] != -1) {\n // Mirror x2 onto top-left coordinate system.\n var x2 = text1_length - v2[k2_offset];\n if (x1 >= x2) {\n // Overlap detected.\n return diff_bisectSplit_(text1, text2, x1, y1);\n }\n }\n }\n }\n\n // Walk the reverse path one step.\n for (var k2 = -d + k2start; k2 <= d - k2end; k2 += 2) {\n var k2_offset = v_offset + k2;\n var x2;\n if (k2 == -d || (k2 != d && v2[k2_offset - 1] < v2[k2_offset + 1])) {\n x2 = v2[k2_offset + 1];\n } else {\n x2 = v2[k2_offset - 1] + 1;\n }\n var y2 = x2 - k2;\n while (x2 < text1_length && y2 < text2_length &&\n text1.charAt(text1_length - x2 - 1) ==\n text2.charAt(text2_length - y2 - 1)) {\n x2++;\n y2++;\n }\n v2[k2_offset] = x2;\n if (x2 > text1_length) {\n // Ran off the left of the graph.\n k2end += 2;\n } else if (y2 > text2_length) {\n // Ran off the top of the graph.\n k2start += 2;\n } else if (!front) {\n var k1_offset = v_offset + delta - k2;\n if (k1_offset >= 0 && k1_offset < v_length && v1[k1_offset] != -1) {\n var x1 = v1[k1_offset];\n var y1 = v_offset + x1 - k1_offset;\n // Mirror x2 onto top-left coordinate system.\n x2 = text1_length - x2;\n if (x1 >= x2) {\n // Overlap detected.\n return diff_bisectSplit_(text1, text2, x1, y1);\n }\n }\n }\n }\n }\n // Diff took too long and hit the deadline or\n // number of diffs equals number of characters, no commonality at all.\n return [[DIFF_DELETE, text1], [DIFF_INSERT, text2]];\n};\n\n\n/**\n * Given the location of the 'middle snake', split the diff in two parts\n * and recurse.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @param {number} x Index of split point in text1.\n * @param {number} y Index of split point in text2.\n * @return {Array} Array of diff tuples.\n */\nfunction diff_bisectSplit_(text1, text2, x, y) {\n var text1a = text1.substring(0, x);\n var text2a = text2.substring(0, y);\n var text1b = text1.substring(x);\n var text2b = text2.substring(y);\n\n // Compute both diffs serially.\n var diffs = diff_main(text1a, text2a);\n var diffsb = diff_main(text1b, text2b);\n\n return diffs.concat(diffsb);\n};\n\n\n/**\n * Determine the common prefix of two strings.\n * @param {string} text1 First string.\n * @param {string} text2 Second string.\n * @return {number} The number of characters common to the start of each\n * string.\n */\nfunction diff_commonPrefix(text1, text2) {\n // Quick check for common null cases.\n if (!text1 || !text2 || text1.charAt(0) != text2.charAt(0)) {\n return 0;\n }\n // Binary search.\n // Performance analysis: http://neil.fraser.name/news/2007/10/09/\n var pointermin = 0;\n var pointermax = Math.min(text1.length, text2.length);\n var pointermid = pointermax;\n var pointerstart = 0;\n while (pointermin < pointermid) {\n if (text1.substring(pointerstart, pointermid) ==\n text2.substring(pointerstart, pointermid)) {\n pointermin = pointermid;\n pointerstart = pointermin;\n } else {\n pointermax = pointermid;\n }\n pointermid = Math.floor((pointermax - pointermin) / 2 + pointermin);\n }\n return pointermid;\n};\n\n\n/**\n * Determine the common suffix of two strings.\n * @param {string} text1 First string.\n * @param {string} text2 Second string.\n * @return {number} The number of characters common to the end of each string.\n */\nfunction diff_commonSuffix(text1, text2) {\n // Quick check for common null cases.\n if (!text1 || !text2 ||\n text1.charAt(text1.length - 1) != text2.charAt(text2.length - 1)) {\n return 0;\n }\n // Binary search.\n // Performance analysis: http://neil.fraser.name/news/2007/10/09/\n var pointermin = 0;\n var pointermax = Math.min(text1.length, text2.length);\n var pointermid = pointermax;\n var pointerend = 0;\n while (pointermin < pointermid) {\n if (text1.substring(text1.length - pointermid, text1.length - pointerend) ==\n text2.substring(text2.length - pointermid, text2.length - pointerend)) {\n pointermin = pointermid;\n pointerend = pointermin;\n } else {\n pointermax = pointermid;\n }\n pointermid = Math.floor((pointermax - pointermin) / 2 + pointermin);\n }\n return pointermid;\n};\n\n\n/**\n * Do the two texts share a substring which is at least half the length of the\n * longer text?\n * This speedup can produce non-minimal diffs.\n * @param {string} text1 First string.\n * @param {string} text2 Second string.\n * @return {Array.} Five element Array, containing the prefix of\n * text1, the suffix of text1, the prefix of text2, the suffix of\n * text2 and the common middle. Or null if there was no match.\n */\nfunction diff_halfMatch_(text1, text2) {\n var longtext = text1.length > text2.length ? text1 : text2;\n var shorttext = text1.length > text2.length ? text2 : text1;\n if (longtext.length < 4 || shorttext.length * 2 < longtext.length) {\n return null; // Pointless.\n }\n\n /**\n * Does a substring of shorttext exist within longtext such that the substring\n * is at least half the length of longtext?\n * Closure, but does not reference any external variables.\n * @param {string} longtext Longer string.\n * @param {string} shorttext Shorter string.\n * @param {number} i Start index of quarter length substring within longtext.\n * @return {Array.} Five element Array, containing the prefix of\n * longtext, the suffix of longtext, the prefix of shorttext, the suffix\n * of shorttext and the common middle. Or null if there was no match.\n * @private\n */\n function diff_halfMatchI_(longtext, shorttext, i) {\n // Start with a 1/4 length substring at position i as a seed.\n var seed = longtext.substring(i, i + Math.floor(longtext.length / 4));\n var j = -1;\n var best_common = '';\n var best_longtext_a, best_longtext_b, best_shorttext_a, best_shorttext_b;\n while ((j = shorttext.indexOf(seed, j + 1)) != -1) {\n var prefixLength = diff_commonPrefix(longtext.substring(i),\n shorttext.substring(j));\n var suffixLength = diff_commonSuffix(longtext.substring(0, i),\n shorttext.substring(0, j));\n if (best_common.length < suffixLength + prefixLength) {\n best_common = shorttext.substring(j - suffixLength, j) +\n shorttext.substring(j, j + prefixLength);\n best_longtext_a = longtext.substring(0, i - suffixLength);\n best_longtext_b = longtext.substring(i + prefixLength);\n best_shorttext_a = shorttext.substring(0, j - suffixLength);\n best_shorttext_b = shorttext.substring(j + prefixLength);\n }\n }\n if (best_common.length * 2 >= longtext.length) {\n return [best_longtext_a, best_longtext_b,\n best_shorttext_a, best_shorttext_b, best_common];\n } else {\n return null;\n }\n }\n\n // First check if the second quarter is the seed for a half-match.\n var hm1 = diff_halfMatchI_(longtext, shorttext,\n Math.ceil(longtext.length / 4));\n // Check again based on the third quarter.\n var hm2 = diff_halfMatchI_(longtext, shorttext,\n Math.ceil(longtext.length / 2));\n var hm;\n if (!hm1 && !hm2) {\n return null;\n } else if (!hm2) {\n hm = hm1;\n } else if (!hm1) {\n hm = hm2;\n } else {\n // Both matched. Select the longest.\n hm = hm1[4].length > hm2[4].length ? hm1 : hm2;\n }\n\n // A half-match was found, sort out the return data.\n var text1_a, text1_b, text2_a, text2_b;\n if (text1.length > text2.length) {\n text1_a = hm[0];\n text1_b = hm[1];\n text2_a = hm[2];\n text2_b = hm[3];\n } else {\n text2_a = hm[0];\n text2_b = hm[1];\n text1_a = hm[2];\n text1_b = hm[3];\n }\n var mid_common = hm[4];\n return [text1_a, text1_b, text2_a, text2_b, mid_common];\n};\n\n\n/**\n * Reorder and merge like edit sections. Merge equalities.\n * Any edit section can move as long as it doesn't cross an equality.\n * @param {Array} diffs Array of diff tuples.\n */\nfunction diff_cleanupMerge(diffs) {\n diffs.push([DIFF_EQUAL, '']); // Add a dummy entry at the end.\n var pointer = 0;\n var count_delete = 0;\n var count_insert = 0;\n var text_delete = '';\n var text_insert = '';\n var commonlength;\n while (pointer < diffs.length) {\n switch (diffs[pointer][0]) {\n case DIFF_INSERT:\n count_insert++;\n text_insert += diffs[pointer][1];\n pointer++;\n break;\n case DIFF_DELETE:\n count_delete++;\n text_delete += diffs[pointer][1];\n pointer++;\n break;\n case DIFF_EQUAL:\n // Upon reaching an equality, check for prior redundancies.\n if (count_delete + count_insert > 1) {\n if (count_delete !== 0 && count_insert !== 0) {\n // Factor out any common prefixies.\n commonlength = diff_commonPrefix(text_insert, text_delete);\n if (commonlength !== 0) {\n if ((pointer - count_delete - count_insert) > 0 &&\n diffs[pointer - count_delete - count_insert - 1][0] ==\n DIFF_EQUAL) {\n diffs[pointer - count_delete - count_insert - 1][1] +=\n text_insert.substring(0, commonlength);\n } else {\n diffs.splice(0, 0, [DIFF_EQUAL,\n text_insert.substring(0, commonlength)]);\n pointer++;\n }\n text_insert = text_insert.substring(commonlength);\n text_delete = text_delete.substring(commonlength);\n }\n // Factor out any common suffixies.\n commonlength = diff_commonSuffix(text_insert, text_delete);\n if (commonlength !== 0) {\n diffs[pointer][1] = text_insert.substring(text_insert.length -\n commonlength) + diffs[pointer][1];\n text_insert = text_insert.substring(0, text_insert.length -\n commonlength);\n text_delete = text_delete.substring(0, text_delete.length -\n commonlength);\n }\n }\n // Delete the offending records and add the merged ones.\n if (count_delete === 0) {\n diffs.splice(pointer - count_insert,\n count_delete + count_insert, [DIFF_INSERT, text_insert]);\n } else if (count_insert === 0) {\n diffs.splice(pointer - count_delete,\n count_delete + count_insert, [DIFF_DELETE, text_delete]);\n } else {\n diffs.splice(pointer - count_delete - count_insert,\n count_delete + count_insert, [DIFF_DELETE, text_delete],\n [DIFF_INSERT, text_insert]);\n }\n pointer = pointer - count_delete - count_insert +\n (count_delete ? 1 : 0) + (count_insert ? 1 : 0) + 1;\n } else if (pointer !== 0 && diffs[pointer - 1][0] == DIFF_EQUAL) {\n // Merge this equality with the previous one.\n diffs[pointer - 1][1] += diffs[pointer][1];\n diffs.splice(pointer, 1);\n } else {\n pointer++;\n }\n count_insert = 0;\n count_delete = 0;\n text_delete = '';\n text_insert = '';\n break;\n }\n }\n if (diffs[diffs.length - 1][1] === '') {\n diffs.pop(); // Remove the dummy entry at the end.\n }\n\n // Second pass: look for single edits surrounded on both sides by equalities\n // which can be shifted sideways to eliminate an equality.\n // e.g: ABAC -> ABAC\n var changes = false;\n pointer = 1;\n // Intentionally ignore the first and last element (don't need checking).\n while (pointer < diffs.length - 1) {\n if (diffs[pointer - 1][0] == DIFF_EQUAL &&\n diffs[pointer + 1][0] == DIFF_EQUAL) {\n // This is a single edit surrounded by equalities.\n if (diffs[pointer][1].substring(diffs[pointer][1].length -\n diffs[pointer - 1][1].length) == diffs[pointer - 1][1]) {\n // Shift the edit over the previous equality.\n diffs[pointer][1] = diffs[pointer - 1][1] +\n diffs[pointer][1].substring(0, diffs[pointer][1].length -\n diffs[pointer - 1][1].length);\n diffs[pointer + 1][1] = diffs[pointer - 1][1] + diffs[pointer + 1][1];\n diffs.splice(pointer - 1, 1);\n changes = true;\n } else if (diffs[pointer][1].substring(0, diffs[pointer + 1][1].length) ==\n diffs[pointer + 1][1]) {\n // Shift the edit over the next equality.\n diffs[pointer - 1][1] += diffs[pointer + 1][1];\n diffs[pointer][1] =\n diffs[pointer][1].substring(diffs[pointer + 1][1].length) +\n diffs[pointer + 1][1];\n diffs.splice(pointer + 1, 1);\n changes = true;\n }\n }\n pointer++;\n }\n // If shifts were made, the diff needs reordering and another shift sweep.\n if (changes) {\n diff_cleanupMerge(diffs);\n }\n};\n\n\nvar diff = diff_main;\ndiff.INSERT = DIFF_INSERT;\ndiff.DELETE = DIFF_DELETE;\ndiff.EQUAL = DIFF_EQUAL;\n\nmodule.exports = diff;\n\n/*\n * Modify a diff such that the cursor position points to the start of a change:\n * E.g.\n * cursor_normalize_diff([[DIFF_EQUAL, 'abc']], 1)\n * => [1, [[DIFF_EQUAL, 'a'], [DIFF_EQUAL, 'bc']]]\n * cursor_normalize_diff([[DIFF_INSERT, 'new'], [DIFF_DELETE, 'xyz']], 2)\n * => [2, [[DIFF_INSERT, 'new'], [DIFF_DELETE, 'xy'], [DIFF_DELETE, 'z']]]\n *\n * @param {Array} diffs Array of diff tuples\n * @param {Int} cursor_pos Suggested edit position. Must not be out of bounds!\n * @return {Array} A tuple [cursor location in the modified diff, modified diff]\n */\nfunction cursor_normalize_diff (diffs, cursor_pos) {\n if (cursor_pos === 0) {\n return [DIFF_EQUAL, diffs];\n }\n for (var current_pos = 0, i = 0; i < diffs.length; i++) {\n var d = diffs[i];\n if (d[0] === DIFF_DELETE || d[0] === DIFF_EQUAL) {\n var next_pos = current_pos + d[1].length;\n if (cursor_pos === next_pos) {\n return [i + 1, diffs];\n } else if (cursor_pos < next_pos) {\n // copy to prevent side effects\n diffs = diffs.slice();\n // split d into two diff changes\n var split_pos = cursor_pos - current_pos;\n var d_left = [d[0], d[1].slice(0, split_pos)];\n var d_right = [d[0], d[1].slice(split_pos)];\n diffs.splice(i, 1, d_left, d_right);\n return [i + 1, diffs];\n } else {\n current_pos = next_pos;\n }\n }\n }\n throw new Error('cursor_pos is out of bounds!')\n}\n\n/*\n * Modify a diff such that the edit position is \"shifted\" to the proposed edit location (cursor_position).\n *\n * Case 1)\n * Check if a naive shift is possible:\n * [0, X], [ 1, Y] -> [ 1, Y], [0, X] (if X + Y === Y + X)\n * [0, X], [-1, Y] -> [-1, Y], [0, X] (if X + Y === Y + X) - holds same result\n * Case 2)\n * Check if the following shifts are possible:\n * [0, 'pre'], [ 1, 'prefix'] -> [ 1, 'pre'], [0, 'pre'], [ 1, 'fix']\n * [0, 'pre'], [-1, 'prefix'] -> [-1, 'pre'], [0, 'pre'], [-1, 'fix']\n * ^ ^\n * d d_next\n *\n * @param {Array} diffs Array of diff tuples\n * @param {Int} cursor_pos Suggested edit position. Must not be out of bounds!\n * @return {Array} Array of diff tuples\n */\nfunction fix_cursor (diffs, cursor_pos) {\n var norm = cursor_normalize_diff(diffs, cursor_pos);\n var ndiffs = norm[1];\n var cursor_pointer = norm[0];\n var d = ndiffs[cursor_pointer];\n var d_next = ndiffs[cursor_pointer + 1];\n\n if (d == null) {\n // Text was deleted from end of original string,\n // cursor is now out of bounds in new string\n return diffs;\n } else if (d[0] !== DIFF_EQUAL) {\n // A modification happened at the cursor location.\n // This is the expected outcome, so we can return the original diff.\n return diffs;\n } else {\n if (d_next != null && d[1] + d_next[1] === d_next[1] + d[1]) {\n // Case 1)\n // It is possible to perform a naive shift\n ndiffs.splice(cursor_pointer, 2, d_next, d)\n return merge_tuples(ndiffs, cursor_pointer, 2)\n } else if (d_next != null && d_next[1].indexOf(d[1]) === 0) {\n // Case 2)\n // d[1] is a prefix of d_next[1]\n // We can assume that d_next[0] !== 0, since d[0] === 0\n // Shift edit locations..\n ndiffs.splice(cursor_pointer, 2, [d_next[0], d[1]], [0, d[1]]);\n var suffix = d_next[1].slice(d[1].length);\n if (suffix.length > 0) {\n ndiffs.splice(cursor_pointer + 2, 0, [d_next[0], suffix]);\n }\n return merge_tuples(ndiffs, cursor_pointer, 3)\n } else {\n // Not possible to perform any modification\n return diffs;\n }\n }\n}\n\n/*\n * Check diff did not split surrogate pairs.\n * Ex. [0, '\\uD83D'], [-1, '\\uDC36'], [1, '\\uDC2F'] -> [-1, '\\uD83D\\uDC36'], [1, '\\uD83D\\uDC2F']\n * '\\uD83D\\uDC36' === '🐶', '\\uD83D\\uDC2F' === '🐯'\n *\n * @param {Array} diffs Array of diff tuples\n * @return {Array} Array of diff tuples\n */\nfunction fix_emoji (diffs) {\n var compact = false;\n var starts_with_pair_end = function(str) {\n return str.charCodeAt(0) >= 0xDC00 && str.charCodeAt(0) <= 0xDFFF;\n }\n var ends_with_pair_start = function(str) {\n return str.charCodeAt(str.length-1) >= 0xD800 && str.charCodeAt(str.length-1) <= 0xDBFF;\n }\n for (var i = 2; i < diffs.length; i += 1) {\n if (diffs[i-2][0] === DIFF_EQUAL && ends_with_pair_start(diffs[i-2][1]) &&\n diffs[i-1][0] === DIFF_DELETE && starts_with_pair_end(diffs[i-1][1]) &&\n diffs[i][0] === DIFF_INSERT && starts_with_pair_end(diffs[i][1])) {\n compact = true;\n\n diffs[i-1][1] = diffs[i-2][1].slice(-1) + diffs[i-1][1];\n diffs[i][1] = diffs[i-2][1].slice(-1) + diffs[i][1];\n\n diffs[i-2][1] = diffs[i-2][1].slice(0, -1);\n }\n }\n if (!compact) {\n return diffs;\n }\n var fixed_diffs = [];\n for (var i = 0; i < diffs.length; i += 1) {\n if (diffs[i][1].length > 0) {\n fixed_diffs.push(diffs[i]);\n }\n }\n return fixed_diffs;\n}\n\n/*\n * Try to merge tuples with their neigbors in a given range.\n * E.g. [0, 'a'], [0, 'b'] -> [0, 'ab']\n *\n * @param {Array} diffs Array of diff tuples.\n * @param {Int} start Position of the first element to merge (diffs[start] is also merged with diffs[start - 1]).\n * @param {Int} length Number of consecutive elements to check.\n * @return {Array} Array of merged diff tuples.\n */\nfunction merge_tuples (diffs, start, length) {\n // Check from (start-1) to (start+length).\n for (var i = start + length - 1; i >= 0 && i >= start - 1; i--) {\n if (i + 1 < diffs.length) {\n var left_d = diffs[i];\n var right_d = diffs[i+1];\n if (left_d[0] === right_d[1]) {\n diffs.splice(i, 2, [left_d[0], left_d[1] + right_d[1]]);\n }\n }\n }\n return diffs;\n}\n\n\n/***/ }),\n/* 52 */\n/***/ (function(module, exports) {\n\nexports = module.exports = typeof Object.keys === 'function'\n ? Object.keys : shim;\n\nexports.shim = shim;\nfunction shim (obj) {\n var keys = [];\n for (var key in obj) keys.push(key);\n return keys;\n}\n\n\n/***/ }),\n/* 53 */\n/***/ (function(module, exports) {\n\nvar supportsArgumentsClass = (function(){\n return Object.prototype.toString.call(arguments)\n})() == '[object Arguments]';\n\nexports = module.exports = supportsArgumentsClass ? supported : unsupported;\n\nexports.supported = supported;\nfunction supported(object) {\n return Object.prototype.toString.call(object) == '[object Arguments]';\n};\n\nexports.unsupported = unsupported;\nfunction unsupported(object){\n return object &&\n typeof object == 'object' &&\n typeof object.length == 'number' &&\n Object.prototype.hasOwnProperty.call(object, 'callee') &&\n !Object.prototype.propertyIsEnumerable.call(object, 'callee') ||\n false;\n};\n\n\n/***/ }),\n/* 54 */\n/***/ (function(module, exports) {\n\n'use strict';\n\nvar has = Object.prototype.hasOwnProperty\n , prefix = '~';\n\n/**\n * Constructor to create a storage for our `EE` objects.\n * An `Events` instance is a plain object whose properties are event names.\n *\n * @constructor\n * @api private\n */\nfunction Events() {}\n\n//\n// We try to not inherit from `Object.prototype`. In some engines creating an\n// instance in this way is faster than calling `Object.create(null)` directly.\n// If `Object.create(null)` is not supported we prefix the event names with a\n// character to make sure that the built-in object properties are not\n// overridden or used as an attack vector.\n//\nif (Object.create) {\n Events.prototype = Object.create(null);\n\n //\n // This hack is needed because the `__proto__` property is still inherited in\n // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.\n //\n if (!new Events().__proto__) prefix = false;\n}\n\n/**\n * Representation of a single event listener.\n *\n * @param {Function} fn The listener function.\n * @param {Mixed} context The context to invoke the listener with.\n * @param {Boolean} [once=false] Specify if the listener is a one-time listener.\n * @constructor\n * @api private\n */\nfunction EE(fn, context, once) {\n this.fn = fn;\n this.context = context;\n this.once = once || false;\n}\n\n/**\n * Minimal `EventEmitter` interface that is molded against the Node.js\n * `EventEmitter` interface.\n *\n * @constructor\n * @api public\n */\nfunction EventEmitter() {\n this._events = new Events();\n this._eventsCount = 0;\n}\n\n/**\n * Return an array listing the events for which the emitter has registered\n * listeners.\n *\n * @returns {Array}\n * @api public\n */\nEventEmitter.prototype.eventNames = function eventNames() {\n var names = []\n , events\n , name;\n\n if (this._eventsCount === 0) return names;\n\n for (name in (events = this._events)) {\n if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);\n }\n\n if (Object.getOwnPropertySymbols) {\n return names.concat(Object.getOwnPropertySymbols(events));\n }\n\n return names;\n};\n\n/**\n * Return the listeners registered for a given event.\n *\n * @param {String|Symbol} event The event name.\n * @param {Boolean} exists Only check if there are listeners.\n * @returns {Array|Boolean}\n * @api public\n */\nEventEmitter.prototype.listeners = function listeners(event, exists) {\n var evt = prefix ? prefix + event : event\n , available = this._events[evt];\n\n if (exists) return !!available;\n if (!available) return [];\n if (available.fn) return [available.fn];\n\n for (var i = 0, l = available.length, ee = new Array(l); i < l; i++) {\n ee[i] = available[i].fn;\n }\n\n return ee;\n};\n\n/**\n * Calls each of the listeners registered for a given event.\n *\n * @param {String|Symbol} event The event name.\n * @returns {Boolean} `true` if the event had listeners, else `false`.\n * @api public\n */\nEventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return false;\n\n var listeners = this._events[evt]\n , len = arguments.length\n , args\n , i;\n\n if (listeners.fn) {\n if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);\n\n switch (len) {\n case 1: return listeners.fn.call(listeners.context), true;\n case 2: return listeners.fn.call(listeners.context, a1), true;\n case 3: return listeners.fn.call(listeners.context, a1, a2), true;\n case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true;\n case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;\n case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;\n }\n\n for (i = 1, args = new Array(len -1); i < len; i++) {\n args[i - 1] = arguments[i];\n }\n\n listeners.fn.apply(listeners.context, args);\n } else {\n var length = listeners.length\n , j;\n\n for (i = 0; i < length; i++) {\n if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);\n\n switch (len) {\n case 1: listeners[i].fn.call(listeners[i].context); break;\n case 2: listeners[i].fn.call(listeners[i].context, a1); break;\n case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;\n case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break;\n default:\n if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {\n args[j - 1] = arguments[j];\n }\n\n listeners[i].fn.apply(listeners[i].context, args);\n }\n }\n }\n\n return true;\n};\n\n/**\n * Add a listener for a given event.\n *\n * @param {String|Symbol} event The event name.\n * @param {Function} fn The listener function.\n * @param {Mixed} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @api public\n */\nEventEmitter.prototype.on = function on(event, fn, context) {\n var listener = new EE(fn, context || this)\n , evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) this._events[evt] = listener, this._eventsCount++;\n else if (!this._events[evt].fn) this._events[evt].push(listener);\n else this._events[evt] = [this._events[evt], listener];\n\n return this;\n};\n\n/**\n * Add a one-time listener for a given event.\n *\n * @param {String|Symbol} event The event name.\n * @param {Function} fn The listener function.\n * @param {Mixed} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @api public\n */\nEventEmitter.prototype.once = function once(event, fn, context) {\n var listener = new EE(fn, context || this, true)\n , evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) this._events[evt] = listener, this._eventsCount++;\n else if (!this._events[evt].fn) this._events[evt].push(listener);\n else this._events[evt] = [this._events[evt], listener];\n\n return this;\n};\n\n/**\n * Remove the listeners of a given event.\n *\n * @param {String|Symbol} event The event name.\n * @param {Function} fn Only remove the listeners that match this function.\n * @param {Mixed} context Only remove the listeners that have this context.\n * @param {Boolean} once Only remove one-time listeners.\n * @returns {EventEmitter} `this`.\n * @api public\n */\nEventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return this;\n if (!fn) {\n if (--this._eventsCount === 0) this._events = new Events();\n else delete this._events[evt];\n return this;\n }\n\n var listeners = this._events[evt];\n\n if (listeners.fn) {\n if (\n listeners.fn === fn\n && (!once || listeners.once)\n && (!context || listeners.context === context)\n ) {\n if (--this._eventsCount === 0) this._events = new Events();\n else delete this._events[evt];\n }\n } else {\n for (var i = 0, events = [], length = listeners.length; i < length; i++) {\n if (\n listeners[i].fn !== fn\n || (once && !listeners[i].once)\n || (context && listeners[i].context !== context)\n ) {\n events.push(listeners[i]);\n }\n }\n\n //\n // Reset the array, or remove it completely if we have no more listeners.\n //\n if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;\n else if (--this._eventsCount === 0) this._events = new Events();\n else delete this._events[evt];\n }\n\n return this;\n};\n\n/**\n * Remove all listeners, or those of the specified event.\n *\n * @param {String|Symbol} [event] The event name.\n * @returns {EventEmitter} `this`.\n * @api public\n */\nEventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {\n var evt;\n\n if (event) {\n evt = prefix ? prefix + event : event;\n if (this._events[evt]) {\n if (--this._eventsCount === 0) this._events = new Events();\n else delete this._events[evt];\n }\n } else {\n this._events = new Events();\n this._eventsCount = 0;\n }\n\n return this;\n};\n\n//\n// Alias methods names because people roll like that.\n//\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\nEventEmitter.prototype.addListener = EventEmitter.prototype.on;\n\n//\n// This function doesn't apply anymore.\n//\nEventEmitter.prototype.setMaxListeners = function setMaxListeners() {\n return this;\n};\n\n//\n// Expose the prefix.\n//\nEventEmitter.prefixed = prefix;\n\n//\n// Allow `EventEmitter` to be imported as module namespace.\n//\nEventEmitter.EventEmitter = EventEmitter;\n\n//\n// Expose the module.\n//\nif ('undefined' !== typeof module) {\n module.exports = EventEmitter;\n}\n\n\n/***/ }),\n/* 55 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.matchText = exports.matchSpacing = exports.matchNewline = exports.matchBlot = exports.matchAttributor = exports.default = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _extend2 = __webpack_require__(3);\n\nvar _extend3 = _interopRequireDefault(_extend2);\n\nvar _quillDelta = __webpack_require__(2);\n\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _quill = __webpack_require__(5);\n\nvar _quill2 = _interopRequireDefault(_quill);\n\nvar _logger = __webpack_require__(10);\n\nvar _logger2 = _interopRequireDefault(_logger);\n\nvar _module = __webpack_require__(9);\n\nvar _module2 = _interopRequireDefault(_module);\n\nvar _align = __webpack_require__(36);\n\nvar _background = __webpack_require__(37);\n\nvar _code = __webpack_require__(13);\n\nvar _code2 = _interopRequireDefault(_code);\n\nvar _color = __webpack_require__(26);\n\nvar _direction = __webpack_require__(38);\n\nvar _font = __webpack_require__(39);\n\nvar _size = __webpack_require__(40);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar debug = (0, _logger2.default)('quill:clipboard');\n\nvar DOM_KEY = '__ql-matcher';\n\nvar CLIPBOARD_CONFIG = [[Node.TEXT_NODE, matchText], [Node.TEXT_NODE, matchNewline], ['br', matchBreak], [Node.ELEMENT_NODE, matchNewline], [Node.ELEMENT_NODE, matchBlot], [Node.ELEMENT_NODE, matchSpacing], [Node.ELEMENT_NODE, matchAttributor], [Node.ELEMENT_NODE, matchStyles], ['li', matchIndent], ['b', matchAlias.bind(matchAlias, 'bold')], ['i', matchAlias.bind(matchAlias, 'italic')], ['style', matchIgnore]];\n\nvar ATTRIBUTE_ATTRIBUTORS = [_align.AlignAttribute, _direction.DirectionAttribute].reduce(function (memo, attr) {\n memo[attr.keyName] = attr;\n return memo;\n}, {});\n\nvar STYLE_ATTRIBUTORS = [_align.AlignStyle, _background.BackgroundStyle, _color.ColorStyle, _direction.DirectionStyle, _font.FontStyle, _size.SizeStyle].reduce(function (memo, attr) {\n memo[attr.keyName] = attr;\n return memo;\n}, {});\n\nvar Clipboard = function (_Module) {\n _inherits(Clipboard, _Module);\n\n function Clipboard(quill, options) {\n _classCallCheck(this, Clipboard);\n\n var _this = _possibleConstructorReturn(this, (Clipboard.__proto__ || Object.getPrototypeOf(Clipboard)).call(this, quill, options));\n\n _this.quill.root.addEventListener('paste', _this.onPaste.bind(_this));\n _this.container = _this.quill.addContainer('ql-clipboard');\n _this.container.setAttribute('contenteditable', true);\n _this.container.setAttribute('tabindex', -1);\n _this.matchers = [];\n CLIPBOARD_CONFIG.concat(_this.options.matchers).forEach(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n selector = _ref2[0],\n matcher = _ref2[1];\n\n if (!options.matchVisual && matcher === matchSpacing) return;\n _this.addMatcher(selector, matcher);\n });\n return _this;\n }\n\n _createClass(Clipboard, [{\n key: 'addMatcher',\n value: function addMatcher(selector, matcher) {\n this.matchers.push([selector, matcher]);\n }\n }, {\n key: 'convert',\n value: function convert(html) {\n if (typeof html === 'string') {\n this.container.innerHTML = html.replace(/\\>\\r?\\n +\\<'); // Remove spaces between tags\n return this.convert();\n }\n var formats = this.quill.getFormat(this.quill.selection.savedRange.index);\n if (formats[_code2.default.blotName]) {\n var text = this.container.innerText;\n this.container.innerHTML = '';\n return new _quillDelta2.default().insert(text, _defineProperty({}, _code2.default.blotName, formats[_code2.default.blotName]));\n }\n\n var _prepareMatching = this.prepareMatching(),\n _prepareMatching2 = _slicedToArray(_prepareMatching, 2),\n elementMatchers = _prepareMatching2[0],\n textMatchers = _prepareMatching2[1];\n\n var delta = traverse(this.container, elementMatchers, textMatchers);\n // Remove trailing newline\n if (deltaEndsWith(delta, '\\n') && delta.ops[delta.ops.length - 1].attributes == null) {\n delta = delta.compose(new _quillDelta2.default().retain(delta.length() - 1).delete(1));\n }\n debug.log('convert', this.container.innerHTML, delta);\n this.container.innerHTML = '';\n return delta;\n }\n }, {\n key: 'dangerouslyPasteHTML',\n value: function dangerouslyPasteHTML(index, html) {\n var source = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _quill2.default.sources.API;\n\n if (typeof index === 'string') {\n this.quill.setContents(this.convert(index), html);\n this.quill.setSelection(0, _quill2.default.sources.SILENT);\n } else {\n var paste = this.convert(html);\n this.quill.updateContents(new _quillDelta2.default().retain(index).concat(paste), source);\n this.quill.setSelection(index + paste.length(), _quill2.default.sources.SILENT);\n }\n }\n }, {\n key: 'onPaste',\n value: function onPaste(e) {\n var _this2 = this;\n\n if (e.defaultPrevented || !this.quill.isEnabled()) return;\n var range = this.quill.getSelection();\n var delta = new _quillDelta2.default().retain(range.index);\n var scrollTop = this.quill.scrollingContainer.scrollTop;\n this.container.focus();\n this.quill.selection.update(_quill2.default.sources.SILENT);\n setTimeout(function () {\n delta = delta.concat(_this2.convert()).delete(range.length);\n _this2.quill.updateContents(delta, _quill2.default.sources.USER);\n // range.length contributes to delta.length()\n _this2.quill.setSelection(delta.length() - range.length, _quill2.default.sources.SILENT);\n _this2.quill.scrollingContainer.scrollTop = scrollTop;\n _this2.quill.focus();\n }, 1);\n }\n }, {\n key: 'prepareMatching',\n value: function prepareMatching() {\n var _this3 = this;\n\n var elementMatchers = [],\n textMatchers = [];\n this.matchers.forEach(function (pair) {\n var _pair = _slicedToArray(pair, 2),\n selector = _pair[0],\n matcher = _pair[1];\n\n switch (selector) {\n case Node.TEXT_NODE:\n textMatchers.push(matcher);\n break;\n case Node.ELEMENT_NODE:\n elementMatchers.push(matcher);\n break;\n default:\n [].forEach.call(_this3.container.querySelectorAll(selector), function (node) {\n // TODO use weakmap\n node[DOM_KEY] = node[DOM_KEY] || [];\n node[DOM_KEY].push(matcher);\n });\n break;\n }\n });\n return [elementMatchers, textMatchers];\n }\n }]);\n\n return Clipboard;\n}(_module2.default);\n\nClipboard.DEFAULTS = {\n matchers: [],\n matchVisual: true\n};\n\nfunction applyFormat(delta, format, value) {\n if ((typeof format === 'undefined' ? 'undefined' : _typeof(format)) === 'object') {\n return Object.keys(format).reduce(function (delta, key) {\n return applyFormat(delta, key, format[key]);\n }, delta);\n } else {\n return delta.reduce(function (delta, op) {\n if (op.attributes && op.attributes[format]) {\n return delta.push(op);\n } else {\n return delta.insert(op.insert, (0, _extend3.default)({}, _defineProperty({}, format, value), op.attributes));\n }\n }, new _quillDelta2.default());\n }\n}\n\nfunction computeStyle(node) {\n if (node.nodeType !== Node.ELEMENT_NODE) return {};\n var DOM_KEY = '__ql-computed-style';\n return node[DOM_KEY] || (node[DOM_KEY] = window.getComputedStyle(node));\n}\n\nfunction deltaEndsWith(delta, text) {\n var endText = \"\";\n for (var i = delta.ops.length - 1; i >= 0 && endText.length < text.length; --i) {\n var op = delta.ops[i];\n if (typeof op.insert !== 'string') break;\n endText = op.insert + endText;\n }\n return endText.slice(-1 * text.length) === text;\n}\n\nfunction isLine(node) {\n if (node.childNodes.length === 0) return false; // Exclude embed blocks\n var style = computeStyle(node);\n return ['block', 'list-item'].indexOf(style.display) > -1;\n}\n\nfunction traverse(node, elementMatchers, textMatchers) {\n // Post-order\n if (node.nodeType === node.TEXT_NODE) {\n return textMatchers.reduce(function (delta, matcher) {\n return matcher(node, delta);\n }, new _quillDelta2.default());\n } else if (node.nodeType === node.ELEMENT_NODE) {\n return [].reduce.call(node.childNodes || [], function (delta, childNode) {\n var childrenDelta = traverse(childNode, elementMatchers, textMatchers);\n if (childNode.nodeType === node.ELEMENT_NODE) {\n childrenDelta = elementMatchers.reduce(function (childrenDelta, matcher) {\n return matcher(childNode, childrenDelta);\n }, childrenDelta);\n childrenDelta = (childNode[DOM_KEY] || []).reduce(function (childrenDelta, matcher) {\n return matcher(childNode, childrenDelta);\n }, childrenDelta);\n }\n return delta.concat(childrenDelta);\n }, new _quillDelta2.default());\n } else {\n return new _quillDelta2.default();\n }\n}\n\nfunction matchAlias(format, node, delta) {\n return applyFormat(delta, format, true);\n}\n\nfunction matchAttributor(node, delta) {\n var attributes = _parchment2.default.Attributor.Attribute.keys(node);\n var classes = _parchment2.default.Attributor.Class.keys(node);\n var styles = _parchment2.default.Attributor.Style.keys(node);\n var formats = {};\n attributes.concat(classes).concat(styles).forEach(function (name) {\n var attr = _parchment2.default.query(name, _parchment2.default.Scope.ATTRIBUTE);\n if (attr != null) {\n formats[attr.attrName] = attr.value(node);\n if (formats[attr.attrName]) return;\n }\n attr = ATTRIBUTE_ATTRIBUTORS[name];\n if (attr != null && (attr.attrName === name || attr.keyName === name)) {\n formats[attr.attrName] = attr.value(node) || undefined;\n }\n attr = STYLE_ATTRIBUTORS[name];\n if (attr != null && (attr.attrName === name || attr.keyName === name)) {\n attr = STYLE_ATTRIBUTORS[name];\n formats[attr.attrName] = attr.value(node) || undefined;\n }\n });\n if (Object.keys(formats).length > 0) {\n delta = applyFormat(delta, formats);\n }\n return delta;\n}\n\nfunction matchBlot(node, delta) {\n var match = _parchment2.default.query(node);\n if (match == null) return delta;\n if (match.prototype instanceof _parchment2.default.Embed) {\n var embed = {};\n var value = match.value(node);\n if (value != null) {\n embed[match.blotName] = value;\n delta = new _quillDelta2.default().insert(embed, match.formats(node));\n }\n } else if (typeof match.formats === 'function') {\n delta = applyFormat(delta, match.blotName, match.formats(node));\n }\n return delta;\n}\n\nfunction matchBreak(node, delta) {\n if (!deltaEndsWith(delta, '\\n')) {\n delta.insert('\\n');\n }\n return delta;\n}\n\nfunction matchIgnore() {\n return new _quillDelta2.default();\n}\n\nfunction matchIndent(node, delta) {\n var match = _parchment2.default.query(node);\n if (match == null || match.blotName !== 'list-item' || !deltaEndsWith(delta, '\\n')) {\n return delta;\n }\n var indent = -1,\n parent = node.parentNode;\n while (!parent.classList.contains('ql-clipboard')) {\n if ((_parchment2.default.query(parent) || {}).blotName === 'list') {\n indent += 1;\n }\n parent = parent.parentNode;\n }\n if (indent <= 0) return delta;\n return delta.compose(new _quillDelta2.default().retain(delta.length() - 1).retain(1, { indent: indent }));\n}\n\nfunction matchNewline(node, delta) {\n if (!deltaEndsWith(delta, '\\n')) {\n if (isLine(node) || delta.length() > 0 && node.nextSibling && isLine(node.nextSibling)) {\n delta.insert('\\n');\n }\n }\n return delta;\n}\n\nfunction matchSpacing(node, delta) {\n if (isLine(node) && node.nextElementSibling != null && !deltaEndsWith(delta, '\\n\\n')) {\n var nodeHeight = node.offsetHeight + parseFloat(computeStyle(node).marginTop) + parseFloat(computeStyle(node).marginBottom);\n if (node.nextElementSibling.offsetTop > node.offsetTop + nodeHeight * 1.5) {\n delta.insert('\\n');\n }\n }\n return delta;\n}\n\nfunction matchStyles(node, delta) {\n var formats = {};\n var style = node.style || {};\n if (style.fontStyle && computeStyle(node).fontStyle === 'italic') {\n formats.italic = true;\n }\n if (style.fontWeight && (computeStyle(node).fontWeight.startsWith('bold') || parseInt(computeStyle(node).fontWeight) >= 700)) {\n formats.bold = true;\n }\n if (Object.keys(formats).length > 0) {\n delta = applyFormat(delta, formats);\n }\n if (parseFloat(style.textIndent || 0) > 0) {\n // Could be 0.5in\n delta = new _quillDelta2.default().insert('\\t').concat(delta);\n }\n return delta;\n}\n\nfunction matchText(node, delta) {\n var text = node.data;\n // Word represents empty line with  \n if (node.parentNode.tagName === 'O:P') {\n return delta.insert(text.trim());\n }\n if (text.trim().length === 0 && node.parentNode.classList.contains('ql-clipboard')) {\n return delta;\n }\n if (!computeStyle(node.parentNode).whiteSpace.startsWith('pre')) {\n // eslint-disable-next-line func-style\n var replacer = function replacer(collapse, match) {\n match = match.replace(/[^\\u00a0]/g, ''); // \\u00a0 is nbsp;\n return match.length < 1 && collapse ? ' ' : match;\n };\n text = text.replace(/\\r\\n/g, ' ').replace(/\\n/g, ' ');\n text = text.replace(/\\s\\s+/g, replacer.bind(replacer, true)); // collapse whitespace\n if (node.previousSibling == null && isLine(node.parentNode) || node.previousSibling != null && isLine(node.previousSibling)) {\n text = text.replace(/^\\s+/, replacer.bind(replacer, false));\n }\n if (node.nextSibling == null && isLine(node.parentNode) || node.nextSibling != null && isLine(node.nextSibling)) {\n text = text.replace(/\\s+$/, replacer.bind(replacer, false));\n }\n }\n return delta.insert(text);\n}\n\nexports.default = Clipboard;\nexports.matchAttributor = matchAttributor;\nexports.matchBlot = matchBlot;\nexports.matchNewline = matchNewline;\nexports.matchSpacing = matchSpacing;\nexports.matchText = matchText;\n\n/***/ }),\n/* 56 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _inline = __webpack_require__(6);\n\nvar _inline2 = _interopRequireDefault(_inline);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Bold = function (_Inline) {\n _inherits(Bold, _Inline);\n\n function Bold() {\n _classCallCheck(this, Bold);\n\n return _possibleConstructorReturn(this, (Bold.__proto__ || Object.getPrototypeOf(Bold)).apply(this, arguments));\n }\n\n _createClass(Bold, [{\n key: 'optimize',\n value: function optimize(context) {\n _get(Bold.prototype.__proto__ || Object.getPrototypeOf(Bold.prototype), 'optimize', this).call(this, context);\n if (this.domNode.tagName !== this.statics.tagName[0]) {\n this.replaceWith(this.statics.blotName);\n }\n }\n }], [{\n key: 'create',\n value: function create() {\n return _get(Bold.__proto__ || Object.getPrototypeOf(Bold), 'create', this).call(this);\n }\n }, {\n key: 'formats',\n value: function formats() {\n return true;\n }\n }]);\n\n return Bold;\n}(_inline2.default);\n\nBold.blotName = 'bold';\nBold.tagName = ['STRONG', 'B'];\n\nexports.default = Bold;\n\n/***/ }),\n/* 57 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.addControls = exports.default = undefined;\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _quillDelta = __webpack_require__(2);\n\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _quill = __webpack_require__(5);\n\nvar _quill2 = _interopRequireDefault(_quill);\n\nvar _logger = __webpack_require__(10);\n\nvar _logger2 = _interopRequireDefault(_logger);\n\nvar _module = __webpack_require__(9);\n\nvar _module2 = _interopRequireDefault(_module);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar debug = (0, _logger2.default)('quill:toolbar');\n\nvar Toolbar = function (_Module) {\n _inherits(Toolbar, _Module);\n\n function Toolbar(quill, options) {\n _classCallCheck(this, Toolbar);\n\n var _this = _possibleConstructorReturn(this, (Toolbar.__proto__ || Object.getPrototypeOf(Toolbar)).call(this, quill, options));\n\n if (Array.isArray(_this.options.container)) {\n var container = document.createElement('div');\n addControls(container, _this.options.container);\n quill.container.parentNode.insertBefore(container, quill.container);\n _this.container = container;\n } else if (typeof _this.options.container === 'string') {\n _this.container = document.querySelector(_this.options.container);\n } else {\n _this.container = _this.options.container;\n }\n if (!(_this.container instanceof HTMLElement)) {\n var _ret;\n\n return _ret = debug.error('Container required for toolbar', _this.options), _possibleConstructorReturn(_this, _ret);\n }\n _this.container.classList.add('ql-toolbar');\n _this.controls = [];\n _this.handlers = {};\n Object.keys(_this.options.handlers).forEach(function (format) {\n _this.addHandler(format, _this.options.handlers[format]);\n });\n [].forEach.call(_this.container.querySelectorAll('button, select'), function (input) {\n _this.attach(input);\n });\n _this.quill.on(_quill2.default.events.EDITOR_CHANGE, function (type, range) {\n if (type === _quill2.default.events.SELECTION_CHANGE) {\n _this.update(range);\n }\n });\n _this.quill.on(_quill2.default.events.SCROLL_OPTIMIZE, function () {\n var _this$quill$selection = _this.quill.selection.getRange(),\n _this$quill$selection2 = _slicedToArray(_this$quill$selection, 1),\n range = _this$quill$selection2[0]; // quill.getSelection triggers update\n\n\n _this.update(range);\n });\n return _this;\n }\n\n _createClass(Toolbar, [{\n key: 'addHandler',\n value: function addHandler(format, handler) {\n this.handlers[format] = handler;\n }\n }, {\n key: 'attach',\n value: function attach(input) {\n var _this2 = this;\n\n var format = [].find.call(input.classList, function (className) {\n return className.indexOf('ql-') === 0;\n });\n if (!format) return;\n format = format.slice('ql-'.length);\n if (input.tagName === 'BUTTON') {\n input.setAttribute('type', 'button');\n }\n if (this.handlers[format] == null) {\n if (this.quill.scroll.whitelist != null && this.quill.scroll.whitelist[format] == null) {\n debug.warn('ignoring attaching to disabled format', format, input);\n return;\n }\n if (_parchment2.default.query(format) == null) {\n debug.warn('ignoring attaching to nonexistent format', format, input);\n return;\n }\n }\n var eventName = input.tagName === 'SELECT' ? 'change' : 'click';\n input.addEventListener(eventName, function (e) {\n var value = void 0;\n if (input.tagName === 'SELECT') {\n if (input.selectedIndex < 0) return;\n var selected = input.options[input.selectedIndex];\n if (selected.hasAttribute('selected')) {\n value = false;\n } else {\n value = selected.value || false;\n }\n } else {\n if (input.classList.contains('ql-active')) {\n value = false;\n } else {\n value = input.value || !input.hasAttribute('value');\n }\n e.preventDefault();\n }\n _this2.quill.focus();\n\n var _quill$selection$getR = _this2.quill.selection.getRange(),\n _quill$selection$getR2 = _slicedToArray(_quill$selection$getR, 1),\n range = _quill$selection$getR2[0];\n\n if (_this2.handlers[format] != null) {\n _this2.handlers[format].call(_this2, value);\n } else if (_parchment2.default.query(format).prototype instanceof _parchment2.default.Embed) {\n value = prompt('Enter ' + format);\n if (!value) return;\n _this2.quill.updateContents(new _quillDelta2.default().retain(range.index).delete(range.length).insert(_defineProperty({}, format, value)), _quill2.default.sources.USER);\n } else {\n _this2.quill.format(format, value, _quill2.default.sources.USER);\n }\n _this2.update(range);\n });\n // TODO use weakmap\n this.controls.push([format, input]);\n }\n }, {\n key: 'update',\n value: function update(range) {\n var formats = range == null ? {} : this.quill.getFormat(range);\n this.controls.forEach(function (pair) {\n var _pair = _slicedToArray(pair, 2),\n format = _pair[0],\n input = _pair[1];\n\n if (input.tagName === 'SELECT') {\n var option = void 0;\n if (range == null) {\n option = null;\n } else if (formats[format] == null) {\n option = input.querySelector('option[selected]');\n } else if (!Array.isArray(formats[format])) {\n var value = formats[format];\n if (typeof value === 'string') {\n value = value.replace(/\\\"/g, '\\\\\"');\n }\n option = input.querySelector('option[value=\"' + value + '\"]');\n }\n if (option == null) {\n input.value = ''; // TODO make configurable?\n input.selectedIndex = -1;\n } else {\n option.selected = true;\n }\n } else {\n if (range == null) {\n input.classList.remove('ql-active');\n } else if (input.hasAttribute('value')) {\n // both being null should match (default values)\n // '1' should match with 1 (headers)\n var isActive = formats[format] === input.getAttribute('value') || formats[format] != null && formats[format].toString() === input.getAttribute('value') || formats[format] == null && !input.getAttribute('value');\n input.classList.toggle('ql-active', isActive);\n } else {\n input.classList.toggle('ql-active', formats[format] != null);\n }\n }\n });\n }\n }]);\n\n return Toolbar;\n}(_module2.default);\n\nToolbar.DEFAULTS = {};\n\nfunction addButton(container, format, value) {\n var input = document.createElement('button');\n input.setAttribute('type', 'button');\n input.classList.add('ql-' + format);\n if (value != null) {\n input.value = value;\n }\n container.appendChild(input);\n}\n\nfunction addControls(container, groups) {\n if (!Array.isArray(groups[0])) {\n groups = [groups];\n }\n groups.forEach(function (controls) {\n var group = document.createElement('span');\n group.classList.add('ql-formats');\n controls.forEach(function (control) {\n if (typeof control === 'string') {\n addButton(group, control);\n } else {\n var format = Object.keys(control)[0];\n var value = control[format];\n if (Array.isArray(value)) {\n addSelect(group, format, value);\n } else {\n addButton(group, format, value);\n }\n }\n });\n container.appendChild(group);\n });\n}\n\nfunction addSelect(container, format, values) {\n var input = document.createElement('select');\n input.classList.add('ql-' + format);\n values.forEach(function (value) {\n var option = document.createElement('option');\n if (value !== false) {\n option.setAttribute('value', value);\n } else {\n option.setAttribute('selected', 'selected');\n }\n input.appendChild(option);\n });\n container.appendChild(input);\n}\n\nToolbar.DEFAULTS = {\n container: null,\n handlers: {\n clean: function clean() {\n var _this3 = this;\n\n var range = this.quill.getSelection();\n if (range == null) return;\n if (range.length == 0) {\n var formats = this.quill.getFormat();\n Object.keys(formats).forEach(function (name) {\n // Clean functionality in existing apps only clean inline formats\n if (_parchment2.default.query(name, _parchment2.default.Scope.INLINE) != null) {\n _this3.quill.format(name, false);\n }\n });\n } else {\n this.quill.removeFormat(range, _quill2.default.sources.USER);\n }\n },\n direction: function direction(value) {\n var align = this.quill.getFormat()['align'];\n if (value === 'rtl' && align == null) {\n this.quill.format('align', 'right', _quill2.default.sources.USER);\n } else if (!value && align === 'right') {\n this.quill.format('align', false, _quill2.default.sources.USER);\n }\n this.quill.format('direction', value, _quill2.default.sources.USER);\n },\n indent: function indent(value) {\n var range = this.quill.getSelection();\n var formats = this.quill.getFormat(range);\n var indent = parseInt(formats.indent || 0);\n if (value === '+1' || value === '-1') {\n var modifier = value === '+1' ? 1 : -1;\n if (formats.direction === 'rtl') modifier *= -1;\n this.quill.format('indent', indent + modifier, _quill2.default.sources.USER);\n }\n },\n link: function link(value) {\n if (value === true) {\n value = prompt('Enter link URL:');\n }\n this.quill.format('link', value, _quill2.default.sources.USER);\n },\n list: function list(value) {\n var range = this.quill.getSelection();\n var formats = this.quill.getFormat(range);\n if (value === 'check') {\n if (formats['list'] === 'checked' || formats['list'] === 'unchecked') {\n this.quill.format('list', false, _quill2.default.sources.USER);\n } else {\n this.quill.format('list', 'unchecked', _quill2.default.sources.USER);\n }\n } else {\n this.quill.format('list', value, _quill2.default.sources.USER);\n }\n }\n }\n};\n\nexports.default = Toolbar;\nexports.addControls = addControls;\n\n/***/ }),\n/* 58 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 59 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _picker = __webpack_require__(28);\n\nvar _picker2 = _interopRequireDefault(_picker);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ColorPicker = function (_Picker) {\n _inherits(ColorPicker, _Picker);\n\n function ColorPicker(select, label) {\n _classCallCheck(this, ColorPicker);\n\n var _this = _possibleConstructorReturn(this, (ColorPicker.__proto__ || Object.getPrototypeOf(ColorPicker)).call(this, select));\n\n _this.label.innerHTML = label;\n _this.container.classList.add('ql-color-picker');\n [].slice.call(_this.container.querySelectorAll('.ql-picker-item'), 0, 7).forEach(function (item) {\n item.classList.add('ql-primary');\n });\n return _this;\n }\n\n _createClass(ColorPicker, [{\n key: 'buildItem',\n value: function buildItem(option) {\n var item = _get(ColorPicker.prototype.__proto__ || Object.getPrototypeOf(ColorPicker.prototype), 'buildItem', this).call(this, option);\n item.style.backgroundColor = option.getAttribute('value') || '';\n return item;\n }\n }, {\n key: 'selectItem',\n value: function selectItem(item, trigger) {\n _get(ColorPicker.prototype.__proto__ || Object.getPrototypeOf(ColorPicker.prototype), 'selectItem', this).call(this, item, trigger);\n var colorLabel = this.label.querySelector('.ql-color-label');\n var value = item ? item.getAttribute('data-value') || '' : '';\n if (colorLabel) {\n if (colorLabel.tagName === 'line') {\n colorLabel.style.stroke = value;\n } else {\n colorLabel.style.fill = value;\n }\n }\n }\n }]);\n\n return ColorPicker;\n}(_picker2.default);\n\nexports.default = ColorPicker;\n\n/***/ }),\n/* 60 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _picker = __webpack_require__(28);\n\nvar _picker2 = _interopRequireDefault(_picker);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar IconPicker = function (_Picker) {\n _inherits(IconPicker, _Picker);\n\n function IconPicker(select, icons) {\n _classCallCheck(this, IconPicker);\n\n var _this = _possibleConstructorReturn(this, (IconPicker.__proto__ || Object.getPrototypeOf(IconPicker)).call(this, select));\n\n _this.container.classList.add('ql-icon-picker');\n [].forEach.call(_this.container.querySelectorAll('.ql-picker-item'), function (item) {\n item.innerHTML = icons[item.getAttribute('data-value') || ''];\n });\n _this.defaultItem = _this.container.querySelector('.ql-selected');\n _this.selectItem(_this.defaultItem);\n return _this;\n }\n\n _createClass(IconPicker, [{\n key: 'selectItem',\n value: function selectItem(item, trigger) {\n _get(IconPicker.prototype.__proto__ || Object.getPrototypeOf(IconPicker.prototype), 'selectItem', this).call(this, item, trigger);\n item = item || this.defaultItem;\n this.label.innerHTML = item.innerHTML;\n }\n }]);\n\n return IconPicker;\n}(_picker2.default);\n\nexports.default = IconPicker;\n\n/***/ }),\n/* 61 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Tooltip = function () {\n function Tooltip(quill, boundsContainer) {\n var _this = this;\n\n _classCallCheck(this, Tooltip);\n\n this.quill = quill;\n this.boundsContainer = boundsContainer || document.body;\n this.root = quill.addContainer('ql-tooltip');\n this.root.innerHTML = this.constructor.TEMPLATE;\n if (this.quill.root === this.quill.scrollingContainer) {\n this.quill.root.addEventListener('scroll', function () {\n _this.root.style.marginTop = -1 * _this.quill.root.scrollTop + 'px';\n });\n }\n this.hide();\n }\n\n _createClass(Tooltip, [{\n key: 'hide',\n value: function hide() {\n this.root.classList.add('ql-hidden');\n }\n }, {\n key: 'position',\n value: function position(reference) {\n var left = reference.left + reference.width / 2 - this.root.offsetWidth / 2;\n // root.scrollTop should be 0 if scrollContainer !== root\n var top = reference.bottom + this.quill.root.scrollTop;\n this.root.style.left = left + 'px';\n this.root.style.top = top + 'px';\n this.root.classList.remove('ql-flip');\n var containerBounds = this.boundsContainer.getBoundingClientRect();\n var rootBounds = this.root.getBoundingClientRect();\n var shift = 0;\n if (rootBounds.right > containerBounds.right) {\n shift = containerBounds.right - rootBounds.right;\n this.root.style.left = left + shift + 'px';\n }\n if (rootBounds.left < containerBounds.left) {\n shift = containerBounds.left - rootBounds.left;\n this.root.style.left = left + shift + 'px';\n }\n if (rootBounds.bottom > containerBounds.bottom) {\n var height = rootBounds.bottom - rootBounds.top;\n var verticalShift = reference.bottom - reference.top + height;\n this.root.style.top = top - verticalShift + 'px';\n this.root.classList.add('ql-flip');\n }\n return shift;\n }\n }, {\n key: 'show',\n value: function show() {\n this.root.classList.remove('ql-editing');\n this.root.classList.remove('ql-hidden');\n }\n }]);\n\n return Tooltip;\n}();\n\nexports.default = Tooltip;\n\n/***/ }),\n/* 62 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _extend = __webpack_require__(3);\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nvar _emitter = __webpack_require__(8);\n\nvar _emitter2 = _interopRequireDefault(_emitter);\n\nvar _base = __webpack_require__(43);\n\nvar _base2 = _interopRequireDefault(_base);\n\nvar _link = __webpack_require__(27);\n\nvar _link2 = _interopRequireDefault(_link);\n\nvar _selection = __webpack_require__(15);\n\nvar _icons = __webpack_require__(41);\n\nvar _icons2 = _interopRequireDefault(_icons);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar TOOLBAR_CONFIG = [[{ header: ['1', '2', '3', false] }], ['bold', 'italic', 'underline', 'link'], [{ list: 'ordered' }, { list: 'bullet' }], ['clean']];\n\nvar SnowTheme = function (_BaseTheme) {\n _inherits(SnowTheme, _BaseTheme);\n\n function SnowTheme(quill, options) {\n _classCallCheck(this, SnowTheme);\n\n if (options.modules.toolbar != null && options.modules.toolbar.container == null) {\n options.modules.toolbar.container = TOOLBAR_CONFIG;\n }\n\n var _this = _possibleConstructorReturn(this, (SnowTheme.__proto__ || Object.getPrototypeOf(SnowTheme)).call(this, quill, options));\n\n _this.quill.container.classList.add('ql-snow');\n return _this;\n }\n\n _createClass(SnowTheme, [{\n key: 'extendToolbar',\n value: function extendToolbar(toolbar) {\n toolbar.container.classList.add('ql-snow');\n this.buildButtons([].slice.call(toolbar.container.querySelectorAll('button')), _icons2.default);\n this.buildPickers([].slice.call(toolbar.container.querySelectorAll('select')), _icons2.default);\n this.tooltip = new SnowTooltip(this.quill, this.options.bounds);\n if (toolbar.container.querySelector('.ql-link')) {\n this.quill.keyboard.addBinding({ key: 'K', shortKey: true }, function (range, context) {\n toolbar.handlers['link'].call(toolbar, !context.format.link);\n });\n }\n }\n }]);\n\n return SnowTheme;\n}(_base2.default);\n\nSnowTheme.DEFAULTS = (0, _extend2.default)(true, {}, _base2.default.DEFAULTS, {\n modules: {\n toolbar: {\n handlers: {\n link: function link(value) {\n if (value) {\n var range = this.quill.getSelection();\n if (range == null || range.length == 0) return;\n var preview = this.quill.getText(range);\n if (/^\\S+@\\S+\\.\\S+$/.test(preview) && preview.indexOf('mailto:') !== 0) {\n preview = 'mailto:' + preview;\n }\n var tooltip = this.quill.theme.tooltip;\n tooltip.edit('link', preview);\n } else {\n this.quill.format('link', false);\n }\n }\n }\n }\n }\n});\n\nvar SnowTooltip = function (_BaseTooltip) {\n _inherits(SnowTooltip, _BaseTooltip);\n\n function SnowTooltip(quill, bounds) {\n _classCallCheck(this, SnowTooltip);\n\n var _this2 = _possibleConstructorReturn(this, (SnowTooltip.__proto__ || Object.getPrototypeOf(SnowTooltip)).call(this, quill, bounds));\n\n _this2.preview = _this2.root.querySelector('a.ql-preview');\n return _this2;\n }\n\n _createClass(SnowTooltip, [{\n key: 'listen',\n value: function listen() {\n var _this3 = this;\n\n _get(SnowTooltip.prototype.__proto__ || Object.getPrototypeOf(SnowTooltip.prototype), 'listen', this).call(this);\n this.root.querySelector('a.ql-action').addEventListener('click', function (event) {\n if (_this3.root.classList.contains('ql-editing')) {\n _this3.save();\n } else {\n _this3.edit('link', _this3.preview.textContent);\n }\n event.preventDefault();\n });\n this.root.querySelector('a.ql-remove').addEventListener('click', function (event) {\n if (_this3.linkRange != null) {\n var range = _this3.linkRange;\n _this3.restoreFocus();\n _this3.quill.formatText(range, 'link', false, _emitter2.default.sources.USER);\n delete _this3.linkRange;\n }\n event.preventDefault();\n _this3.hide();\n });\n this.quill.on(_emitter2.default.events.SELECTION_CHANGE, function (range, oldRange, source) {\n if (range == null) return;\n if (range.length === 0 && source === _emitter2.default.sources.USER) {\n var _quill$scroll$descend = _this3.quill.scroll.descendant(_link2.default, range.index),\n _quill$scroll$descend2 = _slicedToArray(_quill$scroll$descend, 2),\n link = _quill$scroll$descend2[0],\n offset = _quill$scroll$descend2[1];\n\n if (link != null) {\n _this3.linkRange = new _selection.Range(range.index - offset, link.length());\n var preview = _link2.default.formats(link.domNode);\n _this3.preview.textContent = preview;\n _this3.preview.setAttribute('href', preview);\n _this3.show();\n _this3.position(_this3.quill.getBounds(_this3.linkRange));\n return;\n }\n } else {\n delete _this3.linkRange;\n }\n _this3.hide();\n });\n }\n }, {\n key: 'show',\n value: function show() {\n _get(SnowTooltip.prototype.__proto__ || Object.getPrototypeOf(SnowTooltip.prototype), 'show', this).call(this);\n this.root.removeAttribute('data-mode');\n }\n }]);\n\n return SnowTooltip;\n}(_base.BaseTooltip);\n\nSnowTooltip.TEMPLATE = ['
    ', '', '', ''].join('');\n\nexports.default = SnowTheme;\n\n/***/ }),\n/* 63 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _core = __webpack_require__(29);\n\nvar _core2 = _interopRequireDefault(_core);\n\nvar _align = __webpack_require__(36);\n\nvar _direction = __webpack_require__(38);\n\nvar _indent = __webpack_require__(64);\n\nvar _blockquote = __webpack_require__(65);\n\nvar _blockquote2 = _interopRequireDefault(_blockquote);\n\nvar _header = __webpack_require__(66);\n\nvar _header2 = _interopRequireDefault(_header);\n\nvar _list = __webpack_require__(67);\n\nvar _list2 = _interopRequireDefault(_list);\n\nvar _background = __webpack_require__(37);\n\nvar _color = __webpack_require__(26);\n\nvar _font = __webpack_require__(39);\n\nvar _size = __webpack_require__(40);\n\nvar _bold = __webpack_require__(56);\n\nvar _bold2 = _interopRequireDefault(_bold);\n\nvar _italic = __webpack_require__(68);\n\nvar _italic2 = _interopRequireDefault(_italic);\n\nvar _link = __webpack_require__(27);\n\nvar _link2 = _interopRequireDefault(_link);\n\nvar _script = __webpack_require__(69);\n\nvar _script2 = _interopRequireDefault(_script);\n\nvar _strike = __webpack_require__(70);\n\nvar _strike2 = _interopRequireDefault(_strike);\n\nvar _underline = __webpack_require__(71);\n\nvar _underline2 = _interopRequireDefault(_underline);\n\nvar _image = __webpack_require__(72);\n\nvar _image2 = _interopRequireDefault(_image);\n\nvar _video = __webpack_require__(73);\n\nvar _video2 = _interopRequireDefault(_video);\n\nvar _code = __webpack_require__(13);\n\nvar _code2 = _interopRequireDefault(_code);\n\nvar _formula = __webpack_require__(74);\n\nvar _formula2 = _interopRequireDefault(_formula);\n\nvar _syntax = __webpack_require__(75);\n\nvar _syntax2 = _interopRequireDefault(_syntax);\n\nvar _toolbar = __webpack_require__(57);\n\nvar _toolbar2 = _interopRequireDefault(_toolbar);\n\nvar _icons = __webpack_require__(41);\n\nvar _icons2 = _interopRequireDefault(_icons);\n\nvar _picker = __webpack_require__(28);\n\nvar _picker2 = _interopRequireDefault(_picker);\n\nvar _colorPicker = __webpack_require__(59);\n\nvar _colorPicker2 = _interopRequireDefault(_colorPicker);\n\nvar _iconPicker = __webpack_require__(60);\n\nvar _iconPicker2 = _interopRequireDefault(_iconPicker);\n\nvar _tooltip = __webpack_require__(61);\n\nvar _tooltip2 = _interopRequireDefault(_tooltip);\n\nvar _bubble = __webpack_require__(108);\n\nvar _bubble2 = _interopRequireDefault(_bubble);\n\nvar _snow = __webpack_require__(62);\n\nvar _snow2 = _interopRequireDefault(_snow);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n_core2.default.register({\n 'attributors/attribute/direction': _direction.DirectionAttribute,\n\n 'attributors/class/align': _align.AlignClass,\n 'attributors/class/background': _background.BackgroundClass,\n 'attributors/class/color': _color.ColorClass,\n 'attributors/class/direction': _direction.DirectionClass,\n 'attributors/class/font': _font.FontClass,\n 'attributors/class/size': _size.SizeClass,\n\n 'attributors/style/align': _align.AlignStyle,\n 'attributors/style/background': _background.BackgroundStyle,\n 'attributors/style/color': _color.ColorStyle,\n 'attributors/style/direction': _direction.DirectionStyle,\n 'attributors/style/font': _font.FontStyle,\n 'attributors/style/size': _size.SizeStyle\n}, true);\n\n_core2.default.register({\n 'formats/align': _align.AlignClass,\n 'formats/direction': _direction.DirectionClass,\n 'formats/indent': _indent.IndentClass,\n\n 'formats/background': _background.BackgroundStyle,\n 'formats/color': _color.ColorStyle,\n 'formats/font': _font.FontClass,\n 'formats/size': _size.SizeClass,\n\n 'formats/blockquote': _blockquote2.default,\n 'formats/code-block': _code2.default,\n 'formats/header': _header2.default,\n 'formats/list': _list2.default,\n\n 'formats/bold': _bold2.default,\n 'formats/code': _code.Code,\n 'formats/italic': _italic2.default,\n 'formats/link': _link2.default,\n 'formats/script': _script2.default,\n 'formats/strike': _strike2.default,\n 'formats/underline': _underline2.default,\n\n 'formats/image': _image2.default,\n 'formats/video': _video2.default,\n\n 'formats/list/item': _list.ListItem,\n\n 'modules/formula': _formula2.default,\n 'modules/syntax': _syntax2.default,\n 'modules/toolbar': _toolbar2.default,\n\n 'themes/bubble': _bubble2.default,\n 'themes/snow': _snow2.default,\n\n 'ui/icons': _icons2.default,\n 'ui/picker': _picker2.default,\n 'ui/icon-picker': _iconPicker2.default,\n 'ui/color-picker': _colorPicker2.default,\n 'ui/tooltip': _tooltip2.default\n}, true);\n\nexports.default = _core2.default;\n\n/***/ }),\n/* 64 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.IndentClass = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar IdentAttributor = function (_Parchment$Attributor) {\n _inherits(IdentAttributor, _Parchment$Attributor);\n\n function IdentAttributor() {\n _classCallCheck(this, IdentAttributor);\n\n return _possibleConstructorReturn(this, (IdentAttributor.__proto__ || Object.getPrototypeOf(IdentAttributor)).apply(this, arguments));\n }\n\n _createClass(IdentAttributor, [{\n key: 'add',\n value: function add(node, value) {\n if (value === '+1' || value === '-1') {\n var indent = this.value(node) || 0;\n value = value === '+1' ? indent + 1 : indent - 1;\n }\n if (value === 0) {\n this.remove(node);\n return true;\n } else {\n return _get(IdentAttributor.prototype.__proto__ || Object.getPrototypeOf(IdentAttributor.prototype), 'add', this).call(this, node, value);\n }\n }\n }, {\n key: 'canAdd',\n value: function canAdd(node, value) {\n return _get(IdentAttributor.prototype.__proto__ || Object.getPrototypeOf(IdentAttributor.prototype), 'canAdd', this).call(this, node, value) || _get(IdentAttributor.prototype.__proto__ || Object.getPrototypeOf(IdentAttributor.prototype), 'canAdd', this).call(this, node, parseInt(value));\n }\n }, {\n key: 'value',\n value: function value(node) {\n return parseInt(_get(IdentAttributor.prototype.__proto__ || Object.getPrototypeOf(IdentAttributor.prototype), 'value', this).call(this, node)) || undefined; // Don't return NaN\n }\n }]);\n\n return IdentAttributor;\n}(_parchment2.default.Attributor.Class);\n\nvar IndentClass = new IdentAttributor('indent', 'ql-indent', {\n scope: _parchment2.default.Scope.BLOCK,\n whitelist: [1, 2, 3, 4, 5, 6, 7, 8]\n});\n\nexports.IndentClass = IndentClass;\n\n/***/ }),\n/* 65 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _block = __webpack_require__(4);\n\nvar _block2 = _interopRequireDefault(_block);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Blockquote = function (_Block) {\n _inherits(Blockquote, _Block);\n\n function Blockquote() {\n _classCallCheck(this, Blockquote);\n\n return _possibleConstructorReturn(this, (Blockquote.__proto__ || Object.getPrototypeOf(Blockquote)).apply(this, arguments));\n }\n\n return Blockquote;\n}(_block2.default);\n\nBlockquote.blotName = 'blockquote';\nBlockquote.tagName = 'blockquote';\n\nexports.default = Blockquote;\n\n/***/ }),\n/* 66 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _block = __webpack_require__(4);\n\nvar _block2 = _interopRequireDefault(_block);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Header = function (_Block) {\n _inherits(Header, _Block);\n\n function Header() {\n _classCallCheck(this, Header);\n\n return _possibleConstructorReturn(this, (Header.__proto__ || Object.getPrototypeOf(Header)).apply(this, arguments));\n }\n\n _createClass(Header, null, [{\n key: 'formats',\n value: function formats(domNode) {\n return this.tagName.indexOf(domNode.tagName) + 1;\n }\n }]);\n\n return Header;\n}(_block2.default);\n\nHeader.blotName = 'header';\nHeader.tagName = ['H1', 'H2', 'H3', 'H4', 'H5', 'H6'];\n\nexports.default = Header;\n\n/***/ }),\n/* 67 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.ListItem = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _block = __webpack_require__(4);\n\nvar _block2 = _interopRequireDefault(_block);\n\nvar _container = __webpack_require__(25);\n\nvar _container2 = _interopRequireDefault(_container);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ListItem = function (_Block) {\n _inherits(ListItem, _Block);\n\n function ListItem() {\n _classCallCheck(this, ListItem);\n\n return _possibleConstructorReturn(this, (ListItem.__proto__ || Object.getPrototypeOf(ListItem)).apply(this, arguments));\n }\n\n _createClass(ListItem, [{\n key: 'format',\n value: function format(name, value) {\n if (name === List.blotName && !value) {\n this.replaceWith(_parchment2.default.create(this.statics.scope));\n } else {\n _get(ListItem.prototype.__proto__ || Object.getPrototypeOf(ListItem.prototype), 'format', this).call(this, name, value);\n }\n }\n }, {\n key: 'remove',\n value: function remove() {\n if (this.prev == null && this.next == null) {\n this.parent.remove();\n } else {\n _get(ListItem.prototype.__proto__ || Object.getPrototypeOf(ListItem.prototype), 'remove', this).call(this);\n }\n }\n }, {\n key: 'replaceWith',\n value: function replaceWith(name, value) {\n this.parent.isolate(this.offset(this.parent), this.length());\n if (name === this.parent.statics.blotName) {\n this.parent.replaceWith(name, value);\n return this;\n } else {\n this.parent.unwrap();\n return _get(ListItem.prototype.__proto__ || Object.getPrototypeOf(ListItem.prototype), 'replaceWith', this).call(this, name, value);\n }\n }\n }], [{\n key: 'formats',\n value: function formats(domNode) {\n return domNode.tagName === this.tagName ? undefined : _get(ListItem.__proto__ || Object.getPrototypeOf(ListItem), 'formats', this).call(this, domNode);\n }\n }]);\n\n return ListItem;\n}(_block2.default);\n\nListItem.blotName = 'list-item';\nListItem.tagName = 'LI';\n\nvar List = function (_Container) {\n _inherits(List, _Container);\n\n _createClass(List, null, [{\n key: 'create',\n value: function create(value) {\n var tagName = value === 'ordered' ? 'OL' : 'UL';\n var node = _get(List.__proto__ || Object.getPrototypeOf(List), 'create', this).call(this, tagName);\n if (value === 'checked' || value === 'unchecked') {\n node.setAttribute('data-checked', value === 'checked');\n }\n return node;\n }\n }, {\n key: 'formats',\n value: function formats(domNode) {\n if (domNode.tagName === 'OL') return 'ordered';\n if (domNode.tagName === 'UL') {\n if (domNode.hasAttribute('data-checked')) {\n return domNode.getAttribute('data-checked') === 'true' ? 'checked' : 'unchecked';\n } else {\n return 'bullet';\n }\n }\n return undefined;\n }\n }]);\n\n function List(domNode) {\n _classCallCheck(this, List);\n\n var _this2 = _possibleConstructorReturn(this, (List.__proto__ || Object.getPrototypeOf(List)).call(this, domNode));\n\n var listEventHandler = function listEventHandler(e) {\n if (e.target.parentNode !== domNode) return;\n var format = _this2.statics.formats(domNode);\n var blot = _parchment2.default.find(e.target);\n if (format === 'checked') {\n blot.format('list', 'unchecked');\n } else if (format === 'unchecked') {\n blot.format('list', 'checked');\n }\n };\n\n domNode.addEventListener('touchstart', listEventHandler);\n domNode.addEventListener('mousedown', listEventHandler);\n return _this2;\n }\n\n _createClass(List, [{\n key: 'format',\n value: function format(name, value) {\n if (this.children.length > 0) {\n this.children.tail.format(name, value);\n }\n }\n }, {\n key: 'formats',\n value: function formats() {\n // We don't inherit from FormatBlot\n return _defineProperty({}, this.statics.blotName, this.statics.formats(this.domNode));\n }\n }, {\n key: 'insertBefore',\n value: function insertBefore(blot, ref) {\n if (blot instanceof ListItem) {\n _get(List.prototype.__proto__ || Object.getPrototypeOf(List.prototype), 'insertBefore', this).call(this, blot, ref);\n } else {\n var index = ref == null ? this.length() : ref.offset(this);\n var after = this.split(index);\n after.parent.insertBefore(blot, after);\n }\n }\n }, {\n key: 'optimize',\n value: function optimize(context) {\n _get(List.prototype.__proto__ || Object.getPrototypeOf(List.prototype), 'optimize', this).call(this, context);\n var next = this.next;\n if (next != null && next.prev === this && next.statics.blotName === this.statics.blotName && next.domNode.tagName === this.domNode.tagName && next.domNode.getAttribute('data-checked') === this.domNode.getAttribute('data-checked')) {\n next.moveChildren(this);\n next.remove();\n }\n }\n }, {\n key: 'replace',\n value: function replace(target) {\n if (target.statics.blotName !== this.statics.blotName) {\n var item = _parchment2.default.create(this.statics.defaultChild);\n target.moveChildren(item);\n this.appendChild(item);\n }\n _get(List.prototype.__proto__ || Object.getPrototypeOf(List.prototype), 'replace', this).call(this, target);\n }\n }]);\n\n return List;\n}(_container2.default);\n\nList.blotName = 'list';\nList.scope = _parchment2.default.Scope.BLOCK_BLOT;\nList.tagName = ['OL', 'UL'];\nList.defaultChild = 'list-item';\nList.allowedChildren = [ListItem];\n\nexports.ListItem = ListItem;\nexports.default = List;\n\n/***/ }),\n/* 68 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _bold = __webpack_require__(56);\n\nvar _bold2 = _interopRequireDefault(_bold);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Italic = function (_Bold) {\n _inherits(Italic, _Bold);\n\n function Italic() {\n _classCallCheck(this, Italic);\n\n return _possibleConstructorReturn(this, (Italic.__proto__ || Object.getPrototypeOf(Italic)).apply(this, arguments));\n }\n\n return Italic;\n}(_bold2.default);\n\nItalic.blotName = 'italic';\nItalic.tagName = ['EM', 'I'];\n\nexports.default = Italic;\n\n/***/ }),\n/* 69 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _inline = __webpack_require__(6);\n\nvar _inline2 = _interopRequireDefault(_inline);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Script = function (_Inline) {\n _inherits(Script, _Inline);\n\n function Script() {\n _classCallCheck(this, Script);\n\n return _possibleConstructorReturn(this, (Script.__proto__ || Object.getPrototypeOf(Script)).apply(this, arguments));\n }\n\n _createClass(Script, null, [{\n key: 'create',\n value: function create(value) {\n if (value === 'super') {\n return document.createElement('sup');\n } else if (value === 'sub') {\n return document.createElement('sub');\n } else {\n return _get(Script.__proto__ || Object.getPrototypeOf(Script), 'create', this).call(this, value);\n }\n }\n }, {\n key: 'formats',\n value: function formats(domNode) {\n if (domNode.tagName === 'SUB') return 'sub';\n if (domNode.tagName === 'SUP') return 'super';\n return undefined;\n }\n }]);\n\n return Script;\n}(_inline2.default);\n\nScript.blotName = 'script';\nScript.tagName = ['SUB', 'SUP'];\n\nexports.default = Script;\n\n/***/ }),\n/* 70 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _inline = __webpack_require__(6);\n\nvar _inline2 = _interopRequireDefault(_inline);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Strike = function (_Inline) {\n _inherits(Strike, _Inline);\n\n function Strike() {\n _classCallCheck(this, Strike);\n\n return _possibleConstructorReturn(this, (Strike.__proto__ || Object.getPrototypeOf(Strike)).apply(this, arguments));\n }\n\n return Strike;\n}(_inline2.default);\n\nStrike.blotName = 'strike';\nStrike.tagName = 'S';\n\nexports.default = Strike;\n\n/***/ }),\n/* 71 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _inline = __webpack_require__(6);\n\nvar _inline2 = _interopRequireDefault(_inline);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Underline = function (_Inline) {\n _inherits(Underline, _Inline);\n\n function Underline() {\n _classCallCheck(this, Underline);\n\n return _possibleConstructorReturn(this, (Underline.__proto__ || Object.getPrototypeOf(Underline)).apply(this, arguments));\n }\n\n return Underline;\n}(_inline2.default);\n\nUnderline.blotName = 'underline';\nUnderline.tagName = 'U';\n\nexports.default = Underline;\n\n/***/ }),\n/* 72 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _link = __webpack_require__(27);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ATTRIBUTES = ['alt', 'height', 'width'];\n\nvar Image = function (_Parchment$Embed) {\n _inherits(Image, _Parchment$Embed);\n\n function Image() {\n _classCallCheck(this, Image);\n\n return _possibleConstructorReturn(this, (Image.__proto__ || Object.getPrototypeOf(Image)).apply(this, arguments));\n }\n\n _createClass(Image, [{\n key: 'format',\n value: function format(name, value) {\n if (ATTRIBUTES.indexOf(name) > -1) {\n if (value) {\n this.domNode.setAttribute(name, value);\n } else {\n this.domNode.removeAttribute(name);\n }\n } else {\n _get(Image.prototype.__proto__ || Object.getPrototypeOf(Image.prototype), 'format', this).call(this, name, value);\n }\n }\n }], [{\n key: 'create',\n value: function create(value) {\n var node = _get(Image.__proto__ || Object.getPrototypeOf(Image), 'create', this).call(this, value);\n if (typeof value === 'string') {\n node.setAttribute('src', this.sanitize(value));\n }\n return node;\n }\n }, {\n key: 'formats',\n value: function formats(domNode) {\n return ATTRIBUTES.reduce(function (formats, attribute) {\n if (domNode.hasAttribute(attribute)) {\n formats[attribute] = domNode.getAttribute(attribute);\n }\n return formats;\n }, {});\n }\n }, {\n key: 'match',\n value: function match(url) {\n return (/\\.(jpe?g|gif|png)$/.test(url) || /^data:image\\/.+;base64/.test(url)\n );\n }\n }, {\n key: 'sanitize',\n value: function sanitize(url) {\n return (0, _link.sanitize)(url, ['http', 'https', 'data']) ? url : '//:0';\n }\n }, {\n key: 'value',\n value: function value(domNode) {\n return domNode.getAttribute('src');\n }\n }]);\n\n return Image;\n}(_parchment2.default.Embed);\n\nImage.blotName = 'image';\nImage.tagName = 'IMG';\n\nexports.default = Image;\n\n/***/ }),\n/* 73 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _block = __webpack_require__(4);\n\nvar _link = __webpack_require__(27);\n\nvar _link2 = _interopRequireDefault(_link);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ATTRIBUTES = ['height', 'width'];\n\nvar Video = function (_BlockEmbed) {\n _inherits(Video, _BlockEmbed);\n\n function Video() {\n _classCallCheck(this, Video);\n\n return _possibleConstructorReturn(this, (Video.__proto__ || Object.getPrototypeOf(Video)).apply(this, arguments));\n }\n\n _createClass(Video, [{\n key: 'format',\n value: function format(name, value) {\n if (ATTRIBUTES.indexOf(name) > -1) {\n if (value) {\n this.domNode.setAttribute(name, value);\n } else {\n this.domNode.removeAttribute(name);\n }\n } else {\n _get(Video.prototype.__proto__ || Object.getPrototypeOf(Video.prototype), 'format', this).call(this, name, value);\n }\n }\n }], [{\n key: 'create',\n value: function create(value) {\n var node = _get(Video.__proto__ || Object.getPrototypeOf(Video), 'create', this).call(this, value);\n node.setAttribute('frameborder', '0');\n node.setAttribute('allowfullscreen', true);\n node.setAttribute('src', this.sanitize(value));\n return node;\n }\n }, {\n key: 'formats',\n value: function formats(domNode) {\n return ATTRIBUTES.reduce(function (formats, attribute) {\n if (domNode.hasAttribute(attribute)) {\n formats[attribute] = domNode.getAttribute(attribute);\n }\n return formats;\n }, {});\n }\n }, {\n key: 'sanitize',\n value: function sanitize(url) {\n return _link2.default.sanitize(url);\n }\n }, {\n key: 'value',\n value: function value(domNode) {\n return domNode.getAttribute('src');\n }\n }]);\n\n return Video;\n}(_block.BlockEmbed);\n\nVideo.blotName = 'video';\nVideo.className = 'ql-video';\nVideo.tagName = 'IFRAME';\n\nexports.default = Video;\n\n/***/ }),\n/* 74 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.FormulaBlot = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _embed = __webpack_require__(35);\n\nvar _embed2 = _interopRequireDefault(_embed);\n\nvar _quill = __webpack_require__(5);\n\nvar _quill2 = _interopRequireDefault(_quill);\n\nvar _module = __webpack_require__(9);\n\nvar _module2 = _interopRequireDefault(_module);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar FormulaBlot = function (_Embed) {\n _inherits(FormulaBlot, _Embed);\n\n function FormulaBlot() {\n _classCallCheck(this, FormulaBlot);\n\n return _possibleConstructorReturn(this, (FormulaBlot.__proto__ || Object.getPrototypeOf(FormulaBlot)).apply(this, arguments));\n }\n\n _createClass(FormulaBlot, null, [{\n key: 'create',\n value: function create(value) {\n var node = _get(FormulaBlot.__proto__ || Object.getPrototypeOf(FormulaBlot), 'create', this).call(this, value);\n if (typeof value === 'string') {\n window.katex.render(value, node, {\n throwOnError: false,\n errorColor: '#f00'\n });\n node.setAttribute('data-value', value);\n }\n return node;\n }\n }, {\n key: 'value',\n value: function value(domNode) {\n return domNode.getAttribute('data-value');\n }\n }]);\n\n return FormulaBlot;\n}(_embed2.default);\n\nFormulaBlot.blotName = 'formula';\nFormulaBlot.className = 'ql-formula';\nFormulaBlot.tagName = 'SPAN';\n\nvar Formula = function (_Module) {\n _inherits(Formula, _Module);\n\n _createClass(Formula, null, [{\n key: 'register',\n value: function register() {\n _quill2.default.register(FormulaBlot, true);\n }\n }]);\n\n function Formula() {\n _classCallCheck(this, Formula);\n\n var _this2 = _possibleConstructorReturn(this, (Formula.__proto__ || Object.getPrototypeOf(Formula)).call(this));\n\n if (window.katex == null) {\n throw new Error('Formula module requires KaTeX.');\n }\n return _this2;\n }\n\n return Formula;\n}(_module2.default);\n\nexports.FormulaBlot = FormulaBlot;\nexports.default = Formula;\n\n/***/ }),\n/* 75 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.CodeToken = exports.CodeBlock = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _quill = __webpack_require__(5);\n\nvar _quill2 = _interopRequireDefault(_quill);\n\nvar _module = __webpack_require__(9);\n\nvar _module2 = _interopRequireDefault(_module);\n\nvar _code = __webpack_require__(13);\n\nvar _code2 = _interopRequireDefault(_code);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar SyntaxCodeBlock = function (_CodeBlock) {\n _inherits(SyntaxCodeBlock, _CodeBlock);\n\n function SyntaxCodeBlock() {\n _classCallCheck(this, SyntaxCodeBlock);\n\n return _possibleConstructorReturn(this, (SyntaxCodeBlock.__proto__ || Object.getPrototypeOf(SyntaxCodeBlock)).apply(this, arguments));\n }\n\n _createClass(SyntaxCodeBlock, [{\n key: 'replaceWith',\n value: function replaceWith(block) {\n this.domNode.textContent = this.domNode.textContent;\n this.attach();\n _get(SyntaxCodeBlock.prototype.__proto__ || Object.getPrototypeOf(SyntaxCodeBlock.prototype), 'replaceWith', this).call(this, block);\n }\n }, {\n key: 'highlight',\n value: function highlight(_highlight) {\n var text = this.domNode.textContent;\n if (this.cachedText !== text) {\n if (text.trim().length > 0 || this.cachedText == null) {\n this.domNode.innerHTML = _highlight(text);\n this.domNode.normalize();\n this.attach();\n }\n this.cachedText = text;\n }\n }\n }]);\n\n return SyntaxCodeBlock;\n}(_code2.default);\n\nSyntaxCodeBlock.className = 'ql-syntax';\n\nvar CodeToken = new _parchment2.default.Attributor.Class('token', 'hljs', {\n scope: _parchment2.default.Scope.INLINE\n});\n\nvar Syntax = function (_Module) {\n _inherits(Syntax, _Module);\n\n _createClass(Syntax, null, [{\n key: 'register',\n value: function register() {\n _quill2.default.register(CodeToken, true);\n _quill2.default.register(SyntaxCodeBlock, true);\n }\n }]);\n\n function Syntax(quill, options) {\n _classCallCheck(this, Syntax);\n\n var _this2 = _possibleConstructorReturn(this, (Syntax.__proto__ || Object.getPrototypeOf(Syntax)).call(this, quill, options));\n\n if (typeof _this2.options.highlight !== 'function') {\n throw new Error('Syntax module requires highlight.js. Please include the library on the page before Quill.');\n }\n var timer = null;\n _this2.quill.on(_quill2.default.events.SCROLL_OPTIMIZE, function () {\n clearTimeout(timer);\n timer = setTimeout(function () {\n _this2.highlight();\n timer = null;\n }, _this2.options.interval);\n });\n _this2.highlight();\n return _this2;\n }\n\n _createClass(Syntax, [{\n key: 'highlight',\n value: function highlight() {\n var _this3 = this;\n\n if (this.quill.selection.composing) return;\n this.quill.update(_quill2.default.sources.USER);\n var range = this.quill.getSelection();\n this.quill.scroll.descendants(SyntaxCodeBlock).forEach(function (code) {\n code.highlight(_this3.options.highlight);\n });\n this.quill.update(_quill2.default.sources.SILENT);\n if (range != null) {\n this.quill.setSelection(range, _quill2.default.sources.SILENT);\n }\n }\n }]);\n\n return Syntax;\n}(_module2.default);\n\nSyntax.DEFAULTS = {\n highlight: function () {\n if (window.hljs == null) return null;\n return function (text) {\n var result = window.hljs.highlightAuto(text);\n return result.value;\n };\n }(),\n interval: 1000\n};\n\nexports.CodeBlock = SyntaxCodeBlock;\nexports.CodeToken = CodeToken;\nexports.default = Syntax;\n\n/***/ }),\n/* 76 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 77 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 78 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 79 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 80 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 81 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 82 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 83 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 84 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 85 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 86 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 87 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 88 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 89 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 90 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 91 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 92 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 93 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 94 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 95 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 96 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 97 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 98 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 99 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 100 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 101 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 102 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 103 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 104 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 105 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 106 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 107 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 108 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.BubbleTooltip = undefined;\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _extend = __webpack_require__(3);\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nvar _emitter = __webpack_require__(8);\n\nvar _emitter2 = _interopRequireDefault(_emitter);\n\nvar _base = __webpack_require__(43);\n\nvar _base2 = _interopRequireDefault(_base);\n\nvar _selection = __webpack_require__(15);\n\nvar _icons = __webpack_require__(41);\n\nvar _icons2 = _interopRequireDefault(_icons);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar TOOLBAR_CONFIG = [['bold', 'italic', 'link'], [{ header: 1 }, { header: 2 }, 'blockquote']];\n\nvar BubbleTheme = function (_BaseTheme) {\n _inherits(BubbleTheme, _BaseTheme);\n\n function BubbleTheme(quill, options) {\n _classCallCheck(this, BubbleTheme);\n\n if (options.modules.toolbar != null && options.modules.toolbar.container == null) {\n options.modules.toolbar.container = TOOLBAR_CONFIG;\n }\n\n var _this = _possibleConstructorReturn(this, (BubbleTheme.__proto__ || Object.getPrototypeOf(BubbleTheme)).call(this, quill, options));\n\n _this.quill.container.classList.add('ql-bubble');\n return _this;\n }\n\n _createClass(BubbleTheme, [{\n key: 'extendToolbar',\n value: function extendToolbar(toolbar) {\n this.tooltip = new BubbleTooltip(this.quill, this.options.bounds);\n this.tooltip.root.appendChild(toolbar.container);\n this.buildButtons([].slice.call(toolbar.container.querySelectorAll('button')), _icons2.default);\n this.buildPickers([].slice.call(toolbar.container.querySelectorAll('select')), _icons2.default);\n }\n }]);\n\n return BubbleTheme;\n}(_base2.default);\n\nBubbleTheme.DEFAULTS = (0, _extend2.default)(true, {}, _base2.default.DEFAULTS, {\n modules: {\n toolbar: {\n handlers: {\n link: function link(value) {\n if (!value) {\n this.quill.format('link', false);\n } else {\n this.quill.theme.tooltip.edit();\n }\n }\n }\n }\n }\n});\n\nvar BubbleTooltip = function (_BaseTooltip) {\n _inherits(BubbleTooltip, _BaseTooltip);\n\n function BubbleTooltip(quill, bounds) {\n _classCallCheck(this, BubbleTooltip);\n\n var _this2 = _possibleConstructorReturn(this, (BubbleTooltip.__proto__ || Object.getPrototypeOf(BubbleTooltip)).call(this, quill, bounds));\n\n _this2.quill.on(_emitter2.default.events.EDITOR_CHANGE, function (type, range, oldRange, source) {\n if (type !== _emitter2.default.events.SELECTION_CHANGE) return;\n if (range != null && range.length > 0 && source === _emitter2.default.sources.USER) {\n _this2.show();\n // Lock our width so we will expand beyond our offsetParent boundaries\n _this2.root.style.left = '0px';\n _this2.root.style.width = '';\n _this2.root.style.width = _this2.root.offsetWidth + 'px';\n var lines = _this2.quill.getLines(range.index, range.length);\n if (lines.length === 1) {\n _this2.position(_this2.quill.getBounds(range));\n } else {\n var lastLine = lines[lines.length - 1];\n var index = _this2.quill.getIndex(lastLine);\n var length = Math.min(lastLine.length() - 1, range.index + range.length - index);\n var _bounds = _this2.quill.getBounds(new _selection.Range(index, length));\n _this2.position(_bounds);\n }\n } else if (document.activeElement !== _this2.textbox && _this2.quill.hasFocus()) {\n _this2.hide();\n }\n });\n return _this2;\n }\n\n _createClass(BubbleTooltip, [{\n key: 'listen',\n value: function listen() {\n var _this3 = this;\n\n _get(BubbleTooltip.prototype.__proto__ || Object.getPrototypeOf(BubbleTooltip.prototype), 'listen', this).call(this);\n this.root.querySelector('.ql-close').addEventListener('click', function () {\n _this3.root.classList.remove('ql-editing');\n });\n this.quill.on(_emitter2.default.events.SCROLL_OPTIMIZE, function () {\n // Let selection be restored by toolbar handlers before repositioning\n setTimeout(function () {\n if (_this3.root.classList.contains('ql-hidden')) return;\n var range = _this3.quill.getSelection();\n if (range != null) {\n _this3.position(_this3.quill.getBounds(range));\n }\n }, 1);\n });\n }\n }, {\n key: 'cancel',\n value: function cancel() {\n this.show();\n }\n }, {\n key: 'position',\n value: function position(reference) {\n var shift = _get(BubbleTooltip.prototype.__proto__ || Object.getPrototypeOf(BubbleTooltip.prototype), 'position', this).call(this, reference);\n var arrow = this.root.querySelector('.ql-tooltip-arrow');\n arrow.style.marginLeft = '';\n if (shift === 0) return shift;\n arrow.style.marginLeft = -1 * shift - arrow.offsetWidth / 2 + 'px';\n }\n }]);\n\n return BubbleTooltip;\n}(_base.BaseTooltip);\n\nBubbleTooltip.TEMPLATE = ['', '
    ', '', '', '
    '].join('');\n\nexports.BubbleTooltip = BubbleTooltip;\nexports.default = BubbleTheme;\n\n/***/ }),\n/* 109 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(63);\n\n\n/***/ })\n/******/ ])[\"default\"];\n});","var now = require('performance-now')\n , root = typeof window === 'undefined' ? global : window\n , vendors = ['moz', 'webkit']\n , suffix = 'AnimationFrame'\n , raf = root['request' + suffix]\n , caf = root['cancel' + suffix] || root['cancelRequest' + suffix]\n\nfor(var i = 0; !raf && i < vendors.length; i++) {\n raf = root[vendors[i] + 'Request' + suffix]\n caf = root[vendors[i] + 'Cancel' + suffix]\n || root[vendors[i] + 'CancelRequest' + suffix]\n}\n\n// Some versions of FF have rAF but not cAF\nif(!raf || !caf) {\n var last = 0\n , id = 0\n , queue = []\n , frameDuration = 1000 / 60\n\n raf = function(callback) {\n if(queue.length === 0) {\n var _now = now()\n , next = Math.max(0, frameDuration - (_now - last))\n last = next + _now\n setTimeout(function() {\n var cp = queue.slice(0)\n // Clear queue here to prevent\n // callbacks from appending listeners\n // to the current frame's queue\n queue.length = 0\n for(var i = 0; i < cp.length; i++) {\n if(!cp[i].cancelled) {\n try{\n cp[i].callback(last)\n } catch(e) {\n setTimeout(function() { throw e }, 0)\n }\n }\n }\n }, Math.round(next))\n }\n queue.push({\n handle: ++id,\n callback: callback,\n cancelled: false\n })\n return id\n }\n\n caf = function(handle) {\n for(var i = 0; i < queue.length; i++) {\n if(queue[i].handle === handle) {\n queue[i].cancelled = true\n }\n }\n }\n}\n\nmodule.exports = function(fn) {\n // Wrap in a new function to prevent\n // `cancel` potentially being assigned\n // to the native rAF function\n return raf.call(root, fn)\n}\nmodule.exports.cancel = function() {\n caf.apply(root, arguments)\n}\nmodule.exports.polyfill = function(object) {\n if (!object) {\n object = root;\n }\n object.requestAnimationFrame = raf\n object.cancelAnimationFrame = caf\n}\n","\"use strict\";Object.defineProperty(exports,\"__esModule\",{value:!0});var _typeof=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},_extends=Object.assign||function(e){for(var t=1;t= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\n/* eslint-disable react/prop-types */\n\nfunction renderViewDefault(props) {\n return _react2[\"default\"].createElement('div', props);\n}\n\nfunction renderTrackHorizontalDefault(_ref) {\n var style = _ref.style,\n props = _objectWithoutProperties(_ref, ['style']);\n\n var finalStyle = _extends({}, style, {\n right: 2,\n bottom: 2,\n left: 2,\n borderRadius: 3\n });\n return _react2[\"default\"].createElement('div', _extends({ style: finalStyle }, props));\n}\n\nfunction renderTrackVerticalDefault(_ref2) {\n var style = _ref2.style,\n props = _objectWithoutProperties(_ref2, ['style']);\n\n var finalStyle = _extends({}, style, {\n right: 2,\n bottom: 2,\n top: 2,\n borderRadius: 3\n });\n return _react2[\"default\"].createElement('div', _extends({ style: finalStyle }, props));\n}\n\nfunction renderThumbHorizontalDefault(_ref3) {\n var style = _ref3.style,\n props = _objectWithoutProperties(_ref3, ['style']);\n\n var finalStyle = _extends({}, style, {\n cursor: 'pointer',\n borderRadius: 'inherit',\n backgroundColor: 'rgba(0,0,0,.2)'\n });\n return _react2[\"default\"].createElement('div', _extends({ style: finalStyle }, props));\n}\n\nfunction renderThumbVerticalDefault(_ref4) {\n var style = _ref4.style,\n props = _objectWithoutProperties(_ref4, ['style']);\n\n var finalStyle = _extends({}, style, {\n cursor: 'pointer',\n borderRadius: 'inherit',\n backgroundColor: 'rgba(0,0,0,.2)'\n });\n return _react2[\"default\"].createElement('div', _extends({ style: finalStyle }, props));\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _raf2 = require('raf');\n\nvar _raf3 = _interopRequireDefault(_raf2);\n\nvar _domCss = require('dom-css');\n\nvar _domCss2 = _interopRequireDefault(_domCss);\n\nvar _react = require('react');\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _isString = require('../utils/isString');\n\nvar _isString2 = _interopRequireDefault(_isString);\n\nvar _getScrollbarWidth = require('../utils/getScrollbarWidth');\n\nvar _getScrollbarWidth2 = _interopRequireDefault(_getScrollbarWidth);\n\nvar _returnFalse = require('../utils/returnFalse');\n\nvar _returnFalse2 = _interopRequireDefault(_returnFalse);\n\nvar _getInnerWidth = require('../utils/getInnerWidth');\n\nvar _getInnerWidth2 = _interopRequireDefault(_getInnerWidth);\n\nvar _getInnerHeight = require('../utils/getInnerHeight');\n\nvar _getInnerHeight2 = _interopRequireDefault(_getInnerHeight);\n\nvar _styles = require('./styles');\n\nvar _defaultRenderElements = require('./defaultRenderElements');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Scrollbars = function (_Component) {\n _inherits(Scrollbars, _Component);\n\n function Scrollbars(props) {\n var _ref;\n\n _classCallCheck(this, Scrollbars);\n\n for (var _len = arguments.length, rest = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n rest[_key - 1] = arguments[_key];\n }\n\n var _this = _possibleConstructorReturn(this, (_ref = Scrollbars.__proto__ || Object.getPrototypeOf(Scrollbars)).call.apply(_ref, [this, props].concat(rest)));\n\n _this.getScrollLeft = _this.getScrollLeft.bind(_this);\n _this.getScrollTop = _this.getScrollTop.bind(_this);\n _this.getScrollWidth = _this.getScrollWidth.bind(_this);\n _this.getScrollHeight = _this.getScrollHeight.bind(_this);\n _this.getClientWidth = _this.getClientWidth.bind(_this);\n _this.getClientHeight = _this.getClientHeight.bind(_this);\n _this.getValues = _this.getValues.bind(_this);\n _this.getThumbHorizontalWidth = _this.getThumbHorizontalWidth.bind(_this);\n _this.getThumbVerticalHeight = _this.getThumbVerticalHeight.bind(_this);\n _this.getScrollLeftForOffset = _this.getScrollLeftForOffset.bind(_this);\n _this.getScrollTopForOffset = _this.getScrollTopForOffset.bind(_this);\n\n _this.scrollLeft = _this.scrollLeft.bind(_this);\n _this.scrollTop = _this.scrollTop.bind(_this);\n _this.scrollToLeft = _this.scrollToLeft.bind(_this);\n _this.scrollToTop = _this.scrollToTop.bind(_this);\n _this.scrollToRight = _this.scrollToRight.bind(_this);\n _this.scrollToBottom = _this.scrollToBottom.bind(_this);\n\n _this.handleTrackMouseEnter = _this.handleTrackMouseEnter.bind(_this);\n _this.handleTrackMouseLeave = _this.handleTrackMouseLeave.bind(_this);\n _this.handleHorizontalTrackMouseDown = _this.handleHorizontalTrackMouseDown.bind(_this);\n _this.handleVerticalTrackMouseDown = _this.handleVerticalTrackMouseDown.bind(_this);\n _this.handleHorizontalThumbMouseDown = _this.handleHorizontalThumbMouseDown.bind(_this);\n _this.handleVerticalThumbMouseDown = _this.handleVerticalThumbMouseDown.bind(_this);\n _this.handleWindowResize = _this.handleWindowResize.bind(_this);\n _this.handleScroll = _this.handleScroll.bind(_this);\n _this.handleDrag = _this.handleDrag.bind(_this);\n _this.handleDragEnd = _this.handleDragEnd.bind(_this);\n\n _this.state = {\n didMountUniversal: false\n };\n return _this;\n }\n\n _createClass(Scrollbars, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n this.addListeners();\n this.update();\n this.componentDidMountUniversal();\n }\n }, {\n key: 'componentDidMountUniversal',\n value: function componentDidMountUniversal() {\n // eslint-disable-line react/sort-comp\n var universal = this.props.universal;\n\n if (!universal) return;\n this.setState({ didMountUniversal: true });\n }\n }, {\n key: 'componentDidUpdate',\n value: function componentDidUpdate() {\n this.update();\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n this.removeListeners();\n (0, _raf2.cancel)(this.requestFrame);\n clearTimeout(this.hideTracksTimeout);\n clearInterval(this.detectScrollingInterval);\n }\n }, {\n key: 'getScrollLeft',\n value: function getScrollLeft() {\n if (!this.view) return 0;\n return this.view.scrollLeft;\n }\n }, {\n key: 'getScrollTop',\n value: function getScrollTop() {\n if (!this.view) return 0;\n return this.view.scrollTop;\n }\n }, {\n key: 'getScrollWidth',\n value: function getScrollWidth() {\n if (!this.view) return 0;\n return this.view.scrollWidth;\n }\n }, {\n key: 'getScrollHeight',\n value: function getScrollHeight() {\n if (!this.view) return 0;\n return this.view.scrollHeight;\n }\n }, {\n key: 'getClientWidth',\n value: function getClientWidth() {\n if (!this.view) return 0;\n return this.view.clientWidth;\n }\n }, {\n key: 'getClientHeight',\n value: function getClientHeight() {\n if (!this.view) return 0;\n return this.view.clientHeight;\n }\n }, {\n key: 'getValues',\n value: function getValues() {\n var _ref2 = this.view || {},\n _ref2$scrollLeft = _ref2.scrollLeft,\n scrollLeft = _ref2$scrollLeft === undefined ? 0 : _ref2$scrollLeft,\n _ref2$scrollTop = _ref2.scrollTop,\n scrollTop = _ref2$scrollTop === undefined ? 0 : _ref2$scrollTop,\n _ref2$scrollWidth = _ref2.scrollWidth,\n scrollWidth = _ref2$scrollWidth === undefined ? 0 : _ref2$scrollWidth,\n _ref2$scrollHeight = _ref2.scrollHeight,\n scrollHeight = _ref2$scrollHeight === undefined ? 0 : _ref2$scrollHeight,\n _ref2$clientWidth = _ref2.clientWidth,\n clientWidth = _ref2$clientWidth === undefined ? 0 : _ref2$clientWidth,\n _ref2$clientHeight = _ref2.clientHeight,\n clientHeight = _ref2$clientHeight === undefined ? 0 : _ref2$clientHeight;\n\n return {\n left: scrollLeft / (scrollWidth - clientWidth) || 0,\n top: scrollTop / (scrollHeight - clientHeight) || 0,\n scrollLeft: scrollLeft,\n scrollTop: scrollTop,\n scrollWidth: scrollWidth,\n scrollHeight: scrollHeight,\n clientWidth: clientWidth,\n clientHeight: clientHeight\n };\n }\n }, {\n key: 'getThumbHorizontalWidth',\n value: function getThumbHorizontalWidth() {\n var _props = this.props,\n thumbSize = _props.thumbSize,\n thumbMinSize = _props.thumbMinSize;\n var _view = this.view,\n scrollWidth = _view.scrollWidth,\n clientWidth = _view.clientWidth;\n\n var trackWidth = (0, _getInnerWidth2[\"default\"])(this.trackHorizontal);\n var width = Math.ceil(clientWidth / scrollWidth * trackWidth);\n if (trackWidth <= width) return 0;\n if (thumbSize) return thumbSize;\n return Math.max(width, thumbMinSize);\n }\n }, {\n key: 'getThumbVerticalHeight',\n value: function getThumbVerticalHeight() {\n var _props2 = this.props,\n thumbSize = _props2.thumbSize,\n thumbMinSize = _props2.thumbMinSize;\n var _view2 = this.view,\n scrollHeight = _view2.scrollHeight,\n clientHeight = _view2.clientHeight;\n\n var trackHeight = (0, _getInnerHeight2[\"default\"])(this.trackVertical);\n var height = Math.ceil(clientHeight / scrollHeight * trackHeight);\n if (trackHeight <= height) return 0;\n if (thumbSize) return thumbSize;\n return Math.max(height, thumbMinSize);\n }\n }, {\n key: 'getScrollLeftForOffset',\n value: function getScrollLeftForOffset(offset) {\n var _view3 = this.view,\n scrollWidth = _view3.scrollWidth,\n clientWidth = _view3.clientWidth;\n\n var trackWidth = (0, _getInnerWidth2[\"default\"])(this.trackHorizontal);\n var thumbWidth = this.getThumbHorizontalWidth();\n return offset / (trackWidth - thumbWidth) * (scrollWidth - clientWidth);\n }\n }, {\n key: 'getScrollTopForOffset',\n value: function getScrollTopForOffset(offset) {\n var _view4 = this.view,\n scrollHeight = _view4.scrollHeight,\n clientHeight = _view4.clientHeight;\n\n var trackHeight = (0, _getInnerHeight2[\"default\"])(this.trackVertical);\n var thumbHeight = this.getThumbVerticalHeight();\n return offset / (trackHeight - thumbHeight) * (scrollHeight - clientHeight);\n }\n }, {\n key: 'scrollLeft',\n value: function scrollLeft() {\n var left = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\n if (!this.view) return;\n this.view.scrollLeft = left;\n }\n }, {\n key: 'scrollTop',\n value: function scrollTop() {\n var top = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\n if (!this.view) return;\n this.view.scrollTop = top;\n }\n }, {\n key: 'scrollToLeft',\n value: function scrollToLeft() {\n if (!this.view) return;\n this.view.scrollLeft = 0;\n }\n }, {\n key: 'scrollToTop',\n value: function scrollToTop() {\n if (!this.view) return;\n this.view.scrollTop = 0;\n }\n }, {\n key: 'scrollToRight',\n value: function scrollToRight() {\n if (!this.view) return;\n this.view.scrollLeft = this.view.scrollWidth;\n }\n }, {\n key: 'scrollToBottom',\n value: function scrollToBottom() {\n if (!this.view) return;\n this.view.scrollTop = this.view.scrollHeight;\n }\n }, {\n key: 'addListeners',\n value: function addListeners() {\n /* istanbul ignore if */\n if (typeof document === 'undefined' || !this.view) return;\n var view = this.view,\n trackHorizontal = this.trackHorizontal,\n trackVertical = this.trackVertical,\n thumbHorizontal = this.thumbHorizontal,\n thumbVertical = this.thumbVertical;\n\n view.addEventListener('scroll', this.handleScroll);\n if (!(0, _getScrollbarWidth2[\"default\"])()) return;\n trackHorizontal.addEventListener('mouseenter', this.handleTrackMouseEnter);\n trackHorizontal.addEventListener('mouseleave', this.handleTrackMouseLeave);\n trackHorizontal.addEventListener('mousedown', this.handleHorizontalTrackMouseDown);\n trackVertical.addEventListener('mouseenter', this.handleTrackMouseEnter);\n trackVertical.addEventListener('mouseleave', this.handleTrackMouseLeave);\n trackVertical.addEventListener('mousedown', this.handleVerticalTrackMouseDown);\n thumbHorizontal.addEventListener('mousedown', this.handleHorizontalThumbMouseDown);\n thumbVertical.addEventListener('mousedown', this.handleVerticalThumbMouseDown);\n window.addEventListener('resize', this.handleWindowResize);\n }\n }, {\n key: 'removeListeners',\n value: function removeListeners() {\n /* istanbul ignore if */\n if (typeof document === 'undefined' || !this.view) return;\n var view = this.view,\n trackHorizontal = this.trackHorizontal,\n trackVertical = this.trackVertical,\n thumbHorizontal = this.thumbHorizontal,\n thumbVertical = this.thumbVertical;\n\n view.removeEventListener('scroll', this.handleScroll);\n if (!(0, _getScrollbarWidth2[\"default\"])()) return;\n trackHorizontal.removeEventListener('mouseenter', this.handleTrackMouseEnter);\n trackHorizontal.removeEventListener('mouseleave', this.handleTrackMouseLeave);\n trackHorizontal.removeEventListener('mousedown', this.handleHorizontalTrackMouseDown);\n trackVertical.removeEventListener('mouseenter', this.handleTrackMouseEnter);\n trackVertical.removeEventListener('mouseleave', this.handleTrackMouseLeave);\n trackVertical.removeEventListener('mousedown', this.handleVerticalTrackMouseDown);\n thumbHorizontal.removeEventListener('mousedown', this.handleHorizontalThumbMouseDown);\n thumbVertical.removeEventListener('mousedown', this.handleVerticalThumbMouseDown);\n window.removeEventListener('resize', this.handleWindowResize);\n // Possibly setup by `handleDragStart`\n this.teardownDragging();\n }\n }, {\n key: 'handleScroll',\n value: function handleScroll(event) {\n var _this2 = this;\n\n var _props3 = this.props,\n onScroll = _props3.onScroll,\n onScrollFrame = _props3.onScrollFrame;\n\n if (onScroll) onScroll(event);\n this.update(function (values) {\n var scrollLeft = values.scrollLeft,\n scrollTop = values.scrollTop;\n\n _this2.viewScrollLeft = scrollLeft;\n _this2.viewScrollTop = scrollTop;\n if (onScrollFrame) onScrollFrame(values);\n });\n this.detectScrolling();\n }\n }, {\n key: 'handleScrollStart',\n value: function handleScrollStart() {\n var onScrollStart = this.props.onScrollStart;\n\n if (onScrollStart) onScrollStart();\n this.handleScrollStartAutoHide();\n }\n }, {\n key: 'handleScrollStartAutoHide',\n value: function handleScrollStartAutoHide() {\n var autoHide = this.props.autoHide;\n\n if (!autoHide) return;\n this.showTracks();\n }\n }, {\n key: 'handleScrollStop',\n value: function handleScrollStop() {\n var onScrollStop = this.props.onScrollStop;\n\n if (onScrollStop) onScrollStop();\n this.handleScrollStopAutoHide();\n }\n }, {\n key: 'handleScrollStopAutoHide',\n value: function handleScrollStopAutoHide() {\n var autoHide = this.props.autoHide;\n\n if (!autoHide) return;\n this.hideTracks();\n }\n }, {\n key: 'handleWindowResize',\n value: function handleWindowResize() {\n (0, _getScrollbarWidth2[\"default\"])(false);\n this.forceUpdate();\n }\n }, {\n key: 'handleHorizontalTrackMouseDown',\n value: function handleHorizontalTrackMouseDown(event) {\n event.preventDefault();\n var target = event.target,\n clientX = event.clientX;\n\n var _target$getBoundingCl = target.getBoundingClientRect(),\n targetLeft = _target$getBoundingCl.left;\n\n var thumbWidth = this.getThumbHorizontalWidth();\n var offset = Math.abs(targetLeft - clientX) - thumbWidth / 2;\n this.view.scrollLeft = this.getScrollLeftForOffset(offset);\n }\n }, {\n key: 'handleVerticalTrackMouseDown',\n value: function handleVerticalTrackMouseDown(event) {\n event.preventDefault();\n var target = event.target,\n clientY = event.clientY;\n\n var _target$getBoundingCl2 = target.getBoundingClientRect(),\n targetTop = _target$getBoundingCl2.top;\n\n var thumbHeight = this.getThumbVerticalHeight();\n var offset = Math.abs(targetTop - clientY) - thumbHeight / 2;\n this.view.scrollTop = this.getScrollTopForOffset(offset);\n }\n }, {\n key: 'handleHorizontalThumbMouseDown',\n value: function handleHorizontalThumbMouseDown(event) {\n event.preventDefault();\n this.handleDragStart(event);\n var target = event.target,\n clientX = event.clientX;\n var offsetWidth = target.offsetWidth;\n\n var _target$getBoundingCl3 = target.getBoundingClientRect(),\n left = _target$getBoundingCl3.left;\n\n this.prevPageX = offsetWidth - (clientX - left);\n }\n }, {\n key: 'handleVerticalThumbMouseDown',\n value: function handleVerticalThumbMouseDown(event) {\n event.preventDefault();\n this.handleDragStart(event);\n var target = event.target,\n clientY = event.clientY;\n var offsetHeight = target.offsetHeight;\n\n var _target$getBoundingCl4 = target.getBoundingClientRect(),\n top = _target$getBoundingCl4.top;\n\n this.prevPageY = offsetHeight - (clientY - top);\n }\n }, {\n key: 'setupDragging',\n value: function setupDragging() {\n (0, _domCss2[\"default\"])(document.body, _styles.disableSelectStyle);\n document.addEventListener('mousemove', this.handleDrag);\n document.addEventListener('mouseup', this.handleDragEnd);\n document.onselectstart = _returnFalse2[\"default\"];\n }\n }, {\n key: 'teardownDragging',\n value: function teardownDragging() {\n (0, _domCss2[\"default\"])(document.body, _styles.disableSelectStyleReset);\n document.removeEventListener('mousemove', this.handleDrag);\n document.removeEventListener('mouseup', this.handleDragEnd);\n document.onselectstart = undefined;\n }\n }, {\n key: 'handleDragStart',\n value: function handleDragStart(event) {\n this.dragging = true;\n event.stopImmediatePropagation();\n this.setupDragging();\n }\n }, {\n key: 'handleDrag',\n value: function handleDrag(event) {\n if (this.prevPageX) {\n var clientX = event.clientX;\n\n var _trackHorizontal$getB = this.trackHorizontal.getBoundingClientRect(),\n trackLeft = _trackHorizontal$getB.left;\n\n var thumbWidth = this.getThumbHorizontalWidth();\n var clickPosition = thumbWidth - this.prevPageX;\n var offset = -trackLeft + clientX - clickPosition;\n this.view.scrollLeft = this.getScrollLeftForOffset(offset);\n }\n if (this.prevPageY) {\n var clientY = event.clientY;\n\n var _trackVertical$getBou = this.trackVertical.getBoundingClientRect(),\n trackTop = _trackVertical$getBou.top;\n\n var thumbHeight = this.getThumbVerticalHeight();\n var _clickPosition = thumbHeight - this.prevPageY;\n var _offset = -trackTop + clientY - _clickPosition;\n this.view.scrollTop = this.getScrollTopForOffset(_offset);\n }\n return false;\n }\n }, {\n key: 'handleDragEnd',\n value: function handleDragEnd() {\n this.dragging = false;\n this.prevPageX = this.prevPageY = 0;\n this.teardownDragging();\n this.handleDragEndAutoHide();\n }\n }, {\n key: 'handleDragEndAutoHide',\n value: function handleDragEndAutoHide() {\n var autoHide = this.props.autoHide;\n\n if (!autoHide) return;\n this.hideTracks();\n }\n }, {\n key: 'handleTrackMouseEnter',\n value: function handleTrackMouseEnter() {\n this.trackMouseOver = true;\n this.handleTrackMouseEnterAutoHide();\n }\n }, {\n key: 'handleTrackMouseEnterAutoHide',\n value: function handleTrackMouseEnterAutoHide() {\n var autoHide = this.props.autoHide;\n\n if (!autoHide) return;\n this.showTracks();\n }\n }, {\n key: 'handleTrackMouseLeave',\n value: function handleTrackMouseLeave() {\n this.trackMouseOver = false;\n this.handleTrackMouseLeaveAutoHide();\n }\n }, {\n key: 'handleTrackMouseLeaveAutoHide',\n value: function handleTrackMouseLeaveAutoHide() {\n var autoHide = this.props.autoHide;\n\n if (!autoHide) return;\n this.hideTracks();\n }\n }, {\n key: 'showTracks',\n value: function showTracks() {\n clearTimeout(this.hideTracksTimeout);\n (0, _domCss2[\"default\"])(this.trackHorizontal, { opacity: 1 });\n (0, _domCss2[\"default\"])(this.trackVertical, { opacity: 1 });\n }\n }, {\n key: 'hideTracks',\n value: function hideTracks() {\n var _this3 = this;\n\n if (this.dragging) return;\n if (this.scrolling) return;\n if (this.trackMouseOver) return;\n var autoHideTimeout = this.props.autoHideTimeout;\n\n clearTimeout(this.hideTracksTimeout);\n this.hideTracksTimeout = setTimeout(function () {\n (0, _domCss2[\"default\"])(_this3.trackHorizontal, { opacity: 0 });\n (0, _domCss2[\"default\"])(_this3.trackVertical, { opacity: 0 });\n }, autoHideTimeout);\n }\n }, {\n key: 'detectScrolling',\n value: function detectScrolling() {\n var _this4 = this;\n\n if (this.scrolling) return;\n this.scrolling = true;\n this.handleScrollStart();\n this.detectScrollingInterval = setInterval(function () {\n if (_this4.lastViewScrollLeft === _this4.viewScrollLeft && _this4.lastViewScrollTop === _this4.viewScrollTop) {\n clearInterval(_this4.detectScrollingInterval);\n _this4.scrolling = false;\n _this4.handleScrollStop();\n }\n _this4.lastViewScrollLeft = _this4.viewScrollLeft;\n _this4.lastViewScrollTop = _this4.viewScrollTop;\n }, 100);\n }\n }, {\n key: 'raf',\n value: function raf(callback) {\n var _this5 = this;\n\n if (this.requestFrame) _raf3[\"default\"].cancel(this.requestFrame);\n this.requestFrame = (0, _raf3[\"default\"])(function () {\n _this5.requestFrame = undefined;\n callback();\n });\n }\n }, {\n key: 'update',\n value: function update(callback) {\n var _this6 = this;\n\n this.raf(function () {\n return _this6._update(callback);\n });\n }\n }, {\n key: '_update',\n value: function _update(callback) {\n var _props4 = this.props,\n onUpdate = _props4.onUpdate,\n hideTracksWhenNotNeeded = _props4.hideTracksWhenNotNeeded;\n\n var values = this.getValues();\n if ((0, _getScrollbarWidth2[\"default\"])()) {\n var scrollLeft = values.scrollLeft,\n clientWidth = values.clientWidth,\n scrollWidth = values.scrollWidth;\n\n var trackHorizontalWidth = (0, _getInnerWidth2[\"default\"])(this.trackHorizontal);\n var thumbHorizontalWidth = this.getThumbHorizontalWidth();\n var thumbHorizontalX = scrollLeft / (scrollWidth - clientWidth) * (trackHorizontalWidth - thumbHorizontalWidth);\n var thumbHorizontalStyle = {\n width: thumbHorizontalWidth,\n transform: 'translateX(' + thumbHorizontalX + 'px)'\n };\n var scrollTop = values.scrollTop,\n clientHeight = values.clientHeight,\n scrollHeight = values.scrollHeight;\n\n var trackVerticalHeight = (0, _getInnerHeight2[\"default\"])(this.trackVertical);\n var thumbVerticalHeight = this.getThumbVerticalHeight();\n var thumbVerticalY = scrollTop / (scrollHeight - clientHeight) * (trackVerticalHeight - thumbVerticalHeight);\n var thumbVerticalStyle = {\n height: thumbVerticalHeight,\n transform: 'translateY(' + thumbVerticalY + 'px)'\n };\n if (hideTracksWhenNotNeeded) {\n var trackHorizontalStyle = {\n visibility: scrollWidth > clientWidth ? 'visible' : 'hidden'\n };\n var trackVerticalStyle = {\n visibility: scrollHeight > clientHeight ? 'visible' : 'hidden'\n };\n (0, _domCss2[\"default\"])(this.trackHorizontal, trackHorizontalStyle);\n (0, _domCss2[\"default\"])(this.trackVertical, trackVerticalStyle);\n }\n (0, _domCss2[\"default\"])(this.thumbHorizontal, thumbHorizontalStyle);\n (0, _domCss2[\"default\"])(this.thumbVertical, thumbVerticalStyle);\n }\n if (onUpdate) onUpdate(values);\n if (typeof callback !== 'function') return;\n callback(values);\n }\n }, {\n key: 'render',\n value: function render() {\n var _this7 = this;\n\n var scrollbarWidth = (0, _getScrollbarWidth2[\"default\"])();\n /* eslint-disable no-unused-vars */\n\n var _props5 = this.props,\n onScroll = _props5.onScroll,\n onScrollFrame = _props5.onScrollFrame,\n onScrollStart = _props5.onScrollStart,\n onScrollStop = _props5.onScrollStop,\n onUpdate = _props5.onUpdate,\n renderView = _props5.renderView,\n renderTrackHorizontal = _props5.renderTrackHorizontal,\n renderTrackVertical = _props5.renderTrackVertical,\n renderThumbHorizontal = _props5.renderThumbHorizontal,\n renderThumbVertical = _props5.renderThumbVertical,\n tagName = _props5.tagName,\n hideTracksWhenNotNeeded = _props5.hideTracksWhenNotNeeded,\n autoHide = _props5.autoHide,\n autoHideTimeout = _props5.autoHideTimeout,\n autoHideDuration = _props5.autoHideDuration,\n thumbSize = _props5.thumbSize,\n thumbMinSize = _props5.thumbMinSize,\n universal = _props5.universal,\n autoHeight = _props5.autoHeight,\n autoHeightMin = _props5.autoHeightMin,\n autoHeightMax = _props5.autoHeightMax,\n style = _props5.style,\n children = _props5.children,\n props = _objectWithoutProperties(_props5, ['onScroll', 'onScrollFrame', 'onScrollStart', 'onScrollStop', 'onUpdate', 'renderView', 'renderTrackHorizontal', 'renderTrackVertical', 'renderThumbHorizontal', 'renderThumbVertical', 'tagName', 'hideTracksWhenNotNeeded', 'autoHide', 'autoHideTimeout', 'autoHideDuration', 'thumbSize', 'thumbMinSize', 'universal', 'autoHeight', 'autoHeightMin', 'autoHeightMax', 'style', 'children']);\n /* eslint-enable no-unused-vars */\n\n var didMountUniversal = this.state.didMountUniversal;\n\n\n var containerStyle = _extends({}, _styles.containerStyleDefault, autoHeight && _extends({}, _styles.containerStyleAutoHeight, {\n minHeight: autoHeightMin,\n maxHeight: autoHeightMax\n }), style);\n\n var viewStyle = _extends({}, _styles.viewStyleDefault, {\n // Hide scrollbars by setting a negative margin\n marginRight: scrollbarWidth ? -scrollbarWidth : 0,\n marginBottom: scrollbarWidth ? -scrollbarWidth : 0\n }, autoHeight && _extends({}, _styles.viewStyleAutoHeight, {\n // Add scrollbarWidth to autoHeight in order to compensate negative margins\n minHeight: (0, _isString2[\"default\"])(autoHeightMin) ? 'calc(' + autoHeightMin + ' + ' + scrollbarWidth + 'px)' : autoHeightMin + scrollbarWidth,\n maxHeight: (0, _isString2[\"default\"])(autoHeightMax) ? 'calc(' + autoHeightMax + ' + ' + scrollbarWidth + 'px)' : autoHeightMax + scrollbarWidth\n }), autoHeight && universal && !didMountUniversal && {\n minHeight: autoHeightMin,\n maxHeight: autoHeightMax\n }, universal && !didMountUniversal && _styles.viewStyleUniversalInitial);\n\n var trackAutoHeightStyle = {\n transition: 'opacity ' + autoHideDuration + 'ms',\n opacity: 0\n };\n\n var trackHorizontalStyle = _extends({}, _styles.trackHorizontalStyleDefault, autoHide && trackAutoHeightStyle, (!scrollbarWidth || universal && !didMountUniversal) && {\n display: 'none'\n });\n\n var trackVerticalStyle = _extends({}, _styles.trackVerticalStyleDefault, autoHide && trackAutoHeightStyle, (!scrollbarWidth || universal && !didMountUniversal) && {\n display: 'none'\n });\n\n return (0, _react.createElement)(tagName, _extends({}, props, { style: containerStyle, ref: function ref(_ref3) {\n _this7.container = _ref3;\n } }), [(0, _react.cloneElement)(renderView({ style: viewStyle }), { key: 'view', ref: function ref(_ref4) {\n _this7.view = _ref4;\n } }, children), (0, _react.cloneElement)(renderTrackHorizontal({ style: trackHorizontalStyle }), { key: 'trackHorizontal', ref: function ref(_ref5) {\n _this7.trackHorizontal = _ref5;\n } }, (0, _react.cloneElement)(renderThumbHorizontal({ style: _styles.thumbHorizontalStyleDefault }), { ref: function ref(_ref6) {\n _this7.thumbHorizontal = _ref6;\n } })), (0, _react.cloneElement)(renderTrackVertical({ style: trackVerticalStyle }), { key: 'trackVertical', ref: function ref(_ref7) {\n _this7.trackVertical = _ref7;\n } }, (0, _react.cloneElement)(renderThumbVertical({ style: _styles.thumbVerticalStyleDefault }), { ref: function ref(_ref8) {\n _this7.thumbVertical = _ref8;\n } }))]);\n }\n }]);\n\n return Scrollbars;\n}(_react.Component);\n\nexports[\"default\"] = Scrollbars;\n\n\nScrollbars.propTypes = {\n onScroll: _propTypes2[\"default\"].func,\n onScrollFrame: _propTypes2[\"default\"].func,\n onScrollStart: _propTypes2[\"default\"].func,\n onScrollStop: _propTypes2[\"default\"].func,\n onUpdate: _propTypes2[\"default\"].func,\n renderView: _propTypes2[\"default\"].func,\n renderTrackHorizontal: _propTypes2[\"default\"].func,\n renderTrackVertical: _propTypes2[\"default\"].func,\n renderThumbHorizontal: _propTypes2[\"default\"].func,\n renderThumbVertical: _propTypes2[\"default\"].func,\n tagName: _propTypes2[\"default\"].string,\n thumbSize: _propTypes2[\"default\"].number,\n thumbMinSize: _propTypes2[\"default\"].number,\n hideTracksWhenNotNeeded: _propTypes2[\"default\"].bool,\n autoHide: _propTypes2[\"default\"].bool,\n autoHideTimeout: _propTypes2[\"default\"].number,\n autoHideDuration: _propTypes2[\"default\"].number,\n autoHeight: _propTypes2[\"default\"].bool,\n autoHeightMin: _propTypes2[\"default\"].oneOfType([_propTypes2[\"default\"].number, _propTypes2[\"default\"].string]),\n autoHeightMax: _propTypes2[\"default\"].oneOfType([_propTypes2[\"default\"].number, _propTypes2[\"default\"].string]),\n universal: _propTypes2[\"default\"].bool,\n style: _propTypes2[\"default\"].object,\n children: _propTypes2[\"default\"].node\n};\n\nScrollbars.defaultProps = {\n renderView: _defaultRenderElements.renderViewDefault,\n renderTrackHorizontal: _defaultRenderElements.renderTrackHorizontalDefault,\n renderTrackVertical: _defaultRenderElements.renderTrackVerticalDefault,\n renderThumbHorizontal: _defaultRenderElements.renderThumbHorizontalDefault,\n renderThumbVertical: _defaultRenderElements.renderThumbVerticalDefault,\n tagName: 'div',\n thumbMinSize: 30,\n hideTracksWhenNotNeeded: false,\n autoHide: false,\n autoHideTimeout: 1000,\n autoHideDuration: 200,\n autoHeight: false,\n autoHeightMin: 0,\n autoHeightMax: 200,\n universal: false\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar containerStyleDefault = exports.containerStyleDefault = {\n position: 'relative',\n overflow: 'hidden',\n width: '100%',\n height: '100%'\n};\n\n// Overrides containerStyleDefault properties\nvar containerStyleAutoHeight = exports.containerStyleAutoHeight = {\n height: 'auto'\n};\n\nvar viewStyleDefault = exports.viewStyleDefault = {\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n overflow: 'scroll',\n WebkitOverflowScrolling: 'touch'\n};\n\n// Overrides viewStyleDefault properties\nvar viewStyleAutoHeight = exports.viewStyleAutoHeight = {\n position: 'relative',\n top: undefined,\n left: undefined,\n right: undefined,\n bottom: undefined\n};\n\nvar viewStyleUniversalInitial = exports.viewStyleUniversalInitial = {\n overflow: 'hidden',\n marginRight: 0,\n marginBottom: 0\n};\n\nvar trackHorizontalStyleDefault = exports.trackHorizontalStyleDefault = {\n position: 'absolute',\n height: 6\n};\n\nvar trackVerticalStyleDefault = exports.trackVerticalStyleDefault = {\n position: 'absolute',\n width: 6\n};\n\nvar thumbHorizontalStyleDefault = exports.thumbHorizontalStyleDefault = {\n position: 'relative',\n display: 'block',\n height: '100%'\n};\n\nvar thumbVerticalStyleDefault = exports.thumbVerticalStyleDefault = {\n position: 'relative',\n display: 'block',\n width: '100%'\n};\n\nvar disableSelectStyle = exports.disableSelectStyle = {\n userSelect: 'none'\n};\n\nvar disableSelectStyleReset = exports.disableSelectStyleReset = {\n userSelect: ''\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Scrollbars = undefined;\n\nvar _Scrollbars = require('./Scrollbars');\n\nvar _Scrollbars2 = _interopRequireDefault(_Scrollbars);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nexports[\"default\"] = _Scrollbars2[\"default\"];\nexports.Scrollbars = _Scrollbars2[\"default\"];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = getInnerHeight;\nfunction getInnerHeight(el) {\n var clientHeight = el.clientHeight;\n\n var _getComputedStyle = getComputedStyle(el),\n paddingTop = _getComputedStyle.paddingTop,\n paddingBottom = _getComputedStyle.paddingBottom;\n\n return clientHeight - parseFloat(paddingTop) - parseFloat(paddingBottom);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = getInnerWidth;\nfunction getInnerWidth(el) {\n var clientWidth = el.clientWidth;\n\n var _getComputedStyle = getComputedStyle(el),\n paddingLeft = _getComputedStyle.paddingLeft,\n paddingRight = _getComputedStyle.paddingRight;\n\n return clientWidth - parseFloat(paddingLeft) - parseFloat(paddingRight);\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = getScrollbarWidth;\n\nvar _domCss = require('dom-css');\n\nvar _domCss2 = _interopRequireDefault(_domCss);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nvar scrollbarWidth = false;\n\nfunction getScrollbarWidth() {\n var cacheEnabled = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n if (cacheEnabled && scrollbarWidth !== false) return scrollbarWidth;\n /* istanbul ignore else */\n if (typeof document !== 'undefined') {\n var div = document.createElement('div');\n (0, _domCss2[\"default\"])(div, {\n width: 100,\n height: 100,\n position: 'absolute',\n top: -9999,\n overflow: 'scroll',\n MsOverflowStyle: 'scrollbar'\n });\n document.body.appendChild(div);\n scrollbarWidth = div.offsetWidth - div.clientWidth;\n document.body.removeChild(div);\n } else {\n scrollbarWidth = 0;\n }\n return scrollbarWidth || 0;\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = isString;\nfunction isString(maybe) {\n return typeof maybe === 'string';\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = returnFalse;\nfunction returnFalse() {\n return false;\n}","/**\n * @license React\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),ca=require(\"scheduler\");function p(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cb}return!1}function v(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var z={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){z[a]=new v(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];z[b]=new v(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){z[a]=new v(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){z[a]=new v(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){z[a]=new v(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){z[a]=new v(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){z[a]=new v(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){z[a]=new v(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){z[a]=new v(a,5,!1,a.toLowerCase(),null,!1,!1)});var ra=/[\\-:]([a-z])/g;function sa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(ra,\nsa);z[b]=new v(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!1,!1)});\nz.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction ta(a,b,c,d){var e=z.hasOwnProperty(b)?z[b]:null;if(null!==e?0!==e.type:d||!(2h||e[g]!==f[h]){var k=\"\\n\"+e[g].replace(\" at new \",\" at \");a.displayName&&k.includes(\"\")&&(k=k.replace(\"\",a.displayName));return k}while(1<=g&&0<=h)}break}}}finally{Na=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Ma(a):\"\"}\nfunction Pa(a){switch(a.tag){case 5:return Ma(a.type);case 16:return Ma(\"Lazy\");case 13:return Ma(\"Suspense\");case 19:return Ma(\"SuspenseList\");case 0:case 2:case 15:return a=Oa(a.type,!1),a;case 11:return a=Oa(a.type.render,!1),a;case 1:return a=Oa(a.type,!0),a;default:return\"\"}}\nfunction Qa(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ya:return\"Fragment\";case wa:return\"Portal\";case Aa:return\"Profiler\";case za:return\"StrictMode\";case Ea:return\"Suspense\";case Fa:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case Ca:return(a.displayName||\"Context\")+\".Consumer\";case Ba:return(a._context.displayName||\"Context\")+\".Provider\";case Da:var b=a.render;a=a.displayName;a||(a=b.displayName||\nb.name||\"\",a=\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");return a;case Ga:return b=a.displayName||null,null!==b?b:Qa(a.type)||\"Memo\";case Ha:b=a._payload;a=a._init;try{return Qa(a(b))}catch(c){}}return null}\nfunction Ra(a){var b=a.type;switch(a.tag){case 24:return\"Cache\";case 9:return(b.displayName||\"Context\")+\".Consumer\";case 10:return(b._context.displayName||\"Context\")+\".Provider\";case 18:return\"DehydratedFragment\";case 11:return a=b.render,a=a.displayName||a.name||\"\",b.displayName||(\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");case 7:return\"Fragment\";case 5:return b;case 4:return\"Portal\";case 3:return\"Root\";case 6:return\"Text\";case 16:return Qa(b);case 8:return b===za?\"StrictMode\":\"Mode\";case 22:return\"Offscreen\";\ncase 12:return\"Profiler\";case 21:return\"Scope\";case 13:return\"Suspense\";case 19:return\"SuspenseList\";case 25:return\"TracingMarker\";case 1:case 0:case 17:case 2:case 14:case 15:if(\"function\"===typeof b)return b.displayName||b.name||null;if(\"string\"===typeof b)return b}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"string\":case \"undefined\":return a;case \"object\":return a;default:return\"\"}}\nfunction Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return A({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function ab(a,b){b=b.checked;null!=b&&ta(a,\"checked\",b,!1)}\nfunction bb(a,b){ab(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?cb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&cb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction db(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction cb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}var eb=Array.isArray;\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e\"+b.valueOf().toString()+\"\";for(b=mb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction ob(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar pb={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,\nzoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},qb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(pb).forEach(function(a){qb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);pb[b]=pb[a]})});function rb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||pb.hasOwnProperty(a)&&pb[a]?(\"\"+b).trim():b+\"px\"}\nfunction sb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=rb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var tb=A({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction ub(a,b){if(b){if(tb[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(p(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(p(60));if(\"object\"!==typeof b.dangerouslySetInnerHTML||!(\"__html\"in b.dangerouslySetInnerHTML))throw Error(p(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(p(62));}}\nfunction vb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}var wb=null;function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(p(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;a>>=0;return 0===a?32:31-(pc(a)/qc|0)|0}var rc=64,sc=4194304;\nfunction tc(a){switch(a&-a){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return a&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;\ndefault:return a}}function uc(a,b){var c=a.pendingLanes;if(0===c)return 0;var d=0,e=a.suspendedLanes,f=a.pingedLanes,g=c&268435455;if(0!==g){var h=g&~e;0!==h?d=tc(h):(f&=g,0!==f&&(d=tc(f)))}else g=c&~e,0!==g?d=tc(g):0!==f&&(d=tc(f));if(0===d)return 0;if(0!==b&&b!==d&&0===(b&e)&&(e=d&-d,f=b&-b,e>=f||16===e&&0!==(f&4194240)))return b;0!==(d&4)&&(d|=c&16);b=a.entangledLanes;if(0!==b)for(a=a.entanglements,b&=d;0c;c++)b.push(a);return b}\nfunction Ac(a,b,c){a.pendingLanes|=b;536870912!==b&&(a.suspendedLanes=0,a.pingedLanes=0);a=a.eventTimes;b=31-oc(b);a[b]=c}function Bc(a,b){var c=a.pendingLanes&~b;a.pendingLanes=b;a.suspendedLanes=0;a.pingedLanes=0;a.expiredLanes&=b;a.mutableReadLanes&=b;a.entangledLanes&=b;b=a.entanglements;var d=a.eventTimes;for(a=a.expirationTimes;0=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Je(c)}}function Le(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Le(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Me(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Ne(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nfunction Oe(a){var b=Me(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&c&&c.ownerDocument&&Le(c.ownerDocument.documentElement,c)){if(null!==d&&Ne(c))if(b=d.start,a=d.end,void 0===a&&(a=b),\"selectionStart\"in c)c.selectionStart=b,c.selectionEnd=Math.min(a,c.value.length);else if(a=(b=c.ownerDocument||document)&&b.defaultView||window,a.getSelection){a=a.getSelection();var e=c.textContent.length,f=Math.min(d.start,e);d=void 0===d.end?f:Math.min(d.end,e);!a.extend&&f>d&&(e=d,d=f,f=e);e=Ke(c,f);var g=Ke(c,\nd);e&&g&&(1!==a.rangeCount||a.anchorNode!==e.node||a.anchorOffset!==e.offset||a.focusNode!==g.node||a.focusOffset!==g.offset)&&(b=b.createRange(),b.setStart(e.node,e.offset),a.removeAllRanges(),f>d?(a.addRange(b),a.extend(g.node,g.offset)):(b.setEnd(g.node,g.offset),a.addRange(b)))}b=[];for(a=c;a=a.parentNode;)1===a.nodeType&&b.push({element:a,left:a.scrollLeft,top:a.scrollTop});\"function\"===typeof c.focus&&c.focus();for(c=0;c=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Ne(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Ie(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0Tf||(a.current=Sf[Tf],Sf[Tf]=null,Tf--)}function G(a,b){Tf++;Sf[Tf]=a.current;a.current=b}var Vf={},H=Uf(Vf),Wf=Uf(!1),Xf=Vf;function Yf(a,b){var c=a.type.contextTypes;if(!c)return Vf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}\nfunction Zf(a){a=a.childContextTypes;return null!==a&&void 0!==a}function $f(){E(Wf);E(H)}function ag(a,b,c){if(H.current!==Vf)throw Error(p(168));G(H,b);G(Wf,c)}function bg(a,b,c){var d=a.stateNode;b=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in b))throw Error(p(108,Ra(a)||\"Unknown\",e));return A({},c,d)}\nfunction cg(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Vf;Xf=H.current;G(H,a);G(Wf,Wf.current);return!0}function dg(a,b,c){var d=a.stateNode;if(!d)throw Error(p(169));c?(a=bg(a,b,Xf),d.__reactInternalMemoizedMergedChildContext=a,E(Wf),E(H),G(H,a)):E(Wf);G(Wf,c)}var eg=null,fg=!1,gg=!1;function hg(a){null===eg?eg=[a]:eg.push(a)}function ig(a){fg=!0;hg(a)}\nfunction jg(){if(!gg&&null!==eg){gg=!0;var a=0,b=C;try{var c=eg;for(C=1;a>=g;e-=g;rg=1<<32-oc(b)+e|c<w?(x=u,u=null):x=u.sibling;var n=r(e,u,h[w],k);if(null===n){null===u&&(u=x);break}a&&u&&null===n.alternate&&b(e,u);g=f(n,g,w);null===m?l=n:m.sibling=n;m=n;u=x}if(w===h.length)return c(e,u),I&&tg(e,w),l;if(null===u){for(;ww?(x=m,m=null):x=m.sibling;var t=r(e,m,n.value,k);if(null===t){null===m&&(m=x);break}a&&m&&null===t.alternate&&b(e,m);g=f(t,g,w);null===u?l=t:u.sibling=t;u=t;m=x}if(n.done)return c(e,\nm),I&&tg(e,w),l;if(null===m){for(;!n.done;w++,n=h.next())n=q(e,n.value,k),null!==n&&(g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);I&&tg(e,w);return l}for(m=d(e,m);!n.done;w++,n=h.next())n=y(m,e,w,n.value,k),null!==n&&(a&&null!==n.alternate&&m.delete(null===n.key?w:n.key),g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);a&&m.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function J(a,d,f,h){\"object\"===typeof f&&null!==f&&f.type===ya&&null===f.key&&(f=f.props.children);if(\"object\"===typeof f&&null!==f){switch(f.$$typeof){case va:a:{for(var k=\nf.key,l=d;null!==l;){if(l.key===k){k=f.type;if(k===ya){if(7===l.tag){c(a,l.sibling);d=e(l,f.props.children);d.return=a;a=d;break a}}else if(l.elementType===k||\"object\"===typeof k&&null!==k&&k.$$typeof===Ha&&uh(k)===l.type){c(a,l.sibling);d=e(l,f.props);d.ref=sh(a,l,f);d.return=a;a=d;break a}c(a,l);break}else b(a,l);l=l.sibling}f.type===ya?(d=Ah(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=yh(f.type,f.key,f.props,null,a.mode,h),h.ref=sh(a,d,f),h.return=a,a=h)}return g(a);case wa:a:{for(l=f.key;null!==\nd;){if(d.key===l)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=zh(f,a.mode,h);d.return=a;a=d}return g(a);case Ha:return l=f._init,J(a,d,l(f._payload),h)}if(eb(f))return n(a,d,f,h);if(Ka(f))return t(a,d,f,h);th(a,f)}return\"string\"===typeof f&&\"\"!==f||\"number\"===typeof f?(f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):\n(c(a,d),d=xh(f,a.mode,h),d.return=a,a=d),g(a)):c(a,d)}return J}var Bh=vh(!0),Ch=vh(!1),Dh={},Eh=Uf(Dh),Fh=Uf(Dh),Gh=Uf(Dh);function Hh(a){if(a===Dh)throw Error(p(174));return a}function Ih(a,b){G(Gh,b);G(Fh,a);G(Eh,Dh);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:lb(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=lb(b,a)}E(Eh);G(Eh,b)}function Jh(){E(Eh);E(Fh);E(Gh)}\nfunction Kh(a){Hh(Gh.current);var b=Hh(Eh.current);var c=lb(b,a.type);b!==c&&(G(Fh,a),G(Eh,c))}function Lh(a){Fh.current===a&&(E(Eh),E(Fh))}var M=Uf(0);\nfunction Mh(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||\"$?\"===c.data||\"$!\"===c.data))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.flags&128))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}var Nh=[];\nfunction Oh(){for(var a=0;ac?c:4;a(!0);var d=Qh.transition;Qh.transition={};try{a(!1),b()}finally{C=c,Qh.transition=d}}function Fi(){return di().memoizedState}\nfunction Gi(a,b,c){var d=lh(a);c={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(Hi(a))Ii(b,c);else if(c=Yg(a,b,c,d),null!==c){var e=L();mh(c,a,d,e);Ji(c,b,d)}}\nfunction ri(a,b,c){var d=lh(a),e={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(Hi(a))Ii(b,e);else{var f=a.alternate;if(0===a.lanes&&(null===f||0===f.lanes)&&(f=b.lastRenderedReducer,null!==f))try{var g=b.lastRenderedState,h=f(g,c);e.hasEagerState=!0;e.eagerState=h;if(He(h,g)){var k=b.interleaved;null===k?(e.next=e,Xg(b)):(e.next=k.next,k.next=e);b.interleaved=e;return}}catch(l){}finally{}c=Yg(a,b,e,d);null!==c&&(e=L(),mh(c,a,d,e),Ji(c,b,d))}}\nfunction Hi(a){var b=a.alternate;return a===N||null!==b&&b===N}function Ii(a,b){Th=Sh=!0;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}function Ji(a,b,c){if(0!==(c&4194240)){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nvar ai={readContext:Vg,useCallback:Q,useContext:Q,useEffect:Q,useImperativeHandle:Q,useInsertionEffect:Q,useLayoutEffect:Q,useMemo:Q,useReducer:Q,useRef:Q,useState:Q,useDebugValue:Q,useDeferredValue:Q,useTransition:Q,useMutableSource:Q,useSyncExternalStore:Q,useId:Q,unstable_isNewReconciler:!1},Yh={readContext:Vg,useCallback:function(a,b){ci().memoizedState=[a,void 0===b?null:b];return a},useContext:Vg,useEffect:vi,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ti(4194308,\n4,yi.bind(null,b,a),c)},useLayoutEffect:function(a,b){return ti(4194308,4,a,b)},useInsertionEffect:function(a,b){return ti(4,2,a,b)},useMemo:function(a,b){var c=ci();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=ci();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};d.queue=a;a=a.dispatch=Gi.bind(null,N,a);return[d.memoizedState,a]},useRef:function(a){var b=\nci();a={current:a};return b.memoizedState=a},useState:qi,useDebugValue:Ai,useDeferredValue:function(a){return ci().memoizedState=a},useTransition:function(){var a=qi(!1),b=a[0];a=Ei.bind(null,a[1]);ci().memoizedState=a;return[b,a]},useMutableSource:function(){},useSyncExternalStore:function(a,b,c){var d=N,e=ci();if(I){if(void 0===c)throw Error(p(407));c=c()}else{c=b();if(null===R)throw Error(p(349));0!==(Rh&30)||ni(d,b,c)}e.memoizedState=c;var f={value:c,getSnapshot:b};e.queue=f;vi(ki.bind(null,d,\nf,a),[a]);d.flags|=2048;li(9,mi.bind(null,d,f,c,b),void 0,null);return c},useId:function(){var a=ci(),b=R.identifierPrefix;if(I){var c=sg;var d=rg;c=(d&~(1<<32-oc(d)-1)).toString(32)+c;b=\":\"+b+\"R\"+c;c=Uh++;0\\x3c/script>\",a=a.removeChild(a.firstChild)):\n\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[Of]=b;a[Pf]=d;Aj(a,b,!1,!1);b.stateNode=a;a:{g=vb(c,d);switch(c){case \"dialog\":D(\"cancel\",a);D(\"close\",a);e=d;break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;eHj&&(b.flags|=128,d=!0,Ej(f,!1),b.lanes=4194304)}else{if(!d)if(a=Mh(g),null!==a){if(b.flags|=128,d=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Ej(f,!0),null===f.tail&&\"hidden\"===f.tailMode&&!g.alternate&&!I)return S(b),null}else 2*B()-f.renderingStartTime>Hj&&1073741824!==c&&(b.flags|=128,d=!0,Ej(f,!1),b.lanes=4194304);f.isBackwards?(g.sibling=b.child,b.child=g):(c=f.last,null!==c?c.sibling=g:b.child=g,f.last=g)}if(null!==f.tail)return b=f.tail,f.rendering=\nb,f.tail=b.sibling,f.renderingStartTime=B(),b.sibling=null,c=M.current,G(M,d?c&1|2:c&1),b;S(b);return null;case 22:case 23:return Ij(),d=null!==b.memoizedState,null!==a&&null!==a.memoizedState!==d&&(b.flags|=8192),d&&0!==(b.mode&1)?0!==(gj&1073741824)&&(S(b),b.subtreeFlags&6&&(b.flags|=8192)):S(b),null;case 24:return null;case 25:return null}throw Error(p(156,b.tag));}\nfunction Jj(a,b){wg(b);switch(b.tag){case 1:return Zf(b.type)&&$f(),a=b.flags,a&65536?(b.flags=a&-65537|128,b):null;case 3:return Jh(),E(Wf),E(H),Oh(),a=b.flags,0!==(a&65536)&&0===(a&128)?(b.flags=a&-65537|128,b):null;case 5:return Lh(b),null;case 13:E(M);a=b.memoizedState;if(null!==a&&null!==a.dehydrated){if(null===b.alternate)throw Error(p(340));Ig()}a=b.flags;return a&65536?(b.flags=a&-65537|128,b):null;case 19:return E(M),null;case 4:return Jh(),null;case 10:return Rg(b.type._context),null;case 22:case 23:return Ij(),\nnull;case 24:return null;default:return null}}var Kj=!1,U=!1,Lj=\"function\"===typeof WeakSet?WeakSet:Set,V=null;function Mj(a,b){var c=a.ref;if(null!==c)if(\"function\"===typeof c)try{c(null)}catch(d){W(a,b,d)}else c.current=null}function Nj(a,b,c){try{c()}catch(d){W(a,b,d)}}var Oj=!1;\nfunction Pj(a,b){Cf=dd;a=Me();if(Ne(a)){if(\"selectionStart\"in a)var c={start:a.selectionStart,end:a.selectionEnd};else a:{c=(c=a.ownerDocument)&&c.defaultView||window;var d=c.getSelection&&c.getSelection();if(d&&0!==d.rangeCount){c=d.anchorNode;var e=d.anchorOffset,f=d.focusNode;d=d.focusOffset;try{c.nodeType,f.nodeType}catch(F){c=null;break a}var g=0,h=-1,k=-1,l=0,m=0,q=a,r=null;b:for(;;){for(var y;;){q!==c||0!==e&&3!==q.nodeType||(h=g+e);q!==f||0!==d&&3!==q.nodeType||(k=g+d);3===q.nodeType&&(g+=\nq.nodeValue.length);if(null===(y=q.firstChild))break;r=q;q=y}for(;;){if(q===a)break b;r===c&&++l===e&&(h=g);r===f&&++m===d&&(k=g);if(null!==(y=q.nextSibling))break;q=r;r=q.parentNode}q=y}c=-1===h||-1===k?null:{start:h,end:k}}else c=null}c=c||{start:0,end:0}}else c=null;Df={focusedElem:a,selectionRange:c};dd=!1;for(V=b;null!==V;)if(b=V,a=b.child,0!==(b.subtreeFlags&1028)&&null!==a)a.return=b,V=a;else for(;null!==V;){b=V;try{var n=b.alternate;if(0!==(b.flags&1024))switch(b.tag){case 0:case 11:case 15:break;\ncase 1:if(null!==n){var t=n.memoizedProps,J=n.memoizedState,x=b.stateNode,w=x.getSnapshotBeforeUpdate(b.elementType===b.type?t:Lg(b.type,t),J);x.__reactInternalSnapshotBeforeUpdate=w}break;case 3:var u=b.stateNode.containerInfo;1===u.nodeType?u.textContent=\"\":9===u.nodeType&&u.documentElement&&u.removeChild(u.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(p(163));}}catch(F){W(b,b.return,F)}a=b.sibling;if(null!==a){a.return=b.return;V=a;break}V=b.return}n=Oj;Oj=!1;return n}\nfunction Qj(a,b,c){var d=b.updateQueue;d=null!==d?d.lastEffect:null;if(null!==d){var e=d=d.next;do{if((e.tag&a)===a){var f=e.destroy;e.destroy=void 0;void 0!==f&&Nj(b,c,f)}e=e.next}while(e!==d)}}function Rj(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.create;c.destroy=d()}c=c.next}while(c!==b)}}function Sj(a){var b=a.ref;if(null!==b){var c=a.stateNode;switch(a.tag){case 5:a=c;break;default:a=c}\"function\"===typeof b?b(a):b.current=a}}\nfunction Tj(a){var b=a.alternate;null!==b&&(a.alternate=null,Tj(b));a.child=null;a.deletions=null;a.sibling=null;5===a.tag&&(b=a.stateNode,null!==b&&(delete b[Of],delete b[Pf],delete b[of],delete b[Qf],delete b[Rf]));a.stateNode=null;a.return=null;a.dependencies=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.stateNode=null;a.updateQueue=null}function Uj(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction Vj(a){a:for(;;){for(;null===a.sibling;){if(null===a.return||Uj(a.return))return null;a=a.return}a.sibling.return=a.return;for(a=a.sibling;5!==a.tag&&6!==a.tag&&18!==a.tag;){if(a.flags&2)continue a;if(null===a.child||4===a.tag)continue a;else a.child.return=a,a=a.child}if(!(a.flags&2))return a.stateNode}}\nfunction Wj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=Bf));else if(4!==d&&(a=a.child,null!==a))for(Wj(a,b,c),a=a.sibling;null!==a;)Wj(a,b,c),a=a.sibling}\nfunction Xj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(Xj(a,b,c),a=a.sibling;null!==a;)Xj(a,b,c),a=a.sibling}var X=null,Yj=!1;function Zj(a,b,c){for(c=c.child;null!==c;)ak(a,b,c),c=c.sibling}\nfunction ak(a,b,c){if(lc&&\"function\"===typeof lc.onCommitFiberUnmount)try{lc.onCommitFiberUnmount(kc,c)}catch(h){}switch(c.tag){case 5:U||Mj(c,b);case 6:var d=X,e=Yj;X=null;Zj(a,b,c);X=d;Yj=e;null!==X&&(Yj?(a=X,c=c.stateNode,8===a.nodeType?a.parentNode.removeChild(c):a.removeChild(c)):X.removeChild(c.stateNode));break;case 18:null!==X&&(Yj?(a=X,c=c.stateNode,8===a.nodeType?Kf(a.parentNode,c):1===a.nodeType&&Kf(a,c),bd(a)):Kf(X,c.stateNode));break;case 4:d=X;e=Yj;X=c.stateNode.containerInfo;Yj=!0;\nZj(a,b,c);X=d;Yj=e;break;case 0:case 11:case 14:case 15:if(!U&&(d=c.updateQueue,null!==d&&(d=d.lastEffect,null!==d))){e=d=d.next;do{var f=e,g=f.destroy;f=f.tag;void 0!==g&&(0!==(f&2)?Nj(c,b,g):0!==(f&4)&&Nj(c,b,g));e=e.next}while(e!==d)}Zj(a,b,c);break;case 1:if(!U&&(Mj(c,b),d=c.stateNode,\"function\"===typeof d.componentWillUnmount))try{d.props=c.memoizedProps,d.state=c.memoizedState,d.componentWillUnmount()}catch(h){W(c,b,h)}Zj(a,b,c);break;case 21:Zj(a,b,c);break;case 22:c.mode&1?(U=(d=U)||null!==\nc.memoizedState,Zj(a,b,c),U=d):Zj(a,b,c);break;default:Zj(a,b,c)}}function bk(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Lj);b.forEach(function(b){var d=ck.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nfunction dk(a,b){var c=b.deletions;if(null!==c)for(var d=0;de&&(e=g);d&=~f}d=e;d=B()-d;d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*mk(d/1960))-d;if(10a?16:a;if(null===xk)var d=!1;else{a=xk;xk=null;yk=0;if(0!==(K&6))throw Error(p(331));var e=K;K|=4;for(V=a.current;null!==V;){var f=V,g=f.child;if(0!==(V.flags&16)){var h=f.deletions;if(null!==h){for(var k=0;kB()-gk?Lk(a,0):sk|=c);Ek(a,b)}function Zk(a,b){0===b&&(0===(a.mode&1)?b=1:(b=sc,sc<<=1,0===(sc&130023424)&&(sc=4194304)));var c=L();a=Zg(a,b);null!==a&&(Ac(a,b,c),Ek(a,c))}function vj(a){var b=a.memoizedState,c=0;null!==b&&(c=b.retryLane);Zk(a,c)}\nfunction ck(a,b){var c=0;switch(a.tag){case 13:var d=a.stateNode;var e=a.memoizedState;null!==e&&(c=e.retryLane);break;case 19:d=a.stateNode;break;default:throw Error(p(314));}null!==d&&d.delete(b);Zk(a,c)}var Wk;\nWk=function(a,b,c){if(null!==a)if(a.memoizedProps!==b.pendingProps||Wf.current)Ug=!0;else{if(0===(a.lanes&c)&&0===(b.flags&128))return Ug=!1,zj(a,b,c);Ug=0!==(a.flags&131072)?!0:!1}else Ug=!1,I&&0!==(b.flags&1048576)&&ug(b,ng,b.index);b.lanes=0;switch(b.tag){case 2:var d=b.type;jj(a,b);a=b.pendingProps;var e=Yf(b,H.current);Tg(b,c);e=Xh(null,b,d,a,e,c);var f=bi();b.flags|=1;\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof?(b.tag=1,b.memoizedState=null,b.updateQueue=\nnull,Zf(d)?(f=!0,cg(b)):f=!1,b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null,ah(b),e.updater=nh,b.stateNode=e,e._reactInternals=b,rh(b,d,a,c),b=kj(null,b,d,!0,f,c)):(b.tag=0,I&&f&&vg(b),Yi(null,b,e,c),b=b.child);return b;case 16:d=b.elementType;a:{jj(a,b);a=b.pendingProps;e=d._init;d=e(d._payload);b.type=d;e=b.tag=$k(d);a=Lg(d,a);switch(e){case 0:b=dj(null,b,d,a,c);break a;case 1:b=ij(null,b,d,a,c);break a;case 11:b=Zi(null,b,d,a,c);break a;case 14:b=aj(null,b,d,Lg(d.type,a),c);break a}throw Error(p(306,\nd,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),dj(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),ij(a,b,d,e,c);case 3:a:{lj(b);if(null===a)throw Error(p(387));d=b.pendingProps;f=b.memoizedState;e=f.element;bh(a,b);gh(b,d,null,c);var g=b.memoizedState;d=g.element;if(f.isDehydrated)if(f={element:d,isDehydrated:!1,cache:g.cache,pendingSuspenseBoundaries:g.pendingSuspenseBoundaries,transitions:g.transitions},b.updateQueue.baseState=\nf,b.memoizedState=f,b.flags&256){e=Ki(Error(p(423)),b);b=mj(a,b,d,c,e);break a}else if(d!==e){e=Ki(Error(p(424)),b);b=mj(a,b,d,c,e);break a}else for(yg=Lf(b.stateNode.containerInfo.firstChild),xg=b,I=!0,zg=null,c=Ch(b,null,d,c),b.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling;else{Ig();if(d===e){b=$i(a,b,c);break a}Yi(a,b,d,c)}b=b.child}return b;case 5:return Kh(b),null===a&&Eg(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,Ef(d,e)?g=null:null!==f&&Ef(d,f)&&(b.flags|=32),\nhj(a,b),Yi(a,b,g,c),b.child;case 6:return null===a&&Eg(b),null;case 13:return pj(a,b,c);case 4:return Ih(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Bh(b,null,d,c):Yi(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),Zi(a,b,d,e,c);case 7:return Yi(a,b,b.pendingProps,c),b.child;case 8:return Yi(a,b,b.pendingProps.children,c),b.child;case 12:return Yi(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;f=b.memoizedProps;\ng=e.value;G(Mg,d._currentValue);d._currentValue=g;if(null!==f)if(He(f.value,g)){if(f.children===e.children&&!Wf.current){b=$i(a,b,c);break a}}else for(f=b.child,null!==f&&(f.return=b);null!==f;){var h=f.dependencies;if(null!==h){g=f.child;for(var k=h.firstContext;null!==k;){if(k.context===d){if(1===f.tag){k=ch(-1,c&-c);k.tag=2;var l=f.updateQueue;if(null!==l){l=l.shared;var m=l.pending;null===m?k.next=k:(k.next=m.next,m.next=k);l.pending=k}}f.lanes|=c;k=f.alternate;null!==k&&(k.lanes|=c);Sg(f.return,\nc,b);h.lanes|=c;break}k=k.next}}else if(10===f.tag)g=f.type===b.type?null:f.child;else if(18===f.tag){g=f.return;if(null===g)throw Error(p(341));g.lanes|=c;h=g.alternate;null!==h&&(h.lanes|=c);Sg(g,c,b);g=f.sibling}else g=f.child;if(null!==g)g.return=f;else for(g=f;null!==g;){if(g===b){g=null;break}f=g.sibling;if(null!==f){f.return=g.return;g=f;break}g=g.return}f=g}Yi(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,d=b.pendingProps.children,Tg(b,c),e=Vg(e),d=d(e),b.flags|=1,Yi(a,b,d,c),\nb.child;case 14:return d=b.type,e=Lg(d,b.pendingProps),e=Lg(d.type,e),aj(a,b,d,e,c);case 15:return cj(a,b,b.type,b.pendingProps,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Lg(d,e),jj(a,b),b.tag=1,Zf(d)?(a=!0,cg(b)):a=!1,Tg(b,c),ph(b,d,e),rh(b,d,e,c),kj(null,b,d,!0,a,c);case 19:return yj(a,b,c);case 22:return ej(a,b,c)}throw Error(p(156,b.tag));};function Gk(a,b){return ac(a,b)}\nfunction al(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.subtreeFlags=this.flags=0;this.deletions=null;this.childLanes=this.lanes=0;this.alternate=null}function Bg(a,b,c,d){return new al(a,b,c,d)}function bj(a){a=a.prototype;return!(!a||!a.isReactComponent)}\nfunction $k(a){if(\"function\"===typeof a)return bj(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===Da)return 11;if(a===Ga)return 14}return 2}\nfunction wh(a,b){var c=a.alternate;null===c?(c=Bg(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.type=a.type,c.flags=0,c.subtreeFlags=0,c.deletions=null);c.flags=a.flags&14680064;c.childLanes=a.childLanes;c.lanes=a.lanes;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{lanes:b.lanes,firstContext:b.firstContext};\nc.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction yh(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)bj(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ya:return Ah(c.children,e,f,b);case za:g=8;e|=8;break;case Aa:return a=Bg(12,c,b,e|2),a.elementType=Aa,a.lanes=f,a;case Ea:return a=Bg(13,c,b,e),a.elementType=Ea,a.lanes=f,a;case Fa:return a=Bg(19,c,b,e),a.elementType=Fa,a.lanes=f,a;case Ia:return qj(c,e,f,b);default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case Ba:g=10;break a;case Ca:g=9;break a;case Da:g=11;\nbreak a;case Ga:g=14;break a;case Ha:g=16;d=null;break a}throw Error(p(130,null==a?a:typeof a,\"\"));}b=Bg(g,c,b,e);b.elementType=a;b.type=d;b.lanes=f;return b}function Ah(a,b,c,d){a=Bg(7,a,d,b);a.lanes=c;return a}function qj(a,b,c,d){a=Bg(22,a,d,b);a.elementType=Ia;a.lanes=c;a.stateNode={isHidden:!1};return a}function xh(a,b,c){a=Bg(6,a,null,b);a.lanes=c;return a}\nfunction zh(a,b,c){b=Bg(4,null!==a.children?a.children:[],a.key,b);b.lanes=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction bl(a,b,c,d,e){this.tag=b;this.containerInfo=a;this.finishedWork=this.pingCache=this.current=this.pendingChildren=null;this.timeoutHandle=-1;this.callbackNode=this.pendingContext=this.context=null;this.callbackPriority=0;this.eventTimes=zc(0);this.expirationTimes=zc(-1);this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0;this.entanglements=zc(0);this.identifierPrefix=d;this.onRecoverableError=e;this.mutableSourceEagerHydrationData=\nnull}function cl(a,b,c,d,e,f,g,h,k){a=new bl(a,b,c,h,k);1===b?(b=1,!0===f&&(b|=8)):b=0;f=Bg(3,null,null,b);a.current=f;f.stateNode=a;f.memoizedState={element:d,isDehydrated:c,cache:null,transitions:null,pendingSuspenseBoundaries:null};ah(f);return a}function dl(a,b,c){var d=3',\n '>': '>',\n ''': \"'\",\n ''': \"'\",\n '"': '\"',\n '"': '\"',\n ' ': ' ',\n ' ': ' ',\n '©': '©',\n '©': '©',\n '®': '®',\n '®': '®',\n '…': '…',\n '…': '…',\n '/': '/',\n '/': '/'\n};\n\nvar unescapeHtmlEntity = function unescapeHtmlEntity(m) {\n return htmlEntities[m];\n};\n\nexport var unescape = function unescape(text) {\n return text.replace(matchHtmlEntity, unescapeHtmlEntity);\n};","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport { createContext } from 'react';\nimport { unescape } from './unescape';\nvar defaultOptions = {\n bindI18n: 'languageChanged',\n bindI18nStore: '',\n transEmptyNodeValue: '',\n transSupportBasicHtmlNodes: true,\n transWrapTextNodes: '',\n transKeepBasicHtmlNodesFor: ['br', 'strong', 'i', 'p'],\n useSuspense: true,\n unescape: unescape\n};\nvar i18nInstance;\nexport var I18nContext = createContext();\nexport function setDefaults() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n defaultOptions = _objectSpread(_objectSpread({}, defaultOptions), options);\n}\nexport function getDefaults() {\n return defaultOptions;\n}\nexport var ReportNamespaces = function () {\n function ReportNamespaces() {\n _classCallCheck(this, ReportNamespaces);\n\n this.usedNamespaces = {};\n }\n\n _createClass(ReportNamespaces, [{\n key: \"addUsedNamespaces\",\n value: function addUsedNamespaces(namespaces) {\n var _this = this;\n\n namespaces.forEach(function (ns) {\n if (!_this.usedNamespaces[ns]) _this.usedNamespaces[ns] = true;\n });\n }\n }, {\n key: \"getUsedNamespaces\",\n value: function getUsedNamespaces() {\n return Object.keys(this.usedNamespaces);\n }\n }]);\n\n return ReportNamespaces;\n}();\nexport function setI18n(instance) {\n i18nInstance = instance;\n}\nexport function getI18n() {\n return i18nInstance;\n}\nexport var initReactI18next = {\n type: '3rdParty',\n init: function init(instance) {\n setDefaults(instance.options.react);\n setI18n(instance);\n }\n};\nexport function composeInitialProps(ForComponent) {\n return function (ctx) {\n return new Promise(function (resolve) {\n var i18nInitialProps = getInitialProps();\n\n if (ForComponent.getInitialProps) {\n ForComponent.getInitialProps(ctx).then(function (componentsInitialProps) {\n resolve(_objectSpread(_objectSpread({}, componentsInitialProps), i18nInitialProps));\n });\n } else {\n resolve(i18nInitialProps);\n }\n });\n };\n}\nexport function getInitialProps() {\n var i18n = getI18n();\n var namespaces = i18n.reportNamespaces ? i18n.reportNamespaces.getUsedNamespaces() : [];\n var ret = {};\n var initialI18nStore = {};\n i18n.languages.forEach(function (l) {\n initialI18nStore[l] = {};\n namespaces.forEach(function (ns) {\n initialI18nStore[l][ns] = i18n.getResourceBundle(l, ns) || {};\n });\n });\n ret.initialI18nStore = initialI18nStore;\n ret.initialLanguage = i18n.language;\n return ret;\n}","// THIS FILE IS AUTO GENERATED\nimport { GenIcon } from '../lib';\nexport function HiAcademicCap (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.394 2.08a1 1 0 00-.788 0l-7 3a1 1 0 000 1.84L5.25 8.051a.999.999 0 01.356-.257l4-1.714a1 1 0 11.788 1.838L7.667 9.088l1.94.831a1 1 0 00.787 0l7-3a1 1 0 000-1.838l-7-3zM3.31 9.397L5 10.12v4.102a8.969 8.969 0 00-1.05-.174 1 1 0 01-.89-.89 11.115 11.115 0 01.25-3.762zM9.3 16.573A9.026 9.026 0 007 14.935v-3.957l1.818.78a3 3 0 002.364 0l5.508-2.361a11.026 11.026 0 01.25 3.762 1 1 0 01-.89.89 8.968 8.968 0 00-5.35 2.524 1 1 0 01-1.4 0zM6 18a1 1 0 001-1v-2.065a8.935 8.935 0 00-2-.712V17a1 1 0 001 1z\"}}]})(props);\n};\nexport function HiAdjustments (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 4a1 1 0 00-2 0v7.268a2 2 0 000 3.464V16a1 1 0 102 0v-1.268a2 2 0 000-3.464V4zM11 4a1 1 0 10-2 0v1.268a2 2 0 000 3.464V16a1 1 0 102 0V8.732a2 2 0 000-3.464V4zM16 3a1 1 0 011 1v7.268a2 2 0 010 3.464V16a1 1 0 11-2 0v-1.268a2 2 0 010-3.464V4a1 1 0 011-1z\"}}]})(props);\n};\nexport function HiAnnotation (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M18 13V5a2 2 0 00-2-2H4a2 2 0 00-2 2v8a2 2 0 002 2h3l3 3 3-3h3a2 2 0 002-2zM5 7a1 1 0 011-1h8a1 1 0 110 2H6a1 1 0 01-1-1zm1 3a1 1 0 100 2h3a1 1 0 100-2H6z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiArchive (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 3a2 2 0 100 4h12a2 2 0 100-4H4z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3 8h14v7a2 2 0 01-2 2H5a2 2 0 01-2-2V8zm5 3a1 1 0 011-1h2a1 1 0 110 2H9a1 1 0 01-1-1z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiArrowCircleDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10 18a8 8 0 100-16 8 8 0 000 16zm1-11a1 1 0 10-2 0v3.586L7.707 9.293a1 1 0 00-1.414 1.414l3 3a1 1 0 001.414 0l3-3a1 1 0 00-1.414-1.414L11 10.586V7z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiArrowCircleLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10 18a8 8 0 100-16 8 8 0 000 16zm.707-10.293a1 1 0 00-1.414-1.414l-3 3a1 1 0 000 1.414l3 3a1 1 0 001.414-1.414L9.414 11H13a1 1 0 100-2H9.414l1.293-1.293z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiArrowCircleRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-8.707l-3-3a1 1 0 00-1.414 1.414L10.586 9H7a1 1 0 100 2h3.586l-1.293 1.293a1 1 0 101.414 1.414l3-3a1 1 0 000-1.414z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiArrowCircleUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-8.707l-3-3a1 1 0 00-1.414 0l-3 3a1 1 0 001.414 1.414L9 9.414V13a1 1 0 102 0V9.414l1.293 1.293a1 1 0 001.414-1.414z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiArrowDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M16.707 10.293a1 1 0 010 1.414l-6 6a1 1 0 01-1.414 0l-6-6a1 1 0 111.414-1.414L9 14.586V3a1 1 0 012 0v11.586l4.293-4.293a1 1 0 011.414 0z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiArrowLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M9.707 16.707a1 1 0 01-1.414 0l-6-6a1 1 0 010-1.414l6-6a1 1 0 011.414 1.414L5.414 9H17a1 1 0 110 2H5.414l4.293 4.293a1 1 0 010 1.414z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiArrowNarrowDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M14.707 12.293a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 111.414-1.414L9 14.586V3a1 1 0 012 0v11.586l2.293-2.293a1 1 0 011.414 0z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiArrowNarrowLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7.707 14.707a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414l4-4a1 1 0 011.414 1.414L5.414 9H17a1 1 0 110 2H5.414l2.293 2.293a1 1 0 010 1.414z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiArrowNarrowRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M12.293 5.293a1 1 0 011.414 0l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414-1.414L14.586 11H3a1 1 0 110-2h11.586l-2.293-2.293a1 1 0 010-1.414z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiArrowNarrowUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5.293 7.707a1 1 0 010-1.414l4-4a1 1 0 011.414 0l4 4a1 1 0 01-1.414 1.414L11 5.414V17a1 1 0 11-2 0V5.414L6.707 7.707a1 1 0 01-1.414 0z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiArrowRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10.293 3.293a1 1 0 011.414 0l6 6a1 1 0 010 1.414l-6 6a1 1 0 01-1.414-1.414L14.586 11H3a1 1 0 110-2h11.586l-4.293-4.293a1 1 0 010-1.414z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiArrowSmDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M14.707 10.293a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 111.414-1.414L9 12.586V5a1 1 0 012 0v7.586l2.293-2.293a1 1 0 011.414 0z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiArrowSmLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M9.707 14.707a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414l4-4a1 1 0 011.414 1.414L7.414 9H15a1 1 0 110 2H7.414l2.293 2.293a1 1 0 010 1.414z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiArrowSmRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10.293 5.293a1 1 0 011.414 0l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414-1.414L12.586 11H5a1 1 0 110-2h7.586l-2.293-2.293a1 1 0 010-1.414z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiArrowSmUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5.293 9.707a1 1 0 010-1.414l4-4a1 1 0 011.414 0l4 4a1 1 0 01-1.414 1.414L11 7.414V15a1 1 0 11-2 0V7.414L6.707 9.707a1 1 0 01-1.414 0z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiArrowUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3.293 9.707a1 1 0 010-1.414l6-6a1 1 0 011.414 0l6 6a1 1 0 01-1.414 1.414L11 5.414V17a1 1 0 11-2 0V5.414L4.707 9.707a1 1 0 01-1.414 0z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiArrowsExpand (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 19 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M3 8V4m0 0h4M3 4l4 4m8 0V4m0 0h-4m4 0l-4 4m-8 4v4m0 0h4m-4 0l4-4m8 4l-4-4m4 4v-4m0 4h-4\"}}]})(props);\n};\nexport function HiAtSymbol (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M14.243 5.757a6 6 0 10-.986 9.284 1 1 0 111.087 1.678A8 8 0 1118 10a3 3 0 01-4.8 2.401A4 4 0 1114 10a1 1 0 102 0c0-1.537-.586-3.07-1.757-4.243zM12 10a2 2 0 10-4 0 2 2 0 004 0z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiBackspace (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6.707 4.879A3 3 0 018.828 4H15a3 3 0 013 3v6a3 3 0 01-3 3H8.828a3 3 0 01-2.12-.879l-4.415-4.414a1 1 0 010-1.414l4.414-4.414zm4 2.414a1 1 0 00-1.414 1.414L10.586 10l-1.293 1.293a1 1 0 101.414 1.414L12 11.414l1.293 1.293a1 1 0 001.414-1.414L13.414 10l1.293-1.293a1 1 0 00-1.414-1.414L12 8.586l-1.293-1.293z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiBadgeCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6.267 3.455a3.066 3.066 0 001.745-.723 3.066 3.066 0 013.976 0 3.066 3.066 0 001.745.723 3.066 3.066 0 012.812 2.812c.051.643.304 1.254.723 1.745a3.066 3.066 0 010 3.976 3.066 3.066 0 00-.723 1.745 3.066 3.066 0 01-2.812 2.812 3.066 3.066 0 00-1.745.723 3.066 3.066 0 01-3.976 0 3.066 3.066 0 00-1.745-.723 3.066 3.066 0 01-2.812-2.812 3.066 3.066 0 00-.723-1.745 3.066 3.066 0 010-3.976 3.066 3.066 0 00.723-1.745 3.066 3.066 0 012.812-2.812zm7.44 5.252a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiBan (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M13.477 14.89A6 6 0 015.11 6.524l8.367 8.368zm1.414-1.414L6.524 5.11a6 6 0 018.367 8.367zM18 10a8 8 0 11-16 0 8 8 0 0116 0z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiBeaker (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7 2a1 1 0 00-.707 1.707L7 4.414v3.758a1 1 0 01-.293.707l-4 4C.817 14.769 2.156 18 4.828 18h10.343c2.673 0 4.012-3.231 2.122-5.121l-4-4A1 1 0 0113 8.172V4.414l.707-.707A1 1 0 0013 2H7zm2 6.172V4h2v4.172a3 3 0 00.879 2.12l1.027 1.028a4 4 0 00-2.171.102l-.47.156a4 4 0 01-2.53 0l-.563-.187a1.993 1.993 0 00-.114-.035l1.063-1.063A3 3 0 009 8.172z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiBell (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 2a6 6 0 00-6 6v3.586l-.707.707A1 1 0 004 14h12a1 1 0 00.707-1.707L16 11.586V8a6 6 0 00-6-6zM10 18a3 3 0 01-3-3h6a3 3 0 01-3 3z\"}}]})(props);\n};\nexport function HiBookOpen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 4.804A7.968 7.968 0 005.5 4c-1.255 0-2.443.29-3.5.804v10A7.969 7.969 0 015.5 14c1.669 0 3.218.51 4.5 1.385A7.962 7.962 0 0114.5 14c1.255 0 2.443.29 3.5.804v-10A7.968 7.968 0 0014.5 4c-1.255 0-2.443.29-3.5.804V12a1 1 0 11-2 0V4.804z\"}}]})(props);\n};\nexport function HiBookmarkAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3 5a2 2 0 012-2h10a2 2 0 012 2v10a2 2 0 01-2 2H5a2 2 0 01-2-2V5zm11 1H6v8l4-2 4 2V6z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiBookmark (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 4a2 2 0 012-2h6a2 2 0 012 2v14l-5-2.5L5 18V4z\"}}]})(props);\n};\nexport function HiBriefcase (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6 6V5a3 3 0 013-3h2a3 3 0 013 3v1h2a2 2 0 012 2v3.57A22.952 22.952 0 0110 13a22.95 22.95 0 01-8-1.43V8a2 2 0 012-2h2zm2-1a1 1 0 011-1h2a1 1 0 011 1v1H8V5zm1 5a1 1 0 011-1h.01a1 1 0 110 2H10a1 1 0 01-1-1z\",\"clipRule\":\"evenodd\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 13.692V16a2 2 0 002 2h12a2 2 0 002-2v-2.308A24.974 24.974 0 0110 15c-2.796 0-5.487-.46-8-1.308z\"}}]})(props);\n};\nexport function HiCake (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6 3a1 1 0 011-1h.01a1 1 0 010 2H7a1 1 0 01-1-1zm2 3a1 1 0 00-2 0v1a2 2 0 00-2 2v1a2 2 0 00-2 2v.683a3.7 3.7 0 011.055.485 1.704 1.704 0 001.89 0 3.704 3.704 0 014.11 0 1.704 1.704 0 001.89 0 3.704 3.704 0 014.11 0 1.704 1.704 0 001.89 0A3.7 3.7 0 0118 12.683V12a2 2 0 00-2-2V9a2 2 0 00-2-2V6a1 1 0 10-2 0v1h-1V6a1 1 0 10-2 0v1H8V6zm10 8.868a3.704 3.704 0 01-4.055-.036 1.704 1.704 0 00-1.89 0 3.704 3.704 0 01-4.11 0 1.704 1.704 0 00-1.89 0A3.704 3.704 0 012 14.868V17a1 1 0 001 1h14a1 1 0 001-1v-2.132zM9 3a1 1 0 011-1h.01a1 1 0 110 2H10a1 1 0 01-1-1zm3 0a1 1 0 011-1h.01a1 1 0 110 2H13a1 1 0 01-1-1z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiCalculator (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6 2a2 2 0 00-2 2v12a2 2 0 002 2h8a2 2 0 002-2V4a2 2 0 00-2-2H6zm1 2a1 1 0 000 2h6a1 1 0 100-2H7zm6 7a1 1 0 011 1v3a1 1 0 11-2 0v-3a1 1 0 011-1zm-3 3a1 1 0 100 2h.01a1 1 0 100-2H10zm-4 1a1 1 0 011-1h.01a1 1 0 110 2H7a1 1 0 01-1-1zm1-4a1 1 0 100 2h.01a1 1 0 100-2H7zm2 1a1 1 0 011-1h.01a1 1 0 110 2H10a1 1 0 01-1-1zm4-4a1 1 0 100 2h.01a1 1 0 100-2H13zM9 9a1 1 0 011-1h.01a1 1 0 110 2H10a1 1 0 01-1-1zM7 8a1 1 0 000 2h.01a1 1 0 000-2H7z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiCalendar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6 2a1 1 0 00-1 1v1H4a2 2 0 00-2 2v10a2 2 0 002 2h12a2 2 0 002-2V6a2 2 0 00-2-2h-1V3a1 1 0 10-2 0v1H7V3a1 1 0 00-1-1zm0 5a1 1 0 000 2h8a1 1 0 100-2H6z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiCamera (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4 5a2 2 0 00-2 2v8a2 2 0 002 2h12a2 2 0 002-2V7a2 2 0 00-2-2h-1.586a1 1 0 01-.707-.293l-1.121-1.121A2 2 0 0011.172 3H8.828a2 2 0 00-1.414.586L6.293 4.707A1 1 0 015.586 5H4zm6 9a3 3 0 100-6 3 3 0 000 6z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiCash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4 4a2 2 0 00-2 2v4a2 2 0 002 2V6h10a2 2 0 00-2-2H4zm2 6a2 2 0 012-2h8a2 2 0 012 2v4a2 2 0 01-2 2H8a2 2 0 01-2-2v-4zm6 4a2 2 0 100-4 2 2 0 000 4z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiChartBar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 11a1 1 0 011-1h2a1 1 0 011 1v5a1 1 0 01-1 1H3a1 1 0 01-1-1v-5zM8 7a1 1 0 011-1h2a1 1 0 011 1v9a1 1 0 01-1 1H9a1 1 0 01-1-1V7zM14 4a1 1 0 011-1h2a1 1 0 011 1v12a1 1 0 01-1 1h-2a1 1 0 01-1-1V4z\"}}]})(props);\n};\nexport function HiChartPie (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 10a8 8 0 018-8v8h8a8 8 0 11-16 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 2.252A8.014 8.014 0 0117.748 8H12V2.252z\"}}]})(props);\n};\nexport function HiChartSquareBar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5 3a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2V5a2 2 0 00-2-2H5zm9 4a1 1 0 10-2 0v6a1 1 0 102 0V7zm-3 2a1 1 0 10-2 0v4a1 1 0 102 0V9zm-3 3a1 1 0 10-2 0v1a1 1 0 102 0v-1z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiChatAlt2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 5a2 2 0 012-2h7a2 2 0 012 2v4a2 2 0 01-2 2H9l-3 3v-3H4a2 2 0 01-2-2V5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 7v2a4 4 0 01-4 4H9.828l-1.766 1.767c.28.149.599.233.938.233h2l3 3v-3h2a2 2 0 002-2V9a2 2 0 00-2-2h-1z\"}}]})(props);\n};\nexport function HiChatAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M18 5v8a2 2 0 01-2 2h-5l-5 4v-4H4a2 2 0 01-2-2V5a2 2 0 012-2h12a2 2 0 012 2zM7 8H5v2h2V8zm2 0h2v2H9V8zm6 0h-2v2h2V8z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiChat (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M18 10c0 3.866-3.582 7-8 7a8.841 8.841 0 01-4.083-.98L2 17l1.338-3.123C2.493 12.767 2 11.434 2 10c0-3.866 3.582-7 8-7s8 3.134 8 7zM7 9H5v2h2V9zm8 0h-2v2h2V9zM9 9h2v2H9V9z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiCheckCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiChevronDoubleDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M15.707 4.293a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-5-5a1 1 0 011.414-1.414L10 8.586l4.293-4.293a1 1 0 011.414 0zm0 6a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-5-5a1 1 0 111.414-1.414L10 14.586l4.293-4.293a1 1 0 011.414 0z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiChevronDoubleLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M15.707 15.707a1 1 0 01-1.414 0l-5-5a1 1 0 010-1.414l5-5a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 010 1.414zm-6 0a1 1 0 01-1.414 0l-5-5a1 1 0 010-1.414l5-5a1 1 0 011.414 1.414L5.414 10l4.293 4.293a1 1 0 010 1.414z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiChevronDoubleRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10.293 15.707a1 1 0 010-1.414L14.586 10l-4.293-4.293a1 1 0 111.414-1.414l5 5a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0z\",\"clipRule\":\"evenodd\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4.293 15.707a1 1 0 010-1.414L8.586 10 4.293 5.707a1 1 0 011.414-1.414l5 5a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiChevronDoubleUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4.293 15.707a1 1 0 010-1.414l5-5a1 1 0 011.414 0l5 5a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414 0zm0-6a1 1 0 010-1.414l5-5a1 1 0 011.414 0l5 5a1 1 0 01-1.414 1.414L10 5.414 5.707 9.707a1 1 0 01-1.414 0z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiChevronDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiChevronLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M12.707 5.293a1 1 0 010 1.414L9.414 10l3.293 3.293a1 1 0 01-1.414 1.414l-4-4a1 1 0 010-1.414l4-4a1 1 0 011.414 0z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiChevronRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiChevronUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M14.707 12.707a1 1 0 01-1.414 0L10 9.414l-3.293 3.293a1 1 0 01-1.414-1.414l4-4a1 1 0 011.414 0l4 4a1 1 0 010 1.414z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiChip (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 7H7v6h6V7z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7 2a1 1 0 012 0v1h2V2a1 1 0 112 0v1h2a2 2 0 012 2v2h1a1 1 0 110 2h-1v2h1a1 1 0 110 2h-1v2a2 2 0 01-2 2h-2v1a1 1 0 11-2 0v-1H9v1a1 1 0 11-2 0v-1H5a2 2 0 01-2-2v-2H2a1 1 0 110-2h1V9H2a1 1 0 010-2h1V5a2 2 0 012-2h2V2zM5 5h10v10H5V5z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiClipboardCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 2a1 1 0 000 2h2a1 1 0 100-2H9z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4 5a2 2 0 012-2 3 3 0 003 3h2a3 3 0 003-3 2 2 0 012 2v11a2 2 0 01-2 2H6a2 2 0 01-2-2V5zm9.707 5.707a1 1 0 00-1.414-1.414L9 12.586l-1.293-1.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiClipboardCopy (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 2a1 1 0 000 2h2a1 1 0 100-2H8z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 5a2 2 0 012-2 3 3 0 003 3h2a3 3 0 003-3 2 2 0 012 2v6h-4.586l1.293-1.293a1 1 0 00-1.414-1.414l-3 3a1 1 0 000 1.414l3 3a1 1 0 001.414-1.414L10.414 13H15v3a2 2 0 01-2 2H5a2 2 0 01-2-2V5zM15 11h2a1 1 0 110 2h-2v-2z\"}}]})(props);\n};\nexport function HiClipboardList (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 2a1 1 0 000 2h2a1 1 0 100-2H9z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4 5a2 2 0 012-2 3 3 0 003 3h2a3 3 0 003-3 2 2 0 012 2v11a2 2 0 01-2 2H6a2 2 0 01-2-2V5zm3 4a1 1 0 000 2h.01a1 1 0 100-2H7zm3 0a1 1 0 000 2h3a1 1 0 100-2h-3zm-3 4a1 1 0 100 2h.01a1 1 0 100-2H7zm3 0a1 1 0 100 2h3a1 1 0 100-2h-3z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiClipboard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 3a1 1 0 011-1h2a1 1 0 110 2H9a1 1 0 01-1-1z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 3a2 2 0 00-2 2v11a2 2 0 002 2h8a2 2 0 002-2V5a2 2 0 00-2-2 3 3 0 01-3 3H9a3 3 0 01-3-3z\"}}]})(props);\n};\nexport function HiClock (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10 18a8 8 0 100-16 8 8 0 000 16zm1-12a1 1 0 10-2 0v4a1 1 0 00.293.707l2.828 2.829a1 1 0 101.415-1.415L11 9.586V6z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiCloudDownload (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 9.5A3.5 3.5 0 005.5 13H9v2.586l-1.293-1.293a1 1 0 00-1.414 1.414l3 3a1 1 0 001.414 0l3-3a1 1 0 00-1.414-1.414L11 15.586V13h2.5a4.5 4.5 0 10-.616-8.958 4.002 4.002 0 10-7.753 1.977A3.5 3.5 0 002 9.5zm9 3.5H9V8a1 1 0 012 0v5z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiCloudUpload (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 13a3.5 3.5 0 01-.369-6.98 4 4 0 117.753-1.977A4.5 4.5 0 1113.5 13H11V9.413l1.293 1.293a1 1 0 001.414-1.414l-3-3a1 1 0 00-1.414 0l-3 3a1 1 0 001.414 1.414L9 9.414V13H5.5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 13h2v5a1 1 0 11-2 0v-5z\"}}]})(props);\n};\nexport function HiCloud (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5.5 16a3.5 3.5 0 01-.369-6.98 4 4 0 117.753-1.977A4.5 4.5 0 1113.5 16h-8z\"}}]})(props);\n};\nexport function HiCode (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M12.316 3.051a1 1 0 01.633 1.265l-4 12a1 1 0 11-1.898-.632l4-12a1 1 0 011.265-.633zM5.707 6.293a1 1 0 010 1.414L3.414 10l2.293 2.293a1 1 0 11-1.414 1.414l-3-3a1 1 0 010-1.414l3-3a1 1 0 011.414 0zm8.586 0a1 1 0 011.414 0l3 3a1 1 0 010 1.414l-3 3a1 1 0 11-1.414-1.414L16.586 10l-2.293-2.293a1 1 0 010-1.414z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiCog (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M11.49 3.17c-.38-1.56-2.6-1.56-2.98 0a1.532 1.532 0 01-2.286.948c-1.372-.836-2.942.734-2.106 2.106.54.886.061 2.042-.947 2.287-1.561.379-1.561 2.6 0 2.978a1.532 1.532 0 01.947 2.287c-.836 1.372.734 2.942 2.106 2.106a1.532 1.532 0 012.287.947c.379 1.561 2.6 1.561 2.978 0a1.533 1.533 0 012.287-.947c1.372.836 2.942-.734 2.106-2.106a1.533 1.533 0 01.947-2.287c1.561-.379 1.561-2.6 0-2.978a1.532 1.532 0 01-.947-2.287c.836-1.372-.734-2.942-2.106-2.106a1.532 1.532 0 01-2.287-.947zM10 13a3 3 0 100-6 3 3 0 000 6z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiCollection (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 3a1 1 0 000 2h6a1 1 0 100-2H7zM4 7a1 1 0 011-1h10a1 1 0 110 2H5a1 1 0 01-1-1zM2 11a2 2 0 012-2h12a2 2 0 012 2v4a2 2 0 01-2 2H4a2 2 0 01-2-2v-4z\"}}]})(props);\n};\nexport function HiColorSwatch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4 2a2 2 0 00-2 2v11a3 3 0 106 0V4a2 2 0 00-2-2H4zm1 14a1 1 0 100-2 1 1 0 000 2zm5-1.757l4.9-4.9a2 2 0 000-2.828L13.485 5.1a2 2 0 00-2.828 0L10 5.757v8.486zM16 18H9.071l6-6H16a2 2 0 012 2v2a2 2 0 01-2 2z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiCreditCard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 4a2 2 0 00-2 2v1h16V6a2 2 0 00-2-2H4z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M18 9H2v5a2 2 0 002 2h12a2 2 0 002-2V9zM4 13a1 1 0 011-1h1a1 1 0 110 2H5a1 1 0 01-1-1zm5-1a1 1 0 100 2h1a1 1 0 100-2H9z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiCubeTransparent (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M9.504 1.132a1 1 0 01.992 0l1.75 1a1 1 0 11-.992 1.736L10 3.152l-1.254.716a1 1 0 11-.992-1.736l1.75-1zM5.618 4.504a1 1 0 01-.372 1.364L5.016 6l.23.132a1 1 0 11-.992 1.736L4 7.723V8a1 1 0 01-2 0V6a.996.996 0 01.52-.878l1.734-.99a1 1 0 011.364.372zm8.764 0a1 1 0 011.364-.372l1.733.99A1.002 1.002 0 0118 6v2a1 1 0 11-2 0v-.277l-.254.145a1 1 0 11-.992-1.736l.23-.132-.23-.132a1 1 0 01-.372-1.364zm-7 4a1 1 0 011.364-.372L10 8.848l1.254-.716a1 1 0 11.992 1.736L11 10.58V12a1 1 0 11-2 0v-1.42l-1.246-.712a1 1 0 01-.372-1.364zM3 11a1 1 0 011 1v1.42l1.246.712a1 1 0 11-.992 1.736l-1.75-1A1 1 0 012 14v-2a1 1 0 011-1zm14 0a1 1 0 011 1v2a1 1 0 01-.504.868l-1.75 1a1 1 0 11-.992-1.736L16 13.42V12a1 1 0 011-1zm-9.618 5.504a1 1 0 011.364-.372l.254.145V16a1 1 0 112 0v.277l.254-.145a1 1 0 11.992 1.736l-1.735.992a.995.995 0 01-1.022 0l-1.735-.992a1 1 0 01-.372-1.364z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiCube (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 17a1 1 0 001.447.894l4-2A1 1 0 0017 15V9.236a1 1 0 00-1.447-.894l-4 2a1 1 0 00-.553.894V17zM15.211 6.276a1 1 0 000-1.788l-4.764-2.382a1 1 0 00-.894 0L4.789 4.488a1 1 0 000 1.788l4.764 2.382a1 1 0 00.894 0l4.764-2.382zM4.447 8.342A1 1 0 003 9.236V15a1 1 0 00.553.894l4 2A1 1 0 009 17v-5.764a1 1 0 00-.553-.894l-4-2z\"}}]})(props);\n};\nexport function HiCurrencyBangladeshi (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10 18a8 8 0 100-16 8 8 0 000 16zM7 4a1 1 0 000 2 1 1 0 011 1v1H7a1 1 0 000 2h1v3a3 3 0 106 0v-1a1 1 0 10-2 0v1a1 1 0 11-2 0v-3h3a1 1 0 100-2h-3V7a3 3 0 00-3-3z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiCurrencyDollar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.433 7.418c.155-.103.346-.196.567-.267v1.698a2.305 2.305 0 01-.567-.267C8.07 8.34 8 8.114 8 8c0-.114.07-.34.433-.582zM11 12.849v-1.698c.22.071.412.164.567.267.364.243.433.468.433.582 0 .114-.07.34-.433.582a2.305 2.305 0 01-.567.267z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10 18a8 8 0 100-16 8 8 0 000 16zm1-13a1 1 0 10-2 0v.092a4.535 4.535 0 00-1.676.662C6.602 6.234 6 7.009 6 8c0 .99.602 1.765 1.324 2.246.48.32 1.054.545 1.676.662v1.941c-.391-.127-.68-.317-.843-.504a1 1 0 10-1.51 1.31c.562.649 1.413 1.076 2.353 1.253V15a1 1 0 102 0v-.092a4.535 4.535 0 001.676-.662C13.398 13.766 14 12.991 14 12c0-.99-.602-1.765-1.324-2.246A4.535 4.535 0 0011 9.092V7.151c.391.127.68.317.843.504a1 1 0 101.511-1.31c-.563-.649-1.413-1.076-2.354-1.253V5z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiCurrencyEuro (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10 18a8 8 0 100-16 8 8 0 000 16zM8.736 6.979C9.208 6.193 9.696 6 10 6c.304 0 .792.193 1.264.979a1 1 0 001.715-1.029C12.279 4.784 11.232 4 10 4s-2.279.784-2.979 1.95c-.285.475-.507 1-.67 1.55H6a1 1 0 000 2h.013a9.358 9.358 0 000 1H6a1 1 0 100 2h.351c.163.55.385 1.075.67 1.55C7.721 15.216 8.768 16 10 16s2.279-.784 2.979-1.95a1 1 0 10-1.715-1.029c-.472.786-.96.979-1.264.979-.304 0-.792-.193-1.264-.979a4.265 4.265 0 01-.264-.521H10a1 1 0 100-2H8.017a7.36 7.36 0 010-1H10a1 1 0 100-2H8.472c.08-.185.167-.36.264-.521z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiCurrencyPound (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10 18a8 8 0 100-16 8 8 0 000 16zm1-14a3 3 0 00-3 3v2H7a1 1 0 000 2h1v1a1 1 0 01-1 1 1 1 0 100 2h6a1 1 0 100-2H9.83c.11-.313.17-.65.17-1v-1h1a1 1 0 100-2h-1V7a1 1 0 112 0 1 1 0 102 0 3 3 0 00-3-3z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiCurrencyRupee (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10 18a8 8 0 100-16 8 8 0 000 16zM7 5a1 1 0 100 2h1a2 2 0 011.732 1H7a1 1 0 100 2h2.732A2 2 0 018 11H7a1 1 0 00-.707 1.707l3 3a1 1 0 001.414-1.414l-1.483-1.484A4.008 4.008 0 0011.874 10H13a1 1 0 100-2h-1.126a3.976 3.976 0 00-.41-1H13a1 1 0 100-2H7z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiCurrencyYen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10 18a8 8 0 100-16 8 8 0 000 16zM7.858 5.485a1 1 0 00-1.715 1.03L7.633 9H7a1 1 0 100 2h1.834l.166.277V12H7a1 1 0 100 2h2v1a1 1 0 102 0v-1h2a1 1 0 100-2h-2v-.723l.166-.277H13a1 1 0 100-2h-.634l1.492-2.486a1 1 0 10-1.716-1.029L10.034 9h-.068L7.858 5.485z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiCursorClick (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6.672 1.911a1 1 0 10-1.932.518l.259.966a1 1 0 001.932-.518l-.26-.966zM2.429 4.74a1 1 0 10-.517 1.932l.966.259a1 1 0 00.517-1.932l-.966-.26zm8.814-.569a1 1 0 00-1.415-1.414l-.707.707a1 1 0 101.415 1.415l.707-.708zm-7.071 7.072l.707-.707A1 1 0 003.465 9.12l-.708.707a1 1 0 001.415 1.415zm3.2-5.171a1 1 0 00-1.3 1.3l4 10a1 1 0 001.823.075l1.38-2.759 3.018 3.02a1 1 0 001.414-1.415l-3.019-3.02 2.76-1.379a1 1 0 00-.076-1.822l-10-4z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiDatabase (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 12v3c0 1.657 3.134 3 7 3s7-1.343 7-3v-3c0 1.657-3.134 3-7 3s-7-1.343-7-3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 7v3c0 1.657 3.134 3 7 3s7-1.343 7-3V7c0 1.657-3.134 3-7 3S3 8.657 3 7z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M17 5c0 1.657-3.134 3-7 3S3 6.657 3 5s3.134-3 7-3 7 1.343 7 3z\"}}]})(props);\n};\nexport function HiDesktopComputer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3 5a2 2 0 012-2h10a2 2 0 012 2v8a2 2 0 01-2 2h-2.22l.123.489.804.804A1 1 0 0113 18H7a1 1 0 01-.707-1.707l.804-.804L7.22 15H5a2 2 0 01-2-2V5zm5.771 7H5V5h10v7H8.771z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiDeviceMobile (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7 2a2 2 0 00-2 2v12a2 2 0 002 2h6a2 2 0 002-2V4a2 2 0 00-2-2H7zm3 14a1 1 0 100-2 1 1 0 000 2z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiDeviceTablet (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6 2a2 2 0 00-2 2v12a2 2 0 002 2h8a2 2 0 002-2V4a2 2 0 00-2-2H6zm4 14a1 1 0 100-2 1 1 0 000 2z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiDocumentAdd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6 2a2 2 0 00-2 2v12a2 2 0 002 2h8a2 2 0 002-2V7.414A2 2 0 0015.414 6L12 2.586A2 2 0 0010.586 2H6zm5 6a1 1 0 10-2 0v2H7a1 1 0 100 2h2v2a1 1 0 102 0v-2h2a1 1 0 100-2h-2V8z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiDocumentDownload (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6 2a2 2 0 00-2 2v12a2 2 0 002 2h8a2 2 0 002-2V7.414A2 2 0 0015.414 6L12 2.586A2 2 0 0010.586 2H6zm5 6a1 1 0 10-2 0v3.586l-1.293-1.293a1 1 0 10-1.414 1.414l3 3a1 1 0 001.414 0l3-3a1 1 0 00-1.414-1.414L11 11.586V8z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiDocumentDuplicate (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 2a2 2 0 00-2 2v8a2 2 0 002 2h6a2 2 0 002-2V6.414A2 2 0 0016.414 5L14 2.586A2 2 0 0012.586 2H9z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 8a2 2 0 012-2v10h8a2 2 0 01-2 2H5a2 2 0 01-2-2V8z\"}}]})(props);\n};\nexport function HiDocumentRemove (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6 2a2 2 0 00-2 2v12a2 2 0 002 2h8a2 2 0 002-2V7.414A2 2 0 0015.414 6L12 2.586A2 2 0 0010.586 2H6zm1 8a1 1 0 100 2h6a1 1 0 100-2H7z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiDocumentReport (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6 2a2 2 0 00-2 2v12a2 2 0 002 2h8a2 2 0 002-2V7.414A2 2 0 0015.414 6L12 2.586A2 2 0 0010.586 2H6zm2 10a1 1 0 10-2 0v3a1 1 0 102 0v-3zm2-3a1 1 0 011 1v5a1 1 0 11-2 0v-5a1 1 0 011-1zm4-1a1 1 0 10-2 0v7a1 1 0 102 0V8z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiDocumentSearch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4 4a2 2 0 012-2h4.586A2 2 0 0112 2.586L15.414 6A2 2 0 0116 7.414V16a2 2 0 01-2 2h-1.528A6 6 0 004 9.528V4z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 10a4 4 0 00-3.446 6.032l-1.261 1.26a1 1 0 101.414 1.415l1.261-1.261A4 4 0 108 10zm-2 4a2 2 0 114 0 2 2 0 01-4 0z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiDocumentText (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4 4a2 2 0 012-2h4.586A2 2 0 0112 2.586L15.414 6A2 2 0 0116 7.414V16a2 2 0 01-2 2H6a2 2 0 01-2-2V4zm2 6a1 1 0 011-1h6a1 1 0 110 2H7a1 1 0 01-1-1zm1 3a1 1 0 100 2h6a1 1 0 100-2H7z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiDocument (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4 4a2 2 0 012-2h4.586A2 2 0 0112 2.586L15.414 6A2 2 0 0116 7.414V16a2 2 0 01-2 2H6a2 2 0 01-2-2V4z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiDotsCircleHorizontal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10 18a8 8 0 100-16 8 8 0 000 16zM7 9H5v2h2V9zm8 0h-2v2h2V9zM9 9h2v2H9V9z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiDotsHorizontal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M6 10a2 2 0 11-4 0 2 2 0 014 0zM12 10a2 2 0 11-4 0 2 2 0 014 0zM16 12a2 2 0 100-4 2 2 0 000 4z\"}}]})(props);\n};\nexport function HiDotsVertical (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 6a2 2 0 110-4 2 2 0 010 4zM10 12a2 2 0 110-4 2 2 0 010 4zM10 18a2 2 0 110-4 2 2 0 010 4z\"}}]})(props);\n};\nexport function HiDownload (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3 17a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zm3.293-7.707a1 1 0 011.414 0L9 10.586V3a1 1 0 112 0v7.586l1.293-1.293a1 1 0 111.414 1.414l-3 3a1 1 0 01-1.414 0l-3-3a1 1 0 010-1.414z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiDuplicate (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7 9a2 2 0 012-2h6a2 2 0 012 2v6a2 2 0 01-2 2H9a2 2 0 01-2-2V9z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 3a2 2 0 00-2 2v6a2 2 0 002 2V5h8a2 2 0 00-2-2H5z\"}}]})(props);\n};\nexport function HiEmojiHappy (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10 18a8 8 0 100-16 8 8 0 000 16zM7 9a1 1 0 100-2 1 1 0 000 2zm7-1a1 1 0 11-2 0 1 1 0 012 0zm-.464 5.535a1 1 0 10-1.415-1.414 3 3 0 01-4.242 0 1 1 0 00-1.415 1.414 5 5 0 007.072 0z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiEmojiSad (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10 18a8 8 0 100-16 8 8 0 000 16zM7 9a1 1 0 100-2 1 1 0 000 2zm7-1a1 1 0 11-2 0 1 1 0 012 0zm-7.536 5.879a1 1 0 001.415 0 3 3 0 014.242 0 1 1 0 001.415-1.415 5 5 0 00-7.072 0 1 1 0 000 1.415z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiExclamationCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7 4a1 1 0 11-2 0 1 1 0 012 0zm-1-9a1 1 0 00-1 1v4a1 1 0 102 0V6a1 1 0 00-1-1z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiExclamation (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8.257 3.099c.765-1.36 2.722-1.36 3.486 0l5.58 9.92c.75 1.334-.213 2.98-1.742 2.98H4.42c-1.53 0-2.493-1.646-1.743-2.98l5.58-9.92zM11 13a1 1 0 11-2 0 1 1 0 012 0zm-1-8a1 1 0 00-1 1v3a1 1 0 002 0V6a1 1 0 00-1-1z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiExternalLink (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 3a1 1 0 100 2h2.586l-6.293 6.293a1 1 0 101.414 1.414L15 6.414V9a1 1 0 102 0V4a1 1 0 00-1-1h-5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M5 5a2 2 0 00-2 2v8a2 2 0 002 2h8a2 2 0 002-2v-3a1 1 0 10-2 0v3H5V7h3a1 1 0 000-2H5z\"}}]})(props);\n};\nexport function HiEyeOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3.707 2.293a1 1 0 00-1.414 1.414l14 14a1 1 0 001.414-1.414l-1.473-1.473A10.014 10.014 0 0019.542 10C18.268 5.943 14.478 3 10 3a9.958 9.958 0 00-4.512 1.074l-1.78-1.781zm4.261 4.26l1.514 1.515a2.003 2.003 0 012.45 2.45l1.514 1.514a4 4 0 00-5.478-5.478z\",\"clipRule\":\"evenodd\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.454 16.697L9.75 13.992a4 4 0 01-3.742-3.741L2.335 6.578A9.98 9.98 0 00.458 10c1.274 4.057 5.065 7 9.542 7 .847 0 1.669-.105 2.454-.303z\"}}]})(props);\n};\nexport function HiEye (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 12a2 2 0 100-4 2 2 0 000 4z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M.458 10C1.732 5.943 5.522 3 10 3s8.268 2.943 9.542 7c-1.274 4.057-5.064 7-9.542 7S1.732 14.057.458 10zM14 10a4 4 0 11-8 0 4 4 0 018 0z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiFastForward (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M4.555 5.168A1 1 0 003 6v8a1 1 0 001.555.832L10 11.202V14a1 1 0 001.555.832l6-4a1 1 0 000-1.664l-6-4A1 1 0 0010 6v2.798l-5.445-3.63z\"}}]})(props);\n};\nexport function HiFilm (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4 3a2 2 0 00-2 2v10a2 2 0 002 2h12a2 2 0 002-2V5a2 2 0 00-2-2H4zm3 2h6v4H7V5zm8 8v2h1v-2h-1zm-2-2H7v4h6v-4zm2 0h1V9h-1v2zm1-4V5h-1v2h1zM5 5v2H4V5h1zm0 4H4v2h1V9zm-1 4h1v2H4v-2z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiFilter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3 3a1 1 0 011-1h12a1 1 0 011 1v3a1 1 0 01-.293.707L12 11.414V15a1 1 0 01-.293.707l-2 2A1 1 0 018 17v-5.586L3.293 6.707A1 1 0 013 6V3z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiFingerPrint (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M6.625 2.655A9 9 0 0119 11a1 1 0 11-2 0 7 7 0 00-9.625-6.492 1 1 0 11-.75-1.853zM4.662 4.959A1 1 0 014.75 6.37 6.97 6.97 0 003 11a1 1 0 11-2 0 8.97 8.97 0 012.25-5.953 1 1 0 011.412-.088z\",\"clipRule\":\"evenodd\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5 11a5 5 0 1110 0 1 1 0 11-2 0 3 3 0 10-6 0c0 1.677-.345 3.276-.968 4.729a1 1 0 11-1.838-.789A9.964 9.964 0 005 11zm8.921 2.012a1 1 0 01.831 1.145 19.86 19.86 0 01-.545 2.436 1 1 0 11-1.92-.558c.207-.713.371-1.445.49-2.192a1 1 0 011.144-.83z\",\"clipRule\":\"evenodd\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10 10a1 1 0 011 1c0 2.236-.46 4.368-1.29 6.304a1 1 0 01-1.838-.789A13.952 13.952 0 009 11a1 1 0 011-1z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiFire (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M12.395 2.553a1 1 0 00-1.45-.385c-.345.23-.614.558-.822.88-.214.33-.403.713-.57 1.116-.334.804-.614 1.768-.84 2.734a31.365 31.365 0 00-.613 3.58 2.64 2.64 0 01-.945-1.067c-.328-.68-.398-1.534-.398-2.654A1 1 0 005.05 6.05 6.981 6.981 0 003 11a7 7 0 1011.95-4.95c-.592-.591-.98-.985-1.348-1.467-.363-.476-.724-1.063-1.207-2.03zM12.12 15.12A3 3 0 017 13s.879.5 2.5.5c0-1 .5-4 1.25-4.5.5 1 .786 1.293 1.371 1.879A2.99 2.99 0 0113 13a2.99 2.99 0 01-.879 2.121z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiFlag (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3 6a3 3 0 013-3h10a1 1 0 01.8 1.6L14.25 8l2.55 3.4A1 1 0 0116 13H6a1 1 0 00-1 1v3a1 1 0 11-2 0V6z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiFolderAdd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 6a2 2 0 012-2h5l2 2h5a2 2 0 012 2v6a2 2 0 01-2 2H4a2 2 0 01-2-2V6z\"}},{\"tag\":\"path\",\"attr\":{\"stroke\":\"#fff\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M8 11h4m-2-2v4\"}}]})(props);\n};\nexport function HiFolderDownload (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 6a2 2 0 012-2h5l2 2h5a2 2 0 012 2v6a2 2 0 01-2 2H4a2 2 0 01-2-2V6z\"}},{\"tag\":\"path\",\"attr\":{\"stroke\":\"#fff\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M10 9v4m0 0l-2-2m2 2l2-2\"}}]})(props);\n};\nexport function HiFolderOpen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 6a2 2 0 012-2h4l2 2h4a2 2 0 012 2v1H8a3 3 0 00-3 3v1.5a1.5 1.5 0 01-3 0V6z\",\"clipRule\":\"evenodd\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M6 12a2 2 0 012-2h8a2 2 0 012 2v2a2 2 0 01-2 2H2h2a2 2 0 002-2v-2z\"}}]})(props);\n};\nexport function HiFolderRemove (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 6a2 2 0 012-2h5l2 2h5a2 2 0 012 2v6a2 2 0 01-2 2H4a2 2 0 01-2-2V6z\"}},{\"tag\":\"path\",\"attr\":{\"stroke\":\"#fff\",\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M8 11h4\"}}]})(props);\n};\nexport function HiFolder (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 6a2 2 0 012-2h5l2 2h5a2 2 0 012 2v6a2 2 0 01-2 2H4a2 2 0 01-2-2V6z\"}}]})(props);\n};\nexport function HiGift (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5 5a3 3 0 015-2.236A3 3 0 0114.83 6H16a2 2 0 110 4h-5V9a1 1 0 10-2 0v1H4a2 2 0 110-4h1.17C5.06 5.687 5 5.35 5 5zm4 1V5a1 1 0 10-1 1h1zm3 0a1 1 0 10-1-1v1h1z\",\"clipRule\":\"evenodd\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M9 11H3v5a2 2 0 002 2h4v-7zM11 18h4a2 2 0 002-2v-5h-6v7z\"}}]})(props);\n};\nexport function HiGlobeAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4.083 9h1.946c.089-1.546.383-2.97.837-4.118A6.004 6.004 0 004.083 9zM10 2a8 8 0 100 16 8 8 0 000-16zm0 2c-.076 0-.232.032-.465.262-.238.234-.497.623-.737 1.182-.389.907-.673 2.142-.766 3.556h3.936c-.093-1.414-.377-2.649-.766-3.556-.24-.56-.5-.948-.737-1.182C10.232 4.032 10.076 4 10 4zm3.971 5c-.089-1.546-.383-2.97-.837-4.118A6.004 6.004 0 0115.917 9h-1.946zm-2.003 2H8.032c.093 1.414.377 2.649.766 3.556.24.56.5.948.737 1.182.233.23.389.262.465.262.076 0 .232-.032.465-.262.238-.234.498-.623.737-1.182.389-.907.673-2.142.766-3.556zm1.166 4.118c.454-1.147.748-2.572.837-4.118h1.946a6.004 6.004 0 01-2.783 4.118zm-6.268 0C6.412 13.97 6.118 12.546 6.03 11H4.083a6.004 6.004 0 002.783 4.118z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiGlobe (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10 18a8 8 0 100-16 8 8 0 000 16zM4.332 8.027a6.012 6.012 0 011.912-2.706C6.512 5.73 6.974 6 7.5 6A1.5 1.5 0 019 7.5V8a2 2 0 004 0 2 2 0 011.523-1.943A5.977 5.977 0 0116 10c0 .34-.028.675-.083 1H15a2 2 0 00-2 2v2.197A5.973 5.973 0 0110 16v-2a2 2 0 00-2-2 2 2 0 01-2-2 2 2 0 00-1.668-1.973z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiHand (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M9 3a1 1 0 012 0v5.5a.5.5 0 001 0V4a1 1 0 112 0v4.5a.5.5 0 001 0V6a1 1 0 112 0v5a7 7 0 11-14 0V9a1 1 0 012 0v2.5a.5.5 0 001 0V4a1 1 0 012 0v4.5a.5.5 0 001 0V3z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiHashtag (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M9.243 3.03a1 1 0 01.727 1.213L9.53 6h2.94l.56-2.243a1 1 0 111.94.486L14.53 6H17a1 1 0 110 2h-2.97l-1 4H15a1 1 0 110 2h-2.47l-.56 2.242a1 1 0 11-1.94-.485L10.47 14H7.53l-.56 2.242a1 1 0 11-1.94-.485L5.47 14H3a1 1 0 110-2h2.97l1-4H5a1 1 0 110-2h2.47l.56-2.243a1 1 0 011.213-.727zM9.03 8l-1 4h2.938l1-4H9.031z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiHeart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3.172 5.172a4 4 0 015.656 0L10 6.343l1.172-1.171a4 4 0 115.656 5.656L10 17.657l-6.828-6.829a4 4 0 010-5.656z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiHome (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.707 2.293a1 1 0 00-1.414 0l-7 7a1 1 0 001.414 1.414L4 10.414V17a1 1 0 001 1h2a1 1 0 001-1v-2a1 1 0 011-1h2a1 1 0 011 1v2a1 1 0 001 1h2a1 1 0 001-1v-6.586l.293.293a1 1 0 001.414-1.414l-7-7z\"}}]})(props);\n};\nexport function HiIdentification (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10 2a1 1 0 00-1 1v1a1 1 0 002 0V3a1 1 0 00-1-1zM4 4h3a3 3 0 006 0h3a2 2 0 012 2v9a2 2 0 01-2 2H4a2 2 0 01-2-2V6a2 2 0 012-2zm2.5 7a1.5 1.5 0 100-3 1.5 1.5 0 000 3zm2.45 4a2.5 2.5 0 10-4.9 0h4.9zM12 9a1 1 0 100 2h3a1 1 0 100-2h-3zm-1 4a1 1 0 011-1h2a1 1 0 110 2h-2a1 1 0 01-1-1z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiInboxIn (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.707 7.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l2-2a1 1 0 00-1.414-1.414L11 7.586V3a1 1 0 10-2 0v4.586l-.293-.293z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 5a2 2 0 012-2h1a1 1 0 010 2H5v7h2l1 2h4l1-2h2V5h-1a1 1 0 110-2h1a2 2 0 012 2v10a2 2 0 01-2 2H5a2 2 0 01-2-2V5z\"}}]})(props);\n};\nexport function HiInbox (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5 3a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2V5a2 2 0 00-2-2H5zm0 2h10v7h-2l-1 2H8l-1-2H5V5z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiInformationCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiKey (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M18 8a6 6 0 01-7.743 5.743L10 14l-1 1-1 1H6v2H2v-4l4.257-4.257A6 6 0 1118 8zm-6-4a1 1 0 100 2 2 2 0 012 2 1 1 0 102 0 4 4 0 00-4-4z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiLibrary (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10.496 2.132a1 1 0 00-.992 0l-7 4A1 1 0 003 8v7a1 1 0 100 2h14a1 1 0 100-2V8a1 1 0 00.496-1.868l-7-4zM6 9a1 1 0 00-1 1v3a1 1 0 102 0v-3a1 1 0 00-1-1zm3 1a1 1 0 012 0v3a1 1 0 11-2 0v-3zm5-1a1 1 0 00-1 1v3a1 1 0 102 0v-3a1 1 0 00-1-1z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiLightBulb (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 3a1 1 0 10-2 0v1a1 1 0 102 0V3zM15.657 5.757a1 1 0 00-1.414-1.414l-.707.707a1 1 0 001.414 1.414l.707-.707zM18 10a1 1 0 01-1 1h-1a1 1 0 110-2h1a1 1 0 011 1zM5.05 6.464A1 1 0 106.464 5.05l-.707-.707a1 1 0 00-1.414 1.414l.707.707zM5 10a1 1 0 01-1 1H3a1 1 0 110-2h1a1 1 0 011 1zM8 16v-1h4v1a2 2 0 11-4 0zM12 14c.015-.34.208-.646.477-.859a4 4 0 10-4.954 0c.27.213.462.519.476.859h4.002z\"}}]})(props);\n};\nexport function HiLightningBolt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M11.3 1.046A1 1 0 0112 2v5h4a1 1 0 01.82 1.573l-7 10A1 1 0 018 18v-5H4a1 1 0 01-.82-1.573l7-10a1 1 0 011.12-.38z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiLink (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M12.586 4.586a2 2 0 112.828 2.828l-3 3a2 2 0 01-2.828 0 1 1 0 00-1.414 1.414 4 4 0 005.656 0l3-3a4 4 0 00-5.656-5.656l-1.5 1.5a1 1 0 101.414 1.414l1.5-1.5zm-5 5a2 2 0 012.828 0 1 1 0 101.414-1.414 4 4 0 00-5.656 0l-3 3a4 4 0 105.656 5.656l1.5-1.5a1 1 0 10-1.414-1.414l-1.5 1.5a2 2 0 11-2.828-2.828l3-3z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiLocationMarker (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5.05 4.05a7 7 0 119.9 9.9L10 18.9l-4.95-4.95a7 7 0 010-9.9zM10 11a2 2 0 100-4 2 2 0 000 4z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiLockClosed (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5 9V7a5 5 0 0110 0v2a2 2 0 012 2v5a2 2 0 01-2 2H5a2 2 0 01-2-2v-5a2 2 0 012-2zm8-2v2H7V7a3 3 0 016 0z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiLockOpen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 2a5 5 0 00-5 5v2a2 2 0 00-2 2v5a2 2 0 002 2h10a2 2 0 002-2v-5a2 2 0 00-2-2H7V7a3 3 0 015.905-.75 1 1 0 001.937-.5A5.002 5.002 0 0010 2z\"}}]})(props);\n};\nexport function HiLogin (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3 3a1 1 0 011 1v12a1 1 0 11-2 0V4a1 1 0 011-1zm7.707 3.293a1 1 0 010 1.414L9.414 9H17a1 1 0 110 2H9.414l1.293 1.293a1 1 0 01-1.414 1.414l-3-3a1 1 0 010-1.414l3-3a1 1 0 011.414 0z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiLogout (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3 3a1 1 0 00-1 1v12a1 1 0 102 0V4a1 1 0 00-1-1zm10.293 9.293a1 1 0 001.414 1.414l3-3a1 1 0 000-1.414l-3-3a1 1 0 10-1.414 1.414L14.586 9H7a1 1 0 100 2h7.586l-1.293 1.293z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiMailOpen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2.94 6.412A2 2 0 002 8.108V16a2 2 0 002 2h12a2 2 0 002-2V8.108a2 2 0 00-.94-1.696l-6-3.75a2 2 0 00-2.12 0l-6 3.75zm2.615 2.423a1 1 0 10-1.11 1.664l5 3.333a1 1 0 001.11 0l5-3.333a1 1 0 00-1.11-1.664L10 11.798 5.555 8.835z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiMail (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2.003 5.884L10 9.882l7.997-3.998A2 2 0 0016 4H4a2 2 0 00-1.997 1.884z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M18 8.118l-8 4-8-4V14a2 2 0 002 2h12a2 2 0 002-2V8.118z\"}}]})(props);\n};\nexport function HiMap (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M12 1.586l-4 4v12.828l4-4V1.586zM3.707 3.293A1 1 0 002 4v10a1 1 0 00.293.707L6 18.414V5.586L3.707 3.293zM17.707 5.293L14 1.586v12.828l2.293 2.293A1 1 0 0018 16V6a1 1 0 00-.293-.707z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiMenuAlt1 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3 5a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zM3 10a1 1 0 011-1h6a1 1 0 110 2H4a1 1 0 01-1-1zM3 15a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiMenuAlt2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3 5a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zM3 10a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zM3 15a1 1 0 011-1h6a1 1 0 110 2H4a1 1 0 01-1-1z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiMenuAlt3 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3 5a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zM3 10a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zM9 15a1 1 0 011-1h6a1 1 0 110 2h-6a1 1 0 01-1-1z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiMenuAlt4 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3 7a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zM3 13a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiMenu (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3 5a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zM3 10a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zM3 15a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiMicrophone (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7 4a3 3 0 016 0v4a3 3 0 11-6 0V4zm4 10.93A7.001 7.001 0 0017 8a1 1 0 10-2 0A5 5 0 015 8a1 1 0 00-2 0 7.001 7.001 0 006 6.93V17H6a1 1 0 100 2h8a1 1 0 100-2h-3v-2.07z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiMinusCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10 18a8 8 0 100-16 8 8 0 000 16zM7 9a1 1 0 000 2h6a1 1 0 100-2H7z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiMinusSm (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5 10a1 1 0 011-1h8a1 1 0 110 2H6a1 1 0 01-1-1z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiMinus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3 10a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiMoon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17.293 13.293A8 8 0 016.707 2.707a8.001 8.001 0 1010.586 10.586z\"}}]})(props);\n};\nexport function HiMusicNote (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18 3a1 1 0 00-1.196-.98l-10 2A1 1 0 006 5v9.114A4.369 4.369 0 005 14c-1.657 0-3 .895-3 2s1.343 2 3 2 3-.895 3-2V7.82l8-1.6v5.894A4.37 4.37 0 0015 12c-1.657 0-3 .895-3 2s1.343 2 3 2 3-.895 3-2V3z\"}}]})(props);\n};\nexport function HiNewspaper (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 5a2 2 0 012-2h8a2 2 0 012 2v10a2 2 0 002 2H4a2 2 0 01-2-2V5zm3 1h6v4H5V6zm6 6H5v2h6v-2z\",\"clipRule\":\"evenodd\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M15 7h1a2 2 0 012 2v5.5a1.5 1.5 0 01-3 0V7z\"}}]})(props);\n};\nexport function HiOfficeBuilding (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4 4a2 2 0 012-2h8a2 2 0 012 2v12a1 1 0 110 2h-3a1 1 0 01-1-1v-2a1 1 0 00-1-1H9a1 1 0 00-1 1v2a1 1 0 01-1 1H4a1 1 0 110-2V4zm3 1h2v2H7V5zm2 4H7v2h2V9zm2-4h2v2h-2V5zm2 4h-2v2h2V9z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiPaperAirplane (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10.894 2.553a1 1 0 00-1.788 0l-7 14a1 1 0 001.169 1.409l5-1.429A1 1 0 009 15.571V11a1 1 0 112 0v4.571a1 1 0 00.725.962l5 1.428a1 1 0 001.17-1.408l-7-14z\"}}]})(props);\n};\nexport function HiPaperClip (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 4a3 3 0 00-3 3v4a5 5 0 0010 0V7a1 1 0 112 0v4a7 7 0 11-14 0V7a5 5 0 0110 0v4a3 3 0 11-6 0V7a1 1 0 012 0v4a1 1 0 102 0V7a3 3 0 00-3-3z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiPause (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M18 10a8 8 0 11-16 0 8 8 0 0116 0zM7 8a1 1 0 012 0v4a1 1 0 11-2 0V8zm5-1a1 1 0 00-1 1v4a1 1 0 102 0V8a1 1 0 00-1-1z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiPencilAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17.414 2.586a2 2 0 00-2.828 0L7 10.172V13h2.828l7.586-7.586a2 2 0 000-2.828z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 6a2 2 0 012-2h4a1 1 0 010 2H4v10h10v-4a1 1 0 112 0v4a2 2 0 01-2 2H4a2 2 0 01-2-2V6z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiPencil (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13.586 3.586a2 2 0 112.828 2.828l-.793.793-2.828-2.828.793-.793zM11.379 5.793L3 14.172V17h2.828l8.38-8.379-2.83-2.828z\"}}]})(props);\n};\nexport function HiPhoneIncoming (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M14.414 7l3.293-3.293a1 1 0 00-1.414-1.414L13 5.586V4a1 1 0 10-2 0v4.003a.996.996 0 00.617.921A.997.997 0 0012 9h4a1 1 0 100-2h-1.586z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 3a1 1 0 011-1h2.153a1 1 0 01.986.836l.74 4.435a1 1 0 01-.54 1.06l-1.548.773a11.037 11.037 0 006.105 6.105l.774-1.548a1 1 0 011.059-.54l4.435.74a1 1 0 01.836.986V17a1 1 0 01-1 1h-2C7.82 18 2 12.18 2 5V3z\"}}]})(props);\n};\nexport function HiPhoneMissedCall (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 3a1 1 0 011-1h2.153a1 1 0 01.986.836l.74 4.435a1 1 0 01-.54 1.06l-1.548.773a11.037 11.037 0 006.105 6.105l.774-1.548a1 1 0 011.059-.54l4.435.74a1 1 0 01.836.986V17a1 1 0 01-1 1h-2C7.82 18 2 12.18 2 5V3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M16.707 3.293a1 1 0 010 1.414L15.414 6l1.293 1.293a1 1 0 01-1.414 1.414L14 7.414l-1.293 1.293a1 1 0 11-1.414-1.414L12.586 6l-1.293-1.293a1 1 0 011.414-1.414L14 4.586l1.293-1.293a1 1 0 011.414 0z\"}}]})(props);\n};\nexport function HiPhoneOutgoing (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M17.924 2.617a.997.997 0 00-.215-.322l-.004-.004A.997.997 0 0017 2h-4a1 1 0 100 2h1.586l-3.293 3.293a1 1 0 001.414 1.414L16 5.414V7a1 1 0 102 0V3a.997.997 0 00-.076-.383z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M2 3a1 1 0 011-1h2.153a1 1 0 01.986.836l.74 4.435a1 1 0 01-.54 1.06l-1.548.773a11.037 11.037 0 006.105 6.105l.774-1.548a1 1 0 011.059-.54l4.435.74a1 1 0 01.836.986V17a1 1 0 01-1 1h-2C7.82 18 2 12.18 2 5V3z\"}}]})(props);\n};\nexport function HiPhone (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 3a1 1 0 011-1h2.153a1 1 0 01.986.836l.74 4.435a1 1 0 01-.54 1.06l-1.548.773a11.037 11.037 0 006.105 6.105l.774-1.548a1 1 0 011.059-.54l4.435.74a1 1 0 01.836.986V17a1 1 0 01-1 1h-2C7.82 18 2 12.18 2 5V3z\"}}]})(props);\n};\nexport function HiPhotograph (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4 3a2 2 0 00-2 2v10a2 2 0 002 2h12a2 2 0 002-2V5a2 2 0 00-2-2H4zm12 12H4l4-8 3 6 2-4 3 6z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiPlay (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10 18a8 8 0 100-16 8 8 0 000 16zM9.555 7.168A1 1 0 008 8v4a1 1 0 001.555.832l3-2a1 1 0 000-1.664l-3-2z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiPlusCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10 18a8 8 0 100-16 8 8 0 000 16zm1-11a1 1 0 10-2 0v2H7a1 1 0 100 2h2v2a1 1 0 102 0v-2h2a1 1 0 100-2h-2V7z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiPlusSm (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10 5a1 1 0 011 1v3h3a1 1 0 110 2h-3v3a1 1 0 11-2 0v-3H6a1 1 0 110-2h3V6a1 1 0 011-1z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiPlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10 3a1 1 0 011 1v5h5a1 1 0 110 2h-5v5a1 1 0 11-2 0v-5H4a1 1 0 110-2h5V4a1 1 0 011-1z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiPresentationChartBar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3 3a1 1 0 000 2v8a2 2 0 002 2h2.586l-1.293 1.293a1 1 0 101.414 1.414L10 15.414l2.293 2.293a1 1 0 001.414-1.414L12.414 15H15a2 2 0 002-2V5a1 1 0 100-2H3zm11 4a1 1 0 10-2 0v4a1 1 0 102 0V7zm-3 1a1 1 0 10-2 0v3a1 1 0 102 0V8zM8 9a1 1 0 00-2 0v2a1 1 0 102 0V9z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiPresentationChartLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3 3a1 1 0 000 2v8a2 2 0 002 2h2.586l-1.293 1.293a1 1 0 101.414 1.414L10 15.414l2.293 2.293a1 1 0 001.414-1.414L12.414 15H15a2 2 0 002-2V5a1 1 0 100-2H3zm11.707 4.707a1 1 0 00-1.414-1.414L10 9.586 8.707 8.293a1 1 0 00-1.414 0l-2 2a1 1 0 101.414 1.414L8 10.414l1.293 1.293a1 1 0 001.414 0l4-4z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiPrinter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5 4v3H4a2 2 0 00-2 2v3a2 2 0 002 2h1v2a2 2 0 002 2h6a2 2 0 002-2v-2h1a2 2 0 002-2V9a2 2 0 00-2-2h-1V4a2 2 0 00-2-2H7a2 2 0 00-2 2zm8 0H7v3h6V4zm0 8H7v4h6v-4z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiPuzzle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M10 3.5a1.5 1.5 0 013 0V4a1 1 0 001 1h3a1 1 0 011 1v3a1 1 0 01-1 1h-.5a1.5 1.5 0 000 3h.5a1 1 0 011 1v3a1 1 0 01-1 1h-3a1 1 0 01-1-1v-.5a1.5 1.5 0 00-3 0v.5a1 1 0 01-1 1H6a1 1 0 01-1-1v-3a1 1 0 00-1-1h-.5a1.5 1.5 0 010-3H4a1 1 0 001-1V6a1 1 0 011-1h3a1 1 0 001-1v-.5z\"}}]})(props);\n};\nexport function HiQrcode (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3 4a1 1 0 011-1h3a1 1 0 011 1v3a1 1 0 01-1 1H4a1 1 0 01-1-1V4zm2 2V5h1v1H5zM3 13a1 1 0 011-1h3a1 1 0 011 1v3a1 1 0 01-1 1H4a1 1 0 01-1-1v-3zm2 2v-1h1v1H5zM13 3a1 1 0 00-1 1v3a1 1 0 001 1h3a1 1 0 001-1V4a1 1 0 00-1-1h-3zm1 2v1h1V5h-1z\",\"clipRule\":\"evenodd\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M11 4a1 1 0 10-2 0v1a1 1 0 002 0V4zM10 7a1 1 0 011 1v1h2a1 1 0 110 2h-3a1 1 0 01-1-1V8a1 1 0 011-1zM16 9a1 1 0 100 2 1 1 0 000-2zM9 13a1 1 0 011-1h1a1 1 0 110 2v2a1 1 0 11-2 0v-3zM7 11a1 1 0 100-2H4a1 1 0 100 2h3zM17 13a1 1 0 01-1 1h-2a1 1 0 110-2h2a1 1 0 011 1zM16 17a1 1 0 100-2h-3a1 1 0 100 2h3z\"}}]})(props);\n};\nexport function HiQuestionMarkCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-3a1 1 0 00-.867.5 1 1 0 11-1.731-1A3 3 0 0113 8a3.001 3.001 0 01-2 2.83V11a1 1 0 11-2 0v-1a1 1 0 011-1 1 1 0 100-2zm0 8a1 1 0 100-2 1 1 0 000 2z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiReceiptRefund (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5 2a2 2 0 00-2 2v14l3.5-2 3.5 2 3.5-2 3.5 2V4a2 2 0 00-2-2H5zm4.707 3.707a1 1 0 00-1.414-1.414l-3 3a1 1 0 000 1.414l3 3a1 1 0 001.414-1.414L8.414 9H10a3 3 0 013 3v1a1 1 0 102 0v-1a5 5 0 00-5-5H8.414l1.293-1.293z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiReceiptTax (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5 2a2 2 0 00-2 2v14l3.5-2 3.5 2 3.5-2 3.5 2V4a2 2 0 00-2-2H5zm2.5 3a1.5 1.5 0 100 3 1.5 1.5 0 000-3zm6.207.293a1 1 0 00-1.414 0l-6 6a1 1 0 101.414 1.414l6-6a1 1 0 000-1.414zM12.5 10a1.5 1.5 0 100 3 1.5 1.5 0 000-3z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiRefresh (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4 2a1 1 0 011 1v2.101a7.002 7.002 0 0111.601 2.566 1 1 0 11-1.885.666A5.002 5.002 0 005.999 7H9a1 1 0 010 2H4a1 1 0 01-1-1V3a1 1 0 011-1zm.008 9.057a1 1 0 011.276.61A5.002 5.002 0 0014.001 13H11a1 1 0 110-2h5a1 1 0 011 1v5a1 1 0 11-2 0v-2.101a7.002 7.002 0 01-11.601-2.566 1 1 0 01.61-1.276z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiReply (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7.707 3.293a1 1 0 010 1.414L5.414 7H11a7 7 0 017 7v2a1 1 0 11-2 0v-2a5 5 0 00-5-5H5.414l2.293 2.293a1 1 0 11-1.414 1.414l-4-4a1 1 0 010-1.414l4-4a1 1 0 011.414 0z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiRewind (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8.445 14.832A1 1 0 0010 14v-2.798l5.445 3.63A1 1 0 0017 14V6a1 1 0 00-1.555-.832L10 8.798V6a1 1 0 00-1.555-.832l-6 4a1 1 0 000 1.664l6 4z\"}}]})(props);\n};\nexport function HiRss (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 3a1 1 0 000 2c5.523 0 10 4.477 10 10a1 1 0 102 0C17 8.373 11.627 3 5 3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 9a1 1 0 011-1 7 7 0 017 7 1 1 0 11-2 0 5 5 0 00-5-5 1 1 0 01-1-1zM3 15a2 2 0 114 0 2 2 0 01-4 0z\"}}]})(props);\n};\nexport function HiSaveAs (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.707 7.293a1 1 0 00-1.414 1.414l3 3a1 1 0 001.414 0l3-3a1 1 0 00-1.414-1.414L13 8.586V5h3a2 2 0 012 2v5a2 2 0 01-2 2H8a2 2 0 01-2-2V7a2 2 0 012-2h3v3.586L9.707 7.293zM11 3a1 1 0 112 0v2h-2V3z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M4 9a2 2 0 00-2 2v5a2 2 0 002 2h8a2 2 0 002-2H4V9z\"}}]})(props);\n};\nexport function HiSave (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M7.707 10.293a1 1 0 10-1.414 1.414l3 3a1 1 0 001.414 0l3-3a1 1 0 00-1.414-1.414L11 11.586V6h5a2 2 0 012 2v7a2 2 0 01-2 2H4a2 2 0 01-2-2V8a2 2 0 012-2h5v5.586l-1.293-1.293zM9 4a1 1 0 012 0v2H9V4z\"}}]})(props);\n};\nexport function HiScale (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10 2a1 1 0 011 1v1.323l3.954 1.582 1.599-.8a1 1 0 01.894 1.79l-1.233.616 1.738 5.42a1 1 0 01-.285 1.05A3.989 3.989 0 0115 15a3.989 3.989 0 01-2.667-1.019 1 1 0 01-.285-1.05l1.715-5.349L11 6.477V16h2a1 1 0 110 2H7a1 1 0 110-2h2V6.477L6.237 7.582l1.715 5.349a1 1 0 01-.285 1.05A3.989 3.989 0 015 15a3.989 3.989 0 01-2.667-1.019 1 1 0 01-.285-1.05l1.738-5.42-1.233-.617a1 1 0 01.894-1.788l1.599.799L9 4.323V3a1 1 0 011-1zm-5 8.274l-.818 2.552c.25.112.526.174.818.174.292 0 .569-.062.818-.174L5 10.274zm10 0l-.818 2.552c.25.112.526.174.818.174.292 0 .569-.062.818-.174L15 10.274z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiScissors (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5.5 2a3.5 3.5 0 101.665 6.58L8.585 10l-1.42 1.42a3.5 3.5 0 101.414 1.414l8.128-8.127a1 1 0 00-1.414-1.414L10 8.586l-1.42-1.42A3.5 3.5 0 005.5 2zM4 5.5a1.5 1.5 0 113 0 1.5 1.5 0 01-3 0zm0 9a1.5 1.5 0 113 0 1.5 1.5 0 01-3 0z\",\"clipRule\":\"evenodd\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12.828 11.414a1 1 0 00-1.414 1.414l3.879 3.88a1 1 0 001.414-1.415l-3.879-3.879z\"}}]})(props);\n};\nexport function HiSearchCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 9a2 2 0 114 0 2 2 0 01-4 0z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10 18a8 8 0 100-16 8 8 0 000 16zm1-13a4 4 0 00-3.446 6.032l-2.261 2.26a1 1 0 101.414 1.415l2.261-2.261A4 4 0 1011 5z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiSearch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 4a4 4 0 100 8 4 4 0 000-8zM2 8a6 6 0 1110.89 3.476l4.817 4.817a1 1 0 01-1.414 1.414l-4.816-4.816A6 6 0 012 8z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiSelector (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10 3a1 1 0 01.707.293l3 3a1 1 0 01-1.414 1.414L10 5.414 7.707 7.707a1 1 0 01-1.414-1.414l3-3A1 1 0 0110 3zm-3.707 9.293a1 1 0 011.414 0L10 14.586l2.293-2.293a1 1 0 011.414 1.414l-3 3a1 1 0 01-1.414 0l-3-3a1 1 0 010-1.414z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiServer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 5a2 2 0 012-2h12a2 2 0 012 2v2a2 2 0 01-2 2H4a2 2 0 01-2-2V5zm14 1a1 1 0 11-2 0 1 1 0 012 0zM2 13a2 2 0 012-2h12a2 2 0 012 2v2a2 2 0 01-2 2H4a2 2 0 01-2-2v-2zm14 1a1 1 0 11-2 0 1 1 0 012 0z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiShare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M15 8a3 3 0 10-2.977-2.63l-4.94 2.47a3 3 0 100 4.319l4.94 2.47a3 3 0 10.895-1.789l-4.94-2.47a3.027 3.027 0 000-.74l4.94-2.47C13.456 7.68 14.19 8 15 8z\"}}]})(props);\n};\nexport function HiShieldCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2.166 4.999A11.954 11.954 0 0010 1.944 11.954 11.954 0 0017.834 5c.11.65.166 1.32.166 2.001 0 5.225-3.34 9.67-8 11.317C5.34 16.67 2 12.225 2 7c0-.682.057-1.35.166-2.001zm11.541 3.708a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiShieldExclamation (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10 1.944A11.954 11.954 0 012.166 5C2.056 5.649 2 6.319 2 7c0 5.225 3.34 9.67 8 11.317C14.66 16.67 18 12.225 18 7c0-.682-.057-1.35-.166-2.001A11.954 11.954 0 0110 1.944zM11 14a1 1 0 11-2 0 1 1 0 012 0zm0-7a1 1 0 10-2 0v3a1 1 0 102 0V7z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiShoppingBag (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10 2a4 4 0 00-4 4v1H5a1 1 0 00-.994.89l-1 9A1 1 0 004 18h12a1 1 0 00.994-1.11l-1-9A1 1 0 0015 7h-1V6a4 4 0 00-4-4zm2 5V6a2 2 0 10-4 0v1h4zm-6 3a1 1 0 112 0 1 1 0 01-2 0zm7-1a1 1 0 100 2 1 1 0 000-2z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiShoppingCart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 1a1 1 0 000 2h1.22l.305 1.222a.997.997 0 00.01.042l1.358 5.43-.893.892C3.74 11.846 4.632 14 6.414 14H15a1 1 0 000-2H6.414l1-1H14a1 1 0 00.894-.553l3-6A1 1 0 0017 3H6.28l-.31-1.243A1 1 0 005 1H3zM16 16.5a1.5 1.5 0 11-3 0 1.5 1.5 0 013 0zM6.5 18a1.5 1.5 0 100-3 1.5 1.5 0 000 3z\"}}]})(props);\n};\nexport function HiSortAscending (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3a1 1 0 000 2h11a1 1 0 100-2H3zM3 7a1 1 0 000 2h5a1 1 0 000-2H3zM3 11a1 1 0 100 2h4a1 1 0 100-2H3zM13 16a1 1 0 102 0v-5.586l1.293 1.293a1 1 0 001.414-1.414l-3-3a1 1 0 00-1.414 0l-3 3a1 1 0 101.414 1.414L13 10.414V16z\"}}]})(props);\n};\nexport function HiSortDescending (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 3a1 1 0 000 2h11a1 1 0 100-2H3zM3 7a1 1 0 000 2h7a1 1 0 100-2H3zM3 11a1 1 0 100 2h4a1 1 0 100-2H3zM15 8a1 1 0 10-2 0v5.586l-1.293-1.293a1 1 0 00-1.414 1.414l3 3a1 1 0 001.414 0l3-3a1 1 0 00-1.414-1.414L15 13.586V8z\"}}]})(props);\n};\nexport function HiSparkles (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5 2a1 1 0 011 1v1h1a1 1 0 010 2H6v1a1 1 0 01-2 0V6H3a1 1 0 010-2h1V3a1 1 0 011-1zm0 10a1 1 0 011 1v1h1a1 1 0 110 2H6v1a1 1 0 11-2 0v-1H3a1 1 0 110-2h1v-1a1 1 0 011-1zM12 2a1 1 0 01.967.744L14.146 7.2 17.5 9.134a1 1 0 010 1.732l-3.354 1.935-1.18 4.455a1 1 0 01-1.933 0L9.854 12.8 6.5 10.866a1 1 0 010-1.732l3.354-1.935 1.18-4.455A1 1 0 0112 2z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiSpeakerphone (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M18 3a1 1 0 00-1.447-.894L8.763 6H5a3 3 0 000 6h.28l1.771 5.316A1 1 0 008 18h1a1 1 0 001-1v-4.382l6.553 3.276A1 1 0 0018 15V3z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiStar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9.049 2.927c.3-.921 1.603-.921 1.902 0l1.07 3.292a1 1 0 00.95.69h3.462c.969 0 1.371 1.24.588 1.81l-2.8 2.034a1 1 0 00-.364 1.118l1.07 3.292c.3.921-.755 1.688-1.54 1.118l-2.8-2.034a1 1 0 00-1.175 0l-2.8 2.034c-.784.57-1.838-.197-1.539-1.118l1.07-3.292a1 1 0 00-.364-1.118L2.98 8.72c-.783-.57-.38-1.81.588-1.81h3.461a1 1 0 00.951-.69l1.07-3.292z\"}}]})(props);\n};\nexport function HiStatusOffline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3.707 2.293a1 1 0 00-1.414 1.414l6.921 6.922c.05.062.105.118.168.167l6.91 6.911a1 1 0 001.415-1.414l-.675-.675a9.001 9.001 0 00-.668-11.982A1 1 0 1014.95 5.05a7.002 7.002 0 01.657 9.143l-1.435-1.435a5.002 5.002 0 00-.636-6.294A1 1 0 0012.12 7.88c.924.923 1.12 2.3.587 3.415l-1.992-1.992a.922.922 0 00-.018-.018l-6.99-6.991zM3.238 8.187a1 1 0 00-1.933-.516c-.8 3-.025 6.336 2.331 8.693a1 1 0 001.414-1.415 6.997 6.997 0 01-1.812-6.762zM7.4 11.5a1 1 0 10-1.73 1c.214.371.48.72.795 1.035a1 1 0 001.414-1.414c-.191-.191-.35-.4-.478-.622z\"}}]})(props);\n};\nexport function HiStatusOnline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5.05 3.636a1 1 0 010 1.414 7 7 0 000 9.9 1 1 0 11-1.414 1.414 9 9 0 010-12.728 1 1 0 011.414 0zm9.9 0a1 1 0 011.414 0 9 9 0 010 12.728 1 1 0 11-1.414-1.414 7 7 0 000-9.9 1 1 0 010-1.414zM7.879 6.464a1 1 0 010 1.414 3 3 0 000 4.243 1 1 0 11-1.415 1.414 5 5 0 010-7.07 1 1 0 011.415 0zm4.242 0a1 1 0 011.415 0 5 5 0 010 7.072 1 1 0 01-1.415-1.415 3 3 0 000-4.242 1 1 0 010-1.415zM10 9a1 1 0 011 1v.01a1 1 0 11-2 0V10a1 1 0 011-1z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiStop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10 18a8 8 0 100-16 8 8 0 000 16zM8 7a1 1 0 00-1 1v4a1 1 0 001 1h4a1 1 0 001-1V8a1 1 0 00-1-1H8z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiSun (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10 2a1 1 0 011 1v1a1 1 0 11-2 0V3a1 1 0 011-1zm4 8a4 4 0 11-8 0 4 4 0 018 0zm-.464 4.95l.707.707a1 1 0 001.414-1.414l-.707-.707a1 1 0 00-1.414 1.414zm2.12-10.607a1 1 0 010 1.414l-.706.707a1 1 0 11-1.414-1.414l.707-.707a1 1 0 011.414 0zM17 11a1 1 0 100-2h-1a1 1 0 100 2h1zm-7 4a1 1 0 011 1v1a1 1 0 11-2 0v-1a1 1 0 011-1zM5.05 6.464A1 1 0 106.465 5.05l-.708-.707a1 1 0 00-1.414 1.414l.707.707zm1.414 8.486l-.707.707a1 1 0 01-1.414-1.414l.707-.707a1 1 0 011.414 1.414zM4 11a1 1 0 100-2H3a1 1 0 000 2h1z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiSupport (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-2 0c0 .993-.241 1.929-.668 2.754l-1.524-1.525a3.997 3.997 0 00.078-2.183l1.562-1.562C15.802 8.249 16 9.1 16 10zm-5.165 3.913l1.58 1.58A5.98 5.98 0 0110 16a5.976 5.976 0 01-2.516-.552l1.562-1.562a4.006 4.006 0 001.789.027zm-4.677-2.796a4.002 4.002 0 01-.041-2.08l-.08.08-1.53-1.533A5.98 5.98 0 004 10c0 .954.223 1.856.619 2.657l1.54-1.54zm1.088-6.45A5.974 5.974 0 0110 4c.954 0 1.856.223 2.657.619l-1.54 1.54a4.002 4.002 0 00-2.346.033L7.246 4.668zM12 10a2 2 0 11-4 0 2 2 0 014 0z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiSwitchHorizontal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 5a1 1 0 100 2h5.586l-1.293 1.293a1 1 0 001.414 1.414l3-3a1 1 0 000-1.414l-3-3a1 1 0 10-1.414 1.414L13.586 5H8zM12 15a1 1 0 100-2H6.414l1.293-1.293a1 1 0 10-1.414-1.414l-3 3a1 1 0 000 1.414l3 3a1 1 0 001.414-1.414L6.414 15H12z\"}}]})(props);\n};\nexport function HiSwitchVertical (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 12a1 1 0 102 0V6.414l1.293 1.293a1 1 0 001.414-1.414l-3-3a1 1 0 00-1.414 0l-3 3a1 1 0 001.414 1.414L5 6.414V12zM15 8a1 1 0 10-2 0v5.586l-1.293-1.293a1 1 0 00-1.414 1.414l3 3a1 1 0 001.414 0l3-3a1 1 0 00-1.414-1.414L15 13.586V8z\"}}]})(props);\n};\nexport function HiTable (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5 4a3 3 0 00-3 3v6a3 3 0 003 3h10a3 3 0 003-3V7a3 3 0 00-3-3H5zm-1 9v-1h5v2H5a1 1 0 01-1-1zm7 1h4a1 1 0 001-1v-1h-5v2zm0-4h5V8h-5v2zM9 8H4v2h5V8z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiTag (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M17.707 9.293a1 1 0 010 1.414l-7 7a1 1 0 01-1.414 0l-7-7A.997.997 0 012 10V5a3 3 0 013-3h5c.256 0 .512.098.707.293l7 7zM5 6a1 1 0 100-2 1 1 0 000 2z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiTemplate (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M3 4a1 1 0 011-1h12a1 1 0 011 1v2a1 1 0 01-1 1H4a1 1 0 01-1-1V4zM3 10a1 1 0 011-1h6a1 1 0 011 1v6a1 1 0 01-1 1H4a1 1 0 01-1-1v-6zM14 9a1 1 0 00-1 1v6a1 1 0 001 1h2a1 1 0 001-1v-6a1 1 0 00-1-1h-2z\"}}]})(props);\n};\nexport function HiTerminal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 5a2 2 0 012-2h12a2 2 0 012 2v10a2 2 0 01-2 2H4a2 2 0 01-2-2V5zm3.293 1.293a1 1 0 011.414 0l3 3a1 1 0 010 1.414l-3 3a1 1 0 01-1.414-1.414L7.586 10 5.293 7.707a1 1 0 010-1.414zM11 12a1 1 0 100 2h3a1 1 0 100-2h-3z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiThumbDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M18 9.5a1.5 1.5 0 11-3 0v-6a1.5 1.5 0 013 0v6zM14 9.667v-5.43a2 2 0 00-1.105-1.79l-.05-.025A4 4 0 0011.055 2H5.64a2 2 0 00-1.962 1.608l-1.2 6A2 2 0 004.44 12H8v4a2 2 0 002 2 1 1 0 001-1v-.667a4 4 0 01.8-2.4l1.4-1.866a4 4 0 00.8-2.4z\"}}]})(props);\n};\nexport function HiThumbUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 10.5a1.5 1.5 0 113 0v6a1.5 1.5 0 01-3 0v-6zM6 10.333v5.43a2 2 0 001.106 1.79l.05.025A4 4 0 008.943 18h5.416a2 2 0 001.962-1.608l1.2-6A2 2 0 0015.56 8H12V4a2 2 0 00-2-2 1 1 0 00-1 1v.667a4 4 0 01-.8 2.4L6.8 7.933a4 4 0 00-.8 2.4z\"}}]})(props);\n};\nexport function HiTicket (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 6a2 2 0 012-2h12a2 2 0 012 2v2a2 2 0 100 4v2a2 2 0 01-2 2H4a2 2 0 01-2-2v-2a2 2 0 100-4V6z\"}}]})(props);\n};\nexport function HiTranslate (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M7 2a1 1 0 011 1v1h3a1 1 0 110 2H9.578a18.87 18.87 0 01-1.724 4.78c.29.354.596.696.914 1.026a1 1 0 11-1.44 1.389c-.188-.196-.373-.396-.554-.6a19.098 19.098 0 01-3.107 3.567 1 1 0 01-1.334-1.49 17.087 17.087 0 003.13-3.733 18.992 18.992 0 01-1.487-2.494 1 1 0 111.79-.89c.234.47.489.928.764 1.372.417-.934.752-1.913.997-2.927H3a1 1 0 110-2h3V3a1 1 0 011-1zm6 6a1 1 0 01.894.553l2.991 5.982a.869.869 0 01.02.037l.99 1.98a1 1 0 11-1.79.895L15.383 16h-4.764l-.724 1.447a1 1 0 11-1.788-.894l.99-1.98.019-.038 2.99-5.982A1 1 0 0113 8zm-1.382 6h2.764L13 11.236 11.618 14z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiTrash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M9 2a1 1 0 00-.894.553L7.382 4H4a1 1 0 000 2v10a2 2 0 002 2h8a2 2 0 002-2V6a1 1 0 100-2h-3.382l-.724-1.447A1 1 0 0011 2H9zM7 8a1 1 0 012 0v6a1 1 0 11-2 0V8zm5-1a1 1 0 00-1 1v6a1 1 0 102 0V8a1 1 0 00-1-1z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiTrendingDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M12 13a1 1 0 100 2h5a1 1 0 001-1V9a1 1 0 10-2 0v2.586l-4.293-4.293a1 1 0 00-1.414 0L8 9.586 3.707 5.293a1 1 0 00-1.414 1.414l5 5a1 1 0 001.414 0L11 9.414 14.586 13H12z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiTrendingUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M12 7a1 1 0 110-2h5a1 1 0 011 1v5a1 1 0 11-2 0V8.414l-4.293 4.293a1 1 0 01-1.414 0L8 10.414l-4.293 4.293a1 1 0 01-1.414-1.414l5-5a1 1 0 011.414 0L11 10.586 14.586 7H12z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiTruck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 16.5a1.5 1.5 0 11-3 0 1.5 1.5 0 013 0zM15 16.5a1.5 1.5 0 11-3 0 1.5 1.5 0 013 0z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M3 4a1 1 0 00-1 1v10a1 1 0 001 1h1.05a2.5 2.5 0 014.9 0H10a1 1 0 001-1V5a1 1 0 00-1-1H3zM14 7a1 1 0 00-1 1v6.05A2.5 2.5 0 0115.95 16H17a1 1 0 001-1v-5a1 1 0 00-.293-.707l-2-2A1 1 0 0015 7h-1z\"}}]})(props);\n};\nexport function HiUpload (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3 17a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zM6.293 6.707a1 1 0 010-1.414l3-3a1 1 0 011.414 0l3 3a1 1 0 01-1.414 1.414L11 5.414V13a1 1 0 11-2 0V5.414L7.707 6.707a1 1 0 01-1.414 0z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiUserAdd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M8 9a3 3 0 100-6 3 3 0 000 6zM8 11a6 6 0 016 6H2a6 6 0 016-6zM16 7a1 1 0 10-2 0v1h-1a1 1 0 100 2h1v1a1 1 0 102 0v-1h1a1 1 0 100-2h-1V7z\"}}]})(props);\n};\nexport function HiUserCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-6-3a2 2 0 11-4 0 2 2 0 014 0zm-2 4a5 5 0 00-4.546 2.916A5.986 5.986 0 0010 16a5.986 5.986 0 004.546-2.084A5 5 0 0010 11z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiUserGroup (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M13 6a3 3 0 11-6 0 3 3 0 016 0zM18 8a2 2 0 11-4 0 2 2 0 014 0zM14 15a4 4 0 00-8 0v3h8v-3zM6 8a2 2 0 11-4 0 2 2 0 014 0zM16 18v-3a5.972 5.972 0 00-.75-2.906A3.005 3.005 0 0119 15v3h-3zM4.75 12.094A5.973 5.973 0 004 15v3H1v-3a3 3 0 013.75-2.906z\"}}]})(props);\n};\nexport function HiUserRemove (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M11 6a3 3 0 11-6 0 3 3 0 016 0zM14 17a6 6 0 00-12 0h12zM13 8a1 1 0 100 2h4a1 1 0 100-2h-4z\"}}]})(props);\n};\nexport function HiUser (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10 9a3 3 0 100-6 3 3 0 000 6zm-7 9a7 7 0 1114 0H3z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiUsers (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 6a3 3 0 11-6 0 3 3 0 016 0zM17 6a3 3 0 11-6 0 3 3 0 016 0zM12.93 17c.046-.327.07-.66.07-1a6.97 6.97 0 00-1.5-4.33A5 5 0 0119 16v1h-6.07zM6 11a5 5 0 015 5v1H1v-1a5 5 0 015-5z\"}}]})(props);\n};\nexport function HiVariable (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4.649 3.084A1 1 0 015.163 4.4 13.95 13.95 0 004 10c0 1.993.416 3.886 1.164 5.6a1 1 0 01-1.832.8A15.95 15.95 0 012 10c0-2.274.475-4.44 1.332-6.4a1 1 0 011.317-.516zM12.96 7a3 3 0 00-2.342 1.126l-.328.41-.111-.279A2 2 0 008.323 7H8a1 1 0 000 2h.323l.532 1.33-1.035 1.295a1 1 0 01-.781.375H7a1 1 0 100 2h.039a3 3 0 002.342-1.126l.328-.41.111.279A2 2 0 0011.677 14H12a1 1 0 100-2h-.323l-.532-1.33 1.035-1.295A1 1 0 0112.961 9H13a1 1 0 100-2h-.039zm1.874-2.6a1 1 0 011.833-.8A15.95 15.95 0 0118 10c0 2.274-.475 4.44-1.332 6.4a1 1 0 11-1.832-.8A13.949 13.949 0 0016 10c0-1.993-.416-3.886-1.165-5.6z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiVideoCamera (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 6a2 2 0 012-2h6a2 2 0 012 2v8a2 2 0 01-2 2H4a2 2 0 01-2-2V6zM14.553 7.106A1 1 0 0014 8v4a1 1 0 00.553.894l2 1A1 1 0 0018 13V7a1 1 0 00-1.447-.894l-2 1z\"}}]})(props);\n};\nexport function HiViewBoards (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M2 4a1 1 0 011-1h2a1 1 0 011 1v12a1 1 0 01-1 1H3a1 1 0 01-1-1V4zM8 4a1 1 0 011-1h2a1 1 0 011 1v12a1 1 0 01-1 1H9a1 1 0 01-1-1V4zM15 3a1 1 0 00-1 1v12a1 1 0 001 1h2a1 1 0 001-1V4a1 1 0 00-1-1h-2z\"}}]})(props);\n};\nexport function HiViewGridAdd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 3a2 2 0 00-2 2v2a2 2 0 002 2h2a2 2 0 002-2V5a2 2 0 00-2-2H5zM5 11a2 2 0 00-2 2v2a2 2 0 002 2h2a2 2 0 002-2v-2a2 2 0 00-2-2H5zM11 5a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2h-2a2 2 0 01-2-2V5zM14 11a1 1 0 011 1v1h1a1 1 0 110 2h-1v1a1 1 0 11-2 0v-1h-1a1 1 0 110-2h1v-1a1 1 0 011-1z\"}}]})(props);\n};\nexport function HiViewGrid (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 3a2 2 0 00-2 2v2a2 2 0 002 2h2a2 2 0 002-2V5a2 2 0 00-2-2H5zM5 11a2 2 0 00-2 2v2a2 2 0 002 2h2a2 2 0 002-2v-2a2 2 0 00-2-2H5zM11 5a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2h-2a2 2 0 01-2-2V5zM11 13a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2h-2a2 2 0 01-2-2v-2z\"}}]})(props);\n};\nexport function HiViewList (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M3 4a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zm0 4a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zm0 4a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zm0 4a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiVolumeOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M9.383 3.076A1 1 0 0110 4v12a1 1 0 01-1.707.707L4.586 13H2a1 1 0 01-1-1V8a1 1 0 011-1h2.586l3.707-3.707a1 1 0 011.09-.217zM12.293 7.293a1 1 0 011.414 0L15 8.586l1.293-1.293a1 1 0 111.414 1.414L16.414 10l1.293 1.293a1 1 0 01-1.414 1.414L15 11.414l-1.293 1.293a1 1 0 01-1.414-1.414L13.586 10l-1.293-1.293a1 1 0 010-1.414z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiVolumeUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M9.383 3.076A1 1 0 0110 4v12a1 1 0 01-1.707.707L4.586 13H2a1 1 0 01-1-1V8a1 1 0 011-1h2.586l3.707-3.707a1 1 0 011.09-.217zM14.657 2.929a1 1 0 011.414 0A9.972 9.972 0 0119 10a9.972 9.972 0 01-2.929 7.071 1 1 0 01-1.414-1.414A7.971 7.971 0 0017 10c0-2.21-.894-4.208-2.343-5.657a1 1 0 010-1.414zm-2.829 2.828a1 1 0 011.415 0A5.983 5.983 0 0115 10a5.984 5.984 0 01-1.757 4.243 1 1 0 01-1.415-1.415A3.984 3.984 0 0013 10a3.983 3.983 0 00-1.172-2.828 1 1 0 010-1.415z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiWifi (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M17.778 8.222c-4.296-4.296-11.26-4.296-15.556 0A1 1 0 01.808 6.808c5.076-5.077 13.308-5.077 18.384 0a1 1 0 01-1.414 1.414zM14.95 11.05a7 7 0 00-9.9 0 1 1 0 01-1.414-1.414 9 9 0 0112.728 0 1 1 0 01-1.414 1.414zM12.12 13.88a3 3 0 00-4.242 0 1 1 0 01-1.415-1.415 5 5 0 017.072 0 1 1 0 01-1.415 1.415zM9 16a1 1 0 011-1h.01a1 1 0 110 2H10a1 1 0 01-1-1z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiXCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiX (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiZoomIn (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M5 8a1 1 0 011-1h1V6a1 1 0 012 0v1h1a1 1 0 110 2H9v1a1 1 0 11-2 0V9H6a1 1 0 01-1-1z\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M2 8a6 6 0 1110.89 3.476l4.817 4.817a1 1 0 01-1.414 1.414l-4.816-4.816A6 6 0 012 8zm6-4a4 4 0 100 8 4 4 0 000-8z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiZoomOut (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M8 4a4 4 0 100 8 4 4 0 000-8zM2 8a6 6 0 1110.89 3.476l4.817 4.817a1 1 0 01-1.414 1.414l-4.816-4.816A6 6 0 012 8z\",\"clipRule\":\"evenodd\"}},{\"tag\":\"path\",\"attr\":{\"fillRule\":\"evenodd\",\"d\":\"M5 8a1 1 0 011-1h4a1 1 0 110 2H6a1 1 0 01-1-1z\",\"clipRule\":\"evenodd\"}}]})(props);\n};\nexport function HiOutlineAcademicCap (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M12 14l9-5-9-5-9 5 9 5z\"}},{\"tag\":\"path\",\"attr\":{\"d\":\"M12 14l6.16-3.422a12.083 12.083 0 01.665 6.479A11.952 11.952 0 0012 20.055a11.952 11.952 0 00-6.824-2.998 12.078 12.078 0 01.665-6.479L12 14z\"}},{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M12 14l9-5-9-5-9 5 9 5zm0 0l6.16-3.422a12.083 12.083 0 01.665 6.479A11.952 11.952 0 0012 20.055a11.952 11.952 0 00-6.824-2.998 12.078 12.078 0 01.665-6.479L12 14zm-4 6v-7.5l4-2.222\"}}]})(props);\n};\nexport function HiOutlineAdjustments (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M12 6V4m0 2a2 2 0 100 4m0-4a2 2 0 110 4m-6 8a2 2 0 100-4m0 4a2 2 0 110-4m0 4v2m0-6V4m6 6v10m6-2a2 2 0 100-4m0 4a2 2 0 110-4m0 4v2m0-6V4\"}}]})(props);\n};\nexport function HiOutlineAnnotation (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M7 8h10M7 12h4m1 8l-4-4H5a2 2 0 01-2-2V6a2 2 0 012-2h14a2 2 0 012 2v8a2 2 0 01-2 2h-3l-4 4z\"}}]})(props);\n};\nexport function HiOutlineArchive (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M5 8h14M5 8a2 2 0 110-4h14a2 2 0 110 4M5 8v10a2 2 0 002 2h10a2 2 0 002-2V8m-9 4h4\"}}]})(props);\n};\nexport function HiOutlineArrowCircleDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M15 13l-3 3m0 0l-3-3m3 3V8m0 13a9 9 0 110-18 9 9 0 010 18z\"}}]})(props);\n};\nexport function HiOutlineArrowCircleLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M11 15l-3-3m0 0l3-3m-3 3h8M3 12a9 9 0 1118 0 9 9 0 01-18 0z\"}}]})(props);\n};\nexport function HiOutlineArrowCircleRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M13 9l3 3m0 0l-3 3m3-3H8m13 0a9 9 0 11-18 0 9 9 0 0118 0z\"}}]})(props);\n};\nexport function HiOutlineArrowCircleUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M9 11l3-3m0 0l3 3m-3-3v8m0-13a9 9 0 110 18 9 9 0 010-18z\"}}]})(props);\n};\nexport function HiOutlineArrowDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M19 14l-7 7m0 0l-7-7m7 7V3\"}}]})(props);\n};\nexport function HiOutlineArrowLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M10 19l-7-7m0 0l7-7m-7 7h18\"}}]})(props);\n};\nexport function HiOutlineArrowNarrowDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M16 17l-4 4m0 0l-4-4m4 4V3\"}}]})(props);\n};\nexport function HiOutlineArrowNarrowLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M7 16l-4-4m0 0l4-4m-4 4h18\"}}]})(props);\n};\nexport function HiOutlineArrowNarrowRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M17 8l4 4m0 0l-4 4m4-4H3\"}}]})(props);\n};\nexport function HiOutlineArrowNarrowUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M8 7l4-4m0 0l4 4m-4-4v18\"}}]})(props);\n};\nexport function HiOutlineArrowRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M14 5l7 7m0 0l-7 7m7-7H3\"}}]})(props);\n};\nexport function HiOutlineArrowSmDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M17 13l-5 5m0 0l-5-5m5 5V6\"}}]})(props);\n};\nexport function HiOutlineArrowSmLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M11 17l-5-5m0 0l5-5m-5 5h12\"}}]})(props);\n};\nexport function HiOutlineArrowSmRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M13 7l5 5m0 0l-5 5m5-5H6\"}}]})(props);\n};\nexport function HiOutlineArrowSmUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M7 11l5-5m0 0l5 5m-5-5v12\"}}]})(props);\n};\nexport function HiOutlineArrowUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M5 10l7-7m0 0l7 7m-7-7v18\"}}]})(props);\n};\nexport function HiOutlineArrowsExpand (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M4 8V4m0 0h4M4 4l5 5m11-1V4m0 0h-4m4 0l-5 5M4 16v4m0 0h4m-4 0l5-5m11 5l-5-5m5 5v-4m0 4h-4\"}}]})(props);\n};\nexport function HiOutlineAtSymbol (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M16 12a4 4 0 10-8 0 4 4 0 008 0zm0 0v1.5a2.5 2.5 0 005 0V12a9 9 0 10-9 9m4.5-1.206a8.959 8.959 0 01-4.5 1.207\"}}]})(props);\n};\nexport function HiOutlineBackspace (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M12 14l2-2m0 0l2-2m-2 2l-2-2m2 2l2 2M3 12l6.414 6.414a2 2 0 001.414.586H19a2 2 0 002-2V7a2 2 0 00-2-2h-8.172a2 2 0 00-1.414.586L3 12z\"}}]})(props);\n};\nexport function HiOutlineBadgeCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M9 12l2 2 4-4M7.835 4.697a3.42 3.42 0 001.946-.806 3.42 3.42 0 014.438 0 3.42 3.42 0 001.946.806 3.42 3.42 0 013.138 3.138 3.42 3.42 0 00.806 1.946 3.42 3.42 0 010 4.438 3.42 3.42 0 00-.806 1.946 3.42 3.42 0 01-3.138 3.138 3.42 3.42 0 00-1.946.806 3.42 3.42 0 01-4.438 0 3.42 3.42 0 00-1.946-.806 3.42 3.42 0 01-3.138-3.138 3.42 3.42 0 00-.806-1.946 3.42 3.42 0 010-4.438 3.42 3.42 0 00.806-1.946 3.42 3.42 0 013.138-3.138z\"}}]})(props);\n};\nexport function HiOutlineBan (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M18.364 18.364A9 9 0 005.636 5.636m12.728 12.728A9 9 0 015.636 5.636m12.728 12.728L5.636 5.636\"}}]})(props);\n};\nexport function HiOutlineBeaker (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M19.428 15.428a2 2 0 00-1.022-.547l-2.387-.477a6 6 0 00-3.86.517l-.318.158a6 6 0 01-3.86.517L6.05 15.21a2 2 0 00-1.806.547M8 4h8l-1 1v5.172a2 2 0 00.586 1.414l5 5c1.26 1.26.367 3.414-1.415 3.414H4.828c-1.782 0-2.674-2.154-1.414-3.414l5-5A2 2 0 009 10.172V5L8 4z\"}}]})(props);\n};\nexport function HiOutlineBell (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M15 17h5l-1.405-1.405A2.032 2.032 0 0118 14.158V11a6.002 6.002 0 00-4-5.659V5a2 2 0 10-4 0v.341C7.67 6.165 6 8.388 6 11v3.159c0 .538-.214 1.055-.595 1.436L4 17h5m6 0v1a3 3 0 11-6 0v-1m6 0H9\"}}]})(props);\n};\nexport function HiOutlineBookOpen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M12 6.253v13m0-13C10.832 5.477 9.246 5 7.5 5S4.168 5.477 3 6.253v13C4.168 18.477 5.754 18 7.5 18s3.332.477 4.5 1.253m0-13C13.168 5.477 14.754 5 16.5 5c1.747 0 3.332.477 4.5 1.253v13C19.832 18.477 18.247 18 16.5 18c-1.746 0-3.332.477-4.5 1.253\"}}]})(props);\n};\nexport function HiOutlineBookmarkAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M16 4v12l-4-2-4 2V4M6 20h12a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2z\"}}]})(props);\n};\nexport function HiOutlineBookmark (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M5 5a2 2 0 012-2h10a2 2 0 012 2v16l-7-3.5L5 21V5z\"}}]})(props);\n};\nexport function HiOutlineBriefcase (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M21 13.255A23.931 23.931 0 0112 15c-3.183 0-6.22-.62-9-1.745M16 6V4a2 2 0 00-2-2h-4a2 2 0 00-2 2v2m4 6h.01M5 20h14a2 2 0 002-2V8a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z\"}}]})(props);\n};\nexport function HiOutlineCake (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M21 15.546c-.523 0-1.046.151-1.5.454a2.704 2.704 0 01-3 0 2.704 2.704 0 00-3 0 2.704 2.704 0 01-3 0 2.704 2.704 0 00-3 0 2.704 2.704 0 01-3 0 2.701 2.701 0 00-1.5-.454M9 6v2m3-2v2m3-2v2M9 3h.01M12 3h.01M15 3h.01M21 21v-7a2 2 0 00-2-2H5a2 2 0 00-2 2v7h18zm-3-9v-2a2 2 0 00-2-2H8a2 2 0 00-2 2v2h12z\"}}]})(props);\n};\nexport function HiOutlineCalculator (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M9 7h6m0 10v-3m-3 3h.01M9 17h.01M9 14h.01M12 14h.01M15 11h.01M12 11h.01M9 11h.01M7 21h10a2 2 0 002-2V5a2 2 0 00-2-2H7a2 2 0 00-2 2v14a2 2 0 002 2z\"}}]})(props);\n};\nexport function HiOutlineCalendar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z\"}}]})(props);\n};\nexport function HiOutlineCamera (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M3 9a2 2 0 012-2h.93a2 2 0 001.664-.89l.812-1.22A2 2 0 0110.07 4h3.86a2 2 0 011.664.89l.812 1.22A2 2 0 0018.07 7H19a2 2 0 012 2v9a2 2 0 01-2 2H5a2 2 0 01-2-2V9z\"}},{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M15 13a3 3 0 11-6 0 3 3 0 016 0z\"}}]})(props);\n};\nexport function HiOutlineCash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M17 9V7a2 2 0 00-2-2H5a2 2 0 00-2 2v6a2 2 0 002 2h2m2 4h10a2 2 0 002-2v-6a2 2 0 00-2-2H9a2 2 0 00-2 2v6a2 2 0 002 2zm7-5a2 2 0 11-4 0 2 2 0 014 0z\"}}]})(props);\n};\nexport function HiOutlineChartBar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M9 19v-6a2 2 0 00-2-2H5a2 2 0 00-2 2v6a2 2 0 002 2h2a2 2 0 002-2zm0 0V9a2 2 0 012-2h2a2 2 0 012 2v10m-6 0a2 2 0 002 2h2a2 2 0 002-2m0 0V5a2 2 0 012-2h2a2 2 0 012 2v14a2 2 0 01-2 2h-2a2 2 0 01-2-2z\"}}]})(props);\n};\nexport function HiOutlineChartPie (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M11 3.055A9.001 9.001 0 1020.945 13H11V3.055z\"}},{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M20.488 9H15V3.512A9.025 9.025 0 0120.488 9z\"}}]})(props);\n};\nexport function HiOutlineChartSquareBar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M16 8v8m-4-5v5m-4-2v2m-2 4h12a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2z\"}}]})(props);\n};\nexport function HiOutlineChatAlt2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M17 8h2a2 2 0 012 2v6a2 2 0 01-2 2h-2v4l-4-4H9a1.994 1.994 0 01-1.414-.586m0 0L11 14h4a2 2 0 002-2V6a2 2 0 00-2-2H5a2 2 0 00-2 2v6a2 2 0 002 2h2v4l.586-.586z\"}}]})(props);\n};\nexport function HiOutlineChatAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M8 10h.01M12 10h.01M16 10h.01M9 16H5a2 2 0 01-2-2V6a2 2 0 012-2h14a2 2 0 012 2v8a2 2 0 01-2 2h-5l-5 5v-5z\"}}]})(props);\n};\nexport function HiOutlineChat (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z\"}}]})(props);\n};\nexport function HiOutlineCheckCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z\"}}]})(props);\n};\nexport function HiOutlineCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M5 13l4 4L19 7\"}}]})(props);\n};\nexport function HiOutlineChevronDoubleDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M19 13l-7 7-7-7m14-8l-7 7-7-7\"}}]})(props);\n};\nexport function HiOutlineChevronDoubleLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M11 19l-7-7 7-7m8 14l-7-7 7-7\"}}]})(props);\n};\nexport function HiOutlineChevronDoubleRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M13 5l7 7-7 7M5 5l7 7-7 7\"}}]})(props);\n};\nexport function HiOutlineChevronDoubleUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M5 11l7-7 7 7M5 19l7-7 7 7\"}}]})(props);\n};\nexport function HiOutlineChevronDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M19 9l-7 7-7-7\"}}]})(props);\n};\nexport function HiOutlineChevronLeft (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M15 19l-7-7 7-7\"}}]})(props);\n};\nexport function HiOutlineChevronRight (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M9 5l7 7-7 7\"}}]})(props);\n};\nexport function HiOutlineChevronUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M5 15l7-7 7 7\"}}]})(props);\n};\nexport function HiOutlineChip (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M9 3v2m6-2v2M9 19v2m6-2v2M5 9H3m2 6H3m18-6h-2m2 6h-2M7 19h10a2 2 0 002-2V7a2 2 0 00-2-2H7a2 2 0 00-2 2v10a2 2 0 002 2zM9 9h6v6H9V9z\"}}]})(props);\n};\nexport function HiOutlineClipboardCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"}}]})(props);\n};\nexport function HiOutlineClipboardCopy (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M8 5H6a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2v-1M8 5a2 2 0 002 2h2a2 2 0 002-2M8 5a2 2 0 012-2h2a2 2 0 012 2m0 0h2a2 2 0 012 2v3m2 4H10m0 0l3-3m-3 3l3 3\"}}]})(props);\n};\nexport function HiOutlineClipboardList (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-3 7h3m-3 4h3m-6-4h.01M9 16h.01\"}}]})(props);\n};\nexport function HiOutlineClipboard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"}}]})(props);\n};\nexport function HiOutlineClock (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z\"}}]})(props);\n};\nexport function HiOutlineCloudDownload (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M7 16a4 4 0 01-.88-7.903A5 5 0 1115.9 6L16 6a5 5 0 011 9.9M9 19l3 3m0 0l3-3m-3 3V10\"}}]})(props);\n};\nexport function HiOutlineCloudUpload (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M7 16a4 4 0 01-.88-7.903A5 5 0 1115.9 6L16 6a5 5 0 011 9.9M15 13l-3-3m0 0l-3 3m3-3v12\"}}]})(props);\n};\nexport function HiOutlineCloud (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M3 15a4 4 0 004 4h9a5 5 0 10-.1-9.999 5.002 5.002 0 10-9.78 2.096A4.001 4.001 0 003 15z\"}}]})(props);\n};\nexport function HiOutlineCode (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M10 20l4-16m4 4l4 4-4 4M6 16l-4-4 4-4\"}}]})(props);\n};\nexport function HiOutlineCog (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z\"}},{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M15 12a3 3 0 11-6 0 3 3 0 016 0z\"}}]})(props);\n};\nexport function HiOutlineCollection (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M19 11H5m14 0a2 2 0 012 2v6a2 2 0 01-2 2H5a2 2 0 01-2-2v-6a2 2 0 012-2m14 0V9a2 2 0 00-2-2M5 11V9a2 2 0 012-2m0 0V5a2 2 0 012-2h6a2 2 0 012 2v2M7 7h10\"}}]})(props);\n};\nexport function HiOutlineColorSwatch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M7 21a4 4 0 01-4-4V5a2 2 0 012-2h4a2 2 0 012 2v12a4 4 0 01-4 4zm0 0h12a2 2 0 002-2v-4a2 2 0 00-2-2h-2.343M11 7.343l1.657-1.657a2 2 0 012.828 0l2.829 2.829a2 2 0 010 2.828l-8.486 8.485M7 17h.01\"}}]})(props);\n};\nexport function HiOutlineCreditCard (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M3 10h18M7 15h1m4 0h1m-7 4h12a3 3 0 003-3V8a3 3 0 00-3-3H6a3 3 0 00-3 3v8a3 3 0 003 3z\"}}]})(props);\n};\nexport function HiOutlineCubeTransparent (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M14 10l-2 1m0 0l-2-1m2 1v2.5M20 7l-2 1m2-1l-2-1m2 1v2.5M14 4l-2-1-2 1M4 7l2-1M4 7l2 1M4 7v2.5M12 21l-2-1m2 1l2-1m-2 1v-2.5M6 18l-2-1v-2.5M18 18l2-1v-2.5\"}}]})(props);\n};\nexport function HiOutlineCube (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M20 7l-8-4-8 4m16 0l-8 4m8-4v10l-8 4m0-10L4 7m8 4v10M4 7v10l8 4\"}}]})(props);\n};\nexport function HiOutlineCurrencyBangladeshi (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M11 11V9a2 2 0 00-2-2m2 4v4a2 2 0 104 0v-1m-4-3H9m2 0h4m6 1a9 9 0 11-18 0 9 9 0 0118 0z\"}}]})(props);\n};\nexport function HiOutlineCurrencyDollar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M12 8c-1.657 0-3 .895-3 2s1.343 2 3 2 3 .895 3 2-1.343 2-3 2m0-8c1.11 0 2.08.402 2.599 1M12 8V7m0 1v8m0 0v1m0-1c-1.11 0-2.08-.402-2.599-1M21 12a9 9 0 11-18 0 9 9 0 0118 0z\"}}]})(props);\n};\nexport function HiOutlineCurrencyEuro (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M14.121 15.536c-1.171 1.952-3.07 1.952-4.242 0-1.172-1.953-1.172-5.119 0-7.072 1.171-1.952 3.07-1.952 4.242 0M8 10.5h4m-4 3h4m9-1.5a9 9 0 11-18 0 9 9 0 0118 0z\"}}]})(props);\n};\nexport function HiOutlineCurrencyPound (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M15 9a2 2 0 10-4 0v5a2 2 0 01-2 2h6m-6-4h4m8 0a9 9 0 11-18 0 9 9 0 0118 0z\"}}]})(props);\n};\nexport function HiOutlineCurrencyRupee (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M9 8h6m-5 0a3 3 0 110 6H9l3 3m-3-6h6m6 1a9 9 0 11-18 0 9 9 0 0118 0z\"}}]})(props);\n};\nexport function HiOutlineCurrencyYen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M9 8l3 5m0 0l3-5m-3 5v4m-3-5h6m-6 3h6m6-3a9 9 0 11-18 0 9 9 0 0118 0z\"}}]})(props);\n};\nexport function HiOutlineCursorClick (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M15 15l-2 5L9 9l11 4-5 2zm0 0l5 5M7.188 2.239l.777 2.897M5.136 7.965l-2.898-.777M13.95 4.05l-2.122 2.122m-5.657 5.656l-2.12 2.122\"}}]})(props);\n};\nexport function HiOutlineDatabase (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M4 7v10c0 2.21 3.582 4 8 4s8-1.79 8-4V7M4 7c0 2.21 3.582 4 8 4s8-1.79 8-4M4 7c0-2.21 3.582-4 8-4s8 1.79 8 4m0 5c0 2.21-3.582 4-8 4s-8-1.79-8-4\"}}]})(props);\n};\nexport function HiOutlineDesktopComputer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M9.75 17L9 20l-1 1h8l-1-1-.75-3M3 13h18M5 17h14a2 2 0 002-2V5a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z\"}}]})(props);\n};\nexport function HiOutlineDeviceMobile (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M12 18h.01M8 21h8a2 2 0 002-2V5a2 2 0 00-2-2H8a2 2 0 00-2 2v14a2 2 0 002 2z\"}}]})(props);\n};\nexport function HiOutlineDeviceTablet (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M12 18h.01M7 21h10a2 2 0 002-2V5a2 2 0 00-2-2H7a2 2 0 00-2 2v14a2 2 0 002 2z\"}}]})(props);\n};\nexport function HiOutlineDocumentAdd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M9 13h6m-3-3v6m5 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z\"}}]})(props);\n};\nexport function HiOutlineDocumentDownload (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M12 10v6m0 0l-3-3m3 3l3-3m2 8H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z\"}}]})(props);\n};\nexport function HiOutlineDocumentDuplicate (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M8 7v8a2 2 0 002 2h6M8 7V5a2 2 0 012-2h4.586a1 1 0 01.707.293l4.414 4.414a1 1 0 01.293.707V15a2 2 0 01-2 2h-2M8 7H6a2 2 0 00-2 2v10a2 2 0 002 2h8a2 2 0 002-2v-2\"}}]})(props);\n};\nexport function HiOutlineDocumentRemove (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M9 13h6m2 8H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z\"}}]})(props);\n};\nexport function HiOutlineDocumentReport (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M9 17v-2m3 2v-4m3 4v-6m2 10H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z\"}}]})(props);\n};\nexport function HiOutlineDocumentSearch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M10 21h7a2 2 0 002-2V9.414a1 1 0 00-.293-.707l-5.414-5.414A1 1 0 0012.586 3H7a2 2 0 00-2 2v11m0 5l4.879-4.879m0 0a3 3 0 104.243-4.242 3 3 0 00-4.243 4.242z\"}}]})(props);\n};\nexport function HiOutlineDocumentText (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z\"}}]})(props);\n};\nexport function HiOutlineDocument (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M7 21h10a2 2 0 002-2V9.414a1 1 0 00-.293-.707l-5.414-5.414A1 1 0 0012.586 3H7a2 2 0 00-2 2v14a2 2 0 002 2z\"}}]})(props);\n};\nexport function HiOutlineDotsCircleHorizontal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M8 12h.01M12 12h.01M16 12h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z\"}}]})(props);\n};\nexport function HiOutlineDotsHorizontal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M5 12h.01M12 12h.01M19 12h.01M6 12a1 1 0 11-2 0 1 1 0 012 0zm7 0a1 1 0 11-2 0 1 1 0 012 0zm7 0a1 1 0 11-2 0 1 1 0 012 0z\"}}]})(props);\n};\nexport function HiOutlineDotsVertical (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M12 5v.01M12 12v.01M12 19v.01M12 6a1 1 0 110-2 1 1 0 010 2zm0 7a1 1 0 110-2 1 1 0 010 2zm0 7a1 1 0 110-2 1 1 0 010 2z\"}}]})(props);\n};\nexport function HiOutlineDownload (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4\"}}]})(props);\n};\nexport function HiOutlineDuplicate (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z\"}}]})(props);\n};\nexport function HiOutlineEmojiHappy (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M14.828 14.828a4 4 0 01-5.656 0M9 10h.01M15 10h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z\"}}]})(props);\n};\nexport function HiOutlineEmojiSad (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M9.172 16.172a4 4 0 015.656 0M9 10h.01M15 10h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z\"}}]})(props);\n};\nexport function HiOutlineExclamationCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z\"}}]})(props);\n};\nexport function HiOutlineExclamation (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z\"}}]})(props);\n};\nexport function HiOutlineExternalLink (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M10 6H6a2 2 0 00-2 2v10a2 2 0 002 2h10a2 2 0 002-2v-4M14 4h6m0 0v6m0-6L10 14\"}}]})(props);\n};\nexport function HiOutlineEyeOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M13.875 18.825A10.05 10.05 0 0112 19c-4.478 0-8.268-2.943-9.543-7a9.97 9.97 0 011.563-3.029m5.858.908a3 3 0 114.243 4.243M9.878 9.878l4.242 4.242M9.88 9.88l-3.29-3.29m7.532 7.532l3.29 3.29M3 3l3.59 3.59m0 0A9.953 9.953 0 0112 5c4.478 0 8.268 2.943 9.543 7a10.025 10.025 0 01-4.132 5.411m0 0L21 21\"}}]})(props);\n};\nexport function HiOutlineEye (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M15 12a3 3 0 11-6 0 3 3 0 016 0z\"}},{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7-1.274 4.057-5.064 7-9.542 7-4.477 0-8.268-2.943-9.542-7z\"}}]})(props);\n};\nexport function HiOutlineFastForward (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M11.933 12.8a1 1 0 000-1.6L6.6 7.2A1 1 0 005 8v8a1 1 0 001.6.8l5.333-4zM19.933 12.8a1 1 0 000-1.6l-5.333-4A1 1 0 0013 8v8a1 1 0 001.6.8l5.333-4z\"}}]})(props);\n};\nexport function HiOutlineFilm (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M7 4v16M17 4v16M3 8h4m10 0h4M3 12h18M3 16h4m10 0h4M4 20h16a1 1 0 001-1V5a1 1 0 00-1-1H4a1 1 0 00-1 1v14a1 1 0 001 1z\"}}]})(props);\n};\nexport function HiOutlineFilter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M3 4a1 1 0 011-1h16a1 1 0 011 1v2.586a1 1 0 01-.293.707l-6.414 6.414a1 1 0 00-.293.707V17l-4 4v-6.586a1 1 0 00-.293-.707L3.293 7.293A1 1 0 013 6.586V4z\"}}]})(props);\n};\nexport function HiOutlineFingerPrint (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M12 11c0 3.517-1.009 6.799-2.753 9.571m-3.44-2.04l.054-.09A13.916 13.916 0 008 11a4 4 0 118 0c0 1.017-.07 2.019-.203 3m-2.118 6.844A21.88 21.88 0 0015.171 17m3.839 1.132c.645-2.266.99-4.659.99-7.132A8 8 0 008 4.07M3 15.364c.64-1.319 1-2.8 1-4.364 0-1.457.39-2.823 1.07-4\"}}]})(props);\n};\nexport function HiOutlineFire (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M17.657 18.657A8 8 0 016.343 7.343S7 9 9 10c0-2 .5-5 2.986-7C14 5 16.09 5.777 17.656 7.343A7.975 7.975 0 0120 13a7.975 7.975 0 01-2.343 5.657z\"}},{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M9.879 16.121A3 3 0 1012.015 11L11 14H9c0 .768.293 1.536.879 2.121z\"}}]})(props);\n};\nexport function HiOutlineFlag (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M3 21v-4m0 0V5a2 2 0 012-2h6.5l1 1H21l-3 6 3 6h-8.5l-1-1H5a2 2 0 00-2 2zm9-13.5V9\"}}]})(props);\n};\nexport function HiOutlineFolderAdd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M9 13h6m-3-3v6m-9 1V7a2 2 0 012-2h6l2 2h6a2 2 0 012 2v8a2 2 0 01-2 2H5a2 2 0 01-2-2z\"}}]})(props);\n};\nexport function HiOutlineFolderDownload (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M12 10v6m0 0l-3-3m3 3l3-3M3 17V7a2 2 0 012-2h6l2 2h6a2 2 0 012 2v8a2 2 0 01-2 2H5a2 2 0 01-2-2z\"}}]})(props);\n};\nexport function HiOutlineFolderOpen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M5 19a2 2 0 01-2-2V7a2 2 0 012-2h4l2 2h4a2 2 0 012 2v1M5 19h14a2 2 0 002-2v-5a2 2 0 00-2-2H9a2 2 0 00-2 2v5a2 2 0 01-2 2z\"}}]})(props);\n};\nexport function HiOutlineFolderRemove (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M9 13h6M3 17V7a2 2 0 012-2h6l2 2h6a2 2 0 012 2v8a2 2 0 01-2 2H5a2 2 0 01-2-2z\"}}]})(props);\n};\nexport function HiOutlineFolder (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M3 7v10a2 2 0 002 2h14a2 2 0 002-2V9a2 2 0 00-2-2h-6l-2-2H5a2 2 0 00-2 2z\"}}]})(props);\n};\nexport function HiOutlineGift (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M12 8v13m0-13V6a2 2 0 112 2h-2zm0 0V5.5A2.5 2.5 0 109.5 8H12zm-7 4h14M5 12a2 2 0 110-4h14a2 2 0 110 4M5 12v7a2 2 0 002 2h10a2 2 0 002-2v-7\"}}]})(props);\n};\nexport function HiOutlineGlobeAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M21 12a9 9 0 01-9 9m9-9a9 9 0 00-9-9m9 9H3m9 9a9 9 0 01-9-9m9 9c1.657 0 3-4.03 3-9s-1.343-9-3-9m0 18c-1.657 0-3-4.03-3-9s1.343-9 3-9m-9 9a9 9 0 019-9\"}}]})(props);\n};\nexport function HiOutlineGlobe (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M3.055 11H5a2 2 0 012 2v1a2 2 0 002 2 2 2 0 012 2v2.945M8 3.935V5.5A2.5 2.5 0 0010.5 8h.5a2 2 0 012 2 2 2 0 104 0 2 2 0 012-2h1.064M15 20.488V18a2 2 0 012-2h3.064M21 12a9 9 0 11-18 0 9 9 0 0118 0z\"}}]})(props);\n};\nexport function HiOutlineHand (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M7 11.5V14m0-2.5v-6a1.5 1.5 0 113 0m-3 6a1.5 1.5 0 00-3 0v2a7.5 7.5 0 0015 0v-5a1.5 1.5 0 00-3 0m-6-3V11m0-5.5v-1a1.5 1.5 0 013 0v1m0 0V11m0-5.5a1.5 1.5 0 013 0v3m0 0V11\"}}]})(props);\n};\nexport function HiOutlineHashtag (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M7 20l4-16m2 16l4-16M6 9h14M4 15h14\"}}]})(props);\n};\nexport function HiOutlineHeart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M4.318 6.318a4.5 4.5 0 000 6.364L12 20.364l7.682-7.682a4.5 4.5 0 00-6.364-6.364L12 7.636l-1.318-1.318a4.5 4.5 0 00-6.364 0z\"}}]})(props);\n};\nexport function HiOutlineHome (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6\"}}]})(props);\n};\nexport function HiOutlineIdentification (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M10 6H5a2 2 0 00-2 2v9a2 2 0 002 2h14a2 2 0 002-2V8a2 2 0 00-2-2h-5m-4 0V5a2 2 0 114 0v1m-4 0a2 2 0 104 0m-5 8a2 2 0 100-4 2 2 0 000 4zm0 0c1.306 0 2.417.835 2.83 2M9 14a3.001 3.001 0 00-2.83 2M15 11h3m-3 4h2\"}}]})(props);\n};\nexport function HiOutlineInboxIn (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M8 4H6a2 2 0 00-2 2v12a2 2 0 002 2h12a2 2 0 002-2V6a2 2 0 00-2-2h-2m-4-1v8m0 0l3-3m-3 3L9 8m-5 5h2.586a1 1 0 01.707.293l2.414 2.414a1 1 0 00.707.293h3.172a1 1 0 00.707-.293l2.414-2.414a1 1 0 01.707-.293H20\"}}]})(props);\n};\nexport function HiOutlineInbox (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M20 13V6a2 2 0 00-2-2H6a2 2 0 00-2 2v7m16 0v5a2 2 0 01-2 2H6a2 2 0 01-2-2v-5m16 0h-2.586a1 1 0 00-.707.293l-2.414 2.414a1 1 0 01-.707.293h-3.172a1 1 0 01-.707-.293l-2.414-2.414A1 1 0 006.586 13H4\"}}]})(props);\n};\nexport function HiOutlineInformationCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z\"}}]})(props);\n};\nexport function HiOutlineKey (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M15 7a2 2 0 012 2m4 0a6 6 0 01-7.743 5.743L11 17H9v2H7v2H4a1 1 0 01-1-1v-2.586a1 1 0 01.293-.707l5.964-5.964A6 6 0 1121 9z\"}}]})(props);\n};\nexport function HiOutlineLibrary (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M8 14v3m4-3v3m4-3v3M3 21h18M3 10h18M3 7l9-4 9 4M4 10h16v11H4V10z\"}}]})(props);\n};\nexport function HiOutlineLightBulb (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M9.663 17h4.673M12 3v1m6.364 1.636l-.707.707M21 12h-1M4 12H3m3.343-5.657l-.707-.707m2.828 9.9a5 5 0 117.072 0l-.548.547A3.374 3.374 0 0014 18.469V19a2 2 0 11-4 0v-.531c0-.895-.356-1.754-.988-2.386l-.548-.547z\"}}]})(props);\n};\nexport function HiOutlineLightningBolt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M13 10V3L4 14h7v7l9-11h-7z\"}}]})(props);\n};\nexport function HiOutlineLink (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M13.828 10.172a4 4 0 00-5.656 0l-4 4a4 4 0 105.656 5.656l1.102-1.101m-.758-4.899a4 4 0 005.656 0l4-4a4 4 0 00-5.656-5.656l-1.1 1.1\"}}]})(props);\n};\nexport function HiOutlineLocationMarker (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M17.657 16.657L13.414 20.9a1.998 1.998 0 01-2.827 0l-4.244-4.243a8 8 0 1111.314 0z\"}},{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M15 11a3 3 0 11-6 0 3 3 0 016 0z\"}}]})(props);\n};\nexport function HiOutlineLockClosed (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M12 15v2m-6 4h12a2 2 0 002-2v-6a2 2 0 00-2-2H6a2 2 0 00-2 2v6a2 2 0 002 2zm10-10V7a4 4 0 00-8 0v4h8z\"}}]})(props);\n};\nexport function HiOutlineLockOpen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M8 11V7a4 4 0 118 0m-4 8v2m-6 4h12a2 2 0 002-2v-6a2 2 0 00-2-2H6a2 2 0 00-2 2v6a2 2 0 002 2z\"}}]})(props);\n};\nexport function HiOutlineLogin (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M11 16l-4-4m0 0l4-4m-4 4h14m-5 4v1a3 3 0 01-3 3H6a3 3 0 01-3-3V7a3 3 0 013-3h7a3 3 0 013 3v1\"}}]})(props);\n};\nexport function HiOutlineLogout (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M17 16l4-4m0 0l-4-4m4 4H7m6 4v1a3 3 0 01-3 3H6a3 3 0 01-3-3V7a3 3 0 013-3h4a3 3 0 013 3v1\"}}]})(props);\n};\nexport function HiOutlineMailOpen (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M3 19v-8.93a2 2 0 01.89-1.664l7-4.666a2 2 0 012.22 0l7 4.666A2 2 0 0121 10.07V19M3 19a2 2 0 002 2h14a2 2 0 002-2M3 19l6.75-4.5M21 19l-6.75-4.5M3 10l6.75 4.5M21 10l-6.75 4.5m0 0l-1.14.76a2 2 0 01-2.22 0l-1.14-.76\"}}]})(props);\n};\nexport function HiOutlineMail (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z\"}}]})(props);\n};\nexport function HiOutlineMap (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M9 20l-5.447-2.724A1 1 0 013 16.382V5.618a1 1 0 011.447-.894L9 7m0 13l6-3m-6 3V7m6 10l4.553 2.276A1 1 0 0021 18.382V7.618a1 1 0 00-.553-.894L15 4m0 13V4m0 0L9 7\"}}]})(props);\n};\nexport function HiOutlineMenuAlt1 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M4 6h16M4 12h8m-8 6h16\"}}]})(props);\n};\nexport function HiOutlineMenuAlt2 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M4 6h16M4 12h16M4 18h7\"}}]})(props);\n};\nexport function HiOutlineMenuAlt3 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M4 6h16M4 12h16m-7 6h7\"}}]})(props);\n};\nexport function HiOutlineMenuAlt4 (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M4 8h16M4 16h16\"}}]})(props);\n};\nexport function HiOutlineMenu (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M4 6h16M4 12h16M4 18h16\"}}]})(props);\n};\nexport function HiOutlineMicrophone (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M19 11a7 7 0 01-7 7m0 0a7 7 0 01-7-7m7 7v4m0 0H8m4 0h4m-4-8a3 3 0 01-3-3V5a3 3 0 116 0v6a3 3 0 01-3 3z\"}}]})(props);\n};\nexport function HiOutlineMinusCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M15 12H9m12 0a9 9 0 11-18 0 9 9 0 0118 0z\"}}]})(props);\n};\nexport function HiOutlineMinusSm (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M18 12H6\"}}]})(props);\n};\nexport function HiOutlineMinus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M20 12H4\"}}]})(props);\n};\nexport function HiOutlineMoon (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M20.354 15.354A9 9 0 018.646 3.646 9.003 9.003 0 0012 21a9.003 9.003 0 008.354-5.646z\"}}]})(props);\n};\nexport function HiOutlineMusicNote (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M9 19V6l12-3v13M9 19c0 1.105-1.343 2-3 2s-3-.895-3-2 1.343-2 3-2 3 .895 3 2zm12-3c0 1.105-1.343 2-3 2s-3-.895-3-2 1.343-2 3-2 3 .895 3 2zM9 10l12-3\"}}]})(props);\n};\nexport function HiOutlineNewspaper (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M19 20H5a2 2 0 01-2-2V6a2 2 0 012-2h10a2 2 0 012 2v1m2 13a2 2 0 01-2-2V7m2 13a2 2 0 002-2V9a2 2 0 00-2-2h-2m-4-3H9M7 16h6M7 8h6v4H7V8z\"}}]})(props);\n};\nexport function HiOutlineOfficeBuilding (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M19 21V5a2 2 0 00-2-2H7a2 2 0 00-2 2v16m14 0h2m-2 0h-5m-9 0H3m2 0h5M9 7h1m-1 4h1m4-4h1m-1 4h1m-5 10v-5a1 1 0 011-1h2a1 1 0 011 1v5m-4 0h4\"}}]})(props);\n};\nexport function HiOutlinePaperAirplane (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M12 19l9 2-9-18-9 18 9-2zm0 0v-8\"}}]})(props);\n};\nexport function HiOutlinePaperClip (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M15.172 7l-6.586 6.586a2 2 0 102.828 2.828l6.414-6.586a4 4 0 00-5.656-5.656l-6.415 6.585a6 6 0 108.486 8.486L20.5 13\"}}]})(props);\n};\nexport function HiOutlinePause (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M10 9v6m4-6v6m7-3a9 9 0 11-18 0 9 9 0 0118 0z\"}}]})(props);\n};\nexport function HiOutlinePencilAlt (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z\"}}]})(props);\n};\nexport function HiOutlinePencil (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M15.232 5.232l3.536 3.536m-2.036-5.036a2.5 2.5 0 113.536 3.536L6.5 21.036H3v-3.572L16.732 3.732z\"}}]})(props);\n};\nexport function HiOutlinePhoneIncoming (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M21 3l-6 6m0 0V4m0 5h5M5 3a2 2 0 00-2 2v1c0 8.284 6.716 15 15 15h1a2 2 0 002-2v-3.28a1 1 0 00-.684-.948l-4.493-1.498a1 1 0 00-1.21.502l-1.13 2.257a11.042 11.042 0 01-5.516-5.517l2.257-1.128a1 1 0 00.502-1.21L9.228 3.683A1 1 0 008.279 3H5z\"}}]})(props);\n};\nexport function HiOutlinePhoneMissedCall (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M16 8l2-2m0 0l2-2m-2 2l-2-2m2 2l2 2M5 3a2 2 0 00-2 2v1c0 8.284 6.716 15 15 15h1a2 2 0 002-2v-3.28a1 1 0 00-.684-.948l-4.493-1.498a1 1 0 00-1.21.502l-1.13 2.257a11.042 11.042 0 01-5.516-5.517l2.257-1.128a1 1 0 00.502-1.21L9.228 3.683A1 1 0 008.279 3H5z\"}}]})(props);\n};\nexport function HiOutlinePhoneOutgoing (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M16 3h5m0 0v5m0-5l-6 6M5 3a2 2 0 00-2 2v1c0 8.284 6.716 15 15 15h1a2 2 0 002-2v-3.28a1 1 0 00-.684-.948l-4.493-1.498a1 1 0 00-1.21.502l-1.13 2.257a11.042 11.042 0 01-5.516-5.517l2.257-1.128a1 1 0 00.502-1.21L9.228 3.683A1 1 0 008.279 3H5z\"}}]})(props);\n};\nexport function HiOutlinePhone (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M3 5a2 2 0 012-2h3.28a1 1 0 01.948.684l1.498 4.493a1 1 0 01-.502 1.21l-2.257 1.13a11.042 11.042 0 005.516 5.516l1.13-2.257a1 1 0 011.21-.502l4.493 1.498a1 1 0 01.684.949V19a2 2 0 01-2 2h-1C9.716 21 3 14.284 3 6V5z\"}}]})(props);\n};\nexport function HiOutlinePhotograph (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M4 16l4.586-4.586a2 2 0 012.828 0L16 16m-2-2l1.586-1.586a2 2 0 012.828 0L20 14m-6-6h.01M6 20h12a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2z\"}}]})(props);\n};\nexport function HiOutlinePlay (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M14.752 11.168l-3.197-2.132A1 1 0 0010 9.87v4.263a1 1 0 001.555.832l3.197-2.132a1 1 0 000-1.664z\"}},{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M21 12a9 9 0 11-18 0 9 9 0 0118 0z\"}}]})(props);\n};\nexport function HiOutlinePlusCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M12 9v3m0 0v3m0-3h3m-3 0H9m12 0a9 9 0 11-18 0 9 9 0 0118 0z\"}}]})(props);\n};\nexport function HiOutlinePlusSm (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M12 6v6m0 0v6m0-6h6m-6 0H6\"}}]})(props);\n};\nexport function HiOutlinePlus (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M12 4v16m8-8H4\"}}]})(props);\n};\nexport function HiOutlinePresentationChartBar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M8 13v-1m4 1v-3m4 3V8M8 21l4-4 4 4M3 4h18M4 4h16v12a1 1 0 01-1 1H5a1 1 0 01-1-1V4z\"}}]})(props);\n};\nexport function HiOutlinePresentationChartLine (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M7 12l3-3 3 3 4-4M8 21l4-4 4 4M3 4h18M4 4h16v12a1 1 0 01-1 1H5a1 1 0 01-1-1V4z\"}}]})(props);\n};\nexport function HiOutlinePrinter (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M17 17h2a2 2 0 002-2v-4a2 2 0 00-2-2H5a2 2 0 00-2 2v4a2 2 0 002 2h2m2 4h6a2 2 0 002-2v-4a2 2 0 00-2-2H9a2 2 0 00-2 2v4a2 2 0 002 2zm8-12V5a2 2 0 00-2-2H9a2 2 0 00-2 2v4h10z\"}}]})(props);\n};\nexport function HiOutlinePuzzle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M11 4a2 2 0 114 0v1a1 1 0 001 1h3a1 1 0 011 1v3a1 1 0 01-1 1h-1a2 2 0 100 4h1a1 1 0 011 1v3a1 1 0 01-1 1h-3a1 1 0 01-1-1v-1a2 2 0 10-4 0v1a1 1 0 01-1 1H7a1 1 0 01-1-1v-3a1 1 0 00-1-1H4a2 2 0 110-4h1a1 1 0 001-1V7a1 1 0 011-1h3a1 1 0 001-1V4z\"}}]})(props);\n};\nexport function HiOutlineQrcode (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M12 4v1m6 11h2m-6 0h-2v4m0-11v3m0 0h.01M12 12h4.01M16 20h4M4 12h4m12 0h.01M5 8h2a1 1 0 001-1V5a1 1 0 00-1-1H5a1 1 0 00-1 1v2a1 1 0 001 1zm12 0h2a1 1 0 001-1V5a1 1 0 00-1-1h-2a1 1 0 00-1 1v2a1 1 0 001 1zM5 20h2a1 1 0 001-1v-2a1 1 0 00-1-1H5a1 1 0 00-1 1v2a1 1 0 001 1z\"}}]})(props);\n};\nexport function HiOutlineQuestionMarkCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M8.228 9c.549-1.165 2.03-2 3.772-2 2.21 0 4 1.343 4 3 0 1.4-1.278 2.575-3.006 2.907-.542.104-.994.54-.994 1.093m0 3h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z\"}}]})(props);\n};\nexport function HiOutlineReceiptRefund (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M16 15v-1a4 4 0 00-4-4H8m0 0l3 3m-3-3l3-3m9 14V5a2 2 0 00-2-2H6a2 2 0 00-2 2v16l4-2 4 2 4-2 4 2z\"}}]})(props);\n};\nexport function HiOutlineReceiptTax (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M9 14l6-6m-5.5.5h.01m4.99 5h.01M19 21V5a2 2 0 00-2-2H7a2 2 0 00-2 2v16l3.5-2 3.5 2 3.5-2 3.5 2zM10 8.5a.5.5 0 11-1 0 .5.5 0 011 0zm5 5a.5.5 0 11-1 0 .5.5 0 011 0z\"}}]})(props);\n};\nexport function HiOutlineRefresh (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15\"}}]})(props);\n};\nexport function HiOutlineReply (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M3 10h10a8 8 0 018 8v2M3 10l6 6m-6-6l6-6\"}}]})(props);\n};\nexport function HiOutlineRewind (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M12.066 11.2a1 1 0 000 1.6l5.334 4A1 1 0 0019 16V8a1 1 0 00-1.6-.8l-5.333 4zM4.066 11.2a1 1 0 000 1.6l5.334 4A1 1 0 0011 16V8a1 1 0 00-1.6-.8l-5.334 4z\"}}]})(props);\n};\nexport function HiOutlineRss (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M6 5c7.18 0 13 5.82 13 13M6 11a7 7 0 017 7m-6 0a1 1 0 11-2 0 1 1 0 012 0z\"}}]})(props);\n};\nexport function HiOutlineSaveAs (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M17 16v2a2 2 0 01-2 2H5a2 2 0 01-2-2v-7a2 2 0 012-2h2m3-4H9a2 2 0 00-2 2v7a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-1m-1 4l-3 3m0 0l-3-3m3 3V3\"}}]})(props);\n};\nexport function HiOutlineSave (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M8 7H5a2 2 0 00-2 2v9a2 2 0 002 2h14a2 2 0 002-2V9a2 2 0 00-2-2h-3m-1 4l-3 3m0 0l-3-3m3 3V4\"}}]})(props);\n};\nexport function HiOutlineScale (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M3 6l3 1m0 0l-3 9a5.002 5.002 0 006.001 0M6 7l3 9M6 7l6-2m6 2l3-1m-3 1l-3 9a5.002 5.002 0 006.001 0M18 7l3 9m-3-9l-6-2m0-2v2m0 16V5m0 16H9m3 0h3\"}}]})(props);\n};\nexport function HiOutlineScissors (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M14.121 14.121L19 19m-7-7l7-7m-7 7l-2.879 2.879M12 12L9.121 9.121m0 5.758a3 3 0 10-4.243 4.243 3 3 0 004.243-4.243zm0-5.758a3 3 0 10-4.243-4.243 3 3 0 004.243 4.243z\"}}]})(props);\n};\nexport function HiOutlineSearchCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M8 16l2.879-2.879m0 0a3 3 0 104.243-4.242 3 3 0 00-4.243 4.242zM21 12a9 9 0 11-18 0 9 9 0 0118 0z\"}}]})(props);\n};\nexport function HiOutlineSearch (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z\"}}]})(props);\n};\nexport function HiOutlineSelector (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M8 9l4-4 4 4m0 6l-4 4-4-4\"}}]})(props);\n};\nexport function HiOutlineServer (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M5 12h14M5 12a2 2 0 01-2-2V6a2 2 0 012-2h14a2 2 0 012 2v4a2 2 0 01-2 2M5 12a2 2 0 00-2 2v4a2 2 0 002 2h14a2 2 0 002-2v-4a2 2 0 00-2-2m-2-4h.01M17 16h.01\"}}]})(props);\n};\nexport function HiOutlineShare (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M8.684 13.342C8.886 12.938 9 12.482 9 12c0-.482-.114-.938-.316-1.342m0 2.684a3 3 0 110-2.684m0 2.684l6.632 3.316m-6.632-6l6.632-3.316m0 0a3 3 0 105.367-2.684 3 3 0 00-5.367 2.684zm0 9.316a3 3 0 105.368 2.684 3 3 0 00-5.368-2.684z\"}}]})(props);\n};\nexport function HiOutlineShieldCheck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M9 12l2 2 4-4m5.618-4.016A11.955 11.955 0 0112 2.944a11.955 11.955 0 01-8.618 3.04A12.02 12.02 0 003 9c0 5.591 3.824 10.29 9 11.622 5.176-1.332 9-6.03 9-11.622 0-1.042-.133-2.052-.382-3.016z\"}}]})(props);\n};\nexport function HiOutlineShieldExclamation (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M20.618 5.984A11.955 11.955 0 0112 2.944a11.955 11.955 0 01-8.618 3.04A12.02 12.02 0 003 9c0 5.591 3.824 10.29 9 11.622 5.176-1.332 9-6.03 9-11.622 0-1.042-.133-2.052-.382-3.016zM12 9v2m0 4h.01\"}}]})(props);\n};\nexport function HiOutlineShoppingBag (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M16 11V7a4 4 0 00-8 0v4M5 9h14l1 12H4L5 9z\"}}]})(props);\n};\nexport function HiOutlineShoppingCart (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M3 3h2l.4 2M7 13h10l4-8H5.4M7 13L5.4 5M7 13l-2.293 2.293c-.63.63-.184 1.707.707 1.707H17m0 0a2 2 0 100 4 2 2 0 000-4zm-8 2a2 2 0 11-4 0 2 2 0 014 0z\"}}]})(props);\n};\nexport function HiOutlineSortAscending (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M3 4h13M3 8h9m-9 4h6m4 0l4-4m0 0l4 4m-4-4v12\"}}]})(props);\n};\nexport function HiOutlineSortDescending (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M3 4h13M3 8h9m-9 4h9m5-4v12m0 0l-4-4m4 4l4-4\"}}]})(props);\n};\nexport function HiOutlineSparkles (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M5 3v4M3 5h4M6 17v4m-2-2h4m5-16l2.286 6.857L21 12l-5.714 2.143L13 21l-2.286-6.857L5 12l5.714-2.143L13 3z\"}}]})(props);\n};\nexport function HiOutlineSpeakerphone (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M11 5.882V19.24a1.76 1.76 0 01-3.417.592l-2.147-6.15M18 13a3 3 0 100-6M5.436 13.683A4.001 4.001 0 017 6h1.832c4.1 0 7.625-1.234 9.168-3v14c-1.543-1.766-5.067-3-9.168-3H7a3.988 3.988 0 01-1.564-.317z\"}}]})(props);\n};\nexport function HiOutlineStar (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M11.049 2.927c.3-.921 1.603-.921 1.902 0l1.519 4.674a1 1 0 00.95.69h4.915c.969 0 1.371 1.24.588 1.81l-3.976 2.888a1 1 0 00-.363 1.118l1.518 4.674c.3.922-.755 1.688-1.538 1.118l-3.976-2.888a1 1 0 00-1.176 0l-3.976 2.888c-.783.57-1.838-.197-1.538-1.118l1.518-4.674a1 1 0 00-.363-1.118l-3.976-2.888c-.784-.57-.38-1.81.588-1.81h4.914a1 1 0 00.951-.69l1.519-4.674z\"}}]})(props);\n};\nexport function HiOutlineStatusOffline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M18.364 5.636a9 9 0 010 12.728m0 0l-2.829-2.829m2.829 2.829L21 21M15.536 8.464a5 5 0 010 7.072m0 0l-2.829-2.829m-4.243 2.829a4.978 4.978 0 01-1.414-2.83m-1.414 5.658a9 9 0 01-2.167-9.238m7.824 2.167a1 1 0 111.414 1.414m-1.414-1.414L3 3m8.293 8.293l1.414 1.414\"}}]})(props);\n};\nexport function HiOutlineStatusOnline (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M5.636 18.364a9 9 0 010-12.728m12.728 0a9 9 0 010 12.728m-9.9-2.829a5 5 0 010-7.07m7.072 0a5 5 0 010 7.07M13 12a1 1 0 11-2 0 1 1 0 012 0z\"}}]})(props);\n};\nexport function HiOutlineStop (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M21 12a9 9 0 11-18 0 9 9 0 0118 0z\"}},{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M9 10a1 1 0 011-1h4a1 1 0 011 1v4a1 1 0 01-1 1h-4a1 1 0 01-1-1v-4z\"}}]})(props);\n};\nexport function HiOutlineSun (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M12 3v1m0 16v1m9-9h-1M4 12H3m15.364 6.364l-.707-.707M6.343 6.343l-.707-.707m12.728 0l-.707.707M6.343 17.657l-.707.707M16 12a4 4 0 11-8 0 4 4 0 018 0z\"}}]})(props);\n};\nexport function HiOutlineSupport (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M18.364 5.636l-3.536 3.536m0 5.656l3.536 3.536M9.172 9.172L5.636 5.636m3.536 9.192l-3.536 3.536M21 12a9 9 0 11-18 0 9 9 0 0118 0zm-5 0a4 4 0 11-8 0 4 4 0 018 0z\"}}]})(props);\n};\nexport function HiOutlineSwitchHorizontal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M8 7h12m0 0l-4-4m4 4l-4 4m0 6H4m0 0l4 4m-4-4l4-4\"}}]})(props);\n};\nexport function HiOutlineSwitchVertical (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M7 16V4m0 0L3 8m4-4l4 4m6 0v12m0 0l4-4m-4 4l-4-4\"}}]})(props);\n};\nexport function HiOutlineTable (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M3 10h18M3 14h18m-9-4v8m-7 0h14a2 2 0 002-2V8a2 2 0 00-2-2H5a2 2 0 00-2 2v8a2 2 0 002 2z\"}}]})(props);\n};\nexport function HiOutlineTag (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M7 7h.01M7 3h5c.512 0 1.024.195 1.414.586l7 7a2 2 0 010 2.828l-7 7a2 2 0 01-2.828 0l-7-7A1.994 1.994 0 013 12V7a4 4 0 014-4z\"}}]})(props);\n};\nexport function HiOutlineTemplate (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M4 5a1 1 0 011-1h14a1 1 0 011 1v2a1 1 0 01-1 1H5a1 1 0 01-1-1V5zM4 13a1 1 0 011-1h6a1 1 0 011 1v6a1 1 0 01-1 1H5a1 1 0 01-1-1v-6zM16 13a1 1 0 011-1h2a1 1 0 011 1v6a1 1 0 01-1 1h-2a1 1 0 01-1-1v-6z\"}}]})(props);\n};\nexport function HiOutlineTerminal (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M8 9l3 3-3 3m5 0h3M5 20h14a2 2 0 002-2V6a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z\"}}]})(props);\n};\nexport function HiOutlineThumbDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M10 14H5.236a2 2 0 01-1.789-2.894l3.5-7A2 2 0 018.736 3h4.018a2 2 0 01.485.06l3.76.94m-7 10v5a2 2 0 002 2h.096c.5 0 .905-.405.905-.904 0-.715.211-1.413.608-2.008L17 13V4m-7 10h2m5-10h2a2 2 0 012 2v6a2 2 0 01-2 2h-2.5\"}}]})(props);\n};\nexport function HiOutlineThumbUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M14 10h4.764a2 2 0 011.789 2.894l-3.5 7A2 2 0 0115.263 21h-4.017c-.163 0-.326-.02-.485-.06L7 20m7-10V5a2 2 0 00-2-2h-.095c-.5 0-.905.405-.905.905 0 .714-.211 1.412-.608 2.006L7 11v9m7-10h-2M7 20H5a2 2 0 01-2-2v-6a2 2 0 012-2h2.5\"}}]})(props);\n};\nexport function HiOutlineTicket (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M15 5v2m0 4v2m0 4v2M5 5a2 2 0 00-2 2v3a2 2 0 110 4v3a2 2 0 002 2h14a2 2 0 002-2v-3a2 2 0 110-4V7a2 2 0 00-2-2H5z\"}}]})(props);\n};\nexport function HiOutlineTranslate (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M3 5h12M9 3v2m1.048 9.5A18.022 18.022 0 016.412 9m6.088 9h7M11 21l5-10 5 10M12.751 5C11.783 10.77 8.07 15.61 3 18.129\"}}]})(props);\n};\nexport function HiOutlineTrash (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16\"}}]})(props);\n};\nexport function HiOutlineTrendingDown (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M13 17h8m0 0V9m0 8l-8-8-4 4-6-6\"}}]})(props);\n};\nexport function HiOutlineTrendingUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M13 7h8m0 0v8m0-8l-8 8-4-4-6 6\"}}]})(props);\n};\nexport function HiOutlineTruck (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"d\":\"M9 17a2 2 0 11-4 0 2 2 0 014 0zM19 17a2 2 0 11-4 0 2 2 0 014 0z\"}},{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M13 16V6a1 1 0 00-1-1H4a1 1 0 00-1 1v10a1 1 0 001 1h1m8-1a1 1 0 01-1 1H9m4-1V8a1 1 0 011-1h2.586a1 1 0 01.707.293l3.414 3.414a1 1 0 01.293.707V16a1 1 0 01-1 1h-1m-6-1a1 1 0 001 1h1M5 17a2 2 0 104 0m-4 0a2 2 0 114 0m6 0a2 2 0 104 0m-4 0a2 2 0 114 0\"}}]})(props);\n};\nexport function HiOutlineUpload (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-8l-4-4m0 0L8 8m4-4v12\"}}]})(props);\n};\nexport function HiOutlineUserAdd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M18 9v3m0 0v3m0-3h3m-3 0h-3m-2-5a4 4 0 11-8 0 4 4 0 018 0zM3 20a6 6 0 0112 0v1H3v-1z\"}}]})(props);\n};\nexport function HiOutlineUserCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M5.121 17.804A13.937 13.937 0 0112 16c2.5 0 4.847.655 6.879 1.804M15 10a3 3 0 11-6 0 3 3 0 016 0zm6 2a9 9 0 11-18 0 9 9 0 0118 0z\"}}]})(props);\n};\nexport function HiOutlineUserGroup (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M17 20h5v-2a3 3 0 00-5.356-1.857M17 20H7m10 0v-2c0-.656-.126-1.283-.356-1.857M7 20H2v-2a3 3 0 015.356-1.857M7 20v-2c0-.656.126-1.283.356-1.857m0 0a5.002 5.002 0 019.288 0M15 7a3 3 0 11-6 0 3 3 0 016 0zm6 3a2 2 0 11-4 0 2 2 0 014 0zM7 10a2 2 0 11-4 0 2 2 0 014 0z\"}}]})(props);\n};\nexport function HiOutlineUserRemove (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M13 7a4 4 0 11-8 0 4 4 0 018 0zM9 14a6 6 0 00-6 6v1h12v-1a6 6 0 00-6-6zM21 12h-6\"}}]})(props);\n};\nexport function HiOutlineUser (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z\"}}]})(props);\n};\nexport function HiOutlineUsers (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M12 4.354a4 4 0 110 5.292M15 21H3v-1a6 6 0 0112 0v1zm0 0h6v-1a6 6 0 00-9-5.197M13 7a4 4 0 11-8 0 4 4 0 018 0z\"}}]})(props);\n};\nexport function HiOutlineVariable (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M4.871 4A17.926 17.926 0 003 12c0 2.874.673 5.59 1.871 8m14.13 0a17.926 17.926 0 001.87-8c0-2.874-.673-5.59-1.87-8M9 9h1.246a1 1 0 01.961.725l1.586 5.55a1 1 0 00.961.725H15m1-7h-.08a2 2 0 00-1.519.698L9.6 15.302A2 2 0 018.08 16H8\"}}]})(props);\n};\nexport function HiOutlineVideoCamera (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M15 10l4.553-2.276A1 1 0 0121 8.618v6.764a1 1 0 01-1.447.894L15 14M5 18h8a2 2 0 002-2V8a2 2 0 00-2-2H5a2 2 0 00-2 2v8a2 2 0 002 2z\"}}]})(props);\n};\nexport function HiOutlineViewBoards (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M9 17V7m0 10a2 2 0 01-2 2H5a2 2 0 01-2-2V7a2 2 0 012-2h2a2 2 0 012 2m0 10a2 2 0 002 2h2a2 2 0 002-2M9 7a2 2 0 012-2h2a2 2 0 012 2m0 10V7m0 10a2 2 0 002 2h2a2 2 0 002-2V7a2 2 0 00-2-2h-2a2 2 0 00-2 2\"}}]})(props);\n};\nexport function HiOutlineViewGridAdd (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M17 14v6m-3-3h6M6 10h2a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v2a2 2 0 002 2zm10 0h2a2 2 0 002-2V6a2 2 0 00-2-2h-2a2 2 0 00-2 2v2a2 2 0 002 2zM6 20h2a2 2 0 002-2v-2a2 2 0 00-2-2H6a2 2 0 00-2 2v2a2 2 0 002 2z\"}}]})(props);\n};\nexport function HiOutlineViewGrid (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M4 6a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2H6a2 2 0 01-2-2V6zM14 6a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2h-2a2 2 0 01-2-2V6zM4 16a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2H6a2 2 0 01-2-2v-2zM14 16a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2h-2a2 2 0 01-2-2v-2z\"}}]})(props);\n};\nexport function HiOutlineViewList (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M4 6h16M4 10h16M4 14h16M4 18h16\"}}]})(props);\n};\nexport function HiOutlineVolumeOff (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M5.586 15H4a1 1 0 01-1-1v-4a1 1 0 011-1h1.586l4.707-4.707C10.923 3.663 12 4.109 12 5v14c0 .891-1.077 1.337-1.707.707L5.586 15z\",\"clipRule\":\"evenodd\"}},{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M17 14l2-2m0 0l2-2m-2 2l-2-2m2 2l2 2\"}}]})(props);\n};\nexport function HiOutlineVolumeUp (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M15.536 8.464a5 5 0 010 7.072m2.828-9.9a9 9 0 010 12.728M5.586 15H4a1 1 0 01-1-1v-4a1 1 0 011-1h1.586l4.707-4.707C10.923 3.663 12 4.109 12 5v14c0 .891-1.077 1.337-1.707.707L5.586 15z\"}}]})(props);\n};\nexport function HiOutlineWifi (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M8.111 16.404a5.5 5.5 0 017.778 0M12 20h.01m-7.08-7.071c3.904-3.905 10.236-3.905 14.141 0M1.394 9.393c5.857-5.857 15.355-5.857 21.213 0\"}}]})(props);\n};\nexport function HiOutlineXCircle (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M10 14l2-2m0 0l2-2m-2 2l-2-2m2 2l2 2m7-2a9 9 0 11-18 0 9 9 0 0118 0z\"}}]})(props);\n};\nexport function HiOutlineX (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M6 18L18 6M6 6l12 12\"}}]})(props);\n};\nexport function HiOutlineZoomIn (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0zM10 7v3m0 0v3m0-3h3m-3 0H7\"}}]})(props);\n};\nexport function HiOutlineZoomOut (props) {\n return GenIcon({\"tag\":\"svg\",\"attr\":{\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"},\"child\":[{\"tag\":\"path\",\"attr\":{\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"strokeWidth\":\"2\",\"d\":\"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0zM13 10H7\"}}]})(props);\n};\n","export var IconsManifest = [\n {\n \"id\": \"ci\",\n \"name\": \"Circum Icons\",\n \"projectUrl\": \"https://circumicons.com/\",\n \"license\": \"MPL-2.0 license\",\n \"licenseUrl\": \"https://github.com/Klarr-Agency/Circum-Icons/blob/main/LICENSE\"\n },\n {\n \"id\": \"fa\",\n \"name\": \"Font Awesome\",\n \"projectUrl\": \"https://fontawesome.com/\",\n \"license\": \"CC BY 4.0 License\",\n \"licenseUrl\": \"https://creativecommons.org/licenses/by/4.0/\"\n },\n {\n \"id\": \"io\",\n \"name\": \"Ionicons 4\",\n \"projectUrl\": \"https://ionicons.com/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/ionic-team/ionicons/blob/master/LICENSE\"\n },\n {\n \"id\": \"io5\",\n \"name\": \"Ionicons 5\",\n \"projectUrl\": \"https://ionicons.com/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/ionic-team/ionicons/blob/master/LICENSE\"\n },\n {\n \"id\": \"md\",\n \"name\": \"Material Design icons\",\n \"projectUrl\": \"http://google.github.io/material-design-icons/\",\n \"license\": \"Apache License Version 2.0\",\n \"licenseUrl\": \"https://github.com/google/material-design-icons/blob/master/LICENSE\"\n },\n {\n \"id\": \"ti\",\n \"name\": \"Typicons\",\n \"projectUrl\": \"http://s-ings.com/typicons/\",\n \"license\": \"CC BY-SA 3.0\",\n \"licenseUrl\": \"https://creativecommons.org/licenses/by-sa/3.0/\"\n },\n {\n \"id\": \"go\",\n \"name\": \"Github Octicons icons\",\n \"projectUrl\": \"https://octicons.github.com/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/primer/octicons/blob/master/LICENSE\"\n },\n {\n \"id\": \"fi\",\n \"name\": \"Feather\",\n \"projectUrl\": \"https://feathericons.com/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/feathericons/feather/blob/master/LICENSE\"\n },\n {\n \"id\": \"gi\",\n \"name\": \"Game Icons\",\n \"projectUrl\": \"https://game-icons.net/\",\n \"license\": \"CC BY 3.0\",\n \"licenseUrl\": \"https://creativecommons.org/licenses/by/3.0/\"\n },\n {\n \"id\": \"wi\",\n \"name\": \"Weather Icons\",\n \"projectUrl\": \"https://erikflowers.github.io/weather-icons/\",\n \"license\": \"SIL OFL 1.1\",\n \"licenseUrl\": \"http://scripts.sil.org/OFL\"\n },\n {\n \"id\": \"di\",\n \"name\": \"Devicons\",\n \"projectUrl\": \"https://vorillaz.github.io/devicons/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"ai\",\n \"name\": \"Ant Design Icons\",\n \"projectUrl\": \"https://github.com/ant-design/ant-design-icons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"bs\",\n \"name\": \"Bootstrap Icons\",\n \"projectUrl\": \"https://github.com/twbs/icons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"ri\",\n \"name\": \"Remix Icon\",\n \"projectUrl\": \"https://github.com/Remix-Design/RemixIcon\",\n \"license\": \"Apache License Version 2.0\",\n \"licenseUrl\": \"http://www.apache.org/licenses/\"\n },\n {\n \"id\": \"fc\",\n \"name\": \"Flat Color Icons\",\n \"projectUrl\": \"https://github.com/icons8/flat-color-icons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"gr\",\n \"name\": \"Grommet-Icons\",\n \"projectUrl\": \"https://github.com/grommet/grommet-icons\",\n \"license\": \"Apache License Version 2.0\",\n \"licenseUrl\": \"http://www.apache.org/licenses/\"\n },\n {\n \"id\": \"hi\",\n \"name\": \"Heroicons\",\n \"projectUrl\": \"https://github.com/tailwindlabs/heroicons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"hi2\",\n \"name\": \"Heroicons 2\",\n \"projectUrl\": \"https://github.com/tailwindlabs/heroicons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"si\",\n \"name\": \"Simple Icons\",\n \"projectUrl\": \"https://simpleicons.org/\",\n \"license\": \"CC0 1.0 Universal\",\n \"licenseUrl\": \"https://creativecommons.org/publicdomain/zero/1.0/\"\n },\n {\n \"id\": \"sl\",\n \"name\": \"Simple Line Icons\",\n \"projectUrl\": \"https://thesabbir.github.io/simple-line-icons/\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"im\",\n \"name\": \"IcoMoon Free\",\n \"projectUrl\": \"https://github.com/Keyamoon/IcoMoon-Free\",\n \"license\": \"CC BY 4.0 License\"\n },\n {\n \"id\": \"bi\",\n \"name\": \"BoxIcons\",\n \"projectUrl\": \"https://github.com/atisawd/boxicons\",\n \"license\": \"CC BY 4.0 License\"\n },\n {\n \"id\": \"cg\",\n \"name\": \"css.gg\",\n \"projectUrl\": \"https://github.com/astrit/css.gg\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"vsc\",\n \"name\": \"VS Code Icons\",\n \"projectUrl\": \"https://github.com/microsoft/vscode-codicons\",\n \"license\": \"CC BY 4.0\",\n \"licenseUrl\": \"https://creativecommons.org/licenses/by/4.0/\"\n },\n {\n \"id\": \"tb\",\n \"name\": \"Tabler Icons\",\n \"projectUrl\": \"https://github.com/tabler/tabler-icons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://opensource.org/licenses/MIT\"\n },\n {\n \"id\": \"tfi\",\n \"name\": \"Themify Icons\",\n \"projectUrl\": \"https://github.com/lykmapipo/themify-icons\",\n \"license\": \"MIT\",\n \"licenseUrl\": \"https://github.com/thecreation/standard-icons/blob/master/modules/themify-icons/LICENSE\"\n }\n]","import React from 'react';\nexport var DefaultContext = {\n color: undefined,\n size: undefined,\n className: undefined,\n style: undefined,\n attr: undefined\n};\nexport var IconContext = React.createContext && React.createContext(DefaultContext);","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n};\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nimport React from 'react';\nimport { IconContext, DefaultContext } from './iconContext';\n\nfunction Tree2Element(tree) {\n return tree && tree.map(function (node, i) {\n return React.createElement(node.tag, __assign({\n key: i\n }, node.attr), Tree2Element(node.child));\n });\n}\n\nexport function GenIcon(data) {\n return function (props) {\n return React.createElement(IconBase, __assign({\n attr: __assign({}, data.attr)\n }, props), Tree2Element(data.child));\n };\n}\nexport function IconBase(props) {\n var elem = function (conf) {\n var attr = props.attr,\n size = props.size,\n title = props.title,\n svgProps = __rest(props, [\"attr\", \"size\", \"title\"]);\n\n var computedSize = size || conf.size || \"1em\";\n var className;\n if (conf.className) className = conf.className;\n if (props.className) className = (className ? className + ' ' : '') + props.className;\n return React.createElement(\"svg\", __assign({\n stroke: \"currentColor\",\n fill: \"currentColor\",\n strokeWidth: \"0\"\n }, conf.attr, attr, svgProps, {\n className: className,\n style: __assign(__assign({\n color: props.color || conf.color\n }, conf.style), props.style),\n height: computedSize,\n width: computedSize,\n xmlns: \"http://www.w3.org/2000/svg\"\n }), title && React.createElement(\"title\", null, title), props.children);\n };\n\n return IconContext !== undefined ? React.createElement(IconContext.Consumer, null, function (conf) {\n return elem(conf);\n }) : elem(DefaultContext);\n}","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nfunction componentWillMount() {\n // Call this.constructor.gDSFP to support sub-classes.\n var state = this.constructor.getDerivedStateFromProps(this.props, this.state);\n if (state !== null && state !== undefined) {\n this.setState(state);\n }\n}\n\nfunction componentWillReceiveProps(nextProps) {\n // Call this.constructor.gDSFP to support sub-classes.\n // Use the setState() updater to ensure state isn't stale in certain edge cases.\n function updater(prevState) {\n var state = this.constructor.getDerivedStateFromProps(nextProps, prevState);\n return state !== null && state !== undefined ? state : null;\n }\n // Binding \"this\" is important for shallow renderer support.\n this.setState(updater.bind(this));\n}\n\nfunction componentWillUpdate(nextProps, nextState) {\n try {\n var prevProps = this.props;\n var prevState = this.state;\n this.props = nextProps;\n this.state = nextState;\n this.__reactInternalSnapshotFlag = true;\n this.__reactInternalSnapshot = this.getSnapshotBeforeUpdate(\n prevProps,\n prevState\n );\n } finally {\n this.props = prevProps;\n this.state = prevState;\n }\n}\n\n// React may warn about cWM/cWRP/cWU methods being deprecated.\n// Add a flag to suppress these warnings for this special case.\ncomponentWillMount.__suppressDeprecationWarning = true;\ncomponentWillReceiveProps.__suppressDeprecationWarning = true;\ncomponentWillUpdate.__suppressDeprecationWarning = true;\n\nfunction polyfill(Component) {\n var prototype = Component.prototype;\n\n if (!prototype || !prototype.isReactComponent) {\n throw new Error('Can only polyfill class components');\n }\n\n if (\n typeof Component.getDerivedStateFromProps !== 'function' &&\n typeof prototype.getSnapshotBeforeUpdate !== 'function'\n ) {\n return Component;\n }\n\n // If new component APIs are defined, \"unsafe\" lifecycles won't be called.\n // Error if any of these lifecycles are present,\n // Because they would work differently between older and newer (16.3+) versions of React.\n var foundWillMountName = null;\n var foundWillReceivePropsName = null;\n var foundWillUpdateName = null;\n if (typeof prototype.componentWillMount === 'function') {\n foundWillMountName = 'componentWillMount';\n } else if (typeof prototype.UNSAFE_componentWillMount === 'function') {\n foundWillMountName = 'UNSAFE_componentWillMount';\n }\n if (typeof prototype.componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'componentWillReceiveProps';\n } else if (typeof prototype.UNSAFE_componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'UNSAFE_componentWillReceiveProps';\n }\n if (typeof prototype.componentWillUpdate === 'function') {\n foundWillUpdateName = 'componentWillUpdate';\n } else if (typeof prototype.UNSAFE_componentWillUpdate === 'function') {\n foundWillUpdateName = 'UNSAFE_componentWillUpdate';\n }\n if (\n foundWillMountName !== null ||\n foundWillReceivePropsName !== null ||\n foundWillUpdateName !== null\n ) {\n var componentName = Component.displayName || Component.name;\n var newApiName =\n typeof Component.getDerivedStateFromProps === 'function'\n ? 'getDerivedStateFromProps()'\n : 'getSnapshotBeforeUpdate()';\n\n throw Error(\n 'Unsafe legacy lifecycles will not be called for components using new component APIs.\\n\\n' +\n componentName +\n ' uses ' +\n newApiName +\n ' but also contains the following legacy lifecycles:' +\n (foundWillMountName !== null ? '\\n ' + foundWillMountName : '') +\n (foundWillReceivePropsName !== null\n ? '\\n ' + foundWillReceivePropsName\n : '') +\n (foundWillUpdateName !== null ? '\\n ' + foundWillUpdateName : '') +\n '\\n\\nThe above lifecycles should be removed. Learn more about this warning here:\\n' +\n 'https://fb.me/react-async-component-lifecycle-hooks'\n );\n }\n\n // React <= 16.2 does not support static getDerivedStateFromProps.\n // As a workaround, use cWM and cWRP to invoke the new static lifecycle.\n // Newer versions of React will ignore these lifecycles if gDSFP exists.\n if (typeof Component.getDerivedStateFromProps === 'function') {\n prototype.componentWillMount = componentWillMount;\n prototype.componentWillReceiveProps = componentWillReceiveProps;\n }\n\n // React <= 16.2 does not support getSnapshotBeforeUpdate.\n // As a workaround, use cWU to invoke the new lifecycle.\n // Newer versions of React will ignore that lifecycle if gSBU exists.\n if (typeof prototype.getSnapshotBeforeUpdate === 'function') {\n if (typeof prototype.componentDidUpdate !== 'function') {\n throw new Error(\n 'Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype'\n );\n }\n\n prototype.componentWillUpdate = componentWillUpdate;\n\n var componentDidUpdate = prototype.componentDidUpdate;\n\n prototype.componentDidUpdate = function componentDidUpdatePolyfill(\n prevProps,\n prevState,\n maybeSnapshot\n ) {\n // 16.3+ will not execute our will-update method;\n // It will pass a snapshot value to did-update though.\n // Older versions will require our polyfilled will-update value.\n // We need to handle both cases, but can't just check for the presence of \"maybeSnapshot\",\n // Because for <= 15.x versions this might be a \"prevContext\" object.\n // We also can't just check \"__reactInternalSnapshot\",\n // Because get-snapshot might return a falsy value.\n // So check for the explicit __reactInternalSnapshotFlag flag to determine behavior.\n var snapshot = this.__reactInternalSnapshotFlag\n ? this.__reactInternalSnapshot\n : maybeSnapshot;\n\n componentDidUpdate.call(this, prevProps, prevState, snapshot);\n };\n }\n\n return Component;\n}\n\nexport { polyfill };\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.bodyOpenClassName = exports.portalClassName = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactDom = require(\"react-dom\");\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _propTypes = require(\"prop-types\");\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _ModalPortal = require(\"./ModalPortal\");\n\nvar _ModalPortal2 = _interopRequireDefault(_ModalPortal);\n\nvar _ariaAppHider = require(\"../helpers/ariaAppHider\");\n\nvar ariaAppHider = _interopRequireWildcard(_ariaAppHider);\n\nvar _safeHTMLElement = require(\"../helpers/safeHTMLElement\");\n\nvar _safeHTMLElement2 = _interopRequireDefault(_safeHTMLElement);\n\nvar _reactLifecyclesCompat = require(\"react-lifecycles-compat\");\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar portalClassName = exports.portalClassName = \"ReactModalPortal\";\nvar bodyOpenClassName = exports.bodyOpenClassName = \"ReactModal__Body--open\";\n\nvar isReact16 = _safeHTMLElement.canUseDOM && _reactDom2.default.createPortal !== undefined;\n\nvar createHTMLElement = function createHTMLElement(name) {\n return document.createElement(name);\n};\n\nvar getCreatePortal = function getCreatePortal() {\n return isReact16 ? _reactDom2.default.createPortal : _reactDom2.default.unstable_renderSubtreeIntoContainer;\n};\n\nfunction getParentElement(parentSelector) {\n return parentSelector();\n}\n\nvar Modal = function (_Component) {\n _inherits(Modal, _Component);\n\n function Modal() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, Modal);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = Modal.__proto__ || Object.getPrototypeOf(Modal)).call.apply(_ref, [this].concat(args))), _this), _this.removePortal = function () {\n !isReact16 && _reactDom2.default.unmountComponentAtNode(_this.node);\n var parent = getParentElement(_this.props.parentSelector);\n if (parent && parent.contains(_this.node)) {\n parent.removeChild(_this.node);\n } else {\n // eslint-disable-next-line no-console\n console.warn('React-Modal: \"parentSelector\" prop did not returned any DOM ' + \"element. Make sure that the parent element is unmounted to \" + \"avoid any memory leaks.\");\n }\n }, _this.portalRef = function (ref) {\n _this.portal = ref;\n }, _this.renderPortal = function (props) {\n var createPortal = getCreatePortal();\n var portal = createPortal(_this, _react2.default.createElement(_ModalPortal2.default, _extends({ defaultStyles: Modal.defaultStyles }, props)), _this.node);\n _this.portalRef(portal);\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(Modal, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if (!_safeHTMLElement.canUseDOM) return;\n\n if (!isReact16) {\n this.node = createHTMLElement(\"div\");\n }\n this.node.className = this.props.portalClassName;\n\n var parent = getParentElement(this.props.parentSelector);\n parent.appendChild(this.node);\n\n !isReact16 && this.renderPortal(this.props);\n }\n }, {\n key: \"getSnapshotBeforeUpdate\",\n value: function getSnapshotBeforeUpdate(prevProps) {\n var prevParent = getParentElement(prevProps.parentSelector);\n var nextParent = getParentElement(this.props.parentSelector);\n return { prevParent: prevParent, nextParent: nextParent };\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps, _, snapshot) {\n if (!_safeHTMLElement.canUseDOM) return;\n var _props = this.props,\n isOpen = _props.isOpen,\n portalClassName = _props.portalClassName;\n\n\n if (prevProps.portalClassName !== portalClassName) {\n this.node.className = portalClassName;\n }\n\n var prevParent = snapshot.prevParent,\n nextParent = snapshot.nextParent;\n\n if (nextParent !== prevParent) {\n prevParent.removeChild(this.node);\n nextParent.appendChild(this.node);\n }\n\n // Stop unnecessary renders if modal is remaining closed\n if (!prevProps.isOpen && !isOpen) return;\n\n !isReact16 && this.renderPortal(this.props);\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n if (!_safeHTMLElement.canUseDOM || !this.node || !this.portal) return;\n\n var state = this.portal.state;\n var now = Date.now();\n var closesAt = state.isOpen && this.props.closeTimeoutMS && (state.closesAt || now + this.props.closeTimeoutMS);\n\n if (closesAt) {\n if (!state.beforeClose) {\n this.portal.closeWithTimeout();\n }\n\n setTimeout(this.removePortal, closesAt - now);\n } else {\n this.removePortal();\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n if (!_safeHTMLElement.canUseDOM || !isReact16) {\n return null;\n }\n\n if (!this.node && isReact16) {\n this.node = createHTMLElement(\"div\");\n }\n\n var createPortal = getCreatePortal();\n return createPortal(_react2.default.createElement(_ModalPortal2.default, _extends({\n ref: this.portalRef,\n defaultStyles: Modal.defaultStyles\n }, this.props)), this.node);\n }\n }], [{\n key: \"setAppElement\",\n value: function setAppElement(element) {\n ariaAppHider.setElement(element);\n }\n\n /* eslint-disable react/no-unused-prop-types */\n\n /* eslint-enable react/no-unused-prop-types */\n\n }]);\n\n return Modal;\n}(_react.Component);\n\nModal.propTypes = {\n isOpen: _propTypes2.default.bool.isRequired,\n style: _propTypes2.default.shape({\n content: _propTypes2.default.object,\n overlay: _propTypes2.default.object\n }),\n portalClassName: _propTypes2.default.string,\n bodyOpenClassName: _propTypes2.default.string,\n htmlOpenClassName: _propTypes2.default.string,\n className: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.shape({\n base: _propTypes2.default.string.isRequired,\n afterOpen: _propTypes2.default.string.isRequired,\n beforeClose: _propTypes2.default.string.isRequired\n })]),\n overlayClassName: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.shape({\n base: _propTypes2.default.string.isRequired,\n afterOpen: _propTypes2.default.string.isRequired,\n beforeClose: _propTypes2.default.string.isRequired\n })]),\n appElement: _propTypes2.default.oneOfType([_propTypes2.default.instanceOf(_safeHTMLElement2.default), _propTypes2.default.instanceOf(_safeHTMLElement.SafeHTMLCollection), _propTypes2.default.instanceOf(_safeHTMLElement.SafeNodeList), _propTypes2.default.arrayOf(_propTypes2.default.instanceOf(_safeHTMLElement2.default))]),\n onAfterOpen: _propTypes2.default.func,\n onRequestClose: _propTypes2.default.func,\n closeTimeoutMS: _propTypes2.default.number,\n ariaHideApp: _propTypes2.default.bool,\n shouldFocusAfterRender: _propTypes2.default.bool,\n shouldCloseOnOverlayClick: _propTypes2.default.bool,\n shouldReturnFocusAfterClose: _propTypes2.default.bool,\n preventScroll: _propTypes2.default.bool,\n parentSelector: _propTypes2.default.func,\n aria: _propTypes2.default.object,\n data: _propTypes2.default.object,\n role: _propTypes2.default.string,\n contentLabel: _propTypes2.default.string,\n shouldCloseOnEsc: _propTypes2.default.bool,\n overlayRef: _propTypes2.default.func,\n contentRef: _propTypes2.default.func,\n id: _propTypes2.default.string,\n overlayElement: _propTypes2.default.func,\n contentElement: _propTypes2.default.func\n};\nModal.defaultProps = {\n isOpen: false,\n portalClassName: portalClassName,\n bodyOpenClassName: bodyOpenClassName,\n role: \"dialog\",\n ariaHideApp: true,\n closeTimeoutMS: 0,\n shouldFocusAfterRender: true,\n shouldCloseOnEsc: true,\n shouldCloseOnOverlayClick: true,\n shouldReturnFocusAfterClose: true,\n preventScroll: false,\n parentSelector: function parentSelector() {\n return document.body;\n },\n overlayElement: function overlayElement(props, contentEl) {\n return _react2.default.createElement(\n \"div\",\n props,\n contentEl\n );\n },\n contentElement: function contentElement(props, children) {\n return _react2.default.createElement(\n \"div\",\n props,\n children\n );\n }\n};\nModal.defaultStyles = {\n overlay: {\n position: \"fixed\",\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n backgroundColor: \"rgba(255, 255, 255, 0.75)\"\n },\n content: {\n position: \"absolute\",\n top: \"40px\",\n left: \"40px\",\n right: \"40px\",\n bottom: \"40px\",\n border: \"1px solid #ccc\",\n background: \"#fff\",\n overflow: \"auto\",\n WebkitOverflowScrolling: \"touch\",\n borderRadius: \"4px\",\n outline: \"none\",\n padding: \"20px\"\n }\n};\n\n\n(0, _reactLifecyclesCompat.polyfill)(Modal);\n\nif (process.env.NODE_ENV !== \"production\") {\n Modal.setCreateHTMLElement = function (fn) {\n return createHTMLElement = fn;\n };\n}\n\nexports.default = Modal;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require(\"react\");\n\nvar _propTypes = require(\"prop-types\");\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _focusManager = require(\"../helpers/focusManager\");\n\nvar focusManager = _interopRequireWildcard(_focusManager);\n\nvar _scopeTab = require(\"../helpers/scopeTab\");\n\nvar _scopeTab2 = _interopRequireDefault(_scopeTab);\n\nvar _ariaAppHider = require(\"../helpers/ariaAppHider\");\n\nvar ariaAppHider = _interopRequireWildcard(_ariaAppHider);\n\nvar _classList = require(\"../helpers/classList\");\n\nvar classList = _interopRequireWildcard(_classList);\n\nvar _safeHTMLElement = require(\"../helpers/safeHTMLElement\");\n\nvar _safeHTMLElement2 = _interopRequireDefault(_safeHTMLElement);\n\nvar _portalOpenInstances = require(\"../helpers/portalOpenInstances\");\n\nvar _portalOpenInstances2 = _interopRequireDefault(_portalOpenInstances);\n\nrequire(\"../helpers/bodyTrap\");\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n// so that our CSS is statically analyzable\nvar CLASS_NAMES = {\n overlay: \"ReactModal__Overlay\",\n content: \"ReactModal__Content\"\n};\n\n/**\n * We need to support the deprecated `KeyboardEvent.keyCode` in addition to\n * `KeyboardEvent.code` for apps that still support IE11. Can be removed when\n * `react-modal` only supports React >18 (which dropped IE support).\n */\nvar isTabKey = function isTabKey(event) {\n return event.code === \"Tab\" || event.keyCode === 9;\n};\nvar isEscKey = function isEscKey(event) {\n return event.code === \"Escape\" || event.keyCode === 27;\n};\n\nvar ariaHiddenInstances = 0;\n\nvar ModalPortal = function (_Component) {\n _inherits(ModalPortal, _Component);\n\n function ModalPortal(props) {\n _classCallCheck(this, ModalPortal);\n\n var _this = _possibleConstructorReturn(this, (ModalPortal.__proto__ || Object.getPrototypeOf(ModalPortal)).call(this, props));\n\n _this.setOverlayRef = function (overlay) {\n _this.overlay = overlay;\n _this.props.overlayRef && _this.props.overlayRef(overlay);\n };\n\n _this.setContentRef = function (content) {\n _this.content = content;\n _this.props.contentRef && _this.props.contentRef(content);\n };\n\n _this.afterClose = function () {\n var _this$props = _this.props,\n appElement = _this$props.appElement,\n ariaHideApp = _this$props.ariaHideApp,\n htmlOpenClassName = _this$props.htmlOpenClassName,\n bodyOpenClassName = _this$props.bodyOpenClassName,\n parentSelector = _this$props.parentSelector;\n\n\n var parentDocument = parentSelector && parentSelector().ownerDocument || document;\n\n // Remove classes.\n bodyOpenClassName && classList.remove(parentDocument.body, bodyOpenClassName);\n\n htmlOpenClassName && classList.remove(parentDocument.getElementsByTagName(\"html\")[0], htmlOpenClassName);\n\n // Reset aria-hidden attribute if all modals have been removed\n if (ariaHideApp && ariaHiddenInstances > 0) {\n ariaHiddenInstances -= 1;\n\n if (ariaHiddenInstances === 0) {\n ariaAppHider.show(appElement);\n }\n }\n\n if (_this.props.shouldFocusAfterRender) {\n if (_this.props.shouldReturnFocusAfterClose) {\n focusManager.returnFocus(_this.props.preventScroll);\n focusManager.teardownScopedFocus();\n } else {\n focusManager.popWithoutFocus();\n }\n }\n\n if (_this.props.onAfterClose) {\n _this.props.onAfterClose();\n }\n\n _portalOpenInstances2.default.deregister(_this);\n };\n\n _this.open = function () {\n _this.beforeOpen();\n if (_this.state.afterOpen && _this.state.beforeClose) {\n clearTimeout(_this.closeTimer);\n _this.setState({ beforeClose: false });\n } else {\n if (_this.props.shouldFocusAfterRender) {\n focusManager.setupScopedFocus(_this.node);\n focusManager.markForFocusLater();\n }\n\n _this.setState({ isOpen: true }, function () {\n _this.openAnimationFrame = requestAnimationFrame(function () {\n _this.setState({ afterOpen: true });\n\n if (_this.props.isOpen && _this.props.onAfterOpen) {\n _this.props.onAfterOpen({\n overlayEl: _this.overlay,\n contentEl: _this.content\n });\n }\n });\n });\n }\n };\n\n _this.close = function () {\n if (_this.props.closeTimeoutMS > 0) {\n _this.closeWithTimeout();\n } else {\n _this.closeWithoutTimeout();\n }\n };\n\n _this.focusContent = function () {\n return _this.content && !_this.contentHasFocus() && _this.content.focus({ preventScroll: true });\n };\n\n _this.closeWithTimeout = function () {\n var closesAt = Date.now() + _this.props.closeTimeoutMS;\n _this.setState({ beforeClose: true, closesAt: closesAt }, function () {\n _this.closeTimer = setTimeout(_this.closeWithoutTimeout, _this.state.closesAt - Date.now());\n });\n };\n\n _this.closeWithoutTimeout = function () {\n _this.setState({\n beforeClose: false,\n isOpen: false,\n afterOpen: false,\n closesAt: null\n }, _this.afterClose);\n };\n\n _this.handleKeyDown = function (event) {\n if (isTabKey(event)) {\n (0, _scopeTab2.default)(_this.content, event);\n }\n\n if (_this.props.shouldCloseOnEsc && isEscKey(event)) {\n event.stopPropagation();\n _this.requestClose(event);\n }\n };\n\n _this.handleOverlayOnClick = function (event) {\n if (_this.shouldClose === null) {\n _this.shouldClose = true;\n }\n\n if (_this.shouldClose && _this.props.shouldCloseOnOverlayClick) {\n if (_this.ownerHandlesClose()) {\n _this.requestClose(event);\n } else {\n _this.focusContent();\n }\n }\n _this.shouldClose = null;\n };\n\n _this.handleContentOnMouseUp = function () {\n _this.shouldClose = false;\n };\n\n _this.handleOverlayOnMouseDown = function (event) {\n if (!_this.props.shouldCloseOnOverlayClick && event.target == _this.overlay) {\n event.preventDefault();\n }\n };\n\n _this.handleContentOnClick = function () {\n _this.shouldClose = false;\n };\n\n _this.handleContentOnMouseDown = function () {\n _this.shouldClose = false;\n };\n\n _this.requestClose = function (event) {\n return _this.ownerHandlesClose() && _this.props.onRequestClose(event);\n };\n\n _this.ownerHandlesClose = function () {\n return _this.props.onRequestClose;\n };\n\n _this.shouldBeClosed = function () {\n return !_this.state.isOpen && !_this.state.beforeClose;\n };\n\n _this.contentHasFocus = function () {\n return document.activeElement === _this.content || _this.content.contains(document.activeElement);\n };\n\n _this.buildClassName = function (which, additional) {\n var classNames = (typeof additional === \"undefined\" ? \"undefined\" : _typeof(additional)) === \"object\" ? additional : {\n base: CLASS_NAMES[which],\n afterOpen: CLASS_NAMES[which] + \"--after-open\",\n beforeClose: CLASS_NAMES[which] + \"--before-close\"\n };\n var className = classNames.base;\n if (_this.state.afterOpen) {\n className = className + \" \" + classNames.afterOpen;\n }\n if (_this.state.beforeClose) {\n className = className + \" \" + classNames.beforeClose;\n }\n return typeof additional === \"string\" && additional ? className + \" \" + additional : className;\n };\n\n _this.attributesFromObject = function (prefix, items) {\n return Object.keys(items).reduce(function (acc, name) {\n acc[prefix + \"-\" + name] = items[name];\n return acc;\n }, {});\n };\n\n _this.state = {\n afterOpen: false,\n beforeClose: false\n };\n\n _this.shouldClose = null;\n _this.moveFromContentToOverlay = null;\n return _this;\n }\n\n _createClass(ModalPortal, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if (this.props.isOpen) {\n this.open();\n }\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps, prevState) {\n if (process.env.NODE_ENV !== \"production\") {\n if (prevProps.bodyOpenClassName !== this.props.bodyOpenClassName) {\n // eslint-disable-next-line no-console\n console.warn('React-Modal: \"bodyOpenClassName\" prop has been modified. ' + \"This may cause unexpected behavior when multiple modals are open.\");\n }\n if (prevProps.htmlOpenClassName !== this.props.htmlOpenClassName) {\n // eslint-disable-next-line no-console\n console.warn('React-Modal: \"htmlOpenClassName\" prop has been modified. ' + \"This may cause unexpected behavior when multiple modals are open.\");\n }\n }\n\n if (this.props.isOpen && !prevProps.isOpen) {\n this.open();\n } else if (!this.props.isOpen && prevProps.isOpen) {\n this.close();\n }\n\n // Focus only needs to be set once when the modal is being opened\n if (this.props.shouldFocusAfterRender && this.state.isOpen && !prevState.isOpen) {\n this.focusContent();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n if (this.state.isOpen) {\n this.afterClose();\n }\n clearTimeout(this.closeTimer);\n cancelAnimationFrame(this.openAnimationFrame);\n }\n }, {\n key: \"beforeOpen\",\n value: function beforeOpen() {\n var _props = this.props,\n appElement = _props.appElement,\n ariaHideApp = _props.ariaHideApp,\n htmlOpenClassName = _props.htmlOpenClassName,\n bodyOpenClassName = _props.bodyOpenClassName,\n parentSelector = _props.parentSelector;\n\n\n var parentDocument = parentSelector && parentSelector().ownerDocument || document;\n\n // Add classes.\n bodyOpenClassName && classList.add(parentDocument.body, bodyOpenClassName);\n\n htmlOpenClassName && classList.add(parentDocument.getElementsByTagName(\"html\")[0], htmlOpenClassName);\n\n if (ariaHideApp) {\n ariaHiddenInstances += 1;\n ariaAppHider.hide(appElement);\n }\n\n _portalOpenInstances2.default.register(this);\n }\n\n // Don't steal focus from inner elements\n\n }, {\n key: \"render\",\n value: function render() {\n var _props2 = this.props,\n id = _props2.id,\n className = _props2.className,\n overlayClassName = _props2.overlayClassName,\n defaultStyles = _props2.defaultStyles,\n children = _props2.children;\n\n var contentStyles = className ? {} : defaultStyles.content;\n var overlayStyles = overlayClassName ? {} : defaultStyles.overlay;\n\n if (this.shouldBeClosed()) {\n return null;\n }\n\n var overlayProps = {\n ref: this.setOverlayRef,\n className: this.buildClassName(\"overlay\", overlayClassName),\n style: _extends({}, overlayStyles, this.props.style.overlay),\n onClick: this.handleOverlayOnClick,\n onMouseDown: this.handleOverlayOnMouseDown\n };\n\n var contentProps = _extends({\n id: id,\n ref: this.setContentRef,\n style: _extends({}, contentStyles, this.props.style.content),\n className: this.buildClassName(\"content\", className),\n tabIndex: \"-1\",\n onKeyDown: this.handleKeyDown,\n onMouseDown: this.handleContentOnMouseDown,\n onMouseUp: this.handleContentOnMouseUp,\n onClick: this.handleContentOnClick,\n role: this.props.role,\n \"aria-label\": this.props.contentLabel\n }, this.attributesFromObject(\"aria\", _extends({ modal: true }, this.props.aria)), this.attributesFromObject(\"data\", this.props.data || {}), {\n \"data-testid\": this.props.testId\n });\n\n var contentElement = this.props.contentElement(contentProps, children);\n return this.props.overlayElement(overlayProps, contentElement);\n }\n }]);\n\n return ModalPortal;\n}(_react.Component);\n\nModalPortal.defaultProps = {\n style: {\n overlay: {},\n content: {}\n },\n defaultStyles: {}\n};\nModalPortal.propTypes = {\n isOpen: _propTypes2.default.bool.isRequired,\n defaultStyles: _propTypes2.default.shape({\n content: _propTypes2.default.object,\n overlay: _propTypes2.default.object\n }),\n style: _propTypes2.default.shape({\n content: _propTypes2.default.object,\n overlay: _propTypes2.default.object\n }),\n className: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.object]),\n overlayClassName: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.object]),\n parentSelector: _propTypes2.default.func,\n bodyOpenClassName: _propTypes2.default.string,\n htmlOpenClassName: _propTypes2.default.string,\n ariaHideApp: _propTypes2.default.bool,\n appElement: _propTypes2.default.oneOfType([_propTypes2.default.instanceOf(_safeHTMLElement2.default), _propTypes2.default.instanceOf(_safeHTMLElement.SafeHTMLCollection), _propTypes2.default.instanceOf(_safeHTMLElement.SafeNodeList), _propTypes2.default.arrayOf(_propTypes2.default.instanceOf(_safeHTMLElement2.default))]),\n onAfterOpen: _propTypes2.default.func,\n onAfterClose: _propTypes2.default.func,\n onRequestClose: _propTypes2.default.func,\n closeTimeoutMS: _propTypes2.default.number,\n shouldFocusAfterRender: _propTypes2.default.bool,\n shouldCloseOnOverlayClick: _propTypes2.default.bool,\n shouldReturnFocusAfterClose: _propTypes2.default.bool,\n preventScroll: _propTypes2.default.bool,\n role: _propTypes2.default.string,\n contentLabel: _propTypes2.default.string,\n aria: _propTypes2.default.object,\n data: _propTypes2.default.object,\n children: _propTypes2.default.node,\n shouldCloseOnEsc: _propTypes2.default.bool,\n overlayRef: _propTypes2.default.func,\n contentRef: _propTypes2.default.func,\n id: _propTypes2.default.string,\n overlayElement: _propTypes2.default.func,\n contentElement: _propTypes2.default.func,\n testId: _propTypes2.default.string\n};\nexports.default = ModalPortal;\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.resetState = resetState;\nexports.log = log;\nexports.assertNodeList = assertNodeList;\nexports.setElement = setElement;\nexports.validateElement = validateElement;\nexports.hide = hide;\nexports.show = show;\nexports.documentNotReadyOrSSRTesting = documentNotReadyOrSSRTesting;\n\nvar _warning = require(\"warning\");\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nvar _safeHTMLElement = require(\"./safeHTMLElement\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar globalElement = null;\n\n/* eslint-disable no-console */\n/* istanbul ignore next */\nfunction resetState() {\n if (globalElement) {\n if (globalElement.removeAttribute) {\n globalElement.removeAttribute(\"aria-hidden\");\n } else if (globalElement.length != null) {\n globalElement.forEach(function (element) {\n return element.removeAttribute(\"aria-hidden\");\n });\n } else {\n document.querySelectorAll(globalElement).forEach(function (element) {\n return element.removeAttribute(\"aria-hidden\");\n });\n }\n }\n globalElement = null;\n}\n\n/* istanbul ignore next */\nfunction log() {\n if (process.env.NODE_ENV !== \"production\") {\n var check = globalElement || {};\n console.log(\"ariaAppHider ----------\");\n console.log(check.nodeName, check.className, check.id);\n console.log(\"end ariaAppHider ----------\");\n }\n}\n/* eslint-enable no-console */\n\nfunction assertNodeList(nodeList, selector) {\n if (!nodeList || !nodeList.length) {\n throw new Error(\"react-modal: No elements were found for selector \" + selector + \".\");\n }\n}\n\nfunction setElement(element) {\n var useElement = element;\n if (typeof useElement === \"string\" && _safeHTMLElement.canUseDOM) {\n var el = document.querySelectorAll(useElement);\n assertNodeList(el, useElement);\n useElement = el;\n }\n globalElement = useElement || globalElement;\n return globalElement;\n}\n\nfunction validateElement(appElement) {\n var el = appElement || globalElement;\n if (el) {\n return Array.isArray(el) || el instanceof HTMLCollection || el instanceof NodeList ? el : [el];\n } else {\n (0, _warning2.default)(false, [\"react-modal: App element is not defined.\", \"Please use `Modal.setAppElement(el)` or set `appElement={el}`.\", \"This is needed so screen readers don't see main content\", \"when modal is opened. It is not recommended, but you can opt-out\", \"by setting `ariaHideApp={false}`.\"].join(\" \"));\n\n return [];\n }\n}\n\nfunction hide(appElement) {\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = validateElement(appElement)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var el = _step.value;\n\n el.setAttribute(\"aria-hidden\", \"true\");\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n}\n\nfunction show(appElement) {\n var _iteratorNormalCompletion2 = true;\n var _didIteratorError2 = false;\n var _iteratorError2 = undefined;\n\n try {\n for (var _iterator2 = validateElement(appElement)[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var el = _step2.value;\n\n el.removeAttribute(\"aria-hidden\");\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n}\n\nfunction documentNotReadyOrSSRTesting() {\n globalElement = null;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.resetState = resetState;\nexports.log = log;\n\nvar _portalOpenInstances = require(\"./portalOpenInstances\");\n\nvar _portalOpenInstances2 = _interopRequireDefault(_portalOpenInstances);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// Body focus trap see Issue #742\n\nvar before = void 0,\n after = void 0,\n instances = [];\n\n/* eslint-disable no-console */\n/* istanbul ignore next */\nfunction resetState() {\n var _arr = [before, after];\n\n for (var _i = 0; _i < _arr.length; _i++) {\n var item = _arr[_i];\n if (!item) continue;\n item.parentNode && item.parentNode.removeChild(item);\n }\n before = after = null;\n instances = [];\n}\n\n/* istanbul ignore next */\nfunction log() {\n console.log(\"bodyTrap ----------\");\n console.log(instances.length);\n var _arr2 = [before, after];\n for (var _i2 = 0; _i2 < _arr2.length; _i2++) {\n var item = _arr2[_i2];\n var check = item || {};\n console.log(check.nodeName, check.className, check.id);\n }\n console.log(\"edn bodyTrap ----------\");\n}\n/* eslint-enable no-console */\n\nfunction focusContent() {\n if (instances.length === 0) {\n if (process.env.NODE_ENV !== \"production\") {\n // eslint-disable-next-line no-console\n console.warn(\"React-Modal: Open instances > 0 expected\");\n }\n return;\n }\n instances[instances.length - 1].focusContent();\n}\n\nfunction bodyTrap(eventType, openInstances) {\n if (!before && !after) {\n before = document.createElement(\"div\");\n before.setAttribute(\"data-react-modal-body-trap\", \"\");\n before.style.position = \"absolute\";\n before.style.opacity = \"0\";\n before.setAttribute(\"tabindex\", \"0\");\n before.addEventListener(\"focus\", focusContent);\n after = before.cloneNode();\n after.addEventListener(\"focus\", focusContent);\n }\n\n instances = openInstances;\n\n if (instances.length > 0) {\n // Add focus trap\n if (document.body.firstChild !== before) {\n document.body.insertBefore(before, document.body.firstChild);\n }\n if (document.body.lastChild !== after) {\n document.body.appendChild(after);\n }\n } else {\n // Remove focus trap\n if (before.parentElement) {\n before.parentElement.removeChild(before);\n }\n if (after.parentElement) {\n after.parentElement.removeChild(after);\n }\n }\n}\n\n_portalOpenInstances2.default.subscribe(bodyTrap);","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.resetState = resetState;\nexports.log = log;\nvar htmlClassList = {};\nvar docBodyClassList = {};\n\n/* eslint-disable no-console */\n/* istanbul ignore next */\nfunction removeClass(at, cls) {\n at.classList.remove(cls);\n}\n\n/* istanbul ignore next */\nfunction resetState() {\n var htmlElement = document.getElementsByTagName(\"html\")[0];\n for (var cls in htmlClassList) {\n removeClass(htmlElement, htmlClassList[cls]);\n }\n\n var body = document.body;\n for (var _cls in docBodyClassList) {\n removeClass(body, docBodyClassList[_cls]);\n }\n\n htmlClassList = {};\n docBodyClassList = {};\n}\n\n/* istanbul ignore next */\nfunction log() {\n if (process.env.NODE_ENV !== \"production\") {\n var classes = document.getElementsByTagName(\"html\")[0].className;\n var buffer = \"Show tracked classes:\\n\\n\";\n\n buffer += \" (\" + classes + \"):\\n \";\n for (var x in htmlClassList) {\n buffer += \" \" + x + \" \" + htmlClassList[x] + \"\\n \";\n }\n\n classes = document.body.className;\n\n buffer += \"\\n\\ndoc.body (\" + classes + \"):\\n \";\n for (var _x in docBodyClassList) {\n buffer += \" \" + _x + \" \" + docBodyClassList[_x] + \"\\n \";\n }\n\n buffer += \"\\n\";\n\n console.log(buffer);\n }\n}\n/* eslint-enable no-console */\n\n/**\n * Track the number of reference of a class.\n * @param {object} poll The poll to receive the reference.\n * @param {string} className The class name.\n * @return {string}\n */\nvar incrementReference = function incrementReference(poll, className) {\n if (!poll[className]) {\n poll[className] = 0;\n }\n poll[className] += 1;\n return className;\n};\n\n/**\n * Drop the reference of a class.\n * @param {object} poll The poll to receive the reference.\n * @param {string} className The class name.\n * @return {string}\n */\nvar decrementReference = function decrementReference(poll, className) {\n if (poll[className]) {\n poll[className] -= 1;\n }\n return className;\n};\n\n/**\n * Track a class and add to the given class list.\n * @param {Object} classListRef A class list of an element.\n * @param {Object} poll The poll to be used.\n * @param {Array} classes The list of classes to be tracked.\n */\nvar trackClass = function trackClass(classListRef, poll, classes) {\n classes.forEach(function (className) {\n incrementReference(poll, className);\n classListRef.add(className);\n });\n};\n\n/**\n * Untrack a class and remove from the given class list if the reference\n * reaches 0.\n * @param {Object} classListRef A class list of an element.\n * @param {Object} poll The poll to be used.\n * @param {Array} classes The list of classes to be untracked.\n */\nvar untrackClass = function untrackClass(classListRef, poll, classes) {\n classes.forEach(function (className) {\n decrementReference(poll, className);\n poll[className] === 0 && classListRef.remove(className);\n });\n};\n\n/**\n * Public inferface to add classes to the document.body.\n * @param {string} bodyClass The class string to be added.\n * It may contain more then one class\n * with ' ' as separator.\n */\nvar add = exports.add = function add(element, classString) {\n return trackClass(element.classList, element.nodeName.toLowerCase() == \"html\" ? htmlClassList : docBodyClassList, classString.split(\" \"));\n};\n\n/**\n * Public inferface to remove classes from the document.body.\n * @param {string} bodyClass The class string to be added.\n * It may contain more then one class\n * with ' ' as separator.\n */\nvar remove = exports.remove = function remove(element, classString) {\n return untrackClass(element.classList, element.nodeName.toLowerCase() == \"html\" ? htmlClassList : docBodyClassList, classString.split(\" \"));\n};","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.resetState = resetState;\nexports.log = log;\nexports.handleBlur = handleBlur;\nexports.handleFocus = handleFocus;\nexports.markForFocusLater = markForFocusLater;\nexports.returnFocus = returnFocus;\nexports.popWithoutFocus = popWithoutFocus;\nexports.setupScopedFocus = setupScopedFocus;\nexports.teardownScopedFocus = teardownScopedFocus;\n\nvar _tabbable = require(\"../helpers/tabbable\");\n\nvar _tabbable2 = _interopRequireDefault(_tabbable);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar focusLaterElements = [];\nvar modalElement = null;\nvar needToFocus = false;\n\n/* eslint-disable no-console */\n/* istanbul ignore next */\nfunction resetState() {\n focusLaterElements = [];\n}\n\n/* istanbul ignore next */\nfunction log() {\n if (process.env.NODE_ENV !== \"production\") {\n console.log(\"focusManager ----------\");\n focusLaterElements.forEach(function (f) {\n var check = f || {};\n console.log(check.nodeName, check.className, check.id);\n });\n console.log(\"end focusManager ----------\");\n }\n}\n/* eslint-enable no-console */\n\nfunction handleBlur() {\n needToFocus = true;\n}\n\nfunction handleFocus() {\n if (needToFocus) {\n needToFocus = false;\n if (!modalElement) {\n return;\n }\n // need to see how jQuery shims document.on('focusin') so we don't need the\n // setTimeout, firefox doesn't support focusin, if it did, we could focus\n // the element outside of a setTimeout. Side-effect of this implementation\n // is that the document.body gets focus, and then we focus our element right\n // after, seems fine.\n setTimeout(function () {\n if (modalElement.contains(document.activeElement)) {\n return;\n }\n var el = (0, _tabbable2.default)(modalElement)[0] || modalElement;\n el.focus();\n }, 0);\n }\n}\n\nfunction markForFocusLater() {\n focusLaterElements.push(document.activeElement);\n}\n\n/* eslint-disable no-console */\nfunction returnFocus() {\n var preventScroll = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n var toFocus = null;\n try {\n if (focusLaterElements.length !== 0) {\n toFocus = focusLaterElements.pop();\n toFocus.focus({ preventScroll: preventScroll });\n }\n return;\n } catch (e) {\n console.warn([\"You tried to return focus to\", toFocus, \"but it is not in the DOM anymore\"].join(\" \"));\n }\n}\n/* eslint-enable no-console */\n\nfunction popWithoutFocus() {\n focusLaterElements.length > 0 && focusLaterElements.pop();\n}\n\nfunction setupScopedFocus(element) {\n modalElement = element;\n\n if (window.addEventListener) {\n window.addEventListener(\"blur\", handleBlur, false);\n document.addEventListener(\"focus\", handleFocus, true);\n } else {\n window.attachEvent(\"onBlur\", handleBlur);\n document.attachEvent(\"onFocus\", handleFocus);\n }\n}\n\nfunction teardownScopedFocus() {\n modalElement = null;\n\n if (window.addEventListener) {\n window.removeEventListener(\"blur\", handleBlur);\n document.removeEventListener(\"focus\", handleFocus);\n } else {\n window.detachEvent(\"onBlur\", handleBlur);\n document.detachEvent(\"onFocus\", handleFocus);\n }\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.log = log;\nexports.resetState = resetState;\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n// Tracks portals that are open and emits events to subscribers\n\nvar PortalOpenInstances = function PortalOpenInstances() {\n var _this = this;\n\n _classCallCheck(this, PortalOpenInstances);\n\n this.register = function (openInstance) {\n if (_this.openInstances.indexOf(openInstance) !== -1) {\n if (process.env.NODE_ENV !== \"production\") {\n // eslint-disable-next-line no-console\n console.warn(\"React-Modal: Cannot register modal instance that's already open\");\n }\n return;\n }\n _this.openInstances.push(openInstance);\n _this.emit(\"register\");\n };\n\n this.deregister = function (openInstance) {\n var index = _this.openInstances.indexOf(openInstance);\n if (index === -1) {\n if (process.env.NODE_ENV !== \"production\") {\n // eslint-disable-next-line no-console\n console.warn(\"React-Modal: Unable to deregister \" + openInstance + \" as \" + \"it was never registered\");\n }\n return;\n }\n _this.openInstances.splice(index, 1);\n _this.emit(\"deregister\");\n };\n\n this.subscribe = function (callback) {\n _this.subscribers.push(callback);\n };\n\n this.emit = function (eventType) {\n _this.subscribers.forEach(function (subscriber) {\n return subscriber(eventType,\n // shallow copy to avoid accidental mutation\n _this.openInstances.slice());\n });\n };\n\n this.openInstances = [];\n this.subscribers = [];\n};\n\nvar portalOpenInstances = new PortalOpenInstances();\n\n/* eslint-disable no-console */\n/* istanbul ignore next */\nfunction log() {\n console.log(\"portalOpenInstances ----------\");\n console.log(portalOpenInstances.openInstances.length);\n portalOpenInstances.openInstances.forEach(function (p) {\n return console.log(p);\n });\n console.log(\"end portalOpenInstances ----------\");\n}\n\n/* istanbul ignore next */\nfunction resetState() {\n portalOpenInstances = new PortalOpenInstances();\n}\n/* eslint-enable no-console */\n\nexports.default = portalOpenInstances;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.canUseDOM = exports.SafeNodeList = exports.SafeHTMLCollection = undefined;\n\nvar _exenv = require(\"exenv\");\n\nvar _exenv2 = _interopRequireDefault(_exenv);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar EE = _exenv2.default;\n\nvar SafeHTMLElement = EE.canUseDOM ? window.HTMLElement : {};\n\nvar SafeHTMLCollection = exports.SafeHTMLCollection = EE.canUseDOM ? window.HTMLCollection : {};\n\nvar SafeNodeList = exports.SafeNodeList = EE.canUseDOM ? window.NodeList : {};\n\nvar canUseDOM = exports.canUseDOM = EE.canUseDOM;\n\nexports.default = SafeHTMLElement;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = scopeTab;\n\nvar _tabbable = require(\"./tabbable\");\n\nvar _tabbable2 = _interopRequireDefault(_tabbable);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction getActiveElement() {\n var el = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : document;\n\n return el.activeElement.shadowRoot ? getActiveElement(el.activeElement.shadowRoot) : el.activeElement;\n}\n\nfunction scopeTab(node, event) {\n var tabbable = (0, _tabbable2.default)(node);\n\n if (!tabbable.length) {\n // Do nothing, since there are no elements that can receive focus.\n event.preventDefault();\n return;\n }\n\n var target = void 0;\n\n var shiftKey = event.shiftKey;\n var head = tabbable[0];\n var tail = tabbable[tabbable.length - 1];\n var activeElement = getActiveElement();\n\n // proceed with default browser behavior on tab.\n // Focus on last element on shift + tab.\n if (node === activeElement) {\n if (!shiftKey) return;\n target = tail;\n }\n\n if (tail === activeElement && !shiftKey) {\n target = head;\n }\n\n if (head === activeElement && shiftKey) {\n target = tail;\n }\n\n if (target) {\n event.preventDefault();\n target.focus();\n return;\n }\n\n // Safari radio issue.\n //\n // Safari does not move the focus to the radio button,\n // so we need to force it to really walk through all elements.\n //\n // This is very error prone, since we are trying to guess\n // if it is a safari browser from the first occurence between\n // chrome or safari.\n //\n // The chrome user agent contains the first ocurrence\n // as the 'chrome/version' and later the 'safari/version'.\n var checkSafari = /(\\bChrome\\b|\\bSafari\\b)\\//.exec(navigator.userAgent);\n var isSafariDesktop = checkSafari != null && checkSafari[1] != \"Chrome\" && /\\biPod\\b|\\biPad\\b/g.exec(navigator.userAgent) == null;\n\n // If we are not in safari desktop, let the browser control\n // the focus\n if (!isSafariDesktop) return;\n\n var x = tabbable.indexOf(activeElement);\n\n if (x > -1) {\n x += shiftKey ? -1 : 1;\n }\n\n target = tabbable[x];\n\n // If the tabbable element does not exist,\n // focus head/tail based on shiftKey\n if (typeof target === \"undefined\") {\n event.preventDefault();\n target = shiftKey ? tail : head;\n target.focus();\n return;\n }\n\n event.preventDefault();\n\n target.focus();\n}\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = findTabbableDescendants;\n/*!\n * Adapted from jQuery UI core\n *\n * http://jqueryui.com\n *\n * Copyright 2014 jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *\n * http://api.jqueryui.com/category/ui-core/\n */\n\nvar DISPLAY_NONE = \"none\";\nvar DISPLAY_CONTENTS = \"contents\";\n\nvar tabbableNode = /input|select|textarea|button|object|iframe/;\n\nfunction isNotOverflowing(element, style) {\n return style.getPropertyValue(\"overflow\") !== \"visible\" ||\n // if 'overflow: visible' set, check if there is actually any overflow\n element.scrollWidth <= 0 && element.scrollHeight <= 0;\n}\n\nfunction hidesContents(element) {\n var zeroSize = element.offsetWidth <= 0 && element.offsetHeight <= 0;\n\n // If the node is empty, this is good enough\n if (zeroSize && !element.innerHTML) return true;\n\n try {\n // Otherwise we need to check some styles\n var style = window.getComputedStyle(element);\n var displayValue = style.getPropertyValue(\"display\");\n return zeroSize ? displayValue !== DISPLAY_CONTENTS && isNotOverflowing(element, style) : displayValue === DISPLAY_NONE;\n } catch (exception) {\n // eslint-disable-next-line no-console\n console.warn(\"Failed to inspect element style\");\n return false;\n }\n}\n\nfunction visible(element) {\n var parentElement = element;\n var rootNode = element.getRootNode && element.getRootNode();\n while (parentElement) {\n if (parentElement === document.body) break;\n\n // if we are not hidden yet, skip to checking outside the Web Component\n if (rootNode && parentElement === rootNode) parentElement = rootNode.host.parentNode;\n\n if (hidesContents(parentElement)) return false;\n parentElement = parentElement.parentNode;\n }\n return true;\n}\n\nfunction focusable(element, isTabIndexNotNaN) {\n var nodeName = element.nodeName.toLowerCase();\n var res = tabbableNode.test(nodeName) && !element.disabled || (nodeName === \"a\" ? element.href || isTabIndexNotNaN : isTabIndexNotNaN);\n return res && visible(element);\n}\n\nfunction tabbable(element) {\n var tabIndex = element.getAttribute(\"tabindex\");\n if (tabIndex === null) tabIndex = undefined;\n var isTabIndexNaN = isNaN(tabIndex);\n return (isTabIndexNaN || tabIndex >= 0) && focusable(element, !isTabIndexNaN);\n}\n\nfunction findTabbableDescendants(element) {\n var descendants = [].slice.call(element.querySelectorAll(\"*\"), 0).reduce(function (finished, el) {\n return finished.concat(!el.shadowRoot ? [el] : findTabbableDescendants(el.shadowRoot));\n }, []);\n return descendants.filter(tabbable);\n}\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _Modal = require(\"./components/Modal\");\n\nvar _Modal2 = _interopRequireDefault(_Modal);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _Modal2.default;\nmodule.exports = exports[\"default\"];","export default function getWindow(node) {\n if (node == null) {\n return window;\n }\n\n if (node.toString() !== '[object Window]') {\n var ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView || window : window;\n }\n\n return node;\n}","import getWindow from \"./getWindow.js\";\n\nfunction isElement(node) {\n var OwnElement = getWindow(node).Element;\n return node instanceof OwnElement || node instanceof Element;\n}\n\nfunction isHTMLElement(node) {\n var OwnElement = getWindow(node).HTMLElement;\n return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nfunction isShadowRoot(node) {\n // IE 11 has no ShadowRoot\n if (typeof ShadowRoot === 'undefined') {\n return false;\n }\n\n var OwnElement = getWindow(node).ShadowRoot;\n return node instanceof OwnElement || node instanceof ShadowRoot;\n}\n\nexport { isElement, isHTMLElement, isShadowRoot };","export var max = Math.max;\nexport var min = Math.min;\nexport var round = Math.round;","export default function getUAString() {\n var uaData = navigator.userAgentData;\n\n if (uaData != null && uaData.brands) {\n return uaData.brands.map(function (item) {\n return item.brand + \"/\" + item.version;\n }).join(' ');\n }\n\n return navigator.userAgent;\n}","import getUAString from \"../utils/userAgent.js\";\nexport default function isLayoutViewport() {\n return !/^((?!chrome|android).)*safari/i.test(getUAString());\n}","import { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport { round } from \"../utils/math.js\";\nimport getWindow from \"./getWindow.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getBoundingClientRect(element, includeScale, isFixedStrategy) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n\n var clientRect = element.getBoundingClientRect();\n var scaleX = 1;\n var scaleY = 1;\n\n if (includeScale && isHTMLElement(element)) {\n scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1;\n scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1;\n }\n\n var _ref = isElement(element) ? getWindow(element) : window,\n visualViewport = _ref.visualViewport;\n\n var addVisualOffsets = !isLayoutViewport() && isFixedStrategy;\n var x = (clientRect.left + (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) / scaleX;\n var y = (clientRect.top + (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) / scaleY;\n var width = clientRect.width / scaleX;\n var height = clientRect.height / scaleY;\n return {\n width: width,\n height: height,\n top: y,\n right: x + width,\n bottom: y + height,\n left: x,\n x: x,\n y: y\n };\n}","import getWindow from \"./getWindow.js\";\nexport default function getWindowScroll(node) {\n var win = getWindow(node);\n var scrollLeft = win.pageXOffset;\n var scrollTop = win.pageYOffset;\n return {\n scrollLeft: scrollLeft,\n scrollTop: scrollTop\n };\n}","export default function getNodeName(element) {\n return element ? (element.nodeName || '').toLowerCase() : null;\n}","import { isElement } from \"./instanceOf.js\";\nexport default function getDocumentElement(element) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return ((isElement(element) ? element.ownerDocument : // $FlowFixMe[prop-missing]\n element.document) || window.document).documentElement;\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nexport default function getWindowScrollBarX(element) {\n // If has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n // Popper 1 is broken in this case and never had a bug report so let's assume\n // it's not an issue. I don't think anyone ever specifies width on \n // anyway.\n // Browsers where the left scrollbar doesn't cause an issue report `0` for\n // this (e.g. Edge 2019, IE11, Safari)\n return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;\n}","import getWindow from \"./getWindow.js\";\nexport default function getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}","import getComputedStyle from \"./getComputedStyle.js\";\nexport default function isScrollParent(element) {\n // Firefox wants us to check `-x` and `-y` variations as well\n var _getComputedStyle = getComputedStyle(element),\n overflow = _getComputedStyle.overflow,\n overflowX = _getComputedStyle.overflowX,\n overflowY = _getComputedStyle.overflowY;\n\n return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getNodeScroll from \"./getNodeScroll.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport { round } from \"../utils/math.js\";\n\nfunction isElementScaled(element) {\n var rect = element.getBoundingClientRect();\n var scaleX = round(rect.width) / element.offsetWidth || 1;\n var scaleY = round(rect.height) / element.offsetHeight || 1;\n return scaleX !== 1 || scaleY !== 1;\n} // Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\n\n\nexport default function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n\n var isOffsetParentAnElement = isHTMLElement(offsetParent);\n var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent);\n var documentElement = getDocumentElement(offsetParent);\n var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled, isFixed);\n var scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n var offsets = {\n x: 0,\n y: 0\n };\n\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || // https://github.com/popperjs/popper-core/issues/1078\n isScrollParent(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n offsets = getBoundingClientRect(offsetParent, true);\n offsets.x += offsetParent.clientLeft;\n offsets.y += offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height\n };\n}","import getWindowScroll from \"./getWindowScroll.js\";\nimport getWindow from \"./getWindow.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getHTMLElementScroll from \"./getHTMLElementScroll.js\";\nexport default function getNodeScroll(node) {\n if (node === getWindow(node) || !isHTMLElement(node)) {\n return getWindowScroll(node);\n } else {\n return getHTMLElementScroll(node);\n }\n}","export default function getHTMLElementScroll(element) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\"; // Returns the layout rect of an element relative to its offsetParent. Layout\n// means it doesn't take into account transforms.\n\nexport default function getLayoutRect(element) {\n var clientRect = getBoundingClientRect(element); // Use the clientRect sizes if it's not been transformed.\n // Fixes https://github.com/popperjs/popper-core/issues/1223\n\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n if (Math.abs(clientRect.width - width) <= 1) {\n width = clientRect.width;\n }\n\n if (Math.abs(clientRect.height - height) <= 1) {\n height = clientRect.height;\n }\n\n return {\n x: element.offsetLeft,\n y: element.offsetTop,\n width: width,\n height: height\n };\n}","import getNodeName from \"./getNodeName.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport { isShadowRoot } from \"./instanceOf.js\";\nexport default function getParentNode(element) {\n if (getNodeName(element) === 'html') {\n return element;\n }\n\n return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle\n // $FlowFixMe[incompatible-return]\n // $FlowFixMe[prop-missing]\n element.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n element.parentNode || ( // DOM Element detected\n isShadowRoot(element) ? element.host : null) || // ShadowRoot detected\n // $FlowFixMe[incompatible-call]: HTMLElement is a Node\n getDocumentElement(element) // fallback\n\n );\n}","import getParentNode from \"./getParentNode.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nexport default function getScrollParent(node) {\n if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node) && isScrollParent(node)) {\n return node;\n }\n\n return getScrollParent(getParentNode(node));\n}","import getScrollParent from \"./getScrollParent.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getWindow from \"./getWindow.js\";\nimport isScrollParent from \"./isScrollParent.js\";\n/*\ngiven a DOM element, return the list of all scroll parents, up the list of ancesors\nuntil we get to the top window object. This list is what we attach scroll listeners\nto, because if any of these parent elements scroll, we'll need to re-calculate the\nreference element's position.\n*/\n\nexport default function listScrollParents(element, list) {\n var _element$ownerDocumen;\n\n if (list === void 0) {\n list = [];\n }\n\n var scrollParent = getScrollParent(element);\n var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body);\n var win = getWindow(scrollParent);\n var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;\n var updatedList = list.concat(target);\n return isBody ? updatedList : // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here\n updatedList.concat(listScrollParents(getParentNode(target)));\n}","import getNodeName from \"./getNodeName.js\";\nexport default function isTableElement(element) {\n return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}","import getWindow from \"./getWindow.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isHTMLElement, isShadowRoot } from \"./instanceOf.js\";\nimport isTableElement from \"./isTableElement.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getUAString from \"../utils/userAgent.js\";\n\nfunction getTrueOffsetParent(element) {\n if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837\n getComputedStyle(element).position === 'fixed') {\n return null;\n }\n\n return element.offsetParent;\n} // `.offsetParent` reports `null` for fixed elements, while absolute elements\n// return the containing block\n\n\nfunction getContainingBlock(element) {\n var isFirefox = /firefox/i.test(getUAString());\n var isIE = /Trident/i.test(getUAString());\n\n if (isIE && isHTMLElement(element)) {\n // In IE 9, 10 and 11 fixed elements containing block is always established by the viewport\n var elementCss = getComputedStyle(element);\n\n if (elementCss.position === 'fixed') {\n return null;\n }\n }\n\n var currentNode = getParentNode(element);\n\n if (isShadowRoot(currentNode)) {\n currentNode = currentNode.host;\n }\n\n while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) {\n var css = getComputedStyle(currentNode); // This is non-exhaustive but covers the most common CSS properties that\n // create a containing block.\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n\n if (css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === 'filter' || isFirefox && css.filter && css.filter !== 'none') {\n return currentNode;\n } else {\n currentNode = currentNode.parentNode;\n }\n }\n\n return null;\n} // Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\n\n\nexport default function getOffsetParent(element) {\n var window = getWindow(element);\n var offsetParent = getTrueOffsetParent(element);\n\n while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static')) {\n return window;\n }\n\n return offsetParent || getContainingBlock(element) || window;\n}","export var top = 'top';\nexport var bottom = 'bottom';\nexport var right = 'right';\nexport var left = 'left';\nexport var auto = 'auto';\nexport var basePlacements = [top, bottom, right, left];\nexport var start = 'start';\nexport var end = 'end';\nexport var clippingParents = 'clippingParents';\nexport var viewport = 'viewport';\nexport var popper = 'popper';\nexport var reference = 'reference';\nexport var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) {\n return acc.concat([placement + \"-\" + start, placement + \"-\" + end]);\n}, []);\nexport var placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) {\n return acc.concat([placement, placement + \"-\" + start, placement + \"-\" + end]);\n}, []); // modifiers that need to read the DOM\n\nexport var beforeRead = 'beforeRead';\nexport var read = 'read';\nexport var afterRead = 'afterRead'; // pure-logic modifiers\n\nexport var beforeMain = 'beforeMain';\nexport var main = 'main';\nexport var afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state)\n\nexport var beforeWrite = 'beforeWrite';\nexport var write = 'write';\nexport var afterWrite = 'afterWrite';\nexport var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];","import { modifierPhases } from \"../enums.js\"; // source: https://stackoverflow.com/questions/49875255\n\nfunction order(modifiers) {\n var map = new Map();\n var visited = new Set();\n var result = [];\n modifiers.forEach(function (modifier) {\n map.set(modifier.name, modifier);\n }); // On visiting object, check for its dependencies and visit them recursively\n\n function sort(modifier) {\n visited.add(modifier.name);\n var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);\n requires.forEach(function (dep) {\n if (!visited.has(dep)) {\n var depModifier = map.get(dep);\n\n if (depModifier) {\n sort(depModifier);\n }\n }\n });\n result.push(modifier);\n }\n\n modifiers.forEach(function (modifier) {\n if (!visited.has(modifier.name)) {\n // check for visited object\n sort(modifier);\n }\n });\n return result;\n}\n\nexport default function orderModifiers(modifiers) {\n // order based on dependencies\n var orderedModifiers = order(modifiers); // order based on phase\n\n return modifierPhases.reduce(function (acc, phase) {\n return acc.concat(orderedModifiers.filter(function (modifier) {\n return modifier.phase === phase;\n }));\n }, []);\n}","export default function debounce(fn) {\n var pending;\n return function () {\n if (!pending) {\n pending = new Promise(function (resolve) {\n Promise.resolve().then(function () {\n pending = undefined;\n resolve(fn());\n });\n });\n }\n\n return pending;\n };\n}","import getCompositeRect from \"./dom-utils/getCompositeRect.js\";\nimport getLayoutRect from \"./dom-utils/getLayoutRect.js\";\nimport listScrollParents from \"./dom-utils/listScrollParents.js\";\nimport getOffsetParent from \"./dom-utils/getOffsetParent.js\";\nimport getComputedStyle from \"./dom-utils/getComputedStyle.js\";\nimport orderModifiers from \"./utils/orderModifiers.js\";\nimport debounce from \"./utils/debounce.js\";\nimport validateModifiers from \"./utils/validateModifiers.js\";\nimport uniqueBy from \"./utils/uniqueBy.js\";\nimport getBasePlacement from \"./utils/getBasePlacement.js\";\nimport mergeByName from \"./utils/mergeByName.js\";\nimport detectOverflow from \"./utils/detectOverflow.js\";\nimport { isElement } from \"./dom-utils/instanceOf.js\";\nimport { auto } from \"./enums.js\";\nvar INVALID_ELEMENT_ERROR = 'Popper: Invalid reference or popper argument provided. They must be either a DOM element or virtual element.';\nvar INFINITE_LOOP_ERROR = 'Popper: An infinite loop in the modifiers cycle has been detected! The cycle has been interrupted to prevent a browser crash.';\nvar DEFAULT_OPTIONS = {\n placement: 'bottom',\n modifiers: [],\n strategy: 'absolute'\n};\n\nfunction areValidElements() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return !args.some(function (element) {\n return !(element && typeof element.getBoundingClientRect === 'function');\n });\n}\n\nexport function popperGenerator(generatorOptions) {\n if (generatorOptions === void 0) {\n generatorOptions = {};\n }\n\n var _generatorOptions = generatorOptions,\n _generatorOptions$def = _generatorOptions.defaultModifiers,\n defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def,\n _generatorOptions$def2 = _generatorOptions.defaultOptions,\n defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;\n return function createPopper(reference, popper, options) {\n if (options === void 0) {\n options = defaultOptions;\n }\n\n var state = {\n placement: 'bottom',\n orderedModifiers: [],\n options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions),\n modifiersData: {},\n elements: {\n reference: reference,\n popper: popper\n },\n attributes: {},\n styles: {}\n };\n var effectCleanupFns = [];\n var isDestroyed = false;\n var instance = {\n state: state,\n setOptions: function setOptions(setOptionsAction) {\n var options = typeof setOptionsAction === 'function' ? setOptionsAction(state.options) : setOptionsAction;\n cleanupModifierEffects();\n state.options = Object.assign({}, defaultOptions, state.options, options);\n state.scrollParents = {\n reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [],\n popper: listScrollParents(popper)\n }; // Orders the modifiers based on their dependencies and `phase`\n // properties\n\n var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); // Strip out disabled modifiers\n\n state.orderedModifiers = orderedModifiers.filter(function (m) {\n return m.enabled;\n }); // Validate the provided modifiers so that the consumer will get warned\n // if one of the modifiers is invalid for any reason\n\n if (process.env.NODE_ENV !== \"production\") {\n var modifiers = uniqueBy([].concat(orderedModifiers, state.options.modifiers), function (_ref) {\n var name = _ref.name;\n return name;\n });\n validateModifiers(modifiers);\n\n if (getBasePlacement(state.options.placement) === auto) {\n var flipModifier = state.orderedModifiers.find(function (_ref2) {\n var name = _ref2.name;\n return name === 'flip';\n });\n\n if (!flipModifier) {\n console.error(['Popper: \"auto\" placements require the \"flip\" modifier be', 'present and enabled to work.'].join(' '));\n }\n }\n\n var _getComputedStyle = getComputedStyle(popper),\n marginTop = _getComputedStyle.marginTop,\n marginRight = _getComputedStyle.marginRight,\n marginBottom = _getComputedStyle.marginBottom,\n marginLeft = _getComputedStyle.marginLeft; // We no longer take into account `margins` on the popper, and it can\n // cause bugs with positioning, so we'll warn the consumer\n\n\n if ([marginTop, marginRight, marginBottom, marginLeft].some(function (margin) {\n return parseFloat(margin);\n })) {\n console.warn(['Popper: CSS \"margin\" styles cannot be used to apply padding', 'between the popper and its reference element or boundary.', 'To replicate margin, use the `offset` modifier, as well as', 'the `padding` option in the `preventOverflow` and `flip`', 'modifiers.'].join(' '));\n }\n }\n\n runModifierEffects();\n return instance.update();\n },\n // Sync update – it will always be executed, even if not necessary. This\n // is useful for low frequency updates where sync behavior simplifies the\n // logic.\n // For high frequency updates (e.g. `resize` and `scroll` events), always\n // prefer the async Popper#update method\n forceUpdate: function forceUpdate() {\n if (isDestroyed) {\n return;\n }\n\n var _state$elements = state.elements,\n reference = _state$elements.reference,\n popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements\n // anymore\n\n if (!areValidElements(reference, popper)) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(INVALID_ELEMENT_ERROR);\n }\n\n return;\n } // Store the reference and popper rects to be read by modifiers\n\n\n state.rects = {\n reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === 'fixed'),\n popper: getLayoutRect(popper)\n }; // Modifiers have the ability to reset the current update cycle. The\n // most common use case for this is the `flip` modifier changing the\n // placement, which then needs to re-run all the modifiers, because the\n // logic was previously ran for the previous placement and is therefore\n // stale/incorrect\n\n state.reset = false;\n state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier\n // is filled with the initial data specified by the modifier. This means\n // it doesn't persist and is fresh on each update.\n // To ensure persistent data, use `${name}#persistent`\n\n state.orderedModifiers.forEach(function (modifier) {\n return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);\n });\n var __debug_loops__ = 0;\n\n for (var index = 0; index < state.orderedModifiers.length; index++) {\n if (process.env.NODE_ENV !== \"production\") {\n __debug_loops__ += 1;\n\n if (__debug_loops__ > 100) {\n console.error(INFINITE_LOOP_ERROR);\n break;\n }\n }\n\n if (state.reset === true) {\n state.reset = false;\n index = -1;\n continue;\n }\n\n var _state$orderedModifie = state.orderedModifiers[index],\n fn = _state$orderedModifie.fn,\n _state$orderedModifie2 = _state$orderedModifie.options,\n _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2,\n name = _state$orderedModifie.name;\n\n if (typeof fn === 'function') {\n state = fn({\n state: state,\n options: _options,\n name: name,\n instance: instance\n }) || state;\n }\n }\n },\n // Async and optimistically optimized update – it will not be executed if\n // not necessary (debounced to run at most once-per-tick)\n update: debounce(function () {\n return new Promise(function (resolve) {\n instance.forceUpdate();\n resolve(state);\n });\n }),\n destroy: function destroy() {\n cleanupModifierEffects();\n isDestroyed = true;\n }\n };\n\n if (!areValidElements(reference, popper)) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(INVALID_ELEMENT_ERROR);\n }\n\n return instance;\n }\n\n instance.setOptions(options).then(function (state) {\n if (!isDestroyed && options.onFirstUpdate) {\n options.onFirstUpdate(state);\n }\n }); // Modifiers have the ability to execute arbitrary code before the first\n // update cycle runs. They will be executed in the same order as the update\n // cycle. This is useful when a modifier adds some persistent data that\n // other modifiers need to use, but the modifier is run after the dependent\n // one.\n\n function runModifierEffects() {\n state.orderedModifiers.forEach(function (_ref3) {\n var name = _ref3.name,\n _ref3$options = _ref3.options,\n options = _ref3$options === void 0 ? {} : _ref3$options,\n effect = _ref3.effect;\n\n if (typeof effect === 'function') {\n var cleanupFn = effect({\n state: state,\n name: name,\n instance: instance,\n options: options\n });\n\n var noopFn = function noopFn() {};\n\n effectCleanupFns.push(cleanupFn || noopFn);\n }\n });\n }\n\n function cleanupModifierEffects() {\n effectCleanupFns.forEach(function (fn) {\n return fn();\n });\n effectCleanupFns = [];\n }\n\n return instance;\n };\n}\nexport var createPopper = /*#__PURE__*/popperGenerator(); // eslint-disable-next-line import/no-unused-modules\n\nexport { detectOverflow };","export default function mergeByName(modifiers) {\n var merged = modifiers.reduce(function (merged, current) {\n var existing = merged[current.name];\n merged[current.name] = existing ? Object.assign({}, existing, current, {\n options: Object.assign({}, existing.options, current.options),\n data: Object.assign({}, existing.data, current.data)\n }) : current;\n return merged;\n }, {}); // IE11 does not support Object.values\n\n return Object.keys(merged).map(function (key) {\n return merged[key];\n });\n}","import getWindow from \"../dom-utils/getWindow.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar passive = {\n passive: true\n};\n\nfunction effect(_ref) {\n var state = _ref.state,\n instance = _ref.instance,\n options = _ref.options;\n var _options$scroll = options.scroll,\n scroll = _options$scroll === void 0 ? true : _options$scroll,\n _options$resize = options.resize,\n resize = _options$resize === void 0 ? true : _options$resize;\n var window = getWindow(state.elements.popper);\n var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);\n\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.addEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.addEventListener('resize', instance.update, passive);\n }\n\n return function () {\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.removeEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.removeEventListener('resize', instance.update, passive);\n }\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'eventListeners',\n enabled: true,\n phase: 'write',\n fn: function fn() {},\n effect: effect,\n data: {}\n};","import { auto } from \"../enums.js\";\nexport default function getBasePlacement(placement) {\n return placement.split('-')[0];\n}","export default function getVariation(placement) {\n return placement.split('-')[1];\n}","export default function getMainAxisFromPlacement(placement) {\n return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}","import getBasePlacement from \"./getBasePlacement.js\";\nimport getVariation from \"./getVariation.js\";\nimport getMainAxisFromPlacement from \"./getMainAxisFromPlacement.js\";\nimport { top, right, bottom, left, start, end } from \"../enums.js\";\nexport default function computeOffsets(_ref) {\n var reference = _ref.reference,\n element = _ref.element,\n placement = _ref.placement;\n var basePlacement = placement ? getBasePlacement(placement) : null;\n var variation = placement ? getVariation(placement) : null;\n var commonX = reference.x + reference.width / 2 - element.width / 2;\n var commonY = reference.y + reference.height / 2 - element.height / 2;\n var offsets;\n\n switch (basePlacement) {\n case top:\n offsets = {\n x: commonX,\n y: reference.y - element.height\n };\n break;\n\n case bottom:\n offsets = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n\n case right:\n offsets = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n\n case left:\n offsets = {\n x: reference.x - element.width,\n y: commonY\n };\n break;\n\n default:\n offsets = {\n x: reference.x,\n y: reference.y\n };\n }\n\n var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null;\n\n if (mainAxis != null) {\n var len = mainAxis === 'y' ? 'height' : 'width';\n\n switch (variation) {\n case start:\n offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2);\n break;\n\n case end:\n offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2);\n break;\n\n default:\n }\n }\n\n return offsets;\n}","import computeOffsets from \"../utils/computeOffsets.js\";\n\nfunction popperOffsets(_ref) {\n var state = _ref.state,\n name = _ref.name;\n // Offsets are the actual position the popper needs to have to be\n // properly positioned near its reference element\n // This is the most basic placement, and will be adjusted by\n // the modifiers in the next step\n state.modifiersData[name] = computeOffsets({\n reference: state.rects.reference,\n element: state.rects.popper,\n strategy: 'absolute',\n placement: state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'popperOffsets',\n enabled: true,\n phase: 'read',\n fn: popperOffsets,\n data: {}\n};","import { top, left, right, bottom, end } from \"../enums.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getWindow from \"../dom-utils/getWindow.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getComputedStyle from \"../dom-utils/getComputedStyle.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport { round } from \"../utils/math.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar unsetSides = {\n top: 'auto',\n right: 'auto',\n bottom: 'auto',\n left: 'auto'\n}; // Round the offsets to the nearest suitable subpixel based on the DPR.\n// Zooming can change the DPR, but it seems to report a value that will\n// cleanly divide the values into the appropriate subpixels.\n\nfunction roundOffsetsByDPR(_ref) {\n var x = _ref.x,\n y = _ref.y;\n var win = window;\n var dpr = win.devicePixelRatio || 1;\n return {\n x: round(x * dpr) / dpr || 0,\n y: round(y * dpr) / dpr || 0\n };\n}\n\nexport function mapToStyles(_ref2) {\n var _Object$assign2;\n\n var popper = _ref2.popper,\n popperRect = _ref2.popperRect,\n placement = _ref2.placement,\n variation = _ref2.variation,\n offsets = _ref2.offsets,\n position = _ref2.position,\n gpuAcceleration = _ref2.gpuAcceleration,\n adaptive = _ref2.adaptive,\n roundOffsets = _ref2.roundOffsets,\n isFixed = _ref2.isFixed;\n var _offsets$x = offsets.x,\n x = _offsets$x === void 0 ? 0 : _offsets$x,\n _offsets$y = offsets.y,\n y = _offsets$y === void 0 ? 0 : _offsets$y;\n\n var _ref3 = typeof roundOffsets === 'function' ? roundOffsets({\n x: x,\n y: y\n }) : {\n x: x,\n y: y\n };\n\n x = _ref3.x;\n y = _ref3.y;\n var hasX = offsets.hasOwnProperty('x');\n var hasY = offsets.hasOwnProperty('y');\n var sideX = left;\n var sideY = top;\n var win = window;\n\n if (adaptive) {\n var offsetParent = getOffsetParent(popper);\n var heightProp = 'clientHeight';\n var widthProp = 'clientWidth';\n\n if (offsetParent === getWindow(popper)) {\n offsetParent = getDocumentElement(popper);\n\n if (getComputedStyle(offsetParent).position !== 'static' && position === 'absolute') {\n heightProp = 'scrollHeight';\n widthProp = 'scrollWidth';\n }\n } // $FlowFixMe[incompatible-cast]: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it\n\n\n offsetParent = offsetParent;\n\n if (placement === top || (placement === left || placement === right) && variation === end) {\n sideY = bottom;\n var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : // $FlowFixMe[prop-missing]\n offsetParent[heightProp];\n y -= offsetY - popperRect.height;\n y *= gpuAcceleration ? 1 : -1;\n }\n\n if (placement === left || (placement === top || placement === bottom) && variation === end) {\n sideX = right;\n var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : // $FlowFixMe[prop-missing]\n offsetParent[widthProp];\n x -= offsetX - popperRect.width;\n x *= gpuAcceleration ? 1 : -1;\n }\n }\n\n var commonStyles = Object.assign({\n position: position\n }, adaptive && unsetSides);\n\n var _ref4 = roundOffsets === true ? roundOffsetsByDPR({\n x: x,\n y: y\n }) : {\n x: x,\n y: y\n };\n\n x = _ref4.x;\n y = _ref4.y;\n\n if (gpuAcceleration) {\n var _Object$assign;\n\n return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? \"translate(\" + x + \"px, \" + y + \"px)\" : \"translate3d(\" + x + \"px, \" + y + \"px, 0)\", _Object$assign));\n }\n\n return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + \"px\" : '', _Object$assign2[sideX] = hasX ? x + \"px\" : '', _Object$assign2.transform = '', _Object$assign2));\n}\n\nfunction computeStyles(_ref5) {\n var state = _ref5.state,\n options = _ref5.options;\n var _options$gpuAccelerat = options.gpuAcceleration,\n gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat,\n _options$adaptive = options.adaptive,\n adaptive = _options$adaptive === void 0 ? true : _options$adaptive,\n _options$roundOffsets = options.roundOffsets,\n roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets;\n\n if (process.env.NODE_ENV !== \"production\") {\n var transitionProperty = getComputedStyle(state.elements.popper).transitionProperty || '';\n\n if (adaptive && ['transform', 'top', 'right', 'bottom', 'left'].some(function (property) {\n return transitionProperty.indexOf(property) >= 0;\n })) {\n console.warn(['Popper: Detected CSS transitions on at least one of the following', 'CSS properties: \"transform\", \"top\", \"right\", \"bottom\", \"left\".', '\\n\\n', 'Disable the \"computeStyles\" modifier\\'s `adaptive` option to allow', 'for smooth transitions, or remove these properties from the CSS', 'transition declaration on the popper element if only transitioning', 'opacity or background-color for example.', '\\n\\n', 'We recommend using the popper element as a wrapper around an inner', 'element that can have any CSS property transitioned for animations.'].join(' '));\n }\n }\n\n var commonStyles = {\n placement: getBasePlacement(state.placement),\n variation: getVariation(state.placement),\n popper: state.elements.popper,\n popperRect: state.rects.popper,\n gpuAcceleration: gpuAcceleration,\n isFixed: state.options.strategy === 'fixed'\n };\n\n if (state.modifiersData.popperOffsets != null) {\n state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.popperOffsets,\n position: state.options.strategy,\n adaptive: adaptive,\n roundOffsets: roundOffsets\n })));\n }\n\n if (state.modifiersData.arrow != null) {\n state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.arrow,\n position: 'absolute',\n adaptive: false,\n roundOffsets: roundOffsets\n })));\n }\n\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-placement': state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'computeStyles',\n enabled: true,\n phase: 'beforeWrite',\n fn: computeStyles,\n data: {}\n};","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport { top, left, right, placements } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport function distanceAndSkiddingToXY(placement, rects, offset) {\n var basePlacement = getBasePlacement(placement);\n var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;\n\n var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, {\n placement: placement\n })) : offset,\n skidding = _ref[0],\n distance = _ref[1];\n\n skidding = skidding || 0;\n distance = (distance || 0) * invertDistance;\n return [left, right].indexOf(basePlacement) >= 0 ? {\n x: distance,\n y: skidding\n } : {\n x: skidding,\n y: distance\n };\n}\n\nfunction offset(_ref2) {\n var state = _ref2.state,\n options = _ref2.options,\n name = _ref2.name;\n var _options$offset = options.offset,\n offset = _options$offset === void 0 ? [0, 0] : _options$offset;\n var data = placements.reduce(function (acc, placement) {\n acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);\n return acc;\n }, {});\n var _data$state$placement = data[state.placement],\n x = _data$state$placement.x,\n y = _data$state$placement.y;\n\n if (state.modifiersData.popperOffsets != null) {\n state.modifiersData.popperOffsets.x += x;\n state.modifiersData.popperOffsets.y += y;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'offset',\n enabled: true,\n phase: 'main',\n requires: ['popperOffsets'],\n fn: offset\n};","var hash = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nexport default function getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}","var hash = {\n start: 'end',\n end: 'start'\n};\nexport default function getOppositeVariationPlacement(placement) {\n return placement.replace(/start|end/g, function (matched) {\n return hash[matched];\n });\n}","import { isShadowRoot } from \"./instanceOf.js\";\nexport default function contains(parent, child) {\n var rootNode = child.getRootNode && child.getRootNode(); // First, attempt with faster native method\n\n if (parent.contains(child)) {\n return true;\n } // then fallback to custom implementation with Shadow DOM support\n else if (rootNode && isShadowRoot(rootNode)) {\n var next = child;\n\n do {\n if (next && parent.isSameNode(next)) {\n return true;\n } // $FlowFixMe[prop-missing]: need a better way to handle this...\n\n\n next = next.parentNode || next.host;\n } while (next);\n } // Give up, the result is false\n\n\n return false;\n}","export default function rectToClientRect(rect) {\n return Object.assign({}, rect, {\n left: rect.x,\n top: rect.y,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height\n });\n}","import { viewport } from \"../enums.js\";\nimport getViewportRect from \"./getViewportRect.js\";\nimport getDocumentRect from \"./getDocumentRect.js\";\nimport listScrollParents from \"./listScrollParents.js\";\nimport getOffsetParent from \"./getOffsetParent.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport contains from \"./contains.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport rectToClientRect from \"../utils/rectToClientRect.js\";\nimport { max, min } from \"../utils/math.js\";\n\nfunction getInnerBoundingClientRect(element, strategy) {\n var rect = getBoundingClientRect(element, false, strategy === 'fixed');\n rect.top = rect.top + element.clientTop;\n rect.left = rect.left + element.clientLeft;\n rect.bottom = rect.top + element.clientHeight;\n rect.right = rect.left + element.clientWidth;\n rect.width = element.clientWidth;\n rect.height = element.clientHeight;\n rect.x = rect.left;\n rect.y = rect.top;\n return rect;\n}\n\nfunction getClientRectFromMixedType(element, clippingParent, strategy) {\n return clippingParent === viewport ? rectToClientRect(getViewportRect(element, strategy)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent, strategy) : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n} // A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\n\n\nfunction getClippingParents(element) {\n var clippingParents = listScrollParents(getParentNode(element));\n var canEscapeClipping = ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;\n var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;\n\n if (!isElement(clipperElement)) {\n return [];\n } // $FlowFixMe[incompatible-return]: https://github.com/facebook/flow/issues/1414\n\n\n return clippingParents.filter(function (clippingParent) {\n return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body';\n });\n} // Gets the maximum area that the element is visible in due to any number of\n// clipping parents\n\n\nexport default function getClippingRect(element, boundary, rootBoundary, strategy) {\n var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);\n var clippingParents = [].concat(mainClippingParents, [rootBoundary]);\n var firstClippingParent = clippingParents[0];\n var clippingRect = clippingParents.reduce(function (accRect, clippingParent) {\n var rect = getClientRectFromMixedType(element, clippingParent, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromMixedType(element, firstClippingParent, strategy));\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n return clippingRect;\n}","import getWindow from \"./getWindow.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getViewportRect(element, strategy) {\n var win = getWindow(element);\n var html = getDocumentElement(element);\n var visualViewport = win.visualViewport;\n var width = html.clientWidth;\n var height = html.clientHeight;\n var x = 0;\n var y = 0;\n\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n var layoutViewport = isLayoutViewport();\n\n if (layoutViewport || !layoutViewport && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n\n return {\n width: width,\n height: height,\n x: x + getWindowScrollBarX(element),\n y: y\n };\n}","import getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nimport { max } from \"../utils/math.js\"; // Gets the entire size of the scrollable document area, even extending outside\n// of the `` and `` rect bounds if horizontally scrollable\n\nexport default function getDocumentRect(element) {\n var _element$ownerDocumen;\n\n var html = getDocumentElement(element);\n var winScroll = getWindowScroll(element);\n var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;\n var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);\n var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);\n var x = -winScroll.scrollLeft + getWindowScrollBarX(element);\n var y = -winScroll.scrollTop;\n\n if (getComputedStyle(body || html).direction === 'rtl') {\n x += max(html.clientWidth, body ? body.clientWidth : 0) - width;\n }\n\n return {\n width: width,\n height: height,\n x: x,\n y: y\n };\n}","import getFreshSideObject from \"./getFreshSideObject.js\";\nexport default function mergePaddingObject(paddingObject) {\n return Object.assign({}, getFreshSideObject(), paddingObject);\n}","export default function getFreshSideObject() {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n };\n}","export default function expandToHashMap(value, keys) {\n return keys.reduce(function (hashMap, key) {\n hashMap[key] = value;\n return hashMap;\n }, {});\n}","import getClippingRect from \"../dom-utils/getClippingRect.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getBoundingClientRect from \"../dom-utils/getBoundingClientRect.js\";\nimport computeOffsets from \"./computeOffsets.js\";\nimport rectToClientRect from \"./rectToClientRect.js\";\nimport { clippingParents, reference, popper, bottom, top, right, basePlacements, viewport } from \"../enums.js\";\nimport { isElement } from \"../dom-utils/instanceOf.js\";\nimport mergePaddingObject from \"./mergePaddingObject.js\";\nimport expandToHashMap from \"./expandToHashMap.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport default function detectOverflow(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n _options$placement = _options.placement,\n placement = _options$placement === void 0 ? state.placement : _options$placement,\n _options$strategy = _options.strategy,\n strategy = _options$strategy === void 0 ? state.strategy : _options$strategy,\n _options$boundary = _options.boundary,\n boundary = _options$boundary === void 0 ? clippingParents : _options$boundary,\n _options$rootBoundary = _options.rootBoundary,\n rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary,\n _options$elementConte = _options.elementContext,\n elementContext = _options$elementConte === void 0 ? popper : _options$elementConte,\n _options$altBoundary = _options.altBoundary,\n altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary,\n _options$padding = _options.padding,\n padding = _options$padding === void 0 ? 0 : _options$padding;\n var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n var altContext = elementContext === popper ? reference : popper;\n var popperRect = state.rects.popper;\n var element = state.elements[altBoundary ? altContext : elementContext];\n var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary, strategy);\n var referenceClientRect = getBoundingClientRect(state.elements.reference);\n var popperOffsets = computeOffsets({\n reference: referenceClientRect,\n element: popperRect,\n strategy: 'absolute',\n placement: placement\n });\n var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets));\n var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n\n var overflowOffsets = {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right: elementClientRect.right - clippingClientRect.right + paddingObject.right\n };\n var offsetData = state.modifiersData.offset; // Offsets can be applied only to the popper element\n\n if (elementContext === popper && offsetData) {\n var offset = offsetData[placement];\n Object.keys(overflowOffsets).forEach(function (key) {\n var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;\n var axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';\n overflowOffsets[key] += offset[axis] * multiply;\n });\n }\n\n return overflowOffsets;\n}","import { max as mathMax, min as mathMin } from \"./math.js\";\nexport function within(min, value, max) {\n return mathMax(min, mathMin(value, max));\n}\nexport function withinMaxClamp(min, value, max) {\n var v = within(min, value, max);\n return v > max ? max : v;\n}","import { top, left, right, bottom, start } from \"../enums.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport getAltAxis from \"../utils/getAltAxis.js\";\nimport { within, withinMaxClamp } from \"../utils/within.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport getFreshSideObject from \"../utils/getFreshSideObject.js\";\nimport { min as mathMin, max as mathMax } from \"../utils/math.js\";\n\nfunction preventOverflow(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n padding = options.padding,\n _options$tether = options.tether,\n tether = _options$tether === void 0 ? true : _options$tether,\n _options$tetherOffset = options.tetherOffset,\n tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset;\n var overflow = detectOverflow(state, {\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n altBoundary: altBoundary\n });\n var basePlacement = getBasePlacement(state.placement);\n var variation = getVariation(state.placement);\n var isBasePlacement = !variation;\n var mainAxis = getMainAxisFromPlacement(basePlacement);\n var altAxis = getAltAxis(mainAxis);\n var popperOffsets = state.modifiersData.popperOffsets;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, {\n placement: state.placement\n })) : tetherOffset;\n var normalizedTetherOffsetValue = typeof tetherOffsetValue === 'number' ? {\n mainAxis: tetherOffsetValue,\n altAxis: tetherOffsetValue\n } : Object.assign({\n mainAxis: 0,\n altAxis: 0\n }, tetherOffsetValue);\n var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null;\n var data = {\n x: 0,\n y: 0\n };\n\n if (!popperOffsets) {\n return;\n }\n\n if (checkMainAxis) {\n var _offsetModifierState$;\n\n var mainSide = mainAxis === 'y' ? top : left;\n var altSide = mainAxis === 'y' ? bottom : right;\n var len = mainAxis === 'y' ? 'height' : 'width';\n var offset = popperOffsets[mainAxis];\n var min = offset + overflow[mainSide];\n var max = offset - overflow[altSide];\n var additive = tether ? -popperRect[len] / 2 : 0;\n var minLen = variation === start ? referenceRect[len] : popperRect[len];\n var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go\n // outside the reference bounds\n\n var arrowElement = state.elements.arrow;\n var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : {\n width: 0,\n height: 0\n };\n var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : getFreshSideObject();\n var arrowPaddingMin = arrowPaddingObject[mainSide];\n var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want\n // to include its full size in the calculation. If the reference is small\n // and near the edge of a boundary, the popper can overflow even if the\n // reference is not overflowing as well (e.g. virtual elements with no\n // width or height)\n\n var arrowLen = within(0, referenceRect[len], arrowRect[len]);\n var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis;\n var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis;\n var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);\n var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;\n var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0;\n var tetherMin = offset + minOffset - offsetModifierValue - clientOffset;\n var tetherMax = offset + maxOffset - offsetModifierValue;\n var preventedOffset = within(tether ? mathMin(min, tetherMin) : min, offset, tether ? mathMax(max, tetherMax) : max);\n popperOffsets[mainAxis] = preventedOffset;\n data[mainAxis] = preventedOffset - offset;\n }\n\n if (checkAltAxis) {\n var _offsetModifierState$2;\n\n var _mainSide = mainAxis === 'x' ? top : left;\n\n var _altSide = mainAxis === 'x' ? bottom : right;\n\n var _offset = popperOffsets[altAxis];\n\n var _len = altAxis === 'y' ? 'height' : 'width';\n\n var _min = _offset + overflow[_mainSide];\n\n var _max = _offset - overflow[_altSide];\n\n var isOriginSide = [top, left].indexOf(basePlacement) !== -1;\n\n var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0;\n\n var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis;\n\n var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max;\n\n var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max);\n\n popperOffsets[altAxis] = _preventedOffset;\n data[altAxis] = _preventedOffset - _offset;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'preventOverflow',\n enabled: true,\n phase: 'main',\n fn: preventOverflow,\n requiresIfExists: ['offset']\n};","export default function getAltAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport contains from \"../dom-utils/contains.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport { within } from \"../utils/within.js\";\nimport mergePaddingObject from \"../utils/mergePaddingObject.js\";\nimport expandToHashMap from \"../utils/expandToHashMap.js\";\nimport { left, right, basePlacements, top, bottom } from \"../enums.js\";\nimport { isHTMLElement } from \"../dom-utils/instanceOf.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar toPaddingObject = function toPaddingObject(padding, state) {\n padding = typeof padding === 'function' ? padding(Object.assign({}, state.rects, {\n placement: state.placement\n })) : padding;\n return mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n};\n\nfunction arrow(_ref) {\n var _state$modifiersData$;\n\n var state = _ref.state,\n name = _ref.name,\n options = _ref.options;\n var arrowElement = state.elements.arrow;\n var popperOffsets = state.modifiersData.popperOffsets;\n var basePlacement = getBasePlacement(state.placement);\n var axis = getMainAxisFromPlacement(basePlacement);\n var isVertical = [left, right].indexOf(basePlacement) >= 0;\n var len = isVertical ? 'height' : 'width';\n\n if (!arrowElement || !popperOffsets) {\n return;\n }\n\n var paddingObject = toPaddingObject(options.padding, state);\n var arrowRect = getLayoutRect(arrowElement);\n var minProp = axis === 'y' ? top : left;\n var maxProp = axis === 'y' ? bottom : right;\n var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len];\n var startDiff = popperOffsets[axis] - state.rects.reference[axis];\n var arrowOffsetParent = getOffsetParent(arrowElement);\n var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;\n var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is\n // outside of the popper bounds\n\n var min = paddingObject[minProp];\n var max = clientSize - arrowRect[len] - paddingObject[maxProp];\n var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;\n var offset = within(min, center, max); // Prevents breaking syntax highlighting...\n\n var axisProp = axis;\n state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$);\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state,\n options = _ref2.options;\n var _options$element = options.element,\n arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element;\n\n if (arrowElement == null) {\n return;\n } // CSS selector\n\n\n if (typeof arrowElement === 'string') {\n arrowElement = state.elements.popper.querySelector(arrowElement);\n\n if (!arrowElement) {\n return;\n }\n }\n\n if (process.env.NODE_ENV !== \"production\") {\n if (!isHTMLElement(arrowElement)) {\n console.error(['Popper: \"arrow\" element must be an HTMLElement (not an SVGElement).', 'To use an SVG arrow, wrap it in an HTMLElement that will be used as', 'the arrow.'].join(' '));\n }\n }\n\n if (!contains(state.elements.popper, arrowElement)) {\n if (process.env.NODE_ENV !== \"production\") {\n console.error(['Popper: \"arrow\" modifier\\'s `element` must be a child of the popper', 'element.'].join(' '));\n }\n\n return;\n }\n\n state.elements.arrow = arrowElement;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'arrow',\n enabled: true,\n phase: 'main',\n fn: arrow,\n effect: effect,\n requires: ['popperOffsets'],\n requiresIfExists: ['preventOverflow']\n};","import { top, bottom, left, right } from \"../enums.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\n\nfunction getSideOffsets(overflow, rect, preventedOffsets) {\n if (preventedOffsets === void 0) {\n preventedOffsets = {\n x: 0,\n y: 0\n };\n }\n\n return {\n top: overflow.top - rect.height - preventedOffsets.y,\n right: overflow.right - rect.width + preventedOffsets.x,\n bottom: overflow.bottom - rect.height + preventedOffsets.y,\n left: overflow.left - rect.width - preventedOffsets.x\n };\n}\n\nfunction isAnySideFullyClipped(overflow) {\n return [top, right, bottom, left].some(function (side) {\n return overflow[side] >= 0;\n });\n}\n\nfunction hide(_ref) {\n var state = _ref.state,\n name = _ref.name;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var preventedOffsets = state.modifiersData.preventOverflow;\n var referenceOverflow = detectOverflow(state, {\n elementContext: 'reference'\n });\n var popperAltOverflow = detectOverflow(state, {\n altBoundary: true\n });\n var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect);\n var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets);\n var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);\n var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);\n state.modifiersData[name] = {\n referenceClippingOffsets: referenceClippingOffsets,\n popperEscapeOffsets: popperEscapeOffsets,\n isReferenceHidden: isReferenceHidden,\n hasPopperEscaped: hasPopperEscaped\n };\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-reference-hidden': isReferenceHidden,\n 'data-popper-escaped': hasPopperEscaped\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'hide',\n enabled: true,\n phase: 'main',\n requiresIfExists: ['preventOverflow'],\n fn: hide\n};","import { popperGenerator, detectOverflow } from \"./createPopper.js\";\nimport eventListeners from \"./modifiers/eventListeners.js\";\nimport popperOffsets from \"./modifiers/popperOffsets.js\";\nimport computeStyles from \"./modifiers/computeStyles.js\";\nimport applyStyles from \"./modifiers/applyStyles.js\";\nimport offset from \"./modifiers/offset.js\";\nimport flip from \"./modifiers/flip.js\";\nimport preventOverflow from \"./modifiers/preventOverflow.js\";\nimport arrow from \"./modifiers/arrow.js\";\nimport hide from \"./modifiers/hide.js\";\nvar defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles, offset, flip, preventOverflow, arrow, hide];\nvar createPopper = /*#__PURE__*/popperGenerator({\n defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow }; // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper as createPopperLite } from \"./popper-lite.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport * from \"./modifiers/index.js\";","import getNodeName from \"../dom-utils/getNodeName.js\";\nimport { isHTMLElement } from \"../dom-utils/instanceOf.js\"; // This modifier takes the styles prepared by the `computeStyles` modifier\n// and applies them to the HTMLElements such as popper and arrow\n\nfunction applyStyles(_ref) {\n var state = _ref.state;\n Object.keys(state.elements).forEach(function (name) {\n var style = state.styles[name] || {};\n var attributes = state.attributes[name] || {};\n var element = state.elements[name]; // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n } // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe[cannot-write]\n\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (name) {\n var value = attributes[name];\n\n if (value === false) {\n element.removeAttribute(name);\n } else {\n element.setAttribute(name, value === true ? '' : value);\n }\n });\n });\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state;\n var initialStyles = {\n popper: {\n position: state.options.strategy,\n left: '0',\n top: '0',\n margin: '0'\n },\n arrow: {\n position: 'absolute'\n },\n reference: {}\n };\n Object.assign(state.elements.popper.style, initialStyles.popper);\n state.styles = initialStyles;\n\n if (state.elements.arrow) {\n Object.assign(state.elements.arrow.style, initialStyles.arrow);\n }\n\n return function () {\n Object.keys(state.elements).forEach(function (name) {\n var element = state.elements[name];\n var attributes = state.attributes[name] || {};\n var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); // Set all values to an empty string to unset them\n\n var style = styleProperties.reduce(function (style, property) {\n style[property] = '';\n return style;\n }, {}); // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n }\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (attribute) {\n element.removeAttribute(attribute);\n });\n });\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'applyStyles',\n enabled: true,\n phase: 'write',\n fn: applyStyles,\n effect: effect,\n requires: ['computeStyles']\n};","import getOppositePlacement from \"../utils/getOppositePlacement.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getOppositeVariationPlacement from \"../utils/getOppositeVariationPlacement.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport computeAutoPlacement from \"../utils/computeAutoPlacement.js\";\nimport { bottom, top, start, right, left, auto } from \"../enums.js\";\nimport getVariation from \"../utils/getVariation.js\"; // eslint-disable-next-line import/no-unused-modules\n\nfunction getExpandedFallbackPlacements(placement) {\n if (getBasePlacement(placement) === auto) {\n return [];\n }\n\n var oppositePlacement = getOppositePlacement(placement);\n return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)];\n}\n\nfunction flip(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n\n if (state.modifiersData[name]._skip) {\n return;\n }\n\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis,\n specifiedFallbackPlacements = options.fallbackPlacements,\n padding = options.padding,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n _options$flipVariatio = options.flipVariations,\n flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio,\n allowedAutoPlacements = options.allowedAutoPlacements;\n var preferredPlacement = state.options.placement;\n var basePlacement = getBasePlacement(preferredPlacement);\n var isBasePlacement = basePlacement === preferredPlacement;\n var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement));\n var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) {\n return acc.concat(getBasePlacement(placement) === auto ? computeAutoPlacement(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n flipVariations: flipVariations,\n allowedAutoPlacements: allowedAutoPlacements\n }) : placement);\n }, []);\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var checksMap = new Map();\n var makeFallbackChecks = true;\n var firstFittingPlacement = placements[0];\n\n for (var i = 0; i < placements.length; i++) {\n var placement = placements[i];\n\n var _basePlacement = getBasePlacement(placement);\n\n var isStartVariation = getVariation(placement) === start;\n var isVertical = [top, bottom].indexOf(_basePlacement) >= 0;\n var len = isVertical ? 'width' : 'height';\n var overflow = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n altBoundary: altBoundary,\n padding: padding\n });\n var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top;\n\n if (referenceRect[len] > popperRect[len]) {\n mainVariationSide = getOppositePlacement(mainVariationSide);\n }\n\n var altVariationSide = getOppositePlacement(mainVariationSide);\n var checks = [];\n\n if (checkMainAxis) {\n checks.push(overflow[_basePlacement] <= 0);\n }\n\n if (checkAltAxis) {\n checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0);\n }\n\n if (checks.every(function (check) {\n return check;\n })) {\n firstFittingPlacement = placement;\n makeFallbackChecks = false;\n break;\n }\n\n checksMap.set(placement, checks);\n }\n\n if (makeFallbackChecks) {\n // `2` may be desired in some cases – research later\n var numberOfChecks = flipVariations ? 3 : 1;\n\n var _loop = function _loop(_i) {\n var fittingPlacement = placements.find(function (placement) {\n var checks = checksMap.get(placement);\n\n if (checks) {\n return checks.slice(0, _i).every(function (check) {\n return check;\n });\n }\n });\n\n if (fittingPlacement) {\n firstFittingPlacement = fittingPlacement;\n return \"break\";\n }\n };\n\n for (var _i = numberOfChecks; _i > 0; _i--) {\n var _ret = _loop(_i);\n\n if (_ret === \"break\") break;\n }\n }\n\n if (state.placement !== firstFittingPlacement) {\n state.modifiersData[name]._skip = true;\n state.placement = firstFittingPlacement;\n state.reset = true;\n }\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'flip',\n enabled: true,\n phase: 'main',\n fn: flip,\n requiresIfExists: ['offset'],\n data: {\n _skip: false\n }\n};","import getVariation from \"./getVariation.js\";\nimport { variationPlacements, basePlacements, placements as allPlacements } from \"../enums.js\";\nimport detectOverflow from \"./detectOverflow.js\";\nimport getBasePlacement from \"./getBasePlacement.js\";\nexport default function computeAutoPlacement(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n placement = _options.placement,\n boundary = _options.boundary,\n rootBoundary = _options.rootBoundary,\n padding = _options.padding,\n flipVariations = _options.flipVariations,\n _options$allowedAutoP = _options.allowedAutoPlacements,\n allowedAutoPlacements = _options$allowedAutoP === void 0 ? allPlacements : _options$allowedAutoP;\n var variation = getVariation(placement);\n var placements = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) {\n return getVariation(placement) === variation;\n }) : basePlacements;\n var allowedPlacements = placements.filter(function (placement) {\n return allowedAutoPlacements.indexOf(placement) >= 0;\n });\n\n if (allowedPlacements.length === 0) {\n allowedPlacements = placements;\n\n if (process.env.NODE_ENV !== \"production\") {\n console.error(['Popper: The `allowedAutoPlacements` option did not allow any', 'placements. Ensure the `placement` option matches the variation', 'of the allowed placements.', 'For example, \"auto\" cannot be used to allow \"bottom-start\".', 'Use \"auto-start\" instead.'].join(' '));\n }\n } // $FlowFixMe[incompatible-type]: Flow seems to have problems with two array unions...\n\n\n var overflows = allowedPlacements.reduce(function (acc, placement) {\n acc[placement] = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding\n })[getBasePlacement(placement)];\n return acc;\n }, {});\n return Object.keys(overflows).sort(function (a, b) {\n return overflows[a] - overflows[b];\n });\n}","import * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport { createPopper as defaultCreatePopper } from '@popperjs/core';\nimport isEqual from 'react-fast-compare';\nimport { fromEntries, useIsomorphicLayoutEffect } from './utils';\nvar EMPTY_MODIFIERS = [];\nexport var usePopper = function usePopper(referenceElement, popperElement, options) {\n if (options === void 0) {\n options = {};\n }\n\n var prevOptions = React.useRef(null);\n var optionsWithDefaults = {\n onFirstUpdate: options.onFirstUpdate,\n placement: options.placement || 'bottom',\n strategy: options.strategy || 'absolute',\n modifiers: options.modifiers || EMPTY_MODIFIERS\n };\n\n var _React$useState = React.useState({\n styles: {\n popper: {\n position: optionsWithDefaults.strategy,\n left: '0',\n top: '0'\n },\n arrow: {\n position: 'absolute'\n }\n },\n attributes: {}\n }),\n state = _React$useState[0],\n setState = _React$useState[1];\n\n var updateStateModifier = React.useMemo(function () {\n return {\n name: 'updateState',\n enabled: true,\n phase: 'write',\n fn: function fn(_ref) {\n var state = _ref.state;\n var elements = Object.keys(state.elements);\n ReactDOM.flushSync(function () {\n setState({\n styles: fromEntries(elements.map(function (element) {\n return [element, state.styles[element] || {}];\n })),\n attributes: fromEntries(elements.map(function (element) {\n return [element, state.attributes[element]];\n }))\n });\n });\n },\n requires: ['computeStyles']\n };\n }, []);\n var popperOptions = React.useMemo(function () {\n var newOptions = {\n onFirstUpdate: optionsWithDefaults.onFirstUpdate,\n placement: optionsWithDefaults.placement,\n strategy: optionsWithDefaults.strategy,\n modifiers: [].concat(optionsWithDefaults.modifiers, [updateStateModifier, {\n name: 'applyStyles',\n enabled: false\n }])\n };\n\n if (isEqual(prevOptions.current, newOptions)) {\n return prevOptions.current || newOptions;\n } else {\n prevOptions.current = newOptions;\n return newOptions;\n }\n }, [optionsWithDefaults.onFirstUpdate, optionsWithDefaults.placement, optionsWithDefaults.strategy, optionsWithDefaults.modifiers, updateStateModifier]);\n var popperInstanceRef = React.useRef();\n useIsomorphicLayoutEffect(function () {\n if (popperInstanceRef.current) {\n popperInstanceRef.current.setOptions(popperOptions);\n }\n }, [popperOptions]);\n useIsomorphicLayoutEffect(function () {\n if (referenceElement == null || popperElement == null) {\n return;\n }\n\n var createPopper = options.createPopper || defaultCreatePopper;\n var popperInstance = createPopper(referenceElement, popperElement, popperOptions);\n popperInstanceRef.current = popperInstance;\n return function () {\n popperInstance.destroy();\n popperInstanceRef.current = null;\n };\n }, [referenceElement, popperElement, options.createPopper]);\n return {\n state: popperInstanceRef.current ? popperInstanceRef.current.state : null,\n styles: state.styles,\n attributes: state.attributes,\n update: popperInstanceRef.current ? popperInstanceRef.current.update : null,\n forceUpdate: popperInstanceRef.current ? popperInstanceRef.current.forceUpdate : null\n };\n};","import * as React from 'react';\n\n/**\n * Takes an argument and if it's an array, returns the first item in the array,\n * otherwise returns the argument. Used for Preact compatibility.\n */\nexport var unwrapArray = function unwrapArray(arg) {\n return Array.isArray(arg) ? arg[0] : arg;\n};\n/**\n * Takes a maybe-undefined function and arbitrary args and invokes the function\n * only if it is defined.\n */\n\nexport var safeInvoke = function safeInvoke(fn) {\n if (typeof fn === 'function') {\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 fn.apply(void 0, args);\n }\n};\n/**\n * Sets a ref using either a ref callback or a ref object\n */\n\nexport var setRef = function setRef(ref, node) {\n // if its a function call it\n if (typeof ref === 'function') {\n return safeInvoke(ref, node);\n } // otherwise we should treat it as a ref object\n else if (ref != null) {\n ref.current = node;\n }\n};\n/**\n * Simple ponyfill for Object.fromEntries\n */\n\nexport var fromEntries = function fromEntries(entries) {\n return entries.reduce(function (acc, _ref) {\n var key = _ref[0],\n value = _ref[1];\n acc[key] = value;\n return acc;\n }, {});\n};\n/**\n * Small wrapper around `useLayoutEffect` to get rid of the warning on SSR envs\n */\n\nexport var useIsomorphicLayoutEffect = typeof window !== 'undefined' && window.document && window.document.createElement ? React.useLayoutEffect : React.useEffect;","/* global Map:readonly, Set:readonly, ArrayBuffer:readonly */\n\nvar hasElementType = typeof Element !== 'undefined';\nvar hasMap = typeof Map === 'function';\nvar hasSet = typeof Set === 'function';\nvar hasArrayBuffer = typeof ArrayBuffer === 'function' && !!ArrayBuffer.isView;\n\n// Note: We **don't** need `envHasBigInt64Array` in fde es6/index.js\n\nfunction equal(a, b) {\n // START: fast-deep-equal es6/index.js 3.1.1\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n\n var length, i, keys;\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (!equal(a[i], b[i])) return false;\n return true;\n }\n\n // START: Modifications:\n // 1. Extra `has &&` helpers in initial condition allow es6 code\n // to co-exist with es5.\n // 2. Replace `for of` with es5 compliant iteration using `for`.\n // Basically, take:\n //\n // ```js\n // for (i of a.entries())\n // if (!b.has(i[0])) return false;\n // ```\n //\n // ... and convert to:\n //\n // ```js\n // it = a.entries();\n // while (!(i = it.next()).done)\n // if (!b.has(i.value[0])) return false;\n // ```\n //\n // **Note**: `i` access switches to `i.value`.\n var it;\n if (hasMap && (a instanceof Map) && (b instanceof Map)) {\n if (a.size !== b.size) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!b.has(i.value[0])) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!equal(i.value[1], b.get(i.value[0]))) return false;\n return true;\n }\n\n if (hasSet && (a instanceof Set) && (b instanceof Set)) {\n if (a.size !== b.size) return false;\n it = a.entries();\n while (!(i = it.next()).done)\n if (!b.has(i.value[0])) return false;\n return true;\n }\n // END: Modifications\n\n if (hasArrayBuffer && ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (a[i] !== b[i]) return false;\n return true;\n }\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();\n\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;)\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n // END: fast-deep-equal\n\n // START: react-fast-compare\n // custom handling for DOM elements\n if (hasElementType && a instanceof Element) return false;\n\n // custom handling for React/Preact\n for (i = length; i-- !== 0;) {\n if ((keys[i] === '_owner' || keys[i] === '__v' || keys[i] === '__o') && a.$$typeof) {\n // React-specific: avoid traversing React elements' _owner\n // Preact-specific: avoid traversing Preact elements' __v and __o\n // __v = $_original / $_vnode\n // __o = $_owner\n // These properties contain circular references and are not needed when\n // comparing the actual elements (and not their owners)\n // .$$typeof and ._store on just reasonable markers of elements\n\n continue;\n }\n\n // all other properties should be traversed as usual\n if (!equal(a[keys[i]], b[keys[i]])) return false;\n }\n // END: react-fast-compare\n\n // START: fast-deep-equal\n return true;\n }\n\n return a !== a && b !== b;\n}\n// end fast-deep-equal\n\nmodule.exports = function isEqual(a, b) {\n try {\n return equal(a, b);\n } catch (error) {\n if (((error.message || '').match(/stack|recursion/i))) {\n // warn on circular references, don't crash\n // browsers give this different errors name and messages:\n // chrome/safari: \"RangeError\", \"Maximum call stack size exceeded\"\n // firefox: \"InternalError\", too much recursion\"\n // edge: \"Error\", \"Out of stack space\"\n console.warn('react-fast-compare cannot handle circular refs');\n return false;\n }\n // some other error. we should definitely know about these\n throw error;\n }\n};\n","/*\nReact-Quill\nhttps://github.com/zenoamaro/react-quill\n*/\n\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport isEqual from 'lodash/isEqual';\n\nimport Quill, {\n QuillOptionsStatic,\n DeltaStatic,\n RangeStatic,\n BoundsStatic,\n StringMap,\n Sources,\n} from 'quill';\n\n// Merged namespace hack to export types along with default object\n// See: https://github.com/Microsoft/TypeScript/issues/2719\nnamespace ReactQuill {\n export type Value = string | DeltaStatic;\n export type Range = RangeStatic | null;\n\n export interface QuillOptions extends QuillOptionsStatic {\n tabIndex?: number,\n }\n\n export interface ReactQuillProps {\n bounds?: string | HTMLElement,\n children?: React.ReactElement,\n className?: string,\n defaultValue?: Value,\n formats?: string[],\n id?: string,\n modules?: StringMap,\n onChange?(\n value: string,\n delta: DeltaStatic,\n source: Sources,\n editor: UnprivilegedEditor,\n ): void,\n onChangeSelection?(\n selection: Range,\n source: Sources,\n editor: UnprivilegedEditor,\n ): void,\n onFocus?(\n selection: Range,\n source: Sources,\n editor: UnprivilegedEditor,\n ): void,\n onBlur?(\n previousSelection: Range,\n source: Sources,\n editor: UnprivilegedEditor,\n ): void,\n onKeyDown?: React.EventHandler,\n onKeyPress?: React.EventHandler,\n onKeyUp?: React.EventHandler,\n placeholder?: string,\n preserveWhitespace?: boolean,\n readOnly?: boolean,\n scrollingContainer?: string | HTMLElement,\n style?: React.CSSProperties,\n tabIndex?: number,\n theme?: string,\n value?: Value,\n }\n\n export interface UnprivilegedEditor {\n getLength(): number;\n getText(index?: number, length?: number): string;\n getHTML(): string;\n getBounds(index: number, length?: number): BoundsStatic;\n getSelection(focus?: boolean): RangeStatic;\n getContents(index?: number, length?: number): DeltaStatic;\n }\n}\n\n// Re-import everything from namespace into scope for comfort\nimport Value = ReactQuill.Value;\nimport Range = ReactQuill.Range;\nimport QuillOptions = ReactQuill.QuillOptions;\nimport ReactQuillProps = ReactQuill.ReactQuillProps;\nimport UnprivilegedEditor = ReactQuill.UnprivilegedEditor;\n\ninterface ReactQuillState {\n generation: number,\n}\n\nclass ReactQuill extends React.Component {\n\n static displayName = 'React Quill'\n\n /*\n Export Quill to be able to call `register`\n */\n static Quill = Quill;\n\n /*\n Changing one of these props should cause a full re-render and a\n re-instantiation of the Quill editor.\n */\n dirtyProps: (keyof ReactQuillProps)[] = [\n 'modules',\n 'formats',\n 'bounds',\n 'theme',\n 'children',\n ]\n\n /*\n Changing one of these props should cause a regular update. These are mostly\n props that act on the container, rather than the quillized editing area.\n */\n cleanProps: (keyof ReactQuillProps)[] = [\n 'id',\n 'className',\n 'style',\n 'placeholder',\n 'tabIndex',\n 'onChange',\n 'onChangeSelection',\n 'onFocus',\n 'onBlur',\n 'onKeyPress',\n 'onKeyDown',\n 'onKeyUp',\n ]\n\n static defaultProps = {\n theme: 'snow',\n modules: {},\n readOnly: false,\n }\n\n state: ReactQuillState = {\n generation: 0,\n }\n\n /*\n The Quill Editor instance.\n */\n editor?: Quill\n\n /*\n Reference to the element holding the Quill editing area.\n */\n editingArea?: React.ReactInstance | null\n\n /*\n Tracks the internal value of the Quill editor\n */\n value: Value\n\n /*\n Tracks the internal selection of the Quill editor\n */\n selection: Range = null\n\n /*\n Used to compare whether deltas from `onChange` are being used as `value`.\n */\n lastDeltaChangeSet?: DeltaStatic\n\n /*\n Stores the contents of the editor to be restored after regeneration.\n */\n regenerationSnapshot?: {\n delta: DeltaStatic,\n selection: Range,\n }\n\n /*\n A weaker, unprivileged proxy for the editor that does not allow accidentally\n modifying editor state.\n */\n unprivilegedEditor?: UnprivilegedEditor\n\n constructor(props: ReactQuillProps) {\n super(props);\n const value = this.isControlled()? props.value : props.defaultValue;\n this.value = value ?? '';\n }\n\n validateProps(props: ReactQuillProps): void {\n if (React.Children.count(props.children) > 1) throw new Error(\n 'The Quill editing area can only be composed of a single React element.'\n );\n\n if (React.Children.count(props.children)) {\n const child = React.Children.only(props.children);\n if (child?.type === 'textarea') throw new Error(\n 'Quill does not support editing on a

    (\r\n type: T\r\n): PayloadActionCreator\r\n\r\n/**\r\n * A utility function to create an action creator for the given action type\r\n * string. The action creator accepts a single argument, which will be included\r\n * in the action object as a field called payload. The action creator function\r\n * will also have its toString() overriden so that it returns the action type,\r\n * allowing it to be used in reducer logic that is looking for that action type.\r\n *\r\n * @param type The action type to use for created actions.\r\n * @param prepare (optional) a method that takes any number of arguments and returns { payload } or { payload, meta }.\r\n * If this is given, the resulting action creator will pass its arguments to this method to calculate payload & meta.\r\n *\r\n * @public\r\n */\r\nexport function createAction<\r\n PA extends PrepareAction,\r\n T extends string = string\r\n>(\r\n type: T,\r\n prepareAction: PA\r\n): PayloadActionCreator['payload'], T, PA>\r\n\r\nexport function createAction(type: string, prepareAction?: Function): any {\r\n function actionCreator(...args: any[]) {\r\n if (prepareAction) {\r\n let prepared = prepareAction(...args)\r\n if (!prepared) {\r\n throw new Error('prepareAction did not return an object')\r\n }\r\n\r\n return {\r\n type,\r\n payload: prepared.payload,\r\n ...('meta' in prepared && { meta: prepared.meta }),\r\n ...('error' in prepared && { error: prepared.error }),\r\n }\r\n }\r\n return { type, payload: args[0] }\r\n }\r\n\r\n actionCreator.toString = () => `${type}`\r\n\r\n actionCreator.type = type\r\n\r\n actionCreator.match = (action: Action): action is PayloadAction =>\r\n action.type === type\r\n\r\n return actionCreator\r\n}\r\n\r\nexport function isFSA(action: unknown): action is {\r\n type: string\r\n payload?: unknown\r\n error?: unknown\r\n meta?: unknown\r\n} {\r\n return (\r\n isPlainObject(action) &&\r\n typeof (action as any).type === 'string' &&\r\n Object.keys(action).every(isValidKey)\r\n )\r\n}\r\n\r\nfunction isValidKey(key: string) {\r\n return ['type', 'payload', 'error', 'meta'].indexOf(key) > -1\r\n}\r\n\r\n/**\r\n * Returns the action type of the actions created by the passed\r\n * `createAction()`-generated action creator (arbitrary action creators\r\n * are not supported).\r\n *\r\n * @param action The action creator whose action type to get.\r\n * @returns The action type used by the action creator.\r\n *\r\n * @public\r\n */\r\nexport function getType(\r\n actionCreator: PayloadActionCreator\r\n): T {\r\n return `${actionCreator}` as T\r\n}\r\n\r\n// helper types for more readable typings\r\n\r\ntype IfPrepareActionMethodProvided<\r\n PA extends PrepareAction | void,\r\n True,\r\n False\r\n> = PA extends (...args: any[]) => any ? True : False\r\n","import type { Action, AnyAction } from 'redux'\r\nimport type {\r\n CaseReducer,\r\n CaseReducers,\r\n ActionMatcherDescriptionCollection,\r\n} from './createReducer'\r\nimport type { TypeGuard } from './tsHelpers'\r\n\r\nexport interface TypedActionCreator {\r\n (...args: any[]): Action\r\n type: Type\r\n}\r\n\r\n/**\r\n * A builder for an action <-> reducer map.\r\n *\r\n * @public\r\n */\r\nexport interface ActionReducerMapBuilder {\r\n /**\r\n * Adds a case reducer to handle a single exact action type.\r\n * @remarks\r\n * All calls to `builder.addCase` must come before any calls to `builder.addMatcher` or `builder.addDefaultCase`.\r\n * @param actionCreator - Either a plain action type string, or an action creator generated by [`createAction`](./createAction) that can be used to determine the action type.\r\n * @param reducer - The actual case reducer function.\r\n */\r\n addCase>(\r\n actionCreator: ActionCreator,\r\n reducer: CaseReducer>\r\n ): ActionReducerMapBuilder\r\n /**\r\n * Adds a case reducer to handle a single exact action type.\r\n * @remarks\r\n * All calls to `builder.addCase` must come before any calls to `builder.addMatcher` or `builder.addDefaultCase`.\r\n * @param actionCreator - Either a plain action type string, or an action creator generated by [`createAction`](./createAction) that can be used to determine the action type.\r\n * @param reducer - The actual case reducer function.\r\n */\r\n addCase>(\r\n type: Type,\r\n reducer: CaseReducer\r\n ): ActionReducerMapBuilder\r\n\r\n /**\r\n * Allows you to match your incoming actions against your own filter function instead of only the `action.type` property.\r\n * @remarks\r\n * If multiple matcher reducers match, all of them will be executed in the order\r\n * they were defined in - even if a case reducer already matched.\r\n * All calls to `builder.addMatcher` must come after any calls to `builder.addCase` and before any calls to `builder.addDefaultCase`.\r\n * @param matcher - A matcher function. In TypeScript, this should be a [type predicate](https://www.typescriptlang.org/docs/handbook/advanced-types.html#using-type-predicates)\r\n * function\r\n * @param reducer - The actual case reducer function.\r\n *\r\n * @example\r\n```ts\r\nimport {\r\n createAction,\r\n createReducer,\r\n AsyncThunk,\r\n AnyAction,\r\n} from \"@reduxjs/toolkit\";\r\n\r\ntype GenericAsyncThunk = AsyncThunk;\r\n\r\ntype PendingAction = ReturnType;\r\ntype RejectedAction = ReturnType;\r\ntype FulfilledAction = ReturnType;\r\n\r\nconst initialState: Record = {};\r\nconst resetAction = createAction(\"reset-tracked-loading-state\");\r\n\r\nfunction isPendingAction(action: AnyAction): action is PendingAction {\r\n return action.type.endsWith(\"/pending\");\r\n}\r\n\r\nconst reducer = createReducer(initialState, (builder) => {\r\n builder\r\n .addCase(resetAction, () => initialState)\r\n // matcher can be defined outside as a type predicate function\r\n .addMatcher(isPendingAction, (state, action) => {\r\n state[action.meta.requestId] = \"pending\";\r\n })\r\n .addMatcher(\r\n // matcher can be defined inline as a type predicate function\r\n (action): action is RejectedAction => action.type.endsWith(\"/rejected\"),\r\n (state, action) => {\r\n state[action.meta.requestId] = \"rejected\";\r\n }\r\n )\r\n // matcher can just return boolean and the matcher can receive a generic argument\r\n .addMatcher(\r\n (action) => action.type.endsWith(\"/fulfilled\"),\r\n (state, action) => {\r\n state[action.meta.requestId] = \"fulfilled\";\r\n }\r\n );\r\n});\r\n```\r\n */\r\n addMatcher(\r\n matcher: TypeGuard | ((action: any) => boolean),\r\n reducer: CaseReducer\r\n ): Omit, 'addCase'>\r\n\r\n /**\r\n * Adds a \"default case\" reducer that is executed if no case reducer and no matcher\r\n * reducer was executed for this action.\r\n * @param reducer - The fallback \"default case\" reducer function.\r\n *\r\n * @example\r\n```ts\r\nimport { createReducer } from '@reduxjs/toolkit'\r\nconst initialState = { otherActions: 0 }\r\nconst reducer = createReducer(initialState, builder => {\r\n builder\r\n // .addCase(...)\r\n // .addMatcher(...)\r\n .addDefaultCase((state, action) => {\r\n state.otherActions++\r\n })\r\n})\r\n```\r\n */\r\n addDefaultCase(reducer: CaseReducer): {}\r\n}\r\n\r\nexport function executeReducerBuilderCallback(\r\n builderCallback: (builder: ActionReducerMapBuilder) => void\r\n): [\r\n CaseReducers,\r\n ActionMatcherDescriptionCollection,\r\n CaseReducer | undefined\r\n] {\r\n const actionsMap: CaseReducers = {}\r\n const actionMatchers: ActionMatcherDescriptionCollection = []\r\n let defaultCaseReducer: CaseReducer | undefined\r\n const builder = {\r\n addCase(\r\n typeOrActionCreator: string | TypedActionCreator,\r\n reducer: CaseReducer\r\n ) {\r\n if (process.env.NODE_ENV !== 'production') {\r\n /*\r\n to keep the definition by the user in line with actual behavior, \r\n we enforce `addCase` to always be called before calling `addMatcher`\r\n as matching cases take precedence over matchers\r\n */\r\n if (actionMatchers.length > 0) {\r\n throw new Error(\r\n '`builder.addCase` should only be called before calling `builder.addMatcher`'\r\n )\r\n }\r\n if (defaultCaseReducer) {\r\n throw new Error(\r\n '`builder.addCase` should only be called before calling `builder.addDefaultCase`'\r\n )\r\n }\r\n }\r\n const type =\r\n typeof typeOrActionCreator === 'string'\r\n ? typeOrActionCreator\r\n : typeOrActionCreator.type\r\n if (type in actionsMap) {\r\n throw new Error(\r\n 'addCase cannot be called with two reducers for the same action type'\r\n )\r\n }\r\n actionsMap[type] = reducer\r\n return builder\r\n },\r\n addMatcher(\r\n matcher: TypeGuard,\r\n reducer: CaseReducer\r\n ) {\r\n if (process.env.NODE_ENV !== 'production') {\r\n if (defaultCaseReducer) {\r\n throw new Error(\r\n '`builder.addMatcher` should only be called before calling `builder.addDefaultCase`'\r\n )\r\n }\r\n }\r\n actionMatchers.push({ matcher, reducer })\r\n return builder\r\n },\r\n addDefaultCase(reducer: CaseReducer) {\r\n if (process.env.NODE_ENV !== 'production') {\r\n if (defaultCaseReducer) {\r\n throw new Error('`builder.addDefaultCase` can only be called once')\r\n }\r\n }\r\n defaultCaseReducer = reducer\r\n return builder\r\n },\r\n }\r\n builderCallback(builder)\r\n return [actionsMap, actionMatchers, defaultCaseReducer]\r\n}\r\n","import type { AnyAction, Reducer } from 'redux'\r\nimport { createNextState } from '.'\r\nimport type {\r\n ActionCreatorWithoutPayload,\r\n PayloadAction,\r\n PayloadActionCreator,\r\n PrepareAction,\r\n _ActionCreatorWithPreparedPayload,\r\n} from './createAction'\r\nimport { createAction } from './createAction'\r\nimport type {\r\n CaseReducer,\r\n CaseReducers,\r\n ReducerWithInitialState,\r\n} from './createReducer'\r\nimport { createReducer, NotFunction } from './createReducer'\r\nimport type { ActionReducerMapBuilder } from './mapBuilders'\r\nimport { executeReducerBuilderCallback } from './mapBuilders'\r\nimport type { NoInfer } from './tsHelpers'\r\nimport { freezeDraftable } from './utils'\r\n\r\nlet hasWarnedAboutObjectNotation = false\r\n\r\n/**\r\n * An action creator attached to a slice.\r\n *\r\n * @deprecated please use PayloadActionCreator directly\r\n *\r\n * @public\r\n */\r\nexport type SliceActionCreator