react-timezone-range-picker 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/README.md +8 -4
  2. package/dist/AroundTimePanel/index.d.ts +8 -0
  3. package/dist/AroundTimePanel/index.d.ts.map +1 -0
  4. package/dist/AroundTimePanel/util.d.ts +16 -0
  5. package/dist/AroundTimePanel/util.d.ts.map +1 -0
  6. package/dist/Footer/index.d.ts +2 -0
  7. package/dist/Footer/index.d.ts.map +1 -0
  8. package/dist/Provider/PopoverProvider.d.ts +12 -0
  9. package/dist/Provider/PopoverProvider.d.ts.map +1 -0
  10. package/dist/RelativeTimePanel/index.d.ts +7 -0
  11. package/dist/RelativeTimePanel/index.d.ts.map +1 -0
  12. package/dist/RelativeTimePanel/timeOptions.d.ts +9 -0
  13. package/dist/RelativeTimePanel/timeOptions.d.ts.map +1 -0
  14. package/dist/Sidebar/index.d.ts +10 -0
  15. package/dist/Sidebar/index.d.ts.map +1 -0
  16. package/dist/StartEndTimePanel/index.d.ts +8 -0
  17. package/dist/StartEndTimePanel/index.d.ts.map +1 -0
  18. package/dist/TimezonePanel/components/TimezoneList/index.d.ts +14 -0
  19. package/dist/TimezonePanel/components/TimezoneList/index.d.ts.map +1 -0
  20. package/dist/TimezonePanel/components/TimezoneSearch/index.d.ts +8 -0
  21. package/dist/TimezonePanel/components/TimezoneSearch/index.d.ts.map +1 -0
  22. package/dist/TimezonePanel/index.d.ts +8 -0
  23. package/dist/TimezonePanel/index.d.ts.map +1 -0
  24. package/dist/TimezonePanel/util/getBrowserTimezone.d.ts +8 -0
  25. package/dist/TimezonePanel/util/getBrowserTimezone.d.ts.map +1 -0
  26. package/dist/TimezonePanel/util/getTimezones.d.ts +8 -0
  27. package/dist/TimezonePanel/util/getTimezones.d.ts.map +1 -0
  28. package/dist/TimezonePanel/util/longTzName.d.ts +2 -0
  29. package/dist/TimezonePanel/util/longTzName.d.ts.map +1 -0
  30. package/dist/TimezonePanel/util/parseOffest.d.ts +2 -0
  31. package/dist/TimezonePanel/util/parseOffest.d.ts.map +1 -0
  32. package/dist/TimezoneRangePicker/index.d.ts +9 -0
  33. package/dist/TimezoneRangePicker/index.d.ts.map +1 -0
  34. package/dist/hooks/useAppTheme.d.ts +5 -0
  35. package/dist/hooks/useAppTheme.d.ts.map +1 -0
  36. package/dist/index.cjs.js +63 -0
  37. package/dist/index.cjs.js.map +1 -0
  38. package/dist/index.d.ts +4 -36
  39. package/dist/index.d.ts.map +1 -0
  40. package/dist/index.es.js +2301 -0
  41. package/dist/index.es.js.map +1 -0
  42. package/dist/interfaces/index.d.ts +21 -0
  43. package/dist/interfaces/index.d.ts.map +1 -0
  44. package/dist/style.css +1 -0
  45. package/dist/test.setup.d.ts +2 -0
  46. package/dist/test.setup.d.ts.map +1 -0
  47. package/dist/util/dateTime.d.ts +23 -0
  48. package/dist/util/dateTime.d.ts.map +1 -0
  49. package/package.json +11 -10
  50. package/dist/index.css +0 -80
  51. package/dist/index.css.map +0 -1
  52. package/dist/index.d.mts +0 -36
  53. package/dist/index.js +0 -1007
  54. package/dist/index.js.map +0 -1
  55. package/dist/index.mjs +0 -997
  56. package/dist/index.mjs.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.es.js","sources":["../../../node_modules/.pnpm/react@19.1.1/node_modules/react/cjs/react-jsx-runtime.production.js","../../../node_modules/.pnpm/react@19.1.1/node_modules/react/cjs/react-jsx-runtime.development.js","../../../node_modules/.pnpm/react@19.1.1/node_modules/react/jsx-runtime.js","../../../node_modules/.pnpm/react-use@17.6.0_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/react-use/esm/useTimeoutFn.js","../../../node_modules/.pnpm/react-use@17.6.0_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/react-use/esm/useDebounce.js","../../../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs","../src/hooks/useAppTheme.ts","../src/TimezonePanel/components/TimezoneList/index.tsx","../../../node_modules/.pnpm/@tabler+icons-react@3.35.0_react@19.1.1/node_modules/@tabler/icons-react/dist/esm/defaultAttributes.mjs","../../../node_modules/.pnpm/@tabler+icons-react@3.35.0_react@19.1.1/node_modules/@tabler/icons-react/dist/esm/createReactComponent.mjs","../../../node_modules/.pnpm/@tabler+icons-react@3.35.0_react@19.1.1/node_modules/@tabler/icons-react/dist/esm/icons/IconCalendar.mjs","../../../node_modules/.pnpm/@tabler+icons-react@3.35.0_react@19.1.1/node_modules/@tabler/icons-react/dist/esm/icons/IconChevronRight.mjs","../../../node_modules/.pnpm/@tabler+icons-react@3.35.0_react@19.1.1/node_modules/@tabler/icons-react/dist/esm/icons/IconClock.mjs","../../../node_modules/.pnpm/@tabler+icons-react@3.35.0_react@19.1.1/node_modules/@tabler/icons-react/dist/esm/icons/IconFilter2.mjs","../../../node_modules/.pnpm/@tabler+icons-react@3.35.0_react@19.1.1/node_modules/@tabler/icons-react/dist/esm/icons/IconWorld.mjs","../../../node_modules/.pnpm/@tabler+icons-react@3.35.0_react@19.1.1/node_modules/@tabler/icons-react/dist/esm/icons/IconCalendarWeekFilled.mjs","../src/TimezonePanel/components/TimezoneSearch/index.tsx","../../../node_modules/.pnpm/dayjs@1.11.18/node_modules/dayjs/dayjs.min.js","../../../node_modules/.pnpm/dayjs@1.11.18/node_modules/dayjs/plugin/utc.js","../../../node_modules/.pnpm/dayjs@1.11.18/node_modules/dayjs/plugin/timezone.js","../src/TimezonePanel/util/longTzName.ts","../src/TimezonePanel/util/parseOffest.ts","../src/TimezonePanel/util/getTimezones.ts","../src/Provider/PopoverProvider.tsx","../src/Footer/index.tsx","../src/util/dateTime.ts","../src/TimezonePanel/index.tsx","../src/RelativeTimePanel/timeOptions.ts","../src/RelativeTimePanel/index.tsx","../src/Sidebar/index.tsx","../src/AroundTimePanel/util.ts","../../../node_modules/.pnpm/@mantine+form@8.3.4_react@19.1.1/node_modules/@mantine/form/esm/actions/actions.mjs","../../../node_modules/.pnpm/@mantine+form@8.3.4_react@19.1.1/node_modules/@mantine/form/esm/get-input-on-change/get-input-on-change.mjs","../../../node_modules/.pnpm/@mantine+form@8.3.4_react@19.1.1/node_modules/@mantine/form/esm/hooks/use-form-errors/filter-errors/filter-errors.mjs","../../../node_modules/.pnpm/@mantine+form@8.3.4_react@19.1.1/node_modules/@mantine/form/esm/hooks/use-form-errors/use-form-errors.mjs","../../../node_modules/.pnpm/@mantine+form@8.3.4_react@19.1.1/node_modules/@mantine/form/esm/lists/clear-list-state.mjs","../../../node_modules/.pnpm/@mantine+form@8.3.4_react@19.1.1/node_modules/@mantine/form/esm/lists/change-error-indices.mjs","../../../node_modules/.pnpm/@mantine+form@8.3.4_react@19.1.1/node_modules/@mantine/form/esm/lists/reorder-errors.mjs","../../../node_modules/.pnpm/klona@2.0.6/node_modules/klona/full/index.mjs","../../../node_modules/.pnpm/@mantine+form@8.3.4_react@19.1.1/node_modules/@mantine/form/esm/paths/get-splitted-path.mjs","../../../node_modules/.pnpm/@mantine+form@8.3.4_react@19.1.1/node_modules/@mantine/form/esm/paths/get-path.mjs","../../../node_modules/.pnpm/@mantine+form@8.3.4_react@19.1.1/node_modules/@mantine/form/esm/paths/set-path.mjs","../../../node_modules/.pnpm/@mantine+form@8.3.4_react@19.1.1/node_modules/@mantine/form/esm/paths/reorder-path.mjs","../../../node_modules/.pnpm/@mantine+form@8.3.4_react@19.1.1/node_modules/@mantine/form/esm/paths/insert-path.mjs","../../../node_modules/.pnpm/@mantine+form@8.3.4_react@19.1.1/node_modules/@mantine/form/esm/paths/remove-path.mjs","../../../node_modules/.pnpm/@mantine+form@8.3.4_react@19.1.1/node_modules/@mantine/form/esm/paths/replace-path.mjs","../../../node_modules/.pnpm/@mantine+form@8.3.4_react@19.1.1/node_modules/@mantine/form/esm/hooks/use-form-list/use-form-list.mjs","../../../node_modules/.pnpm/fast-deep-equal@3.1.3/node_modules/fast-deep-equal/index.js","../../../node_modules/.pnpm/@mantine+form@8.3.4_react@19.1.1/node_modules/@mantine/form/esm/get-status/get-status.mjs","../../../node_modules/.pnpm/@mantine+form@8.3.4_react@19.1.1/node_modules/@mantine/form/esm/hooks/use-form-status/use-form-status.mjs","../../../node_modules/.pnpm/@mantine+form@8.3.4_react@19.1.1/node_modules/@mantine/form/esm/hooks/use-form-values/use-form-values.mjs","../../../node_modules/.pnpm/@mantine+form@8.3.4_react@19.1.1/node_modules/@mantine/form/esm/hooks/use-form-watch/use-form-watch.mjs","../../../node_modules/.pnpm/@mantine+form@8.3.4_react@19.1.1/node_modules/@mantine/form/esm/paths/get-data-path.mjs","../../../node_modules/.pnpm/@mantine+form@8.3.4_react@19.1.1/node_modules/@mantine/form/esm/validate/validate-values.mjs","../../../node_modules/.pnpm/@mantine+form@8.3.4_react@19.1.1/node_modules/@mantine/form/esm/validate/validate-field-value.mjs","../../../node_modules/.pnpm/@mantine+form@8.3.4_react@19.1.1/node_modules/@mantine/form/esm/form-index.mjs","../../../node_modules/.pnpm/@mantine+form@8.3.4_react@19.1.1/node_modules/@mantine/form/esm/validate/should-validate-on-change.mjs","../../../node_modules/.pnpm/@mantine+form@8.3.4_react@19.1.1/node_modules/@mantine/form/esm/use-form.mjs","../src/AroundTimePanel/index.tsx","../src/StartEndTimePanel/index.tsx","../src/TimezoneRangePicker/index.tsx"],"sourcesContent":["/**\n * @license React\n * react-jsx-runtime.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and 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\";\nvar REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\");\nfunction jsxProd(type, config, maybeKey) {\n var key = null;\n void 0 !== maybeKey && (key = \"\" + maybeKey);\n void 0 !== config.key && (key = \"\" + config.key);\n if (\"key\" in config) {\n maybeKey = {};\n for (var propName in config)\n \"key\" !== propName && (maybeKey[propName] = config[propName]);\n } else maybeKey = config;\n config = maybeKey.ref;\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n ref: void 0 !== config ? config : null,\n props: maybeKey\n };\n}\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsx = jsxProd;\nexports.jsxs = jsxProd;\n","/**\n * @license React\n * react-jsx-runtime.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and 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\";\n\"production\" !== process.env.NODE_ENV &&\n (function () {\n function getComponentNameFromType(type) {\n if (null == type) return null;\n if (\"function\" === typeof type)\n return type.$$typeof === REACT_CLIENT_REFERENCE\n ? null\n : type.displayName || type.name || null;\n if (\"string\" === typeof type) return type;\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return \"Fragment\";\n case REACT_PROFILER_TYPE:\n return \"Profiler\";\n case REACT_STRICT_MODE_TYPE:\n return \"StrictMode\";\n case REACT_SUSPENSE_TYPE:\n return \"Suspense\";\n case REACT_SUSPENSE_LIST_TYPE:\n return \"SuspenseList\";\n case REACT_ACTIVITY_TYPE:\n return \"Activity\";\n }\n if (\"object\" === typeof type)\n switch (\n (\"number\" === typeof type.tag &&\n console.error(\n \"Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.\"\n ),\n type.$$typeof)\n ) {\n case REACT_PORTAL_TYPE:\n return \"Portal\";\n case REACT_CONTEXT_TYPE:\n return (type.displayName || \"Context\") + \".Provider\";\n case REACT_CONSUMER_TYPE:\n return (type._context.displayName || \"Context\") + \".Consumer\";\n case REACT_FORWARD_REF_TYPE:\n var innerType = type.render;\n type = type.displayName;\n type ||\n ((type = innerType.displayName || innerType.name || \"\"),\n (type = \"\" !== type ? \"ForwardRef(\" + type + \")\" : \"ForwardRef\"));\n return type;\n case REACT_MEMO_TYPE:\n return (\n (innerType = type.displayName || null),\n null !== innerType\n ? innerType\n : getComponentNameFromType(type.type) || \"Memo\"\n );\n case REACT_LAZY_TYPE:\n innerType = type._payload;\n type = type._init;\n try {\n return getComponentNameFromType(type(innerType));\n } catch (x) {}\n }\n return null;\n }\n function testStringCoercion(value) {\n return \"\" + value;\n }\n function checkKeyStringCoercion(value) {\n try {\n testStringCoercion(value);\n var JSCompiler_inline_result = !1;\n } catch (e) {\n JSCompiler_inline_result = !0;\n }\n if (JSCompiler_inline_result) {\n JSCompiler_inline_result = console;\n var JSCompiler_temp_const = JSCompiler_inline_result.error;\n var JSCompiler_inline_result$jscomp$0 =\n (\"function\" === typeof Symbol &&\n Symbol.toStringTag &&\n value[Symbol.toStringTag]) ||\n value.constructor.name ||\n \"Object\";\n JSCompiler_temp_const.call(\n JSCompiler_inline_result,\n \"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.\",\n JSCompiler_inline_result$jscomp$0\n );\n return testStringCoercion(value);\n }\n }\n function getTaskName(type) {\n if (type === REACT_FRAGMENT_TYPE) return \"<>\";\n if (\n \"object\" === typeof type &&\n null !== type &&\n type.$$typeof === REACT_LAZY_TYPE\n )\n return \"<...>\";\n try {\n var name = getComponentNameFromType(type);\n return name ? \"<\" + name + \">\" : \"<...>\";\n } catch (x) {\n return \"<...>\";\n }\n }\n function getOwner() {\n var dispatcher = ReactSharedInternals.A;\n return null === dispatcher ? null : dispatcher.getOwner();\n }\n function UnknownOwner() {\n return Error(\"react-stack-top-frame\");\n }\n function hasValidKey(config) {\n if (hasOwnProperty.call(config, \"key\")) {\n var getter = Object.getOwnPropertyDescriptor(config, \"key\").get;\n if (getter && getter.isReactWarning) return !1;\n }\n return void 0 !== config.key;\n }\n function defineKeyPropWarningGetter(props, displayName) {\n function warnAboutAccessingKey() {\n specialPropKeyWarningShown ||\n ((specialPropKeyWarningShown = !0),\n console.error(\n \"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)\",\n displayName\n ));\n }\n warnAboutAccessingKey.isReactWarning = !0;\n Object.defineProperty(props, \"key\", {\n get: warnAboutAccessingKey,\n configurable: !0\n });\n }\n function elementRefGetterWithDeprecationWarning() {\n var componentName = getComponentNameFromType(this.type);\n didWarnAboutElementRef[componentName] ||\n ((didWarnAboutElementRef[componentName] = !0),\n console.error(\n \"Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.\"\n ));\n componentName = this.props.ref;\n return void 0 !== componentName ? componentName : null;\n }\n function ReactElement(\n type,\n key,\n self,\n source,\n owner,\n props,\n debugStack,\n debugTask\n ) {\n self = props.ref;\n type = {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n props: props,\n _owner: owner\n };\n null !== (void 0 !== self ? self : null)\n ? Object.defineProperty(type, \"ref\", {\n enumerable: !1,\n get: elementRefGetterWithDeprecationWarning\n })\n : Object.defineProperty(type, \"ref\", { enumerable: !1, value: null });\n type._store = {};\n Object.defineProperty(type._store, \"validated\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: 0\n });\n Object.defineProperty(type, \"_debugInfo\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: null\n });\n Object.defineProperty(type, \"_debugStack\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: debugStack\n });\n Object.defineProperty(type, \"_debugTask\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: debugTask\n });\n Object.freeze && (Object.freeze(type.props), Object.freeze(type));\n return type;\n }\n function jsxDEVImpl(\n type,\n config,\n maybeKey,\n isStaticChildren,\n source,\n self,\n debugStack,\n debugTask\n ) {\n var children = config.children;\n if (void 0 !== children)\n if (isStaticChildren)\n if (isArrayImpl(children)) {\n for (\n isStaticChildren = 0;\n isStaticChildren < children.length;\n isStaticChildren++\n )\n validateChildKeys(children[isStaticChildren]);\n Object.freeze && Object.freeze(children);\n } else\n console.error(\n \"React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.\"\n );\n else validateChildKeys(children);\n if (hasOwnProperty.call(config, \"key\")) {\n children = getComponentNameFromType(type);\n var keys = Object.keys(config).filter(function (k) {\n return \"key\" !== k;\n });\n isStaticChildren =\n 0 < keys.length\n ? \"{key: someKey, \" + keys.join(\": ..., \") + \": ...}\"\n : \"{key: someKey}\";\n didWarnAboutKeySpread[children + isStaticChildren] ||\n ((keys =\n 0 < keys.length ? \"{\" + keys.join(\": ..., \") + \": ...}\" : \"{}\"),\n console.error(\n 'A props object containing a \"key\" prop is being spread into JSX:\\n let props = %s;\\n <%s {...props} />\\nReact keys must be passed directly to JSX without using spread:\\n let props = %s;\\n <%s key={someKey} {...props} />',\n isStaticChildren,\n children,\n keys,\n children\n ),\n (didWarnAboutKeySpread[children + isStaticChildren] = !0));\n }\n children = null;\n void 0 !== maybeKey &&\n (checkKeyStringCoercion(maybeKey), (children = \"\" + maybeKey));\n hasValidKey(config) &&\n (checkKeyStringCoercion(config.key), (children = \"\" + config.key));\n if (\"key\" in config) {\n maybeKey = {};\n for (var propName in config)\n \"key\" !== propName && (maybeKey[propName] = config[propName]);\n } else maybeKey = config;\n children &&\n defineKeyPropWarningGetter(\n maybeKey,\n \"function\" === typeof type\n ? type.displayName || type.name || \"Unknown\"\n : type\n );\n return ReactElement(\n type,\n children,\n self,\n source,\n getOwner(),\n maybeKey,\n debugStack,\n debugTask\n );\n }\n function validateChildKeys(node) {\n \"object\" === typeof node &&\n null !== node &&\n node.$$typeof === REACT_ELEMENT_TYPE &&\n node._store &&\n (node._store.validated = 1);\n }\n var React = require(\"react\"),\n REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\");\n Symbol.for(\"react.provider\");\n var REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_SUSPENSE_LIST_TYPE = Symbol.for(\"react.suspense_list\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n REACT_ACTIVITY_TYPE = Symbol.for(\"react.activity\"),\n REACT_CLIENT_REFERENCE = Symbol.for(\"react.client.reference\"),\n ReactSharedInternals =\n React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,\n hasOwnProperty = Object.prototype.hasOwnProperty,\n isArrayImpl = Array.isArray,\n createTask = console.createTask\n ? console.createTask\n : function () {\n return null;\n };\n React = {\n react_stack_bottom_frame: function (callStackForError) {\n return callStackForError();\n }\n };\n var specialPropKeyWarningShown;\n var didWarnAboutElementRef = {};\n var unknownOwnerDebugStack = React.react_stack_bottom_frame.bind(\n React,\n UnknownOwner\n )();\n var unknownOwnerDebugTask = createTask(getTaskName(UnknownOwner));\n var didWarnAboutKeySpread = {};\n exports.Fragment = REACT_FRAGMENT_TYPE;\n exports.jsx = function (type, config, maybeKey, source, self) {\n var trackActualOwner =\n 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;\n return jsxDEVImpl(\n type,\n config,\n maybeKey,\n !1,\n source,\n self,\n trackActualOwner\n ? Error(\"react-stack-top-frame\")\n : unknownOwnerDebugStack,\n trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask\n );\n };\n exports.jsxs = function (type, config, maybeKey, source, self) {\n var trackActualOwner =\n 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;\n return jsxDEVImpl(\n type,\n config,\n maybeKey,\n !0,\n source,\n self,\n trackActualOwner\n ? Error(\"react-stack-top-frame\")\n : unknownOwnerDebugStack,\n trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask\n );\n };\n })();\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","import { useCallback, useEffect, useRef } from 'react';\nexport default function useTimeoutFn(fn, ms) {\n if (ms === void 0) { ms = 0; }\n var ready = useRef(false);\n var timeout = useRef();\n var callback = useRef(fn);\n var isReady = useCallback(function () { return ready.current; }, []);\n var set = useCallback(function () {\n ready.current = false;\n timeout.current && clearTimeout(timeout.current);\n timeout.current = setTimeout(function () {\n ready.current = true;\n callback.current();\n }, ms);\n }, [ms]);\n var clear = useCallback(function () {\n ready.current = null;\n timeout.current && clearTimeout(timeout.current);\n }, []);\n // update ref when function changes\n useEffect(function () {\n callback.current = fn;\n }, [fn]);\n // set on mount, clear on unmount\n useEffect(function () {\n set();\n return clear;\n }, [ms]);\n return [isReady, clear, set];\n}\n","import { useEffect } from 'react';\nimport useTimeoutFn from './useTimeoutFn';\nexport default function useDebounce(fn, ms, deps) {\n if (ms === void 0) { ms = 0; }\n if (deps === void 0) { deps = []; }\n var _a = useTimeoutFn(fn, ms), isReady = _a[0], cancel = _a[1], reset = _a[2];\n useEffect(reset, deps);\n return [isReady, cancel];\n}\n","function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f)}else for(f in e)e[f]&&(n&&(n+=\" \"),n+=f);return n}export function clsx(){for(var e,t,f=0,n=\"\",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}export default clsx;","import { useMantineColorScheme, useMantineTheme } from \"@mantine/core\";\n\nexport const useAppTheme = () => {\n const { colorScheme } = useMantineColorScheme();\n const theme = useMantineTheme();\n\n return { colorScheme, theme };\n};\n","import { Flex, Text } from \"@mantine/core\";\nimport { FC } from \"react\";\nimport clsx from \"clsx\";\nimport styled from \"./index.module.css\";\nimport { useAppTheme } from \"../../../hooks/useAppTheme\";\nimport { TimezoneData } from \"packages/ui/src/interfaces\";\n\ninterface ITimezoneList {\n name: string | null;\n longName: string | null;\n currentTime: string;\n utcOffset: string | null;\n selectedTimezone: TimezoneData | null;\n isBrowserTimezone?: boolean;\n handleTimezoneMouseClick?: (selectedTimezone: TimezoneData) => void;\n}\n\nexport const TimezoneList: FC<ITimezoneList> = ({\n name,\n longName,\n currentTime,\n utcOffset,\n selectedTimezone,\n isBrowserTimezone = false,\n handleTimezoneMouseClick = undefined,\n}) => {\n const { colorScheme } = useAppTheme();\n\n const onClick = () => {\n if (isBrowserTimezone) return;\n\n handleTimezoneMouseClick!({\n name,\n longName,\n utcOffset,\n });\n };\n\n return (\n <Flex\n direction=\"column\"\n className={clsx(\n styled.row,\n isBrowserTimezone\n ? undefined\n : colorScheme === \"dark\"\n ? styled[\"row-dark\"]\n : styled[\"row-light\"],\n selectedTimezone?.name === name\n ? colorScheme === \"dark\"\n ? styled[\"row-selected-dark\"]\n : styled[\"row-selected-light\"]\n : undefined\n )}\n onClick={onClick}\n >\n <Flex justify=\"space-between\">\n <Text size=\"sm\">{name}</Text>\n <Text size=\"sm\">\n {currentTime} • UTC{utcOffset}\n </Text>\n </Flex>\n <Text size=\"sm\">{longName}</Text>\n </Flex>\n );\n};\n","/**\n * @license @tabler/icons-react v3.35.0 - MIT\n *\n * This source code is licensed under the MIT license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nvar defaultAttributes = {\n outline: {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n },\n filled: {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"currentColor\",\n stroke: \"none\"\n }\n};\n\nexport { defaultAttributes as default };\n//# sourceMappingURL=defaultAttributes.mjs.map\n","/**\n * @license @tabler/icons-react v3.35.0 - MIT\n *\n * This source code is licensed under the MIT license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport { forwardRef, createElement } from 'react';\nimport defaultAttributes from './defaultAttributes.mjs';\n\nconst createReactComponent = (type, iconName, iconNamePascal, iconNode) => {\n const Component = forwardRef(\n ({ color = \"currentColor\", size = 24, stroke = 2, title, className, children, ...rest }, ref) => createElement(\n \"svg\",\n {\n ref,\n ...defaultAttributes[type],\n width: size,\n height: size,\n className: [`tabler-icon`, `tabler-icon-${iconName}`, className].join(\" \"),\n ...type === \"filled\" ? {\n fill: color\n } : {\n strokeWidth: stroke,\n stroke: color\n },\n ...rest\n },\n [\n title && createElement(\"title\", { key: \"svg-title\" }, title),\n ...iconNode.map(([tag, attrs]) => createElement(tag, attrs)),\n ...Array.isArray(children) ? children : [children]\n ]\n )\n );\n Component.displayName = `${iconNamePascal}`;\n return Component;\n};\n\nexport { createReactComponent as default };\n//# sourceMappingURL=createReactComponent.mjs.map\n","/**\n * @license @tabler/icons-react v3.35.0 - MIT\n *\n * This source code is licensed under the MIT license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createReactComponent from '../createReactComponent.mjs';\n\nconst __iconNode = [[\"path\", { \"d\": \"M4 7a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v12a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2v-12z\", \"key\": \"svg-0\" }], [\"path\", { \"d\": \"M16 3v4\", \"key\": \"svg-1\" }], [\"path\", { \"d\": \"M8 3v4\", \"key\": \"svg-2\" }], [\"path\", { \"d\": \"M4 11h16\", \"key\": \"svg-3\" }], [\"path\", { \"d\": \"M11 15h1\", \"key\": \"svg-4\" }], [\"path\", { \"d\": \"M12 15v3\", \"key\": \"svg-5\" }]];\nconst IconCalendar = createReactComponent(\"outline\", \"calendar\", \"Calendar\", __iconNode);\n\nexport { __iconNode, IconCalendar as default };\n//# sourceMappingURL=IconCalendar.mjs.map\n","/**\n * @license @tabler/icons-react v3.35.0 - MIT\n *\n * This source code is licensed under the MIT license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createReactComponent from '../createReactComponent.mjs';\n\nconst __iconNode = [[\"path\", { \"d\": \"M9 6l6 6l-6 6\", \"key\": \"svg-0\" }]];\nconst IconChevronRight = createReactComponent(\"outline\", \"chevron-right\", \"ChevronRight\", __iconNode);\n\nexport { __iconNode, IconChevronRight as default };\n//# sourceMappingURL=IconChevronRight.mjs.map\n","/**\n * @license @tabler/icons-react v3.35.0 - MIT\n *\n * This source code is licensed under the MIT license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createReactComponent from '../createReactComponent.mjs';\n\nconst __iconNode = [[\"path\", { \"d\": \"M3 12a9 9 0 1 0 18 0a9 9 0 0 0 -18 0\", \"key\": \"svg-0\" }], [\"path\", { \"d\": \"M12 7v5l3 3\", \"key\": \"svg-1\" }]];\nconst IconClock = createReactComponent(\"outline\", \"clock\", \"Clock\", __iconNode);\n\nexport { __iconNode, IconClock as default };\n//# sourceMappingURL=IconClock.mjs.map\n","/**\n * @license @tabler/icons-react v3.35.0 - MIT\n *\n * This source code is licensed under the MIT license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createReactComponent from '../createReactComponent.mjs';\n\nconst __iconNode = [[\"path\", { \"d\": \"M4 6h16\", \"key\": \"svg-0\" }], [\"path\", { \"d\": \"M6 12h12\", \"key\": \"svg-1\" }], [\"path\", { \"d\": \"M9 18h6\", \"key\": \"svg-2\" }]];\nconst IconFilter2 = createReactComponent(\"outline\", \"filter-2\", \"Filter2\", __iconNode);\n\nexport { __iconNode, IconFilter2 as default };\n//# sourceMappingURL=IconFilter2.mjs.map\n","/**\n * @license @tabler/icons-react v3.35.0 - MIT\n *\n * This source code is licensed under the MIT license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createReactComponent from '../createReactComponent.mjs';\n\nconst __iconNode = [[\"path\", { \"d\": \"M3 12a9 9 0 1 0 18 0a9 9 0 0 0 -18 0\", \"key\": \"svg-0\" }], [\"path\", { \"d\": \"M3.6 9h16.8\", \"key\": \"svg-1\" }], [\"path\", { \"d\": \"M3.6 15h16.8\", \"key\": \"svg-2\" }], [\"path\", { \"d\": \"M11.5 3a17 17 0 0 0 0 18\", \"key\": \"svg-3\" }], [\"path\", { \"d\": \"M12.5 3a17 17 0 0 1 0 18\", \"key\": \"svg-4\" }]];\nconst IconWorld = createReactComponent(\"outline\", \"world\", \"World\", __iconNode);\n\nexport { __iconNode, IconWorld as default };\n//# sourceMappingURL=IconWorld.mjs.map\n","/**\n * @license @tabler/icons-react v3.35.0 - MIT\n *\n * This source code is licensed under the MIT license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createReactComponent from '../createReactComponent.mjs';\n\nconst __iconNode = [[\"path\", { \"d\": \"M16 2c.183 0 .355 .05 .502 .135l.033 .02c.28 .177 .465 .49 .465 .845v1h1a3 3 0 0 1 2.995 2.824l.005 .176v12a3 3 0 0 1 -2.824 2.995l-.176 .005h-12a3 3 0 0 1 -2.995 -2.824l-.005 -.176v-12a3 3 0 0 1 2.824 -2.995l.176 -.005h1v-1a1 1 0 0 1 .514 -.874l.093 -.046l.066 -.025l.1 -.029l.107 -.019l.12 -.007q .083 0 .161 .013l.122 .029l.04 .012l.06 .023c.328 .135 .568 .44 .61 .806l.007 .117v1h6v-1a1 1 0 0 1 1 -1m3 7h-14v9.625c0 .705 .386 1.286 .883 1.366l.117 .009h12c.513 0 .936 -.53 .993 -1.215l.007 -.16z\", \"key\": \"svg-0\" }], [\"path\", { \"d\": \"M9.015 13a1 1 0 0 1 -1 1a1.001 1.001 0 1 1 -.005 -2c.557 0 1.005 .448 1.005 1\", \"key\": \"svg-1\" }], [\"path\", { \"d\": \"M13.015 13a1 1 0 0 1 -1 1a1.001 1.001 0 1 1 -.005 -2c.557 0 1.005 .448 1.005 1\", \"key\": \"svg-2\" }], [\"path\", { \"d\": \"M17.02 13a1 1 0 0 1 -1 1a1.001 1.001 0 1 1 -.005 -2c.557 0 1.005 .448 1.005 1\", \"key\": \"svg-3\" }], [\"path\", { \"d\": \"M12.02 15a1 1 0 0 1 0 2a1.001 1.001 0 1 1 -.005 -2z\", \"key\": \"svg-4\" }], [\"path\", { \"d\": \"M9.015 16a1 1 0 0 1 -1 1a1.001 1.001 0 1 1 -.005 -2c.557 0 1.005 .448 1.005 1\", \"key\": \"svg-5\" }]];\nconst IconCalendarWeekFilled = createReactComponent(\"filled\", \"calendar-week-filled\", \"CalendarWeekFilled\", __iconNode);\n\nexport { __iconNode, IconCalendarWeekFilled as default };\n//# sourceMappingURL=IconCalendarWeekFilled.mjs.map\n","import { Input } from \"@mantine/core\";\nimport { IconFilter2 } from \"@tabler/icons-react\";\nimport { Dispatch, FC, SetStateAction } from \"react\";\n\ninterface ITimezoneSearch {\n searchText: string;\n setSearchText: Dispatch<SetStateAction<string>>;\n}\n\nexport const TimezoneSearch: FC<ITimezoneSearch> = ({ searchText, setSearchText }) => {\n return (\n <Input\n placeholder=\"Timezone search (Asia, Tokyo, +09:00, etc)\"\n leftSection={<IconFilter2 stroke={2} />}\n value={searchText}\n onChange={(e) => setSearchText(e.currentTarget.value)}\n />\n );\n};\n","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",c=\"month\",f=\"quarter\",h=\"year\",d=\"date\",l=\"Invalid Date\",$=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(t){var e=[\"th\",\"st\",\"nd\",\"rd\"],n=t%100;return\"[\"+t+(e[(n-20)%10]||e[n]||e[0])+\"]\"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()<n.date())return-t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,c),s=n-i<0,u=e.clone().add(r+(s?-1:1),c);return+(-(r+(n-i)/(s?i-u:u-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return{M:c,y:h,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:f}[t]||String(t||\"\").toLowerCase().replace(/s$/,\"\")},u:function(t){return void 0===t}},g=\"en\",D={};D[g]=M;var p=\"$isDayjsObject\",S=function(t){return t instanceof _||!(!t||!t[p])},w=function t(e,n,r){var i;if(!e)return g;if(\"string\"==typeof e){var s=e.toLowerCase();D[s]&&(i=s),n&&(D[s]=n,i=s);var u=e.split(\"-\");if(!i&&u.length>1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return b},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<O(t)},m.$g=function(t,e,n){return b.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,r=!!b.u(e)||e,f=b.p(t),l=function(t,e){var i=b.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},$=function(t,e){return b.w(n.toDate()[t].apply(n.toDate(\"s\"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},y=this.$W,M=this.$M,m=this.$D,v=\"set\"+(this.$u?\"UTC\":\"\");switch(f){case h:return r?l(1,0):l(31,11);case c:return r?l(1,M):l(0,M+1);case o:var g=this.$locale().weekStart||0,D=(y<g?y+7:y)-g;return l(r?m-D:m+(6-D),M);case a:case d:return $(v+\"Hours\",0);case u:return $(v+\"Minutes\",1);case s:return $(v+\"Seconds\",2);case i:return $(v+\"Milliseconds\",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,!1)},m.$set=function(t,e){var n,o=b.p(t),f=\"set\"+(this.$u?\"UTC\":\"\"),l=(n={},n[a]=f+\"Date\",n[d]=f+\"Date\",n[c]=f+\"Month\",n[h]=f+\"FullYear\",n[u]=f+\"Hours\",n[s]=f+\"Minutes\",n[i]=f+\"Seconds\",n[r]=f+\"Milliseconds\",n)[o],$=o===a?this.$D+(e-this.$W):e;if(o===c||o===h){var y=this.clone().set(d,1);y.$d[l]($),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d}else l&&this.$d[l]($);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[b.p(t)]()},m.add=function(r,f){var d,l=this;r=Number(r);var $=b.p(f),y=function(t){var e=O(l);return b.w(e.date(e.date()+Math.round(t*r)),l)};if($===c)return this.set(c,this.$M+r);if($===h)return this.set(h,this.$y+r);if($===a)return y(1);if($===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[$]||1,m=this.$d.getTime()+r*M;return b.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||l;var r=t||\"YYYY-MM-DDTHH:mm:ssZ\",i=b.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,c=n.months,f=n.meridiem,h=function(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].slice(0,s)},d=function(t){return b.s(s%12||12,t,\"0\")},$=f||function(t,e,n){var r=t<12?\"AM\":\"PM\";return n?r.toLowerCase():r};return r.replace(y,(function(t,r){return r||function(t){switch(t){case\"YY\":return String(e.$y).slice(-2);case\"YYYY\":return b.s(e.$y,4,\"0\");case\"M\":return a+1;case\"MM\":return b.s(a+1,2,\"0\");case\"MMM\":return h(n.monthsShort,a,c,3);case\"MMMM\":return h(c,a);case\"D\":return e.$D;case\"DD\":return b.s(e.$D,2,\"0\");case\"d\":return String(e.$W);case\"dd\":return h(n.weekdaysMin,e.$W,o,2);case\"ddd\":return h(n.weekdaysShort,e.$W,o,3);case\"dddd\":return o[e.$W];case\"H\":return String(s);case\"HH\":return b.s(s,2,\"0\");case\"h\":return d(1);case\"hh\":return d(2);case\"a\":return $(s,u,!0);case\"A\":return $(s,u,!1);case\"m\":return String(u);case\"mm\":return b.s(u,2,\"0\");case\"s\":return String(e.$s);case\"ss\":return b.s(e.$s,2,\"0\");case\"SSS\":return b.s(e.$ms,3,\"0\");case\"Z\":return i}return null}(t)||i.replace(\":\",\"\")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,l){var $,y=this,M=b.p(d),m=O(r),v=(m.utcOffset()-this.utcOffset())*e,g=this-m,D=function(){return b.m(y,m)};switch(M){case h:$=D()/12;break;case c:$=D();break;case f:$=D()/3;break;case o:$=(g-v)/6048e5;break;case a:$=(g-v)/864e5;break;case u:$=g/n;break;case s:$=g/e;break;case i:$=g/t;break;default:$=g}return l?$:b.a($)},m.daysInMonth=function(){return this.endOf(c).$D},m.$locale=function(){return D[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=w(t,e,!0);return r&&(n.$L=r),n},m.clone=function(){return b.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},M}(),k=_.prototype;return O.prototype=k,[[\"$ms\",r],[\"$s\",i],[\"$m\",s],[\"$H\",u],[\"$W\",a],[\"$M\",c],[\"$y\",h],[\"$D\",d]].forEach((function(t){k[t[1]]=function(e){return this.$g(e,t[0],t[1])}})),O.extend=function(t,e){return t.$i||(t(e,_,O),t.$i=!0),O},O.locale=w,O.isDayjs=S,O.unix=function(t){return O(1e3*t)},O.en=D[g],O.Ls=D,O.p={},O}));","!function(t,i){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=i():\"function\"==typeof define&&define.amd?define(i):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs_plugin_utc=i()}(this,(function(){\"use strict\";var t=\"minute\",i=/[+-]\\d\\d(?::?\\d\\d)?/g,e=/([+-]|\\d\\d)/g;return function(s,f,n){var u=f.prototype;n.utc=function(t){var i={date:t,utc:!0,args:arguments};return new f(i)},u.utc=function(i){var e=n(this.toDate(),{locale:this.$L,utc:!0});return i?e.add(this.utcOffset(),t):e},u.local=function(){return n(this.toDate(),{locale:this.$L,utc:!1})};var r=u.parse;u.parse=function(t){t.utc&&(this.$u=!0),this.$utils().u(t.$offset)||(this.$offset=t.$offset),r.call(this,t)};var o=u.init;u.init=function(){if(this.$u){var t=this.$d;this.$y=t.getUTCFullYear(),this.$M=t.getUTCMonth(),this.$D=t.getUTCDate(),this.$W=t.getUTCDay(),this.$H=t.getUTCHours(),this.$m=t.getUTCMinutes(),this.$s=t.getUTCSeconds(),this.$ms=t.getUTCMilliseconds()}else o.call(this)};var a=u.utcOffset;u.utcOffset=function(s,f){var n=this.$utils().u;if(n(s))return this.$u?0:n(this.$offset)?a.call(this):this.$offset;if(\"string\"==typeof s&&(s=function(t){void 0===t&&(t=\"\");var s=t.match(i);if(!s)return null;var f=(\"\"+s[0]).match(e)||[\"-\",0,0],n=f[0],u=60*+f[1]+ +f[2];return 0===u?0:\"+\"===n?u:-u}(s),null===s))return this;var u=Math.abs(s)<=16?60*s:s;if(0===u)return this.utc(f);var r=this.clone();if(f)return r.$offset=u,r.$u=!1,r;var o=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();return(r=this.local().add(u+o,t)).$offset=u,r.$x.$localOffset=o,r};var h=u.format;u.format=function(t){var i=t||(this.$u?\"YYYY-MM-DDTHH:mm:ss[Z]\":\"\");return h.call(this,i)},u.valueOf=function(){var t=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*t},u.isUTC=function(){return!!this.$u},u.toISOString=function(){return this.toDate().toISOString()},u.toString=function(){return this.toDate().toUTCString()};var l=u.toDate;u.toDate=function(t){return\"s\"===t&&this.$offset?n(this.format(\"YYYY-MM-DD HH:mm:ss:SSS\")).toDate():l.call(this)};var c=u.diff;u.diff=function(t,i,e){if(t&&this.$u===t.$u)return c.call(this,t,i,e);var s=this.local(),f=n(t).local();return c.call(s,f,i,e)}}}));","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs_plugin_timezone=e()}(this,(function(){\"use strict\";var t={year:0,month:1,day:2,hour:3,minute:4,second:5},e={};return function(n,i,o){var r,a=function(t,n,i){void 0===i&&(i={});var o=new Date(t),r=function(t,n){void 0===n&&(n={});var i=n.timeZoneName||\"short\",o=t+\"|\"+i,r=e[o];return r||(r=new Intl.DateTimeFormat(\"en-US\",{hour12:!1,timeZone:t,year:\"numeric\",month:\"2-digit\",day:\"2-digit\",hour:\"2-digit\",minute:\"2-digit\",second:\"2-digit\",timeZoneName:i}),e[o]=r),r}(n,i);return r.formatToParts(o)},u=function(e,n){for(var i=a(e,n),r=[],u=0;u<i.length;u+=1){var f=i[u],s=f.type,m=f.value,c=t[s];c>=0&&(r[c]=parseInt(m,10))}var d=r[3],l=24===d?0:d,h=r[0]+\"-\"+r[1]+\"-\"+r[2]+\" \"+l+\":\"+r[4]+\":\"+r[5]+\":000\",v=+e;return(o.utc(h).valueOf()-(v-=v%1e3))/6e4},f=i.prototype;f.tz=function(t,e){void 0===t&&(t=r);var n,i=this.utcOffset(),a=this.toDate(),u=a.toLocaleString(\"en-US\",{timeZone:t}),f=Math.round((a-new Date(u))/1e3/60),s=15*-Math.round(a.getTimezoneOffset()/15)-f;if(!Number(s))n=this.utcOffset(0,e);else if(n=o(u,{locale:this.$L}).$set(\"millisecond\",this.$ms).utcOffset(s,!0),e){var m=n.utcOffset();n=n.add(i-m,\"minute\")}return n.$x.$timezone=t,n},f.offsetName=function(t){var e=this.$x.$timezone||o.tz.guess(),n=a(this.valueOf(),e,{timeZoneName:t}).find((function(t){return\"timezonename\"===t.type.toLowerCase()}));return n&&n.value};var s=f.startOf;f.startOf=function(t,e){if(!this.$x||!this.$x.$timezone)return s.call(this,t,e);var n=o(this.format(\"YYYY-MM-DD HH:mm:ss:SSS\"),{locale:this.$L});return s.call(n,t,e).tz(this.$x.$timezone,!0)},o.tz=function(t,e,n){var i=n&&e,a=n||e||r,f=u(+o(),a);if(\"string\"!=typeof t)return o(t).tz(a);var s=function(t,e,n){var i=t-60*e*1e3,o=u(i,n);if(e===o)return[i,e];var r=u(i-=60*(o-e)*1e3,n);return o===r?[i,o]:[t-60*Math.min(o,r)*1e3,Math.max(o,r)]}(o.utc(t,i).valueOf(),f,a),m=s[0],c=s[1],d=o(m).utcOffset(c);return d.$x.$timezone=a,d},o.tz.guess=function(){return Intl.DateTimeFormat().resolvedOptions().timeZone},o.tz.setDefault=function(t){r=t}}}));","export const longTzName = (timezone: string, locale = \"en-US\") => {\n return (\n new Intl.DateTimeFormat(locale, {\n timeZone: timezone,\n timeZoneName: \"long\",\n })\n .formatToParts(new Date())\n .find((p) => p.type === \"timeZoneName\")?.value || \"\"\n );\n};\n","export const parseOffset = (offsetUtc: string) => {\n const sign = offsetUtc[0] === \"-\" ? -1 : 1;\n const [hours, minutes] = offsetUtc.slice(1).split(\":\").map(Number);\n return sign * (hours * 60 + minutes);\n};\n","import dayjs from \"dayjs\";\nimport utc from \"dayjs/plugin/utc\";\nimport timezone from \"dayjs/plugin/timezone\";\nimport { longTzName } from \"./longTzName\";\nimport { parseOffset } from \"./parseOffest\";\n\ndayjs.extend(utc);\ndayjs.extend(timezone);\n\nexport const getTimezones = () => {\n const timezones = Intl.supportedValuesOf(\"timeZone\");\n\n return timezones\n .map((timezone) => {\n const offset = dayjs().tz(timezone).format(\"Z\");\n\n return {\n name: timezone,\n longName: longTzName(timezone),\n currentTime: dayjs().tz(timezone).format(\"h:mm A\"),\n utcOffset: offset,\n offsetMinutes: parseOffset(offset),\n };\n })\n .sort((a, b) => a.offsetMinutes - b.offsetMinutes);\n};\n","import { createContext, Dispatch, ReactNode, SetStateAction, useContext, useState } from \"react\";\n\ninterface PopoverContextType {\n popoverOpened: boolean;\n setPopoverOpened: Dispatch<SetStateAction<boolean>>;\n closePopover: () => void;\n}\n\nconst PopoverContext = createContext<PopoverContextType | undefined>(undefined);\n\nexport const usePopoverContext = () => {\n const ctx = useContext(PopoverContext);\n if (!ctx) throw new Error(\"usePopoverContext must be used within a PopoverProvider\");\n return ctx;\n};\n\nexport const PopoverProvider = ({ children }: { children: ReactNode }) => {\n const [popoverOpened, setPopoverOpened] = useState(false);\n\n const closePopover = () => {\n setPopoverOpened(false);\n };\n\n return (\n <PopoverContext.Provider value={{ popoverOpened, setPopoverOpened, closePopover }}>\n {children}\n </PopoverContext.Provider>\n );\n};\n","import { Button, Flex } from \"@mantine/core\";\nimport { useAppTheme } from \"../hooks/useAppTheme\";\nimport { usePopoverContext } from \"../Provider/PopoverProvider\";\n\nexport const Footer = () => {\n const { theme } = useAppTheme();\n const { closePopover } = usePopoverContext();\n\n return (\n <Flex justify={\"flex-end\"}>\n <Flex columnGap={16}>\n <Button size=\"xs\" variant=\"subtle\" color={theme.primaryColor} onClick={closePopover}>\n Cancel\n </Button>\n <Button type=\"submit\" size=\"xs\" color={theme.primaryColor}>\n Apply\n </Button>\n </Flex>\n </Flex>\n );\n};\n","import dayjs from \"dayjs\";\nimport { TzRange } from \"../interfaces\";\n\nexport const DATEFORMAT = \"YYYY/MM/DD\";\nexport const TIMEFORMAT = \"HH:mm:ss\";\n\nexport const getCurrentTime = () => dayjs().format(TIMEFORMAT);\n\nexport const getCurrentDate = () => dayjs().format(DATEFORMAT);\n\nexport const getCurrentPlusDate = (amount: number) => dayjs().add(amount, \"day\").format(DATEFORMAT);\n\nexport const getShortTimezoneName = (tz: string | null) => {\n if (!tz) return tz;\n return dayjs().tz(tz).format(\"Z\");\n};\n\nexport const getPopoverButtonText = (tzRange: TzRange) => {\n return `${dayjs(tzRange.startDate).format(DATEFORMAT)} ${tzRange.startTime} - ${dayjs(\n tzRange.endDate\n ).format(DATEFORMAT)} ${tzRange.endTime} (${getShortTimezoneName(tzRange.timezone.name)})`;\n};\n\nexport const getPastDateTime = (\n date: string | null,\n time: string,\n amount: number,\n unit: dayjs.ManipulateType\n) => {\n const d = dayjs(`${date} ${time}`).subtract(amount, unit);\n return {\n date: d.format(DATEFORMAT),\n time: d.format(TIMEFORMAT),\n };\n};\n\nexport const getFutureDateTime = (\n date: string | null,\n time: string,\n amount: number,\n unit: dayjs.ManipulateType\n) => {\n const d = dayjs(`${date} ${time}`).add(amount, unit);\n return {\n date: d.format(DATEFORMAT),\n time: d.format(TIMEFORMAT),\n };\n};\n\nexport const toUtcIso = (dateStr: string, timeStr: string, sourceZone: string) => {\n return dayjs\n .tz(`${dateStr} ${timeStr}`, `${DATEFORMAT} ${TIMEFORMAT}`, sourceZone)\n .utc()\n .toISOString();\n};\n\nexport const toTz = (utcIso: string, zone: string) => {\n const d = dayjs.utc(utcIso).tz(zone);\n return { date: d.format(DATEFORMAT), time: d.format(TIMEFORMAT) };\n};\n","import { FC, FormEvent, useEffect, useMemo, useState } from \"react\";\nimport { Box, Flex, Text } from \"@mantine/core\";\nimport { useDebounce } from \"react-use\";\nimport { TimezoneList } from \"./components/TimezoneList\";\nimport { TimezoneSearch } from \"./components/TimezoneSearch\";\nimport { getTimezones } from \"./util/getTimezones\";\nimport styled from \"./index.module.css\";\nimport commonStyled from \"../styles/index.module.css\";\nimport { Footer } from \"../Footer\";\nimport { TimezoneData, TzRange } from \"../interfaces\";\nimport dayjs from \"dayjs\";\nimport { toTz, toUtcIso } from \"../util/dateTime\";\n\ninterface ITimezoneDataInternal {\n name: string;\n longName: string;\n currentTime: string;\n utcOffset: string;\n offsetMinutes: number;\n}\n\ninterface ITimezonePanel {\n tzRange: TzRange;\n}\n\nconst TimezonePanel: FC<ITimezonePanel> = ({ tzRange }) => {\n const [selectedTimezone, setSelectedTimezone] = useState<TimezoneData | null>(tzRange.timezone);\n const [filteredTimezones, setFilteredTimezones] = useState<ITimezoneDataInternal[]>([]);\n const [searchText, setSearchText] = useState(\"\");\n\n const timezones = useMemo(() => getTimezones(), []);\n\n useEffect(() => {\n setFilteredTimezones(timezones);\n }, []);\n\n useDebounce(\n () => {\n if (searchText === \"\") {\n setFilteredTimezones(timezones);\n return;\n }\n\n setFilteredTimezones(\n timezones.filter(\n (timezone) =>\n timezone.name.toLowerCase().includes(searchText.toLocaleLowerCase()) ||\n timezone.longName.toLowerCase().includes(searchText.toLocaleLowerCase()) ||\n timezone.currentTime.toLowerCase().includes(searchText.toLocaleLowerCase()) ||\n timezone.utcOffset.toLowerCase().includes(searchText.toLocaleLowerCase())\n )\n );\n },\n 250,\n [searchText]\n );\n\n const handleTimezoneMouseClick = (selectedTimezone: TimezoneData) => {\n setSelectedTimezone(selectedTimezone);\n };\n\n const handleApply = (e: FormEvent<HTMLFormElement>) => {\n e.preventDefault();\n\n if (\n !selectedTimezone?.name ||\n !tzRange.timezone.name ||\n !tzRange.startDate ||\n !tzRange.startTime ||\n !tzRange.endDate ||\n !tzRange.endTime\n )\n return;\n\n const startUtcIso = toUtcIso(tzRange.startDate, tzRange.startTime, tzRange.timezone.name);\n const endUtcIso = toUtcIso(tzRange.endDate, tzRange.endTime, tzRange.timezone.name);\n\n const tzStartDate = toTz(startUtcIso, selectedTimezone.name);\n const tzEndDate = toTz(endUtcIso, selectedTimezone.name);\n\n tzRange.onApply({\n startDate: tzStartDate.date,\n startTime: tzStartDate.time,\n endDate: tzEndDate.date,\n endTime: tzEndDate.time,\n timezone: selectedTimezone || {\n name: null,\n longName: null,\n utcOffset: null,\n },\n });\n };\n\n const getCurrentTimeInTz = (tzName: string | null) => {\n if (!tzName) return \"\";\n return dayjs().tz(tzName).format(\"h:mm A\");\n };\n\n return (\n <form className={commonStyled[\"form-container\"]} onSubmit={handleApply}>\n <Flex direction=\"column\" style={{ height: \"calc(100% - 40px)\" }}>\n <Box style={{ width: \"95%\" }} mx=\"auto\">\n <TimezoneSearch searchText={searchText} setSearchText={setSearchText} />\n </Box>\n <Box style={{ overflowY: \"scroll\" }}>\n <Text fw={600} px={12}>\n My Location\n </Text>\n <Flex direction=\"column\">\n <TimezoneList\n isBrowserTimezone\n name={tzRange.timezone?.name}\n longName={tzRange.timezone?.longName}\n currentTime={getCurrentTimeInTz(tzRange.timezone?.name)}\n utcOffset={tzRange.timezone?.utcOffset}\n selectedTimezone={selectedTimezone}\n />\n </Flex>\n <Text fw={600} px={12}>\n Locations\n </Text>\n <Flex direction={\"column\"} className={styled[\"list-container\"]}>\n {filteredTimezones.map((tz, idx) => (\n <TimezoneList\n key={idx}\n name={tz.name}\n longName={tz.longName}\n currentTime={tz.currentTime}\n utcOffset={tz.utcOffset}\n selectedTimezone={selectedTimezone}\n handleTimezoneMouseClick={handleTimezoneMouseClick}\n />\n ))}\n </Flex>\n </Box>\n </Flex>\n <Box px={12}>\n <Footer />\n </Box>\n </form>\n );\n};\n\nexport { TimezonePanel };\n","import dayjs from \"dayjs\";\n\nexport interface ITimeOptions {\n label: string;\n searchKey: string;\n startTime: string;\n endTime: string;\n lineBreak?: boolean;\n}\n\nexport const getTimeOptions = (timezoneName: string): ITimeOptions[] => [\n {\n label: \"Today\",\n searchKey: \"today\",\n startTime: dayjs().tz(timezoneName).startOf(\"day\").format(),\n endTime: dayjs().tz(timezoneName).endOf(\"day\").format(),\n },\n {\n label: \"Tomorrow\",\n searchKey: \"tomorrow\",\n startTime: dayjs().tz(timezoneName).add(1, \"day\").startOf(\"day\").format(),\n endTime: dayjs().tz(timezoneName).add(1, \"day\").endOf(\"day\").format(),\n },\n {\n label: \"Yesterday\",\n searchKey: \"yesterday\",\n startTime: dayjs().tz(timezoneName).subtract(1, \"day\").startOf(\"day\").format(),\n endTime: dayjs().tz(timezoneName).subtract(1, \"day\").endOf(\"day\").format(),\n lineBreak: true,\n },\n {\n label: \"Last 15 seconds\",\n searchKey: \"-15s\",\n startTime: dayjs().tz(timezoneName).subtract(15, \"second\").format(),\n endTime: dayjs().tz(timezoneName).format(),\n },\n {\n label: \"Last 30 seconds\",\n searchKey: \"-30s\",\n startTime: dayjs().tz(timezoneName).subtract(30, \"second\").format(),\n endTime: dayjs().tz(timezoneName).format(),\n },\n {\n label: \"Next 15 seconds\",\n searchKey: \"+15s\",\n startTime: dayjs().tz(timezoneName).format(),\n endTime: dayjs().tz(timezoneName).add(15, \"second\").format(),\n },\n {\n label: \"Next 30 seconds\",\n searchKey: \"+30s\",\n startTime: dayjs().tz(timezoneName).format(),\n endTime: dayjs().tz(timezoneName).add(30, \"second\").format(),\n lineBreak: true,\n },\n {\n label: \"Last 5 minutes\",\n searchKey: \"-5m\",\n startTime: dayjs().tz(timezoneName).subtract(5, \"minute\").format(),\n endTime: dayjs().tz(timezoneName).format(),\n },\n {\n label: \"Last 10 minutes\",\n searchKey: \"-10m\",\n startTime: dayjs().tz(timezoneName).subtract(10, \"minute\").format(),\n endTime: dayjs().tz(timezoneName).format(),\n },\n {\n label: \"Last 15 minutes\",\n searchKey: \"-15m\",\n startTime: dayjs().tz(timezoneName).subtract(15, \"minute\").format(),\n endTime: dayjs().tz(timezoneName).format(),\n },\n {\n label: \"Last 30 minutes\",\n searchKey: \"-30m\",\n startTime: dayjs().tz(timezoneName).subtract(30, \"minute\").format(),\n endTime: dayjs().tz(timezoneName).format(),\n },\n {\n label: \"Last 45 minutes\",\n searchKey: \"-45m\",\n startTime: dayjs().tz(timezoneName).subtract(45, \"minute\").format(),\n endTime: dayjs().tz(timezoneName).format(),\n },\n {\n label: \"Next 5 minutes\",\n searchKey: \"+5m\",\n startTime: dayjs().tz(timezoneName).format(),\n endTime: dayjs().tz(timezoneName).add(5, \"minute\").format(),\n },\n {\n label: \"Next 10 minutes\",\n searchKey: \"+10m\",\n startTime: dayjs().tz(timezoneName).format(),\n endTime: dayjs().tz(timezoneName).add(10, \"minute\").format(),\n },\n {\n label: \"Next 15 minutes\",\n searchKey: \"+15m\",\n startTime: dayjs().tz(timezoneName).format(),\n endTime: dayjs().tz(timezoneName).add(15, \"minute\").format(),\n },\n {\n label: \"Next 30 minutes\",\n searchKey: \"+30m\",\n startTime: dayjs().tz(timezoneName).format(),\n endTime: dayjs().tz(timezoneName).add(30, \"minute\").format(),\n },\n {\n label: \"Next 45 minutes\",\n searchKey: \"+45m\",\n startTime: dayjs().tz(timezoneName).format(),\n endTime: dayjs().tz(timezoneName).add(45, \"minute\").format(),\n lineBreak: true,\n },\n {\n label: \"Last 1 hour\",\n searchKey: \"-1h\",\n startTime: dayjs().tz(timezoneName).subtract(1, \"hour\").format(),\n endTime: dayjs().tz(timezoneName).format(),\n },\n {\n label: \"Last 3 hours\",\n searchKey: \"-3h\",\n startTime: dayjs().tz(timezoneName).subtract(3, \"hour\").format(),\n endTime: dayjs().tz(timezoneName).format(),\n },\n {\n label: \"Last 6 hours\",\n searchKey: \"-6h\",\n startTime: dayjs().tz(timezoneName).subtract(6, \"hour\").format(),\n endTime: dayjs().tz(timezoneName).format(),\n },\n {\n label: \"Last 12 hours\",\n searchKey: \"-12h\",\n startTime: dayjs().tz(timezoneName).subtract(12, \"hour\").format(),\n endTime: dayjs().tz(timezoneName).format(),\n },\n {\n label: \"Next 1 hour\",\n searchKey: \"+1h\",\n startTime: dayjs().tz(timezoneName).format(),\n endTime: dayjs().tz(timezoneName).add(1, \"hour\").format(),\n },\n {\n label: \"Next 3 hours\",\n searchKey: \"+3h\",\n startTime: dayjs().tz(timezoneName).format(),\n endTime: dayjs().tz(timezoneName).add(3, \"hour\").format(),\n },\n {\n label: \"Next 6 hours\",\n searchKey: \"+6h\",\n startTime: dayjs().tz(timezoneName).format(),\n endTime: dayjs().tz(timezoneName).add(6, \"hour\").format(),\n },\n {\n label: \"Next 12 hours\",\n searchKey: \"+12h\",\n startTime: dayjs().tz(timezoneName).format(),\n endTime: dayjs().tz(timezoneName).add(12, \"hour\").format(),\n lineBreak: true,\n },\n {\n label: \"Last 1 day\",\n searchKey: \"-1d\",\n startTime: dayjs().tz(timezoneName).subtract(1, \"day\").format(),\n endTime: dayjs().tz(timezoneName).format(),\n },\n {\n label: \"Last 2 days\",\n searchKey: \"-2d\",\n startTime: dayjs().tz(timezoneName).subtract(2, \"day\").format(),\n endTime: dayjs().tz(timezoneName).format(),\n },\n {\n label: \"Last 7 days\",\n searchKey: \"-7d\",\n startTime: dayjs().tz(timezoneName).subtract(7, \"day\").format(),\n endTime: dayjs().tz(timezoneName).format(),\n },\n {\n label: \"Last 14 days\",\n searchKey: \"-14d\",\n startTime: dayjs().tz(timezoneName).subtract(14, \"day\").format(),\n endTime: dayjs().tz(timezoneName).format(),\n },\n {\n label: \"Last 30 days\",\n searchKey: \"-30d\",\n startTime: dayjs().tz(timezoneName).subtract(30, \"day\").format(),\n endTime: dayjs().tz(timezoneName).format(),\n },\n {\n label: \"Next 1 day\",\n searchKey: \"+1d\",\n startTime: dayjs().tz(timezoneName).format(),\n endTime: dayjs().tz(timezoneName).add(1, \"day\").format(),\n },\n {\n label: \"Next 2 days\",\n searchKey: \"+2d\",\n startTime: dayjs().tz(timezoneName).format(),\n endTime: dayjs().tz(timezoneName).add(2, \"day\").format(),\n },\n {\n label: \"Next 7 days\",\n searchKey: \"+7d\",\n startTime: dayjs().tz(timezoneName).format(),\n endTime: dayjs().tz(timezoneName).add(7, \"day\").format(),\n },\n {\n label: \"Next 14 days\",\n searchKey: \"+14d\",\n startTime: dayjs().tz(timezoneName).format(),\n endTime: dayjs().tz(timezoneName).add(14, \"day\").format(),\n },\n {\n label: \"Next 30 days\",\n searchKey: \"+30d\",\n startTime: dayjs().tz(timezoneName).format(),\n endTime: dayjs().tz(timezoneName).add(30, \"day\").format(),\n },\n];\n","import { getTimeOptions, ITimeOptions } from \"./timeOptions\";\nimport { Box, Flex, Input, Text } from \"@mantine/core\";\nimport styled from \"./index.module.css\";\nimport { useEffect, useState } from \"react\";\nimport { useDebounce } from \"react-use\";\nimport clsx from \"clsx\";\nimport { useAppTheme } from \"../hooks/useAppTheme\";\nimport { TzRange } from \"../interfaces\";\n\ninterface IRelativeTimePanel {\n tzRange: TzRange;\n}\n\nexport const RelativeTimePanel = ({ tzRange }: IRelativeTimePanel) => {\n const [filteredOptions, setFilteredOptions] = useState<ITimeOptions[]>([]);\n const [searchText, setSearchText] = useState(\"\");\n const { colorScheme } = useAppTheme();\n\n useEffect(() => {\n if (tzRange.timezone.name !== null) {\n const timeOptions = getTimeOptions(tzRange.timezone.name);\n setFilteredOptions(timeOptions);\n }\n }, [tzRange.timezone]);\n\n useDebounce(\n () => {\n if (searchText === \"\") {\n setFilteredOptions(getTimeOptions(tzRange.timezone.name!));\n return;\n }\n\n const newTimeOptions = filteredOptions.filter((value) =>\n value.searchKey.includes(searchText)\n );\n setFilteredOptions(newTimeOptions);\n },\n 250,\n [searchText]\n );\n\n const handleRowClick = (option: ITimeOptions) => {\n const [startDate, startTime] = option.startTime.split(\"T\");\n const [endDate, endTime] = option.endTime.split(\"T\");\n\n tzRange.onApply({\n startDate,\n startTime: startTime.slice(0, 8),\n endDate,\n endTime: endTime.slice(0, 8),\n timezone: tzRange.timezone,\n });\n };\n\n return (\n <>\n <Box style={{ width: \"90%\" }} mx={\"auto\"}>\n <Input\n placeholder=\"Relative time (15m, 1h, 1d, 1w)\"\n // leftSection={<IconFilter2 stroke={2} color=\"#313B49\" />}\n value={searchText}\n onChange={(e) => setSearchText(e.currentTarget.value)}\n />\n </Box>\n <Flex direction={\"column\"} className={styled[\"relative-time-panel-container\"]}>\n {filteredOptions.map((op) => (\n <Flex\n key={op.label}\n align={\"center\"}\n justify={\"space-between\"}\n className={clsx(\n colorScheme === \"dark\" ? styled[\"time-row-dark\"] : styled[\"time-row-light\"],\n styled[\"time-row\"]\n )}\n py={4}\n px={12}\n mb={op.lineBreak ? 8 : 0}\n onClick={() => handleRowClick(op)}\n >\n <Text size=\"sm\">{op.label}</Text>\n <Text size=\"xs\" c=\"#5f6368\">\n {op.searchKey}\n </Text>\n </Flex>\n ))}\n </Flex>\n </>\n );\n};\n","import { Box, Flex, Text } from \"@mantine/core\";\nimport {\n IconClock,\n IconCalendarWeekFilled,\n IconWorld,\n IconChevronRight,\n} from \"@tabler/icons-react\";\nimport styled from \"./index.module.css\";\nimport { Dispatch, FC, SetStateAction } from \"react\";\nimport { Panel } from \"../TimezoneRangePicker\";\nimport { RelativeTimePanel } from \"../RelativeTimePanel\";\nimport { TzRange } from \"../interfaces\";\n\ninterface ISidebar {\n tzRange: TzRange;\n setSelectedPanel: Dispatch<SetStateAction<Panel>>;\n}\n\nexport const Sidebar: FC<ISidebar> = ({ setSelectedPanel, tzRange }) => {\n return (\n <Box className={styled[\"sidebar-container\"]} flex={1}>\n <RelativeTimePanel tzRange={tzRange} />\n <Flex direction=\"column\" rowGap={16} py={8} style={{ borderTop: \"1px solid #ddd\" }}>\n <Flex\n className={styled[\"sidebar-row\"]}\n justify={\"space-between\"}\n align={\"center\"}\n px={12}\n onClick={() => setSelectedPanel(Panel.START_END_TIME)}\n >\n <Flex align={\"center\"}>\n <IconCalendarWeekFilled stroke={1.5} />\n <Text size=\"sm\">Start and end times</Text>\n </Flex>\n <IconChevronRight stroke={1.5} />\n </Flex>\n <Flex\n className={styled[\"sidebar-row\"]}\n justify={\"space-between\"}\n align={\"center\"}\n px={12}\n onClick={() => setSelectedPanel(Panel.AROUND_TIME)}\n >\n <Flex align={\"center\"}>\n <IconClock stroke={1.5} />\n <Text size=\"sm\">Around a time</Text>\n </Flex>\n <IconChevronRight stroke={1.5} />\n </Flex>\n <Flex\n className={styled[\"sidebar-row\"]}\n justify={\"space-between\"}\n align={\"center\"}\n px={12}\n onClick={() => setSelectedPanel(Panel.TIMEZONE)}\n >\n <Flex align={\"center\"}>\n <IconWorld stroke={1.5} />\n <Text size=\"sm\">Time zone</Text>\n </Flex>\n <IconChevronRight stroke={1.5} />\n </Flex>\n </Flex>\n </Box>\n );\n};\n","import dayjs from \"dayjs\";\nimport { getFutureDateTime, getPastDateTime } from \"../util/dateTime\";\n\nexport enum TimeOption {\n ThirtySeconds = \"± 30 seconds\",\n OneMinute = \"± 1 minute\",\n FifteenMinutes = \"± 15 minutes\",\n ThirtyMinutes = \"± 30 minutes\",\n OneHour = \"± 1 hour\",\n OneDay = \"± 1 day\",\n}\n\nexport const TIME_OPTIONS = [\n TimeOption.ThirtySeconds,\n TimeOption.OneMinute,\n TimeOption.FifteenMinutes,\n TimeOption.ThirtyMinutes,\n TimeOption.OneHour,\n TimeOption.OneDay,\n];\n\nexport const getStartEndDateTime = (date: string | null, time: string, timeOption: TimeOption) => {\n switch (timeOption) {\n case TimeOption.ThirtySeconds:\n const startDateTime = getPastDateTime(date, time, 30, \"second\");\n const endDateTime = getFutureDateTime(date, time, 30, \"second\");\n return {\n startDate: startDateTime.date,\n startTime: startDateTime.time,\n endDate: endDateTime.date,\n endTime: endDateTime.time,\n };\n case TimeOption.OneMinute:\n const startDateTime1 = getPastDateTime(date, time, 1, \"minute\");\n const endDateTime1 = getFutureDateTime(date, time, 1, \"minute\");\n return {\n startDate: startDateTime1.date,\n startTime: startDateTime1.time,\n endDate: endDateTime1.date,\n endTime: endDateTime1.time,\n };\n case TimeOption.FifteenMinutes:\n const startDateTime15 = getPastDateTime(date, time, 15, \"minute\");\n const endDateTime15 = getFutureDateTime(date, time, 15, \"minute\");\n return {\n startDate: startDateTime15.date,\n startTime: startDateTime15.time,\n endDate: endDateTime15.date,\n endTime: endDateTime15.time,\n };\n case TimeOption.ThirtyMinutes:\n const startDateTime30 = getPastDateTime(date, time, 30, \"minute\");\n const endDateTime30 = getFutureDateTime(date, time, 30, \"minute\");\n return {\n startDate: startDateTime30.date,\n startTime: startDateTime30.time,\n endDate: endDateTime30.date,\n endTime: endDateTime30.time,\n };\n case TimeOption.OneHour:\n const startDateTime60 = getPastDateTime(date, time, 1, \"hour\");\n const endDateTime60 = getFutureDateTime(date, time, 1, \"hour\");\n return {\n startDate: startDateTime60.date,\n startTime: startDateTime60.time,\n endDate: endDateTime60.date,\n endTime: endDateTime60.time,\n };\n case TimeOption.OneDay:\n const startDateTimeDay = getPastDateTime(date, time, 1, \"day\");\n const endDateTimeDay = getFutureDateTime(date, time, 1, \"day\");\n return {\n startDate: startDateTimeDay.date,\n startTime: startDateTimeDay.time,\n endDate: endDateTimeDay.date,\n endTime: endDateTimeDay.time,\n };\n default:\n return {\n startDate: date,\n startTime: time,\n endDate: date,\n endTime: time,\n };\n }\n};\n","'use client';\nimport { useLayoutEffect, useEffect } from 'react';\n\nfunction dispatchEvent(type, detail) {\n window.dispatchEvent(new CustomEvent(type, { detail }));\n}\nfunction validateFormName(name) {\n if (!/^[0-9a-zA-Z-]+$/.test(name)) {\n throw new Error(\n `[@mantine/use-form] Form name \"${name}\" is invalid, it should contain only letters, numbers and dashes`\n );\n }\n}\nconst useIsomorphicEffect = typeof window !== \"undefined\" ? useLayoutEffect : useEffect;\nfunction createFormActions(name) {\n validateFormName(name);\n const setFieldValue = (path, value) => dispatchEvent(`mantine-form:${name}:set-field-value`, { path, value });\n const setValues = (values) => dispatchEvent(`mantine-form:${name}:set-values`, values);\n const setInitialValues = (values) => dispatchEvent(`mantine-form:${name}:set-initial-values`, values);\n const setErrors = (errors) => dispatchEvent(`mantine-form:${name}:set-errors`, errors);\n const setFieldError = (path, error) => dispatchEvent(`mantine-form:${name}:set-field-error`, { path, error });\n const clearFieldError = (path) => dispatchEvent(`mantine-form:${name}:clear-field-error`, path);\n const clearErrors = () => dispatchEvent(`mantine-form:${name}:clear-errors`);\n const reset = () => dispatchEvent(`mantine-form:${name}:reset`);\n const validate = () => dispatchEvent(`mantine-form:${name}:validate`);\n const validateField = (path) => dispatchEvent(`mantine-form:${name}:validate-field`, path);\n const reorderListItem = (path, payload) => dispatchEvent(`mantine-form:${name}:reorder-list-item`, { path, payload });\n const removeListItem = (path, index) => dispatchEvent(`mantine-form:${name}:remove-list-item`, { path, index });\n const insertListItem = (path, item, index) => dispatchEvent(`mantine-form:${name}:insert-list-item`, { path, index, item });\n const setDirty = (value) => dispatchEvent(`mantine-form:${name}:set-dirty`, value);\n const setTouched = (value) => dispatchEvent(`mantine-form:${name}:set-touched`, value);\n const resetDirty = (values) => dispatchEvent(`mantine-form:${name}:reset-dirty`, values);\n const resetTouched = () => dispatchEvent(`mantine-form:${name}:reset-touched`);\n return {\n setFieldValue,\n setValues,\n setInitialValues,\n setErrors,\n setFieldError,\n clearFieldError,\n clearErrors,\n reset,\n validate,\n validateField,\n reorderListItem,\n removeListItem,\n insertListItem,\n setDirty,\n setTouched,\n resetDirty,\n resetTouched\n };\n}\nfunction useFormEvent(eventKey, handler) {\n useIsomorphicEffect(() => {\n if (eventKey) {\n window.addEventListener(eventKey, handler);\n return () => window.removeEventListener(eventKey, handler);\n }\n return void 0;\n }, [eventKey]);\n}\nfunction useFormActions(name, form) {\n if (name) {\n validateFormName(name);\n }\n useFormEvent(\n `mantine-form:${name}:set-field-value`,\n (event) => form.setFieldValue(event.detail.path, event.detail.value)\n );\n useFormEvent(\n `mantine-form:${name}:set-values`,\n (event) => form.setValues(event.detail)\n );\n useFormEvent(\n `mantine-form:${name}:set-initial-values`,\n (event) => form.setInitialValues(event.detail)\n );\n useFormEvent(\n `mantine-form:${name}:set-errors`,\n (event) => form.setErrors(event.detail)\n );\n useFormEvent(\n `mantine-form:${name}:set-field-error`,\n (event) => form.setFieldError(event.detail.path, event.detail.error)\n );\n useFormEvent(\n `mantine-form:${name}:clear-field-error`,\n (event) => form.clearFieldError(event.detail)\n );\n useFormEvent(`mantine-form:${name}:clear-errors`, form.clearErrors);\n useFormEvent(`mantine-form:${name}:reset`, form.reset);\n useFormEvent(`mantine-form:${name}:validate`, form.validate);\n useFormEvent(\n `mantine-form:${name}:validate-field`,\n (event) => form.validateField(event.detail)\n );\n useFormEvent(\n `mantine-form:${name}:reorder-list-item`,\n (event) => form.reorderListItem(event.detail.path, event.detail.payload)\n );\n useFormEvent(\n `mantine-form:${name}:remove-list-item`,\n (event) => form.removeListItem(event.detail.path, event.detail.index)\n );\n useFormEvent(\n `mantine-form:${name}:insert-list-item`,\n (event) => form.insertListItem(event.detail.path, event.detail.item, event.detail.index)\n );\n useFormEvent(\n `mantine-form:${name}:set-dirty`,\n (event) => form.setDirty(event.detail)\n );\n useFormEvent(\n `mantine-form:${name}:set-touched`,\n (event) => form.setTouched(event.detail)\n );\n useFormEvent(\n `mantine-form:${name}:reset-dirty`,\n (event) => form.resetDirty(event.detail)\n );\n useFormEvent(`mantine-form:${name}:reset-touched`, form.resetTouched);\n}\n\nexport { createFormActions, useFormActions, useIsomorphicEffect };\n//# sourceMappingURL=actions.mjs.map\n","'use client';\nfunction getInputOnChange(setValue) {\n return (val) => {\n if (!val) {\n setValue(val);\n } else if (typeof val === \"function\") {\n setValue(val);\n } else if (typeof val === \"object\" && \"nativeEvent\" in val) {\n const { currentTarget } = val;\n if (currentTarget instanceof HTMLInputElement) {\n if (currentTarget.type === \"checkbox\") {\n setValue(currentTarget.checked);\n } else {\n setValue(currentTarget.value);\n }\n } else if (currentTarget instanceof HTMLTextAreaElement || currentTarget instanceof HTMLSelectElement) {\n setValue(currentTarget.value);\n }\n } else {\n setValue(val);\n }\n };\n}\n\nexport { getInputOnChange };\n//# sourceMappingURL=get-input-on-change.mjs.map\n","'use client';\nfunction filterErrors(errors) {\n if (errors === null || typeof errors !== \"object\") {\n return {};\n }\n return Object.keys(errors).reduce((acc, key) => {\n const errorValue = errors[key];\n if (errorValue !== void 0 && errorValue !== null && errorValue !== false) {\n acc[key] = errorValue;\n }\n return acc;\n }, {});\n}\n\nexport { filterErrors };\n//# sourceMappingURL=filter-errors.mjs.map\n","'use client';\nimport { useState, useRef, useCallback } from 'react';\nimport { filterErrors } from './filter-errors/filter-errors.mjs';\n\nfunction useFormErrors(initialErrors) {\n const [errorsState, setErrorsState] = useState(filterErrors(initialErrors));\n const errorsRef = useRef(errorsState);\n const setErrors = useCallback((errors) => {\n setErrorsState((current) => {\n const newErrors = filterErrors(typeof errors === \"function\" ? errors(current) : errors);\n errorsRef.current = newErrors;\n return newErrors;\n });\n }, []);\n const clearErrors = useCallback(() => setErrors({}), []);\n const clearFieldError = useCallback(\n (path) => {\n if (errorsRef.current[path] === void 0) {\n return;\n }\n setErrors((current) => {\n const errors = { ...current };\n delete errors[path];\n return errors;\n });\n },\n [errorsState]\n );\n const setFieldError = useCallback(\n (path, error) => {\n if (error == null || error === false) {\n clearFieldError(path);\n } else if (errorsRef.current[path] !== error) {\n setErrors((current) => ({ ...current, [path]: error }));\n }\n },\n [errorsState]\n );\n return {\n errorsState,\n setErrors,\n clearErrors,\n setFieldError,\n clearFieldError\n };\n}\n\nexport { useFormErrors };\n//# sourceMappingURL=use-form-errors.mjs.map\n","'use client';\nfunction clearListState(field, state) {\n if (state === null || typeof state !== \"object\") {\n return {};\n }\n const clone = { ...state };\n Object.keys(state).forEach((errorKey) => {\n if (errorKey.includes(`${String(field)}.`)) {\n delete clone[errorKey];\n }\n });\n return clone;\n}\n\nexport { clearListState };\n//# sourceMappingURL=clear-list-state.mjs.map\n","'use client';\nimport { clearListState } from './clear-list-state.mjs';\n\nfunction getIndexFromKeyAfterPath(key, path) {\n const split = key.substring(path.length + 1).split(\".\")[0];\n return parseInt(split, 10);\n}\nfunction changeErrorIndices(path, index, errors, change) {\n if (index === void 0) {\n return errors;\n }\n const pathString = `${String(path)}`;\n let clearedErrors = errors;\n if (change === -1) {\n clearedErrors = clearListState(`${pathString}.${index}`, clearedErrors);\n }\n const cloned = { ...clearedErrors };\n const changedKeys = /* @__PURE__ */ new Set();\n Object.entries(clearedErrors).filter(([key]) => {\n if (!key.startsWith(`${pathString}.`)) {\n return false;\n }\n const currIndex = getIndexFromKeyAfterPath(key, pathString);\n if (Number.isNaN(currIndex)) {\n return false;\n }\n return currIndex >= index;\n }).forEach(([key, value]) => {\n const currIndex = getIndexFromKeyAfterPath(key, pathString);\n const newKey = key.replace(\n `${pathString}.${currIndex}`,\n `${pathString}.${currIndex + change}`\n );\n cloned[newKey] = value;\n changedKeys.add(newKey);\n if (!changedKeys.has(key)) {\n delete cloned[key];\n }\n });\n return cloned;\n}\n\nexport { changeErrorIndices };\n//# sourceMappingURL=change-error-indices.mjs.map\n","'use client';\nfunction reorderErrors(path, { from, to }, errors) {\n const oldKeyStart = `${path}.${from}`;\n const newKeyStart = `${path}.${to}`;\n const clone = { ...errors };\n const processedKeys = /* @__PURE__ */ new Set();\n Object.keys(errors).forEach((key) => {\n if (processedKeys.has(key)) {\n return;\n }\n let oldKey;\n let newKey;\n if (key.startsWith(oldKeyStart)) {\n oldKey = key;\n newKey = key.replace(oldKeyStart, newKeyStart);\n } else if (key.startsWith(newKeyStart)) {\n oldKey = key.replace(newKeyStart, oldKeyStart);\n newKey = key;\n }\n if (oldKey && newKey) {\n const value1 = clone[oldKey];\n const value2 = clone[newKey];\n value2 === void 0 ? delete clone[oldKey] : clone[oldKey] = value2;\n value1 === void 0 ? delete clone[newKey] : clone[newKey] = value1;\n processedKeys.add(oldKey);\n processedKeys.add(newKey);\n }\n });\n return clone;\n}\n\nexport { reorderErrors };\n//# sourceMappingURL=reorder-errors.mjs.map\n","function set(obj, key, val) {\n\tif (typeof val.value === 'object') val.value = klona(val.value);\n\tif (!val.enumerable || val.get || val.set || !val.configurable || !val.writable || key === '__proto__') {\n\t\tObject.defineProperty(obj, key, val);\n\t} else obj[key] = val.value;\n}\n\nexport function klona(x) {\n\tif (typeof x !== 'object') return x;\n\n\tvar i=0, k, list, tmp, str=Object.prototype.toString.call(x);\n\n\tif (str === '[object Object]') {\n\t\ttmp = Object.create(x.__proto__ || null);\n\t} else if (str === '[object Array]') {\n\t\ttmp = Array(x.length);\n\t} else if (str === '[object Set]') {\n\t\ttmp = new Set;\n\t\tx.forEach(function (val) {\n\t\t\ttmp.add(klona(val));\n\t\t});\n\t} else if (str === '[object Map]') {\n\t\ttmp = new Map;\n\t\tx.forEach(function (val, key) {\n\t\t\ttmp.set(klona(key), klona(val));\n\t\t});\n\t} else if (str === '[object Date]') {\n\t\ttmp = new Date(+x);\n\t} else if (str === '[object RegExp]') {\n\t\ttmp = new RegExp(x.source, x.flags);\n\t} else if (str === '[object DataView]') {\n\t\ttmp = new x.constructor( klona(x.buffer) );\n\t} else if (str === '[object ArrayBuffer]') {\n\t\ttmp = x.slice(0);\n\t} else if (str.slice(-6) === 'Array]') {\n\t\t// ArrayBuffer.isView(x)\n\t\t// ~> `new` bcuz `Buffer.slice` => ref\n\t\ttmp = new x.constructor(x);\n\t}\n\n\tif (tmp) {\n\t\tfor (list=Object.getOwnPropertySymbols(x); i < list.length; i++) {\n\t\t\tset(tmp, list[i], Object.getOwnPropertyDescriptor(x, list[i]));\n\t\t}\n\n\t\tfor (i=0, list=Object.getOwnPropertyNames(x); i < list.length; i++) {\n\t\t\tif (Object.hasOwnProperty.call(tmp, k=list[i]) && tmp[k] === x[k]) continue;\n\t\t\tset(tmp, k, Object.getOwnPropertyDescriptor(x, k));\n\t\t}\n\t}\n\n\treturn tmp || x;\n}\n","'use client';\nfunction getSplittedPath(path) {\n if (typeof path !== \"string\") {\n return [];\n }\n return path.split(\".\");\n}\n\nexport { getSplittedPath };\n//# sourceMappingURL=get-splitted-path.mjs.map\n","'use client';\nimport { getSplittedPath } from './get-splitted-path.mjs';\n\nfunction getPath(path, values) {\n const splittedPath = getSplittedPath(path);\n if (splittedPath.length === 0 || typeof values !== \"object\" || values === null) {\n return void 0;\n }\n let value = values[splittedPath[0]];\n for (let i = 1; i < splittedPath.length; i += 1) {\n if (value == null) {\n break;\n }\n value = value[splittedPath[i]];\n }\n return value;\n}\n\nexport { getPath };\n//# sourceMappingURL=get-path.mjs.map\n","'use client';\nimport { klona } from 'klona/full';\nimport { getSplittedPath } from './get-splitted-path.mjs';\n\nfunction setPath(path, value, values) {\n const splittedPath = getSplittedPath(path);\n if (splittedPath.length === 0) {\n return values;\n }\n const cloned = klona(values);\n if (splittedPath.length === 1) {\n cloned[splittedPath[0]] = value;\n return cloned;\n }\n let val = cloned[splittedPath[0]];\n for (let i = 1; i < splittedPath.length - 1; i += 1) {\n if (val === void 0) {\n return cloned;\n }\n val = val[splittedPath[i]];\n }\n val[splittedPath[splittedPath.length - 1]] = value;\n return cloned;\n}\n\nexport { setPath };\n//# sourceMappingURL=set-path.mjs.map\n","'use client';\nimport { getPath } from './get-path.mjs';\nimport { setPath } from './set-path.mjs';\n\nfunction reorderPath(path, { from, to }, values) {\n const currentValue = getPath(path, values);\n if (!Array.isArray(currentValue)) {\n return values;\n }\n const cloned = [...currentValue];\n const item = currentValue[from];\n cloned.splice(from, 1);\n cloned.splice(to, 0, item);\n return setPath(path, cloned, values);\n}\n\nexport { reorderPath };\n//# sourceMappingURL=reorder-path.mjs.map\n","'use client';\nimport { getPath } from './get-path.mjs';\nimport { setPath } from './set-path.mjs';\n\nfunction insertPath(path, value, index, values) {\n const currentValue = getPath(path, values);\n if (!Array.isArray(currentValue)) {\n return values;\n }\n const cloned = [...currentValue];\n cloned.splice(typeof index === \"number\" ? index : cloned.length, 0, value);\n return setPath(path, cloned, values);\n}\n\nexport { insertPath };\n//# sourceMappingURL=insert-path.mjs.map\n","'use client';\nimport { getPath } from './get-path.mjs';\nimport { setPath } from './set-path.mjs';\n\nfunction removePath(path, index, values) {\n const currentValue = getPath(path, values);\n if (!Array.isArray(currentValue)) {\n return values;\n }\n return setPath(\n path,\n currentValue.filter((_, itemIndex) => itemIndex !== index),\n values\n );\n}\n\nexport { removePath };\n//# sourceMappingURL=remove-path.mjs.map\n","'use client';\nimport { getPath } from './get-path.mjs';\nimport { setPath } from './set-path.mjs';\n\nfunction replacePath(path, item, index, values) {\n const currentValue = getPath(path, values);\n if (!Array.isArray(currentValue)) {\n return values;\n }\n if (currentValue.length <= index) {\n return values;\n }\n const cloned = [...currentValue];\n cloned[index] = item;\n return setPath(path, cloned, values);\n}\n\nexport { replacePath };\n//# sourceMappingURL=replace-path.mjs.map\n","'use client';\nimport { useCallback } from 'react';\nimport { changeErrorIndices } from '../../lists/change-error-indices.mjs';\nimport { reorderErrors } from '../../lists/reorder-errors.mjs';\nimport 'klona/full';\nimport { reorderPath } from '../../paths/reorder-path.mjs';\nimport { insertPath } from '../../paths/insert-path.mjs';\nimport { removePath } from '../../paths/remove-path.mjs';\nimport { replacePath } from '../../paths/replace-path.mjs';\n\nfunction useFormList({\n $values,\n $errors,\n $status\n}) {\n const reorderListItem = useCallback((path, payload) => {\n $status.clearFieldDirty(path);\n $errors.setErrors((errs) => reorderErrors(path, payload, errs));\n $values.setValues({\n values: reorderPath(path, payload, $values.refValues.current),\n updateState: true\n });\n }, []);\n const removeListItem = useCallback((path, index) => {\n $status.clearFieldDirty(path);\n $errors.setErrors((errs) => changeErrorIndices(path, index, errs, -1));\n $values.setValues({\n values: removePath(path, index, $values.refValues.current),\n updateState: true\n });\n }, []);\n const insertListItem = useCallback((path, item, index) => {\n $status.clearFieldDirty(path);\n $errors.setErrors((errs) => changeErrorIndices(path, index, errs, 1));\n $values.setValues({\n values: insertPath(path, item, index, $values.refValues.current),\n updateState: true\n });\n }, []);\n const replaceListItem = useCallback((path, index, item) => {\n $status.clearFieldDirty(path);\n $values.setValues({\n values: replacePath(path, item, index, $values.refValues.current),\n updateState: true\n });\n }, []);\n return { reorderListItem, removeListItem, insertListItem, replaceListItem };\n}\n\nexport { useFormList };\n//# sourceMappingURL=use-form-list.mjs.map\n","'use strict';\n\n// do not edit .js files directly - edit src/index.jst\n\n\n\nmodule.exports = function equal(a, b) {\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\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\n for (i = length; i-- !== 0;) {\n var key = keys[i];\n\n if (!equal(a[key], b[key])) return false;\n }\n\n return true;\n }\n\n // true if both NaN, false otherwise\n return a!==a && b!==b;\n};\n","'use client';\nfunction getStatus(status, path) {\n const paths = Object.keys(status);\n if (typeof path === \"string\") {\n const nestedPaths = paths.filter((statusPath) => statusPath.startsWith(`${path}.`));\n return status[path] || nestedPaths.some((statusPath) => status[statusPath]) || false;\n }\n return paths.some((statusPath) => status[statusPath]);\n}\n\nexport { getStatus };\n//# sourceMappingURL=get-status.mjs.map\n","'use client';\nimport { useState, useRef, useCallback } from 'react';\nimport isEqual from 'fast-deep-equal';\nimport { getStatus } from '../../get-status/get-status.mjs';\nimport { clearListState } from '../../lists/clear-list-state.mjs';\nimport { getPath } from '../../paths/get-path.mjs';\nimport 'klona/full';\n\nfunction useFormStatus({\n initialDirty,\n initialTouched,\n mode,\n $values\n}) {\n const [touchedState, setTouchedState] = useState(initialTouched);\n const [dirtyState, setDirtyState] = useState(initialDirty);\n const touchedRef = useRef(initialTouched);\n const dirtyRef = useRef(initialDirty);\n const setTouched = useCallback((values) => {\n const resolvedValues = typeof values === \"function\" ? values(touchedRef.current) : values;\n touchedRef.current = resolvedValues;\n if (mode === \"controlled\") {\n setTouchedState(resolvedValues);\n }\n }, []);\n const setDirty = useCallback(\n (values, forceUpdate = false) => {\n const resolvedValues = typeof values === \"function\" ? values(dirtyRef.current) : values;\n dirtyRef.current = resolvedValues;\n if (mode === \"controlled\" || forceUpdate) {\n setDirtyState(resolvedValues);\n }\n },\n []\n );\n const resetTouched = useCallback(() => setTouched({}), []);\n const resetDirty = useCallback((values) => {\n const newSnapshot = values ? { ...$values.refValues.current, ...values } : $values.refValues.current;\n $values.setValuesSnapshot(newSnapshot);\n setDirty({});\n }, []);\n const setFieldTouched = useCallback((path, touched) => {\n setTouched((currentTouched) => {\n if (getStatus(currentTouched, path) === touched) {\n return currentTouched;\n }\n return { ...currentTouched, [path]: touched };\n });\n }, []);\n const setFieldDirty = useCallback((path, dirty, forceUpdate) => {\n setDirty((currentDirty) => {\n if (getStatus(currentDirty, path) === dirty) {\n return currentDirty;\n }\n return { ...currentDirty, [path]: dirty };\n }, forceUpdate);\n }, []);\n const setCalculatedFieldDirty = useCallback((path, value) => {\n const currentDirty = getStatus(dirtyRef.current, path);\n const dirty = !isEqual(getPath(path, $values.getValuesSnapshot()), value);\n const clearedState = clearListState(path, dirtyRef.current);\n clearedState[path] = dirty;\n setDirty(clearedState, currentDirty !== dirty);\n }, []);\n const isTouched = useCallback(\n (path) => getStatus(touchedRef.current, path),\n []\n );\n const clearFieldDirty = useCallback(\n (path) => setDirty((current) => {\n if (typeof path !== \"string\") {\n return current;\n }\n const result = clearListState(path, current);\n delete result[path];\n if (isEqual(result, current)) {\n return current;\n }\n return result;\n }),\n []\n );\n const isDirty = useCallback((path) => {\n if (path) {\n const overriddenValue = getPath(path, dirtyRef.current);\n if (typeof overriddenValue === \"boolean\") {\n return overriddenValue;\n }\n const sliceOfValues = getPath(path, $values.refValues.current);\n const sliceOfInitialValues = getPath(path, $values.valuesSnapshot.current);\n return !isEqual(sliceOfValues, sliceOfInitialValues);\n }\n const isOverridden = Object.keys(dirtyRef.current).length > 0;\n if (isOverridden) {\n return getStatus(dirtyRef.current);\n }\n return !isEqual($values.refValues.current, $values.valuesSnapshot.current);\n }, []);\n const getDirty = useCallback(() => dirtyRef.current, []);\n const getTouched = useCallback(() => touchedRef.current, []);\n return {\n touchedState,\n dirtyState,\n touchedRef,\n dirtyRef,\n setTouched,\n setDirty,\n resetDirty,\n resetTouched,\n isTouched,\n setFieldTouched,\n setFieldDirty,\n setTouchedState,\n setDirtyState,\n clearFieldDirty,\n isDirty,\n getDirty,\n getTouched,\n setCalculatedFieldDirty\n };\n}\n\nexport { useFormStatus };\n//# sourceMappingURL=use-form-status.mjs.map\n","'use client';\nimport { useRef, useState, useCallback } from 'react';\nimport { getPath } from '../../paths/get-path.mjs';\nimport { setPath } from '../../paths/set-path.mjs';\n\nfunction useFormValues({\n initialValues,\n onValuesChange,\n mode\n}) {\n const initialized = useRef(false);\n const [stateValues, setStateValues] = useState(initialValues || {});\n const refValues = useRef(stateValues);\n const valuesSnapshot = useRef(stateValues);\n const setValues = useCallback(\n ({\n values,\n subscribers,\n updateState = true,\n mergeWithPreviousValues = true\n }) => {\n const previousValues = refValues.current;\n const resolvedValues = values instanceof Function ? values(refValues.current) : values;\n const updatedValues = mergeWithPreviousValues ? { ...previousValues, ...resolvedValues } : resolvedValues;\n refValues.current = updatedValues;\n if (updateState) {\n setStateValues(updatedValues);\n if (mode === \"uncontrolled\") {\n refValues.current = updatedValues;\n }\n }\n onValuesChange?.(updatedValues, previousValues);\n subscribers?.filter(Boolean).forEach((subscriber) => subscriber({ updatedValues, previousValues }));\n },\n [onValuesChange]\n );\n const setFieldValue = useCallback(\n (payload) => {\n const currentValue = getPath(payload.path, refValues.current);\n const updatedValue = payload.value instanceof Function ? payload.value(currentValue) : payload.value;\n if (currentValue !== updatedValue) {\n const previousValues = refValues.current;\n const updatedValues = setPath(payload.path, updatedValue, refValues.current);\n setValues({ values: updatedValues, updateState: payload.updateState });\n payload.subscribers?.filter(Boolean).forEach(\n (subscriber) => subscriber({ path: payload.path, updatedValues, previousValues })\n );\n }\n },\n [setValues]\n );\n const setValuesSnapshot = useCallback((payload) => {\n valuesSnapshot.current = payload;\n }, []);\n const initialize = useCallback(\n (values, onInitialize) => {\n if (!initialized.current) {\n initialized.current = true;\n setValues({ values, updateState: mode === \"controlled\" });\n setValuesSnapshot(values);\n onInitialize();\n }\n },\n [setValues]\n );\n const resetValues = useCallback(() => {\n setValues({\n values: valuesSnapshot.current,\n updateState: true,\n mergeWithPreviousValues: false\n });\n }, [setValues]);\n const getValues = useCallback(() => refValues.current, []);\n const getValuesSnapshot = useCallback(() => valuesSnapshot.current, []);\n const resetField = useCallback(\n (path, subscribers) => {\n const snapshotValue = getPath(path, valuesSnapshot.current);\n if (typeof snapshotValue === \"undefined\") {\n return;\n }\n setFieldValue({\n path,\n value: snapshotValue,\n updateState: mode === \"controlled\",\n subscribers\n });\n },\n [setFieldValue, mode]\n );\n return {\n initialized,\n stateValues,\n refValues,\n valuesSnapshot,\n setValues,\n setFieldValue,\n resetValues,\n setValuesSnapshot,\n initialize,\n getValues,\n getValuesSnapshot,\n resetField\n };\n}\n\nexport { useFormValues };\n//# sourceMappingURL=use-form-values.mjs.map\n","'use client';\nimport { useRef, useCallback, useEffect } from 'react';\nimport { getPath } from '../../paths/get-path.mjs';\nimport 'klona/full';\n\nfunction useFormWatch({\n $status,\n cascadeUpdates\n}) {\n const subscribers = useRef(\n {}\n );\n const watch = useCallback((path, callback) => {\n useEffect(() => {\n subscribers.current[path] = subscribers.current[path] || [];\n subscribers.current[path].push(callback);\n return () => {\n subscribers.current[path] = subscribers.current[path].filter((cb) => cb !== callback);\n };\n }, [callback]);\n }, []);\n const getFieldSubscribers = useCallback((path) => {\n const result = subscribers.current[path]?.map(\n (callback) => (input) => callback({\n previousValue: getPath(path, input.previousValues),\n value: getPath(path, input.updatedValues),\n touched: $status.isTouched(path),\n dirty: $status.isDirty(path)\n })\n ) ?? [];\n if (cascadeUpdates) {\n for (const subscriptionKey in subscribers.current) {\n if (subscriptionKey.startsWith(`${path}.`) || path.startsWith(`${subscriptionKey}.`)) {\n result.push(\n ...subscribers.current[subscriptionKey].map(\n (cb) => (input) => cb({\n previousValue: getPath(subscriptionKey, input.previousValues),\n value: getPath(subscriptionKey, input.updatedValues),\n touched: $status.isTouched(subscriptionKey),\n dirty: $status.isDirty(subscriptionKey)\n })\n )\n );\n }\n }\n }\n return result;\n }, []);\n return {\n subscribers,\n watch,\n getFieldSubscribers\n };\n}\n\nexport { useFormWatch };\n//# sourceMappingURL=use-form-watch.mjs.map\n","'use client';\nfunction getDataPath(formName, fieldPath) {\n return formName ? `${formName}-${fieldPath.toString()}` : fieldPath.toString();\n}\n\nexport { getDataPath };\n//# sourceMappingURL=get-data-path.mjs.map\n","'use client';\nimport { filterErrors } from '../hooks/use-form-errors/filter-errors/filter-errors.mjs';\nimport { getPath } from '../paths/get-path.mjs';\nimport 'klona/full';\n\nconst formRootRule = Symbol(\"root-rule\");\nfunction getValidationResults(errors) {\n const filteredErrors = filterErrors(errors);\n return { hasErrors: Object.keys(filteredErrors).length > 0, errors: filteredErrors };\n}\nfunction validateRulesRecord(rules, values, path = \"\", errors = {}) {\n if (typeof rules !== \"object\" || rules === null) {\n return errors;\n }\n return Object.keys(rules).reduce((acc, ruleKey) => {\n const rule = rules[ruleKey];\n const rulePath = `${path === \"\" ? \"\" : `${path}.`}${ruleKey}`;\n const value = getPath(rulePath, values);\n let arrayValidation = false;\n if (typeof rule === \"function\") {\n acc[rulePath] = rule(value, values, rulePath);\n }\n if (typeof rule === \"object\" && Array.isArray(value)) {\n arrayValidation = true;\n value.forEach(\n (_item, index) => validateRulesRecord(rule, values, `${rulePath}.${index}`, acc)\n );\n if (formRootRule in rule) {\n acc[rulePath] = rule[formRootRule](value, values, rulePath);\n }\n }\n if (typeof rule === \"object\" && typeof value === \"object\" && value !== null) {\n if (!arrayValidation) {\n validateRulesRecord(rule, values, rulePath, acc);\n }\n if (formRootRule in rule) {\n acc[rulePath] = rule[formRootRule](value, values, rulePath);\n }\n }\n return acc;\n }, errors);\n}\nfunction validateValues(validate, values) {\n if (typeof validate === \"function\") {\n return getValidationResults(validate(values));\n }\n return getValidationResults(validateRulesRecord(validate, values));\n}\n\nexport { formRootRule, validateValues };\n//# sourceMappingURL=validate-values.mjs.map\n","'use client';\nimport { validateValues } from './validate-values.mjs';\n\nfunction validateFieldValue(path, rules, values) {\n if (typeof path !== \"string\") {\n return { hasError: false, error: null };\n }\n const results = validateValues(rules, values);\n const pathInError = Object.keys(results.errors).find(\n (errorKey) => path.split(\".\").every((pathPart, i) => pathPart === errorKey.split(\".\")[i])\n );\n return { hasError: !!pathInError, error: pathInError ? results.errors[pathInError] : null };\n}\n\nexport { validateFieldValue };\n//# sourceMappingURL=validate-field-value.mjs.map\n","'use client';\nconst FORM_INDEX = \"__MANTINE_FORM_INDEX__\";\n\nexport { FORM_INDEX };\n//# sourceMappingURL=form-index.mjs.map\n","'use client';\nimport { FORM_INDEX } from '../form-index.mjs';\n\nfunction shouldValidateOnChange(path, validateInputOnChange) {\n if (!validateInputOnChange) {\n return false;\n }\n if (typeof validateInputOnChange === \"boolean\") {\n return validateInputOnChange;\n }\n if (Array.isArray(validateInputOnChange)) {\n return validateInputOnChange.includes(path.replace(/[.][0-9]+/g, `.${FORM_INDEX}`));\n }\n return false;\n}\n\nexport { shouldValidateOnChange };\n//# sourceMappingURL=should-validate-on-change.mjs.map\n","'use client';\nimport { useState, useCallback } from 'react';\nimport { useFormActions } from './actions/actions.mjs';\nimport { getInputOnChange } from './get-input-on-change/get-input-on-change.mjs';\nimport { useFormErrors } from './hooks/use-form-errors/use-form-errors.mjs';\nimport { useFormList } from './hooks/use-form-list/use-form-list.mjs';\nimport { useFormStatus } from './hooks/use-form-status/use-form-status.mjs';\nimport { useFormValues } from './hooks/use-form-values/use-form-values.mjs';\nimport { useFormWatch } from './hooks/use-form-watch/use-form-watch.mjs';\nimport { getPath } from './paths/get-path.mjs';\nimport 'klona/full';\nimport { getDataPath } from './paths/get-data-path.mjs';\nimport { validateValues } from './validate/validate-values.mjs';\nimport { validateFieldValue } from './validate/validate-field-value.mjs';\nimport { shouldValidateOnChange } from './validate/should-validate-on-change.mjs';\n\nfunction useForm({\n name,\n mode = \"controlled\",\n initialValues,\n initialErrors = {},\n initialDirty = {},\n initialTouched = {},\n clearInputErrorOnChange = true,\n validateInputOnChange = false,\n validateInputOnBlur = false,\n onValuesChange,\n transformValues = ((values) => values),\n enhanceGetInputProps,\n validate: rules,\n onSubmitPreventDefault = \"always\",\n touchTrigger = \"change\",\n cascadeUpdates = false\n} = {}) {\n const $errors = useFormErrors(initialErrors);\n const $values = useFormValues({ initialValues, onValuesChange, mode });\n const $status = useFormStatus({ initialDirty, initialTouched, $values, mode });\n const $list = useFormList({ $values, $errors, $status });\n const $watch = useFormWatch({ $status, cascadeUpdates });\n const [formKey, setFormKey] = useState(0);\n const [fieldKeys, setFieldKeys] = useState({});\n const [submitting, setSubmitting] = useState(false);\n const reset = useCallback(() => {\n $values.resetValues();\n $errors.clearErrors();\n $status.resetDirty();\n $status.resetTouched();\n mode === \"uncontrolled\" && setFormKey((key2) => key2 + 1);\n }, []);\n const handleValuesChanges = useCallback(\n (previousValues) => {\n clearInputErrorOnChange && $errors.clearErrors();\n mode === \"uncontrolled\" && setFormKey((key2) => key2 + 1);\n Object.keys($watch.subscribers.current).forEach((path) => {\n const value = getPath(path, $values.refValues.current);\n const previousValue = getPath(path, previousValues);\n if (value !== previousValue) {\n $watch.getFieldSubscribers(path).forEach((cb) => cb({ previousValues, updatedValues: $values.refValues.current }));\n }\n });\n },\n [clearInputErrorOnChange]\n );\n const initialize = useCallback(\n (values) => {\n const previousValues = $values.refValues.current;\n $values.initialize(values, () => mode === \"uncontrolled\" && setFormKey((key2) => key2 + 1));\n handleValuesChanges(previousValues);\n },\n [handleValuesChanges]\n );\n const setFieldValue = useCallback(\n (path, value, options) => {\n const shouldValidate = shouldValidateOnChange(path, validateInputOnChange);\n const resolvedValue = value instanceof Function ? value(getPath(path, $values.refValues.current)) : value;\n $status.setCalculatedFieldDirty(path, resolvedValue);\n touchTrigger === \"change\" && $status.setFieldTouched(path, true);\n !shouldValidate && clearInputErrorOnChange && $errors.clearFieldError(path);\n $values.setFieldValue({\n path,\n value,\n updateState: mode === \"controlled\",\n subscribers: [\n ...$watch.getFieldSubscribers(path),\n shouldValidate ? (payload) => {\n const validationResults = validateFieldValue(path, rules, payload.updatedValues);\n validationResults.hasError ? $errors.setFieldError(path, validationResults.error) : $errors.clearFieldError(path);\n } : null,\n options?.forceUpdate !== false && mode !== \"controlled\" ? () => setFieldKeys((keys) => ({\n ...keys,\n [path]: (keys[path] || 0) + 1\n })) : null\n ]\n });\n },\n [onValuesChange, rules]\n );\n const setValues = useCallback(\n (values) => {\n const previousValues = $values.refValues.current;\n $values.setValues({ values, updateState: mode === \"controlled\" });\n handleValuesChanges(previousValues);\n },\n [onValuesChange, handleValuesChanges]\n );\n const validate = useCallback(() => {\n const results = validateValues(rules, $values.refValues.current);\n $errors.setErrors(results.errors);\n return results;\n }, [rules]);\n const validateField = useCallback(\n (path) => {\n const results = validateFieldValue(path, rules, $values.refValues.current);\n results.hasError ? $errors.setFieldError(path, results.error) : $errors.clearFieldError(path);\n return results;\n },\n [rules]\n );\n const getInputProps = (path, { type = \"input\", withError = true, withFocus = true, ...otherOptions } = {}) => {\n const onChange = getInputOnChange(\n (value) => setFieldValue(path, value, { forceUpdate: false })\n );\n const payload = { onChange, \"data-path\": getDataPath(name, path) };\n if (withError) {\n payload.error = $errors.errorsState[path];\n }\n if (type === \"checkbox\") {\n payload[mode === \"controlled\" ? \"checked\" : \"defaultChecked\"] = getPath(\n path,\n $values.refValues.current\n );\n } else {\n payload[mode === \"controlled\" ? \"value\" : \"defaultValue\"] = getPath(\n path,\n $values.refValues.current\n );\n }\n if (withFocus) {\n payload.onFocus = () => $status.setFieldTouched(path, true);\n payload.onBlur = () => {\n if (shouldValidateOnChange(path, validateInputOnBlur)) {\n const validationResults = validateFieldValue(path, rules, $values.refValues.current);\n validationResults.hasError ? $errors.setFieldError(path, validationResults.error) : $errors.clearFieldError(path);\n }\n };\n }\n return Object.assign(\n payload,\n enhanceGetInputProps?.({\n inputProps: payload,\n field: path,\n options: { type, withError, withFocus, ...otherOptions },\n form\n })\n );\n };\n const onSubmit = (handleSubmit, handleValidationFailure) => (event) => {\n if (onSubmitPreventDefault === \"always\") {\n event?.preventDefault();\n }\n const results = validate();\n if (results.hasErrors) {\n if (onSubmitPreventDefault === \"validation-failed\") {\n event?.preventDefault();\n }\n handleValidationFailure?.(results.errors, $values.refValues.current, event);\n } else {\n const submitResult = handleSubmit?.(\n transformValues($values.refValues.current),\n event\n );\n if (submitResult instanceof Promise) {\n setSubmitting(true);\n submitResult.finally(() => setSubmitting(false));\n }\n }\n };\n const getTransformedValues = (input) => transformValues(input || $values.refValues.current);\n const onReset = useCallback((event) => {\n event.preventDefault();\n reset();\n }, []);\n const isValid = useCallback(\n (path) => path ? !validateFieldValue(path, rules, $values.refValues.current).hasError : !validateValues(rules, $values.refValues.current).hasErrors,\n [rules]\n );\n const key = (path) => `${formKey}-${String(path)}-${fieldKeys[String(path)] || 0}`;\n const getInputNode = useCallback(\n (path) => document.querySelector(`[data-path=\"${getDataPath(name, path)}\"]`),\n []\n );\n const resetField = useCallback(\n (path) => {\n $values.resetField(path, [\n mode !== \"controlled\" ? () => setFieldKeys((keys) => ({\n ...keys,\n [path]: (keys[path] || 0) + 1\n })) : null\n ]);\n },\n [$values.resetField, mode, setFieldKeys]\n );\n const form = {\n watch: $watch.watch,\n initialized: $values.initialized.current,\n values: mode === \"uncontrolled\" ? $values.refValues.current : $values.stateValues,\n getValues: $values.getValues,\n getInitialValues: $values.getValuesSnapshot,\n setInitialValues: $values.setValuesSnapshot,\n resetField,\n initialize,\n setValues,\n setFieldValue,\n submitting,\n setSubmitting,\n errors: $errors.errorsState,\n setErrors: $errors.setErrors,\n setFieldError: $errors.setFieldError,\n clearFieldError: $errors.clearFieldError,\n clearErrors: $errors.clearErrors,\n resetDirty: $status.resetDirty,\n setTouched: $status.setTouched,\n setDirty: $status.setDirty,\n isTouched: $status.isTouched,\n resetTouched: $status.resetTouched,\n isDirty: $status.isDirty,\n getTouched: $status.getTouched,\n getDirty: $status.getDirty,\n reorderListItem: $list.reorderListItem,\n insertListItem: $list.insertListItem,\n removeListItem: $list.removeListItem,\n replaceListItem: $list.replaceListItem,\n reset,\n validate,\n validateField,\n getInputProps,\n onSubmit,\n onReset,\n isValid,\n getTransformedValues,\n key,\n getInputNode\n };\n useFormActions(name, form);\n return form;\n}\n\nexport { useForm };\n//# sourceMappingURL=use-form.mjs.map\n","import { FC } from \"react\";\nimport { Box, Flex, Select, Text } from \"@mantine/core\";\nimport { DatePickerInput, TimeInput } from \"@mantine/dates\";\nimport { IconCalendar, IconClock } from \"@tabler/icons-react\";\nimport { DATEFORMAT, getCurrentDate, getCurrentTime, toTz, toUtcIso } from \"../util/dateTime\";\nimport { Footer } from \"../Footer\";\nimport { TzRange } from \"../interfaces\";\nimport { getStartEndDateTime, TIME_OPTIONS, TimeOption } from \"./util\";\nimport styled from \"../styles/index.module.css\";\nimport { useForm } from \"@mantine/form\";\n\ninterface IAroundTimePanel {\n tzRange: TzRange;\n}\n\nconst AroundTimePanel: FC<IAroundTimePanel> = ({ tzRange }) => {\n const form = useForm({\n initialValues: {\n date: getCurrentDate(),\n time: getCurrentTime(),\n duration: TimeOption.OneDay,\n },\n validate: {\n date: (value) => (value ? null : \"Date is required\"),\n time: (value) => (value ? null : \"Time is required\"),\n duration: (value) => (value ? null : \"Duration is required\"),\n },\n });\n\n const onSubmit = (values: typeof form.values) => {\n if (!tzRange.timezone.name) return;\n\n const dateUtc = toUtcIso(values.date, values.time, tzRange.timezone.name);\n const dateInTz = toTz(dateUtc, tzRange.timezone.name);\n\n const { startDate, startTime, endDate, endTime } = getStartEndDateTime(\n dateInTz.date,\n dateInTz.time,\n values.duration\n );\n\n tzRange.onApply({\n startDate,\n startTime,\n endDate,\n endTime,\n timezone: tzRange.timezone,\n });\n };\n\n return (\n <Flex direction=\"column\" flex={2} justify={\"space-between\"} style={{ height: \"100%\" }} px={12}>\n <form className={styled[\"form-container\"]} onSubmit={form.onSubmit(onSubmit)}>\n <Box>\n <Text fw={600}>Around a time</Text>\n <Flex direction=\"column\" gap={8} mt={12}>\n <DatePickerInput\n label=\"Pick date\"\n placeholder=\"Pick date\"\n key={form.key(\"date\")}\n {...form.getInputProps(\"date\")}\n popoverProps={{ withinPortal: false }}\n valueFormat={DATEFORMAT}\n leftSection={<IconCalendar stroke={1.5} />}\n />\n <TimeInput\n label=\"Pick time\"\n placeholder=\"Pick time\"\n withSeconds\n key={form.key(\"time\")}\n {...form.getInputProps(\"time\")}\n leftSection={<IconClock stroke={1.5} />}\n rightSection={\n <Text style={{ fontSize: 12, fontStyle: \"italic\", textAlign: \"right\" }}>\n {tzRange.timezone?.longName}\n </Text>\n }\n rightSectionWidth={180}\n rightSectionProps={{\n style: {\n paddingRight: 1,\n },\n }}\n />\n <Select\n label=\"Duration\"\n placeholder=\"Pick value\"\n data={TIME_OPTIONS}\n key={form.key(\"duration\")}\n {...form.getInputProps(\"duration\")}\n comboboxProps={{ withinPortal: false }}\n />\n </Flex>\n </Box>\n <Footer />\n </form>\n </Flex>\n );\n};\n\nexport { AroundTimePanel };\n","import { FC } from \"react\";\nimport { Box, Flex, Text } from \"@mantine/core\";\nimport { DatePickerInput, TimeInput } from \"@mantine/dates\";\nimport { IconCalendar, IconClock } from \"@tabler/icons-react\";\nimport {\n DATEFORMAT,\n getCurrentDate,\n getCurrentPlusDate,\n getCurrentTime,\n toTz,\n toUtcIso,\n} from \"../util/dateTime\";\nimport { Footer } from \"../Footer\";\nimport { TzRange } from \"../interfaces\";\nimport { useForm } from \"@mantine/form\";\nimport styled from \"../styles/index.module.css\";\nimport dayjs from \"dayjs\";\n\ninterface IStartEndTimePanel {\n tzRange: TzRange;\n}\n\nconst StartEndTimePanel: FC<IStartEndTimePanel> = ({ tzRange }) => {\n const form = useForm({\n mode: \"uncontrolled\",\n initialValues: {\n startDate: getCurrentDate(),\n startTime: getCurrentTime(),\n endDate: getCurrentPlusDate(30),\n endTime: getCurrentTime(),\n },\n validate: {\n startDate: (value) => (value ? null : \"Start date is required\"),\n startTime: (value) => (value ? null : \"Start time is required\"),\n endDate: (value, values) => {\n if (!value) return \"End date is required\";\n const start = dayjs(`${values.startDate} ${values.startTime}`);\n const end = dayjs(`${value} ${values.endTime}`);\n return end.isAfter(start) || end.isSame(start) ? null : \"End time must be after start time\";\n },\n endTime: (value, values) => {\n if (!value) return \"End time is required\";\n const start = dayjs(`${values.startDate} ${values.startTime}`);\n const end = dayjs(`${values.endDate} ${value}`);\n return end.isAfter(start) || end.isSame(start) ? null : \"End time must be after start time\";\n },\n },\n });\n\n const onSubmit = (values: typeof form.values) => {\n if (!tzRange.timezone.name) return;\n\n const startDateUtc = toUtcIso(values.startDate, values.startTime, tzRange.timezone.name);\n const endDateUtc = toUtcIso(values.endDate, values.endTime, tzRange.timezone.name);\n\n const startDateInTz = toTz(startDateUtc, tzRange.timezone.name);\n const endDateInTz = toTz(endDateUtc, tzRange.timezone.name);\n\n tzRange.onApply({\n startDate: startDateInTz.date,\n startTime: startDateInTz.time,\n endDate: endDateInTz.date,\n endTime: endDateInTz.time,\n timezone: tzRange.timezone,\n });\n };\n\n return (\n <Flex direction=\"column\" flex={2} style={{ height: \"100%\" }} px={12}>\n <form className={styled[\"form-container\"]} onSubmit={form.onSubmit(onSubmit)}>\n <Box>\n <Text fw={600}>Start and end times</Text>\n <Flex direction=\"column\" gap={8} mt={12}>\n <DatePickerInput\n label=\"Start time\"\n key={form.key(\"startDate\")}\n {...form.getInputProps(\"startDate\")}\n popoverProps={{ withinPortal: false }}\n valueFormat={DATEFORMAT}\n leftSection={<IconCalendar stroke={1.5} />}\n />\n <TimeInput\n withSeconds\n defaultValue={getCurrentTime()}\n key={form.key(\"startTime\")}\n {...form.getInputProps(\"startTime\")}\n leftSection={<IconClock stroke={1.5} />}\n rightSection={\n <Text style={{ fontSize: 12, fontStyle: \"italic\" }}>\n {tzRange.timezone?.longName}\n </Text>\n }\n rightSectionWidth={180}\n rightSectionProps={{\n style: {\n paddingRight: 1,\n },\n }}\n />\n <DatePickerInput\n label=\"End time\"\n key={form.key(\"endDate\")}\n {...form.getInputProps(\"endDate\")}\n popoverProps={{ withinPortal: false }}\n valueFormat={DATEFORMAT}\n leftSection={<IconCalendar stroke={1.5} />}\n />\n <TimeInput\n withSeconds\n defaultValue={getCurrentTime()}\n key={form.key(\"endTime\")}\n {...form.getInputProps(\"endTime\")}\n leftSection={<IconClock stroke={1.5} />}\n rightSection={\n <Text style={{ fontSize: 12, fontStyle: \"italic\" }}>\n {tzRange.timezone?.longName}\n </Text>\n }\n rightSectionWidth={180}\n rightSectionProps={{\n style: {\n paddingRight: 1,\n },\n }}\n />\n </Flex>\n </Box>\n <Footer />\n </form>\n </Flex>\n );\n};\n\nexport { StartEndTimePanel };\n","import { Flex, Popover } from \"@mantine/core\";\nimport { Button } from \"@mantine/core\";\nimport { TimezonePanel } from \"../TimezonePanel\";\nimport { Sidebar } from \"../Sidebar\";\nimport { AroundTimePanel } from \"../AroundTimePanel\";\nimport { StartEndTimePanel } from \"../StartEndTimePanel\";\nimport { FC, useMemo, useState } from \"react\";\nimport { TzRange } from \"../interfaces\";\nimport { getPopoverButtonText } from \"../util/dateTime\";\nimport { PopoverProvider, usePopoverContext } from \"../Provider/PopoverProvider\";\n\nexport enum Panel {\n START_END_TIME = \"Start and end times\",\n AROUND_TIME = \"Around a time\",\n TIMEZONE = \"Time zone\",\n}\n\nconst TimezoneRangePickerView: FC<TzRange> = (tzRange) => {\n const [selectedPanel, setSelectedPanel] = useState<Panel>(Panel.START_END_TIME);\n const { popoverOpened, setPopoverOpened } = usePopoverContext();\n\n const renderPanel = () => {\n switch (selectedPanel) {\n case Panel.START_END_TIME:\n return <StartEndTimePanel tzRange={tzRange} />;\n case Panel.AROUND_TIME:\n return <AroundTimePanel tzRange={tzRange} />;\n case Panel.TIMEZONE:\n return <TimezonePanel tzRange={tzRange} />;\n default:\n return null;\n }\n };\n\n const handleButtonClick = () => {\n setPopoverOpened((p) => !p);\n };\n\n const getButtonText = useMemo(\n () => getPopoverButtonText(tzRange),\n [tzRange.startDate, tzRange.startTime, tzRange.endDate, tzRange.endTime, tzRange.timezone]\n );\n\n return (\n <Popover position=\"bottom\" shadow=\"md\" opened={popoverOpened} onChange={setPopoverOpened}>\n <Popover.Target>\n <Button onClick={handleButtonClick}>{getButtonText}</Button>\n </Popover.Target>\n <Popover.Dropdown style={{ width: 700, height: 400, padding: 0 }} py={8}>\n <Flex style={{ height: \"100%\" }}>\n <Sidebar tzRange={tzRange} setSelectedPanel={setSelectedPanel} />\n {renderPanel()}\n </Flex>\n </Popover.Dropdown>\n </Popover>\n );\n};\n\nconst TimezoneRangePickerWrapper = (props: TzRange) => {\n return (\n <PopoverProvider>\n <TimezoneRangePickerView {...props} />\n </PopoverProvider>\n );\n};\n\nexport { TimezoneRangePickerWrapper as TimezoneRangePicker };\n"],"names":["REACT_ELEMENT_TYPE","REACT_FRAGMENT_TYPE","jsxProd","type","config","maybeKey","key","propName","reactJsxRuntime_production","getComponentNameFromType","REACT_CLIENT_REFERENCE","REACT_PROFILER_TYPE","REACT_STRICT_MODE_TYPE","REACT_SUSPENSE_TYPE","REACT_SUSPENSE_LIST_TYPE","REACT_ACTIVITY_TYPE","REACT_PORTAL_TYPE","REACT_CONTEXT_TYPE","REACT_CONSUMER_TYPE","REACT_FORWARD_REF_TYPE","innerType","REACT_MEMO_TYPE","REACT_LAZY_TYPE","testStringCoercion","value","checkKeyStringCoercion","JSCompiler_inline_result","JSCompiler_temp_const","JSCompiler_inline_result$jscomp$0","getTaskName","name","getOwner","dispatcher","ReactSharedInternals","UnknownOwner","hasValidKey","hasOwnProperty","getter","defineKeyPropWarningGetter","props","displayName","warnAboutAccessingKey","specialPropKeyWarningShown","elementRefGetterWithDeprecationWarning","componentName","didWarnAboutElementRef","ReactElement","self","source","owner","debugStack","debugTask","jsxDEVImpl","isStaticChildren","children","isArrayImpl","validateChildKeys","keys","k","didWarnAboutKeySpread","node","React","require$$0","createTask","callStackForError","unknownOwnerDebugStack","unknownOwnerDebugTask","reactJsxRuntime_development","trackActualOwner","jsxRuntimeModule","require$$1","useTimeoutFn","fn","ms","ready","useRef","timeout","callback","isReady","useCallback","set","clear","useEffect","useDebounce","deps","_a","cancel","reset","r","f","o","clsx","useAppTheme","colorScheme","useMantineColorScheme","theme","useMantineTheme","TimezoneList","longName","currentTime","utcOffset","selectedTimezone","isBrowserTimezone","handleTimezoneMouseClick","onClick","jsxs","Flex","styled","jsx","Text","defaultAttributes","createReactComponent","iconName","iconNamePascal","iconNode","Component","forwardRef","color","size","stroke","title","className","rest","ref","createElement","tag","attrs","__iconNode","IconCalendar","IconChevronRight","IconClock","IconFilter2","IconWorld","IconCalendarWeekFilled","TimezoneSearch","searchText","setSearchText","Input","e","t","module","this","n","i","s","a","c","h","d","l","$","y","M","m","v","u","g","D","p","S","_","w","O","b","longTzName","timezone","locale","parseOffset","offsetUtc","sign","hours","minutes","dayjs","utc","getTimezones","offset","PopoverContext","createContext","usePopoverContext","ctx","useContext","PopoverProvider","popoverOpened","setPopoverOpened","useState","closePopover","Footer","Button","DATEFORMAT","TIMEFORMAT","getCurrentTime","getCurrentDate","getCurrentPlusDate","amount","getShortTimezoneName","tz","getPopoverButtonText","tzRange","getPastDateTime","date","time","unit","getFutureDateTime","toUtcIso","dateStr","timeStr","sourceZone","toTz","utcIso","zone","TimezonePanel","setSelectedTimezone","filteredTimezones","setFilteredTimezones","timezones","useMemo","handleApply","startUtcIso","endUtcIso","tzStartDate","tzEndDate","getCurrentTimeInTz","tzName","commonStyled","Box","idx","getTimeOptions","timezoneName","RelativeTimePanel","filteredOptions","setFilteredOptions","timeOptions","newTimeOptions","handleRowClick","option","startDate","startTime","endDate","endTime","Fragment","op","Sidebar","setSelectedPanel","Panel","TimeOption","TIME_OPTIONS","getStartEndDateTime","timeOption","startDateTime","endDateTime","startDateTime1","endDateTime1","startDateTime15","endDateTime15","startDateTime30","endDateTime30","startDateTime60","endDateTime60","startDateTimeDay","endDateTimeDay","validateFormName","useIsomorphicEffect","useLayoutEffect","useFormEvent","eventKey","handler","useFormActions","form","event","getInputOnChange","setValue","val","currentTarget","filterErrors","errors","acc","errorValue","useFormErrors","initialErrors","errorsState","setErrorsState","errorsRef","setErrors","current","newErrors","clearErrors","clearFieldError","path","setFieldError","error","clearListState","field","state","clone","errorKey","getIndexFromKeyAfterPath","split","changeErrorIndices","index","change","pathString","clearedErrors","cloned","changedKeys","currIndex","newKey","reorderErrors","from","to","oldKeyStart","newKeyStart","processedKeys","oldKey","value1","value2","obj","klona","x","list","tmp","str","getSplittedPath","getPath","values","splittedPath","setPath","reorderPath","currentValue","item","insertPath","removePath","itemIndex","replacePath","useFormList","$values","$errors","$status","reorderListItem","payload","errs","removeListItem","insertListItem","replaceListItem","fastDeepEqual","equal","length","getStatus","status","paths","nestedPaths","statusPath","useFormStatus","initialDirty","initialTouched","mode","touchedState","setTouchedState","dirtyState","setDirtyState","touchedRef","dirtyRef","setTouched","resolvedValues","setDirty","forceUpdate","resetTouched","resetDirty","newSnapshot","setFieldTouched","touched","currentTouched","setFieldDirty","dirty","currentDirty","setCalculatedFieldDirty","isEqual","clearedState","isTouched","clearFieldDirty","result","isDirty","overriddenValue","sliceOfValues","sliceOfInitialValues","getDirty","getTouched","useFormValues","initialValues","onValuesChange","initialized","stateValues","setStateValues","refValues","valuesSnapshot","setValues","subscribers","updateState","mergeWithPreviousValues","previousValues","updatedValues","subscriber","setFieldValue","updatedValue","setValuesSnapshot","initialize","onInitialize","resetValues","getValues","getValuesSnapshot","resetField","snapshotValue","useFormWatch","cascadeUpdates","watch","cb","getFieldSubscribers","input","subscriptionKey","getDataPath","formName","fieldPath","formRootRule","getValidationResults","filteredErrors","validateRulesRecord","rules","ruleKey","rule","rulePath","arrayValidation","_item","validateValues","validate","validateFieldValue","results","pathInError","pathPart","FORM_INDEX","shouldValidateOnChange","validateInputOnChange","useForm","clearInputErrorOnChange","validateInputOnBlur","transformValues","enhanceGetInputProps","onSubmitPreventDefault","touchTrigger","$list","$watch","formKey","setFormKey","fieldKeys","setFieldKeys","submitting","setSubmitting","key2","handleValuesChanges","previousValue","options","shouldValidate","resolvedValue","validationResults","validateField","getInputProps","withError","withFocus","otherOptions","onSubmit","handleSubmit","handleValidationFailure","submitResult","getTransformedValues","onReset","isValid","getInputNode","AroundTimePanel","dateUtc","dateInTz","DatePickerInput","TimeInput","Select","StartEndTimePanel","start","end","startDateUtc","endDateUtc","startDateInTz","endDateInTz","TimezoneRangePickerView","selectedPanel","renderPanel","handleButtonClick","getButtonText","Popover","TimezoneRangePickerWrapper"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,8,9,10,11,12,13,14,15,17,18,19,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57]}
@@ -0,0 +1,21 @@
1
+ export interface TimezoneData {
2
+ name: string | null;
3
+ longName: string | null;
4
+ utcOffset: string | null;
5
+ }
6
+ export interface OnApplyParams {
7
+ startDate: string | null;
8
+ startTime: string | null;
9
+ endDate: string | null;
10
+ endTime: string | null;
11
+ timezone: TimezoneData;
12
+ }
13
+ export interface TzRange {
14
+ startDate: string | null;
15
+ startTime: string | null;
16
+ endDate: string | null;
17
+ endTime: string | null;
18
+ timezone: TimezoneData;
19
+ onApply: ({ startDate, startTime, endDate, endTime, timezone }: OnApplyParams) => void;
20
+ }
21
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/interfaces/index.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,QAAQ,EAAE,YAAY,CAAC;CACxB;AAED,MAAM,WAAW,OAAO;IACtB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAEzB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAEvB,QAAQ,EAAE,YAAY,CAAC;IAEvB,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,aAAa,KAAK,IAAI,CAAC;CACxF"}
package/dist/style.css ADDED
@@ -0,0 +1 @@
1
+ ._row_550mo_1{padding:.4rem}._row-dark_550mo_5{cursor:pointer}._row-dark_550mo_5:hover{background-color:#3a3a3a}._row-light_550mo_12{cursor:pointer}._row-light_550mo_12:hover{background-color:#f3f4f6}._row-selected-dark_550mo_19{background-color:#5a5a5a;font-weight:600}._row-selected-dark_550mo_19:hover{background-color:#5a5a5a}._row-selected-light_550mo_27{background-color:#f3f4f6;font-weight:600}._row-selected-light_550mo_27:hover{background-color:#f3f4f6}._timezone-panel-container_jrnm0_1{height:100%}._list-container_jrnm0_5{overflow-y:auto;height:inherit;margin-top:.5rem}._form-container_1xxf4_1{display:flex;flex:2;flex-direction:column;justify-content:space-between;height:100%}._sidebar-container_e18ka_1{border-right:1px solid #ddd}._sidebar-row_e18ka_5{cursor:pointer}._sidebar-row_e18ka_5>div>svg{margin-right:.5rem}._relative-time-panel-container_jsk5z_1{height:calc(100% - 156px);overflow-y:auto}._time-row_jsk5z_6{cursor:pointer}._time-row-dark_jsk5z_10:hover{background-color:#3a3a3a}._time-row-light_jsk5z_16:hover{background-color:#f3f4f6}
@@ -0,0 +1,2 @@
1
+ import "@testing-library/jest-dom/vitest";
2
+ //# sourceMappingURL=test.setup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test.setup.d.ts","sourceRoot":"","sources":["../src/test.setup.ts"],"names":[],"mappings":"AAAA,OAAO,kCAAkC,CAAC"}
@@ -0,0 +1,23 @@
1
+ import dayjs from "dayjs";
2
+ import { TzRange } from "../interfaces";
3
+ export declare const DATEFORMAT = "YYYY/MM/DD";
4
+ export declare const TIMEFORMAT = "HH:mm:ss";
5
+ export declare const getCurrentTime: () => string;
6
+ export declare const getCurrentDate: () => string;
7
+ export declare const getCurrentPlusDate: (amount: number) => string;
8
+ export declare const getShortTimezoneName: (tz: string | null) => string | null;
9
+ export declare const getPopoverButtonText: (tzRange: TzRange) => string;
10
+ export declare const getPastDateTime: (date: string | null, time: string, amount: number, unit: dayjs.ManipulateType) => {
11
+ date: string;
12
+ time: string;
13
+ };
14
+ export declare const getFutureDateTime: (date: string | null, time: string, amount: number, unit: dayjs.ManipulateType) => {
15
+ date: string;
16
+ time: string;
17
+ };
18
+ export declare const toUtcIso: (dateStr: string, timeStr: string, sourceZone: string) => string;
19
+ export declare const toTz: (utcIso: string, zone: string) => {
20
+ date: string;
21
+ time: string;
22
+ };
23
+ //# sourceMappingURL=dateTime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dateTime.d.ts","sourceRoot":"","sources":["../../src/util/dateTime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,eAAO,MAAM,UAAU,eAAe,CAAC;AACvC,eAAO,MAAM,UAAU,aAAa,CAAC;AAErC,eAAO,MAAM,cAAc,cAAmC,CAAC;AAE/D,eAAO,MAAM,cAAc,cAAmC,CAAC;AAE/D,eAAO,MAAM,kBAAkB,GAAI,QAAQ,MAAM,WAAkD,CAAC;AAEpG,eAAO,MAAM,oBAAoB,GAAI,IAAI,MAAM,GAAG,IAAI,kBAGrD,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,SAAS,OAAO,WAIpD,CAAC;AAEF,eAAO,MAAM,eAAe,GAC1B,MAAM,MAAM,GAAG,IAAI,EACnB,MAAM,MAAM,EACZ,QAAQ,MAAM,EACd,MAAM,KAAK,CAAC,cAAc;;;CAO3B,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAC5B,MAAM,MAAM,GAAG,IAAI,EACnB,MAAM,MAAM,EACZ,QAAQ,MAAM,EACd,MAAM,KAAK,CAAC,cAAc;;;CAO3B,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,SAAS,MAAM,EAAE,SAAS,MAAM,EAAE,YAAY,MAAM,WAK5E,CAAC;AAEF,eAAO,MAAM,IAAI,GAAI,QAAQ,MAAM,EAAE,MAAM,MAAM;;;CAGhD,CAAC"}