@gravity-ui/navigation 4.0.16 → 4.0.18

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 (129) hide show
  1. package/build/cjs/components/AsideHeader/AsideHeader.js +2 -2
  2. package/build/cjs/components/AsideHeader/AsideHeader.js.map +1 -1
  3. package/build/cjs/components/AsideHeader/components/CompositeBar/HighlightedItem/HighlightedItem.js +2 -2
  4. package/build/cjs/components/AsideHeader/components/CompositeBar/HighlightedItem/HighlightedItem.js.map +1 -1
  5. package/build/cjs/components/AsideHeader/components/Panels.js +2 -2
  6. package/build/cjs/components/AsideHeader/components/Panels.js.map +1 -1
  7. package/build/cjs/components/AsideHeader/useAsideHeaderInnerContextValue.js +1 -0
  8. package/build/cjs/components/AsideHeader/useAsideHeaderInnerContextValue.js.map +1 -1
  9. package/build/cjs/components/Footer/MenuItem/MenuItem.js +2 -2
  10. package/build/cjs/components/Footer/MenuItem/MenuItem.js.map +1 -1
  11. package/build/cjs/components/HotkeysPanel/HotkeysPanel.js +5 -4
  12. package/build/cjs/components/HotkeysPanel/HotkeysPanel.js.map +1 -1
  13. package/build/cjs/components/Logo/Logo.js +2 -2
  14. package/build/cjs/components/Logo/Logo.js.map +1 -1
  15. package/build/cjs/components/MobileHeader/MobileHeader.js +2 -2
  16. package/build/cjs/components/MobileHeader/MobileHeader.js.map +1 -1
  17. package/build/cjs/components/Settings/Settings.js +4 -4
  18. package/build/cjs/components/Settings/Settings.js.map +1 -1
  19. package/build/cjs/components/Settings/SettingsSearch/AllResultsPage.js +2 -2
  20. package/build/cjs/components/Settings/SettingsSearch/AllResultsPage.js.map +1 -1
  21. package/build/cjs/components/Settings/SettingsSearch/SettingsSearch.js +3 -3
  22. package/build/cjs/components/Settings/SettingsSearch/SettingsSearch.js.map +1 -1
  23. package/build/cjs/components/Settings/SettingsSection.js +2 -2
  24. package/build/cjs/components/Settings/SettingsSection.js.map +1 -1
  25. package/build/cjs/components/TopAlert/useTopAlertHeight.js +2 -2
  26. package/build/cjs/components/TopAlert/useTopAlertHeight.js.map +1 -1
  27. package/build/cjs/hooks/useOverflowingHorizontalListItems/useOverflowingHorizontalListItems.js +2 -2
  28. package/build/cjs/hooks/useOverflowingHorizontalListItems/useOverflowingHorizontalListItems.js.map +1 -1
  29. package/build/esm/components/AsideHeader/AsideHeader.js +1 -1
  30. package/build/esm/components/AsideHeader/components/CompositeBar/HighlightedItem/HighlightedItem.js +1 -1
  31. package/build/esm/components/AsideHeader/components/Panels.js +1 -1
  32. package/build/esm/components/AsideHeader/useAsideHeaderInnerContextValue.js +1 -0
  33. package/build/esm/components/AsideHeader/useAsideHeaderInnerContextValue.js.map +1 -1
  34. package/build/esm/components/Footer/MenuItem/MenuItem.js +1 -1
  35. package/build/esm/components/HotkeysPanel/HotkeysPanel.js +5 -4
  36. package/build/esm/components/HotkeysPanel/HotkeysPanel.js.map +1 -1
  37. package/build/esm/components/Logo/Logo.js +1 -1
  38. package/build/esm/components/MobileHeader/MobileHeader.js +1 -1
  39. package/build/esm/components/Settings/Settings.js +2 -2
  40. package/build/esm/components/Settings/SettingsSearch/AllResultsPage.js +1 -1
  41. package/build/esm/components/Settings/SettingsSearch/SettingsSearch.js +1 -1
  42. package/build/esm/components/Settings/SettingsSection.js +1 -1
  43. package/build/esm/components/TopAlert/useTopAlertHeight.js +1 -1
  44. package/build/esm/hooks/useOverflowingHorizontalListItems/useOverflowingHorizontalListItems.js +1 -1
  45. package/package.json +4 -2
  46. package/build/cjs/_virtual/_commonjsHelpers.js +0 -11
  47. package/build/cjs/_virtual/_commonjsHelpers.js.map +0 -1
  48. package/build/cjs/_virtual/debounce.js +0 -12
  49. package/build/cjs/_virtual/debounce.js.map +0 -1
  50. package/build/cjs/_virtual/identity.js +0 -12
  51. package/build/cjs/_virtual/identity.js.map +0 -1
  52. package/build/cjs/_virtual/last.js +0 -12
  53. package/build/cjs/_virtual/last.js.map +0 -1
  54. package/build/cjs/node_modules/lodash/_Symbol.js +0 -21
  55. package/build/cjs/node_modules/lodash/_Symbol.js.map +0 -1
  56. package/build/cjs/node_modules/lodash/_baseGetTag.js +0 -45
  57. package/build/cjs/node_modules/lodash/_baseGetTag.js.map +0 -1
  58. package/build/cjs/node_modules/lodash/_baseTrim.js +0 -34
  59. package/build/cjs/node_modules/lodash/_baseTrim.js.map +0 -1
  60. package/build/cjs/node_modules/lodash/_freeGlobal.js +0 -20
  61. package/build/cjs/node_modules/lodash/_freeGlobal.js.map +0 -1
  62. package/build/cjs/node_modules/lodash/_getRawTag.js +0 -61
  63. package/build/cjs/node_modules/lodash/_getRawTag.js.map +0 -1
  64. package/build/cjs/node_modules/lodash/_objectToString.js +0 -36
  65. package/build/cjs/node_modules/lodash/_objectToString.js.map +0 -1
  66. package/build/cjs/node_modules/lodash/_root.js +0 -24
  67. package/build/cjs/node_modules/lodash/_root.js.map +0 -1
  68. package/build/cjs/node_modules/lodash/_trimmedEndIndex.js +0 -33
  69. package/build/cjs/node_modules/lodash/_trimmedEndIndex.js.map +0 -1
  70. package/build/cjs/node_modules/lodash/debounce.js +0 -208
  71. package/build/cjs/node_modules/lodash/debounce.js.map +0 -1
  72. package/build/cjs/node_modules/lodash/identity.js +0 -35
  73. package/build/cjs/node_modules/lodash/identity.js.map +0 -1
  74. package/build/cjs/node_modules/lodash/isObject.js +0 -45
  75. package/build/cjs/node_modules/lodash/isObject.js.map +0 -1
  76. package/build/cjs/node_modules/lodash/isObjectLike.js +0 -43
  77. package/build/cjs/node_modules/lodash/isObjectLike.js.map +0 -1
  78. package/build/cjs/node_modules/lodash/isSymbol.js +0 -45
  79. package/build/cjs/node_modules/lodash/isSymbol.js.map +0 -1
  80. package/build/cjs/node_modules/lodash/last.js +0 -34
  81. package/build/cjs/node_modules/lodash/last.js.map +0 -1
  82. package/build/cjs/node_modules/lodash/now.js +0 -38
  83. package/build/cjs/node_modules/lodash/now.js.map +0 -1
  84. package/build/cjs/node_modules/lodash/toNumber.js +0 -81
  85. package/build/cjs/node_modules/lodash/toNumber.js.map +0 -1
  86. package/build/cjs/node_modules/tslib/tslib.es6.js +0 -38
  87. package/build/cjs/node_modules/tslib/tslib.es6.js.map +0 -1
  88. package/build/esm/_virtual/_commonjsHelpers.js +0 -8
  89. package/build/esm/_virtual/_commonjsHelpers.js.map +0 -1
  90. package/build/esm/_virtual/debounce.js +0 -8
  91. package/build/esm/_virtual/debounce.js.map +0 -1
  92. package/build/esm/_virtual/identity.js +0 -8
  93. package/build/esm/_virtual/identity.js.map +0 -1
  94. package/build/esm/_virtual/last.js +0 -8
  95. package/build/esm/_virtual/last.js.map +0 -1
  96. package/build/esm/node_modules/lodash/_Symbol.js +0 -19
  97. package/build/esm/node_modules/lodash/_Symbol.js.map +0 -1
  98. package/build/esm/node_modules/lodash/_baseGetTag.js +0 -43
  99. package/build/esm/node_modules/lodash/_baseGetTag.js.map +0 -1
  100. package/build/esm/node_modules/lodash/_baseTrim.js +0 -32
  101. package/build/esm/node_modules/lodash/_baseTrim.js.map +0 -1
  102. package/build/esm/node_modules/lodash/_freeGlobal.js +0 -18
  103. package/build/esm/node_modules/lodash/_freeGlobal.js.map +0 -1
  104. package/build/esm/node_modules/lodash/_getRawTag.js +0 -59
  105. package/build/esm/node_modules/lodash/_getRawTag.js.map +0 -1
  106. package/build/esm/node_modules/lodash/_objectToString.js +0 -34
  107. package/build/esm/node_modules/lodash/_objectToString.js.map +0 -1
  108. package/build/esm/node_modules/lodash/_root.js +0 -22
  109. package/build/esm/node_modules/lodash/_root.js.map +0 -1
  110. package/build/esm/node_modules/lodash/_trimmedEndIndex.js +0 -31
  111. package/build/esm/node_modules/lodash/_trimmedEndIndex.js.map +0 -1
  112. package/build/esm/node_modules/lodash/debounce.js +0 -206
  113. package/build/esm/node_modules/lodash/debounce.js.map +0 -1
  114. package/build/esm/node_modules/lodash/identity.js +0 -33
  115. package/build/esm/node_modules/lodash/identity.js.map +0 -1
  116. package/build/esm/node_modules/lodash/isObject.js +0 -43
  117. package/build/esm/node_modules/lodash/isObject.js.map +0 -1
  118. package/build/esm/node_modules/lodash/isObjectLike.js +0 -41
  119. package/build/esm/node_modules/lodash/isObjectLike.js.map +0 -1
  120. package/build/esm/node_modules/lodash/isSymbol.js +0 -43
  121. package/build/esm/node_modules/lodash/isSymbol.js.map +0 -1
  122. package/build/esm/node_modules/lodash/last.js +0 -32
  123. package/build/esm/node_modules/lodash/last.js.map +0 -1
  124. package/build/esm/node_modules/lodash/now.js +0 -36
  125. package/build/esm/node_modules/lodash/now.js.map +0 -1
  126. package/build/esm/node_modules/lodash/toNumber.js +0 -79
  127. package/build/esm/node_modules/lodash/toNumber.js.map +0 -1
  128. package/build/esm/node_modules/tslib/tslib.es6.js +0 -36
  129. package/build/esm/node_modules/tslib/tslib.es6.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"AllResultsPage.js","sources":["../../../../../../src/components/Settings/SettingsSearch/AllResultsPage.tsx"],"sourcesContent":["import React from 'react';\n\nimport {ListUl} from '@gravity-ui/icons';\nimport last from 'lodash/last';\n\nimport type {\n SettingsDescription,\n SettingsMenu,\n SettingsMenuItem,\n SettingsPage,\n SettingsPageSection,\n} from '../collect-settings';\nimport i18n from '../i18n';\n\nconst allSearchResultsId = 'allSearchResults';\n\nexport function useAllResultsPage({\n pages,\n handlePageChange,\n}: {\n pages: SettingsDescription['pages'];\n handlePageChange: (page: string | undefined) => void;\n}) {\n const allSearchResultsPage = pages[allSearchResultsId];\n const hasAllSearchResultsPage = Boolean(allSearchResultsPage);\n\n React.useEffect(() => {\n if (hasAllSearchResultsPage) {\n handlePageChange(allSearchResultsId);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [hasAllSearchResultsPage]);\n\n return {\n isAllSearchPage: (page: string | undefined) => page === allSearchResultsId,\n };\n}\n\nexport function getSettingsDescriptionWithAllResultsPage(\n settingsDescription: SettingsDescription,\n): SettingsDescription {\n const {menu, pages} = settingsDescription;\n const menuWithoutAllResults = getMenuWithoutAllResults(menu);\n const pagesList = Object.values(pages);\n\n return {\n ...settingsDescription,\n menu: [createAllResultsMenuItem(), ...menuWithoutAllResults],\n pages: {\n ...pages,\n [allSearchResultsId]: createAllResultsPage(pagesList, menuWithoutAllResults),\n },\n };\n}\n\nfunction getMenuWithoutAllResults(menu: SettingsMenu) {\n return menu.filter((item) => !('id' in item) || item.id !== allSearchResultsId);\n}\n\nfunction createAllResultsPage(pages: SettingsPage[], menu: SettingsMenu): SettingsPage {\n const breadcrumbsMap: Record<string, string[] | undefined> = {};\n\n for (const menuItem of menu) {\n if ('items' in menuItem) {\n for (const pageItem of menuItem.items) {\n breadcrumbsMap[pageItem.id] = [menuItem.groupTitle, pageItem.title];\n }\n } else {\n breadcrumbsMap[menuItem.id] = [menuItem.title];\n }\n }\n\n return {\n id: allSearchResultsId,\n sections: Object.values(pages)\n .map((page) => {\n return page.sections.map((section): SettingsPageSection => {\n const breadcrumbs = breadcrumbsMap[page.id] ?? [];\n const lastBreadcrumb = last(breadcrumbs);\n const breadcrumbsTitlePart = breadcrumbs.join(' / ');\n\n return {\n ...section,\n title:\n section.title === lastBreadcrumb\n ? breadcrumbsTitlePart\n : `${breadcrumbsTitlePart} / ${section.title}`,\n };\n });\n })\n .flat(),\n };\n}\n\nfunction createAllResultsMenuItem(): SettingsMenuItem {\n return {\n id: allSearchResultsId,\n title: i18n('label_all-results'),\n icon: {data: ListUl},\n };\n}\n"],"names":["last","i18n","ListUl"],"mappings":"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"}
1
+ {"version":3,"file":"AllResultsPage.js","sources":["../../../../../../src/components/Settings/SettingsSearch/AllResultsPage.tsx"],"sourcesContent":["import React from 'react';\n\nimport {ListUl} from '@gravity-ui/icons';\nimport last from 'lodash/last';\n\nimport type {\n SettingsDescription,\n SettingsMenu,\n SettingsMenuItem,\n SettingsPage,\n SettingsPageSection,\n} from '../collect-settings';\nimport i18n from '../i18n';\n\nconst allSearchResultsId = 'allSearchResults';\n\nexport function useAllResultsPage({\n pages,\n handlePageChange,\n}: {\n pages: SettingsDescription['pages'];\n handlePageChange: (page: string | undefined) => void;\n}) {\n const allSearchResultsPage = pages[allSearchResultsId];\n const hasAllSearchResultsPage = Boolean(allSearchResultsPage);\n\n React.useEffect(() => {\n if (hasAllSearchResultsPage) {\n handlePageChange(allSearchResultsId);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [hasAllSearchResultsPage]);\n\n return {\n isAllSearchPage: (page: string | undefined) => page === allSearchResultsId,\n };\n}\n\nexport function getSettingsDescriptionWithAllResultsPage(\n settingsDescription: SettingsDescription,\n): SettingsDescription {\n const {menu, pages} = settingsDescription;\n const menuWithoutAllResults = getMenuWithoutAllResults(menu);\n const pagesList = Object.values(pages);\n\n return {\n ...settingsDescription,\n menu: [createAllResultsMenuItem(), ...menuWithoutAllResults],\n pages: {\n ...pages,\n [allSearchResultsId]: createAllResultsPage(pagesList, menuWithoutAllResults),\n },\n };\n}\n\nfunction getMenuWithoutAllResults(menu: SettingsMenu) {\n return menu.filter((item) => !('id' in item) || item.id !== allSearchResultsId);\n}\n\nfunction createAllResultsPage(pages: SettingsPage[], menu: SettingsMenu): SettingsPage {\n const breadcrumbsMap: Record<string, string[] | undefined> = {};\n\n for (const menuItem of menu) {\n if ('items' in menuItem) {\n for (const pageItem of menuItem.items) {\n breadcrumbsMap[pageItem.id] = [menuItem.groupTitle, pageItem.title];\n }\n } else {\n breadcrumbsMap[menuItem.id] = [menuItem.title];\n }\n }\n\n return {\n id: allSearchResultsId,\n sections: Object.values(pages)\n .map((page) => {\n return page.sections.map((section): SettingsPageSection => {\n const breadcrumbs = breadcrumbsMap[page.id] ?? [];\n const lastBreadcrumb = last(breadcrumbs);\n const breadcrumbsTitlePart = breadcrumbs.join(' / ');\n\n return {\n ...section,\n title:\n section.title === lastBreadcrumb\n ? breadcrumbsTitlePart\n : `${breadcrumbsTitlePart} / ${section.title}`,\n };\n });\n })\n .flat(),\n };\n}\n\nfunction createAllResultsMenuItem(): SettingsMenuItem {\n return {\n id: allSearchResultsId,\n title: i18n('label_all-results'),\n icon: {data: ListUl},\n };\n}\n"],"names":["i18n","ListUl"],"mappings":"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"}
@@ -2,15 +2,15 @@
2
2
 
3
3
  var React = require('react');
4
4
  var uikit = require('@gravity-ui/uikit');
5
- var debounce = require('../../../_virtual/debounce.js');
5
+ var debounceFn = require('lodash/debounce');
6
6
  var cn = require('../../utils/cn.js');
7
7
  var helpers = require('../helpers.js');
8
8
  var index = require('../i18n/index.js');
9
9
 
10
10
  const b = cn.cn('settings-search');
11
- function SettingsSearch({ className, initialValue, onChange, debounce: debounce$1 = 200, inputRef, inputSize, placeholder, autoFocus = true, selection, }) {
11
+ function SettingsSearch({ className, initialValue, onChange, debounce = 200, inputRef, inputSize, placeholder, autoFocus = true, selection, }) {
12
12
  const [value, setValue] = React.useState(initialValue !== null && initialValue !== undefined ? initialValue : '');
13
- const onChangeDebounced = debounce.default(onChange, debounce$1);
13
+ const onChangeDebounced = debounceFn(onChange, debounce);
14
14
  const handleUpdate = helpers.useStableCallback((updated) => {
15
15
  setValue(updated);
16
16
  onChangeDebounced(updated);
@@ -1 +1 @@
1
- {"version":3,"file":"SettingsSearch.js","sources":["../../../../../../src/components/Settings/SettingsSearch/SettingsSearch.tsx"],"sourcesContent":["import React, {useEffect} from 'react';\n\nimport {TextInput, TextInputSize} from '@gravity-ui/uikit';\nimport debounceFn from 'lodash/debounce';\n\nimport {cn} from '../../utils/cn';\nimport {SettingsSelection} from '../Selection/types';\nimport {useStableCallback} from '../helpers';\nimport i18n from '../i18n';\n\nconst b = cn('settings-search');\n\ninterface SettingsSearchProps {\n className?: string;\n initialValue?: string;\n onChange: (search: string) => void;\n debounce?: number;\n inputRef?: React.Ref<HTMLInputElement>;\n inputSize?: TextInputSize;\n placeholder?: string;\n autoFocus?: boolean;\n selection?: SettingsSelection;\n}\n\nexport function SettingsSearch({\n className,\n initialValue,\n onChange,\n debounce = 200,\n inputRef,\n inputSize,\n placeholder,\n autoFocus = true,\n selection,\n}: SettingsSearchProps) {\n const [value, setValue] = React.useState(initialValue ?? '');\n\n const onChangeDebounced = debounceFn(onChange, debounce);\n\n const handleUpdate = useStableCallback((updated: string) => {\n setValue(updated);\n onChangeDebounced(updated);\n });\n\n useEffect(() => {\n if (value && selection) {\n onChangeDebounced.cancel();\n setValue('');\n onChange('');\n }\n // Remove any search, if selection is passed\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selection]);\n\n return (\n <div className={b(null, className)}>\n <TextInput\n value={value}\n controlRef={inputRef}\n hasClear\n autoFocus={autoFocus}\n size={inputSize}\n placeholder={placeholder}\n onUpdate={handleUpdate}\n controlProps={{\n 'aria-label': i18n('label_search'),\n }}\n />\n </div>\n );\n}\n"],"names":["cn","debounce","debounceFn","useStableCallback","useEffect","TextInput","i18n"],"mappings":";;;;;;;;;AAUA,MAAM,CAAC,GAAGA,KAAE,CAAC,iBAAiB,CAAC;AAczB,SAAU,cAAc,CAAC,EAC3B,SAAS,EACT,YAAY,EACZ,QAAQ,YACRC,UAAQ,GAAG,GAAG,EACd,QAAQ,EACR,SAAS,EACT,WAAW,EACX,SAAS,GAAG,IAAI,EAChB,SAAS,GACS,EAAA;AAClB,IAAA,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,YAAY,aAAZ,YAAY,KAAA,SAAA,GAAZ,YAAY,GAAI,EAAE,CAAC;IAE5D,MAAM,iBAAiB,GAAGC,gBAAU,CAAC,QAAQ,EAAED,UAAQ,CAAC;AAExD,IAAA,MAAM,YAAY,GAAGE,yBAAiB,CAAC,CAAC,OAAe,KAAI;QACvD,QAAQ,CAAC,OAAO,CAAC;QACjB,iBAAiB,CAAC,OAAO,CAAC;AAC9B,KAAC,CAAC;IAEFC,eAAS,CAAC,MAAK;AACX,QAAA,IAAI,KAAK,IAAI,SAAS,EAAE;YACpB,iBAAiB,CAAC,MAAM,EAAE;YAC1B,QAAQ,CAAC,EAAE,CAAC;YACZ,QAAQ,CAAC,EAAE,CAAC;;;;AAIpB,KAAC,EAAE,CAAC,SAAS,CAAC,CAAC;IAEf,QACI,6BAAK,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,EAAA;AAC9B,QAAA,KAAA,CAAA,aAAA,CAACC,eAAS,EAAA,EACN,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,QAAQ,EACpB,QAAQ,EAAA,IAAA,EACR,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,SAAS,EACf,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,YAAY,EACtB,YAAY,EAAE;AACV,gBAAA,YAAY,EAAEC,aAAI,CAAC,cAAc,CAAC;aACrC,EACH,CAAA,CACA;AAEd;;;;"}
1
+ {"version":3,"file":"SettingsSearch.js","sources":["../../../../../../src/components/Settings/SettingsSearch/SettingsSearch.tsx"],"sourcesContent":["import React, {useEffect} from 'react';\n\nimport {TextInput, TextInputSize} from '@gravity-ui/uikit';\nimport debounceFn from 'lodash/debounce';\n\nimport {cn} from '../../utils/cn';\nimport {SettingsSelection} from '../Selection/types';\nimport {useStableCallback} from '../helpers';\nimport i18n from '../i18n';\n\nconst b = cn('settings-search');\n\ninterface SettingsSearchProps {\n className?: string;\n initialValue?: string;\n onChange: (search: string) => void;\n debounce?: number;\n inputRef?: React.Ref<HTMLInputElement>;\n inputSize?: TextInputSize;\n placeholder?: string;\n autoFocus?: boolean;\n selection?: SettingsSelection;\n}\n\nexport function SettingsSearch({\n className,\n initialValue,\n onChange,\n debounce = 200,\n inputRef,\n inputSize,\n placeholder,\n autoFocus = true,\n selection,\n}: SettingsSearchProps) {\n const [value, setValue] = React.useState(initialValue ?? '');\n\n const onChangeDebounced = debounceFn(onChange, debounce);\n\n const handleUpdate = useStableCallback((updated: string) => {\n setValue(updated);\n onChangeDebounced(updated);\n });\n\n useEffect(() => {\n if (value && selection) {\n onChangeDebounced.cancel();\n setValue('');\n onChange('');\n }\n // Remove any search, if selection is passed\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [selection]);\n\n return (\n <div className={b(null, className)}>\n <TextInput\n value={value}\n controlRef={inputRef}\n hasClear\n autoFocus={autoFocus}\n size={inputSize}\n placeholder={placeholder}\n onUpdate={handleUpdate}\n controlProps={{\n 'aria-label': i18n('label_search'),\n }}\n />\n </div>\n );\n}\n"],"names":["cn","useStableCallback","useEffect","TextInput","i18n"],"mappings":";;;;;;;;;AAUA,MAAM,CAAC,GAAGA,KAAE,CAAC,iBAAiB,CAAC;AAczB,SAAU,cAAc,CAAC,EAC3B,SAAS,EACT,YAAY,EACZ,QAAQ,EACR,QAAQ,GAAG,GAAG,EACd,QAAQ,EACR,SAAS,EACT,WAAW,EACX,SAAS,GAAG,IAAI,EAChB,SAAS,GACS,EAAA;AAClB,IAAA,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,YAAY,aAAZ,YAAY,KAAA,SAAA,GAAZ,YAAY,GAAI,EAAE,CAAC;IAE5D,MAAM,iBAAiB,GAAG,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC;AAExD,IAAA,MAAM,YAAY,GAAGC,yBAAiB,CAAC,CAAC,OAAe,KAAI;QACvD,QAAQ,CAAC,OAAO,CAAC;QACjB,iBAAiB,CAAC,OAAO,CAAC;AAC9B,KAAC,CAAC;IAEFC,eAAS,CAAC,MAAK;AACX,QAAA,IAAI,KAAK,IAAI,SAAS,EAAE;YACpB,iBAAiB,CAAC,MAAM,EAAE;YAC1B,QAAQ,CAAC,EAAE,CAAC;YACZ,QAAQ,CAAC,EAAE,CAAC;;;;AAIpB,KAAC,EAAE,CAAC,SAAS,CAAC,CAAC;IAEf,QACI,6BAAK,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,EAAA;AAC9B,QAAA,KAAA,CAAA,aAAA,CAACC,eAAS,EAAA,EACN,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,QAAQ,EACpB,QAAQ,EAAA,IAAA,EACR,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,SAAS,EACf,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,YAAY,EACtB,YAAY,EAAE;AACV,gBAAA,YAAY,EAAEC,aAAI,CAAC,cAAc,CAAC;aACrC,EACH,CAAA,CACA;AAEd;;;;"}
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var tslib_es6 = require('../../node_modules/tslib/tslib.es6.js');
3
+ var tslib = require('tslib');
4
4
  var React = require('react');
5
5
  var uikit = require('@gravity-ui/uikit');
6
6
  var useSettingsContext = require('./SettingsContext/useSettingsContext.js');
@@ -8,7 +8,7 @@ var SettingsRow = require('./SettingsRow/SettingsRow.js');
8
8
  var b = require('./b.js');
9
9
 
10
10
  const SettingsSection = React.forwardRef((_a, ref) => {
11
- var { search, isMobile, isSelected } = _a, section = tslib_es6.__rest(_a, ["search", "isMobile", "isSelected"]);
11
+ var { search, isMobile, isSelected } = _a, section = tslib.__rest(_a, ["search", "isMobile", "isSelected"]);
12
12
  const { renderSectionRightAdornment, showRightAdornmentOnHover } = useSettingsContext.useSettingsContext();
13
13
  return (React.createElement("div", { className: b.b('section', { selected: isSelected }), ref: isSelected ? ref : undefined },
14
14
  section.title && !section.hideTitle && (React.createElement("h3", { className: b.b('section-heading') }, renderSectionRightAdornment ? (React.createElement(uikit.Flex, { gap: 2, alignItems: 'center' },
@@ -1 +1 @@
1
- {"version":3,"file":"SettingsSection.js","sources":["../../../../../src/components/Settings/SettingsSection.tsx"],"sourcesContent":["import React from 'react';\n\nimport {Flex} from '@gravity-ui/uikit';\n\nimport {useSettingsContext} from './SettingsContext/useSettingsContext';\nimport {SettingRow} from './SettingsRow/SettingsRow';\nimport {b} from './b';\nimport type {SettingsPageSection} from './collect-settings';\n\nexport const SettingsSection = React.forwardRef<\n HTMLDivElement,\n SettingsPageSection & {\n search: string;\n isMobile: boolean;\n isSelected: boolean;\n }\n>(({search, isMobile, isSelected, ...section}, ref) => {\n const {renderSectionRightAdornment, showRightAdornmentOnHover} = useSettingsContext();\n\n return (\n <div className={b('section', {selected: isSelected})} ref={isSelected ? ref : undefined}>\n {section.title && !section.hideTitle && (\n <h3 className={b('section-heading')}>\n {renderSectionRightAdornment ? (\n <Flex gap={2} alignItems={'center'}>\n {section.title}\n <div\n className={b('section-right-adornment', {\n hidden: showRightAdornmentOnHover,\n })}\n >\n {renderSectionRightAdornment(section)}\n </div>\n </Flex>\n ) : (\n section.title\n )}\n </h3>\n )}\n\n {section.header &&\n (isMobile ? (\n <div className={b('section-subheader')}>{section.header}</div>\n ) : (\n section.header\n ))}\n\n {section.items.map((setting) =>\n setting.hidden ? null : (\n <SettingRow {...setting} key={setting.title} search={search} />\n ),\n )}\n </div>\n );\n});\n\nSettingsSection.displayName = 'SettingsSection';\n"],"names":["__rest","useSettingsContext","b","Flex","SettingRow"],"mappings":";;;;;;;;;AASO,MAAM,eAAe,GAAG,KAAK,CAAC,UAAU,CAO7C,CAAC,EAA0C,EAAE,GAAG,KAAI;QAAnD,EAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,OAAa,EAAR,OAAO,GAAzCA,gBAAA,CAAA,EAAA,EAAA,CAAA,QAAA,EAAA,UAAA,EAAA,YAAA,CAA0C,CAAD;IACxC,MAAM,EAAC,2BAA2B,EAAE,yBAAyB,EAAC,GAAGC,qCAAkB,EAAE;IAErF,QACI,KAAK,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,SAAS,EAAEC,GAAC,CAAC,SAAS,EAAE,EAAC,QAAQ,EAAE,UAAU,EAAC,CAAC,EAAE,GAAG,EAAE,UAAU,GAAG,GAAG,GAAG,SAAS,EAAA;AAClF,QAAA,OAAO,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,SAAS,KAChC,KAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAI,SAAS,EAAEA,GAAC,CAAC,iBAAiB,CAAC,EAAA,EAC9B,2BAA2B,IACxB,KAAC,CAAA,aAAA,CAAAC,UAAI,EAAC,EAAA,GAAG,EAAE,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAA;AAC7B,YAAA,OAAO,CAAC,KAAK;AACd,YAAA,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EACI,SAAS,EAAED,GAAC,CAAC,yBAAyB,EAAE;AACpC,oBAAA,MAAM,EAAE,yBAAyB;AACpC,iBAAA,CAAC,IAED,2BAA2B,CAAC,OAAO,CAAC,CACnC,CACH,KAEP,OAAO,CAAC,KAAK,CAChB,CACA,CACR;AAEA,QAAA,OAAO,CAAC,MAAM;aACV,QAAQ,IACL,KAAK,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,SAAS,EAAEA,GAAC,CAAC,mBAAmB,CAAC,EAAA,EAAG,OAAO,CAAC,MAAM,CAAO,KAE9D,OAAO,CAAC,MAAM,CACjB,CAAC;AAEL,QAAA,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,KACvB,OAAO,CAAC,MAAM,GAAG,IAAI,IACjB,KAAA,CAAA,aAAA,CAACE,sBAAU,EAAK,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,OAAO,IAAE,GAAG,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAA,CAAA,CAAI,CAClE,CACJ,CACC;AAEd,CAAC;AAED,eAAe,CAAC,WAAW,GAAG,iBAAiB;;;;"}
1
+ {"version":3,"file":"SettingsSection.js","sources":["../../../../../src/components/Settings/SettingsSection.tsx"],"sourcesContent":["import React from 'react';\n\nimport {Flex} from '@gravity-ui/uikit';\n\nimport {useSettingsContext} from './SettingsContext/useSettingsContext';\nimport {SettingRow} from './SettingsRow/SettingsRow';\nimport {b} from './b';\nimport type {SettingsPageSection} from './collect-settings';\n\nexport const SettingsSection = React.forwardRef<\n HTMLDivElement,\n SettingsPageSection & {\n search: string;\n isMobile: boolean;\n isSelected: boolean;\n }\n>(({search, isMobile, isSelected, ...section}, ref) => {\n const {renderSectionRightAdornment, showRightAdornmentOnHover} = useSettingsContext();\n\n return (\n <div className={b('section', {selected: isSelected})} ref={isSelected ? ref : undefined}>\n {section.title && !section.hideTitle && (\n <h3 className={b('section-heading')}>\n {renderSectionRightAdornment ? (\n <Flex gap={2} alignItems={'center'}>\n {section.title}\n <div\n className={b('section-right-adornment', {\n hidden: showRightAdornmentOnHover,\n })}\n >\n {renderSectionRightAdornment(section)}\n </div>\n </Flex>\n ) : (\n section.title\n )}\n </h3>\n )}\n\n {section.header &&\n (isMobile ? (\n <div className={b('section-subheader')}>{section.header}</div>\n ) : (\n section.header\n ))}\n\n {section.items.map((setting) =>\n setting.hidden ? null : (\n <SettingRow {...setting} key={setting.title} search={search} />\n ),\n )}\n </div>\n );\n});\n\nSettingsSection.displayName = 'SettingsSection';\n"],"names":["__rest","useSettingsContext","b","Flex","SettingRow"],"mappings":";;;;;;;;;AASO,MAAM,eAAe,GAAG,KAAK,CAAC,UAAU,CAO7C,CAAC,EAA0C,EAAE,GAAG,KAAI;QAAnD,EAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,OAAa,EAAR,OAAO,GAAzCA,YAAA,CAAA,EAAA,EAAA,CAAA,QAAA,EAAA,UAAA,EAAA,YAAA,CAA0C,CAAD;IACxC,MAAM,EAAC,2BAA2B,EAAE,yBAAyB,EAAC,GAAGC,qCAAkB,EAAE;IAErF,QACI,KAAK,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,SAAS,EAAEC,GAAC,CAAC,SAAS,EAAE,EAAC,QAAQ,EAAE,UAAU,EAAC,CAAC,EAAE,GAAG,EAAE,UAAU,GAAG,GAAG,GAAG,SAAS,EAAA;AAClF,QAAA,OAAO,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,SAAS,KAChC,KAAA,CAAA,aAAA,CAAA,IAAA,EAAA,EAAI,SAAS,EAAEA,GAAC,CAAC,iBAAiB,CAAC,EAAA,EAC9B,2BAA2B,IACxB,KAAC,CAAA,aAAA,CAAAC,UAAI,EAAC,EAAA,GAAG,EAAE,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAA;AAC7B,YAAA,OAAO,CAAC,KAAK;AACd,YAAA,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EACI,SAAS,EAAED,GAAC,CAAC,yBAAyB,EAAE;AACpC,oBAAA,MAAM,EAAE,yBAAyB;AACpC,iBAAA,CAAC,IAED,2BAA2B,CAAC,OAAO,CAAC,CACnC,CACH,KAEP,OAAO,CAAC,KAAK,CAChB,CACA,CACR;AAEA,QAAA,OAAO,CAAC,MAAM;aACV,QAAQ,IACL,KAAK,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,SAAS,EAAEA,GAAC,CAAC,mBAAmB,CAAC,EAAA,EAAG,OAAO,CAAC,MAAM,CAAO,KAE9D,OAAO,CAAC,MAAM,CACjB,CAAC;AAEL,QAAA,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,KACvB,OAAO,CAAC,MAAM,GAAG,IAAI,IACjB,KAAA,CAAA,aAAA,CAACE,sBAAU,EAAK,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,OAAO,IAAE,GAAG,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAA,CAAA,CAAI,CAClE,CACJ,CACC;AAEd,CAAC;AAED,eAAe,CAAC,WAAW,GAAG,iBAAiB;;;;"}
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var React = require('react');
4
- var debounce = require('../../_virtual/debounce.js');
4
+ var debounceFn = require('lodash/debounce');
5
5
 
6
6
  const G_ROOT_CLASS_NAME = 'g-root';
7
7
  const useTopAlertHeight = ({ alert }) => {
@@ -18,7 +18,7 @@ const useTopAlertHeight = ({ alert }) => {
18
18
  setAsideTopPanelHeight(height);
19
19
  }, [setAsideTopPanelHeight]);
20
20
  React.useLayoutEffect(() => {
21
- const updateTopSizeDebounce = debounce.default(updateTopSize, 200, { leading: true });
21
+ const updateTopSizeDebounce = debounceFn(updateTopSize, 200, { leading: true });
22
22
  if (alert) {
23
23
  window.addEventListener('resize', updateTopSizeDebounce);
24
24
  updateTopSizeDebounce();
@@ -1 +1 @@
1
- {"version":3,"file":"useTopAlertHeight.js","sources":["../../../../../src/components/TopAlert/useTopAlertHeight.ts"],"sourcesContent":["import React from 'react';\n\nimport debounceFn from 'lodash/debounce';\n\nimport {TopAlertProps} from '../types';\n\ntype TopAlertHeightControls = {\n alertRef: React.RefObject<HTMLDivElement>;\n updateTopSize: () => void;\n};\n\nconst G_ROOT_CLASS_NAME = 'g-root';\n\nexport const useTopAlertHeight = ({alert}: {alert?: TopAlertProps}): TopAlertHeightControls => {\n const alertRef = React.useRef<HTMLDivElement>(null);\n\n const setAsideTopPanelHeight = React.useCallback((clientHeight: number) => {\n const gRootElement = document\n .getElementsByClassName(G_ROOT_CLASS_NAME)\n .item(0) as HTMLElement | null;\n gRootElement?.style.setProperty('--gn-top-alert-height', clientHeight + 'px');\n }, []);\n\n const updateTopSize = React.useCallback(() => {\n const height = alertRef.current?.clientHeight ?? 0;\n setAsideTopPanelHeight(height);\n }, [setAsideTopPanelHeight]);\n\n React.useLayoutEffect(() => {\n const updateTopSizeDebounce = debounceFn(updateTopSize, 200, {leading: true});\n\n if (alert) {\n window.addEventListener('resize', updateTopSizeDebounce);\n updateTopSizeDebounce();\n }\n return () => {\n window.removeEventListener('resize', updateTopSizeDebounce);\n setAsideTopPanelHeight(0);\n };\n }, [alert, alertRef, updateTopSize, setAsideTopPanelHeight]);\n\n return {\n alertRef,\n updateTopSize,\n };\n};\n"],"names":["debounceFn"],"mappings":";;;;;AAWA,MAAM,iBAAiB,GAAG,QAAQ;MAErB,iBAAiB,GAAG,CAAC,EAAC,KAAK,EAA0B,KAA4B;IAC1F,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAiB,IAAI,CAAC;IAEnD,MAAM,sBAAsB,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,YAAoB,KAAI;QACtE,MAAM,YAAY,GAAG;aAChB,sBAAsB,CAAC,iBAAiB;aACxC,IAAI,CAAC,CAAC,CAAuB;AAClC,QAAA,YAAY,KAAZ,IAAA,IAAA,YAAY,KAAZ,SAAA,GAAA,SAAA,GAAA,YAAY,CAAE,KAAK,CAAC,WAAW,CAAC,uBAAuB,EAAE,YAAY,GAAG,IAAI,CAAC;KAChF,EAAE,EAAE,CAAC;AAEN,IAAA,MAAM,aAAa,GAAG,KAAK,CAAC,WAAW,CAAC,MAAK;;QACzC,MAAM,MAAM,GAAG,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,QAAQ,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,SAAA,GAAA,SAAA,GAAA,EAAA,CAAA,YAAY,MAAI,IAAA,IAAA,EAAA,KAAA,SAAA,GAAA,EAAA,GAAA,CAAC;QAClD,sBAAsB,CAAC,MAAM,CAAC;AAClC,KAAC,EAAE,CAAC,sBAAsB,CAAC,CAAC;AAE5B,IAAA,KAAK,CAAC,eAAe,CAAC,MAAK;AACvB,QAAA,MAAM,qBAAqB,GAAGA,gBAAU,CAAC,aAAa,EAAE,GAAG,EAAE,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC;QAE7E,IAAI,KAAK,EAAE;AACP,YAAA,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,qBAAqB,CAAC;AACxD,YAAA,qBAAqB,EAAE;;AAE3B,QAAA,OAAO,MAAK;AACR,YAAA,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,qBAAqB,CAAC;YAC3D,sBAAsB,CAAC,CAAC,CAAC;AAC7B,SAAC;KACJ,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,sBAAsB,CAAC,CAAC;IAE5D,OAAO;QACH,QAAQ;QACR,aAAa;KAChB;AACL;;;;"}
1
+ {"version":3,"file":"useTopAlertHeight.js","sources":["../../../../../src/components/TopAlert/useTopAlertHeight.ts"],"sourcesContent":["import React from 'react';\n\nimport debounceFn from 'lodash/debounce';\n\nimport {TopAlertProps} from '../types';\n\ntype TopAlertHeightControls = {\n alertRef: React.RefObject<HTMLDivElement>;\n updateTopSize: () => void;\n};\n\nconst G_ROOT_CLASS_NAME = 'g-root';\n\nexport const useTopAlertHeight = ({alert}: {alert?: TopAlertProps}): TopAlertHeightControls => {\n const alertRef = React.useRef<HTMLDivElement>(null);\n\n const setAsideTopPanelHeight = React.useCallback((clientHeight: number) => {\n const gRootElement = document\n .getElementsByClassName(G_ROOT_CLASS_NAME)\n .item(0) as HTMLElement | null;\n gRootElement?.style.setProperty('--gn-top-alert-height', clientHeight + 'px');\n }, []);\n\n const updateTopSize = React.useCallback(() => {\n const height = alertRef.current?.clientHeight ?? 0;\n setAsideTopPanelHeight(height);\n }, [setAsideTopPanelHeight]);\n\n React.useLayoutEffect(() => {\n const updateTopSizeDebounce = debounceFn(updateTopSize, 200, {leading: true});\n\n if (alert) {\n window.addEventListener('resize', updateTopSizeDebounce);\n updateTopSizeDebounce();\n }\n return () => {\n window.removeEventListener('resize', updateTopSizeDebounce);\n setAsideTopPanelHeight(0);\n };\n }, [alert, alertRef, updateTopSize, setAsideTopPanelHeight]);\n\n return {\n alertRef,\n updateTopSize,\n };\n};\n"],"names":[],"mappings":";;;;;AAWA,MAAM,iBAAiB,GAAG,QAAQ;MAErB,iBAAiB,GAAG,CAAC,EAAC,KAAK,EAA0B,KAA4B;IAC1F,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAiB,IAAI,CAAC;IAEnD,MAAM,sBAAsB,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,YAAoB,KAAI;QACtE,MAAM,YAAY,GAAG;aAChB,sBAAsB,CAAC,iBAAiB;aACxC,IAAI,CAAC,CAAC,CAAuB;AAClC,QAAA,YAAY,KAAZ,IAAA,IAAA,YAAY,KAAZ,SAAA,GAAA,SAAA,GAAA,YAAY,CAAE,KAAK,CAAC,WAAW,CAAC,uBAAuB,EAAE,YAAY,GAAG,IAAI,CAAC;KAChF,EAAE,EAAE,CAAC;AAEN,IAAA,MAAM,aAAa,GAAG,KAAK,CAAC,WAAW,CAAC,MAAK;;QACzC,MAAM,MAAM,GAAG,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,QAAQ,CAAC,OAAO,MAAE,IAAA,IAAA,EAAA,KAAA,SAAA,GAAA,SAAA,GAAA,EAAA,CAAA,YAAY,MAAI,IAAA,IAAA,EAAA,KAAA,SAAA,GAAA,EAAA,GAAA,CAAC;QAClD,sBAAsB,CAAC,MAAM,CAAC;AAClC,KAAC,EAAE,CAAC,sBAAsB,CAAC,CAAC;AAE5B,IAAA,KAAK,CAAC,eAAe,CAAC,MAAK;AACvB,QAAA,MAAM,qBAAqB,GAAG,UAAU,CAAC,aAAa,EAAE,GAAG,EAAE,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC;QAE7E,IAAI,KAAK,EAAE;AACP,YAAA,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,qBAAqB,CAAC;AACxD,YAAA,qBAAqB,EAAE;;AAE3B,QAAA,OAAO,MAAK;AACR,YAAA,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,qBAAqB,CAAC;YAC3D,sBAAsB,CAAC,CAAC,CAAC;AAC7B,SAAC;KACJ,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,sBAAsB,CAAC,CAAC;IAE5D,OAAO;QACH,QAAQ;QACR,aAAa;KAChB;AACL;;;;"}
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var React = require('react');
4
- var debounce = require('../../_virtual/debounce.js');
4
+ var debounceFn = require('lodash/debounce');
5
5
 
6
6
  function useOverflowingHorizontalListItems({ containerRef, items, itemSelector, moreButtonWidth = 0, }) {
7
7
  const [containerWidth, setContainerWidth] = React.useState(0);
@@ -24,7 +24,7 @@ function useOverflowingHorizontalListItems({ containerRef, items, itemSelector,
24
24
  setContainerWidth(entries[0].contentRect.width);
25
25
  }
26
26
  };
27
- const updateContainerSizeDebounced = debounce.default(updateContainerSize, 100);
27
+ const updateContainerSizeDebounced = debounceFn(updateContainerSize, 100);
28
28
  const footerMenuResizeObserver = new ResizeObserver(updateContainerSizeDebounced);
29
29
  if (footerMenu) {
30
30
  footerMenuResizeObserver.observe(footerMenu);
@@ -1 +1 @@
1
- {"version":3,"file":"useOverflowingHorizontalListItems.js","sources":["../../../../../src/hooks/useOverflowingHorizontalListItems/useOverflowingHorizontalListItems.ts"],"sourcesContent":["import {useLayoutEffect, useMemo, useState} from 'react';\nimport type {RefObject} from 'react';\n\nimport debounceFn from 'lodash/debounce';\n\ntype UseOverflowingContainerListItemsProps<ItemType extends unknown> = {\n containerRef: RefObject<HTMLElement>;\n items?: ItemType[];\n itemSelector: string;\n moreButtonWidth?: number;\n};\n\nexport function useOverflowingHorizontalListItems<ItemType>({\n containerRef,\n items,\n itemSelector,\n moreButtonWidth = 0,\n}: UseOverflowingContainerListItemsProps<ItemType>) {\n const [containerWidth, setContainerWidth] = useState<number>(0);\n const [itemWidths, setItemWidths] = useState<number[]>([]);\n\n useLayoutEffect(() => {\n if (!containerRef.current) {\n return;\n }\n\n const measureItemSizes = () => {\n const itemElements = Array.from(\n containerRef.current?.querySelectorAll(itemSelector) ?? [],\n );\n setItemWidths(itemElements.map((item) => item.clientWidth));\n };\n\n measureItemSizes();\n }, [containerRef, itemSelector]);\n\n useLayoutEffect(() => {\n const footerMenu = containerRef.current;\n\n const updateContainerSize = (entries: ResizeObserverEntry[]) => {\n if (entries.length > 0 && footerMenu) {\n setContainerWidth(entries[0].contentRect.width);\n }\n };\n\n const updateContainerSizeDebounced = debounceFn(updateContainerSize, 100);\n const footerMenuResizeObserver = new ResizeObserver(updateContainerSizeDebounced);\n\n if (footerMenu) {\n footerMenuResizeObserver.observe(footerMenu);\n }\n\n return () => {\n updateContainerSizeDebounced.cancel();\n footerMenuResizeObserver.disconnect();\n };\n }, [containerRef]);\n\n const isMeasured = containerWidth > 0;\n\n const {visibleItems, hiddenItems} = useMemo(() => {\n if (!isMeasured) {\n return {\n visibleItems: items ?? [],\n hiddenItems: [],\n };\n }\n\n const itemsCount = itemWidths.length;\n let visibleItemsCount = 0;\n let remainingContainerWidth = containerWidth;\n for (const width of itemWidths) {\n remainingContainerWidth -= width;\n if (remainingContainerWidth < moreButtonWidth) {\n const isMoreThanOneItemLeft = itemsCount !== visibleItemsCount + 1;\n const hasNoSpaceForTheLastItem = remainingContainerWidth < 0;\n if (isMoreThanOneItemLeft || hasNoSpaceForTheLastItem) {\n break;\n }\n }\n\n visibleItemsCount++;\n }\n\n return {\n visibleItems: items?.slice(0, visibleItemsCount) ?? [],\n hiddenItems: items?.slice(visibleItemsCount) ?? [],\n };\n }, [containerWidth, isMeasured, itemWidths, items, moreButtonWidth]);\n\n return {visibleItems, hiddenItems, measured: isMeasured};\n}\n"],"names":["useState","useLayoutEffect","debounceFn","useMemo"],"mappings":"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"}
1
+ {"version":3,"file":"useOverflowingHorizontalListItems.js","sources":["../../../../../src/hooks/useOverflowingHorizontalListItems/useOverflowingHorizontalListItems.ts"],"sourcesContent":["import {useLayoutEffect, useMemo, useState} from 'react';\nimport type {RefObject} from 'react';\n\nimport debounceFn from 'lodash/debounce';\n\ntype UseOverflowingContainerListItemsProps<ItemType extends unknown> = {\n containerRef: RefObject<HTMLElement>;\n items?: ItemType[];\n itemSelector: string;\n moreButtonWidth?: number;\n};\n\nexport function useOverflowingHorizontalListItems<ItemType>({\n containerRef,\n items,\n itemSelector,\n moreButtonWidth = 0,\n}: UseOverflowingContainerListItemsProps<ItemType>) {\n const [containerWidth, setContainerWidth] = useState<number>(0);\n const [itemWidths, setItemWidths] = useState<number[]>([]);\n\n useLayoutEffect(() => {\n if (!containerRef.current) {\n return;\n }\n\n const measureItemSizes = () => {\n const itemElements = Array.from(\n containerRef.current?.querySelectorAll(itemSelector) ?? [],\n );\n setItemWidths(itemElements.map((item) => item.clientWidth));\n };\n\n measureItemSizes();\n }, [containerRef, itemSelector]);\n\n useLayoutEffect(() => {\n const footerMenu = containerRef.current;\n\n const updateContainerSize = (entries: ResizeObserverEntry[]) => {\n if (entries.length > 0 && footerMenu) {\n setContainerWidth(entries[0].contentRect.width);\n }\n };\n\n const updateContainerSizeDebounced = debounceFn(updateContainerSize, 100);\n const footerMenuResizeObserver = new ResizeObserver(updateContainerSizeDebounced);\n\n if (footerMenu) {\n footerMenuResizeObserver.observe(footerMenu);\n }\n\n return () => {\n updateContainerSizeDebounced.cancel();\n footerMenuResizeObserver.disconnect();\n };\n }, [containerRef]);\n\n const isMeasured = containerWidth > 0;\n\n const {visibleItems, hiddenItems} = useMemo(() => {\n if (!isMeasured) {\n return {\n visibleItems: items ?? [],\n hiddenItems: [],\n };\n }\n\n const itemsCount = itemWidths.length;\n let visibleItemsCount = 0;\n let remainingContainerWidth = containerWidth;\n for (const width of itemWidths) {\n remainingContainerWidth -= width;\n if (remainingContainerWidth < moreButtonWidth) {\n const isMoreThanOneItemLeft = itemsCount !== visibleItemsCount + 1;\n const hasNoSpaceForTheLastItem = remainingContainerWidth < 0;\n if (isMoreThanOneItemLeft || hasNoSpaceForTheLastItem) {\n break;\n }\n }\n\n visibleItemsCount++;\n }\n\n return {\n visibleItems: items?.slice(0, visibleItemsCount) ?? [],\n hiddenItems: items?.slice(visibleItemsCount) ?? [],\n };\n }, [containerWidth, isMeasured, itemWidths, items, moreButtonWidth]);\n\n return {visibleItems, hiddenItems, measured: isMeasured};\n}\n"],"names":["useState","useLayoutEffect","useMemo"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import './AsideHeader.css';
2
- import { __rest } from '../../node_modules/tslib/tslib.es6.js';
2
+ import { __rest } from 'tslib';
3
3
  import React__default from 'react';
4
4
  import { PageLayout } from './components/PageLayout/PageLayout.js';
5
5
  import { PageLayoutAside } from './components/PageLayout/PageLayoutAside.js';
@@ -1,7 +1,7 @@
1
1
  import './HighlightedItem.css';
2
2
  import React__default, { useState, useMemo, useCallback, useEffect } from 'react';
3
3
  import { Portal } from '@gravity-ui/uikit';
4
- import debounceFn from '../../../../../_virtual/debounce.js';
4
+ import debounceFn from 'lodash/debounce';
5
5
  import { createBlock, block } from '../../../../utils/cn.js';
6
6
  import { useAsideHeaderInnerContext } from '../../../AsideHeaderContext.js';
7
7
  import styles from './HighlightedItem.module.scss.js';
@@ -1,4 +1,4 @@
1
- import { __rest } from '../../../node_modules/tslib/tslib.es6.js';
1
+ import { __rest } from 'tslib';
2
2
  import React__default from 'react';
3
3
  import { Drawer } from '@gravity-ui/uikit';
4
4
  import { useAsideHeaderInnerContext } from '../AsideHeaderContext.js';
@@ -49,6 +49,7 @@ const useAsideHeaderInnerContextValue = (props) => {
49
49
  id: InnerPanels.AllPages,
50
50
  children: React__default.createElement(AllPagesPanel, null),
51
51
  open: innerVisiblePanel === InnerPanels.AllPages,
52
+ size: 'auto',
52
53
  },
53
54
  ];
54
55
  }, [allPagesIsAvailable, panelItems, innerVisiblePanel]);
@@ -1 +1 @@
1
- {"version":3,"file":"useAsideHeaderInnerContextValue.js","sources":["../../../../../src/components/AsideHeader/useAsideHeaderInnerContextValue.tsx"],"sourcesContent":["import React, {useCallback, useEffect, useMemo, useState} from 'react';\n\nimport {MenuItem} from '../types';\n\nimport {AsideHeaderInnerContextType} from './AsideHeaderContext';\nimport {AllPagesPanel, getAllPagesMenuItem} from './components/AllPagesPanel';\nimport {AsideHeaderItem, AsideHeaderProps, InnerPanels, PanelItemProps} from './types';\n\nconst EMPTY_MENU_ITEMS: AsideHeaderItem[] = [];\n\nexport const useAsideHeaderInnerContextValue = (\n props: AsideHeaderProps & {size: number},\n): AsideHeaderInnerContextType => {\n const {size, onClosePanel, menuItems, panelItems, onMenuItemsChanged, onAllPagesClick} = props;\n const [innerVisiblePanel, setInnerVisiblePanel] = useState<InnerPanels | undefined>();\n const ALL_PAGES_MENU_ITEM = React.useMemo(() => {\n return getAllPagesMenuItem();\n }, []);\n\n const allPagesIsAvailable =\n Boolean(onMenuItemsChanged) && (!menuItems || menuItems?.length > 0);\n\n useEffect(() => {\n // If any user panel became open we need to switch off all inner panels\n if (panelItems?.some((x) => x.open)) {\n setInnerVisiblePanel(undefined);\n }\n }, [panelItems]);\n\n const innerOnClosePanel = useCallback(() => {\n setInnerVisiblePanel(undefined);\n onClosePanel?.();\n }, [onClosePanel]);\n\n const onItemClick = useCallback(\n (item: MenuItem, collapsed: boolean, event: React.MouseEvent<HTMLElement, MouseEvent>) => {\n if (item.id === ALL_PAGES_MENU_ITEM.id) {\n onClosePanel?.();\n setInnerVisiblePanel((prev) =>\n prev === InnerPanels.AllPages ? undefined : InnerPanels.AllPages,\n );\n } else {\n innerOnClosePanel();\n }\n item.onItemClick?.(item, collapsed, event);\n },\n [innerOnClosePanel, ALL_PAGES_MENU_ITEM, onClosePanel],\n );\n\n const innerMenuItems = useMemo(\n () =>\n allPagesIsAvailable\n ? [\n ...(menuItems || EMPTY_MENU_ITEMS),\n {\n ...ALL_PAGES_MENU_ITEM,\n current: innerVisiblePanel === InnerPanels.AllPages,\n onItemClick: onAllPagesClick,\n },\n ]\n : menuItems || EMPTY_MENU_ITEMS,\n [allPagesIsAvailable, menuItems, innerVisiblePanel, ALL_PAGES_MENU_ITEM, onAllPagesClick],\n );\n\n const innerPanelItems = useMemo<PanelItemProps[] | undefined>(() => {\n if (!allPagesIsAvailable) {\n return panelItems;\n }\n\n return [\n ...(panelItems || []),\n {\n id: InnerPanels.AllPages,\n children: <AllPagesPanel />,\n open: innerVisiblePanel === InnerPanels.AllPages,\n },\n ];\n }, [allPagesIsAvailable, panelItems, innerVisiblePanel]);\n\n return {\n ...props,\n onClosePanel: innerOnClosePanel,\n allPagesIsAvailable,\n menuItems: innerMenuItems,\n panelItems: innerPanelItems,\n size,\n onItemClick,\n };\n};\n"],"names":["React"],"mappings":"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"}
1
+ {"version":3,"file":"useAsideHeaderInnerContextValue.js","sources":["../../../../../src/components/AsideHeader/useAsideHeaderInnerContextValue.tsx"],"sourcesContent":["import React, {useCallback, useEffect, useMemo, useState} from 'react';\n\nimport {MenuItem} from '../types';\n\nimport {AsideHeaderInnerContextType} from './AsideHeaderContext';\nimport {AllPagesPanel, getAllPagesMenuItem} from './components/AllPagesPanel';\nimport {AsideHeaderItem, AsideHeaderProps, InnerPanels, PanelItemProps} from './types';\n\nconst EMPTY_MENU_ITEMS: AsideHeaderItem[] = [];\n\nexport const useAsideHeaderInnerContextValue = (\n props: AsideHeaderProps & {size: number},\n): AsideHeaderInnerContextType => {\n const {size, onClosePanel, menuItems, panelItems, onMenuItemsChanged, onAllPagesClick} = props;\n const [innerVisiblePanel, setInnerVisiblePanel] = useState<InnerPanels | undefined>();\n const ALL_PAGES_MENU_ITEM = React.useMemo(() => {\n return getAllPagesMenuItem();\n }, []);\n\n const allPagesIsAvailable =\n Boolean(onMenuItemsChanged) && (!menuItems || menuItems?.length > 0);\n\n useEffect(() => {\n // If any user panel became open we need to switch off all inner panels\n if (panelItems?.some((x) => x.open)) {\n setInnerVisiblePanel(undefined);\n }\n }, [panelItems]);\n\n const innerOnClosePanel = useCallback(() => {\n setInnerVisiblePanel(undefined);\n onClosePanel?.();\n }, [onClosePanel]);\n\n const onItemClick = useCallback(\n (item: MenuItem, collapsed: boolean, event: React.MouseEvent<HTMLElement, MouseEvent>) => {\n if (item.id === ALL_PAGES_MENU_ITEM.id) {\n onClosePanel?.();\n setInnerVisiblePanel((prev) =>\n prev === InnerPanels.AllPages ? undefined : InnerPanels.AllPages,\n );\n } else {\n innerOnClosePanel();\n }\n item.onItemClick?.(item, collapsed, event);\n },\n [innerOnClosePanel, ALL_PAGES_MENU_ITEM, onClosePanel],\n );\n\n const innerMenuItems = useMemo(\n () =>\n allPagesIsAvailable\n ? [\n ...(menuItems || EMPTY_MENU_ITEMS),\n {\n ...ALL_PAGES_MENU_ITEM,\n current: innerVisiblePanel === InnerPanels.AllPages,\n onItemClick: onAllPagesClick,\n },\n ]\n : menuItems || EMPTY_MENU_ITEMS,\n [allPagesIsAvailable, menuItems, innerVisiblePanel, ALL_PAGES_MENU_ITEM, onAllPagesClick],\n );\n\n const innerPanelItems = useMemo<PanelItemProps[] | undefined>(() => {\n if (!allPagesIsAvailable) {\n return panelItems;\n }\n\n return [\n ...(panelItems || []),\n {\n id: InnerPanels.AllPages,\n children: <AllPagesPanel />,\n open: innerVisiblePanel === InnerPanels.AllPages,\n size: 'auto',\n },\n ];\n }, [allPagesIsAvailable, panelItems, innerVisiblePanel]);\n\n return {\n ...props,\n onClosePanel: innerOnClosePanel,\n allPagesIsAvailable,\n menuItems: innerMenuItems,\n panelItems: innerPanelItems,\n size,\n onItemClick,\n };\n};\n"],"names":["React"],"mappings":";;;;;;AAQA,MAAM,gBAAgB,GAAsB,EAAE;AAEjC,MAAA,+BAA+B,GAAG,CAC3C,KAAwC,KACX;AAC7B,IAAA,MAAM,EAAC,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,kBAAkB,EAAE,eAAe,EAAC,GAAG,KAAK;IAC9F,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,QAAQ,EAA2B;AACrF,IAAA,MAAM,mBAAmB,GAAGA,cAAK,CAAC,OAAO,CAAC,MAAK;QAC3C,OAAO,mBAAmB,EAAE;KAC/B,EAAE,EAAE,CAAC;IAEN,MAAM,mBAAmB,GACrB,OAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC,SAAS,IAAI,CAAA,SAAS,KAAA,IAAA,IAAT,SAAS,KAAT,SAAA,GAAA,SAAA,GAAA,SAAS,CAAE,MAAM,IAAG,CAAC,CAAC;IAExE,SAAS,CAAC,MAAK;;AAEX,QAAA,IAAI,UAAU,KAAV,IAAA,IAAA,UAAU,6BAAV,UAAU,CAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE;YACjC,oBAAoB,CAAC,SAAS,CAAC;;AAEvC,KAAC,EAAE,CAAC,UAAU,CAAC,CAAC;AAEhB,IAAA,MAAM,iBAAiB,GAAG,WAAW,CAAC,MAAK;QACvC,oBAAoB,CAAC,SAAS,CAAC;AAC/B,QAAA,YAAY,KAAZ,IAAA,IAAA,YAAY,KAAZ,SAAA,GAAA,SAAA,GAAA,YAAY,EAAI;AACpB,KAAC,EAAE,CAAC,YAAY,CAAC,CAAC;IAElB,MAAM,WAAW,GAAG,WAAW,CAC3B,CAAC,IAAc,EAAE,SAAkB,EAAE,KAAgD,KAAI;;QACrF,IAAI,IAAI,CAAC,EAAE,KAAK,mBAAmB,CAAC,EAAE,EAAE;AACpC,YAAA,YAAY,KAAZ,IAAA,IAAA,YAAY,KAAZ,SAAA,GAAA,SAAA,GAAA,YAAY,EAAI;YAChB,oBAAoB,CAAC,CAAC,IAAI,KACtB,IAAI,KAAK,WAAW,CAAC,QAAQ,GAAG,SAAS,GAAG,WAAW,CAAC,QAAQ,CACnE;;aACE;AACH,YAAA,iBAAiB,EAAE;;QAEvB,CAAA,EAAA,GAAA,IAAI,CAAC,WAAW,MAAG,IAAA,IAAA,EAAA,KAAA,SAAA,GAAA,SAAA,GAAA,EAAA,CAAA,IAAA,CAAA,IAAA,EAAA,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC;KAC7C,EACD,CAAC,iBAAiB,EAAE,mBAAmB,EAAE,YAAY,CAAC,CACzD;AAED,IAAA,MAAM,cAAc,GAAG,OAAO,CAC1B,MACI;AACI,UAAE;AACI,YAAA,IAAI,SAAS,IAAI,gBAAgB,CAAC;4CAE3B,mBAAmB,CAAA,EAAA,EACtB,OAAO,EAAE,iBAAiB,KAAK,WAAW,CAAC,QAAQ,EACnD,WAAW,EAAE,eAAe,EAAA,CAAA;AAEnC;AACH,UAAE,SAAS,IAAI,gBAAgB,EACvC,CAAC,mBAAmB,EAAE,SAAS,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,eAAe,CAAC,CAC5F;AAED,IAAA,MAAM,eAAe,GAAG,OAAO,CAA+B,MAAK;QAC/D,IAAI,CAAC,mBAAmB,EAAE;AACtB,YAAA,OAAO,UAAU;;QAGrB,OAAO;AACH,YAAA,IAAI,UAAU,IAAI,EAAE,CAAC;AACrB,YAAA;gBACI,EAAE,EAAE,WAAW,CAAC,QAAQ;gBACxB,QAAQ,EAAEA,cAAC,CAAA,aAAA,CAAA,aAAa,EAAG,IAAA,CAAA;AAC3B,gBAAA,IAAI,EAAE,iBAAiB,KAAK,WAAW,CAAC,QAAQ;AAChD,gBAAA,IAAI,EAAE,MAAM;AACf,aAAA;SACJ;KACJ,EAAE,CAAC,mBAAmB,EAAE,UAAU,EAAE,iBAAiB,CAAC,CAAC;AAExD,IAAA,OAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACO,KAAK,CACR,EAAA,EAAA,YAAY,EAAE,iBAAiB,EAC/B,mBAAmB,EACnB,SAAS,EAAE,cAAc,EACzB,UAAU,EAAE,eAAe,EAC3B,IAAI;AACJ,QAAA,WAAW,EACb,CAAA;AACN;;;;"}
@@ -1,5 +1,5 @@
1
1
  import './MenuItem.css';
2
- import { __rest } from '../../../node_modules/tslib/tslib.es6.js';
2
+ import { __rest } from 'tslib';
3
3
  import React__default from 'react';
4
4
  import { Menu } from '@gravity-ui/uikit';
5
5
  import { createBlock } from '../../utils/cn.js';
@@ -1,6 +1,6 @@
1
1
  import './HotkeysPanel.css';
2
- import { __rest } from '../../node_modules/tslib/tslib.es6.js';
3
- import React__default, { useState, useMemo, useCallback } from 'react';
2
+ import { __rest } from 'tslib';
3
+ import React__default, { useRef, useState, useMemo, useCallback } from 'react';
4
4
  import { Text, HelpMark, Hotkey, TextInput, List, Drawer } from '@gravity-ui/uikit';
5
5
  import { useSafeAsideHeaderContext } from '../AsideHeader/AsideHeaderContext.js';
6
6
  import { createBlock } from '../utils/cn.js';
@@ -12,6 +12,7 @@ const b = createBlock('hotkeys-panel', styles);
12
12
  function HotkeysPanel(_a) {
13
13
  var _b;
14
14
  var { open, onClose, leftOffset, topOffset, className, drawerItemClassName, filterClassName, titleClassName, listClassName, itemContentClassName, hotkeys, itemClassName, filterable = true, filterPlaceholder, title, togglePanelHotkey, emptyState, platform, drawerProps, style: styleProp, disableNavigationOffset = false } = _a, listProps = __rest(_a, ["open", "onClose", "leftOffset", "topOffset", "className", "drawerItemClassName", "filterClassName", "titleClassName", "listClassName", "itemContentClassName", "hotkeys", "itemClassName", "filterable", "filterPlaceholder", "title", "togglePanelHotkey", "emptyState", "platform", "drawerProps", "style", "disableNavigationOffset"]);
15
+ const textInputRef = useRef(null);
15
16
  const [filter, setFilter] = useState('');
16
17
  const { size } = (_b = useSafeAsideHeaderContext()) !== null && _b !== undefined ? _b : { size: 0 };
17
18
  const hotkeysList = useMemo(() => {
@@ -27,7 +28,7 @@ function HotkeysPanel(_a) {
27
28
  React__default.createElement(Text, { variant: "subheader-3", as: 'h2', className: b('title', titleClassName) },
28
29
  title,
29
30
  togglePanelHotkey && React__default.createElement(Hotkey, { value: togglePanelHotkey, platform: platform })),
30
- filterable && (React__default.createElement(TextInput, { value: filter, onUpdate: setFilter, placeholder: filterPlaceholder, autoFocus: true, className: b('search', filterClassName), hasClear: true })),
31
+ filterable && (React__default.createElement(TextInput, { controlRef: textInputRef, value: filter, onUpdate: setFilter, placeholder: filterPlaceholder, autoFocus: true, className: b('search', filterClassName), hasClear: true })),
31
32
  React__default.createElement(List, Object.assign({ className: b('list', listClassName), virtualized: false, filterable: false, items: hotkeysList, renderItem: renderItem, itemClassName: b('item', itemClassName), emptyPlaceholder: emptyState }, listProps))));
32
33
  const onOpenChange = useCallback((newOpen) => {
33
34
  var _a;
@@ -37,7 +38,7 @@ function HotkeysPanel(_a) {
37
38
  (_a = drawerProps === null || drawerProps === undefined ? undefined : drawerProps.onOpenChange) === null || _a === undefined ? undefined : _a.call(drawerProps, newOpen);
38
39
  }, [drawerProps, onClose]);
39
40
  const style = useMemo(() => (Object.assign(Object.assign(Object.assign({ position: 'fixed', left: disableNavigationOffset ? undefined : size }, styleProp), (leftOffset !== undefined && { left: leftOffset })), (topOffset !== undefined && { top: topOffset }))), [disableNavigationOffset, styleProp, leftOffset, size, topOffset]);
40
- return (React__default.createElement(Drawer, Object.assign({ className: b(null, className), open: open, onOpenChange: onOpenChange, style: style, contentClassName: b('drawer-item', drawerItemClassName) }, drawerProps), drawerItemContent));
41
+ return (React__default.createElement(Drawer, Object.assign({ className: b(null, className), open: open, initialFocus: filterable ? textInputRef : undefined, onOpenChange: onOpenChange, style: style, contentClassName: b('drawer-item', drawerItemClassName) }, drawerProps), drawerItemContent));
41
42
  }
42
43
 
43
44
  export { HotkeysPanel };
@@ -1 +1 @@
1
- {"version":3,"file":"HotkeysPanel.js","sources":["../../../../../src/components/HotkeysPanel/HotkeysPanel.tsx"],"sourcesContent":["import React, {useCallback, useMemo, useState} from 'react';\nimport type {ReactNode} from 'react';\n\nimport {Drawer, HelpMark, Hotkey, List, Text, TextInput} from '@gravity-ui/uikit';\nimport type {DrawerProps, HotkeyProps, ListProps} from '@gravity-ui/uikit';\n\nimport {useSafeAsideHeaderContext} from '../AsideHeader/AsideHeaderContext';\nimport {createBlock} from '../utils/cn';\n\nimport type {HotkeysGroup, HotkeysListItem} from './types';\nimport {filterHotkeys} from './utils/filterHotkeys';\nimport {flattenHotkeyGroups} from './utils/flattenHotkeyGroups';\n\nimport styles from './HotkeysPanel.module.scss';\n\nconst b = createBlock('hotkeys-panel', styles);\n\nexport type HotkeysPanelProps<T> = {\n hotkeys: HotkeysGroup<T>[];\n title?: ReactNode;\n togglePanelHotkey?: string;\n filterable?: boolean;\n filterPlaceholder?: string;\n emptyState?: ReactNode;\n open: boolean;\n onClose?: () => void;\n className?: string;\n drawerItemClassName?: string;\n filterClassName?: string;\n titleClassName?: string;\n itemContentClassName?: string;\n listClassName?: string;\n leftOffset?: number | string;\n topOffset?: number | string;\n style?: React.CSSProperties;\n platform?: HotkeyProps['platform'];\n drawerProps?: Omit<DrawerProps, 'style' | 'contentClassName' | 'open' | 'className'>;\n disableNavigationOffset?: boolean;\n} & Omit<\n ListProps<HotkeysListItem>,\n | 'items'\n | 'emptyPlaceholder'\n | 'className'\n | 'size'\n | 'renderItem'\n | 'filterable'\n | 'autoFocus'\n | 'filterPlaceholder'\n | 'filterClassName'\n | 'filter'\n | 'filterItem'\n | 'onFilterEnd'\n | 'onFilterUpdate'\n>;\n\nexport function HotkeysPanel<T = {}>({\n open,\n onClose,\n leftOffset,\n topOffset,\n className,\n drawerItemClassName,\n filterClassName,\n titleClassName,\n listClassName,\n itemContentClassName,\n hotkeys,\n itemClassName,\n filterable = true,\n filterPlaceholder,\n title,\n togglePanelHotkey,\n emptyState,\n platform,\n drawerProps,\n style: styleProp,\n disableNavigationOffset = false,\n ...listProps\n}: HotkeysPanelProps<T>) {\n const [filter, setFilter] = useState('');\n\n const {size} = useSafeAsideHeaderContext() ?? {size: 0};\n\n const hotkeysList = useMemo(() => {\n const filteredHotkeys = filterHotkeys(hotkeys, filter);\n return flattenHotkeyGroups(filteredHotkeys);\n }, [hotkeys, filter]);\n\n const renderItem = useCallback(\n (item: HotkeysListItem) => (\n <Text\n as={item.group ? ('h3' as const) : ('p' as const)}\n variant={item.group ? 'subheader-2' : 'body-1'}\n className={b(\n 'item-content',\n {type: item.group ? 'group' : 'item'},\n itemContentClassName,\n )}\n key={item.title}\n >\n <span>\n {item.title}\n {item.hint && (\n <HelpMark\n aria-hidden\n popoverProps={{className: b('item-hint-tooltip')}}\n className={b('item-hint')}\n >\n {item.hint}\n </HelpMark>\n )}\n </span>\n {item.value && (\n <Hotkey className={b('hotkey')} value={item.value} platform={platform} />\n )}\n </Text>\n ),\n [itemContentClassName, platform],\n );\n\n const drawerItemContent = (\n <React.Fragment>\n <Text variant=\"subheader-3\" as={'h2' as const} className={b('title', titleClassName)}>\n {title}\n {togglePanelHotkey && <Hotkey value={togglePanelHotkey} platform={platform} />}\n </Text>\n {filterable && (\n <TextInput\n value={filter}\n onUpdate={setFilter}\n placeholder={filterPlaceholder}\n autoFocus\n className={b('search', filterClassName)}\n hasClear\n />\n )}\n <List<HotkeysListItem>\n className={b('list', listClassName)}\n virtualized={false}\n filterable={false}\n items={hotkeysList}\n renderItem={renderItem}\n itemClassName={b('item', itemClassName)}\n emptyPlaceholder={emptyState}\n {...listProps}\n />\n </React.Fragment>\n );\n\n const onOpenChange = useCallback(\n (newOpen: boolean) => {\n if (!newOpen) {\n onClose?.();\n }\n\n drawerProps?.onOpenChange?.(newOpen);\n },\n [drawerProps, onClose],\n );\n\n const style = useMemo<React.CSSProperties>(\n () => ({\n position: 'fixed',\n left: disableNavigationOffset ? undefined : size,\n ...styleProp,\n ...(leftOffset !== undefined && {left: leftOffset}),\n ...(topOffset !== undefined && {top: topOffset}),\n }),\n [disableNavigationOffset, styleProp, leftOffset, size, topOffset],\n );\n\n return (\n <Drawer\n className={b(null, className)}\n open={open}\n onOpenChange={onOpenChange}\n style={style}\n contentClassName={b('drawer-item', drawerItemClassName)}\n {...drawerProps}\n >\n {drawerItemContent}\n </Drawer>\n );\n}\n"],"names":["React"],"mappings":"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"}
1
+ {"version":3,"file":"HotkeysPanel.js","sources":["../../../../../src/components/HotkeysPanel/HotkeysPanel.tsx"],"sourcesContent":["import React, {useCallback, useMemo, useRef, useState} from 'react';\nimport type {ReactNode} from 'react';\n\nimport {Drawer, HelpMark, Hotkey, List, Text, TextInput} from '@gravity-ui/uikit';\nimport type {DrawerProps, HotkeyProps, ListProps} from '@gravity-ui/uikit';\n\nimport {useSafeAsideHeaderContext} from '../AsideHeader/AsideHeaderContext';\nimport {createBlock} from '../utils/cn';\n\nimport type {HotkeysGroup, HotkeysListItem} from './types';\nimport {filterHotkeys} from './utils/filterHotkeys';\nimport {flattenHotkeyGroups} from './utils/flattenHotkeyGroups';\n\nimport styles from './HotkeysPanel.module.scss';\n\nconst b = createBlock('hotkeys-panel', styles);\n\nexport type HotkeysPanelProps<T> = {\n hotkeys: HotkeysGroup<T>[];\n title?: ReactNode;\n togglePanelHotkey?: string;\n filterable?: boolean;\n filterPlaceholder?: string;\n emptyState?: ReactNode;\n open: boolean;\n onClose?: () => void;\n className?: string;\n drawerItemClassName?: string;\n filterClassName?: string;\n titleClassName?: string;\n itemContentClassName?: string;\n listClassName?: string;\n leftOffset?: number | string;\n topOffset?: number | string;\n style?: React.CSSProperties;\n platform?: HotkeyProps['platform'];\n drawerProps?: Omit<DrawerProps, 'style' | 'contentClassName' | 'open' | 'className'>;\n disableNavigationOffset?: boolean;\n} & Omit<\n ListProps<HotkeysListItem>,\n | 'items'\n | 'emptyPlaceholder'\n | 'className'\n | 'size'\n | 'renderItem'\n | 'filterable'\n | 'autoFocus'\n | 'filterPlaceholder'\n | 'filterClassName'\n | 'filter'\n | 'filterItem'\n | 'onFilterEnd'\n | 'onFilterUpdate'\n>;\n\nexport function HotkeysPanel<T = {}>({\n open,\n onClose,\n leftOffset,\n topOffset,\n className,\n drawerItemClassName,\n filterClassName,\n titleClassName,\n listClassName,\n itemContentClassName,\n hotkeys,\n itemClassName,\n filterable = true,\n filterPlaceholder,\n title,\n togglePanelHotkey,\n emptyState,\n platform,\n drawerProps,\n style: styleProp,\n disableNavigationOffset = false,\n ...listProps\n}: HotkeysPanelProps<T>) {\n const textInputRef = useRef<HTMLInputElement>(null);\n\n const [filter, setFilter] = useState('');\n\n const {size} = useSafeAsideHeaderContext() ?? {size: 0};\n\n const hotkeysList = useMemo(() => {\n const filteredHotkeys = filterHotkeys(hotkeys, filter);\n return flattenHotkeyGroups(filteredHotkeys);\n }, [hotkeys, filter]);\n\n const renderItem = useCallback(\n (item: HotkeysListItem) => (\n <Text\n as={item.group ? ('h3' as const) : ('p' as const)}\n variant={item.group ? 'subheader-2' : 'body-1'}\n className={b(\n 'item-content',\n {type: item.group ? 'group' : 'item'},\n itemContentClassName,\n )}\n key={item.title}\n >\n <span>\n {item.title}\n {item.hint && (\n <HelpMark\n aria-hidden\n popoverProps={{className: b('item-hint-tooltip')}}\n className={b('item-hint')}\n >\n {item.hint}\n </HelpMark>\n )}\n </span>\n {item.value && (\n <Hotkey className={b('hotkey')} value={item.value} platform={platform} />\n )}\n </Text>\n ),\n [itemContentClassName, platform],\n );\n\n const drawerItemContent = (\n <React.Fragment>\n <Text variant=\"subheader-3\" as={'h2' as const} className={b('title', titleClassName)}>\n {title}\n {togglePanelHotkey && <Hotkey value={togglePanelHotkey} platform={platform} />}\n </Text>\n {filterable && (\n <TextInput\n controlRef={textInputRef}\n value={filter}\n onUpdate={setFilter}\n placeholder={filterPlaceholder}\n autoFocus\n className={b('search', filterClassName)}\n hasClear\n />\n )}\n <List<HotkeysListItem>\n className={b('list', listClassName)}\n virtualized={false}\n filterable={false}\n items={hotkeysList}\n renderItem={renderItem}\n itemClassName={b('item', itemClassName)}\n emptyPlaceholder={emptyState}\n {...listProps}\n />\n </React.Fragment>\n );\n\n const onOpenChange = useCallback(\n (newOpen: boolean) => {\n if (!newOpen) {\n onClose?.();\n }\n\n drawerProps?.onOpenChange?.(newOpen);\n },\n [drawerProps, onClose],\n );\n\n const style = useMemo<React.CSSProperties>(\n () => ({\n position: 'fixed',\n left: disableNavigationOffset ? undefined : size,\n ...styleProp,\n ...(leftOffset !== undefined && {left: leftOffset}),\n ...(topOffset !== undefined && {top: topOffset}),\n }),\n [disableNavigationOffset, styleProp, leftOffset, size, topOffset],\n );\n\n return (\n <Drawer\n className={b(null, className)}\n open={open}\n initialFocus={filterable ? textInputRef : undefined}\n onOpenChange={onOpenChange}\n style={style}\n contentClassName={b('drawer-item', drawerItemClassName)}\n {...drawerProps}\n >\n {drawerItemContent}\n </Drawer>\n );\n}\n"],"names":["React"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import './Logo.css';
2
- import { __rest } from '../../node_modules/tslib/tslib.es6.js';
2
+ import { __rest } from 'tslib';
3
3
  import React__default from 'react';
4
4
  import { Icon } from '@gravity-ui/uikit';
5
5
  import { createBlock } from '../utils/cn.js';
@@ -1,5 +1,5 @@
1
1
  import './MobileHeader.css';
2
- import { __rest } from '../../node_modules/tslib/tslib.es6.js';
2
+ import { __rest } from 'tslib';
3
3
  import React__default, { useState, useCallback, useMemo, useEffect, Suspense } from 'react';
4
4
  import { Drawer } from '@gravity-ui/uikit';
5
5
  import { useForwardRef } from '../../hooks/useForwardRef.js';
@@ -1,8 +1,8 @@
1
1
  import './Settings.css';
2
- import { __rest } from '../../node_modules/tslib/tslib.es6.js';
2
+ import { __rest } from 'tslib';
3
3
  import React__default from 'react';
4
4
  import { Loader, Flex } from '@gravity-ui/uikit';
5
- import identity from '../../_virtual/identity.js';
5
+ import identity from 'lodash/identity';
6
6
  import { Title } from '../Title/Title.js';
7
7
  import { useSettingsSelectionProviderValue, SettingsSelectionContextProvider, useSettingsSelectionContext } from './Selection/context.js';
8
8
  import { SettingsContext } from './SettingsContext/SettingsContext.js';
@@ -1,6 +1,6 @@
1
1
  import React__default from 'react';
2
2
  import { ListUl } from '@gravity-ui/icons';
3
- import last from '../../../_virtual/last.js';
3
+ import last from 'lodash/last';
4
4
  import i18n from '../i18n/index.js';
5
5
 
6
6
  const allSearchResultsId = 'allSearchResults';
@@ -1,6 +1,6 @@
1
1
  import React__default, { useEffect } from 'react';
2
2
  import { TextInput } from '@gravity-ui/uikit';
3
- import debounceFn from '../../../_virtual/debounce.js';
3
+ import debounceFn from 'lodash/debounce';
4
4
  import { cn } from '../../utils/cn.js';
5
5
  import { useStableCallback } from '../helpers.js';
6
6
  import i18n from '../i18n/index.js';
@@ -1,4 +1,4 @@
1
- import { __rest } from '../../node_modules/tslib/tslib.es6.js';
1
+ import { __rest } from 'tslib';
2
2
  import React__default from 'react';
3
3
  import { Flex } from '@gravity-ui/uikit';
4
4
  import { useSettingsContext } from './SettingsContext/useSettingsContext.js';
@@ -1,5 +1,5 @@
1
1
  import React__default from 'react';
2
- import debounceFn from '../../_virtual/debounce.js';
2
+ import debounceFn from 'lodash/debounce';
3
3
 
4
4
  const G_ROOT_CLASS_NAME = 'g-root';
5
5
  const useTopAlertHeight = ({ alert }) => {
@@ -1,5 +1,5 @@
1
1
  import { useState, useLayoutEffect, useMemo } from 'react';
2
- import debounceFn from '../../_virtual/debounce.js';
2
+ import debounceFn from 'lodash/debounce';
3
3
 
4
4
  function useOverflowingHorizontalListItems({ containerRef, items, itemSelector, moreButtonWidth = 0, }) {
5
5
  const [containerWidth, setContainerWidth] = useState(0);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gravity-ui/navigation",
3
- "version": "4.0.16",
3
+ "version": "4.0.18",
4
4
  "description": "Gravity UI Navigation components",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -52,7 +52,9 @@
52
52
  "dependencies": {
53
53
  "commander": "^11.0.0",
54
54
  "jscodeshift": "^0.15.0",
55
- "tslib": "^2.8.1"
55
+ "tslib": "^2.8.1",
56
+ "lodash": "^4.17.21",
57
+ "react-virtualized-auto-sizer": "^1.0.20"
56
58
  },
57
59
  "devDependencies": {
58
60
  "@babel/core": "^7.26.0",
@@ -1,11 +0,0 @@
1
- 'use strict';
2
-
3
- var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
4
-
5
- function getDefaultExportFromCjs (x) {
6
- return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
7
- }
8
-
9
- exports.commonjsGlobal = commonjsGlobal;
10
- exports.getDefaultExportFromCjs = getDefaultExportFromCjs;
11
- //# sourceMappingURL=_commonjsHelpers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"_commonjsHelpers.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;"}
@@ -1,12 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var _commonjsHelpers = require('./_commonjsHelpers.js');
6
- var debounce = require('../node_modules/lodash/debounce.js');
7
-
8
- var debounceExports = debounce.__require();
9
- var debounceFn = /*@__PURE__*/_commonjsHelpers.getDefaultExportFromCjs(debounceExports);
10
-
11
- exports.default = debounceFn;
12
- //# sourceMappingURL=debounce.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"debounce.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
@@ -1,12 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var _commonjsHelpers = require('./_commonjsHelpers.js');
6
- var identity$1 = require('../node_modules/lodash/identity.js');
7
-
8
- var identityExports = identity$1.__require();
9
- var identity = /*@__PURE__*/_commonjsHelpers.getDefaultExportFromCjs(identityExports);
10
-
11
- exports.default = identity;
12
- //# sourceMappingURL=identity.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"identity.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
@@ -1,12 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var _commonjsHelpers = require('./_commonjsHelpers.js');
6
- var last$1 = require('../node_modules/lodash/last.js');
7
-
8
- var lastExports = last$1.__require();
9
- var last = /*@__PURE__*/_commonjsHelpers.getDefaultExportFromCjs(lastExports);
10
-
11
- exports.default = last;
12
- //# sourceMappingURL=last.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"last.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
@@ -1,21 +0,0 @@
1
- 'use strict';
2
-
3
- var _root = require('./_root.js');
4
-
5
- var _Symbol;
6
- var hasRequired_Symbol;
7
-
8
- function require_Symbol () {
9
- if (hasRequired_Symbol) return _Symbol;
10
- hasRequired_Symbol = 1;
11
- var root = _root.__require();
12
-
13
- /** Built-in value references. */
14
- var Symbol = root.Symbol;
15
-
16
- _Symbol = Symbol;
17
- return _Symbol;
18
- }
19
-
20
- exports.__require = require_Symbol;
21
- //# sourceMappingURL=_Symbol.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"_Symbol.js","sources":["../../../../node_modules/lodash/_Symbol.js"],"sourcesContent":["var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n"],"names":["require$$0"],"mappings":";;;;;;;;;;CAAA,IAAI,IAAI,GAAGA,eAAkB,EAAA;;AAE7B;AACA,CAAA,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM;;AAExB,CAAA,OAAc,GAAG,MAAM;;;;;;","x_google_ignoreList":[0]}
@@ -1,45 +0,0 @@
1
- 'use strict';
2
-
3
- var _Symbol = require('./_Symbol.js');
4
- var _getRawTag = require('./_getRawTag.js');
5
- var _objectToString = require('./_objectToString.js');
6
-
7
- var _baseGetTag;
8
- var hasRequired_baseGetTag;
9
-
10
- function require_baseGetTag () {
11
- if (hasRequired_baseGetTag) return _baseGetTag;
12
- hasRequired_baseGetTag = 1;
13
- var Symbol = _Symbol.__require(),
14
- getRawTag = _getRawTag.__require(),
15
- objectToString = _objectToString.__require();
16
-
17
- /** `Object#toString` result references. */
18
- var nullTag = '[object Null]',
19
- undefinedTag = '[object Undefined]';
20
-
21
- /** Built-in value references. */
22
- var symToStringTag = Symbol ? Symbol.toStringTag : undefined;
23
-
24
- /**
25
- * The base implementation of `getTag` without fallbacks for buggy environments.
26
- *
27
- * @private
28
- * @param {*} value The value to query.
29
- * @returns {string} Returns the `toStringTag`.
30
- */
31
- function baseGetTag(value) {
32
- if (value == null) {
33
- return value === undefined ? undefinedTag : nullTag;
34
- }
35
- return (symToStringTag && symToStringTag in Object(value))
36
- ? getRawTag(value)
37
- : objectToString(value);
38
- }
39
-
40
- _baseGetTag = baseGetTag;
41
- return _baseGetTag;
42
- }
43
-
44
- exports.__require = require_baseGetTag;
45
- //# sourceMappingURL=_baseGetTag.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"_baseGetTag.js","sources":["../../../../node_modules/lodash/_baseGetTag.js"],"sourcesContent":["var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n"],"names":["require$$0","require$$1","require$$2"],"mappings":";;;;;;;;;;;;CAAA,IAAI,MAAM,GAAGA,iBAAoB,EAAA;KAC7B,SAAS,GAAGC,oBAAuB,EAAA;KACnC,cAAc,GAAGC,yBAA4B,EAAA;;AAEjD;CACA,IAAI,OAAO,GAAG,eAAe;KACzB,YAAY,GAAG,oBAAoB;;AAEvC;CACA,IAAI,cAAc,GAAG,MAAM,GAAG,MAAM,CAAC,WAAW,GAAG,SAAS;;AAE5D;AACA;AACA;AACA;AACA;AACA;AACA;CACA,SAAS,UAAU,CAAC,KAAK,EAAE;AAC3B,GAAE,IAAI,KAAK,IAAI,IAAI,EAAE;AACrB,KAAI,OAAO,KAAK,KAAK,SAAS,GAAG,YAAY,GAAG,OAAO;AACvD;GACE,OAAO,CAAC,cAAc,IAAI,cAAc,IAAI,MAAM,CAAC,KAAK,CAAC;OACrD,SAAS,CAAC,KAAK;OACf,cAAc,CAAC,KAAK,CAAC;AAC3B;;AAEA,CAAA,WAAc,GAAG,UAAU;;;;;;","x_google_ignoreList":[0]}