@contember/react-utils 1.2.0-beta.2 → 1.2.0-rc.0

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 (42) hide show
  1. package/dist/development/debug-context/Context.js +3 -3
  2. package/dist/development/debug-context/Context.js.map +1 -1
  3. package/dist/development/hooks/useAddClassNameDuringResize.js +3 -0
  4. package/dist/development/hooks/useAddClassNameDuringResize.js.map +1 -1
  5. package/dist/development/hooks/useContainerWidth.js +14 -0
  6. package/dist/development/hooks/useContainerWidth.js.map +1 -0
  7. package/dist/development/hooks/useDocumentTitle.js +22 -0
  8. package/dist/development/hooks/useDocumentTitle.js.map +1 -0
  9. package/dist/development/hooks/useExpectSameValueReference.js +7 -4
  10. package/dist/development/hooks/useExpectSameValueReference.js.map +1 -1
  11. package/dist/development/index.js +5 -0
  12. package/dist/development/index.js.map +1 -1
  13. package/dist/production/debug-context/Context.js +3 -3
  14. package/dist/production/debug-context/Context.js.map +1 -1
  15. package/dist/production/hooks/useAddClassNameDuringResize.js +3 -0
  16. package/dist/production/hooks/useAddClassNameDuringResize.js.map +1 -1
  17. package/dist/production/hooks/useContainerWidth.js +14 -0
  18. package/dist/production/hooks/useContainerWidth.js.map +1 -0
  19. package/dist/production/hooks/useDocumentTitle.js +22 -0
  20. package/dist/production/hooks/useDocumentTitle.js.map +1 -0
  21. package/dist/production/hooks/useExpectSameValueReference.js.map +1 -1
  22. package/dist/production/index.js +5 -0
  23. package/dist/production/index.js.map +1 -1
  24. package/dist/types/debug-context/Context.d.ts +2 -2
  25. package/dist/types/debug-context/Context.d.ts.map +1 -1
  26. package/dist/types/hooks/index.d.ts +2 -0
  27. package/dist/types/hooks/index.d.ts.map +1 -1
  28. package/dist/types/hooks/useAddClassNameDuringResize.d.ts.map +1 -1
  29. package/dist/types/hooks/useContainerWidth.d.ts +4 -0
  30. package/dist/types/hooks/useContainerWidth.d.ts.map +1 -0
  31. package/dist/types/hooks/useDocumentTitle.d.ts +2 -0
  32. package/dist/types/hooks/useDocumentTitle.d.ts.map +1 -0
  33. package/dist/types/hooks/useExpectSameValueReference.d.ts +22 -0
  34. package/dist/types/hooks/useExpectSameValueReference.d.ts.map +1 -1
  35. package/dist/types/tsconfig.tsbuildinfo +1 -1
  36. package/package.json +2 -2
  37. package/src/debug-context/Context.tsx +5 -5
  38. package/src/hooks/index.ts +2 -0
  39. package/src/hooks/useAddClassNameDuringResize.ts +4 -0
  40. package/src/hooks/useContainerWidth.ts +13 -0
  41. package/src/hooks/useDocumentTitle.ts +21 -0
  42. package/src/hooks/useExpectSameValueReference.ts +27 -2
@@ -39,16 +39,16 @@ ScopedConsoleContext.displayName = "ScopedConsoleContext";
39
39
  function parentScopedConsoleOrNone(parentConsole) {
40
40
  return isNoopScopedConsole(parentConsole) ? void 0 : parentConsole;
41
41
  }
42
- const useScopedConsoleRef = (prefix) => {
42
+ const useScopedConsoleRef = (prefix, override) => {
43
43
  assert("prefix is non-empty string", prefix, isNonEmptyString);
44
44
  const parentConsole = parentScopedConsoleOrNone(useContext(ScopedConsoleContext));
45
45
  const scopedConsole = useMemo(() => {
46
- if (parentConsole) {
46
+ if (override !== false && (parentConsole || override)) {
47
47
  return createPrefixedConsole(prefix, parentConsole);
48
48
  } else {
49
49
  return noopScopedConsole;
50
50
  }
51
- }, [parentConsole, prefix]);
51
+ }, [override, parentConsole, prefix]);
52
52
  const ref = useRef(scopedConsole);
53
53
  ref.current = scopedConsole;
54
54
  return ref;
@@ -1 +1 @@
1
- {"version":3,"file":"Context.js","sources":["../../../src/debug-context/Context.tsx"],"sourcesContent":["import { assert, isNonEmptyString } from '@contember/utilities'\nimport { ReactNode, createContext, memo, useContext, useMemo, useRef } from 'react'\nimport { isNoopScopedConsole, noopScopedConsole } from './Constants'\nimport { ScopedConsoleContextType } from './Types'\n\nfunction createPrefixedConsole(message: string, prefixedConsole?: ScopedConsoleContextType): ScopedConsoleContextType {\n\treturn {\n\t\terror: function error(...parameters: any[]) {\n\t\t\t(prefixedConsole ?? console).error(message, ...parameters)\n\t\t},\n\t\terrored: function errored<T>(message: string, value: T): T {\n\t\t\t(prefixedConsole ?? console).error(message, value)\n\t\t\treturn value\n\t\t},\n\t\tlog: function log(...parameters: any[]) {\n\t\t\t(prefixedConsole ?? console).log(message, ...parameters)\n\t\t},\n\t\tlogged: function logged<T>(message: string, value: T): T {\n\t\t\t(prefixedConsole ?? console).log(message, value)\n\t\t\treturn value\n\t\t},\n\t\ttrace: function trace(...parameters: any[]) {\n\t\t\t(prefixedConsole ?? console).trace(message, ...parameters)\n\t\t},\n\t\ttraced: function traced<T>(message: string, value: T): T {\n\t\t\t(prefixedConsole ?? console).trace(message, value)\n\t\t\treturn value\n\t\t},\n\t\twarn: function warn(...parameters: any[]) {\n\t\t\t(prefixedConsole ?? console).warn(message, ...parameters)\n\t\t},\n\t\twarned: function warned<T>(message: string, value: T): T {\n\t\t\t(prefixedConsole ?? console).warn(message, value)\n\t\t\treturn value\n\t\t},\n\t}\n}\n\nexport const ScopedConsoleContext = createContext<ScopedConsoleContextType>(null!)\nScopedConsoleContext.displayName = 'ScopedConsoleContext'\n\nfunction parentScopedConsoleOrNone(parentConsole: ScopedConsoleContextType): ScopedConsoleContextType | undefined {\n\treturn isNoopScopedConsole(parentConsole) ? undefined : parentConsole\n}\n\nexport const useScopedConsoleRef = (prefix: string) => {\n\tassert('prefix is non-empty string', prefix, isNonEmptyString)\n\n\tconst parentConsole = parentScopedConsoleOrNone(useContext(ScopedConsoleContext))\n\n\tconst scopedConsole = useMemo(() => {\n\t\tif (parentConsole) {\n\t\t\treturn createPrefixedConsole(prefix, parentConsole)\n\t\t} else {\n\t\t\treturn noopScopedConsole\n\t\t}\n\t}, [parentConsole, prefix])\n\n\tconst ref = useRef(scopedConsole)\n\tref.current = scopedConsole\n\n\treturn ref\n}\n\nexport type DebugChildrenProps =\n\t| { active: true; children: ReactNode; id: string; }\n\t| { active?: false; children: ReactNode; id?: string; }\n\nexport const DebugChildren = memo<DebugChildrenProps>(({ active = true, children, id }) => {\n\tconst parentScopedConsole = parentScopedConsoleOrNone(useContext(ScopedConsoleContext))\n\n\tconst console = active && id\n\t\t? createPrefixedConsole(id, parentScopedConsole)\n\t\t: noopScopedConsole\n\n\treturn (\n\t\t<ScopedConsoleContext.Provider value={active ? console : noopScopedConsole}>\n\t\t\t{children}\n\t\t</ScopedConsoleContext.Provider>\n\t)\n})\nDebugChildren.displayName = 'DebugChildren'\n"],"names":["message","console","this"],"mappings":";;;;AAKA,SAAS,sBAAsB,SAAiB,iBAAsE;AAC9G,SAAA;AAAA,IACN,OAAO,SAAS,SAAS,YAAmB;AAC3C,OAAC,mBAAmB,SAAS,MAAM,SAAS,GAAG,UAAU;AAAA,IAC1D;AAAA,IACA,SAAS,SAAS,QAAWA,UAAiB,OAAa;AAC1D,OAAC,mBAAmB,SAAS,MAAMA,UAAS,KAAK;AAC1C,aAAA;AAAA,IACR;AAAA,IACA,KAAK,SAAS,OAAO,YAAmB;AACvC,OAAC,mBAAmB,SAAS,IAAI,SAAS,GAAG,UAAU;AAAA,IACxD;AAAA,IACA,QAAQ,SAAS,OAAUA,UAAiB,OAAa;AACxD,OAAC,mBAAmB,SAAS,IAAIA,UAAS,KAAK;AACxC,aAAA;AAAA,IACR;AAAA,IACA,OAAO,SAAS,SAAS,YAAmB;AAC3C,OAAC,mBAAmB,SAAS,MAAM,SAAS,GAAG,UAAU;AAAA,IAC1D;AAAA,IACA,QAAQ,SAAS,OAAUA,UAAiB,OAAa;AACxD,OAAC,mBAAmB,SAAS,MAAMA,UAAS,KAAK;AAC1C,aAAA;AAAA,IACR;AAAA,IACA,MAAM,SAAS,QAAQ,YAAmB;AACzC,OAAC,mBAAmB,SAAS,KAAK,SAAS,GAAG,UAAU;AAAA,IACzD;AAAA,IACA,QAAQ,SAAS,OAAUA,UAAiB,OAAa;AACxD,OAAC,mBAAmB,SAAS,KAAKA,UAAS,KAAK;AACzC,aAAA;AAAA,IACR;AAAA,EAAA;AAEF;AAEa,MAAA,uBAAuB,cAAwC,IAAK;AACjF,qBAAqB,cAAc;AAEnC,SAAS,0BAA0B,eAA+E;AAC1G,SAAA,oBAAoB,aAAa,IAAI,SAAY;AACzD;AAEa,MAAA,sBAAsB,CAAC,WAAmB;AAC/C,SAAA,8BAA8B,QAAQ,gBAAgB;AAE7D,QAAM,gBAAgB,0BAA0B,WAAW,oBAAoB,CAAC;AAE1E,QAAA,gBAAgB,QAAQ,MAAM;AACnC,QAAI,eAAe;AACX,aAAA,sBAAsB,QAAQ,aAAa;AAAA,IAAA,OAC5C;AACC,aAAA;AAAA,IACR;AAAA,EAAA,GACE,CAAC,eAAe,MAAM,CAAC;AAEpB,QAAA,MAAM,OAAO,aAAa;AAChC,MAAI,UAAU;AAEP,SAAA;AACR;AAMa,MAAA,gBAAgB,KAAyB,CAAC,EAAE,SAAS,MAAM,UAAU,SAAS;AAC1F,QAAM,sBAAsB,0BAA0B,WAAW,oBAAoB,CAAC;AAEtF,QAAMC,WAAU,UAAU,KACvB,sBAAsB,IAAI,mBAAmB,IAC7C;AAGF,SAAA,uBAAC,qBAAqB,UAArB,EAA8B,OAAO,SAASA,WAAU,mBACvD,SADF,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAEA,GAAAC,UAAA;AAEF,CAAC;AACD,cAAc,cAAc;"}
1
+ {"version":3,"file":"Context.js","sources":["../../../src/debug-context/Context.tsx"],"sourcesContent":["import { assert, isNonEmptyString } from '@contember/utilities'\nimport { ReactNode, createContext, memo, useContext, useMemo, useRef } from 'react'\nimport { isNoopScopedConsole, noopScopedConsole } from './Constants'\nimport { ScopedConsoleContextType } from './Types'\n\nfunction createPrefixedConsole(message: string, prefixedConsole?: ScopedConsoleContextType): ScopedConsoleContextType {\n\treturn {\n\t\terror: function error(...parameters: any[]) {\n\t\t\t(prefixedConsole ?? console).error(message, ...parameters)\n\t\t},\n\t\terrored: function errored<T>(message: string, value: T): T {\n\t\t\t(prefixedConsole ?? console).error(message, value)\n\t\t\treturn value\n\t\t},\n\t\tlog: function log(...parameters: any[]) {\n\t\t\t(prefixedConsole ?? console).log(message, ...parameters)\n\t\t},\n\t\tlogged: function logged<T>(message: string, value: T): T {\n\t\t\t(prefixedConsole ?? console).log(message, value)\n\t\t\treturn value\n\t\t},\n\t\ttrace: function trace(...parameters: any[]) {\n\t\t\t(prefixedConsole ?? console).trace(message, ...parameters)\n\t\t},\n\t\ttraced: function traced<T>(message: string, value: T): T {\n\t\t\t(prefixedConsole ?? console).trace(message, value)\n\t\t\treturn value\n\t\t},\n\t\twarn: function warn(...parameters: any[]) {\n\t\t\t(prefixedConsole ?? console).warn(message, ...parameters)\n\t\t},\n\t\twarned: function warned<T>(message: string, value: T): T {\n\t\t\t(prefixedConsole ?? console).warn(message, value)\n\t\t\treturn value\n\t\t},\n\t}\n}\n\nexport const ScopedConsoleContext = createContext<ScopedConsoleContextType>(null!)\nScopedConsoleContext.displayName = 'ScopedConsoleContext'\n\nfunction parentScopedConsoleOrNone(parentConsole: ScopedConsoleContextType): ScopedConsoleContextType | undefined {\n\treturn isNoopScopedConsole(parentConsole) ? undefined : parentConsole\n}\n\nexport const useScopedConsoleRef = (prefix: string, override?: boolean) => {\n\tassert('prefix is non-empty string', prefix, isNonEmptyString)\n\n\tconst parentConsole = parentScopedConsoleOrNone(useContext(ScopedConsoleContext))\n\n\tconst scopedConsole = useMemo(() => {\n\t\tif (override !== false && (parentConsole || override)) {\n\t\t\treturn createPrefixedConsole(prefix, parentConsole)\n\t\t} else {\n\t\t\treturn noopScopedConsole\n\t\t}\n\t}, [override, parentConsole, prefix])\n\n\tconst ref = useRef(scopedConsole)\n\tref.current = scopedConsole\n\n\treturn ref\n}\n\nexport type DebugChildrenProps =\n\t| { active?: true; children: ReactNode; id: string }\n\t| { active?: false; children: ReactNode; id?: string }\n\nexport const DebugChildren = memo<DebugChildrenProps>(({ active = true, children, id }) => {\n\tconst parentScopedConsole = parentScopedConsoleOrNone(useContext(ScopedConsoleContext))\n\n\tconst console = active && id\n\t\t? createPrefixedConsole(id, parentScopedConsole)\n\t\t: noopScopedConsole\n\n\treturn (\n\t\t<ScopedConsoleContext.Provider value={active ? console : noopScopedConsole}>\n\t\t\t{children}\n\t\t</ScopedConsoleContext.Provider>\n\t)\n})\nDebugChildren.displayName = 'DebugChildren'\n"],"names":["message","console","this"],"mappings":";;;;AAKA,SAAS,sBAAsB,SAAiB,iBAAsE;AAC9G,SAAA;AAAA,IACN,OAAO,SAAS,SAAS,YAAmB;AAC3C,OAAC,mBAAmB,SAAS,MAAM,SAAS,GAAG,UAAU;AAAA,IAC1D;AAAA,IACA,SAAS,SAAS,QAAWA,UAAiB,OAAa;AAC1D,OAAC,mBAAmB,SAAS,MAAMA,UAAS,KAAK;AAC1C,aAAA;AAAA,IACR;AAAA,IACA,KAAK,SAAS,OAAO,YAAmB;AACvC,OAAC,mBAAmB,SAAS,IAAI,SAAS,GAAG,UAAU;AAAA,IACxD;AAAA,IACA,QAAQ,SAAS,OAAUA,UAAiB,OAAa;AACxD,OAAC,mBAAmB,SAAS,IAAIA,UAAS,KAAK;AACxC,aAAA;AAAA,IACR;AAAA,IACA,OAAO,SAAS,SAAS,YAAmB;AAC3C,OAAC,mBAAmB,SAAS,MAAM,SAAS,GAAG,UAAU;AAAA,IAC1D;AAAA,IACA,QAAQ,SAAS,OAAUA,UAAiB,OAAa;AACxD,OAAC,mBAAmB,SAAS,MAAMA,UAAS,KAAK;AAC1C,aAAA;AAAA,IACR;AAAA,IACA,MAAM,SAAS,QAAQ,YAAmB;AACzC,OAAC,mBAAmB,SAAS,KAAK,SAAS,GAAG,UAAU;AAAA,IACzD;AAAA,IACA,QAAQ,SAAS,OAAUA,UAAiB,OAAa;AACxD,OAAC,mBAAmB,SAAS,KAAKA,UAAS,KAAK;AACzC,aAAA;AAAA,IACR;AAAA,EAAA;AAEF;AAEa,MAAA,uBAAuB,cAAwC,IAAK;AACjF,qBAAqB,cAAc;AAEnC,SAAS,0BAA0B,eAA+E;AAC1G,SAAA,oBAAoB,aAAa,IAAI,SAAY;AACzD;AAEa,MAAA,sBAAsB,CAAC,QAAgB,aAAuB;AACnE,SAAA,8BAA8B,QAAQ,gBAAgB;AAE7D,QAAM,gBAAgB,0BAA0B,WAAW,oBAAoB,CAAC;AAE1E,QAAA,gBAAgB,QAAQ,MAAM;AAC/B,QAAA,aAAa,UAAU,iBAAiB,WAAW;AAC/C,aAAA,sBAAsB,QAAQ,aAAa;AAAA,IAAA,OAC5C;AACC,aAAA;AAAA,IACR;AAAA,EACE,GAAA,CAAC,UAAU,eAAe,MAAM,CAAC;AAE9B,QAAA,MAAM,OAAO,aAAa;AAChC,MAAI,UAAU;AAEP,SAAA;AACR;AAMa,MAAA,gBAAgB,KAAyB,CAAC,EAAE,SAAS,MAAM,UAAU,SAAS;AAC1F,QAAM,sBAAsB,0BAA0B,WAAW,oBAAoB,CAAC;AAEtF,QAAMC,WAAU,UAAU,KACvB,sBAAsB,IAAI,mBAAmB,IAC7C;AAGF,SAAA,uBAAC,qBAAqB,UAArB,EAA8B,OAAO,SAASA,WAAU,mBACvD,SADF,GAAA,QAAA,OAAA;AAAA,IAAA,UAAA;AAAA,IAAA,YAAA;AAAA,IAAA,cAAA;AAAA,EAEA,GAAAC,UAAA;AAEF,CAAC;AACD,cAAc,cAAc;"}
@@ -24,6 +24,9 @@ function useAddClassNameDuringResize(className, timeoutToRestore = 300, element)
24
24
  timeoutID.current = setTimeout(() => {
25
25
  addClassName(className, element ?? document.body);
26
26
  }, timeoutToRestore);
27
+ return () => {
28
+ clearTimeout(timeoutID.current);
29
+ };
27
30
  });
28
31
  useLayoutEffect(addTemporaryClassName, [addTemporaryClassName]);
29
32
  useOnWindowResize(addTemporaryClassName);
@@ -1 +1 @@
1
- {"version":3,"file":"useAddClassNameDuringResize.js","sources":["../../../src/hooks/useAddClassNameDuringResize.ts"],"sourcesContent":["import { useLayoutEffect, useRef } from 'react'\nimport { useReferentiallyStableCallback } from '../referentiallyStable'\nimport { useOnWindowResize } from './useOnWindowResize'\n\nfunction intendedFlushOfCSSChangesToCauseImmediateReflow(element: HTMLElement) {\n\telement.offsetHeight\n}\n\nfunction addClassName(\n\tclassName: string,\n\telement: HTMLElement,\n) {\n\tif (element.classList.contains(className)) {\n\t\telement.classList.remove(className)\n\t\tintendedFlushOfCSSChangesToCauseImmediateReflow(element)\n\t}\n}\n\nfunction removeClassName(\n\tclassName: string,\n\telement: HTMLElement,\n) {\n\tif (!element.classList.contains(className)) {\n\t\telement.classList.add(className)\n\t\tintendedFlushOfCSSChangesToCauseImmediateReflow(element)\n\t}\n}\n\n/**\n * Adds CSS class during resize event to element\n *\n * - Falls back to document.body when no element is specified\n * - Adds CSS class to element also on the initial load\n * - Uses element.classList directly\n *\n * @param className - CSS class to apply during the resize event\n * @param timeoutToRestore - Timeout in milliseconds to wait before finally removing the CSS class\n * @param element - Optional HTML element to apply CSS class to\n */\nexport function useAddClassNameDuringResize(\n\tclassName: string,\n\ttimeoutToRestore: number = 300,\n\telement?: HTMLElement,\n) {\n\tconst timeoutID = useRef<number>()\n\n\tconst addTemporaryClassName = useReferentiallyStableCallback(() => {\n\t\tclearTimeout(timeoutID.current)\n\t\tremoveClassName(className, element ?? document.body)\n\n\t\ttimeoutID.current = setTimeout(() => {\n\t\t\taddClassName(className, element ?? document.body)\n\t\t}, timeoutToRestore)\n\t})\n\n\tuseLayoutEffect(addTemporaryClassName, [addTemporaryClassName])\n\tuseOnWindowResize(addTemporaryClassName)\n}\n"],"names":[],"mappings":";;;AAIA,SAAS,gDAAgD,SAAsB;AACtE,UAAA;AACT;AAEA,SAAS,aACR,WACA,SACC;AACD,MAAI,QAAQ,UAAU,SAAS,SAAS,GAAG;AAClC,YAAA,UAAU,OAAO,SAAS;AAClC,oDAAgD,OAAO;AAAA,EACxD;AACD;AAEA,SAAS,gBACR,WACA,SACC;AACD,MAAI,CAAC,QAAQ,UAAU,SAAS,SAAS,GAAG;AACnC,YAAA,UAAU,IAAI,SAAS;AAC/B,oDAAgD,OAAO;AAAA,EACxD;AACD;AAaO,SAAS,4BACf,WACA,mBAA2B,KAC3B,SACC;AACD,QAAM,YAAY;AAEZ,QAAA,wBAAwB,+BAA+B,MAAM;AAClE,iBAAa,UAAU,OAAO;AACd,oBAAA,WAAW,WAAW,SAAS,IAAI;AAEzC,cAAA,UAAU,WAAW,MAAM;AACvB,mBAAA,WAAW,WAAW,SAAS,IAAI;AAAA,OAC9C,gBAAgB;AAAA,EAAA,CACnB;AAEe,kBAAA,uBAAuB,CAAC,qBAAqB,CAAC;AAC9D,oBAAkB,qBAAqB;AACxC;"}
1
+ {"version":3,"file":"useAddClassNameDuringResize.js","sources":["../../../src/hooks/useAddClassNameDuringResize.ts"],"sourcesContent":["import { useLayoutEffect, useRef } from 'react'\nimport { useReferentiallyStableCallback } from '../referentiallyStable'\nimport { useOnWindowResize } from './useOnWindowResize'\n\nfunction intendedFlushOfCSSChangesToCauseImmediateReflow(element: HTMLElement) {\n\telement.offsetHeight\n}\n\nfunction addClassName(\n\tclassName: string,\n\telement: HTMLElement,\n) {\n\tif (element.classList.contains(className)) {\n\t\telement.classList.remove(className)\n\t\tintendedFlushOfCSSChangesToCauseImmediateReflow(element)\n\t}\n}\n\nfunction removeClassName(\n\tclassName: string,\n\telement: HTMLElement,\n) {\n\tif (!element.classList.contains(className)) {\n\t\telement.classList.add(className)\n\t\tintendedFlushOfCSSChangesToCauseImmediateReflow(element)\n\t}\n}\n\n/**\n * Adds CSS class during resize event to element\n *\n * - Falls back to document.body when no element is specified\n * - Adds CSS class to element also on the initial load\n * - Uses element.classList directly\n *\n * @param className - CSS class to apply during the resize event\n * @param timeoutToRestore - Timeout in milliseconds to wait before finally removing the CSS class\n * @param element - Optional HTML element to apply CSS class to\n */\nexport function useAddClassNameDuringResize(\n\tclassName: string,\n\ttimeoutToRestore: number = 300,\n\telement?: HTMLElement,\n) {\n\tconst timeoutID = useRef<number>()\n\n\tconst addTemporaryClassName = useReferentiallyStableCallback(() => {\n\t\tclearTimeout(timeoutID.current)\n\t\tremoveClassName(className, element ?? document.body)\n\n\t\ttimeoutID.current = setTimeout(() => {\n\t\t\taddClassName(className, element ?? document.body)\n\t\t}, timeoutToRestore)\n\n\t\treturn () => {\n\t\t\tclearTimeout(timeoutID.current)\n\t\t}\n\t})\n\n\tuseLayoutEffect(addTemporaryClassName, [addTemporaryClassName])\n\tuseOnWindowResize(addTemporaryClassName)\n}\n"],"names":[],"mappings":";;;AAIA,SAAS,gDAAgD,SAAsB;AACtE,UAAA;AACT;AAEA,SAAS,aACR,WACA,SACC;AACD,MAAI,QAAQ,UAAU,SAAS,SAAS,GAAG;AAClC,YAAA,UAAU,OAAO,SAAS;AAClC,oDAAgD,OAAO;AAAA,EACxD;AACD;AAEA,SAAS,gBACR,WACA,SACC;AACD,MAAI,CAAC,QAAQ,UAAU,SAAS,SAAS,GAAG;AACnC,YAAA,UAAU,IAAI,SAAS;AAC/B,oDAAgD,OAAO;AAAA,EACxD;AACD;AAaO,SAAS,4BACf,WACA,mBAA2B,KAC3B,SACC;AACD,QAAM,YAAY;AAEZ,QAAA,wBAAwB,+BAA+B,MAAM;AAClE,iBAAa,UAAU,OAAO;AACd,oBAAA,WAAW,WAAW,SAAS,IAAI;AAEzC,cAAA,UAAU,WAAW,MAAM;AACvB,mBAAA,WAAW,WAAW,SAAS,IAAI;AAAA,OAC9C,gBAAgB;AAEnB,WAAO,MAAM;AACZ,mBAAa,UAAU,OAAO;AAAA,IAAA;AAAA,EAC/B,CACA;AAEe,kBAAA,uBAAuB,CAAC,qBAAqB,CAAC;AAC9D,oBAAkB,qBAAqB;AACxC;"}
@@ -0,0 +1,14 @@
1
+ import { createContext, useContext } from "react";
2
+ import { useWindowSize } from "./useWindowSize.js";
3
+ const ContainerWidthContext = createContext(null);
4
+ ContainerWidthContext.displayName = "ContainerWidthContext";
5
+ function useContainerWidth() {
6
+ const maybeContainerWidth = useContext(ContainerWidthContext);
7
+ const { width: windowWidth } = useWindowSize();
8
+ return maybeContainerWidth ?? windowWidth;
9
+ }
10
+ export {
11
+ ContainerWidthContext,
12
+ useContainerWidth
13
+ };
14
+ //# sourceMappingURL=useContainerWidth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useContainerWidth.js","sources":["../../../src/hooks/useContainerWidth.ts"],"sourcesContent":["import { createContext, useContext } from 'react'\nimport { useWindowSize } from './useWindowSize'\n\nexport type ContainerWidthContextType = number\nexport const ContainerWidthContext = createContext<ContainerWidthContextType | null>(null)\nContainerWidthContext.displayName = 'ContainerWidthContext'\n\nexport function useContainerWidth(): number {\n\tconst maybeContainerWidth = useContext(ContainerWidthContext)\n\tconst { width: windowWidth } = useWindowSize()\n\n\treturn maybeContainerWidth ?? windowWidth\n}\n"],"names":[],"mappings":";;AAIa,MAAA,wBAAwB,cAAgD,IAAI;AACzF,sBAAsB,cAAc;AAE7B,SAAS,oBAA4B;AACrC,QAAA,sBAAsB,WAAW,qBAAqB;AAC5D,QAAM,EAAE,OAAO,YAAY,IAAI,cAAc;AAE7C,SAAO,uBAAuB;AAC/B;"}
@@ -0,0 +1,22 @@
1
+ import { useRef, useEffect } from "react";
2
+ function useDocumentTitle(title, formatter) {
3
+ const initialTitle = useRef(document.title).current;
4
+ useEffect(() => {
5
+ if (title) {
6
+ if (formatter) {
7
+ document.title = formatter(title, initialTitle);
8
+ } else {
9
+ document.title = title;
10
+ }
11
+ } else {
12
+ document.title = initialTitle;
13
+ }
14
+ return () => {
15
+ document.title = initialTitle;
16
+ };
17
+ }, [formatter, initialTitle, title]);
18
+ }
19
+ export {
20
+ useDocumentTitle
21
+ };
22
+ //# sourceMappingURL=useDocumentTitle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDocumentTitle.js","sources":["../../../src/hooks/useDocumentTitle.ts"],"sourcesContent":["import { useEffect, useRef } from 'react'\n\nexport function useDocumentTitle(title: string | null | undefined, formatter?: (title: string, initialTitle: string) => string) {\n\tconst initialTitle = useRef(document.title).current\n\n\tuseEffect(() => {\n\t\tif (title) {\n\t\t\tif (formatter) {\n\t\t\t\tdocument.title = formatter(title, initialTitle)\n\t\t\t} else {\n\t\t\t\tdocument.title = title\n\t\t\t}\n\t\t} else {\n\t\t\tdocument.title = initialTitle\n\t\t}\n\n\t\treturn () => {\n\t\t\tdocument.title = initialTitle\n\t\t}\n\t}, [formatter, initialTitle, title])\n}\n"],"names":[],"mappings":";AAEgB,SAAA,iBAAiB,OAAkC,WAA6D;AAC/H,QAAM,eAAe,OAAO,SAAS,KAAK,EAAE;AAE5C,YAAU,MAAM;AACf,QAAI,OAAO;AACV,UAAI,WAAW;AACL,iBAAA,QAAQ,UAAU,OAAO,YAAY;AAAA,MAAA,OACxC;AACN,iBAAS,QAAQ;AAAA,MAClB;AAAA,IAAA,OACM;AACN,eAAS,QAAQ;AAAA,IAClB;AAEA,WAAO,MAAM;AACZ,eAAS,QAAQ;AAAA,IAAA;AAAA,EAEhB,GAAA,CAAC,WAAW,cAAc,KAAK,CAAC;AACpC;"}
@@ -4,10 +4,13 @@ function useExpectSameValueReference(next, shouldThrow = false) {
4
4
  const previous = useRef(next);
5
5
  if (next !== previous.current && typeof next === "object" && typeof previous.current === "object" && deepEqual(next, previous.current)) {
6
6
  {
7
- console.error("Previous and next next do not match in reference although match in value", {
8
- previous: previous.current,
9
- next
10
- });
7
+ console.error(
8
+ "Previous and next values do not match in reference although match in value. Try declaring constants outside of the component scope. Otherwise try to memoize callbacks with useCallback, useReferentiallyStableCallback useEvent, useRef or useMemo.",
9
+ {
10
+ previous: previous.current,
11
+ next
12
+ }
13
+ );
11
14
  }
12
15
  if (shouldThrow) {
13
16
  throw new Error("Expecting same reference for same values");
@@ -1 +1 @@
1
- {"version":3,"file":"useExpectSameValueReference.js","sources":["../../../src/hooks/useExpectSameValueReference.ts"],"sourcesContent":["import deepEqual from 'deep-equal'\nimport { useRef } from 'react'\n\n// TODO: Unify error behavior with useConstantValueInvariant() and maybe merge into one hook.\nexport function useExpectSameValueReference<T>(next: T, shouldThrow: boolean = false) {\n\tconst previous = useRef(next)\n\n\tif (next !== previous.current\n\t\t&& typeof next === 'object'\n\t\t&& typeof previous.current === 'object'\n\t\t&& deepEqual(next, previous.current)\n\t) {\n\t\tif (import.meta.env.DEV) {\n\t\t\tconsole.error('Previous and next next do not match in reference although match in value', {\n\t\t\t\tprevious: previous.current,\n\t\t\t\tnext,\n\t\t\t})\n\t\t}\n\n\t\tif (shouldThrow) {\n\t\t\tthrow new Error('Expecting same reference for same values')\n\t\t}\n\t}\n\n\tprevious.current = next\n}\n"],"names":[],"mappings":";;AAIgB,SAAA,4BAA+B,MAAS,cAAuB,OAAO;AAC/E,QAAA,WAAW,OAAO,IAAI;AAE5B,MAAI,SAAS,SAAS,WAClB,OAAO,SAAS,YAChB,OAAO,SAAS,YAAY,YAC5B,UAAU,MAAM,SAAS,OAAO,GAClC;AACwB;AACxB,cAAQ,MAAM,4EAA4E;AAAA,QACzF,UAAU,SAAS;AAAA,QACnB;AAAA,MAAA,CACA;AAAA,IACF;AAEA,QAAI,aAAa;AACV,YAAA,IAAI,MAAM,0CAA0C;AAAA,IAC3D;AAAA,EACD;AAEA,WAAS,UAAU;AACpB;"}
1
+ {"version":3,"file":"useExpectSameValueReference.js","sources":["../../../src/hooks/useExpectSameValueReference.ts"],"sourcesContent":["import deepEqual from 'deep-equal'\nimport { useRef } from 'react'\n\n/**\n * Checks whether the next value is the same reference as the previous one\n *\n * If not, it checks whether the values are deeply equal. If not, it logs an error.\n *\n * @param next - Value to be checked.\n * @param shouldThrow - If true, it throws an error instead of logging it. Defaults to false.\n * @returns void\n * -\n * @example\n * ```ts\n * useExpectSameValueReference(style)\n * ```\n * @example\n * ```ts\n * useExpectSameValueReference(style, true)\n * ```\n * @example\n * ```ts\n * useExpectSameValueReference(style, import.meta.env.DEV)\n * ```\n */\nexport function useExpectSameValueReference<T>(next: T, shouldThrow: boolean = false) {\n\tconst previous = useRef(next)\n\n\tif (next !== previous.current\n\t\t&& typeof next === 'object'\n\t\t&& typeof previous.current === 'object'\n\t\t&& deepEqual(next, previous.current)\n\t) {\n\t\tif (import.meta.env.DEV) {\n\t\t\tconsole.error(\n\t\t\t\t'Previous and next values do not match in reference although match in value. ' +\n\t\t\t\t'Try declaring constants outside of the component scope. ' +\n\t\t\t\t'Otherwise try to memoize callbacks with useCallback, ' +\n\t\t\t\t'useReferentiallyStableCallback useEvent, useRef or useMemo.', {\n\t\t\t\tprevious: previous.current,\n\t\t\t\tnext,\n\t\t\t})\n\t\t}\n\n\t\tif (shouldThrow) {\n\t\t\tthrow new Error('Expecting same reference for same values')\n\t\t}\n\t}\n\n\tprevious.current = next\n}\n"],"names":[],"mappings":";;AAyBgB,SAAA,4BAA+B,MAAS,cAAuB,OAAO;AAC/E,QAAA,WAAW,OAAO,IAAI;AAE5B,MAAI,SAAS,SAAS,WAClB,OAAO,SAAS,YAChB,OAAO,SAAS,YAAY,YAC5B,UAAU,MAAM,SAAS,OAAO,GAClC;AACwB;AAChB,cAAA;AAAA,QACP;AAAA,QAG+D;AAAA,UAC/D,UAAU,SAAS;AAAA,UACnB;AAAA,QACD;AAAA,MAAA;AAAA,IACD;AAEA,QAAI,aAAa;AACV,YAAA,IAAI,MAAM,0CAA0C;AAAA,IAC3D;AAAA,EACD;AAEA,WAAS,UAAU;AACpB;"}
@@ -8,8 +8,10 @@ import { useArrayMapMemo } from "./hooks/useArrayMapMemo.js";
8
8
  import { useComposeRef } from "./hooks/useComposeRef.js";
9
9
  import { useConstantLengthInvariant } from "./hooks/useConstantLengthInvariant.js";
10
10
  import { useConstantValueInvariant } from "./hooks/useConstantValueInvariant.js";
11
+ import { ContainerWidthContext, useContainerWidth } from "./hooks/useContainerWidth.js";
11
12
  import { useDebounce } from "./hooks/useDebounce.js";
12
13
  import { useDebounceCallback } from "./hooks/useDebounceCallback.js";
14
+ import { useDocumentTitle } from "./hooks/useDocumentTitle.js";
13
15
  import { useElementSize } from "./hooks/useElementSize.js";
14
16
  import { useEventHandler } from "./hooks/useEventHandler.js";
15
17
  import { useExpectSameValueReference } from "./hooks/useExpectSameValueReference.js";
@@ -32,6 +34,7 @@ import { returnFalse } from "./referentiallyStable/returnFalse.js";
32
34
  import { returnTrue } from "./referentiallyStable/returnTrue.js";
33
35
  import { useReferentiallyStableCallback } from "./referentiallyStable/useReferentiallyStableCallback.js";
34
36
  export {
37
+ ContainerWidthContext,
35
38
  DebugChildren,
36
39
  ScopedConsoleContext,
37
40
  createNonNullableContextFactory,
@@ -52,8 +55,10 @@ export {
52
55
  useComposeRef,
53
56
  useConstantLengthInvariant,
54
57
  useConstantValueInvariant,
58
+ useContainerWidth,
55
59
  useDebounce,
56
60
  useDebounceCallback,
61
+ useDocumentTitle,
57
62
  useElementSize,
58
63
  useEventHandler,
59
64
  useExpectSameValueReference,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -39,16 +39,16 @@ ScopedConsoleContext.displayName = "ScopedConsoleContext";
39
39
  function parentScopedConsoleOrNone(parentConsole) {
40
40
  return isNoopScopedConsole(parentConsole) ? void 0 : parentConsole;
41
41
  }
42
- const useScopedConsoleRef = (prefix) => {
42
+ const useScopedConsoleRef = (prefix, override) => {
43
43
  assert("prefix is non-empty string", prefix, isNonEmptyString);
44
44
  const parentConsole = parentScopedConsoleOrNone(useContext(ScopedConsoleContext));
45
45
  const scopedConsole = useMemo(() => {
46
- if (parentConsole) {
46
+ if (override !== false && (parentConsole || override)) {
47
47
  return createPrefixedConsole(prefix, parentConsole);
48
48
  } else {
49
49
  return noopScopedConsole;
50
50
  }
51
- }, [parentConsole, prefix]);
51
+ }, [override, parentConsole, prefix]);
52
52
  const ref = useRef(scopedConsole);
53
53
  ref.current = scopedConsole;
54
54
  return ref;
@@ -1 +1 @@
1
- {"version":3,"file":"Context.js","sources":["../../../src/debug-context/Context.tsx"],"sourcesContent":["import { assert, isNonEmptyString } from '@contember/utilities'\nimport { ReactNode, createContext, memo, useContext, useMemo, useRef } from 'react'\nimport { isNoopScopedConsole, noopScopedConsole } from './Constants'\nimport { ScopedConsoleContextType } from './Types'\n\nfunction createPrefixedConsole(message: string, prefixedConsole?: ScopedConsoleContextType): ScopedConsoleContextType {\n\treturn {\n\t\terror: function error(...parameters: any[]) {\n\t\t\t(prefixedConsole ?? console).error(message, ...parameters)\n\t\t},\n\t\terrored: function errored<T>(message: string, value: T): T {\n\t\t\t(prefixedConsole ?? console).error(message, value)\n\t\t\treturn value\n\t\t},\n\t\tlog: function log(...parameters: any[]) {\n\t\t\t(prefixedConsole ?? console).log(message, ...parameters)\n\t\t},\n\t\tlogged: function logged<T>(message: string, value: T): T {\n\t\t\t(prefixedConsole ?? console).log(message, value)\n\t\t\treturn value\n\t\t},\n\t\ttrace: function trace(...parameters: any[]) {\n\t\t\t(prefixedConsole ?? console).trace(message, ...parameters)\n\t\t},\n\t\ttraced: function traced<T>(message: string, value: T): T {\n\t\t\t(prefixedConsole ?? console).trace(message, value)\n\t\t\treturn value\n\t\t},\n\t\twarn: function warn(...parameters: any[]) {\n\t\t\t(prefixedConsole ?? console).warn(message, ...parameters)\n\t\t},\n\t\twarned: function warned<T>(message: string, value: T): T {\n\t\t\t(prefixedConsole ?? console).warn(message, value)\n\t\t\treturn value\n\t\t},\n\t}\n}\n\nexport const ScopedConsoleContext = createContext<ScopedConsoleContextType>(null!)\nScopedConsoleContext.displayName = 'ScopedConsoleContext'\n\nfunction parentScopedConsoleOrNone(parentConsole: ScopedConsoleContextType): ScopedConsoleContextType | undefined {\n\treturn isNoopScopedConsole(parentConsole) ? undefined : parentConsole\n}\n\nexport const useScopedConsoleRef = (prefix: string) => {\n\tassert('prefix is non-empty string', prefix, isNonEmptyString)\n\n\tconst parentConsole = parentScopedConsoleOrNone(useContext(ScopedConsoleContext))\n\n\tconst scopedConsole = useMemo(() => {\n\t\tif (parentConsole) {\n\t\t\treturn createPrefixedConsole(prefix, parentConsole)\n\t\t} else {\n\t\t\treturn noopScopedConsole\n\t\t}\n\t}, [parentConsole, prefix])\n\n\tconst ref = useRef(scopedConsole)\n\tref.current = scopedConsole\n\n\treturn ref\n}\n\nexport type DebugChildrenProps =\n\t| { active: true; children: ReactNode; id: string; }\n\t| { active?: false; children: ReactNode; id?: string; }\n\nexport const DebugChildren = memo<DebugChildrenProps>(({ active = true, children, id }) => {\n\tconst parentScopedConsole = parentScopedConsoleOrNone(useContext(ScopedConsoleContext))\n\n\tconst console = active && id\n\t\t? createPrefixedConsole(id, parentScopedConsole)\n\t\t: noopScopedConsole\n\n\treturn (\n\t\t<ScopedConsoleContext.Provider value={active ? console : noopScopedConsole}>\n\t\t\t{children}\n\t\t</ScopedConsoleContext.Provider>\n\t)\n})\nDebugChildren.displayName = 'DebugChildren'\n"],"names":["message","console"],"mappings":";;;;AAKA,SAAS,sBAAsB,SAAiB,iBAAsE;AAC9G,SAAA;AAAA,IACN,OAAO,SAAS,SAAS,YAAmB;AAC3C,OAAC,mBAAmB,SAAS,MAAM,SAAS,GAAG,UAAU;AAAA,IAC1D;AAAA,IACA,SAAS,SAAS,QAAWA,UAAiB,OAAa;AAC1D,OAAC,mBAAmB,SAAS,MAAMA,UAAS,KAAK;AAC1C,aAAA;AAAA,IACR;AAAA,IACA,KAAK,SAAS,OAAO,YAAmB;AACvC,OAAC,mBAAmB,SAAS,IAAI,SAAS,GAAG,UAAU;AAAA,IACxD;AAAA,IACA,QAAQ,SAAS,OAAUA,UAAiB,OAAa;AACxD,OAAC,mBAAmB,SAAS,IAAIA,UAAS,KAAK;AACxC,aAAA;AAAA,IACR;AAAA,IACA,OAAO,SAAS,SAAS,YAAmB;AAC3C,OAAC,mBAAmB,SAAS,MAAM,SAAS,GAAG,UAAU;AAAA,IAC1D;AAAA,IACA,QAAQ,SAAS,OAAUA,UAAiB,OAAa;AACxD,OAAC,mBAAmB,SAAS,MAAMA,UAAS,KAAK;AAC1C,aAAA;AAAA,IACR;AAAA,IACA,MAAM,SAAS,QAAQ,YAAmB;AACzC,OAAC,mBAAmB,SAAS,KAAK,SAAS,GAAG,UAAU;AAAA,IACzD;AAAA,IACA,QAAQ,SAAS,OAAUA,UAAiB,OAAa;AACxD,OAAC,mBAAmB,SAAS,KAAKA,UAAS,KAAK;AACzC,aAAA;AAAA,IACR;AAAA,EAAA;AAEF;AAEa,MAAA,uBAAuB,cAAwC,IAAK;AACjF,qBAAqB,cAAc;AAEnC,SAAS,0BAA0B,eAA+E;AAC1G,SAAA,oBAAoB,aAAa,IAAI,SAAY;AACzD;AAEa,MAAA,sBAAsB,CAAC,WAAmB;AAC/C,SAAA,8BAA8B,QAAQ,gBAAgB;AAE7D,QAAM,gBAAgB,0BAA0B,WAAW,oBAAoB,CAAC;AAE1E,QAAA,gBAAgB,QAAQ,MAAM;AACnC,QAAI,eAAe;AACX,aAAA,sBAAsB,QAAQ,aAAa;AAAA,IAAA,OAC5C;AACC,aAAA;AAAA,IACR;AAAA,EAAA,GACE,CAAC,eAAe,MAAM,CAAC;AAEpB,QAAA,MAAM,OAAO,aAAa;AAChC,MAAI,UAAU;AAEP,SAAA;AACR;AAMa,MAAA,gBAAgB,KAAyB,CAAC,EAAE,SAAS,MAAM,UAAU,SAAS;AAC1F,QAAM,sBAAsB,0BAA0B,WAAW,oBAAoB,CAAC;AAEtF,QAAMC,WAAU,UAAU,KACvB,sBAAsB,IAAI,mBAAmB,IAC7C;AAGF,SAAA,oBAAC,qBAAqB,UAArB,EAA8B,OAAO,SAASA,WAAU,mBACvD,SACF,CAAA;AAEF,CAAC;AACD,cAAc,cAAc;"}
1
+ {"version":3,"file":"Context.js","sources":["../../../src/debug-context/Context.tsx"],"sourcesContent":["import { assert, isNonEmptyString } from '@contember/utilities'\nimport { ReactNode, createContext, memo, useContext, useMemo, useRef } from 'react'\nimport { isNoopScopedConsole, noopScopedConsole } from './Constants'\nimport { ScopedConsoleContextType } from './Types'\n\nfunction createPrefixedConsole(message: string, prefixedConsole?: ScopedConsoleContextType): ScopedConsoleContextType {\n\treturn {\n\t\terror: function error(...parameters: any[]) {\n\t\t\t(prefixedConsole ?? console).error(message, ...parameters)\n\t\t},\n\t\terrored: function errored<T>(message: string, value: T): T {\n\t\t\t(prefixedConsole ?? console).error(message, value)\n\t\t\treturn value\n\t\t},\n\t\tlog: function log(...parameters: any[]) {\n\t\t\t(prefixedConsole ?? console).log(message, ...parameters)\n\t\t},\n\t\tlogged: function logged<T>(message: string, value: T): T {\n\t\t\t(prefixedConsole ?? console).log(message, value)\n\t\t\treturn value\n\t\t},\n\t\ttrace: function trace(...parameters: any[]) {\n\t\t\t(prefixedConsole ?? console).trace(message, ...parameters)\n\t\t},\n\t\ttraced: function traced<T>(message: string, value: T): T {\n\t\t\t(prefixedConsole ?? console).trace(message, value)\n\t\t\treturn value\n\t\t},\n\t\twarn: function warn(...parameters: any[]) {\n\t\t\t(prefixedConsole ?? console).warn(message, ...parameters)\n\t\t},\n\t\twarned: function warned<T>(message: string, value: T): T {\n\t\t\t(prefixedConsole ?? console).warn(message, value)\n\t\t\treturn value\n\t\t},\n\t}\n}\n\nexport const ScopedConsoleContext = createContext<ScopedConsoleContextType>(null!)\nScopedConsoleContext.displayName = 'ScopedConsoleContext'\n\nfunction parentScopedConsoleOrNone(parentConsole: ScopedConsoleContextType): ScopedConsoleContextType | undefined {\n\treturn isNoopScopedConsole(parentConsole) ? undefined : parentConsole\n}\n\nexport const useScopedConsoleRef = (prefix: string, override?: boolean) => {\n\tassert('prefix is non-empty string', prefix, isNonEmptyString)\n\n\tconst parentConsole = parentScopedConsoleOrNone(useContext(ScopedConsoleContext))\n\n\tconst scopedConsole = useMemo(() => {\n\t\tif (override !== false && (parentConsole || override)) {\n\t\t\treturn createPrefixedConsole(prefix, parentConsole)\n\t\t} else {\n\t\t\treturn noopScopedConsole\n\t\t}\n\t}, [override, parentConsole, prefix])\n\n\tconst ref = useRef(scopedConsole)\n\tref.current = scopedConsole\n\n\treturn ref\n}\n\nexport type DebugChildrenProps =\n\t| { active?: true; children: ReactNode; id: string }\n\t| { active?: false; children: ReactNode; id?: string }\n\nexport const DebugChildren = memo<DebugChildrenProps>(({ active = true, children, id }) => {\n\tconst parentScopedConsole = parentScopedConsoleOrNone(useContext(ScopedConsoleContext))\n\n\tconst console = active && id\n\t\t? createPrefixedConsole(id, parentScopedConsole)\n\t\t: noopScopedConsole\n\n\treturn (\n\t\t<ScopedConsoleContext.Provider value={active ? console : noopScopedConsole}>\n\t\t\t{children}\n\t\t</ScopedConsoleContext.Provider>\n\t)\n})\nDebugChildren.displayName = 'DebugChildren'\n"],"names":["message","console"],"mappings":";;;;AAKA,SAAS,sBAAsB,SAAiB,iBAAsE;AAC9G,SAAA;AAAA,IACN,OAAO,SAAS,SAAS,YAAmB;AAC3C,OAAC,mBAAmB,SAAS,MAAM,SAAS,GAAG,UAAU;AAAA,IAC1D;AAAA,IACA,SAAS,SAAS,QAAWA,UAAiB,OAAa;AAC1D,OAAC,mBAAmB,SAAS,MAAMA,UAAS,KAAK;AAC1C,aAAA;AAAA,IACR;AAAA,IACA,KAAK,SAAS,OAAO,YAAmB;AACvC,OAAC,mBAAmB,SAAS,IAAI,SAAS,GAAG,UAAU;AAAA,IACxD;AAAA,IACA,QAAQ,SAAS,OAAUA,UAAiB,OAAa;AACxD,OAAC,mBAAmB,SAAS,IAAIA,UAAS,KAAK;AACxC,aAAA;AAAA,IACR;AAAA,IACA,OAAO,SAAS,SAAS,YAAmB;AAC3C,OAAC,mBAAmB,SAAS,MAAM,SAAS,GAAG,UAAU;AAAA,IAC1D;AAAA,IACA,QAAQ,SAAS,OAAUA,UAAiB,OAAa;AACxD,OAAC,mBAAmB,SAAS,MAAMA,UAAS,KAAK;AAC1C,aAAA;AAAA,IACR;AAAA,IACA,MAAM,SAAS,QAAQ,YAAmB;AACzC,OAAC,mBAAmB,SAAS,KAAK,SAAS,GAAG,UAAU;AAAA,IACzD;AAAA,IACA,QAAQ,SAAS,OAAUA,UAAiB,OAAa;AACxD,OAAC,mBAAmB,SAAS,KAAKA,UAAS,KAAK;AACzC,aAAA;AAAA,IACR;AAAA,EAAA;AAEF;AAEa,MAAA,uBAAuB,cAAwC,IAAK;AACjF,qBAAqB,cAAc;AAEnC,SAAS,0BAA0B,eAA+E;AAC1G,SAAA,oBAAoB,aAAa,IAAI,SAAY;AACzD;AAEa,MAAA,sBAAsB,CAAC,QAAgB,aAAuB;AACnE,SAAA,8BAA8B,QAAQ,gBAAgB;AAE7D,QAAM,gBAAgB,0BAA0B,WAAW,oBAAoB,CAAC;AAE1E,QAAA,gBAAgB,QAAQ,MAAM;AAC/B,QAAA,aAAa,UAAU,iBAAiB,WAAW;AAC/C,aAAA,sBAAsB,QAAQ,aAAa;AAAA,IAAA,OAC5C;AACC,aAAA;AAAA,IACR;AAAA,EACE,GAAA,CAAC,UAAU,eAAe,MAAM,CAAC;AAE9B,QAAA,MAAM,OAAO,aAAa;AAChC,MAAI,UAAU;AAEP,SAAA;AACR;AAMa,MAAA,gBAAgB,KAAyB,CAAC,EAAE,SAAS,MAAM,UAAU,SAAS;AAC1F,QAAM,sBAAsB,0BAA0B,WAAW,oBAAoB,CAAC;AAEtF,QAAMC,WAAU,UAAU,KACvB,sBAAsB,IAAI,mBAAmB,IAC7C;AAGF,SAAA,oBAAC,qBAAqB,UAArB,EAA8B,OAAO,SAASA,WAAU,mBACvD,SACF,CAAA;AAEF,CAAC;AACD,cAAc,cAAc;"}
@@ -24,6 +24,9 @@ function useAddClassNameDuringResize(className, timeoutToRestore = 300, element)
24
24
  timeoutID.current = setTimeout(() => {
25
25
  addClassName(className, element ?? document.body);
26
26
  }, timeoutToRestore);
27
+ return () => {
28
+ clearTimeout(timeoutID.current);
29
+ };
27
30
  });
28
31
  useLayoutEffect(addTemporaryClassName, [addTemporaryClassName]);
29
32
  useOnWindowResize(addTemporaryClassName);
@@ -1 +1 @@
1
- {"version":3,"file":"useAddClassNameDuringResize.js","sources":["../../../src/hooks/useAddClassNameDuringResize.ts"],"sourcesContent":["import { useLayoutEffect, useRef } from 'react'\nimport { useReferentiallyStableCallback } from '../referentiallyStable'\nimport { useOnWindowResize } from './useOnWindowResize'\n\nfunction intendedFlushOfCSSChangesToCauseImmediateReflow(element: HTMLElement) {\n\telement.offsetHeight\n}\n\nfunction addClassName(\n\tclassName: string,\n\telement: HTMLElement,\n) {\n\tif (element.classList.contains(className)) {\n\t\telement.classList.remove(className)\n\t\tintendedFlushOfCSSChangesToCauseImmediateReflow(element)\n\t}\n}\n\nfunction removeClassName(\n\tclassName: string,\n\telement: HTMLElement,\n) {\n\tif (!element.classList.contains(className)) {\n\t\telement.classList.add(className)\n\t\tintendedFlushOfCSSChangesToCauseImmediateReflow(element)\n\t}\n}\n\n/**\n * Adds CSS class during resize event to element\n *\n * - Falls back to document.body when no element is specified\n * - Adds CSS class to element also on the initial load\n * - Uses element.classList directly\n *\n * @param className - CSS class to apply during the resize event\n * @param timeoutToRestore - Timeout in milliseconds to wait before finally removing the CSS class\n * @param element - Optional HTML element to apply CSS class to\n */\nexport function useAddClassNameDuringResize(\n\tclassName: string,\n\ttimeoutToRestore: number = 300,\n\telement?: HTMLElement,\n) {\n\tconst timeoutID = useRef<number>()\n\n\tconst addTemporaryClassName = useReferentiallyStableCallback(() => {\n\t\tclearTimeout(timeoutID.current)\n\t\tremoveClassName(className, element ?? document.body)\n\n\t\ttimeoutID.current = setTimeout(() => {\n\t\t\taddClassName(className, element ?? document.body)\n\t\t}, timeoutToRestore)\n\t})\n\n\tuseLayoutEffect(addTemporaryClassName, [addTemporaryClassName])\n\tuseOnWindowResize(addTemporaryClassName)\n}\n"],"names":[],"mappings":";;;AAIA,SAAS,gDAAgD,SAAsB;AACtE,UAAA;AACT;AAEA,SAAS,aACR,WACA,SACC;AACD,MAAI,QAAQ,UAAU,SAAS,SAAS,GAAG;AAClC,YAAA,UAAU,OAAO,SAAS;AAClC,oDAAgD,OAAO;AAAA,EACxD;AACD;AAEA,SAAS,gBACR,WACA,SACC;AACD,MAAI,CAAC,QAAQ,UAAU,SAAS,SAAS,GAAG;AACnC,YAAA,UAAU,IAAI,SAAS;AAC/B,oDAAgD,OAAO;AAAA,EACxD;AACD;AAaO,SAAS,4BACf,WACA,mBAA2B,KAC3B,SACC;AACD,QAAM,YAAY;AAEZ,QAAA,wBAAwB,+BAA+B,MAAM;AAClE,iBAAa,UAAU,OAAO;AACd,oBAAA,WAAW,WAAW,SAAS,IAAI;AAEzC,cAAA,UAAU,WAAW,MAAM;AACvB,mBAAA,WAAW,WAAW,SAAS,IAAI;AAAA,OAC9C,gBAAgB;AAAA,EAAA,CACnB;AAEe,kBAAA,uBAAuB,CAAC,qBAAqB,CAAC;AAC9D,oBAAkB,qBAAqB;AACxC;"}
1
+ {"version":3,"file":"useAddClassNameDuringResize.js","sources":["../../../src/hooks/useAddClassNameDuringResize.ts"],"sourcesContent":["import { useLayoutEffect, useRef } from 'react'\nimport { useReferentiallyStableCallback } from '../referentiallyStable'\nimport { useOnWindowResize } from './useOnWindowResize'\n\nfunction intendedFlushOfCSSChangesToCauseImmediateReflow(element: HTMLElement) {\n\telement.offsetHeight\n}\n\nfunction addClassName(\n\tclassName: string,\n\telement: HTMLElement,\n) {\n\tif (element.classList.contains(className)) {\n\t\telement.classList.remove(className)\n\t\tintendedFlushOfCSSChangesToCauseImmediateReflow(element)\n\t}\n}\n\nfunction removeClassName(\n\tclassName: string,\n\telement: HTMLElement,\n) {\n\tif (!element.classList.contains(className)) {\n\t\telement.classList.add(className)\n\t\tintendedFlushOfCSSChangesToCauseImmediateReflow(element)\n\t}\n}\n\n/**\n * Adds CSS class during resize event to element\n *\n * - Falls back to document.body when no element is specified\n * - Adds CSS class to element also on the initial load\n * - Uses element.classList directly\n *\n * @param className - CSS class to apply during the resize event\n * @param timeoutToRestore - Timeout in milliseconds to wait before finally removing the CSS class\n * @param element - Optional HTML element to apply CSS class to\n */\nexport function useAddClassNameDuringResize(\n\tclassName: string,\n\ttimeoutToRestore: number = 300,\n\telement?: HTMLElement,\n) {\n\tconst timeoutID = useRef<number>()\n\n\tconst addTemporaryClassName = useReferentiallyStableCallback(() => {\n\t\tclearTimeout(timeoutID.current)\n\t\tremoveClassName(className, element ?? document.body)\n\n\t\ttimeoutID.current = setTimeout(() => {\n\t\t\taddClassName(className, element ?? document.body)\n\t\t}, timeoutToRestore)\n\n\t\treturn () => {\n\t\t\tclearTimeout(timeoutID.current)\n\t\t}\n\t})\n\n\tuseLayoutEffect(addTemporaryClassName, [addTemporaryClassName])\n\tuseOnWindowResize(addTemporaryClassName)\n}\n"],"names":[],"mappings":";;;AAIA,SAAS,gDAAgD,SAAsB;AACtE,UAAA;AACT;AAEA,SAAS,aACR,WACA,SACC;AACD,MAAI,QAAQ,UAAU,SAAS,SAAS,GAAG;AAClC,YAAA,UAAU,OAAO,SAAS;AAClC,oDAAgD,OAAO;AAAA,EACxD;AACD;AAEA,SAAS,gBACR,WACA,SACC;AACD,MAAI,CAAC,QAAQ,UAAU,SAAS,SAAS,GAAG;AACnC,YAAA,UAAU,IAAI,SAAS;AAC/B,oDAAgD,OAAO;AAAA,EACxD;AACD;AAaO,SAAS,4BACf,WACA,mBAA2B,KAC3B,SACC;AACD,QAAM,YAAY;AAEZ,QAAA,wBAAwB,+BAA+B,MAAM;AAClE,iBAAa,UAAU,OAAO;AACd,oBAAA,WAAW,WAAW,SAAS,IAAI;AAEzC,cAAA,UAAU,WAAW,MAAM;AACvB,mBAAA,WAAW,WAAW,SAAS,IAAI;AAAA,OAC9C,gBAAgB;AAEnB,WAAO,MAAM;AACZ,mBAAa,UAAU,OAAO;AAAA,IAAA;AAAA,EAC/B,CACA;AAEe,kBAAA,uBAAuB,CAAC,qBAAqB,CAAC;AAC9D,oBAAkB,qBAAqB;AACxC;"}
@@ -0,0 +1,14 @@
1
+ import { createContext, useContext } from "react";
2
+ import { useWindowSize } from "./useWindowSize.js";
3
+ const ContainerWidthContext = createContext(null);
4
+ ContainerWidthContext.displayName = "ContainerWidthContext";
5
+ function useContainerWidth() {
6
+ const maybeContainerWidth = useContext(ContainerWidthContext);
7
+ const { width: windowWidth } = useWindowSize();
8
+ return maybeContainerWidth ?? windowWidth;
9
+ }
10
+ export {
11
+ ContainerWidthContext,
12
+ useContainerWidth
13
+ };
14
+ //# sourceMappingURL=useContainerWidth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useContainerWidth.js","sources":["../../../src/hooks/useContainerWidth.ts"],"sourcesContent":["import { createContext, useContext } from 'react'\nimport { useWindowSize } from './useWindowSize'\n\nexport type ContainerWidthContextType = number\nexport const ContainerWidthContext = createContext<ContainerWidthContextType | null>(null)\nContainerWidthContext.displayName = 'ContainerWidthContext'\n\nexport function useContainerWidth(): number {\n\tconst maybeContainerWidth = useContext(ContainerWidthContext)\n\tconst { width: windowWidth } = useWindowSize()\n\n\treturn maybeContainerWidth ?? windowWidth\n}\n"],"names":[],"mappings":";;AAIa,MAAA,wBAAwB,cAAgD,IAAI;AACzF,sBAAsB,cAAc;AAE7B,SAAS,oBAA4B;AACrC,QAAA,sBAAsB,WAAW,qBAAqB;AAC5D,QAAM,EAAE,OAAO,YAAY,IAAI,cAAc;AAE7C,SAAO,uBAAuB;AAC/B;"}
@@ -0,0 +1,22 @@
1
+ import { useRef, useEffect } from "react";
2
+ function useDocumentTitle(title, formatter) {
3
+ const initialTitle = useRef(document.title).current;
4
+ useEffect(() => {
5
+ if (title) {
6
+ if (formatter) {
7
+ document.title = formatter(title, initialTitle);
8
+ } else {
9
+ document.title = title;
10
+ }
11
+ } else {
12
+ document.title = initialTitle;
13
+ }
14
+ return () => {
15
+ document.title = initialTitle;
16
+ };
17
+ }, [formatter, initialTitle, title]);
18
+ }
19
+ export {
20
+ useDocumentTitle
21
+ };
22
+ //# sourceMappingURL=useDocumentTitle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDocumentTitle.js","sources":["../../../src/hooks/useDocumentTitle.ts"],"sourcesContent":["import { useEffect, useRef } from 'react'\n\nexport function useDocumentTitle(title: string | null | undefined, formatter?: (title: string, initialTitle: string) => string) {\n\tconst initialTitle = useRef(document.title).current\n\n\tuseEffect(() => {\n\t\tif (title) {\n\t\t\tif (formatter) {\n\t\t\t\tdocument.title = formatter(title, initialTitle)\n\t\t\t} else {\n\t\t\t\tdocument.title = title\n\t\t\t}\n\t\t} else {\n\t\t\tdocument.title = initialTitle\n\t\t}\n\n\t\treturn () => {\n\t\t\tdocument.title = initialTitle\n\t\t}\n\t}, [formatter, initialTitle, title])\n}\n"],"names":[],"mappings":";AAEgB,SAAA,iBAAiB,OAAkC,WAA6D;AAC/H,QAAM,eAAe,OAAO,SAAS,KAAK,EAAE;AAE5C,YAAU,MAAM;AACf,QAAI,OAAO;AACV,UAAI,WAAW;AACL,iBAAA,QAAQ,UAAU,OAAO,YAAY;AAAA,MAAA,OACxC;AACN,iBAAS,QAAQ;AAAA,MAClB;AAAA,IAAA,OACM;AACN,eAAS,QAAQ;AAAA,IAClB;AAEA,WAAO,MAAM;AACZ,eAAS,QAAQ;AAAA,IAAA;AAAA,EAEhB,GAAA,CAAC,WAAW,cAAc,KAAK,CAAC;AACpC;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useExpectSameValueReference.js","sources":["../../../src/hooks/useExpectSameValueReference.ts"],"sourcesContent":["import deepEqual from 'deep-equal'\nimport { useRef } from 'react'\n\n// TODO: Unify error behavior with useConstantValueInvariant() and maybe merge into one hook.\nexport function useExpectSameValueReference<T>(next: T, shouldThrow: boolean = false) {\n\tconst previous = useRef(next)\n\n\tif (next !== previous.current\n\t\t&& typeof next === 'object'\n\t\t&& typeof previous.current === 'object'\n\t\t&& deepEqual(next, previous.current)\n\t) {\n\t\tif (import.meta.env.DEV) {\n\t\t\tconsole.error('Previous and next next do not match in reference although match in value', {\n\t\t\t\tprevious: previous.current,\n\t\t\t\tnext,\n\t\t\t})\n\t\t}\n\n\t\tif (shouldThrow) {\n\t\t\tthrow new Error('Expecting same reference for same values')\n\t\t}\n\t}\n\n\tprevious.current = next\n}\n"],"names":[],"mappings":";;AAIgB,SAAA,4BAA+B,MAAS,cAAuB,OAAO;AAC/E,QAAA,WAAW,OAAO,IAAI;AAE5B,MAAI,SAAS,SAAS,WAClB,OAAO,SAAS,YAChB,OAAO,SAAS,YAAY,YAC5B,UAAU,MAAM,SAAS,OAAO,GAClC;AAQD,QAAI,aAAa;AACV,YAAA,IAAI,MAAM,0CAA0C;AAAA,IAC3D;AAAA,EACD;AAEA,WAAS,UAAU;AACpB;"}
1
+ {"version":3,"file":"useExpectSameValueReference.js","sources":["../../../src/hooks/useExpectSameValueReference.ts"],"sourcesContent":["import deepEqual from 'deep-equal'\nimport { useRef } from 'react'\n\n/**\n * Checks whether the next value is the same reference as the previous one\n *\n * If not, it checks whether the values are deeply equal. If not, it logs an error.\n *\n * @param next - Value to be checked.\n * @param shouldThrow - If true, it throws an error instead of logging it. Defaults to false.\n * @returns void\n * -\n * @example\n * ```ts\n * useExpectSameValueReference(style)\n * ```\n * @example\n * ```ts\n * useExpectSameValueReference(style, true)\n * ```\n * @example\n * ```ts\n * useExpectSameValueReference(style, import.meta.env.DEV)\n * ```\n */\nexport function useExpectSameValueReference<T>(next: T, shouldThrow: boolean = false) {\n\tconst previous = useRef(next)\n\n\tif (next !== previous.current\n\t\t&& typeof next === 'object'\n\t\t&& typeof previous.current === 'object'\n\t\t&& deepEqual(next, previous.current)\n\t) {\n\t\tif (import.meta.env.DEV) {\n\t\t\tconsole.error(\n\t\t\t\t'Previous and next values do not match in reference although match in value. ' +\n\t\t\t\t'Try declaring constants outside of the component scope. ' +\n\t\t\t\t'Otherwise try to memoize callbacks with useCallback, ' +\n\t\t\t\t'useReferentiallyStableCallback useEvent, useRef or useMemo.', {\n\t\t\t\tprevious: previous.current,\n\t\t\t\tnext,\n\t\t\t})\n\t\t}\n\n\t\tif (shouldThrow) {\n\t\t\tthrow new Error('Expecting same reference for same values')\n\t\t}\n\t}\n\n\tprevious.current = next\n}\n"],"names":[],"mappings":";;AAyBgB,SAAA,4BAA+B,MAAS,cAAuB,OAAO;AAC/E,QAAA,WAAW,OAAO,IAAI;AAE5B,MAAI,SAAS,SAAS,WAClB,OAAO,SAAS,YAChB,OAAO,SAAS,YAAY,YAC5B,UAAU,MAAM,SAAS,OAAO,GAClC;AAYD,QAAI,aAAa;AACV,YAAA,IAAI,MAAM,0CAA0C;AAAA,IAC3D;AAAA,EACD;AAEA,WAAS,UAAU;AACpB;"}
@@ -8,8 +8,10 @@ import { useArrayMapMemo } from "./hooks/useArrayMapMemo.js";
8
8
  import { useComposeRef } from "./hooks/useComposeRef.js";
9
9
  import { useConstantLengthInvariant } from "./hooks/useConstantLengthInvariant.js";
10
10
  import { useConstantValueInvariant } from "./hooks/useConstantValueInvariant.js";
11
+ import { ContainerWidthContext, useContainerWidth } from "./hooks/useContainerWidth.js";
11
12
  import { useDebounce } from "./hooks/useDebounce.js";
12
13
  import { useDebounceCallback } from "./hooks/useDebounceCallback.js";
14
+ import { useDocumentTitle } from "./hooks/useDocumentTitle.js";
13
15
  import { useElementSize } from "./hooks/useElementSize.js";
14
16
  import { useEventHandler } from "./hooks/useEventHandler.js";
15
17
  import { useExpectSameValueReference } from "./hooks/useExpectSameValueReference.js";
@@ -32,6 +34,7 @@ import { returnFalse } from "./referentiallyStable/returnFalse.js";
32
34
  import { returnTrue } from "./referentiallyStable/returnTrue.js";
33
35
  import { useReferentiallyStableCallback } from "./referentiallyStable/useReferentiallyStableCallback.js";
34
36
  export {
37
+ ContainerWidthContext,
35
38
  DebugChildren,
36
39
  ScopedConsoleContext,
37
40
  createNonNullableContextFactory,
@@ -52,8 +55,10 @@ export {
52
55
  useComposeRef,
53
56
  useConstantLengthInvariant,
54
57
  useConstantValueInvariant,
58
+ useContainerWidth,
55
59
  useDebounce,
56
60
  useDebounceCallback,
61
+ useDocumentTitle,
57
62
  useElementSize,
58
63
  useEventHandler,
59
64
  useExpectSameValueReference,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,9 +1,9 @@
1
1
  import { ReactNode } from 'react';
2
2
  import { ScopedConsoleContextType } from './Types';
3
3
  export declare const ScopedConsoleContext: import("react").Context<ScopedConsoleContextType>;
4
- export declare const useScopedConsoleRef: (prefix: string) => import("react").MutableRefObject<ScopedConsoleContextType>;
4
+ export declare const useScopedConsoleRef: (prefix: string, override?: boolean) => import("react").MutableRefObject<ScopedConsoleContextType>;
5
5
  export type DebugChildrenProps = {
6
- active: true;
6
+ active?: true;
7
7
  children: ReactNode;
8
8
  id: string;
9
9
  } | {
@@ -1 +1 @@
1
- {"version":3,"file":"Context.d.ts","sourceRoot":"","sources":["../../../src/debug-context/Context.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAoD,MAAM,OAAO,CAAA;AAEnF,OAAO,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAA;AAmClD,eAAO,MAAM,oBAAoB,mDAAiD,CAAA;AAOlF,eAAO,MAAM,mBAAmB,WAAY,MAAM,+DAiBjD,CAAA;AAED,MAAM,MAAM,kBAAkB,GAC3B;IAAE,MAAM,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,SAAS,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;CAAE,GAClD;IAAE,MAAM,CAAC,EAAE,KAAK,CAAC;IAAC,QAAQ,EAAE,SAAS,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAC;CAAE,CAAA;AAExD,eAAO,MAAM,aAAa,0DAYxB,CAAA"}
1
+ {"version":3,"file":"Context.d.ts","sourceRoot":"","sources":["../../../src/debug-context/Context.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAoD,MAAM,OAAO,CAAA;AAEnF,OAAO,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAA;AAmClD,eAAO,MAAM,oBAAoB,mDAAiD,CAAA;AAOlF,eAAO,MAAM,mBAAmB,WAAY,MAAM,aAAa,OAAO,+DAiBrE,CAAA;AAED,MAAM,MAAM,kBAAkB,GAC3B;IAAE,MAAM,CAAC,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,SAAS,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAClD;IAAE,MAAM,CAAC,EAAE,KAAK,CAAC;IAAC,QAAQ,EAAE,SAAS,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAEvD,eAAO,MAAM,aAAa,0DAYxB,CAAA"}
@@ -5,8 +5,10 @@ export * from './useArrayMapMemo';
5
5
  export * from './useComposeRef';
6
6
  export * from './useConstantLengthInvariant';
7
7
  export * from './useConstantValueInvariant';
8
+ export * from './useContainerWidth';
8
9
  export * from './useDebounce';
9
10
  export * from './useDebounceCallback';
11
+ export * from './useDocumentTitle';
10
12
  export * from './useElementSize';
11
13
  export * from './useEventHandler';
12
14
  export * from './useExpectSameValueReference';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,cAAc,sBAAsB,CAAA;AACpC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,8BAA8B,CAAA;AAC5C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,eAAe,CAAA;AAC7B,cAAc,uBAAuB,CAAA;AACrC,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA;AACjC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,wBAAwB,CAAA;AACtC,cAAc,sBAAsB,CAAA;AACpC,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA;AAChC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,cAAc,sBAAsB,CAAA;AACpC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,8BAA8B,CAAA;AAC5C,cAAc,6BAA6B,CAAA;AAC3C,cAAc,qBAAqB,CAAA;AACnC,cAAc,eAAe,CAAA;AAC7B,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA;AACjC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,wBAAwB,CAAA;AACtC,cAAc,sBAAsB,CAAA;AACpC,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA;AAChC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"useAddClassNameDuringResize.d.ts","sourceRoot":"","sources":["../../../src/hooks/useAddClassNameDuringResize.ts"],"names":[],"mappings":"AA4BA;;;;;;;;;;GAUG;AACH,wBAAgB,2BAA2B,CAC1C,SAAS,EAAE,MAAM,EACjB,gBAAgB,GAAE,MAAY,EAC9B,OAAO,CAAC,EAAE,WAAW,QAerB"}
1
+ {"version":3,"file":"useAddClassNameDuringResize.d.ts","sourceRoot":"","sources":["../../../src/hooks/useAddClassNameDuringResize.ts"],"names":[],"mappings":"AA4BA;;;;;;;;;;GAUG;AACH,wBAAgB,2BAA2B,CAC1C,SAAS,EAAE,MAAM,EACjB,gBAAgB,GAAE,MAAY,EAC9B,OAAO,CAAC,EAAE,WAAW,QAmBrB"}
@@ -0,0 +1,4 @@
1
+ export type ContainerWidthContextType = number;
2
+ export declare const ContainerWidthContext: import("react").Context<number | null>;
3
+ export declare function useContainerWidth(): number;
4
+ //# sourceMappingURL=useContainerWidth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useContainerWidth.d.ts","sourceRoot":"","sources":["../../../src/hooks/useContainerWidth.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,yBAAyB,GAAG,MAAM,CAAA;AAC9C,eAAO,MAAM,qBAAqB,wCAAwD,CAAA;AAG1F,wBAAgB,iBAAiB,IAAI,MAAM,CAK1C"}
@@ -0,0 +1,2 @@
1
+ export declare function useDocumentTitle(title: string | null | undefined, formatter?: (title: string, initialTitle: string) => string): void;
2
+ //# sourceMappingURL=useDocumentTitle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDocumentTitle.d.ts","sourceRoot":"","sources":["../../../src/hooks/useDocumentTitle.ts"],"names":[],"mappings":"AAEA,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,MAAM,QAkB7H"}
@@ -1,2 +1,24 @@
1
+ /**
2
+ * Checks whether the next value is the same reference as the previous one
3
+ *
4
+ * If not, it checks whether the values are deeply equal. If not, it logs an error.
5
+ *
6
+ * @param next - Value to be checked.
7
+ * @param shouldThrow - If true, it throws an error instead of logging it. Defaults to false.
8
+ * @returns void
9
+ * -
10
+ * @example
11
+ * ```ts
12
+ * useExpectSameValueReference(style)
13
+ * ```
14
+ * @example
15
+ * ```ts
16
+ * useExpectSameValueReference(style, true)
17
+ * ```
18
+ * @example
19
+ * ```ts
20
+ * useExpectSameValueReference(style, import.meta.env.DEV)
21
+ * ```
22
+ */
1
23
  export declare function useExpectSameValueReference<T>(next: T, shouldThrow?: boolean): void;
2
24
  //# sourceMappingURL=useExpectSameValueReference.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useExpectSameValueReference.d.ts","sourceRoot":"","sources":["../../../src/hooks/useExpectSameValueReference.ts"],"names":[],"mappings":"AAIA,wBAAgB,2BAA2B,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,WAAW,GAAE,OAAe,QAqBnF"}
1
+ {"version":3,"file":"useExpectSameValueReference.d.ts","sourceRoot":"","sources":["../../../src/hooks/useExpectSameValueReference.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,2BAA2B,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,WAAW,GAAE,OAAe,QAyBnF"}
@@ -1 +1 @@
1
- {"program":{"fileNames":["../../../../node_modules/typescript/lib/lib.es5.d.ts","../../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../../node_modules/typescript/lib/lib.es2021.d.ts","../../../../node_modules/typescript/lib/lib.es2022.d.ts","../../../../node_modules/typescript/lib/lib.es2023.d.ts","../../../../node_modules/typescript/lib/lib.esnext.d.ts","../../../../node_modules/typescript/lib/lib.dom.d.ts","../../../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../../../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../../../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../../node_modules/typescript/lib/lib.es2023.array.d.ts","../../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../../node_modules/@types/react/ts5.0/global.d.ts","../../../../node_modules/@types/react/node_modules/csstype/index.d.ts","../../../../node_modules/@types/prop-types/index.d.ts","../../../../node_modules/@types/scheduler/tracing.d.ts","../../../../node_modules/@types/react/ts5.0/index.d.ts","../../../../node_modules/@types/react/ts5.0/jsx-runtime.d.ts","../../src/context/createNonNullableContextFactory.ts","../../src/context/index.ts","../../src/debug-context/Types.ts","../../src/debug-context/Constants.ts","../../../utilities/dist/types/assert-types/AssertionError.d.ts","../../../utilities/dist/types/assert-types/Predicates.d.ts","../../../utilities/dist/types/assert-types/assert.d.ts","../../../utilities/dist/types/assert-types/assertNever.d.ts","../../../utilities/dist/types/assert-types/index.d.ts","../../../utilities/dist/types/class-name/GlobalClassNamePrefixContext.d.ts","../../../utilities/dist/types/class-name/Types.d.ts","../../../utilities/dist/types/class-name/listClassName.d.ts","../../../utilities/dist/types/class-name/stateClassName.d.ts","../../../utilities/dist/types/class-name/useClassName.d.ts","../../../utilities/dist/types/class-name/useClassNameFactory.d.ts","../../../utilities/dist/types/class-name/index.d.ts","../../../utilities/dist/types/css-utilities/px.d.ts","../../../utilities/dist/types/css-utilities/index.d.ts","../../../utilities/dist/types/dom/dataAttribute.d.ts","../../../utilities/dist/types/dom/getMatchingParentElement.d.ts","../../../utilities/dist/types/dom/getSizeFromResizeObserverEntry.d.ts","../../../utilities/dist/types/dom/isScrollable.d.ts","../../../utilities/dist/types/dom/parseTransformMatrix.d.ts","../../../utilities/dist/types/dom/svgSizeProps.d.ts","../../../utilities/dist/types/dom/index.d.ts","../../../utilities/dist/types/functional/pick.d.ts","../../../utilities/dist/types/functional/setHasOneOf.d.ts","../../../utilities/dist/types/functional/index.d.ts","../../../utilities/dist/types/string-utilities/capitalize.d.ts","../../../utilities/dist/types/string-utilities/trimString.d.ts","../../../utilities/dist/types/string-utilities/index.d.ts","../../../utilities/dist/types/typescript-utilities/DeepPartial.d.ts","../../../utilities/dist/types/typescript-utilities/NonNullableRequired.d.ts","../../../utilities/dist/types/typescript-utilities/ObjectKeyValue.d.ts","../../../utilities/dist/types/typescript-utilities/PolymorphicRefs.d.ts","../../../utilities/dist/types/typescript-utilities/Try.d.ts","../../../utilities/dist/types/typescript-utilities/index.d.ts","../../../utilities/dist/types/index.d.ts","../../src/debug-context/Context.tsx","../../src/debug-context/index.ts","../../src/hooks/unwrapRefValue.ts","../../src/hooks/useAbortController.ts","../../src/referentiallyStable/emptyArray.ts","../../src/referentiallyStable/emptyObject.ts","../../src/referentiallyStable/identityFunction.ts","../../src/referentiallyStable/noop.ts","../../src/referentiallyStable/returnFalse.ts","../../src/referentiallyStable/returnTrue.ts","../../src/referentiallyStable/useReferentiallyStableCallback.ts","../../src/referentiallyStable/index.ts","../../src/hooks/useOnWindowResize.ts","../../src/hooks/useAddClassNameDuringResize.ts","../../src/hooks/usePreviousValue.ts","../../src/hooks/useConstantLengthInvariant.ts","../../src/hooks/useArrayMapMemo.ts","../../src/hooks/useComposeRef.ts","../../src/hooks/useConstantValueInvariant.ts","../../src/hooks/useDebounce.ts","../../src/hooks/useDebounceCallback.ts","../../src/hooks/useOnElementResize.ts","../../src/hooks/useElementSize.ts","../../src/hooks/useEventHandler.ts","../../../../node_modules/@types/deep-equal/index.d.ts","../../src/hooks/useExpectSameValueReference.ts","../../src/hooks/useForceRender.ts","../../src/hooks/useIsMounted.ts","../../src/hooks/useObjectMemo.ts","../../src/hooks/useOnElementMutation.ts","../../src/hooks/useOnScrollWithin.ts","../../src/hooks/useScrollOffsets.ts","../../src/types/PropsWithRequiredChildren.ts","../../src/types/Serializable.ts","../../src/types/index.ts","../../src/hooks/useStoredState.ts","../../src/hooks/useUpdatedRef.ts","../../src/hooks/useWindowSize.ts","../../src/hooks/index.ts","../../src/index.ts","../../../../node_modules/vite/types/hmrPayload.d.ts","../../../../node_modules/vite/types/customEvent.d.ts","../../../../node_modules/vite/types/hot.d.ts","../../../../node_modules/vite/types/importGlob.d.ts","../../../../node_modules/vite/types/importMeta.d.ts","../../../../node_modules/vite/client.d.ts"],"fileInfos":[{"version":"6a6b471e7e43e15ef6f8fe617a22ce4ecb0e34efa6c3dfcfe7cebd392bcca9d2","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","dc48272d7c333ccf58034c0026162576b7d50ea0e69c3b9292f803fc20720fd5","27147504487dc1159369da4f4da8a26406364624fa9bc3db632f7d94a5bae2c3","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc","f4e736d6c8d69ae5b3ab0ddfcaa3dc365c3e76909d6660af5b4e979b3934ac20","eeeb3aca31fbadef8b82502484499dfd1757204799a6f5b33116201c810676ec",{"version":"fcd3ecc9f764f06f4d5c467677f4f117f6abf49dee6716283aa204ff1162498b","affectsGlobalScope":true},{"version":"9a60b92bca4c1257db03b349d58e63e4868cfc0d1c8d0ba60c2dbc63f4e6c9f6","affectsGlobalScope":true},{"version":"f296963760430fb65b4e5d91f0ed770a91c6e77455bacf8fa23a1501654ede0e","affectsGlobalScope":true},{"version":"5114a95689b63f96b957e00216bc04baf9e1a1782aa4d8ee7e5e9acbf768e301","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"ab22100fdd0d24cfc2cc59d0a00fc8cf449830d9c4030dc54390a46bd562e929","affectsGlobalScope":true},{"version":"f7bd636ae3a4623c503359ada74510c4005df5b36de7f23e1db8a5c543fd176b","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"0c20f4d2358eb679e4ae8a4432bdd96c857a2960fd6800b21ec4008ec59d60ea","affectsGlobalScope":true},{"version":"36ae84ccc0633f7c0787bc6108386c8b773e95d3b052d9464a99cd9b8795fbec","affectsGlobalScope":true},{"version":"82d0d8e269b9eeac02c3bd1c9e884e85d483fcb2cd168bccd6bc54df663da031","affectsGlobalScope":true},{"version":"b8deab98702588840be73d67f02412a2d45a417a3c097b2e96f7f3a42ac483d1","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"376d554d042fb409cb55b5cbaf0b2b4b7e669619493c5d18d5fa8bd67273f82a","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"c4138a3dd7cd6cf1f363ca0f905554e8d81b45844feea17786cdf1626cb8ea06","affectsGlobalScope":true},{"version":"6ff3e2452b055d8f0ec026511c6582b55d935675af67cdb67dd1dc671e8065df","affectsGlobalScope":true},{"version":"03de17b810f426a2f47396b0b99b53a82c1b60e9cba7a7edda47f9bb077882f4","affectsGlobalScope":true},{"version":"8184c6ddf48f0c98429326b428478ecc6143c27f79b79e85740f17e6feb090f1","affectsGlobalScope":true},{"version":"261c4d2cf86ac5a89ad3fb3fafed74cbb6f2f7c1d139b0540933df567d64a6ca","affectsGlobalScope":true},{"version":"6af1425e9973f4924fca986636ac19a0cf9909a7e0d9d3009c349e6244e957b6","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"15a630d6817718a2ddd7088c4f83e4673fde19fa992d2eae2cf51132a302a5d3","affectsGlobalScope":true},{"version":"b7e9f95a7387e3f66be0ed6db43600c49cec33a3900437ce2fd350d9b7cb16f2","affectsGlobalScope":true},{"version":"01e0ee7e1f661acedb08b51f8a9b7d7f959e9cdb6441360f06522cc3aea1bf2e","affectsGlobalScope":true},{"version":"ac17a97f816d53d9dd79b0d235e1c0ed54a8cc6a0677e9a3d61efb480b2a3e4e","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"ec0104fee478075cb5171e5f4e3f23add8e02d845ae0165bfa3f1099241fa2aa","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"9cc66b0513ad41cb5f5372cca86ef83a0d37d1c1017580b7dace3ea5661836df","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"709efdae0cb5df5f49376cde61daacc95cdd44ae4671da13a540da5088bf3f30","affectsGlobalScope":true},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true},{"version":"61ed9b6d07af959e745fb11f9593ecd743b279418cc8a99448ea3cd5f3b3eb22","affectsGlobalScope":true},{"version":"038a2f66a34ee7a9c2fbc3584c8ab43dff2995f8c68e3f566f4c300d2175e31e","affectsGlobalScope":true},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true},{"version":"f5c92f2c27b06c1a41b88f6db8299205aee52c2a2943f7ed29bd585977f254e8","affectsGlobalScope":true},{"version":"b7feb7967c6c6003e11f49efa8f5de989484e0a6ba2e5a6c41b55f8b8bd85dba","affectsGlobalScope":true},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true},{"version":"b9ea5778ff8b50d7c04c9890170db34c26a5358cccba36844fe319f50a43a61a","affectsGlobalScope":true},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true},{"version":"50d53ccd31f6667aff66e3d62adf948879a3a16f05d89882d1188084ee415bbc","affectsGlobalScope":true},{"version":"25de46552b782d43cb7284df22fe2a265de387cf0248b747a7a1b647d81861f6","affectsGlobalScope":true},{"version":"307c8b7ebbd7f23a92b73a4c6c0a697beca05b06b036c23a34553e5fe65e4fdc","affectsGlobalScope":true},{"version":"189c0703923150aa30673fa3de411346d727cc44a11c75d05d7cf9ef095daa22","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},{"version":"49a253ec027e56c55c7450a0c331cfe96212b3d1cc215b1710ba94a083404cf3","affectsGlobalScope":true},"1c29793071152b207c01ea1954e343be9a44d85234447b2b236acae9e709a383","6a386ff939f180ae8ef064699d8b7b6e62bc2731a62d7fbf5e02589383838dea","f5a8b384f182b3851cec3596ccc96cb7464f8d3469f48c74bf2befb782a19de5",{"version":"278fe30e638dad09488d130287c728f99f61cb315ed86b70c36040e4311f9cf5","affectsGlobalScope":true},"af7fd2870746deed40e130fc0a3966de74e8f52a97ec114d0fbb35876ab05ca9",{"version":"fb55838e748c6b05664f35710a54bbc47c3d7c02460c7793b6dc4d66ef170933","signature":"8d9ced16ade46e55b9a69cc93de2f9b1e5978f5c02711e3767c6a85330cc1fef"},{"version":"9fb4e837b1b35f10e97dddf61026c9f9edbfb60074fcb2906920c86e3c50d65e","signature":"bd8229bcce32bf6a61aef9334e3c57c27e2a734ca6c5b2ed866167ffa4d392bb"},{"version":"fd1000297d832f3941f4805499412de58103aa078fffb6e09636bc5497a4a764","signature":"c2d7b2ba06f7ddcfc14a19836a07ca4e4fa995f29323bcf398a1e7b259a2f883"},{"version":"62a72689dd2257182702432b302c8fc9c713bbd3df063ec230577ad20d448564","signature":"1f6c8bf3acd3faf5b580fc7b547057de1eb12a9351a3c882c3027d0442404630"},"f341c93fefe964ea97c5106e3d93c4271bb3951a06a34e08da704c6faf871380","d008cfe24f8735737cd75c908b4a46595eed628952fb1c8866f592d72ebab3f9","fd476e29349bf7fa3585d85a418d12fbbe9ca7003f890388d8689b5bd22ae49a","a95c25e1f9146dd90f7cb36c7e306a25a67bdef1eaae7319a60d2f9d3ff66804","16149c524b7c619b07806ba94d745532a4867cecc24aa14b42640d3404f4dd0e","564c57d76966679f0345941dfe3905b43c1c813d10dc6c6de2f1e79501a2c312","e6de7bbbc8f1b4516625a0d9b3baf5d5e2188993caa4c6c0fd2bcd57f0b906f1","adf99208c7680acbbf39170aaa798b9914286e2c4ef83f301ca45b233b49a737","a81f32494df0e41ff9ccd7ad0ebf03bd3cf57dc6cb3c9d6725f2b7e985b6cfb4","6bd7f81319411f28afeebf25871299f2f0ee362669f44ed68a09db95c9fa472a","1adec9773ba21f0a7df63667d1c3082a37443739d62e766371df6ede2de1fb0e","0288097d81e533fb1df7881c43adfb440c3e97fed71f6e53133eb5e700f75875","afd44534064f3d94cd248096074344857d9e8aaa787eb209b155002f76b44271","f3c9d693e0597f6b1b5dd49bd0beaaa237bd491508991ea3c72b47d3c7d20fdb","1c84b348bb07619f2123fddd01c20184c6212540909bd98fdc450f7d4e234717","7bd62fc2cefeeb76bf935279de114a8f509d70232badea6f02c5235b8efd08a7","cc9bdde4319a73448db9e4dd8dc256d04f0060b90383b4563c3a32a3b67780d5","2a5d65d9ef97588e66e1eb9ba088e3bcd8fad77f56319a34f206f042716d5f98","53870be174a4233e5ceb0b0f7d7b298eb5896f45782236f65cfce1e971e13a02","dfe644b96a0786c3ed103bffe7331349022c647802d40030067cf71c9ce79bb5","fd90070d1485a0bf8917bc97443d08c5d26a283e923f5578b7e15d1486befe77","16803990fe6e4e75f83a6a35bb69afa0ea6eb7af218c17e67e9449e4e44bd280","f4d6688e7084a99a025d570c620544d5235668cf2fe90acc8b5b311729c83816","016afc13dc57e151a2cebeefbf07b95fbb7429a4c75b79979021d82728e78b83","7a8119cc3d41a3adfa818800df5899f1bf3cc68eed005e44a85c218dbcf3889a","1ea04e06101a73c7896a461675bd5a429b121c5cb6de24c94332ff102d145a98","3c1cda1ddaa0975a89502446e0c8932df2b242971d832648dd380268351e7bf9","d6339e78331aef24260e77249cc452ab8487ed3308a7bdc06135e7b465587127","e1e25bc3db37f4722303072a8f02c3d9408d7c226e2f070f45dc21a7c0214be7","325430df8b9df3d182ab9edfa79b6f772eced949949620db3f2cef29091b24ed","28d766affdde4aa6fd61b870f4d738cfcdb7388f4f26565eba7d0aca87831131","b182b44845c33c2c049c56bbc090c182f8a39e55362b266fdc6871299567a597","611934171fe82ad4c214817603caab99c5ae1844cfe4b18edcd2724fe35cb9f5","9e47c559935123ff2dd8a8b7c07e93c6ac139a4b72ebac8fee3ae3a879e39717",{"version":"3a01695ae8159ee726b996156ac00ff4faffc5d81724e4f337ad19151e0003b2","signature":"047c1966f1591768de6c27cff55fea2004dc29909772653c54ec6175fe89fe0f"},{"version":"4ee566ff97a4bb7fe21c656c2c63942a0fedfcfd1be0cd7880af771ff8ac59be","signature":"d5a966f87b35362b5d996d9ecf3d8508c27156956627498195abfdaf23326506"},{"version":"da2407349c44421984d8c588ecad6213bdbb4b2203d7f7b72e44f676392e6586","signature":"8f2446cd225d6848f764838175f31f918b704800880bd8dc045932d6b2a52673"},{"version":"1119fa53c926c20e281cb27ca310a053daee51ff4d4105fbec8c95cbc51deba8","signature":"76e9a763eef4a0ef8a4f50e387b9fad5266d471d8b0f62619f31bbd3d21b9814"},{"version":"6ed0434b66c265567ba50989270a2a406c1c7290de0ca0606424c5209f15c14b","signature":"944cd92c6b59feb32961d560267393f372b1dcff1d6cd71a6230ba03f91036b5"},{"version":"f9dccb27c442d882186eb81a6613368994304a1e19c581ab2d169e449f41a3ba","signature":"314e888c6a1a1cc4d30295ebacece510231e4e4ee7028434aee277abda977baf"},{"version":"ce96cdf4ec7233fd29eef8a8c8236c259997010527d25124c64760e645377271","signature":"f6e30e59f4a1f0d0e6b231c280322ce9b007ff9c54fdb13b707e870430341778"},{"version":"2f377947a423abcfb75b0e27d9986021be894b808ffa7cfcfde8d1e3b8214c90","signature":"58861fcc3db99d3761938fad76882bb93f726eaddbc3342cced707d00f94f5bd"},{"version":"194018367f7ed61f1bdbd2ce5c7ab2f16fb2f235dee82de70510ad132f6d5890","signature":"bda7d503a370f6aef217e2f68a326d4a5c2d4cae43f8131c084f509c8ccb83a7"},{"version":"9a2d06df39b9eb74e5d947dd74943894a9ad56a46c86bf0940e63a550233c376","signature":"6194964a45d631834d96f0c91ea7041d7e15f94db83b217e92466adf1646b894"},{"version":"59bf5133b21c380d75307ef184d78d14485e875cfea8f94a0393a7a628761a17","signature":"47450610465821f3ef5c6c116a91f2d1f3da33f37a9a4da00fff7a1a3bbaf8c4"},{"version":"31d0453c697851cead7aad3738e70a7ead0dd031185fe5824b994ac5bbbdabc6","signature":"d55e0e385634448cb9df2a75a80e9b44e4bdc1e87d2f942b0ee68c28365b9bfc"},{"version":"0b0cbad1c318fc84bf3fc7e437f2471020647c1125e107c1f0c3883c4cda9d0c","signature":"5d68e76b227ac7a7c2fd863ca5c7168117276051d049b49c3ff475d04390f669"},{"version":"553d8cd33914dc3a15b82f10654050105cf2382aa8bb31ab1c22bfd70b3e0c0d","signature":"5666830778592987b29dac9758fe142b3db2934d845e60d1ad71884fdf3153c3"},{"version":"8ce84c30ed8e4ff9217beacd12b12344fc733ba4d759e016a6c2df97a172cfda","signature":"2bc449b91944ffae1f59471da701908ff793787f257f23b4ef71759acc97939f"},{"version":"1ec802e9ffbe86a6164b5809ed7819d11fb3e29f7b744827bc33830141718c74","signature":"572d37a64f63ea48d1e50cc50a3ffb9dea5fb130926dc53f9eef8e867c6982d5"},{"version":"b1096d58f6517057f746012925a47ec2d066d0c4143337982dc7f15467ca747e","signature":"809cd2debef3870c93afe5ddf02db6f18f4e223163bf252af70241de431f4465"},{"version":"ba81cbdb0e8b70ee378bc4707204d493628f9198a269d3eddee8769f44d96b8d","signature":"273dab284b012bd39052d5068a8e5e493e79f7bbf603c3a6e8aa544d3a37a971"},{"version":"4e9b248518009250ac32d8d2a7537f8915067b27c385b19a9693206e3493d0be","signature":"5d05ccc4198e13f67f653cb968b468bb81cf3e65ae591cf59cf30f8ab6450237"},{"version":"e7a67060180f7a26df5eb50bc0d146a97ba95ff352e40053ee133acbb1ec54d2","signature":"19fc07b31d401c27075277ed71154ab13c74ef43ab20898e7ae24de8d16fb172"},{"version":"8b46cbe63fa6800d645e6c9225b05988079787674eba03ac3fb7910ce04b2a8a","signature":"807c0151462ab7b02b0a3bf439c110128ebef4644850d10b95a280efad9241fd"},{"version":"e843179dcb12019c61df74d854ecb6c42daabf96acf727fa8567e3c8b91a5c5a","signature":"f4846a5ce4f92bcfbd766a60b500be9132562b536501694b16eac9be117c1a93"},{"version":"455bcd511df43a8aeb600bdea43f29ec9d8efcd3d0ce8e5be2cf7a963f080d7f","signature":"2bd4e30b6f03566988d3f22c36af13c5bca58f78a81292123f49780bd7bc4d9f"},{"version":"c57c3dc474bd33922f44be9e8262f5b363d2f34afa9c456c34183532347438d3","signature":"0989b7833f22432b4effb9dd964ea745c4485174a7f205eff8b6eca7650fdd04"},"2e345cb6511f4c4c60c274df6626c94f3182939034f06cdf414bfbccc584f822",{"version":"4fecd80080b0cda53c9216c79b0b0c6c6d9dee53dd028e62e168093871e75434","signature":"d6e9cf6e99664ac41e12e0d1a0c9f2d917be8f89507f0b8aa3df4ef4a405ea7d"},{"version":"d0606fc9b7309eef1022f066b55be926544edc47e0b211c60a54367daa7f1320","signature":"2bd4625ce452e0f25677c4d07430710c57d424ec2d33391debae18ea9a67a56a"},{"version":"8e83142922b25c87b8b3d90ecfc44a60a3017129abee86227a71bc2491e79678","signature":"b48798e7ef7f2e4f7bd9e6dbdcb037b24ea8f2effbb4bdd4a9a05930f01d9fc7"},{"version":"e3bac02b563a2ebfb9784935f4a039531c7341c565d1c0707e65623578555e83","signature":"9e9ed85ced77a7b59d07a821d69db8a8e780bcd1caeb5623e6ac04401cba31c4"},{"version":"93145b1a33f14a5b8fc8eb72b610d52f7c4fa252bc0bb8d67264e5c477994440","signature":"217c927c9096d539fa9ed50cddae8663efb63d7c9a3638ec66e323f124edf944"},{"version":"62f0dba8960e5f96f56691405e257d078c6abbc0748804b3a1cc9f32222442d5","signature":"7975d8566fd9321324b32045a4333e1d7edab85588faef8e9bdfc5efacc94df0"},{"version":"fccdaadd501719ec69070ece163158eaec354d74b2b6a35266afdd4ba74e6e1a","signature":"e74bdf83c107823764f73f5ce4bc4ec44c5771e58c219caaf60de7cffe78bb25"},{"version":"26f0f8afb62e55578d063a85b8466922b60bda21c8cd674fd991543429b0a457","signature":"ba2e3244ab6bb9b566681fe3739144a3f3a6c549f8ffc18af5c6909f34b5367c"},{"version":"1ff0b5a9de5dd2ab9af8f3b2b0827aa5d819e2de0ac22ff9e83a4c7dc6971a2d","signature":"8b4adeab24aaca65cf5145650e670147494fbd9aa71ac29de6685b0bfbf4be05"},{"version":"0e3b9862a0ce71dc8c872a7d9e03aa8df63ebced4798b5a5b2a203648672e479","signature":"40ab9090ab933f2463706b6eab3f6cee55021b38beb59f1e52d323475eac2c92"},{"version":"c770066c63b5fe1bb2ff04fd4cfceb84566ad609fbe4b2cc745c0e082361356f","signature":"9efb264d88f6181d6e763fce12d0f7d19893f48be79fb840a7f68d9bf8ee2da8"},{"version":"552149a29e0c220b7bee747b92a8ec42691443ef616b744a0c8e74a39b2dfa4f","signature":"da4d2fd24b5b25a9fff5fd42166c1fd6e44dacc8362bee445590583d95795f3f"},{"version":"e7ffbe95b1ad2d6a75ec1fa91328506c3e85f9162a53d7c1f81549092eec6a4b","signature":"89a2e13f35eafb164d59a5ec2c46cf97bf12c76a670d546a986c7880bde83c23"},{"version":"e0bef21b16f06d4c8a7314459833e89b4947e29cba71d4deb964339ee606e3f3","signature":"1c2ac71899a38f52084efb989521ae9320bb9b02b4e950873b2a093244f5cf44"},{"version":"c146c9630129ca6e05868042308493adcbe91ab17905b75c3389890d2188dff8","signature":"e4377349ba50d4da674de09a20d45ec7e4ad6522263a40b8029a044d6680b97f"},"bcb6ea18f23dae2c48459d7b86d3adccd6898f824fcbf9da08b935f559896580","0aa7220845f5f3902fe043f646f9d9218bd7dd6c4046e8471580866ea6b03aa2","4d5fb5d6b35f731b2ae4d9d7c592d48e91d6de531dd130628edf4eba16add893","739c2c46edc112421fc023c24b4898b1f413f792bb6a02b40ba182c648e56c2f",{"version":"df93bb67d5ae7be3d599323de42e12cb8da59f0b490c3186ae91d493632b5e36","affectsGlobalScope":true},{"version":"f8b8b34c4f7651c9f7b126af8affda4139a0499e62e74f0f8dc2be36e9f14b59","affectsGlobalScope":true}],"root":[[68,71],[106,129],[131,145]],"options":{"allowSyntheticDefaultImports":true,"composite":true,"declaration":true,"declarationMap":true,"emitDeclarationOnly":true,"esModuleInterop":true,"experimentalDecorators":true,"jsx":4,"module":99,"noEmitOnError":true,"noImplicitOverride":true,"outDir":"./","skipLibCheck":true,"sourceMap":true,"strict":true,"target":7,"useDefineForClassFields":true},"fileIdsList":[[62,63,64,65],[66],[150],[146],[147],[148,149],[66,67],[67,68],[67,70],[66,67,70,71,105],[67],[67,70,71,106],[67,108,109,118,119,120,121,122,123,124,125,126,127,128,129,131,132,133,134,135,137,141,142,143],[66,67,117,118],[66,67,121],[67,120],[66,67,105,107,108,127],[66,67,130],[66,67,107,108,130],[66,67,107,108],[66,67,107],[66,67,105,107,108,117,118,136],[66,67,140],[66,67,118],[67,69,107,117,140,144],[67,110,111,112,113,114,115,116],[67,138,139],[72,73,74,75],[77,78,79,80,81,82],[78],[84],[86,87,88,89,90,91],[93,94],[76,83,85,92,95,98,104],[96,97],[99,100,101,102,103],[68],[70],[66,70],[70,71,106],[108,109,118,119,120,121,122,123,124,125,126,127,128,129,131,132,133,134,135,137,141,142,143],[108],[140],[69,107,117,140,144],[110,111,112,113,114,115,116],[138,139]],"referencedMap":[[66,1],[67,2],[151,3],[147,4],[148,5],[150,6],[68,7],[69,8],[71,9],[106,10],[70,11],[107,12],[144,13],[108,7],[109,7],[119,14],[122,15],[123,7],[121,16],[124,16],[125,7],[126,7],[128,17],[129,7],[131,18],[132,7],[133,7],[134,7],[135,19],[127,20],[136,20],[118,21],[120,7],[137,22],[141,23],[142,7],[143,24],[145,25],[110,11],[111,11],[112,11],[117,26],[113,11],[114,11],[115,11],[116,7],[138,7],[139,11],[140,27],[76,28],[77,2],[83,29],[80,30],[81,30],[82,30],[85,31],[92,32],[95,33],[105,34],[98,35],[104,36]],"exportedModulesMap":[[66,1],[67,2],[151,3],[147,4],[148,5],[150,6],[68,2],[69,37],[71,38],[106,39],[107,40],[144,41],[108,2],[123,2],[128,42],[129,2],[132,2],[133,2],[135,42],[127,42],[136,42],[137,42],[141,43],[142,2],[145,44],[117,45],[138,2],[140,46],[76,28],[77,2],[83,29],[80,30],[81,30],[82,30],[85,31],[92,32],[95,33],[105,34],[98,35],[104,36]],"semanticDiagnosticsPerFile":[130,64,63,62,66,67,65,60,61,12,13,15,14,2,16,17,18,19,20,21,22,23,3,4,27,24,25,26,28,29,30,5,31,32,33,34,6,38,35,36,37,39,7,40,45,46,41,42,43,44,8,50,47,48,49,51,9,52,53,54,57,55,56,58,10,1,11,59,151,147,146,148,149,150,68,69,71,106,70,107,144,108,109,119,122,123,121,124,125,126,128,129,131,132,133,134,135,127,136,118,120,137,141,142,143,145,110,111,112,117,113,114,115,116,138,139,140,72,73,74,75,76,77,78,83,79,80,81,82,85,84,86,87,88,92,89,90,91,95,93,94,105,96,98,97,99,100,101,102,103,104],"latestChangedDtsFile":"./index.d.ts"},"version":"5.0.4"}
1
+ {"program":{"fileNames":["../../../../node_modules/typescript/lib/lib.es5.d.ts","../../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../../node_modules/typescript/lib/lib.es2021.d.ts","../../../../node_modules/typescript/lib/lib.es2022.d.ts","../../../../node_modules/typescript/lib/lib.es2023.d.ts","../../../../node_modules/typescript/lib/lib.esnext.d.ts","../../../../node_modules/typescript/lib/lib.dom.d.ts","../../../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../../../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../../../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../../node_modules/typescript/lib/lib.es2023.array.d.ts","../../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../../node_modules/@types/react/ts5.0/global.d.ts","../../../../node_modules/@types/react/node_modules/csstype/index.d.ts","../../../../node_modules/@types/prop-types/index.d.ts","../../../../node_modules/@types/scheduler/tracing.d.ts","../../../../node_modules/@types/react/ts5.0/index.d.ts","../../../../node_modules/@types/react/ts5.0/jsx-runtime.d.ts","../../src/context/createNonNullableContextFactory.ts","../../src/context/index.ts","../../src/debug-context/Types.ts","../../src/debug-context/Constants.ts","../../../utilities/dist/types/assert-types/AssertionError.d.ts","../../../../node_modules/type-fest/source/primitive.d.ts","../../../../node_modules/type-fest/source/typed-array.d.ts","../../../../node_modules/type-fest/source/basic.d.ts","../../../../node_modules/type-fest/source/observable-like.d.ts","../../../../node_modules/type-fest/source/empty-object.d.ts","../../../../node_modules/type-fest/source/is-equal.d.ts","../../../../node_modules/type-fest/source/except.d.ts","../../../../node_modules/type-fest/source/tagged-union.d.ts","../../../../node_modules/type-fest/source/simplify.d.ts","../../../../node_modules/type-fest/source/writable.d.ts","../../../../node_modules/type-fest/source/trim.d.ts","../../../../node_modules/type-fest/source/is-any.d.ts","../../../../node_modules/type-fest/source/internal.d.ts","../../../../node_modules/type-fest/source/writable-deep.d.ts","../../../../node_modules/type-fest/source/omit-index-signature.d.ts","../../../../node_modules/type-fest/source/pick-index-signature.d.ts","../../../../node_modules/type-fest/source/enforce-optional.d.ts","../../../../node_modules/type-fest/source/merge.d.ts","../../../../node_modules/type-fest/source/conditional-simplify.d.ts","../../../../node_modules/type-fest/source/merge-deep.d.ts","../../../../node_modules/type-fest/source/merge-exclusive.d.ts","../../../../node_modules/type-fest/source/require-at-least-one.d.ts","../../../../node_modules/type-fest/source/require-exactly-one.d.ts","../../../../node_modules/type-fest/source/require-all-or-none.d.ts","../../../../node_modules/type-fest/source/partial-deep.d.ts","../../../../node_modules/type-fest/source/required-deep.d.ts","../../../../node_modules/type-fest/source/partial-on-undefined-deep.d.ts","../../../../node_modules/type-fest/source/readonly-deep.d.ts","../../../../node_modules/type-fest/source/literal-union.d.ts","../../../../node_modules/type-fest/source/promisable.d.ts","../../../../node_modules/type-fest/source/opaque.d.ts","../../../../node_modules/type-fest/source/invariant-of.d.ts","../../../../node_modules/type-fest/source/set-optional.d.ts","../../../../node_modules/type-fest/source/set-readonly.d.ts","../../../../node_modules/type-fest/source/set-required.d.ts","../../../../node_modules/type-fest/source/set-non-nullable.d.ts","../../../../node_modules/type-fest/source/value-of.d.ts","../../../../node_modules/type-fest/source/async-return-type.d.ts","../../../../node_modules/type-fest/source/conditional-keys.d.ts","../../../../node_modules/type-fest/source/conditional-except.d.ts","../../../../node_modules/type-fest/source/conditional-pick.d.ts","../../../../node_modules/type-fest/source/conditional-pick-deep.d.ts","../../../../node_modules/type-fest/source/union-to-intersection.d.ts","../../../../node_modules/type-fest/source/stringified.d.ts","../../../../node_modules/type-fest/source/fixed-length-array.d.ts","../../../../node_modules/type-fest/source/multidimensional-array.d.ts","../../../../node_modules/type-fest/source/multidimensional-readonly-array.d.ts","../../../../node_modules/type-fest/source/iterable-element.d.ts","../../../../node_modules/type-fest/source/entry.d.ts","../../../../node_modules/type-fest/source/entries.d.ts","../../../../node_modules/type-fest/source/is-unknown.d.ts","../../../../node_modules/type-fest/source/set-return-type.d.ts","../../../../node_modules/type-fest/source/asyncify.d.ts","../../../../node_modules/type-fest/source/numeric.d.ts","../../../../node_modules/type-fest/source/jsonify.d.ts","../../../../node_modules/type-fest/source/jsonifiable.d.ts","../../../../node_modules/type-fest/source/schema.d.ts","../../../../node_modules/type-fest/source/literal-to-primitive.d.ts","../../../../node_modules/type-fest/source/literal-to-primitive-deep.d.ts","../../../../node_modules/type-fest/source/string-key-of.d.ts","../../../../node_modules/type-fest/source/exact.d.ts","../../../../node_modules/type-fest/source/readonly-tuple.d.ts","../../../../node_modules/type-fest/source/optional-keys-of.d.ts","../../../../node_modules/type-fest/source/override-properties.d.ts","../../../../node_modules/type-fest/source/has-optional-keys.d.ts","../../../../node_modules/type-fest/source/required-keys-of.d.ts","../../../../node_modules/type-fest/source/has-required-keys.d.ts","../../../../node_modules/type-fest/source/readonly-keys-of.d.ts","../../../../node_modules/type-fest/source/writable-keys-of.d.ts","../../../../node_modules/type-fest/source/spread.d.ts","../../../../node_modules/type-fest/source/tuple-to-union.d.ts","../../../../node_modules/type-fest/source/is-never.d.ts","../../../../node_modules/type-fest/source/is-literal.d.ts","../../../../node_modules/type-fest/source/if-any.d.ts","../../../../node_modules/type-fest/source/if-never.d.ts","../../../../node_modules/type-fest/source/if-unknown.d.ts","../../../../node_modules/type-fest/source/split-words.d.ts","../../../../node_modules/type-fest/source/camel-case.d.ts","../../../../node_modules/type-fest/source/camel-cased-properties.d.ts","../../../../node_modules/type-fest/source/camel-cased-properties-deep.d.ts","../../../../node_modules/type-fest/source/delimiter-case.d.ts","../../../../node_modules/type-fest/source/kebab-case.d.ts","../../../../node_modules/type-fest/source/delimiter-cased-properties.d.ts","../../../../node_modules/type-fest/source/kebab-cased-properties.d.ts","../../../../node_modules/type-fest/source/delimiter-cased-properties-deep.d.ts","../../../../node_modules/type-fest/source/kebab-cased-properties-deep.d.ts","../../../../node_modules/type-fest/source/pascal-case.d.ts","../../../../node_modules/type-fest/source/pascal-cased-properties.d.ts","../../../../node_modules/type-fest/source/pascal-cased-properties-deep.d.ts","../../../../node_modules/type-fest/source/snake-case.d.ts","../../../../node_modules/type-fest/source/snake-cased-properties.d.ts","../../../../node_modules/type-fest/source/snake-cased-properties-deep.d.ts","../../../../node_modules/type-fest/source/includes.d.ts","../../../../node_modules/type-fest/source/screaming-snake-case.d.ts","../../../../node_modules/type-fest/source/join.d.ts","../../../../node_modules/type-fest/source/split.d.ts","../../../../node_modules/type-fest/source/replace.d.ts","../../../../node_modules/type-fest/source/get.d.ts","../../../../node_modules/type-fest/source/last-array-element.d.ts","../../../../node_modules/type-fest/source/global-this.d.ts","../../../../node_modules/type-fest/source/package-json.d.ts","../../../../node_modules/type-fest/source/tsconfig-json.d.ts","../../../../node_modules/type-fest/index.d.ts","../../../utilities/dist/types/assert-types/types.d.ts","../../../utilities/dist/types/assert-types/Predicates.d.ts","../../../utilities/dist/types/assert-types/assert.d.ts","../../../utilities/dist/types/assert-types/assertNever.d.ts","../../../utilities/dist/types/assert-types/index.d.ts","../../../utilities/dist/types/class-name/GlobalClassNamePrefixContext.d.ts","../../../utilities/dist/types/class-name/Types.d.ts","../../../utilities/dist/types/class-name/listClassName.d.ts","../../../utilities/dist/types/class-name/stateClassName.d.ts","../../../utilities/dist/types/class-name/useClassName.d.ts","../../../utilities/dist/types/class-name/useClassNameFactory.d.ts","../../../utilities/dist/types/class-name/index.d.ts","../../../utilities/dist/types/css-utilities/px.d.ts","../../../utilities/dist/types/css-utilities/index.d.ts","../../../utilities/dist/types/dom/dataAttribute.d.ts","../../../utilities/dist/types/dom/getMatchingParentElement.d.ts","../../../utilities/dist/types/dom/getSizeFromResizeObserverEntry.d.ts","../../../utilities/dist/types/dom/isScrollable.d.ts","../../../utilities/dist/types/dom/parseTransformMatrix.d.ts","../../../utilities/dist/types/dom/stateDataAttributes.d.ts","../../../utilities/dist/types/dom/svgSizeProps.d.ts","../../../utilities/dist/types/dom/index.d.ts","../../../utilities/dist/types/functional/omit.d.ts","../../../utilities/dist/types/functional/pick.d.ts","../../../utilities/dist/types/functional/setHasOneOf.d.ts","../../../utilities/dist/types/functional/index.d.ts","../../../utilities/dist/types/string-utilities/capitalize.d.ts","../../../utilities/dist/types/string-utilities/kebabCase.d.ts","../../../utilities/dist/types/string-utilities/trimString.d.ts","../../../utilities/dist/types/string-utilities/index.d.ts","../../../utilities/dist/types/types/DeepPartial.d.ts","../../../utilities/dist/types/types/NonNullableRequired.d.ts","../../../utilities/dist/types/types/NonOptional.d.ts","../../../utilities/dist/types/types/ObjectKeyValue.d.ts","../../../utilities/dist/types/types/PolymorphicRefs.d.ts","../../../utilities/dist/types/types/Primitive.d.ts","../../../utilities/dist/types/types/RequiredDeepPlainObject.d.ts","../../../utilities/dist/types/types/Try.d.ts","../../../utilities/dist/types/types/TypeofStringLiteral.d.ts","../../../utilities/dist/types/types/index.d.ts","../../../utilities/dist/types/index.d.ts","../../src/debug-context/Context.tsx","../../src/debug-context/index.ts","../../src/hooks/unwrapRefValue.ts","../../src/hooks/useAbortController.ts","../../src/referentiallyStable/emptyArray.ts","../../src/referentiallyStable/emptyObject.ts","../../src/referentiallyStable/identityFunction.ts","../../src/referentiallyStable/noop.ts","../../src/referentiallyStable/returnFalse.ts","../../src/referentiallyStable/returnTrue.ts","../../src/referentiallyStable/useReferentiallyStableCallback.ts","../../src/referentiallyStable/index.ts","../../src/hooks/useOnWindowResize.ts","../../src/hooks/useAddClassNameDuringResize.ts","../../src/hooks/usePreviousValue.ts","../../src/hooks/useConstantLengthInvariant.ts","../../src/hooks/useArrayMapMemo.ts","../../src/hooks/useComposeRef.ts","../../src/hooks/useConstantValueInvariant.ts","../../src/hooks/useWindowSize.ts","../../src/hooks/useContainerWidth.ts","../../src/hooks/useDebounce.ts","../../src/hooks/useDebounceCallback.ts","../../src/hooks/useDocumentTitle.ts","../../src/hooks/useOnElementResize.ts","../../src/hooks/useElementSize.ts","../../src/hooks/useEventHandler.ts","../../../../node_modules/@types/deep-equal/index.d.ts","../../src/hooks/useExpectSameValueReference.ts","../../src/hooks/useForceRender.ts","../../src/hooks/useIsMounted.ts","../../src/hooks/useObjectMemo.ts","../../src/hooks/useOnElementMutation.ts","../../src/hooks/useOnScrollWithin.ts","../../src/hooks/useScrollOffsets.ts","../../src/types/PropsWithRequiredChildren.ts","../../src/types/Serializable.ts","../../src/types/index.ts","../../src/hooks/useStoredState.ts","../../src/hooks/useUpdatedRef.ts","../../src/hooks/index.ts","../../src/index.ts","../../../../node_modules/vite/types/hmrPayload.d.ts","../../../../node_modules/vite/types/customEvent.d.ts","../../../../node_modules/vite/types/hot.d.ts","../../../../node_modules/vite/types/importGlob.d.ts","../../../../node_modules/vite/types/importMeta.d.ts","../../../../node_modules/vite/client.d.ts"],"fileInfos":[{"version":"6a6b471e7e43e15ef6f8fe617a22ce4ecb0e34efa6c3dfcfe7cebd392bcca9d2","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","dc48272d7c333ccf58034c0026162576b7d50ea0e69c3b9292f803fc20720fd5","27147504487dc1159369da4f4da8a26406364624fa9bc3db632f7d94a5bae2c3","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc","f4e736d6c8d69ae5b3ab0ddfcaa3dc365c3e76909d6660af5b4e979b3934ac20","eeeb3aca31fbadef8b82502484499dfd1757204799a6f5b33116201c810676ec",{"version":"fcd3ecc9f764f06f4d5c467677f4f117f6abf49dee6716283aa204ff1162498b","affectsGlobalScope":true},{"version":"9a60b92bca4c1257db03b349d58e63e4868cfc0d1c8d0ba60c2dbc63f4e6c9f6","affectsGlobalScope":true},{"version":"f296963760430fb65b4e5d91f0ed770a91c6e77455bacf8fa23a1501654ede0e","affectsGlobalScope":true},{"version":"5114a95689b63f96b957e00216bc04baf9e1a1782aa4d8ee7e5e9acbf768e301","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"ab22100fdd0d24cfc2cc59d0a00fc8cf449830d9c4030dc54390a46bd562e929","affectsGlobalScope":true},{"version":"f7bd636ae3a4623c503359ada74510c4005df5b36de7f23e1db8a5c543fd176b","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"0c20f4d2358eb679e4ae8a4432bdd96c857a2960fd6800b21ec4008ec59d60ea","affectsGlobalScope":true},{"version":"36ae84ccc0633f7c0787bc6108386c8b773e95d3b052d9464a99cd9b8795fbec","affectsGlobalScope":true},{"version":"82d0d8e269b9eeac02c3bd1c9e884e85d483fcb2cd168bccd6bc54df663da031","affectsGlobalScope":true},{"version":"b8deab98702588840be73d67f02412a2d45a417a3c097b2e96f7f3a42ac483d1","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"376d554d042fb409cb55b5cbaf0b2b4b7e669619493c5d18d5fa8bd67273f82a","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"c4138a3dd7cd6cf1f363ca0f905554e8d81b45844feea17786cdf1626cb8ea06","affectsGlobalScope":true},{"version":"6ff3e2452b055d8f0ec026511c6582b55d935675af67cdb67dd1dc671e8065df","affectsGlobalScope":true},{"version":"03de17b810f426a2f47396b0b99b53a82c1b60e9cba7a7edda47f9bb077882f4","affectsGlobalScope":true},{"version":"8184c6ddf48f0c98429326b428478ecc6143c27f79b79e85740f17e6feb090f1","affectsGlobalScope":true},{"version":"261c4d2cf86ac5a89ad3fb3fafed74cbb6f2f7c1d139b0540933df567d64a6ca","affectsGlobalScope":true},{"version":"6af1425e9973f4924fca986636ac19a0cf9909a7e0d9d3009c349e6244e957b6","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"15a630d6817718a2ddd7088c4f83e4673fde19fa992d2eae2cf51132a302a5d3","affectsGlobalScope":true},{"version":"b7e9f95a7387e3f66be0ed6db43600c49cec33a3900437ce2fd350d9b7cb16f2","affectsGlobalScope":true},{"version":"01e0ee7e1f661acedb08b51f8a9b7d7f959e9cdb6441360f06522cc3aea1bf2e","affectsGlobalScope":true},{"version":"ac17a97f816d53d9dd79b0d235e1c0ed54a8cc6a0677e9a3d61efb480b2a3e4e","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"ec0104fee478075cb5171e5f4e3f23add8e02d845ae0165bfa3f1099241fa2aa","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"9cc66b0513ad41cb5f5372cca86ef83a0d37d1c1017580b7dace3ea5661836df","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"709efdae0cb5df5f49376cde61daacc95cdd44ae4671da13a540da5088bf3f30","affectsGlobalScope":true},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true},{"version":"61ed9b6d07af959e745fb11f9593ecd743b279418cc8a99448ea3cd5f3b3eb22","affectsGlobalScope":true},{"version":"038a2f66a34ee7a9c2fbc3584c8ab43dff2995f8c68e3f566f4c300d2175e31e","affectsGlobalScope":true},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true},{"version":"f5c92f2c27b06c1a41b88f6db8299205aee52c2a2943f7ed29bd585977f254e8","affectsGlobalScope":true},{"version":"b7feb7967c6c6003e11f49efa8f5de989484e0a6ba2e5a6c41b55f8b8bd85dba","affectsGlobalScope":true},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true},{"version":"b9ea5778ff8b50d7c04c9890170db34c26a5358cccba36844fe319f50a43a61a","affectsGlobalScope":true},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true},{"version":"50d53ccd31f6667aff66e3d62adf948879a3a16f05d89882d1188084ee415bbc","affectsGlobalScope":true},{"version":"25de46552b782d43cb7284df22fe2a265de387cf0248b747a7a1b647d81861f6","affectsGlobalScope":true},{"version":"307c8b7ebbd7f23a92b73a4c6c0a697beca05b06b036c23a34553e5fe65e4fdc","affectsGlobalScope":true},{"version":"189c0703923150aa30673fa3de411346d727cc44a11c75d05d7cf9ef095daa22","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},{"version":"49a253ec027e56c55c7450a0c331cfe96212b3d1cc215b1710ba94a083404cf3","affectsGlobalScope":true},"1c29793071152b207c01ea1954e343be9a44d85234447b2b236acae9e709a383","6a386ff939f180ae8ef064699d8b7b6e62bc2731a62d7fbf5e02589383838dea","f5a8b384f182b3851cec3596ccc96cb7464f8d3469f48c74bf2befb782a19de5",{"version":"278fe30e638dad09488d130287c728f99f61cb315ed86b70c36040e4311f9cf5","affectsGlobalScope":true},"af7fd2870746deed40e130fc0a3966de74e8f52a97ec114d0fbb35876ab05ca9",{"version":"fb55838e748c6b05664f35710a54bbc47c3d7c02460c7793b6dc4d66ef170933","signature":"8d9ced16ade46e55b9a69cc93de2f9b1e5978f5c02711e3767c6a85330cc1fef"},{"version":"9fb4e837b1b35f10e97dddf61026c9f9edbfb60074fcb2906920c86e3c50d65e","signature":"bd8229bcce32bf6a61aef9334e3c57c27e2a734ca6c5b2ed866167ffa4d392bb"},{"version":"fd1000297d832f3941f4805499412de58103aa078fffb6e09636bc5497a4a764","signature":"c2d7b2ba06f7ddcfc14a19836a07ca4e4fa995f29323bcf398a1e7b259a2f883"},{"version":"62a72689dd2257182702432b302c8fc9c713bbd3df063ec230577ad20d448564","signature":"1f6c8bf3acd3faf5b580fc7b547057de1eb12a9351a3c882c3027d0442404630"},"f341c93fefe964ea97c5106e3d93c4271bb3951a06a34e08da704c6faf871380","cd51ceafea7762ad639afb3ca5b68e1e4ffeaacaa402d7ef2cae17016e29e098","1b8357b3fef5be61b5de6d6a4805a534d68fe3e040c11f1944e27d4aec85936a","5141a3f0cc1bf2b0e8dee747e88a2b4ce0e9d1a4a019334f3b317f00764576c6",{"version":"4f24c2781b21b6cd65eede543669327d68a8cf0c6d9cf106a1146b164a7c8ef9","affectsGlobalScope":true},"86b484bcf6344a27a9ee19dd5cef1a5afbbd96aeb07708cc6d8b43d7dfa8466c","15ab3db8aa099e50e8e6edd5719b05dd8abf2c75f56dc3895432d92ec3f6cd6b","6ff14b0a89cb61cef9424434ee740f91b239c09272c02031db85d388b84b7442","5d6f919e1966d45ea297c2478c1985d213e41e2f9a6789964cdb53669e3f7a6f","884eaf5bcae2539fd5e7219561315c02e6d5cb452df236b7d6a08e961ec11dad","d274da8ba27079a593a7de4fbe82f3aab664724bf4f1b080e977f6e745e690e1","8504003e88870caa5474ab8bd270f318d0985ba7ede4ee30fe37646768b5362a","1cf99fe49768500d01d873870085c68caa2b311fd40c1b05e831de0306f5f257","2fb375811303a0852f21a9472a6c76b7d69c3b241861dee4784b8bf7b5a794b1","5a1e787f0f10f53e574e347c0f4904a743dc93d8989a08b308b7b29365e5964f","4502caaa3fff6c9766bfc145b1b586ef26d53e5f104271db046122b8eef57fd1","382f061a24f63ef8bfb1f7a748e1a2568ea62fb91ed1328901a6cf5ad129d61c","952c4a8d2338e19ef26c1c0758815b1de6c082a485f88368f5bece1e555f39d4","bfa7e8a9830bf5f390b4ccb4286b32239e6ddc4dca515aac187705a478de86ed","ef4c9ef3ec432ccbf6508f8aa12fbb8b7f4d535c8b484258a3888476de2c6c36","dee75c873b20a13839a8ce9ea9d32696682c6db4b1e9f4fb6bc431ed31b0fb8a","f981ffdbd651f67db134479a5352dac96648ca195f981284e79dc0a1dbc53fd5","865f3db83300a1303349cc49ed80943775a858e0596e7e5a052cc65ac03b10bb","a1c85a61ff2b66291676ab84ae03c1b1ff7139ffde1942173f6aee8dc4ee357b","a24c4fe21d5b13a9ecbbb39b5e22f5d4c6fe5feebb074865ba2de273381a73ae","48a9a38d31f33ba5a969cc7028907691e01c26d5341c558b051d27ef302602e9","0c658045146923a90b8fae427978ce3f7787f6a865a7f92717969fda90e6ecfb","2169cdcb2e85ec18274590018fc1a12b8fe02708813692d9a1531695c17d3198","231b86b94836e8b22b04812f9bb1cbc564923f39549269da0266516b91854b36","da2aa652d2bf03cc042e2ff31e4194f4f18f042b8344dcb2568f761daaf7869f","03ed68319c97cd4ce8f1c4ded110d9b40b8a283c3242b9fe934ccfa834e45572","de2b56099545de410af72a7e430ead88894e43e4f959de29663d4d0ba464944d","eec9e706eef30b4f1c6ff674738d3fca572829b7fa1715f37742863dabb3d2f2","b0cefbc19466a38f5883079f0845babcb856637f7d4f3f594b746d39b74390f7","16219e7997bfc39ed9e0bb5f068646c0cdc15de5658d1263e2b44adf0a94ebef","4ccedab1527b8bf338730810280cce9f7caf450f1e9e2a6cbabaa880d80d4cf9","1f0ee5ddb64540632c6f9a5b63e242b06e49dd6472f3f5bd7dfeb96d12543e15","18b86125c67d99150f54225df07349ddd07acde086b55f3eeac1c34c81e424d8","2d3f23c577a913d0f396184f31998507e18c8712bc74303a433cf47f94fd7e07","4d397c276bd0d41f8a5a0d67a674d5cf3f79b79b0f4df13a0fbefdf0e88f0519","aa79b64f5b3690c66892f292e63dfe3e84eb678a886df86521f67c109d57a0c5","a692e092c3b9860c9554698d84baf308ba51fc8f32ddd6646e01a287810b16c6","3c2e543e5913aca16ba24e406cebbf84bac298f79c249ea255016fabaf8be744","0b9bcc98884f81d8adda2c5d2ebb0361c7a53af6713e72138c4457e6016ff708","1848ebe5252ccb5ca1ca4ff52114516bdbbc7512589d6d0839beeea768bfb400","31073e7d0e51f33b1456ff2ab7f06546c95e24e11c29d5b39a634bc51f86d914","f60149e188145ebf3e6edf735576a2c26e805ac575bfdfa839a27929175e0855","31d18349ccfc45ce4f82990c71aed8901272a8edc9c6d1b2d330aabf36f50aec","a90339d50728b60f761127fe75192e632aa07055712a377acd8d20bb5d61e80c","37569cc8f21262ca62ec9d3aa8eb5740f96e1f325fad3d6aa00a19403bd27b96","fa18c6fe108031717db1ada404c14dc75b8b38c54daa3bb3af4c4999861ca653","3146e973c617598b8e2866b811fdfcafe71e162e907d717758d2412ba9b72c28","a653bd49c09224150d558481f93c4f2a86f9a282747abd39bd2854207d91ceba","efa00be58e65b88ea17c1eafd3efe3bc02ea403be1ee858f128ed79e7b880bd4","f5f716848e9b1e873519aa6408c35ac70c1ec471c460497842f28644dd906cb1","55d3747b2a8949561a78f7327647e54418ab3746f7dced6cfe75d76f2b051aa8","cd8aa48c26b3de057cfd76706c0cff88ace0f23f548b8dee974088497780e5ae","abf140fdc3db44c2cac9415426544d8c2a89e73f13f7838376b2b6d36d74a582","e79e530a8216ee171b4aca8fc7b99bd37f5e84555cba57dc3de4cd57580ff21a","ceb2c0bc630cca2d0fdd48b0f48915d1e768785efaabf50e31c8399926fee5b1","f351eaa598ba2046e3078e5480a7533be7051e4db9212bb40f4eeb84279aa24d","c63a0620a7fa59bbcac4ae218d477fdeafac72b689fede1e3acbbb1b8d90f36c","4ce53edb8fb1d2f8b2f6814084b773cdf5846f49bf5a426fbe4029327bda95bf","1edc9192dfc277c60b92525cdfa1980e1bfd161ae77286c96777d10db36be73c","421703860812c1dc29f83893f89434c855e09354c49012ff63b70c21243d997e","0a0bf0cb43af5e0ac1703b48325ebc18ad86f6bf796bdbe96a429c0e95ca4486","75a7db3b7ddf0ca49651629bb665e0294fda8d19ba04fddc8a14d32bb35eb248","eb31477c87de3309cbe4e9984fa74a052f31581edb89103f8590f01874b4e271","22fcfd509683e3edfaf0150c255f6afdf437fec04f033f56b43d66fe392e2ad3","3d5d9aa6266ea07199ce0a1e1f9268a56579526fad4b511949ddb9f974644202","587ce54f0e8ad1eea0c9174d6f274fb859648cebb2b8535c7adb3975aee74c21","1502a23e43fd7e9976a83195dc4eaf54acaff044687e0988a3bd4f19fc26b02b","f9b229aaa696a31f6566b290305f99e5471340b0a041d5ae9bd291f69d96a618","6592ae1f1eec2e4cd4db11033b6936c8d9e009ddc48c164e46ef101a0dfc2c70","d9c6f10eebf03d123396d4fee1efbe88bc967a47655ec040ffe7e94271a34fc7","0f2c77683296ca2d0e0bee84f8aa944a05df23bc4c5b5fef31dda757e75f660f","309586820e31406ed70bb03ea8bca88b7ec15215e82d0aa85392da25d0b68630","11e4e2be18385fa1b4ffa0244c6c626f767058f445bbc66f1c7155cc8e1ec5b4","f47280c45ddbc8aa4909396e1d8b526f64dfad4a845aec2356a6c1dc7b6fe722","7b7f39411329342a28ea19a4ca3aa4c7f7d888c9f01a411b05e4126280026ea6","7f89aebd8a6aa9ff7dfc72d12352478f1db227e2d79d5b5f9d8a59cf1b5c6b48","7d936e6db7d5d73c02471a8e872739f1ddbacf213c159e97d1d94cca315ea3f2","a86492d82baf906c071536e8de073e601eaa5deed138c2d9c42d471d72395d7e","789110b95e963c99ace4e9ad8b60901201ddc4cab59f32bde5458c1359a4d887","92eb8a98444729aa61be5e6e489602363d763da27d1bcfdf89356c1d360484da","074343ca788a38f572d8bdb0985956c0ad1a4d8ca8b6ef8c1a19a0e11cf09db0","d729b8b400507b9b51ff40d11e012379dbf0acd6e2f66bf596a3bc59444d9bf1","fc3ee92b81a6188a545cba5c15dc7c5d38ee0aaca3d8adc29af419d9bdb1fdb9","7d05ac926705ce932b6e41e5e273333b380d08b6a036ad0c8b01139586b34548","0bc13111c65ef1373c84c86c039416127579469828f0e01e03ffe00fb8fd6785","c00b402135ef36fb09d59519e34d03445fd6541c09e68b189abb64151f211b12","e08e58ac493a27b29ceee80da90bb31ec64341b520907d480df6244cdbec01f8","c0fe2b1135ca803efa203408c953e1e12645b8065e1a4c1336ad8bb11ea1101b","d82c245bfb76da44dd573948eca299ff75759b9714f8410468d2d055145a4b64","25b1108faedaf2043a97a76218240b1b537459bbca5ae9e2207c236c40dcfdef","c65a41b9185521fb1d98111fd30fa4b3a5020c0e9cd8bb8c691d5536c8688156","5a4d0b09de173c391d5d50064fc20166becc194248b1ce738e8a56af5196d28c","0e0b8353d6d7f7cc3344adbabf3866e64f2f2813b23477254ba51f69e8fdf0eb","008ed9b6d1fdb68f9d98e6fd238d99be77e738892c3a1c6cf8b7616de4f8b114","08f95bee0619072d2c49854434af3e53d94e7e762fc082b49cea59e77db06905","9e5c7463fc0259a38938c9afbdeda92e802cff87560277fd3e385ad24663f214","8d59c3a0e8eacafde3525d8fab814d635e73f8f2264f461283a1ee829a67d33a","2ab9b3b4938022c0078d38ce47fe7863e259d855f04fd5a92fb8af6649b57632","0440373172ecd0dd335030c842f51641d57a5f9c0a268efd738dfc21fd4f1439","2e27a8a2f3bb8d4da37f638bbd7013839cd41da081533fd79e390e963c30f42a","cd1b1d204f22bc43674138829c8727d056dbc4bb74f8c1c6557cf19b58792e2d","684fa42e4c7c6505105e948825329b720a388b7bf7624bfe2f51087a15d04445","a95c25e1f9146dd90f7cb36c7e306a25a67bdef1eaae7319a60d2f9d3ff66804","a98b93132fb74f455547d25af7e524e942504d265c037e235aaa38718083958f","564c57d76966679f0345941dfe3905b43c1c813d10dc6c6de2f1e79501a2c312","1079faa65b1657c3164cc8357dd05ef06e05b3faaeb4bfee1f53009c97083fe4","adf99208c7680acbbf39170aaa798b9914286e2c4ef83f301ca45b233b49a737","e3b8f91101c79e111b6bab735e00c87791fb4b11ebb3d74759af5e65e19ac311","6bd7f81319411f28afeebf25871299f2f0ee362669f44ed68a09db95c9fa472a","1adec9773ba21f0a7df63667d1c3082a37443739d62e766371df6ede2de1fb0e","0288097d81e533fb1df7881c43adfb440c3e97fed71f6e53133eb5e700f75875","afd44534064f3d94cd248096074344857d9e8aaa787eb209b155002f76b44271","f3c9d693e0597f6b1b5dd49bd0beaaa237bd491508991ea3c72b47d3c7d20fdb","1c84b348bb07619f2123fddd01c20184c6212540909bd98fdc450f7d4e234717","7bd62fc2cefeeb76bf935279de114a8f509d70232badea6f02c5235b8efd08a7","cc9bdde4319a73448db9e4dd8dc256d04f0060b90383b4563c3a32a3b67780d5","2a5d65d9ef97588e66e1eb9ba088e3bcd8fad77f56319a34f206f042716d5f98","53870be174a4233e5ceb0b0f7d7b298eb5896f45782236f65cfce1e971e13a02","f08668998295cdfe38a1db2bcd024341362cb20159dd8baa498064e560d0254b","dfe644b96a0786c3ed103bffe7331349022c647802d40030067cf71c9ce79bb5","4c54d211607013d18c59245a8dd5a5a5128eaf66360b5317ab346ebd8658f98b","9ecd8f32f134677d4134ee1178bedab19a51f1cb2ac468da4043f81c14ebd3ac","7c9ea735d5a29405896bf2e56d9f3afe0f5d1576736c54c4d5d879f08976d4db","f4d6688e7084a99a025d570c620544d5235668cf2fe90acc8b5b311729c83816","c91424e710dc436f51e25cf3020c57a79d185f100cc609201562d9195c861617","7a8119cc3d41a3adfa818800df5899f1bf3cc68eed005e44a85c218dbcf3889a","0c6ae7360c8f7de225172914d960a5947b0a8f5e9e0a045a5f03c870fc98b1f5","1ea04e06101a73c7896a461675bd5a429b121c5cb6de24c94332ff102d145a98","59e4242640eddb3fb1d9387cd2b28bd2a3d11372651300b63992874bcacf0fb6","d6339e78331aef24260e77249cc452ab8487ed3308a7bdc06135e7b465587127","e1e25bc3db37f4722303072a8f02c3d9408d7c226e2f070f45dc21a7c0214be7","c921746b36842e21243970c5ed44b488e842afe99843da3cb7f197242f4f2c9e","325430df8b9df3d182ab9edfa79b6f772eced949949620db3f2cef29091b24ed","28d766affdde4aa6fd61b870f4d738cfcdb7388f4f26565eba7d0aca87831131","db32c611feafb74c561d1c3329a4a3349b5d3df6a61612d650624b33dc6fcb7f","682c72441f9dc0350ee787e76c83feed7e154f1a3cf228543cd24dde7d53167e","b182b44845c33c2c049c56bbc090c182f8a39e55362b266fdc6871299567a597","cdc3f517e952eab05c5aeaaf469ecce852112e5cd68dce7deed75136e7091d3c","23d8aa81cd83bb3b24026a81f168caa6ff9c7a7d29907ddfd96770cbbd362d21","0bf1fbe571c97dca12f3d5493c3095bad9ca0a95825b4255f4cf941b628d90e2",{"version":"4aae4615ba9e9d88e8f7d02d0e7a79314d7d5c7c83851a3e98d19f546ac4bec2","signature":"ccd3d9bcda5e494d59a4c994aff671739b1f8389e75ac7651e6f7ff6205583d0"},{"version":"4ee566ff97a4bb7fe21c656c2c63942a0fedfcfd1be0cd7880af771ff8ac59be","signature":"d5a966f87b35362b5d996d9ecf3d8508c27156956627498195abfdaf23326506"},{"version":"da2407349c44421984d8c588ecad6213bdbb4b2203d7f7b72e44f676392e6586","signature":"8f2446cd225d6848f764838175f31f918b704800880bd8dc045932d6b2a52673"},{"version":"1119fa53c926c20e281cb27ca310a053daee51ff4d4105fbec8c95cbc51deba8","signature":"76e9a763eef4a0ef8a4f50e387b9fad5266d471d8b0f62619f31bbd3d21b9814"},{"version":"6ed0434b66c265567ba50989270a2a406c1c7290de0ca0606424c5209f15c14b","signature":"944cd92c6b59feb32961d560267393f372b1dcff1d6cd71a6230ba03f91036b5"},{"version":"f9dccb27c442d882186eb81a6613368994304a1e19c581ab2d169e449f41a3ba","signature":"314e888c6a1a1cc4d30295ebacece510231e4e4ee7028434aee277abda977baf"},{"version":"ce96cdf4ec7233fd29eef8a8c8236c259997010527d25124c64760e645377271","signature":"f6e30e59f4a1f0d0e6b231c280322ce9b007ff9c54fdb13b707e870430341778"},{"version":"2f377947a423abcfb75b0e27d9986021be894b808ffa7cfcfde8d1e3b8214c90","signature":"58861fcc3db99d3761938fad76882bb93f726eaddbc3342cced707d00f94f5bd"},{"version":"194018367f7ed61f1bdbd2ce5c7ab2f16fb2f235dee82de70510ad132f6d5890","signature":"bda7d503a370f6aef217e2f68a326d4a5c2d4cae43f8131c084f509c8ccb83a7"},{"version":"9a2d06df39b9eb74e5d947dd74943894a9ad56a46c86bf0940e63a550233c376","signature":"6194964a45d631834d96f0c91ea7041d7e15f94db83b217e92466adf1646b894"},{"version":"59bf5133b21c380d75307ef184d78d14485e875cfea8f94a0393a7a628761a17","signature":"47450610465821f3ef5c6c116a91f2d1f3da33f37a9a4da00fff7a1a3bbaf8c4"},{"version":"31d0453c697851cead7aad3738e70a7ead0dd031185fe5824b994ac5bbbdabc6","signature":"d55e0e385634448cb9df2a75a80e9b44e4bdc1e87d2f942b0ee68c28365b9bfc"},{"version":"0b0cbad1c318fc84bf3fc7e437f2471020647c1125e107c1f0c3883c4cda9d0c","signature":"5d68e76b227ac7a7c2fd863ca5c7168117276051d049b49c3ff475d04390f669"},{"version":"10e7a1742472ae7b901c415fe852bbf3435f0680505cf3b940470ce7661fdf3c","signature":"5666830778592987b29dac9758fe142b3db2934d845e60d1ad71884fdf3153c3"},{"version":"8ce84c30ed8e4ff9217beacd12b12344fc733ba4d759e016a6c2df97a172cfda","signature":"2bc449b91944ffae1f59471da701908ff793787f257f23b4ef71759acc97939f"},{"version":"1ec802e9ffbe86a6164b5809ed7819d11fb3e29f7b744827bc33830141718c74","signature":"572d37a64f63ea48d1e50cc50a3ffb9dea5fb130926dc53f9eef8e867c6982d5"},{"version":"b1096d58f6517057f746012925a47ec2d066d0c4143337982dc7f15467ca747e","signature":"809cd2debef3870c93afe5ddf02db6f18f4e223163bf252af70241de431f4465"},{"version":"ba81cbdb0e8b70ee378bc4707204d493628f9198a269d3eddee8769f44d96b8d","signature":"273dab284b012bd39052d5068a8e5e493e79f7bbf603c3a6e8aa544d3a37a971"},{"version":"4e9b248518009250ac32d8d2a7537f8915067b27c385b19a9693206e3493d0be","signature":"5d05ccc4198e13f67f653cb968b468bb81cf3e65ae591cf59cf30f8ab6450237"},{"version":"e7ffbe95b1ad2d6a75ec1fa91328506c3e85f9162a53d7c1f81549092eec6a4b","signature":"89a2e13f35eafb164d59a5ec2c46cf97bf12c76a670d546a986c7880bde83c23"},{"version":"08cb1ec00b1f2e5d920edb161fe8a88ba55d2d53bc7041a92ad04fe0957459f8","signature":"435c3b8b7c1c094c2b469a4f195238beb8d1a35957133d02551e23b7005d1c13"},{"version":"e7a67060180f7a26df5eb50bc0d146a97ba95ff352e40053ee133acbb1ec54d2","signature":"19fc07b31d401c27075277ed71154ab13c74ef43ab20898e7ae24de8d16fb172"},{"version":"8b46cbe63fa6800d645e6c9225b05988079787674eba03ac3fb7910ce04b2a8a","signature":"807c0151462ab7b02b0a3bf439c110128ebef4644850d10b95a280efad9241fd"},{"version":"a4b6b249f28c8f35231932226445ffa9b893033645cba97626bef58be79b2b64","signature":"983caabf3cd06702da1064b2792dad01147341ec2d11e399d982cfe43a9b039a"},{"version":"e843179dcb12019c61df74d854ecb6c42daabf96acf727fa8567e3c8b91a5c5a","signature":"f4846a5ce4f92bcfbd766a60b500be9132562b536501694b16eac9be117c1a93"},{"version":"455bcd511df43a8aeb600bdea43f29ec9d8efcd3d0ce8e5be2cf7a963f080d7f","signature":"2bd4e30b6f03566988d3f22c36af13c5bca58f78a81292123f49780bd7bc4d9f"},{"version":"c57c3dc474bd33922f44be9e8262f5b363d2f34afa9c456c34183532347438d3","signature":"0989b7833f22432b4effb9dd964ea745c4485174a7f205eff8b6eca7650fdd04"},"2e345cb6511f4c4c60c274df6626c94f3182939034f06cdf414bfbccc584f822",{"version":"95eee36d9a0797ac894af7398fb27da9cf41ab4ddd71870035f1c69d97902e9b","signature":"7223d57fe3a5c3ea34ff88f8f9d2711fe496d15b9032b6d2f9c0b4ca1e7cbd00"},{"version":"d0606fc9b7309eef1022f066b55be926544edc47e0b211c60a54367daa7f1320","signature":"2bd4625ce452e0f25677c4d07430710c57d424ec2d33391debae18ea9a67a56a"},{"version":"8e83142922b25c87b8b3d90ecfc44a60a3017129abee86227a71bc2491e79678","signature":"b48798e7ef7f2e4f7bd9e6dbdcb037b24ea8f2effbb4bdd4a9a05930f01d9fc7"},{"version":"e3bac02b563a2ebfb9784935f4a039531c7341c565d1c0707e65623578555e83","signature":"9e9ed85ced77a7b59d07a821d69db8a8e780bcd1caeb5623e6ac04401cba31c4"},{"version":"93145b1a33f14a5b8fc8eb72b610d52f7c4fa252bc0bb8d67264e5c477994440","signature":"217c927c9096d539fa9ed50cddae8663efb63d7c9a3638ec66e323f124edf944"},{"version":"62f0dba8960e5f96f56691405e257d078c6abbc0748804b3a1cc9f32222442d5","signature":"7975d8566fd9321324b32045a4333e1d7edab85588faef8e9bdfc5efacc94df0"},{"version":"fccdaadd501719ec69070ece163158eaec354d74b2b6a35266afdd4ba74e6e1a","signature":"e74bdf83c107823764f73f5ce4bc4ec44c5771e58c219caaf60de7cffe78bb25"},{"version":"26f0f8afb62e55578d063a85b8466922b60bda21c8cd674fd991543429b0a457","signature":"ba2e3244ab6bb9b566681fe3739144a3f3a6c549f8ffc18af5c6909f34b5367c"},{"version":"1ff0b5a9de5dd2ab9af8f3b2b0827aa5d819e2de0ac22ff9e83a4c7dc6971a2d","signature":"8b4adeab24aaca65cf5145650e670147494fbd9aa71ac29de6685b0bfbf4be05"},{"version":"0e3b9862a0ce71dc8c872a7d9e03aa8df63ebced4798b5a5b2a203648672e479","signature":"40ab9090ab933f2463706b6eab3f6cee55021b38beb59f1e52d323475eac2c92"},{"version":"c770066c63b5fe1bb2ff04fd4cfceb84566ad609fbe4b2cc745c0e082361356f","signature":"9efb264d88f6181d6e763fce12d0f7d19893f48be79fb840a7f68d9bf8ee2da8"},{"version":"552149a29e0c220b7bee747b92a8ec42691443ef616b744a0c8e74a39b2dfa4f","signature":"da4d2fd24b5b25a9fff5fd42166c1fd6e44dacc8362bee445590583d95795f3f"},{"version":"95a8a392f94ccf5e35412dfc40dd283c7b027bf683937fc1b37acfd9d57cc4eb","signature":"aad175b6909e89b44e1fdd1c4623047069773d1c91cb7755c8a8dcdf3fca7d27"},{"version":"c146c9630129ca6e05868042308493adcbe91ab17905b75c3389890d2188dff8","signature":"e4377349ba50d4da674de09a20d45ec7e4ad6522263a40b8029a044d6680b97f"},"bcb6ea18f23dae2c48459d7b86d3adccd6898f824fcbf9da08b935f559896580","0aa7220845f5f3902fe043f646f9d9218bd7dd6c4046e8471580866ea6b03aa2","4d5fb5d6b35f731b2ae4d9d7c592d48e91d6de531dd130628edf4eba16add893","739c2c46edc112421fc023c24b4898b1f413f792bb6a02b40ba182c648e56c2f",{"version":"df93bb67d5ae7be3d599323de42e12cb8da59f0b490c3186ae91d493632b5e36","affectsGlobalScope":true},{"version":"f8b8b34c4f7651c9f7b126af8affda4139a0499e62e74f0f8dc2be36e9f14b59","affectsGlobalScope":true}],"root":[[68,71],[217,243],[245,258]],"options":{"allowSyntheticDefaultImports":true,"composite":true,"declaration":true,"declarationMap":true,"emitDeclarationOnly":true,"esModuleInterop":true,"experimentalDecorators":true,"jsx":4,"module":99,"noEmitOnError":true,"noImplicitOverride":true,"outDir":"./","skipLibCheck":true,"sourceMap":true,"strict":true,"target":7,"useDefineForClassFields":true},"fileIdsList":[[62,63,64,65],[66],[73,74,75,76,77,78,79,80,81,82,83,84,86,87,88,90,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174],[124],[149],[150],[79,111],[78,91,103,112],[111],[85],[153],[81],[121],[78,85,103],[78],[85,132,168],[135],[138],[84],[144],[123],[73,81,83,84],[103],[73,85,126,144],[75],[74,75,77,84,85,126],[157],[155],[87,130],[73],[85,87,88,89,90,91],[87,88,89],[78,85],[90],[75,101],[85,90],[159],[79],[153,162,165],[79,81],[79,81,138],[82,85],[263],[259],[260],[261,262],[66,67],[67,68],[67,70],[66,67,70,71,216],[67],[67,70,71,217],[67,219,220,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,245,246,247,248,249,251,255,256],[66,67,228,229],[66,67,232],[67,231],[66,67,236],[66,67,216,218,219,241],[66,67,244],[66,67,218,219,244],[66,67,218,219],[66,67,218],[66,67,216,218,219,228,229,250],[66,67,254],[66,67,229],[67,69,218,228,254,257],[67,221,222,223,224,225,226,227],[67,252,253],[176],[72,176,177,178,179],[175],[181,182,183,184,185,186],[182],[188],[190,191,192,193,194,195,196],[198,199,200],[180,187,189,197,201,205,215],[202,203,204],[175,206,207,208,209,210,211,212,213,214],[68],[70],[66,70],[70,71,217],[219,220,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,245,246,247,248,249,251,255,256],[219],[254],[69,218,228,254,257],[221,222,223,224,225,226,227],[252,253]],"referencedMap":[[66,1],[67,2],[175,3],[125,4],[150,5],[152,6],[151,6],[112,7],[114,8],[113,9],[153,10],[157,11],[155,11],[89,12],[122,13],[133,14],[79,15],[170,16],[137,17],[139,18],[146,19],[147,20],[148,21],[165,15],[85,22],[104,23],[145,24],[123,10],[128,25],[127,26],[154,11],[158,27],[156,28],[131,29],[101,30],[92,31],[90,32],[118,33],[119,33],[136,34],[173,35],[97,10],[99,36],[159,6],[161,37],[160,37],[100,10],[140,15],[94,38],[98,10],[166,39],[105,40],[106,40],[107,40],[124,21],[162,11],[164,27],[163,28],[149,10],[142,41],[83,10],[86,42],[141,15],[82,40],[264,43],[260,44],[261,45],[263,46],[68,47],[69,48],[71,49],[217,50],[70,51],[218,52],[257,53],[219,47],[220,47],[230,54],[233,55],[234,47],[232,56],[235,56],[237,57],[238,47],[239,47],[240,47],[242,58],[243,47],[245,59],[246,47],[247,47],[248,47],[249,60],[241,61],[250,61],[229,62],[231,47],[251,63],[255,64],[256,47],[236,65],[258,66],[221,51],[222,51],[223,51],[228,67],[224,51],[225,51],[226,51],[227,47],[252,47],[253,51],[254,68],[177,69],[178,69],[180,70],[176,71],[181,2],[182,2],[187,72],[184,73],[185,73],[186,73],[189,74],[197,75],[201,76],[216,77],[205,78],[215,79]],"exportedModulesMap":[[66,1],[67,2],[175,3],[125,4],[150,5],[152,6],[151,6],[112,7],[114,8],[113,9],[153,10],[157,11],[155,11],[89,12],[122,13],[133,14],[79,15],[170,16],[137,17],[139,18],[146,19],[147,20],[148,21],[165,15],[85,22],[104,23],[145,24],[123,10],[128,25],[127,26],[154,11],[158,27],[156,28],[131,29],[101,30],[92,31],[90,32],[118,33],[119,33],[136,34],[173,35],[97,10],[99,36],[159,6],[161,37],[160,37],[100,10],[140,15],[94,38],[98,10],[166,39],[105,40],[106,40],[107,40],[124,21],[162,11],[164,27],[163,28],[149,10],[142,41],[83,10],[86,42],[141,15],[82,40],[264,43],[260,44],[261,45],[263,46],[68,2],[69,80],[71,81],[217,82],[218,83],[257,84],[219,2],[234,2],[237,2],[242,85],[243,2],[246,2],[247,2],[249,85],[241,85],[250,85],[251,85],[255,86],[256,2],[258,87],[228,88],[252,2],[254,89],[177,69],[178,69],[180,70],[176,71],[181,2],[182,2],[187,72],[184,73],[185,73],[186,73],[189,74],[197,75],[201,76],[216,77],[205,78],[215,79]],"semanticDiagnosticsPerFile":[244,64,63,62,66,67,65,175,110,125,75,150,152,151,112,111,114,113,91,153,157,155,77,89,122,121,133,79,117,170,172,137,139,146,147,148,165,85,104,84,78,145,144,123,120,167,128,127,154,158,156,171,131,130,101,92,93,90,118,119,126,76,87,103,135,136,173,97,99,159,161,160,88,73,102,100,140,134,169,96,94,95,98,138,129,166,108,105,106,107,124,81,162,164,163,149,168,142,132,116,80,83,174,143,74,115,109,86,141,82,60,61,12,13,15,14,2,16,17,18,19,20,21,22,23,3,4,27,24,25,26,28,29,30,5,31,32,33,34,6,38,35,36,37,39,7,40,45,46,41,42,43,44,8,50,47,48,49,51,9,52,53,54,57,55,56,58,10,1,11,59,264,260,259,261,262,263,68,69,71,217,70,218,257,219,220,230,233,234,232,235,237,238,239,240,242,243,245,246,247,248,249,241,250,229,231,251,255,256,236,258,221,222,223,228,224,225,226,227,252,253,254,72,177,178,179,180,176,181,182,187,183,184,185,186,189,188,190,191,192,197,193,194,195,196,201,198,199,200,216,202,205,203,204,206,207,208,209,210,211,212,213,214,215],"latestChangedDtsFile":"./index.d.ts"},"version":"5.0.4"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@contember/react-utils",
3
3
  "license": "Apache-2.0",
4
- "version": "1.2.0-beta.2",
4
+ "version": "1.2.0-rc.0",
5
5
  "type": "module",
6
6
  "sideEffects": false,
7
7
  "main": "./dist/production/index.js",
@@ -30,7 +30,7 @@
30
30
  "react": "^17 || ^18"
31
31
  },
32
32
  "dependencies": {
33
- "@contember/utilities": "1.2.0-beta.2",
33
+ "@contember/utilities": "1.2.0-rc.0",
34
34
  "deep-equal": "^2.2.0"
35
35
  },
36
36
  "stableVersion": "0.0.0"
@@ -43,18 +43,18 @@ function parentScopedConsoleOrNone(parentConsole: ScopedConsoleContextType): Sco
43
43
  return isNoopScopedConsole(parentConsole) ? undefined : parentConsole
44
44
  }
45
45
 
46
- export const useScopedConsoleRef = (prefix: string) => {
46
+ export const useScopedConsoleRef = (prefix: string, override?: boolean) => {
47
47
  assert('prefix is non-empty string', prefix, isNonEmptyString)
48
48
 
49
49
  const parentConsole = parentScopedConsoleOrNone(useContext(ScopedConsoleContext))
50
50
 
51
51
  const scopedConsole = useMemo(() => {
52
- if (parentConsole) {
52
+ if (override !== false && (parentConsole || override)) {
53
53
  return createPrefixedConsole(prefix, parentConsole)
54
54
  } else {
55
55
  return noopScopedConsole
56
56
  }
57
- }, [parentConsole, prefix])
57
+ }, [override, parentConsole, prefix])
58
58
 
59
59
  const ref = useRef(scopedConsole)
60
60
  ref.current = scopedConsole
@@ -63,8 +63,8 @@ export const useScopedConsoleRef = (prefix: string) => {
63
63
  }
64
64
 
65
65
  export type DebugChildrenProps =
66
- | { active: true; children: ReactNode; id: string; }
67
- | { active?: false; children: ReactNode; id?: string; }
66
+ | { active?: true; children: ReactNode; id: string }
67
+ | { active?: false; children: ReactNode; id?: string }
68
68
 
69
69
  export const DebugChildren = memo<DebugChildrenProps>(({ active = true, children, id }) => {
70
70
  const parentScopedConsole = parentScopedConsoleOrNone(useContext(ScopedConsoleContext))
@@ -5,8 +5,10 @@ export * from './useArrayMapMemo'
5
5
  export * from './useComposeRef'
6
6
  export * from './useConstantLengthInvariant'
7
7
  export * from './useConstantValueInvariant'
8
+ export * from './useContainerWidth'
8
9
  export * from './useDebounce'
9
10
  export * from './useDebounceCallback'
11
+ export * from './useDocumentTitle'
10
12
  export * from './useElementSize'
11
13
  export * from './useEventHandler'
12
14
  export * from './useExpectSameValueReference'
@@ -51,6 +51,10 @@ export function useAddClassNameDuringResize(
51
51
  timeoutID.current = setTimeout(() => {
52
52
  addClassName(className, element ?? document.body)
53
53
  }, timeoutToRestore)
54
+
55
+ return () => {
56
+ clearTimeout(timeoutID.current)
57
+ }
54
58
  })
55
59
 
56
60
  useLayoutEffect(addTemporaryClassName, [addTemporaryClassName])
@@ -0,0 +1,13 @@
1
+ import { createContext, useContext } from 'react'
2
+ import { useWindowSize } from './useWindowSize'
3
+
4
+ export type ContainerWidthContextType = number
5
+ export const ContainerWidthContext = createContext<ContainerWidthContextType | null>(null)
6
+ ContainerWidthContext.displayName = 'ContainerWidthContext'
7
+
8
+ export function useContainerWidth(): number {
9
+ const maybeContainerWidth = useContext(ContainerWidthContext)
10
+ const { width: windowWidth } = useWindowSize()
11
+
12
+ return maybeContainerWidth ?? windowWidth
13
+ }
@@ -0,0 +1,21 @@
1
+ import { useEffect, useRef } from 'react'
2
+
3
+ export function useDocumentTitle(title: string | null | undefined, formatter?: (title: string, initialTitle: string) => string) {
4
+ const initialTitle = useRef(document.title).current
5
+
6
+ useEffect(() => {
7
+ if (title) {
8
+ if (formatter) {
9
+ document.title = formatter(title, initialTitle)
10
+ } else {
11
+ document.title = title
12
+ }
13
+ } else {
14
+ document.title = initialTitle
15
+ }
16
+
17
+ return () => {
18
+ document.title = initialTitle
19
+ }
20
+ }, [formatter, initialTitle, title])
21
+ }
@@ -1,7 +1,28 @@
1
1
  import deepEqual from 'deep-equal'
2
2
  import { useRef } from 'react'
3
3
 
4
- // TODO: Unify error behavior with useConstantValueInvariant() and maybe merge into one hook.
4
+ /**
5
+ * Checks whether the next value is the same reference as the previous one
6
+ *
7
+ * If not, it checks whether the values are deeply equal. If not, it logs an error.
8
+ *
9
+ * @param next - Value to be checked.
10
+ * @param shouldThrow - If true, it throws an error instead of logging it. Defaults to false.
11
+ * @returns void
12
+ * -
13
+ * @example
14
+ * ```ts
15
+ * useExpectSameValueReference(style)
16
+ * ```
17
+ * @example
18
+ * ```ts
19
+ * useExpectSameValueReference(style, true)
20
+ * ```
21
+ * @example
22
+ * ```ts
23
+ * useExpectSameValueReference(style, import.meta.env.DEV)
24
+ * ```
25
+ */
5
26
  export function useExpectSameValueReference<T>(next: T, shouldThrow: boolean = false) {
6
27
  const previous = useRef(next)
7
28
 
@@ -11,7 +32,11 @@ export function useExpectSameValueReference<T>(next: T, shouldThrow: boolean = f
11
32
  && deepEqual(next, previous.current)
12
33
  ) {
13
34
  if (import.meta.env.DEV) {
14
- console.error('Previous and next next do not match in reference although match in value', {
35
+ console.error(
36
+ 'Previous and next values do not match in reference although match in value. ' +
37
+ 'Try declaring constants outside of the component scope. ' +
38
+ 'Otherwise try to memoize callbacks with useCallback, ' +
39
+ 'useReferentiallyStableCallback useEvent, useRef or useMemo.', {
15
40
  previous: previous.current,
16
41
  next,
17
42
  })