@jenesei-software/jenesei-kit-react 2.3.1 → 2.3.2

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 (158) hide show
  1. package/build/area-outside.cjs.js +1 -1
  2. package/build/area-outside.es.js +1 -1
  3. package/build/area-preview.cjs.js +1 -1
  4. package/build/area-preview.es.js +1 -1
  5. package/build/area-skeleton.cjs.js +1 -1
  6. package/build/area-skeleton.es.js +1 -1
  7. package/build/button-6CFvwtSz.cjs +3 -0
  8. package/build/button-6CFvwtSz.cjs.map +1 -0
  9. package/build/button-D6Bg00Uh.js +120 -0
  10. package/build/button-D6Bg00Uh.js.map +1 -0
  11. package/build/{checkbox-Bxt8K0ZY.cjs → checkbox-9ue4f3-6.cjs} +2 -2
  12. package/build/{checkbox-Bxt8K0ZY.cjs.map → checkbox-9ue4f3-6.cjs.map} +1 -1
  13. package/build/{checkbox-DPkXe4_5.js → checkbox-TW5VSNui.js} +3 -3
  14. package/build/{checkbox-DPkXe4_5.js.map → checkbox-TW5VSNui.js.map} +1 -1
  15. package/build/component-button.cjs.js +1 -1
  16. package/build/component-button.es.js +1 -1
  17. package/build/component-checkbox.cjs.js +1 -1
  18. package/build/component-checkbox.es.js +1 -1
  19. package/build/component-date-picker.cjs.js +1 -1
  20. package/build/component-date-picker.es.js +1 -1
  21. package/build/component-icon.cjs.js +1 -1
  22. package/build/component-icon.es.js +1 -1
  23. package/build/component-input-otp.cjs.js +1 -1
  24. package/build/component-input-otp.es.js +1 -1
  25. package/build/component-input.cjs.js +1 -1
  26. package/build/component-input.es.js +1 -1
  27. package/build/component-pagination.cjs.js +1 -1
  28. package/build/component-pagination.es.js +1 -1
  29. package/build/component-popover.cjs.js +1 -1
  30. package/build/component-popover.es.js +1 -1
  31. package/build/component-select.cjs.js +1 -1
  32. package/build/component-select.es.js +1 -1
  33. package/build/component-textarea.cjs.js +1 -1
  34. package/build/component-textarea.es.js +1 -1
  35. package/build/component-toggle.cjs.js +1 -1
  36. package/build/component-toggle.es.js +1 -1
  37. package/build/component-tooltip.cjs.js +1 -1
  38. package/build/component-tooltip.es.js +1 -1
  39. package/build/component-typography.cjs.js +1 -1
  40. package/build/component-typography.es.js +1 -1
  41. package/build/components/button/component.d.ts +1 -2
  42. package/build/components/select/component.types.d.ts +1 -0
  43. package/build/components-error.cjs.js +1 -1
  44. package/build/components-error.es.js +1 -1
  45. package/build/{context-app-Dsa1tKlU.cjs → context-app-29ajupjq.cjs} +2 -2
  46. package/build/{context-app-Dsa1tKlU.cjs.map → context-app-29ajupjq.cjs.map} +1 -1
  47. package/build/{context-app-C9XoarPw.js → context-app-CxNgCfd2.js} +2 -2
  48. package/build/{context-app-C9XoarPw.js.map → context-app-CxNgCfd2.js.map} +1 -1
  49. package/build/context-app.cjs.js +1 -1
  50. package/build/context-app.es.js +1 -1
  51. package/build/{context-dialog-DctdSBC8.cjs → context-dialog-BLb0fPJw.cjs} +2 -2
  52. package/build/{context-dialog-DctdSBC8.cjs.map → context-dialog-BLb0fPJw.cjs.map} +1 -1
  53. package/build/{context-dialog-DzwL2ElF.js → context-dialog-IYNzoNOe.js} +2 -2
  54. package/build/{context-dialog-DzwL2ElF.js.map → context-dialog-IYNzoNOe.js.map} +1 -1
  55. package/build/context-dialog.cjs.js +1 -1
  56. package/build/context-dialog.es.js +1 -1
  57. package/build/{context-sonner-Dqw0jhwT.cjs → context-sonner-B-eO7pwI.cjs} +2 -2
  58. package/build/{context-sonner-Dqw0jhwT.cjs.map → context-sonner-B-eO7pwI.cjs.map} +1 -1
  59. package/build/{context-sonner-MO6uE8y0.js → context-sonner-CtCttHLD.js} +3 -3
  60. package/build/{context-sonner-MO6uE8y0.js.map → context-sonner-CtCttHLD.js.map} +1 -1
  61. package/build/context-sonner.cjs.js +1 -1
  62. package/build/context-sonner.es.js +1 -1
  63. package/build/{date-picker-ATktGA1c.cjs → date-picker-9rpPgP0a.cjs} +2 -2
  64. package/build/{date-picker-ATktGA1c.cjs.map → date-picker-9rpPgP0a.cjs.map} +1 -1
  65. package/build/{date-picker-D81n3KbO.js → date-picker-BvKtH7lp.js} +6 -6
  66. package/build/{date-picker-D81n3KbO.js.map → date-picker-BvKtH7lp.js.map} +1 -1
  67. package/build/{error-BdFba_yV.cjs → error-aQfsl_Kl.cjs} +1 -1
  68. package/build/{error-BdFba_yV.cjs.map → error-aQfsl_Kl.cjs.map} +1 -1
  69. package/build/{error-BFb2NCum.js → error-iaB6e_aq.js} +1 -1
  70. package/build/{error-BFb2NCum.js.map → error-iaB6e_aq.js.map} +1 -1
  71. package/build/hooks/use-fps/index.d.ts +2 -0
  72. package/build/hooks/use-fps/use.d.ts +2 -0
  73. package/build/hooks/use-fps/use.types.d.ts +10 -0
  74. package/build/hooks-use-deep-compare-memoize.cjs.js +1 -1
  75. package/build/hooks-use-deep-compare-memoize.es.js +1 -1
  76. package/build/hooks-use-deep-memo.cjs.js +1 -1
  77. package/build/hooks-use-deep-memo.es.js +1 -1
  78. package/build/hooks-use-fps.cjs.js +3 -0
  79. package/build/hooks-use-fps.cjs.js.map +1 -0
  80. package/build/hooks-use-fps.d.ts +2 -0
  81. package/build/hooks-use-fps.es.js +46 -0
  82. package/build/hooks-use-fps.es.js.map +1 -0
  83. package/build/{icon-Ddkbk3-m.cjs → icon-DyjaxKWq.cjs} +2 -2
  84. package/build/{icon-Ddkbk3-m.cjs.map → icon-DyjaxKWq.cjs.map} +1 -1
  85. package/build/{icon-D2w7GViT.js → icon-Y-IZxLXB.js} +2 -2
  86. package/build/{icon-D2w7GViT.js.map → icon-Y-IZxLXB.js.map} +1 -1
  87. package/build/index.cjs.js +1 -1
  88. package/build/index.d.ts +1 -0
  89. package/build/index.es.js +46 -44
  90. package/build/{input-B9ceeR9v.js → input-Buf_HFGH.js} +34 -30
  91. package/build/{input-B9ceeR9v.js.map → input-Buf_HFGH.js.map} +1 -1
  92. package/build/{input-CmdwwrV2.cjs → input-DMm67Wyr.cjs} +3 -3
  93. package/build/{input-CmdwwrV2.cjs.map → input-DMm67Wyr.cjs.map} +1 -1
  94. package/build/input-otp-MDjIcfVu.cjs +3 -0
  95. package/build/input-otp-MDjIcfVu.cjs.map +1 -0
  96. package/build/{input-otp-CeMGm5Xq.js → input-otp-q4zKk_nP.js} +26 -26
  97. package/build/input-otp-q4zKk_nP.js.map +1 -0
  98. package/build/{isEqual-0jZ23Bb6.js → isEqual-BHn_Fkkw.js} +1 -1
  99. package/build/{isEqual-0jZ23Bb6.js.map → isEqual-BHn_Fkkw.js.map} +1 -1
  100. package/build/{isEqual-BA0P9-C8.cjs → isEqual-Q-mEN2md.cjs} +1 -1
  101. package/build/{isEqual-BA0P9-C8.cjs.map → isEqual-Q-mEN2md.cjs.map} +1 -1
  102. package/build/{outside-CXyCk8h1.cjs → outside-BP81eKu0.cjs} +2 -2
  103. package/build/{outside-CXyCk8h1.cjs.map → outside-BP81eKu0.cjs.map} +1 -1
  104. package/build/{outside-DopxX0PZ.js → outside-_oOot7z3.js} +6 -6
  105. package/build/{outside-DopxX0PZ.js.map → outside-_oOot7z3.js.map} +1 -1
  106. package/build/{pagination-BluJtJl7.js → pagination-BFTnpYCz.js} +33 -23
  107. package/build/pagination-BFTnpYCz.js.map +1 -0
  108. package/build/pagination-ZXl2fVKZ.cjs +3 -0
  109. package/build/pagination-ZXl2fVKZ.cjs.map +1 -0
  110. package/build/{popover-DHWcQVp1.js → popover--NOw9qfd.js} +1 -1
  111. package/build/{popover-DHWcQVp1.js.map → popover--NOw9qfd.js.map} +1 -1
  112. package/build/{popover-DQkn4RWI.cjs → popover-B1KASIeD.cjs} +1 -1
  113. package/build/{popover-DQkn4RWI.cjs.map → popover-B1KASIeD.cjs.map} +1 -1
  114. package/build/{preview-Bc2qdyd4.js → preview-C-mtYSGG.js} +20 -20
  115. package/build/preview-C-mtYSGG.js.map +1 -0
  116. package/build/preview-p2i9Ju3I.cjs +3 -0
  117. package/build/preview-p2i9Ju3I.cjs.map +1 -0
  118. package/build/select-7yVS14II.cjs +9 -0
  119. package/build/select-7yVS14II.cjs.map +1 -0
  120. package/build/{select-CCbtkj6f.js → select-BdGRG7zf.js} +1069 -1054
  121. package/build/select-BdGRG7zf.js.map +1 -0
  122. package/build/skeleton-BfOHjRgT.cjs +3 -0
  123. package/build/skeleton-BfOHjRgT.cjs.map +1 -0
  124. package/build/skeleton-wRSg85X7.js +39 -0
  125. package/build/skeleton-wRSg85X7.js.map +1 -0
  126. package/build/{textarea-DInJb6Lz.cjs → textarea-Bm3ki2-6.cjs} +2 -2
  127. package/build/{textarea-DInJb6Lz.cjs.map → textarea-Bm3ki2-6.cjs.map} +1 -1
  128. package/build/{textarea-jIGZ0JdP.js → textarea-DLZq4RT-.js} +2 -2
  129. package/build/{textarea-jIGZ0JdP.js.map → textarea-DLZq4RT-.js.map} +1 -1
  130. package/build/{toggle-D1nXs-LD.js → toggle-Bzru0yZw.js} +2 -2
  131. package/build/{toggle-D1nXs-LD.js.map → toggle-Bzru0yZw.js.map} +1 -1
  132. package/build/{toggle-BEmUm0of.cjs → toggle-CdUVhH0Z.cjs} +2 -2
  133. package/build/{toggle-BEmUm0of.cjs.map → toggle-CdUVhH0Z.cjs.map} +1 -1
  134. package/build/{typography-BKp4OAQI.cjs → typography-DzYrzZZb.cjs} +2 -2
  135. package/build/{typography-BKp4OAQI.cjs.map → typography-DzYrzZZb.cjs.map} +1 -1
  136. package/build/{typography-07KEDl9_.js → typography-Tebu6c9L.js} +2 -2
  137. package/build/{typography-07KEDl9_.js.map → typography-Tebu6c9L.js.map} +1 -1
  138. package/package.json +7 -1
  139. package/build/button-C1w25-Hk.js +0 -102
  140. package/build/button-C1w25-Hk.js.map +0 -1
  141. package/build/button-CHEeSypf.cjs +0 -3
  142. package/build/button-CHEeSypf.cjs.map +0 -1
  143. package/build/input-otp-CJfZoWd7.cjs +0 -3
  144. package/build/input-otp-CJfZoWd7.cjs.map +0 -1
  145. package/build/input-otp-CeMGm5Xq.js.map +0 -1
  146. package/build/pagination-BluJtJl7.js.map +0 -1
  147. package/build/pagination-VMAFNidU.cjs +0 -3
  148. package/build/pagination-VMAFNidU.cjs.map +0 -1
  149. package/build/preview-BLu-NOv2.cjs +0 -3
  150. package/build/preview-BLu-NOv2.cjs.map +0 -1
  151. package/build/preview-Bc2qdyd4.js.map +0 -1
  152. package/build/select-CCbtkj6f.js.map +0 -1
  153. package/build/select-CGXyVf57.cjs +0 -9
  154. package/build/select-CGXyVf57.cjs.map +0 -1
  155. package/build/skeleton-Bh6zA5iB.js +0 -39
  156. package/build/skeleton-Bh6zA5iB.js.map +0 -1
  157. package/build/skeleton-DmaXsm9C.cjs +0 -3
  158. package/build/skeleton-DmaXsm9C.cjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"icon-Ddkbk3-m.cjs","names":[],"sources":["../src/cores/consts.ts","../src/components/icon/component.hooks.tsx","../src/components/icon/component.tsx","../src/components/icon/component.consts.tsx","../src/components/icon/component.functions.tsx"],"sourcesContent":["import {\n IDatePickerTranslateInput,\n IDatePickerTranslateMonth,\n IDatePickerTranslateWeek,\n} from '@local/components/date-picker';\n\nexport const LOCALE_INPUT: IDatePickerTranslateInput = {\n day: 'ДД',\n month: 'ММ',\n year: 'ГГГГ',\n};\n\nexport const LOCALE_MONTHS: IDatePickerTranslateMonth[] = [\n {\n localeLong: 'Январь',\n localeShort: 'Янв',\n value: 'january',\n },\n {\n localeLong: 'February',\n localeShort: 'Feb',\n value: 'february',\n },\n {\n localeLong: 'March',\n localeShort: 'Mar',\n value: 'march',\n },\n {\n localeLong: 'April',\n localeShort: 'Apr',\n value: 'april',\n },\n {\n localeLong: 'May',\n localeShort: 'May',\n value: 'may',\n },\n {\n localeLong: 'June',\n localeShort: 'Jun',\n value: 'june',\n },\n {\n localeLong: 'July',\n localeShort: 'Jul',\n value: 'july',\n },\n {\n localeLong: 'August',\n localeShort: 'Aug',\n value: 'august',\n },\n {\n localeLong: 'September',\n localeShort: 'Sep',\n value: 'september',\n },\n {\n localeLong: 'October',\n localeShort: 'Oct',\n value: 'october',\n },\n {\n localeLong: 'November',\n localeShort: 'Nov',\n value: 'november',\n },\n {\n localeLong: 'December',\n localeShort: 'Dec',\n value: 'december',\n },\n];\nexport const LOCALE_WEEKS: IDatePickerTranslateWeek[] = [\n {\n localeLong: 'Monday',\n localeShort: 'Пн',\n value: 'mo',\n },\n {\n localeLong: 'Tuesday',\n localeShort: 'Tue',\n value: 'tu',\n },\n {\n localeLong: 'Wednesday',\n localeShort: 'Wed',\n value: 'we',\n },\n {\n localeLong: 'Thursday',\n localeShort: 'Thu',\n value: 'th',\n },\n {\n localeLong: 'Friday',\n localeShort: 'Fri',\n value: 'fr',\n },\n {\n localeLong: 'Saturday',\n localeShort: 'Sat',\n value: 'sa',\n },\n {\n localeLong: 'Sunday',\n localeShort: 'Sun',\n value: 'su',\n },\n];\n\nexport const LIBRARY_VERSION = import.meta.env.VITE_APP_VERSION;\nexport const ICON_VERSION = import.meta.env.VITE_ICON_VERSION;\n\n// export const LIST_TYPOGRAPHY_VARIANTS_DEFAULT: IThemeTypographyHeading[] = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'];\n","import { logger } from '@local/cores/logger';\n\nimport { useEffect, useState } from 'react';\n\nexport function useInjectSprites(urls: string[]) {\n useEffect(() => {\n const containers: HTMLDivElement[] = [];\n\n urls.forEach(async (url) => {\n try {\n const res = await fetch(url);\n if (!res.ok) {\n logger.error(`Failed to load sprite: ${url}`);\n return;\n }\n const text = await res.text();\n\n const div = document.createElement('div');\n div.style.display = 'none';\n div.innerHTML = text;\n\n document.body.prepend(div);\n containers.push(div);\n } catch (err) {\n logger.error(`Error loading sprite ${url}`, err);\n }\n });\n\n return () => {\n containers.forEach((div) => {\n div.remove();\n });\n };\n }, [urls]);\n}\n\ntype SpriteStatus = {\n promise: Promise<void>;\n loaded: boolean;\n error?: Error;\n};\n\nconst loadedSprites = new Map<string, SpriteStatus>();\n\nexport function useLazyInjectSprite(url: string) {\n const [loaded, setLoaded] = useState(false);\n const [error, setError] = useState<Error | null>(null);\n\n useEffect(() => {\n let isMounted = true;\n\n // Проверяем актуальный статус прямо здесь\n const status = loadedSprites.get(url);\n if (status?.loaded) {\n setLoaded(true);\n setError(status.error ?? null);\n return;\n }\n\n let promise: Promise<void>;\n\n if (!status) {\n const p = (async () => {\n const res = await fetch(url);\n if (!res.ok) throw new Error(`Failed to load sprite: ${url}`);\n const text = await res.text();\n const div = document.createElement('div');\n div.style.display = 'none';\n div.innerHTML = text;\n document.body.prepend(div);\n })();\n\n loadedSprites.set(url, { promise: p, loaded: false });\n\n p.then(() => {\n const prev = loadedSprites.get(url);\n loadedSprites.set(url, { ...(prev as any), promise: p, loaded: true });\n }).catch((err) => {\n const errorObj = err instanceof Error ? err : new Error(String(err));\n const prev = loadedSprites.get(url);\n loadedSprites.set(url, { ...(prev as any), promise: p, loaded: true, error: errorObj });\n });\n\n promise = p;\n } else {\n promise = status.promise;\n }\n\n promise\n .then(() => {\n if (!isMounted) return;\n const s = loadedSprites.get(url);\n setLoaded(s?.loaded ?? true);\n setError(s?.error ?? null);\n })\n .catch(() => {}); // Ошибка уже сохранена в статусе\n\n return () => {\n isMounted = false;\n };\n }, [url]);\n\n return { loaded, error };\n}\n","import { Skeleton } from '@local/areas/skeleton';\nimport { ICON_VERSION } from '@local/cores/consts';\nimport { CSS_VARS } from '@local/styles/utils';\nimport { CSS_CLASS, CSS_VARS_RAW } from '@local/styles/utils/constants';\nimport { setClasses, setStyles } from '@local/styles/utils/functions';\n\nimport { useMemo } from 'react';\n\nimport { useLazyInjectSprite } from './component.hooks';\nimport { IIcon } from './component.types';\n\nexport const Icon = (props: IIcon) => {\n const iconId = useMemo(() => getIconId({ type: props.type, name: props.name }), [props.name, props.type]);\n const spriteUrl = useMemo(() => getSpriteUrl({ type: props.type }), [props.type]);\n const { loaded, error } = useLazyInjectSprite(spriteUrl);\n\n const configSkeleton = useMemo(() => {\n return {\n className: setClasses([CSS_CLASS.component.icon.skeleton, props.className]),\n style: setStyles([\n {\n [CSS_VARS_RAW.component.icon.skeletonHeightIcon]:\n props.size !== '100%' ? CSS_VARS.size[props.size].heightIcon : '100%',\n [CSS_VARS_RAW.component.icon.skeletonOrder]: props.order ? String(props.order) : 'initial',\n },\n props.style,\n ]),\n };\n }, [props.className, props.style, props.order, props.size]);\n\n const configIcon = useMemo(() => {\n return {\n className: setClasses([CSS_CLASS.component.icon.root, CSS_CLASS.transition.icon, props.className]),\n\n style: setStyles([\n {\n [CSS_VARS_RAW.component.icon.color]: props.color ? CSS_VARS.palette[props.color] : 'inherit',\n [CSS_VARS_RAW.component.icon.heightIcon]:\n props.size !== '100%' ? CSS_VARS.size[props.size].heightIcon : '100%',\n [CSS_VARS_RAW.component.icon.turn]: props.turn ? `${props.turn}deg` : '0deg',\n [CSS_VARS_RAW.component.icon.order]: props.order ? String(props.order) : 'initial',\n },\n props.style,\n ]),\n };\n }, [props.className, props.style, props.order, props.size, props.color, props.turn]);\n\n if (!loaded || error)\n return (\n <Skeleton\n color={props.color ?? undefined}\n className={configSkeleton.className}\n style={configSkeleton.style}\n visible={false}\n />\n );\n\n return (\n <svg\n width='24'\n height='24'\n viewBox='0 0 24 24'\n xmlns='http://www.w3.org/2000/svg'\n className={configIcon.className}\n style={configIcon.style}\n onClick={props.onClick}\n onKeyDown={(e) => {\n if (props.onClick && (e.key === 'Enter' || e.key === ' ')) {\n e.preventDefault();\n props.onClick(e as any);\n }\n }}\n tabIndex={props.tabIndex}\n role={props.onClick ? 'button' : undefined}\n >\n <title>{props.name}</title>\n <use href={iconId} />\n </svg>\n );\n};\n\nexport function getIconId(props: { type: string; name: string }) {\n return `#${props.type}-${props.name}`;\n}\n\nexport function getSpriteUrl(props: { type: string }) {\n return `https://cdn.jsdelivr.net/gh/jenesei-software/jenesei-id-assets@${ICON_VERSION}/icons/${props.type}.svg`;\n}\n","const THEME_MAP_ID = [\n 'Close',\n 'Biometry',\n 'Qr',\n 'Search',\n 'Folder',\n 'Wallet',\n 'Graph',\n 'Bookmark',\n 'Browser',\n 'Category',\n 'Home',\n 'Notification',\n 'Chat',\n 'Heart',\n 'Paper',\n 'Plus',\n 'Minus',\n 'PaperPlus',\n 'PaperNegative',\n 'PaperFail',\n 'PaperDownload',\n 'PaperUpload',\n 'Send',\n 'Password',\n 'Swap',\n 'Work',\n 'Arrow1',\n 'Arrow2',\n 'Arrow3',\n 'Arrow4',\n 'ArrowMini1',\n 'ArrowMini2',\n 'Scan',\n 'Activity',\n 'Calendar',\n 'Message',\n 'PlusMini',\n 'ChartMini',\n 'Game',\n 'Bag1',\n 'Bag2',\n 'TicketStar',\n 'MoreCircle',\n 'MoreSquare',\n 'Discount',\n 'Buy',\n 'Web',\n 'InfoMini',\n 'DangerMini',\n 'CloseMini',\n 'TickMini',\n 'Video',\n 'Discovery',\n 'Location',\n 'Document',\n 'Setting',\n 'Time',\n 'VolumeUp',\n 'VolumeDown',\n 'VolumeOff',\n 'Star',\n 'Select',\n 'Ticket',\n 'Camera',\n 'Profile',\n 'AddUser',\n 'TwoUser',\n 'ThreeUser',\n 'Login',\n 'Logout',\n 'Download',\n 'Upload',\n 'Voice1',\n 'Voice2',\n 'Delete',\n 'Edit',\n 'PlayMini',\n 'ShieldDone',\n 'ShieldFail',\n 'Show',\n 'Hide',\n 'Filter1',\n 'Filter2',\n 'Image',\n 'Call',\n 'Calling',\n 'CallMissed',\n 'CallSilent',\n 'Lock',\n 'Unlock',\n 'Resources',\n 'Language',\n] as const;\nconst THEME_MAP_CHECKBOX = [\n 'Radio-true',\n 'Radio-false',\n 'Square-true',\n 'Square-false',\n 'Heart-true',\n 'Heart-false',\n 'Arrow',\n] as const;\nconst THEME_MAP_LOADING = ['Line', 'Blocks', 'Balls'] as const;\nconst THEME_MAP_LOGO = ['Jenesei', 'BustMarket'] as const;\n\nexport const THEME_MAP = {\n id: THEME_MAP_ID,\n checkbox: THEME_MAP_CHECKBOX,\n loading: THEME_MAP_LOADING,\n logo: THEME_MAP_LOGO,\n};\n","import { Icon } from './component';\nimport { IGetIconComponentsProps } from './component.types';\n\nexport function getIconComponents(props: IGetIconComponentsProps) {\n return (props.icons ?? [])\n ?.filter((icon) => !icon.isHidden)\n ?.map((icon, index) => (\n <Icon key={`${icon.type}-${icon.name}-${index}`} size={icon?.size ?? props.size} {...icon} />\n ));\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"icon-DyjaxKWq.cjs","names":[],"sources":["../src/cores/consts.ts","../src/components/icon/component.hooks.tsx","../src/components/icon/component.tsx","../src/components/icon/component.consts.tsx","../src/components/icon/component.functions.tsx"],"sourcesContent":["import {\n IDatePickerTranslateInput,\n IDatePickerTranslateMonth,\n IDatePickerTranslateWeek,\n} from '@local/components/date-picker';\n\nexport const LOCALE_INPUT: IDatePickerTranslateInput = {\n day: 'ДД',\n month: 'ММ',\n year: 'ГГГГ',\n};\n\nexport const LOCALE_MONTHS: IDatePickerTranslateMonth[] = [\n {\n localeLong: 'Январь',\n localeShort: 'Янв',\n value: 'january',\n },\n {\n localeLong: 'February',\n localeShort: 'Feb',\n value: 'february',\n },\n {\n localeLong: 'March',\n localeShort: 'Mar',\n value: 'march',\n },\n {\n localeLong: 'April',\n localeShort: 'Apr',\n value: 'april',\n },\n {\n localeLong: 'May',\n localeShort: 'May',\n value: 'may',\n },\n {\n localeLong: 'June',\n localeShort: 'Jun',\n value: 'june',\n },\n {\n localeLong: 'July',\n localeShort: 'Jul',\n value: 'july',\n },\n {\n localeLong: 'August',\n localeShort: 'Aug',\n value: 'august',\n },\n {\n localeLong: 'September',\n localeShort: 'Sep',\n value: 'september',\n },\n {\n localeLong: 'October',\n localeShort: 'Oct',\n value: 'october',\n },\n {\n localeLong: 'November',\n localeShort: 'Nov',\n value: 'november',\n },\n {\n localeLong: 'December',\n localeShort: 'Dec',\n value: 'december',\n },\n];\nexport const LOCALE_WEEKS: IDatePickerTranslateWeek[] = [\n {\n localeLong: 'Monday',\n localeShort: 'Пн',\n value: 'mo',\n },\n {\n localeLong: 'Tuesday',\n localeShort: 'Tue',\n value: 'tu',\n },\n {\n localeLong: 'Wednesday',\n localeShort: 'Wed',\n value: 'we',\n },\n {\n localeLong: 'Thursday',\n localeShort: 'Thu',\n value: 'th',\n },\n {\n localeLong: 'Friday',\n localeShort: 'Fri',\n value: 'fr',\n },\n {\n localeLong: 'Saturday',\n localeShort: 'Sat',\n value: 'sa',\n },\n {\n localeLong: 'Sunday',\n localeShort: 'Sun',\n value: 'su',\n },\n];\n\nexport const LIBRARY_VERSION = import.meta.env.VITE_APP_VERSION;\nexport const ICON_VERSION = import.meta.env.VITE_ICON_VERSION;\n\n// export const LIST_TYPOGRAPHY_VARIANTS_DEFAULT: IThemeTypographyHeading[] = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'];\n","import { logger } from '@local/cores/logger';\n\nimport { useEffect, useState } from 'react';\n\nexport function useInjectSprites(urls: string[]) {\n useEffect(() => {\n const containers: HTMLDivElement[] = [];\n\n urls.forEach(async (url) => {\n try {\n const res = await fetch(url);\n if (!res.ok) {\n logger.error(`Failed to load sprite: ${url}`);\n return;\n }\n const text = await res.text();\n\n const div = document.createElement('div');\n div.style.display = 'none';\n div.innerHTML = text;\n\n document.body.prepend(div);\n containers.push(div);\n } catch (err) {\n logger.error(`Error loading sprite ${url}`, err);\n }\n });\n\n return () => {\n containers.forEach((div) => {\n div.remove();\n });\n };\n }, [urls]);\n}\n\ntype SpriteStatus = {\n promise: Promise<void>;\n loaded: boolean;\n error?: Error;\n};\n\nconst loadedSprites = new Map<string, SpriteStatus>();\n\nexport function useLazyInjectSprite(url: string) {\n const [loaded, setLoaded] = useState(false);\n const [error, setError] = useState<Error | null>(null);\n\n useEffect(() => {\n let isMounted = true;\n\n // Проверяем актуальный статус прямо здесь\n const status = loadedSprites.get(url);\n if (status?.loaded) {\n setLoaded(true);\n setError(status.error ?? null);\n return;\n }\n\n let promise: Promise<void>;\n\n if (!status) {\n const p = (async () => {\n const res = await fetch(url);\n if (!res.ok) throw new Error(`Failed to load sprite: ${url}`);\n const text = await res.text();\n const div = document.createElement('div');\n div.style.display = 'none';\n div.innerHTML = text;\n document.body.prepend(div);\n })();\n\n loadedSprites.set(url, { promise: p, loaded: false });\n\n p.then(() => {\n const prev = loadedSprites.get(url);\n loadedSprites.set(url, { ...(prev as any), promise: p, loaded: true });\n }).catch((err) => {\n const errorObj = err instanceof Error ? err : new Error(String(err));\n const prev = loadedSprites.get(url);\n loadedSprites.set(url, { ...(prev as any), promise: p, loaded: true, error: errorObj });\n });\n\n promise = p;\n } else {\n promise = status.promise;\n }\n\n promise\n .then(() => {\n if (!isMounted) return;\n const s = loadedSprites.get(url);\n setLoaded(s?.loaded ?? true);\n setError(s?.error ?? null);\n })\n .catch(() => {}); // Ошибка уже сохранена в статусе\n\n return () => {\n isMounted = false;\n };\n }, [url]);\n\n return { loaded, error };\n}\n","import { Skeleton } from '@local/areas/skeleton';\nimport { ICON_VERSION } from '@local/cores/consts';\nimport { CSS_VARS } from '@local/styles/utils';\nimport { CSS_CLASS, CSS_VARS_RAW } from '@local/styles/utils/constants';\nimport { setClasses, setStyles } from '@local/styles/utils/functions';\n\nimport { useMemo } from 'react';\n\nimport { useLazyInjectSprite } from './component.hooks';\nimport { IIcon } from './component.types';\n\nexport const Icon = (props: IIcon) => {\n const iconId = useMemo(() => getIconId({ type: props.type, name: props.name }), [props.name, props.type]);\n const spriteUrl = useMemo(() => getSpriteUrl({ type: props.type }), [props.type]);\n const { loaded, error } = useLazyInjectSprite(spriteUrl);\n\n const configSkeleton = useMemo(() => {\n return {\n className: setClasses([CSS_CLASS.component.icon.skeleton, props.className]),\n style: setStyles([\n {\n [CSS_VARS_RAW.component.icon.skeletonHeightIcon]:\n props.size !== '100%' ? CSS_VARS.size[props.size].heightIcon : '100%',\n [CSS_VARS_RAW.component.icon.skeletonOrder]: props.order ? String(props.order) : 'initial',\n },\n props.style,\n ]),\n };\n }, [props.className, props.style, props.order, props.size]);\n\n const configIcon = useMemo(() => {\n return {\n className: setClasses([CSS_CLASS.component.icon.root, CSS_CLASS.transition.icon, props.className]),\n\n style: setStyles([\n {\n [CSS_VARS_RAW.component.icon.color]: props.color ? CSS_VARS.palette[props.color] : 'inherit',\n [CSS_VARS_RAW.component.icon.heightIcon]:\n props.size !== '100%' ? CSS_VARS.size[props.size].heightIcon : '100%',\n [CSS_VARS_RAW.component.icon.turn]: props.turn ? `${props.turn}deg` : '0deg',\n [CSS_VARS_RAW.component.icon.order]: props.order ? String(props.order) : 'initial',\n },\n props.style,\n ]),\n };\n }, [props.className, props.style, props.order, props.size, props.color, props.turn]);\n\n if (!loaded || error)\n return (\n <Skeleton\n color={props.color ?? undefined}\n className={configSkeleton.className}\n style={configSkeleton.style}\n visible={false}\n />\n );\n\n return (\n <svg\n width='24'\n height='24'\n viewBox='0 0 24 24'\n xmlns='http://www.w3.org/2000/svg'\n className={configIcon.className}\n style={configIcon.style}\n onClick={props.onClick}\n onKeyDown={(e) => {\n if (props.onClick && (e.key === 'Enter' || e.key === ' ')) {\n e.preventDefault();\n props.onClick(e as any);\n }\n }}\n tabIndex={props.tabIndex}\n role={props.onClick ? 'button' : undefined}\n >\n <title>{props.name}</title>\n <use href={iconId} />\n </svg>\n );\n};\n\nexport function getIconId(props: { type: string; name: string }) {\n return `#${props.type}-${props.name}`;\n}\n\nexport function getSpriteUrl(props: { type: string }) {\n return `https://cdn.jsdelivr.net/gh/jenesei-software/jenesei-id-assets@${ICON_VERSION}/icons/${props.type}.svg`;\n}\n","const THEME_MAP_ID = [\n 'Close',\n 'Biometry',\n 'Qr',\n 'Search',\n 'Folder',\n 'Wallet',\n 'Graph',\n 'Bookmark',\n 'Browser',\n 'Category',\n 'Home',\n 'Notification',\n 'Chat',\n 'Heart',\n 'Paper',\n 'Plus',\n 'Minus',\n 'PaperPlus',\n 'PaperNegative',\n 'PaperFail',\n 'PaperDownload',\n 'PaperUpload',\n 'Send',\n 'Password',\n 'Swap',\n 'Work',\n 'Arrow1',\n 'Arrow2',\n 'Arrow3',\n 'Arrow4',\n 'ArrowMini1',\n 'ArrowMini2',\n 'Scan',\n 'Activity',\n 'Calendar',\n 'Message',\n 'PlusMini',\n 'ChartMini',\n 'Game',\n 'Bag1',\n 'Bag2',\n 'TicketStar',\n 'MoreCircle',\n 'MoreSquare',\n 'Discount',\n 'Buy',\n 'Web',\n 'InfoMini',\n 'DangerMini',\n 'CloseMini',\n 'TickMini',\n 'Video',\n 'Discovery',\n 'Location',\n 'Document',\n 'Setting',\n 'Time',\n 'VolumeUp',\n 'VolumeDown',\n 'VolumeOff',\n 'Star',\n 'Select',\n 'Ticket',\n 'Camera',\n 'Profile',\n 'AddUser',\n 'TwoUser',\n 'ThreeUser',\n 'Login',\n 'Logout',\n 'Download',\n 'Upload',\n 'Voice1',\n 'Voice2',\n 'Delete',\n 'Edit',\n 'PlayMini',\n 'ShieldDone',\n 'ShieldFail',\n 'Show',\n 'Hide',\n 'Filter1',\n 'Filter2',\n 'Image',\n 'Call',\n 'Calling',\n 'CallMissed',\n 'CallSilent',\n 'Lock',\n 'Unlock',\n 'Resources',\n 'Language',\n] as const;\nconst THEME_MAP_CHECKBOX = [\n 'Radio-true',\n 'Radio-false',\n 'Square-true',\n 'Square-false',\n 'Heart-true',\n 'Heart-false',\n 'Arrow',\n] as const;\nconst THEME_MAP_LOADING = ['Line', 'Blocks', 'Balls'] as const;\nconst THEME_MAP_LOGO = ['Jenesei', 'BustMarket'] as const;\n\nexport const THEME_MAP = {\n id: THEME_MAP_ID,\n checkbox: THEME_MAP_CHECKBOX,\n loading: THEME_MAP_LOADING,\n logo: THEME_MAP_LOGO,\n};\n","import { Icon } from './component';\nimport { IGetIconComponentsProps } from './component.types';\n\nexport function getIconComponents(props: IGetIconComponentsProps) {\n return (props.icons ?? [])\n ?.filter((icon) => !icon.isHidden)\n ?.map((icon, index) => (\n <Icon key={`${icon.type}-${icon.name}-${index}`} size={icon?.size ?? props.size} {...icon} />\n ));\n}\n"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { i as l, n as y, r as h } from "./utils-BRgi6734.js";
2
2
  import { n as w, t as M } from "./functions-DzX-pTN8.js";
3
- import { t as k } from "./skeleton-Bh6zA5iB.js";
3
+ import { t as k } from "./skeleton-wRSg85X7.js";
4
4
  import "./logger-QC3A33gh.js";
5
5
  import { jsx as u, jsxs as v } from "react/jsx-runtime";
6
6
  import { useEffect as E, useMemo as m, useState as C } from "react";
@@ -242,4 +242,4 @@ export {
242
242
  U as t
243
243
  };
244
244
 
245
- //# sourceMappingURL=icon-D2w7GViT.js.map
245
+ //# sourceMappingURL=icon-Y-IZxLXB.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"icon-D2w7GViT.js","names":[],"sources":["../src/cores/consts.ts","../src/components/icon/component.hooks.tsx","../src/components/icon/component.tsx","../src/components/icon/component.consts.tsx","../src/components/icon/component.functions.tsx"],"sourcesContent":["import {\n IDatePickerTranslateInput,\n IDatePickerTranslateMonth,\n IDatePickerTranslateWeek,\n} from '@local/components/date-picker';\n\nexport const LOCALE_INPUT: IDatePickerTranslateInput = {\n day: 'ДД',\n month: 'ММ',\n year: 'ГГГГ',\n};\n\nexport const LOCALE_MONTHS: IDatePickerTranslateMonth[] = [\n {\n localeLong: 'Январь',\n localeShort: 'Янв',\n value: 'january',\n },\n {\n localeLong: 'February',\n localeShort: 'Feb',\n value: 'february',\n },\n {\n localeLong: 'March',\n localeShort: 'Mar',\n value: 'march',\n },\n {\n localeLong: 'April',\n localeShort: 'Apr',\n value: 'april',\n },\n {\n localeLong: 'May',\n localeShort: 'May',\n value: 'may',\n },\n {\n localeLong: 'June',\n localeShort: 'Jun',\n value: 'june',\n },\n {\n localeLong: 'July',\n localeShort: 'Jul',\n value: 'july',\n },\n {\n localeLong: 'August',\n localeShort: 'Aug',\n value: 'august',\n },\n {\n localeLong: 'September',\n localeShort: 'Sep',\n value: 'september',\n },\n {\n localeLong: 'October',\n localeShort: 'Oct',\n value: 'october',\n },\n {\n localeLong: 'November',\n localeShort: 'Nov',\n value: 'november',\n },\n {\n localeLong: 'December',\n localeShort: 'Dec',\n value: 'december',\n },\n];\nexport const LOCALE_WEEKS: IDatePickerTranslateWeek[] = [\n {\n localeLong: 'Monday',\n localeShort: 'Пн',\n value: 'mo',\n },\n {\n localeLong: 'Tuesday',\n localeShort: 'Tue',\n value: 'tu',\n },\n {\n localeLong: 'Wednesday',\n localeShort: 'Wed',\n value: 'we',\n },\n {\n localeLong: 'Thursday',\n localeShort: 'Thu',\n value: 'th',\n },\n {\n localeLong: 'Friday',\n localeShort: 'Fri',\n value: 'fr',\n },\n {\n localeLong: 'Saturday',\n localeShort: 'Sat',\n value: 'sa',\n },\n {\n localeLong: 'Sunday',\n localeShort: 'Sun',\n value: 'su',\n },\n];\n\nexport const LIBRARY_VERSION = import.meta.env.VITE_APP_VERSION;\nexport const ICON_VERSION = import.meta.env.VITE_ICON_VERSION;\n\n// export const LIST_TYPOGRAPHY_VARIANTS_DEFAULT: IThemeTypographyHeading[] = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'];\n","import { logger } from '@local/cores/logger';\n\nimport { useEffect, useState } from 'react';\n\nexport function useInjectSprites(urls: string[]) {\n useEffect(() => {\n const containers: HTMLDivElement[] = [];\n\n urls.forEach(async (url) => {\n try {\n const res = await fetch(url);\n if (!res.ok) {\n logger.error(`Failed to load sprite: ${url}`);\n return;\n }\n const text = await res.text();\n\n const div = document.createElement('div');\n div.style.display = 'none';\n div.innerHTML = text;\n\n document.body.prepend(div);\n containers.push(div);\n } catch (err) {\n logger.error(`Error loading sprite ${url}`, err);\n }\n });\n\n return () => {\n containers.forEach((div) => {\n div.remove();\n });\n };\n }, [urls]);\n}\n\ntype SpriteStatus = {\n promise: Promise<void>;\n loaded: boolean;\n error?: Error;\n};\n\nconst loadedSprites = new Map<string, SpriteStatus>();\n\nexport function useLazyInjectSprite(url: string) {\n const [loaded, setLoaded] = useState(false);\n const [error, setError] = useState<Error | null>(null);\n\n useEffect(() => {\n let isMounted = true;\n\n // Проверяем актуальный статус прямо здесь\n const status = loadedSprites.get(url);\n if (status?.loaded) {\n setLoaded(true);\n setError(status.error ?? null);\n return;\n }\n\n let promise: Promise<void>;\n\n if (!status) {\n const p = (async () => {\n const res = await fetch(url);\n if (!res.ok) throw new Error(`Failed to load sprite: ${url}`);\n const text = await res.text();\n const div = document.createElement('div');\n div.style.display = 'none';\n div.innerHTML = text;\n document.body.prepend(div);\n })();\n\n loadedSprites.set(url, { promise: p, loaded: false });\n\n p.then(() => {\n const prev = loadedSprites.get(url);\n loadedSprites.set(url, { ...(prev as any), promise: p, loaded: true });\n }).catch((err) => {\n const errorObj = err instanceof Error ? err : new Error(String(err));\n const prev = loadedSprites.get(url);\n loadedSprites.set(url, { ...(prev as any), promise: p, loaded: true, error: errorObj });\n });\n\n promise = p;\n } else {\n promise = status.promise;\n }\n\n promise\n .then(() => {\n if (!isMounted) return;\n const s = loadedSprites.get(url);\n setLoaded(s?.loaded ?? true);\n setError(s?.error ?? null);\n })\n .catch(() => {}); // Ошибка уже сохранена в статусе\n\n return () => {\n isMounted = false;\n };\n }, [url]);\n\n return { loaded, error };\n}\n","import { Skeleton } from '@local/areas/skeleton';\nimport { ICON_VERSION } from '@local/cores/consts';\nimport { CSS_VARS } from '@local/styles/utils';\nimport { CSS_CLASS, CSS_VARS_RAW } from '@local/styles/utils/constants';\nimport { setClasses, setStyles } from '@local/styles/utils/functions';\n\nimport { useMemo } from 'react';\n\nimport { useLazyInjectSprite } from './component.hooks';\nimport { IIcon } from './component.types';\n\nexport const Icon = (props: IIcon) => {\n const iconId = useMemo(() => getIconId({ type: props.type, name: props.name }), [props.name, props.type]);\n const spriteUrl = useMemo(() => getSpriteUrl({ type: props.type }), [props.type]);\n const { loaded, error } = useLazyInjectSprite(spriteUrl);\n\n const configSkeleton = useMemo(() => {\n return {\n className: setClasses([CSS_CLASS.component.icon.skeleton, props.className]),\n style: setStyles([\n {\n [CSS_VARS_RAW.component.icon.skeletonHeightIcon]:\n props.size !== '100%' ? CSS_VARS.size[props.size].heightIcon : '100%',\n [CSS_VARS_RAW.component.icon.skeletonOrder]: props.order ? String(props.order) : 'initial',\n },\n props.style,\n ]),\n };\n }, [props.className, props.style, props.order, props.size]);\n\n const configIcon = useMemo(() => {\n return {\n className: setClasses([CSS_CLASS.component.icon.root, CSS_CLASS.transition.icon, props.className]),\n\n style: setStyles([\n {\n [CSS_VARS_RAW.component.icon.color]: props.color ? CSS_VARS.palette[props.color] : 'inherit',\n [CSS_VARS_RAW.component.icon.heightIcon]:\n props.size !== '100%' ? CSS_VARS.size[props.size].heightIcon : '100%',\n [CSS_VARS_RAW.component.icon.turn]: props.turn ? `${props.turn}deg` : '0deg',\n [CSS_VARS_RAW.component.icon.order]: props.order ? String(props.order) : 'initial',\n },\n props.style,\n ]),\n };\n }, [props.className, props.style, props.order, props.size, props.color, props.turn]);\n\n if (!loaded || error)\n return (\n <Skeleton\n color={props.color ?? undefined}\n className={configSkeleton.className}\n style={configSkeleton.style}\n visible={false}\n />\n );\n\n return (\n <svg\n width='24'\n height='24'\n viewBox='0 0 24 24'\n xmlns='http://www.w3.org/2000/svg'\n className={configIcon.className}\n style={configIcon.style}\n onClick={props.onClick}\n onKeyDown={(e) => {\n if (props.onClick && (e.key === 'Enter' || e.key === ' ')) {\n e.preventDefault();\n props.onClick(e as any);\n }\n }}\n tabIndex={props.tabIndex}\n role={props.onClick ? 'button' : undefined}\n >\n <title>{props.name}</title>\n <use href={iconId} />\n </svg>\n );\n};\n\nexport function getIconId(props: { type: string; name: string }) {\n return `#${props.type}-${props.name}`;\n}\n\nexport function getSpriteUrl(props: { type: string }) {\n return `https://cdn.jsdelivr.net/gh/jenesei-software/jenesei-id-assets@${ICON_VERSION}/icons/${props.type}.svg`;\n}\n","const THEME_MAP_ID = [\n 'Close',\n 'Biometry',\n 'Qr',\n 'Search',\n 'Folder',\n 'Wallet',\n 'Graph',\n 'Bookmark',\n 'Browser',\n 'Category',\n 'Home',\n 'Notification',\n 'Chat',\n 'Heart',\n 'Paper',\n 'Plus',\n 'Minus',\n 'PaperPlus',\n 'PaperNegative',\n 'PaperFail',\n 'PaperDownload',\n 'PaperUpload',\n 'Send',\n 'Password',\n 'Swap',\n 'Work',\n 'Arrow1',\n 'Arrow2',\n 'Arrow3',\n 'Arrow4',\n 'ArrowMini1',\n 'ArrowMini2',\n 'Scan',\n 'Activity',\n 'Calendar',\n 'Message',\n 'PlusMini',\n 'ChartMini',\n 'Game',\n 'Bag1',\n 'Bag2',\n 'TicketStar',\n 'MoreCircle',\n 'MoreSquare',\n 'Discount',\n 'Buy',\n 'Web',\n 'InfoMini',\n 'DangerMini',\n 'CloseMini',\n 'TickMini',\n 'Video',\n 'Discovery',\n 'Location',\n 'Document',\n 'Setting',\n 'Time',\n 'VolumeUp',\n 'VolumeDown',\n 'VolumeOff',\n 'Star',\n 'Select',\n 'Ticket',\n 'Camera',\n 'Profile',\n 'AddUser',\n 'TwoUser',\n 'ThreeUser',\n 'Login',\n 'Logout',\n 'Download',\n 'Upload',\n 'Voice1',\n 'Voice2',\n 'Delete',\n 'Edit',\n 'PlayMini',\n 'ShieldDone',\n 'ShieldFail',\n 'Show',\n 'Hide',\n 'Filter1',\n 'Filter2',\n 'Image',\n 'Call',\n 'Calling',\n 'CallMissed',\n 'CallSilent',\n 'Lock',\n 'Unlock',\n 'Resources',\n 'Language',\n] as const;\nconst THEME_MAP_CHECKBOX = [\n 'Radio-true',\n 'Radio-false',\n 'Square-true',\n 'Square-false',\n 'Heart-true',\n 'Heart-false',\n 'Arrow',\n] as const;\nconst THEME_MAP_LOADING = ['Line', 'Blocks', 'Balls'] as const;\nconst THEME_MAP_LOGO = ['Jenesei', 'BustMarket'] as const;\n\nexport const THEME_MAP = {\n id: THEME_MAP_ID,\n checkbox: THEME_MAP_CHECKBOX,\n loading: THEME_MAP_LOADING,\n logo: THEME_MAP_LOGO,\n};\n","import { Icon } from './component';\nimport { IGetIconComponentsProps } from './component.types';\n\nexport function getIconComponents(props: IGetIconComponentsProps) {\n return (props.icons ?? [])\n ?.filter((icon) => !icon.isHidden)\n ?.map((icon, index) => (\n <Icon key={`${icon.type}-${icon.name}-${index}`} size={icon?.size ?? props.size} {...icon} />\n ));\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"icon-Y-IZxLXB.js","names":[],"sources":["../src/cores/consts.ts","../src/components/icon/component.hooks.tsx","../src/components/icon/component.tsx","../src/components/icon/component.consts.tsx","../src/components/icon/component.functions.tsx"],"sourcesContent":["import {\n IDatePickerTranslateInput,\n IDatePickerTranslateMonth,\n IDatePickerTranslateWeek,\n} from '@local/components/date-picker';\n\nexport const LOCALE_INPUT: IDatePickerTranslateInput = {\n day: 'ДД',\n month: 'ММ',\n year: 'ГГГГ',\n};\n\nexport const LOCALE_MONTHS: IDatePickerTranslateMonth[] = [\n {\n localeLong: 'Январь',\n localeShort: 'Янв',\n value: 'january',\n },\n {\n localeLong: 'February',\n localeShort: 'Feb',\n value: 'february',\n },\n {\n localeLong: 'March',\n localeShort: 'Mar',\n value: 'march',\n },\n {\n localeLong: 'April',\n localeShort: 'Apr',\n value: 'april',\n },\n {\n localeLong: 'May',\n localeShort: 'May',\n value: 'may',\n },\n {\n localeLong: 'June',\n localeShort: 'Jun',\n value: 'june',\n },\n {\n localeLong: 'July',\n localeShort: 'Jul',\n value: 'july',\n },\n {\n localeLong: 'August',\n localeShort: 'Aug',\n value: 'august',\n },\n {\n localeLong: 'September',\n localeShort: 'Sep',\n value: 'september',\n },\n {\n localeLong: 'October',\n localeShort: 'Oct',\n value: 'october',\n },\n {\n localeLong: 'November',\n localeShort: 'Nov',\n value: 'november',\n },\n {\n localeLong: 'December',\n localeShort: 'Dec',\n value: 'december',\n },\n];\nexport const LOCALE_WEEKS: IDatePickerTranslateWeek[] = [\n {\n localeLong: 'Monday',\n localeShort: 'Пн',\n value: 'mo',\n },\n {\n localeLong: 'Tuesday',\n localeShort: 'Tue',\n value: 'tu',\n },\n {\n localeLong: 'Wednesday',\n localeShort: 'Wed',\n value: 'we',\n },\n {\n localeLong: 'Thursday',\n localeShort: 'Thu',\n value: 'th',\n },\n {\n localeLong: 'Friday',\n localeShort: 'Fri',\n value: 'fr',\n },\n {\n localeLong: 'Saturday',\n localeShort: 'Sat',\n value: 'sa',\n },\n {\n localeLong: 'Sunday',\n localeShort: 'Sun',\n value: 'su',\n },\n];\n\nexport const LIBRARY_VERSION = import.meta.env.VITE_APP_VERSION;\nexport const ICON_VERSION = import.meta.env.VITE_ICON_VERSION;\n\n// export const LIST_TYPOGRAPHY_VARIANTS_DEFAULT: IThemeTypographyHeading[] = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'];\n","import { logger } from '@local/cores/logger';\n\nimport { useEffect, useState } from 'react';\n\nexport function useInjectSprites(urls: string[]) {\n useEffect(() => {\n const containers: HTMLDivElement[] = [];\n\n urls.forEach(async (url) => {\n try {\n const res = await fetch(url);\n if (!res.ok) {\n logger.error(`Failed to load sprite: ${url}`);\n return;\n }\n const text = await res.text();\n\n const div = document.createElement('div');\n div.style.display = 'none';\n div.innerHTML = text;\n\n document.body.prepend(div);\n containers.push(div);\n } catch (err) {\n logger.error(`Error loading sprite ${url}`, err);\n }\n });\n\n return () => {\n containers.forEach((div) => {\n div.remove();\n });\n };\n }, [urls]);\n}\n\ntype SpriteStatus = {\n promise: Promise<void>;\n loaded: boolean;\n error?: Error;\n};\n\nconst loadedSprites = new Map<string, SpriteStatus>();\n\nexport function useLazyInjectSprite(url: string) {\n const [loaded, setLoaded] = useState(false);\n const [error, setError] = useState<Error | null>(null);\n\n useEffect(() => {\n let isMounted = true;\n\n // Проверяем актуальный статус прямо здесь\n const status = loadedSprites.get(url);\n if (status?.loaded) {\n setLoaded(true);\n setError(status.error ?? null);\n return;\n }\n\n let promise: Promise<void>;\n\n if (!status) {\n const p = (async () => {\n const res = await fetch(url);\n if (!res.ok) throw new Error(`Failed to load sprite: ${url}`);\n const text = await res.text();\n const div = document.createElement('div');\n div.style.display = 'none';\n div.innerHTML = text;\n document.body.prepend(div);\n })();\n\n loadedSprites.set(url, { promise: p, loaded: false });\n\n p.then(() => {\n const prev = loadedSprites.get(url);\n loadedSprites.set(url, { ...(prev as any), promise: p, loaded: true });\n }).catch((err) => {\n const errorObj = err instanceof Error ? err : new Error(String(err));\n const prev = loadedSprites.get(url);\n loadedSprites.set(url, { ...(prev as any), promise: p, loaded: true, error: errorObj });\n });\n\n promise = p;\n } else {\n promise = status.promise;\n }\n\n promise\n .then(() => {\n if (!isMounted) return;\n const s = loadedSprites.get(url);\n setLoaded(s?.loaded ?? true);\n setError(s?.error ?? null);\n })\n .catch(() => {}); // Ошибка уже сохранена в статусе\n\n return () => {\n isMounted = false;\n };\n }, [url]);\n\n return { loaded, error };\n}\n","import { Skeleton } from '@local/areas/skeleton';\nimport { ICON_VERSION } from '@local/cores/consts';\nimport { CSS_VARS } from '@local/styles/utils';\nimport { CSS_CLASS, CSS_VARS_RAW } from '@local/styles/utils/constants';\nimport { setClasses, setStyles } from '@local/styles/utils/functions';\n\nimport { useMemo } from 'react';\n\nimport { useLazyInjectSprite } from './component.hooks';\nimport { IIcon } from './component.types';\n\nexport const Icon = (props: IIcon) => {\n const iconId = useMemo(() => getIconId({ type: props.type, name: props.name }), [props.name, props.type]);\n const spriteUrl = useMemo(() => getSpriteUrl({ type: props.type }), [props.type]);\n const { loaded, error } = useLazyInjectSprite(spriteUrl);\n\n const configSkeleton = useMemo(() => {\n return {\n className: setClasses([CSS_CLASS.component.icon.skeleton, props.className]),\n style: setStyles([\n {\n [CSS_VARS_RAW.component.icon.skeletonHeightIcon]:\n props.size !== '100%' ? CSS_VARS.size[props.size].heightIcon : '100%',\n [CSS_VARS_RAW.component.icon.skeletonOrder]: props.order ? String(props.order) : 'initial',\n },\n props.style,\n ]),\n };\n }, [props.className, props.style, props.order, props.size]);\n\n const configIcon = useMemo(() => {\n return {\n className: setClasses([CSS_CLASS.component.icon.root, CSS_CLASS.transition.icon, props.className]),\n\n style: setStyles([\n {\n [CSS_VARS_RAW.component.icon.color]: props.color ? CSS_VARS.palette[props.color] : 'inherit',\n [CSS_VARS_RAW.component.icon.heightIcon]:\n props.size !== '100%' ? CSS_VARS.size[props.size].heightIcon : '100%',\n [CSS_VARS_RAW.component.icon.turn]: props.turn ? `${props.turn}deg` : '0deg',\n [CSS_VARS_RAW.component.icon.order]: props.order ? String(props.order) : 'initial',\n },\n props.style,\n ]),\n };\n }, [props.className, props.style, props.order, props.size, props.color, props.turn]);\n\n if (!loaded || error)\n return (\n <Skeleton\n color={props.color ?? undefined}\n className={configSkeleton.className}\n style={configSkeleton.style}\n visible={false}\n />\n );\n\n return (\n <svg\n width='24'\n height='24'\n viewBox='0 0 24 24'\n xmlns='http://www.w3.org/2000/svg'\n className={configIcon.className}\n style={configIcon.style}\n onClick={props.onClick}\n onKeyDown={(e) => {\n if (props.onClick && (e.key === 'Enter' || e.key === ' ')) {\n e.preventDefault();\n props.onClick(e as any);\n }\n }}\n tabIndex={props.tabIndex}\n role={props.onClick ? 'button' : undefined}\n >\n <title>{props.name}</title>\n <use href={iconId} />\n </svg>\n );\n};\n\nexport function getIconId(props: { type: string; name: string }) {\n return `#${props.type}-${props.name}`;\n}\n\nexport function getSpriteUrl(props: { type: string }) {\n return `https://cdn.jsdelivr.net/gh/jenesei-software/jenesei-id-assets@${ICON_VERSION}/icons/${props.type}.svg`;\n}\n","const THEME_MAP_ID = [\n 'Close',\n 'Biometry',\n 'Qr',\n 'Search',\n 'Folder',\n 'Wallet',\n 'Graph',\n 'Bookmark',\n 'Browser',\n 'Category',\n 'Home',\n 'Notification',\n 'Chat',\n 'Heart',\n 'Paper',\n 'Plus',\n 'Minus',\n 'PaperPlus',\n 'PaperNegative',\n 'PaperFail',\n 'PaperDownload',\n 'PaperUpload',\n 'Send',\n 'Password',\n 'Swap',\n 'Work',\n 'Arrow1',\n 'Arrow2',\n 'Arrow3',\n 'Arrow4',\n 'ArrowMini1',\n 'ArrowMini2',\n 'Scan',\n 'Activity',\n 'Calendar',\n 'Message',\n 'PlusMini',\n 'ChartMini',\n 'Game',\n 'Bag1',\n 'Bag2',\n 'TicketStar',\n 'MoreCircle',\n 'MoreSquare',\n 'Discount',\n 'Buy',\n 'Web',\n 'InfoMini',\n 'DangerMini',\n 'CloseMini',\n 'TickMini',\n 'Video',\n 'Discovery',\n 'Location',\n 'Document',\n 'Setting',\n 'Time',\n 'VolumeUp',\n 'VolumeDown',\n 'VolumeOff',\n 'Star',\n 'Select',\n 'Ticket',\n 'Camera',\n 'Profile',\n 'AddUser',\n 'TwoUser',\n 'ThreeUser',\n 'Login',\n 'Logout',\n 'Download',\n 'Upload',\n 'Voice1',\n 'Voice2',\n 'Delete',\n 'Edit',\n 'PlayMini',\n 'ShieldDone',\n 'ShieldFail',\n 'Show',\n 'Hide',\n 'Filter1',\n 'Filter2',\n 'Image',\n 'Call',\n 'Calling',\n 'CallMissed',\n 'CallSilent',\n 'Lock',\n 'Unlock',\n 'Resources',\n 'Language',\n] as const;\nconst THEME_MAP_CHECKBOX = [\n 'Radio-true',\n 'Radio-false',\n 'Square-true',\n 'Square-false',\n 'Heart-true',\n 'Heart-false',\n 'Arrow',\n] as const;\nconst THEME_MAP_LOADING = ['Line', 'Blocks', 'Balls'] as const;\nconst THEME_MAP_LOGO = ['Jenesei', 'BustMarket'] as const;\n\nexport const THEME_MAP = {\n id: THEME_MAP_ID,\n checkbox: THEME_MAP_CHECKBOX,\n loading: THEME_MAP_LOADING,\n logo: THEME_MAP_LOGO,\n};\n","import { Icon } from './component';\nimport { IGetIconComponentsProps } from './component.types';\n\nexport function getIconComponents(props: IGetIconComponentsProps) {\n return (props.icons ?? [])\n ?.filter((icon) => !icon.isHidden)\n ?.map((icon, index) => (\n <Icon key={`${icon.type}-${icon.name}-${index}`} size={icon?.size ?? props.size} {...icon} />\n ));\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const W=require("./chunk-Dd8m0Ver.cjs"),e=require("./utils-DCIq-5FL.cjs"),r=require("./motion-BWBldnsY.cjs"),n=require("./component-CbJ_P8yq.cjs");require("./component-stack.cjs.js");const v=require("./outside-CXyCk8h1.cjs"),P=require("./skeleton-DmaXsm9C.cjs"),i=require("./icon-Ddkbk3-m.cjs"),s=require("./preview-BLu-NOv2.cjs"),h=require("./hooks-use-merge-refs.cjs.js"),k=require("./hooks-use-typography-styles.cjs.js"),m=require("./button-CHEeSypf.cjs"),M=require("./error-BdFba_yV.cjs"),T=require("./checkbox-Bxt8K0ZY.cjs"),c=require("./popover-DQkn4RWI.cjs"),y=require("./textarea-DInJb6Lz.cjs"),t=require("./typography-BKp4OAQI.cjs"),A=require("./hooks-use-deep-compare-memoize.cjs.js"),C=require("./hooks-use-overflowing.cjs.js"),o=require("./select-CGXyVf57.cjs"),w=require("./date-picker-ATktGA1c.cjs"),f=require("./input-CmdwwrV2.cjs"),x=require("./input-otp-CJfZoWd7.cjs"),D=require("./pagination-VMAFNidU.cjs"),I=require("./separator-BGVU_LQb.cjs"),R=require("./toggle-BEmUm0of.cjs"),_=require("./context-screen-width-Cfe3atNC.cjs"),a=require("./context-app-Dsa1tKlU.cjs"),q=require("./context-browser-theme-xixEbalV.cjs"),p=require("./context-cookie-DFgWWGA9.cjs"),u=require("./context-dialog-DctdSBC8.cjs"),l=require("./context-permission-BP9hPUcR.cjs"),S=require("./context-geolocation-bP0_455H.cjs"),g=require("./context-local-storage-D_x8dwxM.cjs"),d=require("./context-sonner-Dqw0jhwT.cjs"),b=require("./hooks-use-debounced-callback.cjs.js"),E=require("./hooks-use-deep-memo.cjs.js"),L=require("./hooks-use-overflowing-advanced.cjs.js"),O=require("./hooks-use-overflowing-in-container.cjs.js"),B=require("./hooks-use-responsive-layout.cjs.js");exports.Button=m.Button;exports.CSS_CLASS=e.CSS_CLASS;exports.CSS_VARS=e.CSS_VARS;exports.CSS_VARS_RAW=e.CSS_VARS_RAW;exports.Checkbox=T.Checkbox;exports.DatePicker=w.DatePicker;exports.EXTRA_VALUE=e.EXTRA_VALUE;exports.ErrorMessage=M.ErrorMessage;exports.Icon=i.Icon;exports.Input=f.Input;exports.InputOTP=x.InputOTP;exports.MotionBlurIn=r.MotionBlurIn;exports.MotionGradualSpacing=r.MotionGradualSpacing;exports.MotionTypingEffect=r.MotionTypingEffect;exports.MotionWordsPullUp=r.MotionWordsPullUp;exports.Outside=v.Outside;exports.Pagination=D.Pagination;exports.Popover=c.Popover;exports.Preview=s.Preview;exports.ProviderApp=a.ProviderApp;exports.ProviderBrowserTheme=q.ProviderBrowserTheme;exports.ProviderCookie=p.ProviderCookie;exports.ProviderDialog=u.ProviderDialog;exports.ProviderGeolocation=S.ProviderGeolocation;exports.ProviderLocalStorage=g.ProviderLocalStorage;exports.ProviderPermission=l.ProviderPermission;exports.ProviderScreenWidth=_.ProviderScreenWidth;exports.ProviderSonner=d.ProviderSonner;exports.Select=o.Select;exports.SelectMonth=o.SelectMonth;exports.SelectMonths=o.SelectMonths;exports.SelectYear=o.SelectYear;exports.Separator=I.Separator;exports.Skeleton=P.Skeleton;exports.Stack=n.Stack;exports.StackMotion=n.StackMotion;exports.THEME_MAP=i.THEME_MAP;exports.TextArea=y.TextArea;exports.Toggle=R.Toggle;exports.Tooltip=t.Tooltip;exports.Typography=t.Typography;exports.TypographyTooltip=t.TypographyTooltip;exports.getIconComponents=i.getIconComponents;exports.useApp=a.useApp;exports.useCookie=p.useCookie;exports.useDebouncedCallback=b.useDebouncedCallback;exports.useDeepCompareMemoize=A.useDeepCompareMemoize;exports.useDeepMemo=E.useDeepMemo;exports.useDialog=u.useDialog;exports.useDialogs=u.useDialogs;exports.useGeolocation=S.useGeolocation;exports.useIBrowserTheme=q.useIBrowserTheme;exports.useLocalStorage=g.useLocalStorage;exports.useMergeRefs=h.useMergeRefs;exports.useOverflowing=C.useOverflowing;exports.useOverflowingAdvanced=L.useOverflowingAdvanced;exports.useOverflowingInContainer=O.useOverflowingInContainer;exports.usePermission=l.usePermission;exports.usePopover=c.usePopover;exports.useRemovePreviewLoader=s.useRemovePreviewLoader;exports.useResponsiveLayout=B.useResponsiveLayout;exports.useScreenWidth=_.useScreenWidth;exports.useSonner=d.useSonner;exports.useTypographyStyles=k.useTypographyStyles;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const G=require("./chunk-Dd8m0Ver.cjs"),e=require("./utils-DCIq-5FL.cjs"),r=require("./motion-BWBldnsY.cjs"),s=require("./component-CbJ_P8yq.cjs");require("./component-stack.cjs.js");const v=require("./outside-BP81eKu0.cjs"),P=require("./skeleton-BfOHjRgT.cjs"),i=require("./icon-DyjaxKWq.cjs"),n=require("./preview-p2i9Ju3I.cjs"),h=require("./hooks-use-deep-compare-memoize.cjs.js"),k=require("./hooks-use-merge-refs.cjs.js"),m=require("./hooks-use-typography-styles.cjs.js"),M=require("./button-6CFvwtSz.cjs"),T=require("./error-aQfsl_Kl.cjs"),y=require("./checkbox-9ue4f3-6.cjs"),c=require("./popover-B1KASIeD.cjs"),A=require("./textarea-Bm3ki2-6.cjs"),u=require("./typography-DzYrzZZb.cjs"),C=require("./hooks-use-overflowing.cjs.js"),o=require("./select-7yVS14II.cjs"),w=require("./date-picker-9rpPgP0a.cjs"),f=require("./input-DMm67Wyr.cjs"),x=require("./input-otp-MDjIcfVu.cjs"),D=require("./pagination-ZXl2fVKZ.cjs"),I=require("./separator-BGVU_LQb.cjs"),R=require("./toggle-CdUVhH0Z.cjs"),_=require("./context-screen-width-Cfe3atNC.cjs"),a=require("./context-app-29ajupjq.cjs"),q=require("./context-browser-theme-xixEbalV.cjs"),p=require("./context-cookie-DFgWWGA9.cjs"),t=require("./context-dialog-BLb0fPJw.cjs"),l=require("./context-permission-BP9hPUcR.cjs"),S=require("./context-geolocation-bP0_455H.cjs"),g=require("./context-local-storage-D_x8dwxM.cjs"),d=require("./context-sonner-B-eO7pwI.cjs"),b=require("./hooks-use-debounced-callback.cjs.js"),E=require("./hooks-use-deep-memo.cjs.js"),L=require("./hooks-use-fps.cjs.js"),O=require("./hooks-use-overflowing-advanced.cjs.js"),B=require("./hooks-use-overflowing-in-container.cjs.js"),W=require("./hooks-use-responsive-layout.cjs.js");exports.Button=M.Button;exports.CSS_CLASS=e.CSS_CLASS;exports.CSS_VARS=e.CSS_VARS;exports.CSS_VARS_RAW=e.CSS_VARS_RAW;exports.Checkbox=y.Checkbox;exports.DatePicker=w.DatePicker;exports.EXTRA_VALUE=e.EXTRA_VALUE;exports.ErrorMessage=T.ErrorMessage;exports.Icon=i.Icon;exports.Input=f.Input;exports.InputOTP=x.InputOTP;exports.MotionBlurIn=r.MotionBlurIn;exports.MotionGradualSpacing=r.MotionGradualSpacing;exports.MotionTypingEffect=r.MotionTypingEffect;exports.MotionWordsPullUp=r.MotionWordsPullUp;exports.Outside=v.Outside;exports.Pagination=D.Pagination;exports.Popover=c.Popover;exports.Preview=n.Preview;exports.ProviderApp=a.ProviderApp;exports.ProviderBrowserTheme=q.ProviderBrowserTheme;exports.ProviderCookie=p.ProviderCookie;exports.ProviderDialog=t.ProviderDialog;exports.ProviderGeolocation=S.ProviderGeolocation;exports.ProviderLocalStorage=g.ProviderLocalStorage;exports.ProviderPermission=l.ProviderPermission;exports.ProviderScreenWidth=_.ProviderScreenWidth;exports.ProviderSonner=d.ProviderSonner;exports.Select=o.Select;exports.SelectMonth=o.SelectMonth;exports.SelectMonths=o.SelectMonths;exports.SelectYear=o.SelectYear;exports.Separator=I.Separator;exports.Skeleton=P.Skeleton;exports.Stack=s.Stack;exports.StackMotion=s.StackMotion;exports.THEME_MAP=i.THEME_MAP;exports.TextArea=A.TextArea;exports.Toggle=R.Toggle;exports.Tooltip=u.Tooltip;exports.Typography=u.Typography;exports.TypographyTooltip=u.TypographyTooltip;exports.getIconComponents=i.getIconComponents;exports.useApp=a.useApp;exports.useCookie=p.useCookie;exports.useDebouncedCallback=b.useDebouncedCallback;exports.useDeepCompareMemoize=h.useDeepCompareMemoize;exports.useDeepMemo=E.useDeepMemo;exports.useDialog=t.useDialog;exports.useDialogs=t.useDialogs;exports.useFps=L.useFps;exports.useGeolocation=S.useGeolocation;exports.useIBrowserTheme=q.useIBrowserTheme;exports.useLocalStorage=g.useLocalStorage;exports.useMergeRefs=k.useMergeRefs;exports.useOverflowing=C.useOverflowing;exports.useOverflowingAdvanced=O.useOverflowingAdvanced;exports.useOverflowingInContainer=B.useOverflowingInContainer;exports.usePermission=l.usePermission;exports.usePopover=c.usePopover;exports.useRemovePreviewLoader=n.useRemovePreviewLoader;exports.useResponsiveLayout=W.useResponsiveLayout;exports.useScreenWidth=_.useScreenWidth;exports.useSonner=d.useSonner;exports.useTypographyStyles=m.useTypographyStyles;
package/build/index.d.ts CHANGED
@@ -29,6 +29,7 @@ export * from './contexts/context-sonner';
29
29
  export * from './hooks/use-debounced-callback';
30
30
  export * from './hooks/use-deep-compare-memoize';
31
31
  export * from './hooks/use-deep-memo';
32
+ export * from './hooks/use-fps';
32
33
  export * from './hooks/use-merge-refs';
33
34
  export * from './hooks/use-overflowing';
34
35
  export * from './hooks/use-overflowing-advanced';
package/build/index.es.js CHANGED
@@ -2,50 +2,51 @@ import { i as r, n as t, r as e, t as s } from "./utils-BRgi6734.js";
2
2
  import { i as m, n as i, r as p, t as n } from "./motion-C1XU2d68.js";
3
3
  import { n as u, t as S } from "./component-DGfyD5-u.js";
4
4
  import "./component-stack.es.js";
5
- import { t as P } from "./outside-DopxX0PZ.js";
6
- import { t as v } from "./skeleton-Bh6zA5iB.js";
7
- import { n as M, r as T, t as A } from "./icon-D2w7GViT.js";
8
- import { n as h, t as y } from "./preview-Bc2qdyd4.js";
9
- import { useMergeRefs as w } from "./hooks-use-merge-refs.es.js";
10
- import { useTypographyStyles as I } from "./hooks-use-typography-styles.es.js";
11
- import { t as E } from "./button-C1w25-Hk.js";
12
- import { t as _ } from "./error-BFb2NCum.js";
13
- import { t as B } from "./checkbox-DPkXe4_5.js";
14
- import { n as b, t as x } from "./popover-DHWcQVp1.js";
15
- import { t as V } from "./textarea-jIGZ0JdP.js";
16
- import { n as z, r as H, t as X } from "./typography-07KEDl9_.js";
17
- import { useDeepCompareMemoize as j } from "./hooks-use-deep-compare-memoize.es.js";
18
- import { useOverflowing as F } from "./hooks-use-overflowing.es.js";
19
- import { a as K, n as N, r as Q, t as Z } from "./select-CCbtkj6f.js";
20
- import { t as oo } from "./date-picker-D81n3KbO.js";
21
- import { t as to } from "./input-B9ceeR9v.js";
22
- import { t as so } from "./input-otp-CeMGm5Xq.js";
23
- import { t as mo } from "./pagination-BluJtJl7.js";
5
+ import { t as P } from "./outside-_oOot7z3.js";
6
+ import { t as v } from "./skeleton-wRSg85X7.js";
7
+ import { n as M, r as T, t as A } from "./icon-Y-IZxLXB.js";
8
+ import { n as h, t as y } from "./preview-C-mtYSGG.js";
9
+ import { useDeepCompareMemoize as w } from "./hooks-use-deep-compare-memoize.es.js";
10
+ import { useMergeRefs as I } from "./hooks-use-merge-refs.es.js";
11
+ import { useTypographyStyles as E } from "./hooks-use-typography-styles.es.js";
12
+ import { t as _ } from "./button-D6Bg00Uh.js";
13
+ import { t as B } from "./error-iaB6e_aq.js";
14
+ import { t as b } from "./checkbox-TW5VSNui.js";
15
+ import { n as G, t as V } from "./popover--NOw9qfd.js";
16
+ import { t as z } from "./textarea-DLZq4RT-.js";
17
+ import { n as H, r as X, t as Y } from "./typography-Tebu6c9L.js";
18
+ import { useOverflowing as q } from "./hooks-use-overflowing.es.js";
19
+ import { a as K, n as N, r as Q, t as Z } from "./select-BdGRG7zf.js";
20
+ import { t as oo } from "./date-picker-BvKtH7lp.js";
21
+ import { t as to } from "./input-Buf_HFGH.js";
22
+ import { t as so } from "./input-otp-q4zKk_nP.js";
23
+ import { t as mo } from "./pagination-BFTnpYCz.js";
24
24
  import { t as po } from "./separator-DJEhOPUT.js";
25
- import { t as fo } from "./toggle-D1nXs-LD.js";
25
+ import { t as fo } from "./toggle-Bzru0yZw.js";
26
26
  import { n as So, t as lo } from "./context-screen-width-Cq_B7IVp.js";
27
- import { n as Po, t as go } from "./context-app-C9XoarPw.js";
27
+ import { n as Po, t as go } from "./context-app-CxNgCfd2.js";
28
28
  import { n as Mo, t as To } from "./context-browser-theme-CRBCZ_y_.js";
29
29
  import { n as Co, t as ho } from "./context-cookie-Daq2MZo3.js";
30
- import { n as ko, r as wo, t as Do } from "./context-dialog-DzwL2ElF.js";
30
+ import { n as ko, r as wo, t as Do } from "./context-dialog-IYNzoNOe.js";
31
31
  import { n as Ro, t as Eo } from "./context-permission-Cj70kL4A.js";
32
32
  import { n as _o, t as Oo } from "./context-geolocation-B_KYGlfQ.js";
33
33
  import { n as Wo, t as bo } from "./context-local-storage-DA_whw_k.js";
34
- import { n as Go, t as Vo } from "./context-sonner-MO6uE8y0.js";
34
+ import { n as Go, t as Vo } from "./context-sonner-CtCttHLD.js";
35
35
  import { useDebouncedCallback as zo } from "./hooks-use-debounced-callback.es.js";
36
- import { useDeepMemo as Xo } from "./hooks-use-deep-memo.es.js";
37
- import { useOverflowingAdvanced as jo } from "./hooks-use-overflowing-advanced.es.js";
38
- import { useOverflowingInContainer as Fo } from "./hooks-use-overflowing-in-container.es.js";
39
- import { useResponsiveLayout as Ko } from "./hooks-use-responsive-layout.es.js";
36
+ import { useDeepMemo as Ho } from "./hooks-use-deep-memo.es.js";
37
+ import { useFps as Yo } from "./hooks-use-fps.es.js";
38
+ import { useOverflowingAdvanced as qo } from "./hooks-use-overflowing-advanced.es.js";
39
+ import { useOverflowingInContainer as Ko } from "./hooks-use-overflowing-in-container.es.js";
40
+ import { useResponsiveLayout as Qo } from "./hooks-use-responsive-layout.es.js";
40
41
  export {
41
- E as Button,
42
+ _ as Button,
42
43
  t as CSS_CLASS,
43
44
  e as CSS_VARS,
44
45
  r as CSS_VARS_RAW,
45
- B as Checkbox,
46
+ b as Checkbox,
46
47
  oo as DatePicker,
47
48
  s as EXTRA_VALUE,
48
- _ as ErrorMessage,
49
+ B as ErrorMessage,
49
50
  T as Icon,
50
51
  to as Input,
51
52
  so as InputOTP,
@@ -55,7 +56,7 @@ export {
55
56
  m as MotionWordsPullUp,
56
57
  P as Outside,
57
58
  mo as Pagination,
58
- x as Popover,
59
+ V as Popover,
59
60
  h as Preview,
60
61
  Po as ProviderApp,
61
62
  Mo as ProviderBrowserTheme,
@@ -75,31 +76,32 @@ export {
75
76
  S as Stack,
76
77
  u as StackMotion,
77
78
  M as THEME_MAP,
78
- V as TextArea,
79
+ z as TextArea,
79
80
  fo as Toggle,
80
- H as Tooltip,
81
- X as Typography,
82
- z as TypographyTooltip,
81
+ X as Tooltip,
82
+ Y as Typography,
83
+ H as TypographyTooltip,
83
84
  A as getIconComponents,
84
85
  go as useApp,
85
86
  ho as useCookie,
86
87
  zo as useDebouncedCallback,
87
- j as useDeepCompareMemoize,
88
- Xo as useDeepMemo,
88
+ w as useDeepCompareMemoize,
89
+ Ho as useDeepMemo,
89
90
  Do as useDialog,
90
91
  ko as useDialogs,
92
+ Yo as useFps,
91
93
  Oo as useGeolocation,
92
94
  To as useIBrowserTheme,
93
95
  bo as useLocalStorage,
94
- w as useMergeRefs,
95
- F as useOverflowing,
96
- jo as useOverflowingAdvanced,
97
- Fo as useOverflowingInContainer,
96
+ I as useMergeRefs,
97
+ q as useOverflowing,
98
+ qo as useOverflowingAdvanced,
99
+ Ko as useOverflowingInContainer,
98
100
  Eo as usePermission,
99
- b as usePopover,
101
+ G as usePopover,
100
102
  y as useRemovePreviewLoader,
101
- Ko as useResponsiveLayout,
103
+ Qo as useResponsiveLayout,
102
104
  lo as useScreenWidth,
103
105
  Vo as useSonner,
104
- I as useTypographyStyles
106
+ E as useTypographyStyles
105
107
  };
@@ -2,9 +2,9 @@ import { i as P, n as L, r as Y } from "./utils-BRgi6734.js";
2
2
  import { n as Se, t as Ce } from "./functions-DzX-pTN8.js";
3
3
  import { useMergeRefs as He } from "./hooks-use-merge-refs.es.js";
4
4
  import { useTypographyStyles as $e } from "./hooks-use-typography-styles.es.js";
5
- import { t as qe } from "./error-BFb2NCum.js";
5
+ import { t as qe } from "./error-iaB6e_aq.js";
6
6
  import { Fragment as Ue, jsx as ne, jsxs as be } from "react/jsx-runtime";
7
- import p, { useCallback as Ze, useEffect as fe, useLayoutEffect as Ge, useMemo as ge, useRef as ee, useState as De } from "react";
7
+ import p, { useCallback as Ze, useEffect as fe, useLayoutEffect as Ge, useMemo as de, useRef as ee, useState as De } from "react";
8
8
  function he(e, t) {
9
9
  var a = {};
10
10
  for (var n in e) Object.prototype.hasOwnProperty.call(e, n) && t.indexOf(n) < 0 && (a[n] = e[n]);
@@ -145,7 +145,7 @@ var Ee = Je(function(e, t) {
145
145
  function tt(e, t, a) {
146
146
  return Math.min(Math.max(e, t), a);
147
147
  }
148
- function me(e) {
148
+ function ge(e) {
149
149
  return Math.max(e.selectionStart, e.selectionEnd);
150
150
  }
151
151
  function at() {
@@ -196,7 +196,7 @@ function nt(e, t, a, n, r, i, f) {
196
196
  var E = g === -1 || m[g] === -1 ? 0 : m[g] + 1;
197
197
  return E > w ? w : n - E < w - n ? E : w;
198
198
  }
199
- function de(e, t, a, n) {
199
+ function ce(e, t, a, n) {
200
200
  var r = e.length;
201
201
  if (t = tt(t, 0, r), n === "left") {
202
202
  for (; t >= 0 && !a[t]; ) t--;
@@ -231,7 +231,7 @@ function Le(e, t, a, n, r, i) {
231
231
  }), u = e, m = a;
232
232
  q(e) && (u = s.numAsString, m = !0);
233
233
  var S = f(u, m);
234
- return ge(function() {
234
+ return de(function() {
235
235
  h(S);
236
236
  }, [S.formattedValue]), fe(function() {
237
237
  if (!q(t) && q(e) && s.formattedValue !== "") {
@@ -326,16 +326,16 @@ function _e(e) {
326
326
  l.value === C && l.selectionStart !== c && X(l, c);
327
327
  }, 0));
328
328
  }, _ = function(l, c, C) {
329
- return de(l, c, E(l), C);
329
+ return ce(l, c, E(l), C);
330
330
  }, re = function(l, c, C) {
331
331
  var B = E(c), k = nt(c, V, l, C, B, I, F);
332
- return k = de(c, k, B), k;
332
+ return k = ce(c, k, B), k;
333
333
  }, ue = function(l) {
334
334
  var c = l.formattedValue;
335
335
  c === void 0 && (c = "");
336
336
  var C = l.input, B = l.source, k = l.event, D = l.numAsString, N;
337
337
  if (C) {
338
- var H = l.inputValue || C.value, J = me(C);
338
+ var H = l.inputValue || C.value, J = ge(C);
339
339
  C.value = c, N = re(H, c, J), N !== void 0 && R(C, N, c);
340
340
  }
341
341
  c !== V && G(T(c, D), {
@@ -350,7 +350,7 @@ function _e(e) {
350
350
  source: ie.props
351
351
  });
352
352
  }, [V, j]);
353
- var le = x.current ? me(x.current) : void 0;
353
+ var le = x.current ? ge(x.current) : void 0;
354
354
  (typeof window < "u" ? Ge : fe)(function() {
355
355
  var l = x.current;
356
356
  if (V !== Z.current.formattedValue && l) {
@@ -358,10 +358,10 @@ function _e(e) {
358
358
  l.value = V, R(l, c, V);
359
359
  }
360
360
  }, [V]);
361
- var ve = function(l, c, C) {
361
+ var se = function(l, c, C) {
362
362
  var B = c.target, k = K.current ? et(K.current, B.selectionEnd) : Ee(V, l), D = Object.assign(Object.assign({}, k), { lastValue: V }), N = v(l, D), H = O(N);
363
363
  if (N = v(H, void 0), u && !u(T(H, N))) {
364
- var J = c.target, Q = re(l, V, me(J));
364
+ var J = c.target, Q = re(l, V, ge(J));
365
365
  return J.value = V, R(J, Q, V), !1;
366
366
  }
367
367
  return ue({
@@ -372,14 +372,14 @@ function _e(e) {
372
372
  source: C,
373
373
  input: c.target
374
374
  }), !0;
375
- }, se = function(l, c) {
375
+ }, me = function(l, c) {
376
376
  c === void 0 && (c = 0), K.current = {
377
377
  selectionStart: l.selectionStart,
378
378
  selectionEnd: l.selectionEnd + c
379
379
  };
380
380
  }, Me = function(l) {
381
381
  var c = l.target.value;
382
- ve(c, l, ie.event) && m(l), K.current = void 0;
382
+ se(c, l, ie.event) && m(l), K.current = void 0;
383
383
  }, ke = function(l) {
384
384
  var c = l.target, C = l.key, B = c.selectionStart, k = c.selectionEnd, D = c.value;
385
385
  D === void 0 && (D = "");
@@ -389,11 +389,11 @@ function _e(e) {
389
389
  C === "Delete" && B === k && (H = 1);
390
390
  var J = C === "ArrowLeft" || C === "ArrowRight";
391
391
  if (N === void 0 || B !== k && !J) {
392
- S(l), se(c, H);
392
+ S(l), me(c, H);
393
393
  return;
394
394
  }
395
395
  var Q = N;
396
- J ? (Q = _(D, N, C === "ArrowLeft" ? "left" : "right"), Q !== N && l.preventDefault()) : C === "Delete" && !I(D[N]) ? Q = _(D, N, "right") : C === "Backspace" && !I(D[N]) && (Q = _(D, N, "left")), Q !== N && R(c, Q, D), S(l), se(c, H);
396
+ J ? (Q = _(D, N, C === "ArrowLeft" ? "left" : "right"), Q !== N && l.preventDefault()) : C === "Delete" && !I(D[N]) ? Q = _(D, N, "right") : C === "Backspace" && !I(D[N]) && (Q = _(D, N, "left")), Q !== N && R(c, Q, D), S(l), me(c, H);
397
397
  }, Pe = function(l) {
398
398
  var c = l.target, C = function() {
399
399
  var B = c.selectionStart, k = c.selectionEnd, D = c.value;
@@ -404,7 +404,7 @@ function _e(e) {
404
404
  };
405
405
  C(), requestAnimationFrame(function() {
406
406
  C();
407
- }), o(l), se(c);
407
+ }), o(l), me(c);
408
408
  }, je = function(l) {
409
409
  l.persist && l.persist();
410
410
  var c = l.target, C = l.currentTarget;
@@ -439,10 +439,10 @@ function Ie(e, t) {
439
439
  i === void 0 && (i = "");
440
440
  var f = t.allowNegative, v = t.thousandsGroupStyle;
441
441
  if (v === void 0 && (v = "thousand"), e === "" || e === "-") return e;
442
- var s = ce(t), h = s.thousandSeparator, d = s.decimalSeparator, u = a !== 0 && e.indexOf(".") !== -1 || a && n, m = xe(e, f), S = m.beforeDecimal, o = m.afterDecimal, b = m.addNegation;
442
+ var s = ve(t), h = s.thousandSeparator, d = s.decimalSeparator, u = a !== 0 && e.indexOf(".") !== -1 || a && n, m = xe(e, f), S = m.beforeDecimal, o = m.afterDecimal, b = m.addNegation;
443
443
  return a !== void 0 && (o = Fe(o, a, !!n)), h && (S = Ye(S, h, v)), r && (S = r + S), i && (o = o + i), b && (S = "-" + S), e = S + (u && d || "") + o, e;
444
444
  }
445
- function ce(e) {
445
+ function ve(e) {
446
446
  var t = e.decimalSeparator;
447
447
  t === void 0 && (t = ".");
448
448
  var a = e.thousandSeparator, n = e.allowedDecimalSeparators;
@@ -470,7 +470,7 @@ function ct(e, t, a) {
470
470
  i === void 0 && (i = "");
471
471
  var f = a.suffix;
472
472
  f === void 0 && (f = "");
473
- var v = a.decimalScale, s = t.from, h = t.to, d = h.start, u = h.end, m = ce(a), S = m.allowedDecimalSeparators, o = m.decimalSeparator, b = e[u] === o;
473
+ var v = a.decimalScale, s = t.from, h = t.to, d = h.start, u = h.end, m = ve(a), S = m.allowedDecimalSeparators, o = m.decimalSeparator, b = e[u] === o;
474
474
  if (te(e) && (e === i || e === f) && t.lastValue === "") return e;
475
475
  if (u - d === 1 && S.indexOf(e[d]) !== -1) {
476
476
  var g = v === 0 ? "" : o;
@@ -514,7 +514,7 @@ function vt(e, t) {
514
514
  return r.fill(!1, f - n.length + 1, f + 1), r;
515
515
  }
516
516
  function st(e) {
517
- var t = ce(e), a = t.thousandSeparator, n = t.decimalSeparator, r = e.prefix;
517
+ var t = ve(e), a = t.thousandSeparator, n = t.decimalSeparator, r = e.prefix;
518
518
  r === void 0 && (r = "");
519
519
  var i = e.allowNegative;
520
520
  if (i === void 0 && (i = !0), a === n) throw new Error(`
@@ -553,7 +553,7 @@ function mt(e) {
553
553
  "value",
554
554
  "valueIsNumericString",
555
555
  "onValueChange"
556
- ]), b = ce(e), g = b.decimalSeparator, w = b.allowedDecimalSeparators, E = function(y) {
556
+ ]), b = ve(e), g = b.decimalSeparator, w = b.allowedDecimalSeparators, E = function(y) {
557
557
  return Ie(y, e);
558
558
  }, I = function(y, x) {
559
559
  return ct(y, x, e);
@@ -587,8 +587,8 @@ function mt(e) {
587
587
  }, ae = function(y) {
588
588
  return y === g ? !0 : te(y);
589
589
  }, oe = function(y) {
590
- var x = y.currentValue, A = y.lastValue, O = y.formattedValue, T = y.currentValueIndex, R = y.formattedValueIndex, _ = x[T], re = O[R], ue = Ee(A, x).to, le = function(ve) {
591
- return I(ve).indexOf(".") + h.length;
590
+ var x = y.currentValue, A = y.lastValue, O = y.formattedValue, T = y.currentValueIndex, R = y.formattedValueIndex, _ = x[T], re = O[R], ue = Ee(A, x).to, le = function(se) {
591
+ return I(se).indexOf(".") + h.length;
592
592
  };
593
593
  return u === 0 && s && v && x[ue.start] === g && le(x) < T && le(O) > R ? !1 : T >= ue.start && T < ue.end && w && w.includes(_) && re === g ? !0 : _ === re;
594
594
  };
@@ -702,8 +702,8 @@ function bt(e) {
702
702
  for (var W = t.length; F < W && t[F] !== r; ) F++;
703
703
  M = "right";
704
704
  }
705
- F = de(I, F, h(I), M);
706
- } else t[F] !== r && b !== "ArrowLeft" && b !== "ArrowRight" && (F = de(I, F + 1, h(I), "right"));
705
+ F = ce(I, F, h(I), M);
706
+ } else t[F] !== r && b !== "ArrowLeft" && b !== "ArrowRight" && (F = ce(I, F + 1, h(I), "right"));
707
707
  F !== w && X(g, F), n(o);
708
708
  }, u = q(i) ? f : i, m = v ?? Ct(u, t), S = Object.assign(Object.assign({}, e), { valueIsNumericString: m });
709
709
  return Object.assign(Object.assign({}, s), {
@@ -732,13 +732,17 @@ var Bt = (e) => {
732
732
  e.onChange?.(m);
733
733
  }
734
734
  (e.variety === "pattern" || e.variety === "numeric") && typeof d != "string" && e.onChange?.(d);
735
- }, [e]), { className: a, style: n } = $e({ sx: {
735
+ }, [
736
+ e.variety,
737
+ e.isNoSpaces,
738
+ e.onChange
739
+ ]), { className: a, style: n } = $e({ sx: {
736
740
  family: e.isNiceNumber ? "Roboto Mono" : e.sxTypography?.family,
737
741
  size: 16,
738
742
  weight: e.isBold ? "700" : "400",
739
743
  height: "1",
740
744
  ...e?.sxTypography
741
- } }), { className: r, style: i } = ge(() => {
745
+ } }), { className: r, style: i } = de(() => {
742
746
  const d = Ce([
743
747
  L.component.input.wrapper,
744
748
  L.transition.color,
@@ -779,7 +783,7 @@ var Bt = (e) => {
779
783
  e.control,
780
784
  e.isCenter,
781
785
  e.error?.isError
782
- ]), { className: f, style: v } = ge(() => {
786
+ ]), { className: f, style: v } = de(() => {
783
787
  const d = Ce([
784
788
  L.component.input.root,
785
789
  L.transition.color,
@@ -803,7 +807,7 @@ var Bt = (e) => {
803
807
  n,
804
808
  e.postfixChildren,
805
809
  e.prefixChildren
806
- ]), s = ee(null), h = He([s, e.ref]);
810
+ ]), s = ee(null), h = He(de(() => [s, e.ref], [e.ref]));
807
811
  return /* @__PURE__ */ be(Ue, { children: [/* @__PURE__ */ be("div", {
808
812
  className: r,
809
813
  style: i,
@@ -914,4 +918,4 @@ export {
914
918
  Bt as t
915
919
  };
916
920
 
917
- //# sourceMappingURL=input-B9ceeR9v.js.map
921
+ //# sourceMappingURL=input-Buf_HFGH.js.map