@scbt-ecom/ui 0.153.7 → 0.153.9

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 (145) hide show
  1. package/dist/lib/exports/ui.js +1 -1
  2. package/dist/lib/exports/widget.js +1 -1
  3. package/dist/lib/shared/style.css +1 -1
  4. package/dist/lib/shared/ui/carousel/Carousel.js +2 -0
  5. package/dist/lib/shared/ui/carousel/Carousel.js.map +1 -0
  6. package/dist/lib/shared/ui/carousel/index.js +1 -1
  7. package/dist/lib/shared/ui/carousel/model/constant.js +2 -0
  8. package/dist/lib/shared/ui/carousel/model/constant.js.map +1 -0
  9. package/dist/lib/shared/ui/carousel/model/helpers.js +1 -1
  10. package/dist/lib/shared/ui/carousel/model/helpers.js.map +1 -1
  11. package/dist/lib/shared/ui/carousel/model/hooks/useArrowNavigation.js.map +1 -1
  12. package/dist/lib/shared/ui/carousel/model/hooks/useDotsNavigation.js.map +1 -1
  13. package/dist/lib/shared/ui/carousel/model/index.js +1 -1
  14. package/dist/lib/shared/ui/carousel/ui/ArrowNavigationButton.js.map +1 -1
  15. package/dist/lib/shared/ui/carousel/ui/DotsNavigations.js +1 -1
  16. package/dist/lib/shared/ui/carousel/ui/DotsNavigations.js.map +1 -1
  17. package/dist/lib/shared/ui/carousel/ui/RenderSlides.js +2 -0
  18. package/dist/lib/shared/ui/carousel/ui/RenderSlides.js.map +1 -0
  19. package/dist/lib/shared/ui/carousel/ui/index.js +1 -1
  20. package/dist/lib/shared/ui/carousel/ui/slideVariants/SlideFullScreen.js +1 -1
  21. package/dist/lib/shared/ui/carousel/ui/slideVariants/SlideFullScreen.js.map +1 -1
  22. package/dist/lib/shared/ui/carousel/ui/slideVariants/SlideProductCard.js +1 -1
  23. package/dist/lib/shared/ui/carousel/ui/slideVariants/SlideProductCard.js.map +1 -1
  24. package/dist/lib/shared/ui/carousel/ui/slideVariants/SlideStepsList.js +2 -0
  25. package/dist/lib/shared/ui/carousel/ui/slideVariants/SlideStepsList.js.map +1 -0
  26. package/dist/lib/shared/ui/carousel/ui/slideVariants/index.js +1 -1
  27. package/dist/lib/shared/ui/carousel/ui/slideVariants/slide.module.css +1 -0
  28. package/dist/lib/shared/ui/carousel/ui/slideVariants/slide.module.css.js +2 -0
  29. package/dist/lib/shared/ui/carousel/ui/slideVariants/slide.module.css.js.map +1 -0
  30. package/dist/lib/shared/ui/carousel/ui/stepsList/StepListItemType.js +2 -0
  31. package/dist/lib/shared/ui/carousel/ui/stepsList/StepListItemType.js.map +1 -0
  32. package/dist/lib/shared/ui/carousel/ui/stepsList/StepsList.js +2 -0
  33. package/dist/lib/shared/ui/carousel/ui/stepsList/StepsList.js.map +1 -0
  34. package/dist/lib/shared/ui/carousel/ui/stepsList/index.js +2 -0
  35. package/dist/lib/shared/ui/carousel/ui/stepsList/index.js.map +1 -0
  36. package/dist/lib/shared/ui/carouselBase/CarouselBase.js.map +1 -0
  37. package/dist/lib/shared/ui/carouselBase/CarouselNative.js.map +1 -0
  38. package/dist/lib/shared/ui/carouselBase/index.js +2 -0
  39. package/dist/lib/shared/ui/carouselBase/index.js.map +1 -0
  40. package/dist/lib/shared/ui/carouselBase/model/helpers.js +2 -0
  41. package/dist/lib/shared/ui/carouselBase/model/helpers.js.map +1 -0
  42. package/dist/lib/shared/ui/carouselBase/model/hooks/index.js +2 -0
  43. package/dist/lib/shared/ui/carouselBase/model/hooks/index.js.map +1 -0
  44. package/dist/lib/shared/ui/carouselBase/model/hooks/useArrowNavigation.js +2 -0
  45. package/dist/lib/shared/ui/carouselBase/model/hooks/useArrowNavigation.js.map +1 -0
  46. package/dist/lib/shared/ui/carouselBase/model/hooks/useCarousel.js +2 -0
  47. package/dist/lib/shared/ui/carouselBase/model/hooks/useCarousel.js.map +1 -0
  48. package/dist/lib/shared/ui/carouselBase/model/hooks/useDotsNavigation.js +2 -0
  49. package/dist/lib/shared/ui/carouselBase/model/hooks/useDotsNavigation.js.map +1 -0
  50. package/dist/lib/shared/ui/carouselBase/model/index.js +2 -0
  51. package/dist/lib/shared/ui/carouselBase/model/index.js.map +1 -0
  52. package/dist/lib/shared/ui/carouselBase/model/types.js +2 -0
  53. package/dist/lib/shared/ui/carouselBase/model/types.js.map +1 -0
  54. package/dist/lib/shared/ui/carouselBase/ui/ArrowNavigationButton.js +2 -0
  55. package/dist/lib/shared/ui/carouselBase/ui/ArrowNavigationButton.js.map +1 -0
  56. package/dist/lib/shared/ui/carouselBase/ui/CarouselContent.js.map +1 -0
  57. package/dist/lib/shared/ui/carouselBase/ui/CarouselSlide.js.map +1 -0
  58. package/dist/lib/shared/ui/carouselBase/ui/ContainerWithNavigation.js.map +1 -0
  59. package/dist/lib/shared/ui/carouselBase/ui/DotsNavigations.js +2 -0
  60. package/dist/lib/shared/ui/carouselBase/ui/DotsNavigations.js.map +1 -0
  61. package/dist/lib/shared/ui/carouselBase/ui/index.js +2 -0
  62. package/dist/lib/shared/ui/carouselBase/ui/index.js.map +1 -0
  63. package/dist/lib/shared/ui/carouselBase/ui/slideVariants/SlideFullScreen.js +2 -0
  64. package/dist/lib/shared/ui/carouselBase/ui/slideVariants/SlideFullScreen.js.map +1 -0
  65. package/dist/lib/shared/ui/carouselBase/ui/slideVariants/SlideOnlyImage.js.map +1 -0
  66. package/dist/lib/shared/ui/carouselBase/ui/slideVariants/SlideProductCard.js +2 -0
  67. package/dist/lib/shared/ui/carouselBase/ui/slideVariants/SlideProductCard.js.map +1 -0
  68. package/dist/lib/shared/ui/carouselBase/ui/slideVariants/index.js +2 -0
  69. package/dist/lib/shared/ui/carouselBase/ui/slideVariants/index.js.map +1 -0
  70. package/dist/lib/shared/ui/formElements/controlled/radio/RadioGroupCardControl.js +1 -1
  71. package/dist/lib/shared/ui/formElements/controlled/radio/RadioGroupCardControl.js.map +1 -1
  72. package/dist/lib/shared/ui/index.js +1 -1
  73. package/dist/lib/shared/ui/progressBar/ProgressBar.js +1 -1
  74. package/dist/lib/shared/ui/progressBar/ProgressBar.js.map +1 -1
  75. package/dist/lib/widgets/carouselBlock/CarouselBlock.js +2 -0
  76. package/dist/lib/widgets/carouselBlock/CarouselBlock.js.map +1 -0
  77. package/dist/lib/widgets/carouselBlock/index.js +2 -0
  78. package/dist/lib/widgets/carouselBlock/index.js.map +1 -0
  79. package/dist/lib/widgets/dynamicForm/DynamicForm.js +1 -1
  80. package/dist/lib/widgets/dynamicForm/DynamicForm.js.map +1 -1
  81. package/dist/lib/widgets/index.js +1 -1
  82. package/dist/lib/widgets/model/helpers.js +2 -2
  83. package/dist/lib/widgets/model/helpers.js.map +1 -1
  84. package/dist/lib/widgets/stepper/ui/StepperCarousel.js +1 -1
  85. package/dist/lib/widgets/stepper/ui/StepperCarousel.js.map +1 -1
  86. package/dist/stats.html +1 -1
  87. package/dist/types/lib/shared/ui/carousel/Carousel.d.ts +30 -0
  88. package/dist/types/lib/shared/ui/carousel/index.d.ts +1 -2
  89. package/dist/types/lib/shared/ui/carousel/model/constant.d.ts +11 -0
  90. package/dist/types/lib/shared/ui/carousel/model/helpers.d.ts +1 -9
  91. package/dist/types/lib/shared/ui/carousel/model/hooks/useArrowNavigation.d.ts +2 -2
  92. package/dist/types/lib/shared/ui/carousel/model/hooks/useDotsNavigation.d.ts +2 -1
  93. package/dist/types/lib/shared/ui/carousel/model/index.d.ts +2 -1
  94. package/dist/types/lib/shared/ui/carousel/model/types.d.ts +22 -23
  95. package/dist/types/lib/shared/ui/carousel/ui/ArrowNavigationButton.d.ts +3 -3
  96. package/dist/types/lib/shared/ui/carousel/ui/DotsNavigations.d.ts +2 -3
  97. package/dist/types/lib/shared/ui/carousel/ui/RenderSlides.d.ts +14 -0
  98. package/dist/types/lib/shared/ui/carousel/ui/index.d.ts +3 -3
  99. package/dist/types/lib/shared/ui/carousel/ui/slideVariants/SlideFullScreen.d.ts +10 -7
  100. package/dist/types/lib/shared/ui/carousel/ui/slideVariants/SlideProductCard.d.ts +9 -6
  101. package/dist/types/lib/shared/ui/carousel/ui/slideVariants/SlideStepsList.d.ts +16 -0
  102. package/dist/types/lib/shared/ui/carousel/ui/slideVariants/index.d.ts +1 -1
  103. package/dist/types/lib/shared/ui/carousel/ui/stepsList/StepListItemType.d.ts +18 -0
  104. package/dist/types/lib/shared/ui/carousel/ui/stepsList/StepsList.d.ts +13 -0
  105. package/dist/types/lib/shared/ui/carousel/ui/stepsList/index.d.ts +2 -0
  106. package/dist/types/lib/shared/ui/{carousel → carouselBase}/CarouselBase.d.ts +3 -0
  107. package/dist/types/lib/shared/ui/carouselBase/index.d.ts +3 -0
  108. package/dist/types/lib/shared/ui/carouselBase/model/helpers.d.ts +9 -0
  109. package/dist/types/lib/shared/ui/carouselBase/model/hooks/index.d.ts +3 -0
  110. package/dist/types/lib/shared/ui/carouselBase/model/hooks/useArrowNavigation.d.ts +12 -0
  111. package/dist/types/lib/shared/ui/carouselBase/model/hooks/useCarousel.d.ts +12 -0
  112. package/dist/types/lib/shared/ui/carouselBase/model/hooks/useDotsNavigation.d.ts +15 -0
  113. package/dist/types/lib/shared/ui/carouselBase/model/index.d.ts +3 -0
  114. package/dist/types/lib/shared/ui/carouselBase/model/types.d.ts +27 -0
  115. package/dist/types/lib/shared/ui/carouselBase/ui/ArrowNavigationButton.d.ts +13 -0
  116. package/dist/types/lib/shared/ui/carouselBase/ui/DotsNavigations.d.ts +13 -0
  117. package/dist/types/lib/shared/ui/carouselBase/ui/index.d.ts +5 -0
  118. package/dist/types/lib/shared/ui/carouselBase/ui/slideVariants/SlideFullScreen.d.ts +19 -0
  119. package/dist/types/lib/shared/ui/carouselBase/ui/slideVariants/SlideProductCard.d.ts +20 -0
  120. package/dist/types/lib/shared/ui/carouselBase/ui/slideVariants/index.d.ts +3 -0
  121. package/dist/types/lib/shared/ui/index.d.ts +2 -1
  122. package/dist/types/lib/shared/ui/progressBar/ProgressBar.d.ts +6 -3
  123. package/dist/types/lib/widgets/carouselBlock/CarouselBlock.d.ts +5 -0
  124. package/dist/types/lib/widgets/carouselBlock/index.d.ts +1 -0
  125. package/dist/types/lib/widgets/dynamicForm/model/types.d.ts +2 -1
  126. package/dist/types/lib/widgets/index.d.ts +1 -0
  127. package/dist/types/lib/widgets/model/helpers.d.ts +2 -1
  128. package/package.json +1 -1
  129. package/dist/lib/shared/ui/carousel/CarouselBase.js.map +0 -1
  130. package/dist/lib/shared/ui/carousel/CarouselNative.js.map +0 -1
  131. package/dist/lib/shared/ui/carousel/ui/CarouselContent.js.map +0 -1
  132. package/dist/lib/shared/ui/carousel/ui/CarouselSlide.js.map +0 -1
  133. package/dist/lib/shared/ui/carousel/ui/ContainerWithNavigation.js.map +0 -1
  134. package/dist/lib/shared/ui/carousel/ui/slideVariants/SlideOnlyImage.js.map +0 -1
  135. /package/dist/lib/shared/ui/{carousel → carouselBase}/CarouselBase.js +0 -0
  136. /package/dist/lib/shared/ui/{carousel → carouselBase}/CarouselNative.js +0 -0
  137. /package/dist/lib/shared/ui/{carousel → carouselBase}/ui/CarouselContent.js +0 -0
  138. /package/dist/lib/shared/ui/{carousel → carouselBase}/ui/CarouselSlide.js +0 -0
  139. /package/dist/lib/shared/ui/{carousel → carouselBase}/ui/ContainerWithNavigation.js +0 -0
  140. /package/dist/lib/shared/ui/{carousel → carouselBase}/ui/slideVariants/SlideOnlyImage.js +0 -0
  141. /package/dist/types/lib/shared/ui/{carousel → carouselBase}/CarouselNative.d.ts +0 -0
  142. /package/dist/types/lib/shared/ui/{carousel → carouselBase}/ui/CarouselContent.d.ts +0 -0
  143. /package/dist/types/lib/shared/ui/{carousel → carouselBase}/ui/CarouselSlide.d.ts +0 -0
  144. /package/dist/types/lib/shared/ui/{carousel → carouselBase}/ui/ContainerWithNavigation.d.ts +0 -0
  145. /package/dist/types/lib/shared/ui/{carousel → carouselBase}/ui/slideVariants/SlideOnlyImage.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"SlideFullScreen.js","sources":["../../../../../../../lib/shared/ui/carousel/ui/slideVariants/SlideFullScreen.tsx"],"sourcesContent":["import type { ImageProps } from '../../model'\nimport { cn } from '$/shared/utils'\n\ntype SlideFullScreenClasses = {\n root?: string\n wrapper?: string\n numeric?: string\n textWrapper?: string\n title?: string\n description?: string\n image?: string\n}\n\nexport interface SlideFullScreenProps {\n slideIndex: number\n title?: string\n description?: string\n image?: ImageProps\n slideClasses?: SlideFullScreenClasses\n}\n\nexport const SlideFullScreen = ({ slideIndex, title, image, description, slideClasses }: SlideFullScreenProps) => {\n return (\n <div className={cn('flex h-full w-full flex-col gap-6', slideClasses?.root)}>\n <div className={cn('flex items-center gap-4', slideClasses?.wrapper)}>\n <span\n className={cn(\n 'mob-headline-bold-s flex size-10 items-center justify-center rounded-sm bg-color-blue-grey-500 text-color-white desktop:desk-title-bold-l desktop:size-12',\n slideClasses?.numeric\n )}\n >\n {slideIndex + 1}\n </span>\n\n <div className={cn('flex flex-1 flex-col gap-2', slideClasses?.textWrapper)}>\n {title && (\n <div\n dangerouslySetInnerHTML={{ __html: title }}\n className={cn(slideClasses?.title, 'mob-title-bold-m desktop:desk-title-bold-s')}\n />\n )}\n {description && (\n <div\n dangerouslySetInnerHTML={{ __html: description }}\n className={cn('desk-body-regular-l text-color-secondary', slideClasses?.description)}\n />\n )}\n </div>\n </div>\n {image && image?.src && (\n <div className={cn('mobile:h-[320px] mobile:w-[328px]')}>\n <img className={cn('w-full object-cover mobile:h-[320px]', slideClasses?.image)} src={image?.src} alt={image?.alt} />\n </div>\n )}\n </div>\n )\n}\n"],"names":["SlideFullScreen","slideIndex","title","image","description","slideClasses","cn","jsxs","jsx"],"mappings":"+FAqBO,MAAMA,EAAkB,CAAC,CAAE,WAAAC,EAAY,MAAAC,EAAO,MAAAC,EAAO,YAAAC,EAAa,aAAAC,OAEpE,MAAA,CAAI,UAAWC,EAAG,oCAAqCD,GAAc,IAAI,EACxE,SAAA,CAAAE,EAAC,OAAI,UAAWD,EAAG,0BAA2BD,GAAc,OAAO,EACjE,SAAA,CAAAG,EAAC,OAAA,CACC,UAAWF,EACT,4JACAD,GAAc,OAAA,EAGf,SAAAJ,EAAa,CAAA,CAAA,IAGf,MAAA,CAAI,UAAWK,EAAG,6BAA8BD,GAAc,WAAW,EACvE,SAAA,CAAAH,GACCM,EAAC,MAAA,CACC,wBAAyB,CAAE,OAAQN,CAAA,EACnC,UAAWI,EAAGD,GAAc,MAAO,4CAA4C,CAAA,CAAA,EAGlFD,GACCI,EAAC,MAAA,CACC,wBAAyB,CAAE,OAAQJ,CAAA,EACnC,UAAWE,EAAG,2CAA4CD,GAAc,WAAW,CAAA,CAAA,CACrF,CAAA,CAEJ,CAAA,EACF,EACCF,GAASA,GAAO,KACfK,EAAC,OAAI,UAAWF,EAAG,mCAAmC,EACpD,SAAAE,EAAC,MAAA,CAAI,UAAWF,EAAG,uCAAwCD,GAAc,KAAK,EAAG,IAAKF,GAAO,IAAK,IAAKA,GAAO,GAAA,CAAK,CAAA,CACrH,CAAA,EAEJ"}
1
+ {"version":3,"file":"SlideFullScreen.js","sources":["../../../../../../../lib/shared/ui/carousel/ui/slideVariants/SlideFullScreen.tsx"],"sourcesContent":["import { extractNumberFromString, type SlidesConfig } from '../../model'\nimport styles from './slide.module.css'\nimport { cn } from '$/shared/utils'\n\nexport type SlideFullScreenClasses = {\n root?: string\n wrapper?: string\n numeric?: string\n textWrapper?: string\n title?: string\n description?: string\n image?: string\n}\n\nexport interface SlideFullScreenProps {\n slidesConfig: SlidesConfig\n slideIndex?: number\n title?: string\n description?: string\n imgProps?: {\n src: string\n alt: string\n }\n slideFullScreenClasses?: SlideFullScreenClasses\n}\n\nexport const SlideFullScreen = ({\n slideIndex,\n title,\n imgProps,\n description,\n slideFullScreenClasses,\n slidesConfig\n}: SlideFullScreenProps) => {\n const deskCardWidth = extractNumberFromString(slidesConfig.deskSlideWidth)\n const mobCardWidth = extractNumberFromString(slidesConfig.mobSlideWidth)\n\n return (\n <div\n style={{\n // @ts-expect-error Для ISR нельзя использовать useDevice\n '--mobile-width': `${mobCardWidth}px`,\n '--desktop-width': `${deskCardWidth}px`\n }}\n className={cn('flex flex-none basis-full flex-col gap-6', styles.slideWidth, slideFullScreenClasses?.root)}\n >\n {(title || description) && (\n <div className={cn('flex items-center gap-4', slideFullScreenClasses?.wrapper)}>\n <span\n className={cn(\n 'mob-headline-bold-s flex size-10 items-center justify-center rounded-sm bg-color-blue-grey-500 text-color-white desktop:desk-title-bold-l desktop:size-12',\n slideFullScreenClasses?.numeric\n )}\n >\n {slideIndex}\n </span>\n\n <div className={cn('flex flex-1 flex-col gap-2', slideFullScreenClasses?.textWrapper)}>\n {title && (\n <div\n dangerouslySetInnerHTML={{ __html: title }}\n className={cn(slideFullScreenClasses?.title, 'mob-title-bold-m desktop:desk-title-bold-s')}\n />\n )}\n {description && (\n <div\n dangerouslySetInnerHTML={{ __html: description }}\n className={cn('desk-body-regular-l text-color-secondary', slideFullScreenClasses?.description)}\n />\n )}\n </div>\n </div>\n )}\n\n {imgProps && imgProps?.src && (\n <img className={cn('w-full object-contain', slideFullScreenClasses?.image)} src={imgProps?.src} alt={imgProps?.alt} />\n )}\n </div>\n )\n}\n"],"names":["SlideFullScreen","slideIndex","title","imgProps","description","slideFullScreenClasses","slidesConfig","deskCardWidth","extractNumberFromString","mobCardWidth","jsxs","cn","styles","jsx"],"mappings":"qMA0BO,MAAMA,EAAkB,CAAC,CAC9B,WAAAC,EACA,MAAAC,EACA,SAAAC,EACA,YAAAC,EACA,uBAAAC,EACA,aAAAC,CACF,IAA4B,CAC1B,MAAMC,EAAgBC,EAAwBF,EAAa,cAAc,EACnEG,EAAeD,EAAwBF,EAAa,aAAa,EAEvE,OACEI,EAAC,MAAA,CACC,MAAO,CAEL,iBAAkB,GAAGD,CAAY,KACjC,kBAAmB,GAAGF,CAAa,IAAA,EAErC,UAAWI,EAAG,2CAA4CC,EAAO,WAAYP,GAAwB,IAAI,EAEvG,SAAA,EAAAH,GAASE,MACR,MAAA,CAAI,UAAWO,EAAG,0BAA2BN,GAAwB,OAAO,EAC3E,SAAA,CAAAQ,EAAC,OAAA,CACC,UAAWF,EACT,4JACAN,GAAwB,OAAA,EAGzB,SAAAJ,CAAA,CAAA,IAGF,MAAA,CAAI,UAAWU,EAAG,6BAA8BN,GAAwB,WAAW,EACjF,SAAA,CAAAH,GACCW,EAAC,MAAA,CACC,wBAAyB,CAAE,OAAQX,CAAA,EACnC,UAAWS,EAAGN,GAAwB,MAAO,4CAA4C,CAAA,CAAA,EAG5FD,GACCS,EAAC,MAAA,CACC,wBAAyB,CAAE,OAAQT,CAAA,EACnC,UAAWO,EAAG,2CAA4CN,GAAwB,WAAW,CAAA,CAAA,CAC/F,CAAA,CAEJ,CAAA,EACF,EAGDF,GAAYA,GAAU,KACrBU,EAAC,MAAA,CAAI,UAAWF,EAAG,wBAAyBN,GAAwB,KAAK,EAAG,IAAKF,GAAU,IAAK,IAAKA,GAAU,GAAA,CAAK,CAAA,CAAA,CAAA,CAI5H"}
@@ -1,2 +1,2 @@
1
- import{jsxs as a,jsx as r}from"react/jsx-runtime";import{cn as c}from"../../../../utils/cn.js";import{Button as m}from"../../../button/Button.js";const x=({title:o,imgProps:l,description:d,buttonProps:t,slideClasses:e})=>a("div",{className:c("flex h-full w-full flex-col justify-between rounded-md bg-[#F3F4F7] p-6",e?.root),children:[a("div",{className:c("flex flex-col gap-2",e?.wrapper),children:[a("div",{className:c("flex flex-col gap-2",e?.textWrapper),children:[o&&r("h3",{className:c("desk-title-bold-s text-color-dark",e?.title),children:o}),d&&r("p",{className:c("desk-body-medium-l text-color-tetriary",e?.description),children:d})]}),l&&l?.src&&r("img",{className:c("w-full object-contain",e?.image),src:l?.src,alt:l?.alt})]}),t&&r(m,{size:"sm",className:c("w-full",e?.button),...t,children:t?.children||"Оформить заявку"})]});export{x as SlideProductCard};
1
+ import{jsx as l,jsxs as c}from"react/jsx-runtime";import x from"./slide.module.css.js";import{extractNumberFromString as h}from"../../model/helpers.js";import{cn as t}from"../../../../utils/cn.js";import{Button as f}from"../../../button/Button.js";const w=({title:m,imgProps:i,description:o,buttonProps:r,slideProductCardClasses:e,slidesConfig:d})=>{const n=h(d.deskSlideWidth),a=h(d.mobSlideWidth);return l("div",{children:c("div",{style:{"--mobile-width":`${a}px`,"--desktop-width":`${n}px`},className:t("flex h-full shrink-0 flex-grow flex-col justify-between rounded-md bg-[#F3F4F7] p-4 desktop:p-6",x.slideWidth,e?.root),children:[c("div",{className:t("flex flex-col gap-2",e?.wrapper),children:[c("div",{className:t("flex flex-col gap-2",e?.textWrapper),children:[m&&l("h3",{className:t("desk-title-bold-s text-color-dark",e?.title),children:m}),o&&l("p",{className:t("desk-body-medium-l text-color-tetriary",e?.description),children:o})]}),i&&i?.src&&l("img",{className:t("w-full object-contain",e?.image),src:i?.src,alt:i?.alt})]}),r&&l(f,{size:"sm",className:t("w-full",e?.button),...r,children:r?.children||"Оформить заявку"})]})})};export{w as SlideProductCard};
2
2
  //# sourceMappingURL=SlideProductCard.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SlideProductCard.js","sources":["../../../../../../../lib/shared/ui/carousel/ui/slideVariants/SlideProductCard.tsx"],"sourcesContent":["import { Button, type ButtonProps } from '../../../button'\nimport type { ImageProps } from '../../model'\nimport { cn } from '$/shared/utils'\n\ntype SlideProductCardClasses = {\n root?: string\n wrapper?: string\n textWrapper?: string\n title?: string\n description?: string\n image?: string\n button?: string\n}\n\nexport interface SlideProductCardProps {\n title?: string\n description?: string\n imgProps?: ImageProps\n buttonProps?: ButtonProps\n slideClasses?: SlideProductCardClasses\n}\n\nexport const SlideProductCard = ({ title, imgProps, description, buttonProps, slideClasses }: SlideProductCardProps) => {\n return (\n <div className={cn('flex h-full w-full flex-col justify-between rounded-md bg-[#F3F4F7] p-6', slideClasses?.root)}>\n <div className={cn('flex flex-col gap-2', slideClasses?.wrapper)}>\n <div className={cn('flex flex-col gap-2', slideClasses?.textWrapper)}>\n {title && <h3 className={cn('desk-title-bold-s text-color-dark', slideClasses?.title)}>{title}</h3>}\n {description && (\n <p className={cn('desk-body-medium-l text-color-tetriary', slideClasses?.description)}>{description}</p>\n )}\n </div>\n {imgProps && imgProps?.src && (\n <img className={cn('w-full object-contain', slideClasses?.image)} src={imgProps?.src} alt={imgProps?.alt} />\n )}\n </div>\n\n {buttonProps && (\n <Button size='sm' className={cn('w-full', slideClasses?.button)} {...buttonProps}>\n {buttonProps?.children || 'Оформить заявку'}\n </Button>\n )}\n </div>\n )\n}\n"],"names":["SlideProductCard","title","imgProps","description","buttonProps","slideClasses","cn","jsxs","jsx","Button"],"mappings":"kJAsBO,MAAMA,EAAmB,CAAC,CAAE,MAAAC,EAAO,SAAAC,EAAU,YAAAC,EAAa,YAAAC,EAAa,aAAAC,OAEzE,MAAA,CAAI,UAAWC,EAAG,0EAA2ED,GAAc,IAAI,EAC9G,SAAA,CAAAE,EAAC,OAAI,UAAWD,EAAG,sBAAuBD,GAAc,OAAO,EAC7D,SAAA,CAAAE,EAAC,OAAI,UAAWD,EAAG,sBAAuBD,GAAc,WAAW,EAChE,SAAA,CAAAJ,GAASO,EAAC,MAAG,UAAWF,EAAG,oCAAqCD,GAAc,KAAK,EAAI,SAAAJ,CAAA,CAAM,EAC7FE,KACE,IAAA,CAAE,UAAWG,EAAG,yCAA0CD,GAAc,WAAW,EAAI,SAAAF,CAAA,CAAY,CAAA,EAExG,EACCD,GAAYA,GAAU,KACrBM,EAAC,MAAA,CAAI,UAAWF,EAAG,wBAAyBD,GAAc,KAAK,EAAG,IAAKH,GAAU,IAAK,IAAKA,GAAU,GAAA,CAAK,CAAA,EAE9G,EAECE,GACCI,EAACC,EAAA,CAAO,KAAK,KAAK,UAAWH,EAAG,SAAUD,GAAc,MAAM,EAAI,GAAGD,EAClE,SAAAA,GAAa,UAAY,iBAAA,CAC5B,CAAA,EAEJ"}
1
+ {"version":3,"file":"SlideProductCard.js","sources":["../../../../../../../lib/shared/ui/carousel/ui/slideVariants/SlideProductCard.tsx"],"sourcesContent":["import { Button, type ButtonProps } from '../../../button'\nimport { extractNumberFromString, type SlidesConfig } from '../../model'\nimport styles from './slide.module.css'\nimport { cn } from '$/shared/utils'\n\nexport type SlideProductCardClasses = {\n root?: string\n wrapper?: string\n textWrapper?: string\n title?: string\n description?: string\n image?: string\n button?: string\n}\n\nexport interface SlideProductCardProps {\n slidesConfig: SlidesConfig\n title?: string\n description?: string\n imgProps?: {\n src: string\n alt: string\n }\n buttonProps?: ButtonProps\n slideProductCardClasses?: SlideProductCardClasses\n}\n\nexport const SlideProductCard = ({\n title,\n imgProps,\n description,\n buttonProps,\n slideProductCardClasses,\n slidesConfig\n}: SlideProductCardProps) => {\n const deskCardWidth = extractNumberFromString(slidesConfig.deskSlideWidth)\n const mobCardWidth = extractNumberFromString(slidesConfig.mobSlideWidth)\n\n return (\n <div>\n <div\n style={{\n // @ts-expect-error Для ISR нельзя использовать useDevice\n '--mobile-width': `${mobCardWidth}px`,\n '--desktop-width': `${deskCardWidth}px`\n }}\n className={cn(\n 'flex h-full shrink-0 flex-grow flex-col justify-between rounded-md bg-[#F3F4F7] p-4 desktop:p-6',\n styles.slideWidth,\n slideProductCardClasses?.root\n )}\n >\n <div className={cn('flex flex-col gap-2', slideProductCardClasses?.wrapper)}>\n <div className={cn('flex flex-col gap-2', slideProductCardClasses?.textWrapper)}>\n {title && <h3 className={cn('desk-title-bold-s text-color-dark', slideProductCardClasses?.title)}>{title}</h3>}\n {description && (\n <p className={cn('desk-body-medium-l text-color-tetriary', slideProductCardClasses?.description)}>{description}</p>\n )}\n </div>\n {imgProps && imgProps?.src && (\n <img\n className={cn('w-full object-contain', slideProductCardClasses?.image)}\n src={imgProps?.src}\n alt={imgProps?.alt}\n />\n )}\n </div>\n\n {buttonProps && (\n <Button size='sm' className={cn('w-full', slideProductCardClasses?.button)} {...buttonProps}>\n {buttonProps?.children || 'Оформить заявку'}\n </Button>\n )}\n </div>\n </div>\n )\n}\n"],"names":["SlideProductCard","title","imgProps","description","buttonProps","slideProductCardClasses","slidesConfig","deskCardWidth","extractNumberFromString","mobCardWidth","jsxs","cn","styles","jsx","Button"],"mappings":"wPA2BO,MAAMA,EAAmB,CAAC,CAC/B,MAAAC,EACA,SAAAC,EACA,YAAAC,EACA,YAAAC,EACA,wBAAAC,EACA,aAAAC,CACF,IAA6B,CAC3B,MAAMC,EAAgBC,EAAwBF,EAAa,cAAc,EACnEG,EAAeD,EAAwBF,EAAa,aAAa,EAEvE,SACG,MAAA,CACC,SAAAI,EAAC,MAAA,CACC,MAAO,CAEL,iBAAkB,GAAGD,CAAY,KACjC,kBAAmB,GAAGF,CAAa,IAAA,EAErC,UAAWI,EACT,kGACAC,EAAO,WACPP,GAAyB,IAAA,EAG3B,SAAA,CAAAK,EAAC,OAAI,UAAWC,EAAG,sBAAuBN,GAAyB,OAAO,EACxE,SAAA,CAAAK,EAAC,OAAI,UAAWC,EAAG,sBAAuBN,GAAyB,WAAW,EAC3E,SAAA,CAAAJ,GAASY,EAAC,MAAG,UAAWF,EAAG,oCAAqCN,GAAyB,KAAK,EAAI,SAAAJ,CAAA,CAAM,EACxGE,KACE,IAAA,CAAE,UAAWQ,EAAG,yCAA0CN,GAAyB,WAAW,EAAI,SAAAF,CAAA,CAAY,CAAA,EAEnH,EACCD,GAAYA,GAAU,KACrBW,EAAC,MAAA,CACC,UAAWF,EAAG,wBAAyBN,GAAyB,KAAK,EACrE,IAAKH,GAAU,IACf,IAAKA,GAAU,GAAA,CAAA,CACjB,EAEJ,EAECE,GACCS,EAACC,EAAA,CAAO,KAAK,KAAK,UAAWH,EAAG,SAAUN,GAAyB,MAAM,EAAI,GAAGD,EAC7E,SAAAA,GAAa,UAAY,iBAAA,CAC5B,CAAA,CAAA,CAAA,EAGN,CAEJ"}
@@ -0,0 +1,2 @@
1
+ import{jsx as e}from"react/jsx-runtime";import o from"./slide.module.css.js";import{cn as l}from"../../../../utils/cn.js";import{extractNumberFromString as a}from"../../model/helpers.js";const f=({imgProps:t,slideStepsListClasses:r,slidesConfig:i})=>{const d=a(i.deskSlideWidth),m=a(i.mobSlideWidth);return e("div",{style:{"--mobile-width":`${m}px`,"--desktop-width":`${d}px`},className:l("flex flex-none basis-full flex-col gap-2",o.slideWidth,r?.wrapper),children:e("div",{className:l("w-full max-w-[464px]",r?.imageWrapper),children:t&&t?.src&&e("img",{className:l("w-full object-contain",r?.image),src:t?.src,alt:t?.alt})})})};export{f as SlideStepsList};
2
+ //# sourceMappingURL=SlideStepsList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SlideStepsList.js","sources":["../../../../../../../lib/shared/ui/carousel/ui/slideVariants/SlideStepsList.tsx"],"sourcesContent":["import { extractNumberFromString, type SlidesConfig } from '../../model'\nimport styles from './slide.module.css'\nimport { cn } from '$/shared/utils'\n\nexport type SlideStepsListClasses = {\n wrapper?: string\n imageWrapper?: string\n image?: string\n}\n\nexport interface SlideStepsListProps {\n slidesConfig: SlidesConfig\n slideIndex?: number\n imgProps?: {\n src: string\n alt: string\n }\n slideStepsListClasses?: SlideStepsListClasses\n}\n\nexport const SlideStepsList = ({ imgProps, slideStepsListClasses, slidesConfig }: SlideStepsListProps) => {\n const deskCardWidth = extractNumberFromString(slidesConfig.deskSlideWidth)\n const mobCardWidth = extractNumberFromString(slidesConfig.mobSlideWidth)\n\n return (\n <div\n style={{\n // @ts-expect-error Для ISR нельзя использовать useDevice\n '--mobile-width': `${mobCardWidth}px`,\n '--desktop-width': `${deskCardWidth}px`\n }}\n className={cn('flex flex-none basis-full flex-col gap-2', styles.slideWidth, slideStepsListClasses?.wrapper)}\n >\n <div className={cn('w-full max-w-[464px]', slideStepsListClasses?.imageWrapper)}>\n {imgProps && imgProps?.src && (\n <img className={cn('w-full object-contain', slideStepsListClasses?.image)} src={imgProps?.src} alt={imgProps?.alt} />\n )}\n </div>\n </div>\n )\n}\n"],"names":["SlideStepsList","imgProps","slideStepsListClasses","slidesConfig","deskCardWidth","extractNumberFromString","mobCardWidth","jsx","cn","styles"],"mappings":"2LAoBO,MAAMA,EAAiB,CAAC,CAAE,SAAAC,EAAU,sBAAAC,EAAuB,aAAAC,KAAwC,CACxG,MAAMC,EAAgBC,EAAwBF,EAAa,cAAc,EACnEG,EAAeD,EAAwBF,EAAa,aAAa,EAEvE,OACEI,EAAC,MAAA,CACC,MAAO,CAEL,iBAAkB,GAAGD,CAAY,KACjC,kBAAmB,GAAGF,CAAa,IAAA,EAErC,UAAWI,EAAG,2CAA4CC,EAAO,WAAYP,GAAuB,OAAO,EAE3G,SAAAK,EAAC,MAAA,CAAI,UAAWC,EAAG,uBAAwBN,GAAuB,YAAY,EAC3E,SAAAD,GAAYA,GAAU,KACrBM,EAAC,OAAI,UAAWC,EAAG,wBAAyBN,GAAuB,KAAK,EAAG,IAAKD,GAAU,IAAK,IAAKA,GAAU,GAAA,CAAK,CAAA,CAEvH,CAAA,CAAA,CAGN"}
@@ -1,2 +1,2 @@
1
- import{SlideProductCard as o}from"./SlideProductCard.js";import{SlideOnlyImage as d}from"./SlideOnlyImage.js";import{SlideFullScreen as t}from"./SlideFullScreen.js";export{t as SlideFullScreen,d as SlideOnlyImage,o as SlideProductCard};
1
+ import{SlideProductCard as o}from"./SlideProductCard.js";import{SlideFullScreen as d}from"./SlideFullScreen.js";import{SlideStepsList as S}from"./SlideStepsList.js";export{d as SlideFullScreen,o as SlideProductCard,S as SlideStepsList};
2
2
  //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ ._slideWidth_1qd2t_1{width:var(--mobile-width)}@media(min-width:1187px){._slideWidth_1qd2t_1{width:var(--desktop-width)}}
@@ -0,0 +1,2 @@
1
+ const t="_slideWidth_1qd2t_1",d={slideWidth:t};export{d as default,t as slideWidth};
2
+ //# sourceMappingURL=slide.module.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slide.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ import{jsxs as l,jsx as c}from"react/jsx-runtime";import{cn as e}from"../../../../utils/cn.js";const p=({subtitle:a,description:i,stepIndex:o,visibleIndex:d,onChangeStep:m,classes:t})=>{const r=o===d;return l("div",{onClick:()=>m(o),className:e("flex items-center gap-4",t?.root,{"mobile:hidden":!r}),children:[l("span",{className:e("text-[40px] font-semibold text-color-primary-default/20",t?.stepIndex,{"text-color-primary-default":r}),children:["0",o+1]}),l("div",{className:e("flex flex-col gap-1",t?.textBlock),children:[c("h5",{className:e("desk-body-medium-l text-color-tetriary",t?.subtitle,{"text-color-dark":r}),children:a}),i&&c("p",{className:e("desk-body-regular-m text-color-tetriary",t?.description,{"text-color-dark":r}),children:i})]})]})};export{p as StepListItem};
2
+ //# sourceMappingURL=StepListItemType.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StepListItemType.js","sources":["../../../../../../../lib/shared/ui/carousel/ui/stepsList/StepListItemType.tsx"],"sourcesContent":["import { cn } from '$/shared/utils'\n\nexport type StepListItemClasses = {\n root?: string\n stepIndex?: string\n textBlock?: string\n subtitle?: string\n description?: string\n}\n\nexport type StepListItemType = {\n subtitle: string\n description?: string\n}\n\nexport interface StepListItemProps extends StepListItemType {\n stepIndex: number\n visibleIndex: number\n onChangeStep: (stepIndex: number) => void\n classes?: StepListItemClasses\n}\n\nexport const StepListItem = ({ subtitle, description, stepIndex, visibleIndex, onChangeStep, classes }: StepListItemProps) => {\n const isCurrentStep = stepIndex === visibleIndex\n\n return (\n <div\n onClick={() => onChangeStep(stepIndex)}\n className={cn('flex items-center gap-4', classes?.root, { 'mobile:hidden': !isCurrentStep })}\n >\n <span\n className={cn('text-[40px] font-semibold text-color-primary-default/20', classes?.stepIndex, {\n 'text-color-primary-default': isCurrentStep\n })}\n >\n 0{stepIndex + 1}\n </span>\n\n <div className={cn('flex flex-col gap-1', classes?.textBlock)}>\n <h5\n className={cn('desk-body-medium-l text-color-tetriary', classes?.subtitle, {\n 'text-color-dark': isCurrentStep\n })}\n >\n {subtitle}\n </h5>\n {description && (\n <p\n className={cn('desk-body-regular-m text-color-tetriary', classes?.description, {\n 'text-color-dark': isCurrentStep\n })}\n >\n {description}\n </p>\n )}\n </div>\n </div>\n )\n}\n"],"names":["StepListItem","subtitle","description","stepIndex","visibleIndex","onChangeStep","classes","isCurrentStep","jsxs","cn","jsx"],"mappings":"+FAsBO,MAAMA,EAAe,CAAC,CAAE,SAAAC,EAAU,YAAAC,EAAa,UAAAC,EAAW,aAAAC,EAAc,aAAAC,EAAc,QAAAC,KAAiC,CAC5H,MAAMC,EAAgBJ,IAAcC,EAEpC,OACEI,EAAC,MAAA,CACC,QAAS,IAAMH,EAAaF,CAAS,EACrC,UAAWM,EAAG,0BAA2BH,GAAS,KAAM,CAAE,gBAAiB,CAACC,EAAe,EAE3F,SAAA,CAAAC,EAAC,OAAA,CACC,UAAWC,EAAG,0DAA2DH,GAAS,UAAW,CAC3F,6BAA8BC,CAAA,CAC/B,EACF,SAAA,CAAA,IACGJ,EAAY,CAAA,CAAA,CAAA,IAGf,MAAA,CAAI,UAAWM,EAAG,sBAAuBH,GAAS,SAAS,EAC1D,SAAA,CAAAI,EAAC,KAAA,CACC,UAAWD,EAAG,yCAA0CH,GAAS,SAAU,CACzE,kBAAmBC,CAAA,CACpB,EAEA,SAAAN,CAAA,CAAA,EAEFC,GACCQ,EAAC,IAAA,CACC,UAAWD,EAAG,0CAA2CH,GAAS,YAAa,CAC7E,kBAAmBC,CAAA,CACpB,EAEA,SAAAL,CAAA,CAAA,CACH,CAAA,CAEJ,CAAA,CAAA,CAAA,CAGN"}
@@ -0,0 +1,2 @@
1
+ import{jsx as s}from"react/jsx-runtime";import{StepListItem as l}from"./StepListItemType.js";import{cn as o}from"../../../../utils/cn.js";const c=({stepsList:p,visibleIndex:r,onChangeStep:m,classes:t})=>s("div",{className:o("flex w-full max-w-[600px] flex-col gap-8",t?.stepsWrapper),children:p?.map((e,i)=>s(l,{visibleIndex:r,stepIndex:i,onChangeStep:m,classes:t?.stepListItemClasses,...e},e.subtitle))});export{c as StepsList};
2
+ //# sourceMappingURL=StepsList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StepsList.js","sources":["../../../../../../../lib/shared/ui/carousel/ui/stepsList/StepsList.tsx"],"sourcesContent":["import { StepListItem, type StepListItemClasses, type StepListItemType } from './StepListItemType'\nimport { cn } from '$/shared/utils'\n\nexport type StepListClasses = {\n stepListItemClasses?: StepListItemClasses\n stepsWrapper?: string\n}\n\nexport interface StepsListProps {\n stepsList: StepListItemType[]\n visibleIndex: number\n onChangeStep: (stepIndex: number) => void\n heading?: string\n classes?: StepListClasses\n}\n\nexport const StepsList = ({ stepsList, visibleIndex, onChangeStep, classes }: StepsListProps) => {\n return (\n <div className={cn('flex w-full max-w-[600px] flex-col gap-8', classes?.stepsWrapper)}>\n {stepsList?.map((step, stepIndex) => (\n <StepListItem\n key={step.subtitle}\n visibleIndex={visibleIndex}\n stepIndex={stepIndex}\n onChangeStep={onChangeStep}\n classes={classes?.stepListItemClasses}\n {...step}\n />\n ))}\n </div>\n )\n}\n"],"names":["StepsList","stepsList","visibleIndex","onChangeStep","classes","jsx","cn","step","stepIndex","StepListItem"],"mappings":"0IAgBO,MAAMA,EAAY,CAAC,CAAE,UAAAC,EAAW,aAAAC,EAAc,aAAAC,EAAc,QAAAC,KAE/DC,EAAC,MAAA,CAAI,UAAWC,EAAG,2CAA4CF,GAAS,YAAY,EACjF,SAAAH,GAAW,IAAI,CAACM,EAAMC,IACrBH,EAACI,EAAA,CAEC,aAAAP,EACA,UAAAM,EACA,aAAAL,EACA,QAASC,GAAS,oBACjB,GAAGG,CAAA,EALCA,EAAK,QAAA,CAOb,EACH"}
@@ -0,0 +1,2 @@
1
+ import{StepsList as o}from"./StepsList.js";export{o as StepsList};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CarouselBase.js","sources":["../../../../../lib/shared/ui/carouselBase/CarouselBase.tsx"],"sourcesContent":["import { type HTMLAttributes, type ReactNode } from 'react'\nimport { type EmblaOptionsType } from 'embla-carousel'\nimport type { AutoplayOptionsType } from 'embla-carousel-autoplay'\nimport { useDevice } from '../../hooks'\nimport { Heading } from '../heading'\nimport {\n defaultAutoPlayOptions,\n defaultCarouselOptions,\n defaultDotsOptions,\n defaultNavArrowOptions,\n type DotsOptions,\n type NavArrowOptions,\n useArrowNavigation,\n useCarousel,\n useDotsNavigation\n} from './model'\nimport { ArrowNavigationButton, type ArrowNavigationButtonClasses, CarouselContent, type CarouselContentClasses } from './ui'\nimport { ContainerWithNavigation, type ContainerWithNavigationClasses } from './ui/ContainerWithNavigation'\nimport { cn } from '$/shared/utils'\n\nexport type CarouselClasses = {\n root?: string\n header?: string\n heading?: string\n arrowsNavWrapper?: string\n arrowLeftClasses?: ArrowNavigationButtonClasses\n arrowRightClasses?: ArrowNavigationButtonClasses\n containerWithNavClasses?: ContainerWithNavigationClasses\n carouselContentClasses?: CarouselContentClasses\n}\n\nexport interface CarouselBaseProps extends HTMLAttributes<HTMLDivElement> {\n children: ReactNode\n heading?: string\n carouselOptions?: EmblaOptionsType\n dotsOptions?: DotsOptions\n navArrowOptions?: NavArrowOptions\n autoPlayOptions?: AutoplayOptionsType\n setVisibleIndex: (index: number) => void\n visibleIndex: number\n classes?: CarouselClasses\n}\n\n/**\n * @deprecated dont use\n */\nexport const CarouselBase = ({\n dotsOptions = defaultDotsOptions,\n navArrowOptions = defaultNavArrowOptions,\n carouselOptions = defaultCarouselOptions,\n heading,\n autoPlayOptions,\n setVisibleIndex,\n visibleIndex,\n children,\n classes,\n ...props\n}: CarouselBaseProps) => {\n const mergedCarouselOptions = { ...defaultCarouselOptions, ...carouselOptions }\n const mergedAutoPlayOptions = { ...defaultAutoPlayOptions, ...autoPlayOptions }\n const mergedNavArrowOptions = { ...defaultNavArrowOptions, ...navArrowOptions }\n const mergedDotsOptions = { ...defaultDotsOptions, ...dotsOptions }\n\n const { emblaApi, navigationHandler, emblaRef } = useCarousel({\n carouselOptions: mergedCarouselOptions,\n autoPlayOptions: mergedAutoPlayOptions\n })\n\n const dotsProps = useDotsNavigation({ emblaApi, navigationHandler, setVisibleIndex })\n const { prevBtnDisabled, nextBtnDisabled, onClickNavigationButton } = useArrowNavigation({\n emblaApi,\n navigationHandler\n })\n\n const { isMobile, isDesktop } = useDevice()\n const { deskVisible, mobVisible, position: navArrowPosition } = mergedNavArrowOptions ?? {}\n\n //Отображения стрелок если переданы и мобильное разрешение\n const withNavArrowsOnMob = mobVisible && isMobile\n //Отображения стрелок если переданы и полноэкранное разрешение\n const winNavArrowsOnDesk = deskVisible && isDesktop\n //Отображения стрелок если переданы\n const winNavArrows = winNavArrowsOnDesk || withNavArrowsOnMob\n\n const withHeadingAndArrowsTop = Boolean(heading) || (winNavArrows && navArrowPosition === 'top-right')\n\n return (\n <div className={cn('flex flex-col', classes?.root)} {...props}>\n {withHeadingAndArrowsTop && (\n <div className={cn('flex items-center justify-between gap-6', { 'mb-6': withHeadingAndArrowsTop }, classes?.header)}>\n {Boolean(heading) && (\n <Heading as='h2' className={cn(classes?.heading)}>\n Другие предложения\n </Heading>\n )}\n\n {winNavArrows && navArrowPosition === 'top-right' && (\n <div className={cn('ml-auto flex items-center gap-2', classes?.arrowsNavWrapper)}>\n <ArrowNavigationButton\n mode='prev'\n onClick={onClickNavigationButton}\n disabled={prevBtnDisabled}\n classes={classes?.arrowLeftClasses}\n />\n <ArrowNavigationButton\n mode='next'\n onClick={onClickNavigationButton}\n disabled={nextBtnDisabled}\n classes={classes?.arrowRightClasses}\n />\n </div>\n )}\n </div>\n )}\n\n {winNavArrows && navArrowPosition === 'center' ? (\n <ContainerWithNavigation\n onClickNavigationButton={onClickNavigationButton}\n prevBtnDisabled={prevBtnDisabled}\n nextBtnDisabled={nextBtnDisabled}\n classes={classes?.containerWithNavClasses}\n >\n <CarouselContent\n visibleIndex={visibleIndex}\n dotsOptions={mergedDotsOptions}\n ref={emblaRef}\n dotsProps={dotsProps}\n classes={classes?.carouselContentClasses}\n >\n {children}\n </CarouselContent>\n </ContainerWithNavigation>\n ) : (\n <CarouselContent\n visibleIndex={visibleIndex}\n dotsOptions={mergedDotsOptions}\n ref={emblaRef}\n dotsProps={dotsProps}\n classes={classes?.carouselContentClasses}\n >\n {children}\n </CarouselContent>\n )}\n </div>\n )\n}\n"],"names":["CarouselBase","dotsOptions","defaultDotsOptions","navArrowOptions","defaultNavArrowOptions","carouselOptions","defaultCarouselOptions","heading","autoPlayOptions","setVisibleIndex","visibleIndex","children","classes","props","mergedCarouselOptions","mergedAutoPlayOptions","defaultAutoPlayOptions","mergedNavArrowOptions","mergedDotsOptions","emblaApi","navigationHandler","emblaRef","useCarousel","dotsProps","useDotsNavigation","prevBtnDisabled","nextBtnDisabled","onClickNavigationButton","useArrowNavigation","isMobile","isDesktop","useDevice","deskVisible","mobVisible","navArrowPosition","winNavArrows","withHeadingAndArrowsTop","jsxs","cn","jsx","Heading","ArrowNavigationButton","ContainerWithNavigation","CarouselContent"],"mappings":"+tBA8CO,MAAMA,GAAe,CAAC,CAC3B,YAAAC,EAAcC,EACd,gBAAAC,EAAkBC,EAClB,gBAAAC,EAAkBC,EAClB,QAAAC,EACA,gBAAAC,EACA,gBAAAC,EACA,aAAAC,EACA,SAAAC,EACA,QAAAC,EACA,GAAGC,CACL,IAAyB,CACvB,MAAMC,EAAwB,CAAE,GAAGR,EAAwB,GAAGD,CAAA,EACxDU,EAAwB,CAAE,GAAGC,EAAwB,GAAGR,CAAA,EACxDS,EAAwB,CAAE,GAAGb,EAAwB,GAAGD,CAAA,EACxDe,EAAoB,CAAE,GAAGhB,EAAoB,GAAGD,CAAA,EAEhD,CAAE,SAAAkB,EAAU,kBAAAC,EAAmB,SAAAC,CAAA,EAAaC,EAAY,CAC5D,gBAAiBR,EACjB,gBAAiBC,CAAA,CAClB,EAEKQ,EAAYC,EAAkB,CAAE,SAAAL,EAAU,kBAAAC,EAAmB,gBAAAX,EAAiB,EAC9E,CAAE,gBAAAgB,EAAiB,gBAAAC,EAAiB,wBAAAC,CAAA,EAA4BC,EAAmB,CACvF,SAAAT,EACA,kBAAAC,CAAA,CACD,EAEK,CAAE,SAAAS,EAAU,UAAAC,CAAA,EAAcC,EAAA,EAC1B,CAAE,YAAAC,EAAa,WAAAC,EAAY,SAAUC,CAAA,EAAqBjB,GAAyB,CAAA,EAOnFkB,EAFqBH,GAAeF,GAFfG,GAAcJ,EAMnCO,EAA0B,EAAQ7B,GAAa4B,GAAgBD,IAAqB,YAE1F,OACEG,EAAC,OAAI,UAAWC,EAAG,gBAAiB1B,GAAS,IAAI,EAAI,GAAGC,EACrD,SAAA,CAAAuB,GACCC,EAAC,MAAA,CAAI,UAAWC,EAAG,0CAA2C,CAAE,OAAQF,CAAA,EAA2BxB,GAAS,MAAM,EAC/G,SAAA,CAAA,EAAQL,GACPgC,EAACC,EAAA,CAAQ,GAAG,KAAK,UAAWF,EAAG1B,GAAS,OAAO,EAAG,SAAA,oBAAA,CAElD,EAGDuB,GAAgBD,IAAqB,aACpCG,EAAC,MAAA,CAAI,UAAWC,EAAG,kCAAmC1B,GAAS,gBAAgB,EAC7E,SAAA,CAAA2B,EAACE,EAAA,CACC,KAAK,OACL,QAASd,EACT,SAAUF,EACV,QAASb,GAAS,gBAAA,CAAA,EAEpB2B,EAACE,EAAA,CACC,KAAK,OACL,QAASd,EACT,SAAUD,EACV,QAASd,GAAS,iBAAA,CAAA,CACpB,CAAA,CACF,CAAA,EAEJ,EAGDuB,GAAgBD,IAAqB,SACpCK,EAACG,EAAA,CACC,wBAAAf,EACA,gBAAAF,EACA,gBAAAC,EACA,QAASd,GAAS,wBAElB,SAAA2B,EAACI,EAAA,CACC,aAAAjC,EACA,YAAaQ,EACb,IAAKG,EACL,UAAAE,EACA,QAASX,GAAS,uBAEjB,SAAAD,CAAA,CAAA,CACH,CAAA,EAGF4B,EAACI,EAAA,CACC,aAAAjC,EACA,YAAaQ,EACb,IAAKG,EACL,UAAAE,EACA,QAASX,GAAS,uBAEjB,SAAAD,CAAA,CAAA,CACH,EAEJ,CAEJ"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CarouselNative.js","sources":["../../../../../lib/shared/ui/carouselBase/CarouselNative.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from 'react'\nimport classNames from 'classnames'\nimport { motion } from 'framer-motion'\n\nexport interface CarouselNativeProps<Element> extends React.HTMLAttributes<HTMLDivElement> {\n items: Element[]\n renderComponent: (elementProps: Element) => React.JSX.Element\n columnGap?: number\n}\n\nexport const CarouselNative = <Element,>({\n className,\n items,\n renderComponent,\n columnGap = 10,\n ...props\n}: CarouselNativeProps<Element>) => {\n const [width, setWidth] = useState<number>(0)\n\n const carouselRef = useRef<HTMLDivElement>(null)\n const containerRef = useRef<HTMLDivElement>(null)\n const listRef = useRef<HTMLDivElement>(null)\n\n useEffect(() => {\n const carousel = carouselRef.current\n\n if (carousel) {\n setWidth(carousel.scrollWidth - carousel.offsetWidth)\n }\n }, [items])\n\n return (\n <div ref={containerRef} {...props} className='w-full max-w-[540px] overflow-hidden'>\n <motion.div\n ref={carouselRef}\n drag='x'\n dragElastic={0.15}\n dragConstraints={{ right: 0, left: -width }}\n dragTransition={{ bounceDamping: 30, power: 0.33 }}\n transition={{ duration: 0.2, ease: 'easeInOut' }}\n className='flex cursor-pointer flex-col gap-3'\n >\n <div className={classNames('inline-flex w-max flex-col', className)}>\n <div ref={listRef} className='flex' style={{ columnGap }}>\n {items.map((item, cellIndex) => (\n <motion.div key={`cell-${cellIndex}`} className='w-max'>\n {renderComponent(item)}\n </motion.div>\n ))}\n </div>\n </div>\n </motion.div>\n </div>\n )\n}\n"],"names":["CarouselNative","className","items","renderComponent","columnGap","props","width","setWidth","useState","carouselRef","useRef","containerRef","listRef","useEffect","carousel","jsx","motion","classNames","item","cellIndex"],"mappings":"wLAUO,MAAMA,EAAiB,CAAW,CACvC,UAAAC,EACA,MAAAC,EACA,gBAAAC,EACA,UAAAC,EAAY,GACZ,GAAGC,CACL,IAAoC,CAClC,KAAM,CAACC,EAAOC,CAAQ,EAAIC,EAAiB,CAAC,EAEtCC,EAAcC,EAAuB,IAAI,EACzCC,EAAeD,EAAuB,IAAI,EAC1CE,EAAUF,EAAuB,IAAI,EAE3C,OAAAG,EAAU,IAAM,CACd,MAAMC,EAAWL,EAAY,QAEzBK,GACFP,EAASO,EAAS,YAAcA,EAAS,WAAW,CAExD,EAAG,CAACZ,CAAK,CAAC,IAGP,MAAA,CAAI,IAAKS,EAAe,GAAGN,EAAO,UAAU,uCAC3C,SAAAU,EAACC,EAAO,IAAP,CACC,IAAKP,EACL,KAAK,IACL,YAAa,IACb,gBAAiB,CAAE,MAAO,EAAG,KAAM,CAACH,CAAA,EACpC,eAAgB,CAAE,cAAe,GAAI,MAAO,GAAA,EAC5C,WAAY,CAAE,SAAU,GAAK,KAAM,WAAA,EACnC,UAAU,qCAEV,WAAC,MAAA,CAAI,UAAWW,EAAW,6BAA8BhB,CAAS,EAChE,SAAAc,EAAC,MAAA,CAAI,IAAKH,EAAS,UAAU,OAAO,MAAO,CAAE,UAAAR,GAC1C,SAAAF,EAAM,IAAI,CAACgB,EAAMC,IAChBJ,EAACC,EAAO,IAAP,CAAqC,UAAU,QAC7C,SAAAb,EAAgBe,CAAI,GADN,QAAQC,CAAS,EAElC,CACD,EACH,CAAA,CACF,CAAA,CAAA,EAEJ,CAEJ"}
@@ -0,0 +1,2 @@
1
+ import{CarouselBase as e}from"./CarouselBase.js";import{ArrowNavigationButton as a}from"./ui/ArrowNavigationButton.js";import{CarouselSlide as m}from"./ui/CarouselSlide.js";import{DotsNavigations as i}from"./ui/DotsNavigations.js";import{SlideProductCard as x}from"./ui/slideVariants/SlideProductCard.js";import{SlideOnlyImage as d}from"./ui/slideVariants/SlideOnlyImage.js";import{SlideFullScreen as u}from"./ui/slideVariants/SlideFullScreen.js";import{CarouselContent as S}from"./ui/CarouselContent.js";export{a as ArrowNavigationButton,e as CarouselBase,S as CarouselContent,m as CarouselSlide,i as DotsNavigations,u as SlideFullScreen,d as SlideOnlyImage,x as SlideProductCard};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ import{jsx as t}from"react/jsx-runtime";import{SlideFullScreen as r}from"../ui/slideVariants/SlideFullScreen.js";import{SlideOnlyImage as o}from"../ui/slideVariants/SlideOnlyImage.js";import{SlideProductCard as i}from"../ui/slideVariants/SlideProductCard.js";const u={dragFree:!0,loop:!1,align:"start",slidesToScroll:1},d={position:"center",deskVisible:!0,mobVisible:!0},c={position:"top-right",deskVisible:!0,mobVisible:!1},m={active:!0},f=e=>{switch(e.variant){case"productCard":return t(i,{...e});case"onlyImage":return t(o,{...e});case"fullScreen":return t(r,{...e})}};export{m as defaultAutoPlayOptions,u as defaultCarouselOptions,d as defaultDotsOptions,c as defaultNavArrowOptions,f as renderSlideVariant};
2
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sources":["../../../../../../lib/shared/ui/carouselBase/model/helpers.tsx"],"sourcesContent":["import type { EmblaOptionsType } from 'embla-carousel'\nimport type { AutoplayOptionsType } from 'embla-carousel-autoplay'\nimport { SlideFullScreen, SlideOnlyImage, SlideProductCard } from '../ui'\nimport type { CarouselSlideVariant, DotsOptions, NavArrowOptions } from './types'\nimport type { DiscriminatedUnion } from '$/shared/types'\n\nexport const defaultCarouselOptions: EmblaOptionsType = {\n dragFree: true,\n loop: false,\n align: 'start',\n slidesToScroll: 1\n}\n\nexport const defaultDotsOptions: DotsOptions = {\n position: 'center',\n deskVisible: true,\n mobVisible: true\n}\n\nexport const defaultNavArrowOptions: NavArrowOptions = {\n position: 'top-right',\n deskVisible: true,\n mobVisible: false\n}\n\nexport const defaultAutoPlayOptions: AutoplayOptionsType = {\n active: true\n}\n\nexport const renderSlideVariant = (props: DiscriminatedUnion<'variant', CarouselSlideVariant>) => {\n switch (props.variant) {\n case 'productCard':\n return <SlideProductCard {...props} />\n case 'onlyImage':\n return <SlideOnlyImage {...props} />\n case 'fullScreen':\n return <SlideFullScreen {...props} />\n }\n}\n"],"names":["defaultCarouselOptions","defaultDotsOptions","defaultNavArrowOptions","defaultAutoPlayOptions","renderSlideVariant","props","jsx","SlideProductCard","SlideOnlyImage","SlideFullScreen"],"mappings":"mQAMO,MAAMA,EAA2C,CACtD,SAAU,GACV,KAAM,GACN,MAAO,QACP,eAAgB,CAClB,EAEaC,EAAkC,CAC7C,SAAU,SACV,YAAa,GACb,WAAY,EACd,EAEaC,EAA0C,CACrD,SAAU,YACV,YAAa,GACb,WAAY,EACd,EAEaC,EAA8C,CACzD,OAAQ,EACV,EAEaC,EAAsBC,GAA+D,CAChG,OAAQA,EAAM,QAAA,CACZ,IAAK,cACH,OAAOC,EAACC,EAAA,CAAkB,GAAGF,CAAA,CAAO,EACtC,IAAK,YACH,OAAOC,EAACE,EAAA,CAAgB,GAAGH,CAAA,CAAO,EACpC,IAAK,aACH,OAAOC,EAACG,EAAA,CAAiB,GAAGJ,CAAA,CAAO,CAAA,CAEzC"}
@@ -0,0 +1,2 @@
1
+ import{useArrowNavigation as e}from"./useArrowNavigation.js";import{useDotsNavigation as a}from"./useDotsNavigation.js";import{useCarousel as i}from"./useCarousel.js";export{e as useArrowNavigation,i as useCarousel,a as useDotsNavigation};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ import{useState as c,useCallback as n,useEffect as v}from"react";const N=({emblaApi:t,navigationHandler:s})=>{const[o,u]=c(!0),[f,l]=c(!0),x=n(r=>{if(t){switch(r){case"prev":t.scrollPrev();break;case"next":t.scrollNext();break}s&&s(t)}},[t,s]),e=n(r=>{u(!r.canScrollPrev()),l(!r.canScrollNext())},[]);return v(()=>{t&&(e(t),t.on("reInit",e).on("select",e))},[t,e]),{prevBtnDisabled:o,nextBtnDisabled:f,onClickNavigationButton:x}};export{N as useArrowNavigation};
2
+ //# sourceMappingURL=useArrowNavigation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useArrowNavigation.js","sources":["../../../../../../../lib/shared/ui/carouselBase/model/hooks/useArrowNavigation.ts"],"sourcesContent":["import { useCallback, useEffect, useState } from 'react'\nimport type { EmblaCarouselType } from 'embla-carousel'\nimport type { NavigationMode } from '../types'\n\ntype UseArrowNavigationProps = {\n emblaApi: EmblaCarouselType | undefined\n navigationHandler?: (emblaApi: EmblaCarouselType) => void\n}\n\nexport const useArrowNavigation = ({ emblaApi, navigationHandler }: UseArrowNavigationProps) => {\n const [prevBtnDisabled, setPrevBtnDisabled] = useState(true)\n const [nextBtnDisabled, setNextBtnDisabled] = useState(true)\n\n const onClickNavigationButton = useCallback(\n (mode: NavigationMode) => {\n if (!emblaApi) return\n switch (mode) {\n case 'prev':\n emblaApi.scrollPrev()\n break\n case 'next':\n emblaApi.scrollNext()\n break\n }\n\n if (navigationHandler) {\n navigationHandler(emblaApi)\n }\n },\n [emblaApi, navigationHandler]\n )\n\n const onSelect = useCallback((emblaApi: EmblaCarouselType) => {\n setPrevBtnDisabled(!emblaApi.canScrollPrev())\n setNextBtnDisabled(!emblaApi.canScrollNext())\n }, [])\n\n useEffect(() => {\n if (!emblaApi) return\n\n onSelect(emblaApi)\n emblaApi.on('reInit', onSelect).on('select', onSelect)\n }, [emblaApi, onSelect])\n\n return {\n prevBtnDisabled,\n nextBtnDisabled,\n onClickNavigationButton\n }\n}\n"],"names":["useArrowNavigation","emblaApi","navigationHandler","prevBtnDisabled","setPrevBtnDisabled","useState","nextBtnDisabled","setNextBtnDisabled","onClickNavigationButton","useCallback","mode","onSelect","useEffect"],"mappings":"iEASO,MAAMA,EAAqB,CAAC,CAAE,SAAAC,EAAU,kBAAAC,KAAiD,CAC9F,KAAM,CAACC,EAAiBC,CAAkB,EAAIC,EAAS,EAAI,EACrD,CAACC,EAAiBC,CAAkB,EAAIF,EAAS,EAAI,EAErDG,EAA0BC,EAC7BC,GAAyB,CACxB,GAAKT,EACL,QAAQS,EAAA,CACN,IAAK,OACHT,EAAS,WAAA,EACT,MACF,IAAK,OACHA,EAAS,WAAA,EACT,KAAA,CAGAC,GACFA,EAAkBD,CAAQ,EAE9B,EACA,CAACA,EAAUC,CAAiB,CAAA,EAGxBS,EAAWF,EAAaR,GAAgC,CAC5DG,EAAmB,CAACH,EAAS,eAAe,EAC5CM,EAAmB,CAACN,EAAS,eAAe,CAC9C,EAAG,CAAA,CAAE,EAEL,OAAAW,EAAU,IAAM,CACTX,IAELU,EAASV,CAAQ,EACjBA,EAAS,GAAG,SAAUU,CAAQ,EAAE,GAAG,SAAUA,CAAQ,EACvD,EAAG,CAACV,EAAUU,CAAQ,CAAC,EAEhB,CACL,gBAAAR,EACA,gBAAAG,EACA,wBAAAE,CAAA,CAEJ"}
@@ -0,0 +1,2 @@
1
+ import{useCallback as p}from"react";import l from"embla-carousel-autoplay";import u from"embla-carousel-react";const b=({carouselOptions:t,autoPlayOptions:e})=>{const[r,s]=u(t,[l(e)]),a=p(n=>{const o=n?.plugins()?.autoplay;if(!o)return;(o.options.stopOnInteraction===!1?o.reset:o.stop)()},[]);return{emblaRef:r,emblaApi:s,navigationHandler:a}};export{b as useCarousel};
2
+ //# sourceMappingURL=useCarousel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCarousel.js","sources":["../../../../../../../lib/shared/ui/carouselBase/model/hooks/useCarousel.ts"],"sourcesContent":["import { useCallback } from 'react'\nimport type { EmblaCarouselType, EmblaOptionsType } from 'embla-carousel'\nimport Autoplay, { type AutoplayOptionsType } from 'embla-carousel-autoplay'\nimport useEmblaCarousel from 'embla-carousel-react'\n\ntype UseCarouselProps = {\n carouselOptions: EmblaOptionsType\n autoPlayOptions?: AutoplayOptionsType\n}\n\nexport const useCarousel = ({ carouselOptions, autoPlayOptions }: UseCarouselProps) => {\n const [emblaRef, emblaApi] = useEmblaCarousel(carouselOptions, [Autoplay(autoPlayOptions)])\n\n const navigationHandler = useCallback((emblaApi: EmblaCarouselType) => {\n const autoplay = emblaApi?.plugins()?.autoplay\n if (!autoplay) return\n\n const resetOrStop = autoplay.options.stopOnInteraction === false ? autoplay.reset : autoplay.stop\n\n resetOrStop()\n }, [])\n\n return { emblaRef, emblaApi, navigationHandler }\n}\n"],"names":["useCarousel","carouselOptions","autoPlayOptions","emblaRef","emblaApi","useEmblaCarousel","Autoplay","navigationHandler","useCallback","autoplay"],"mappings":"+GAUO,MAAMA,EAAc,CAAC,CAAE,gBAAAC,EAAiB,gBAAAC,KAAwC,CACrF,KAAM,CAACC,EAAUC,CAAQ,EAAIC,EAAiBJ,EAAiB,CAACK,EAASJ,CAAe,CAAC,CAAC,EAEpFK,EAAoBC,EAAaJ,GAAgC,CACrE,MAAMK,EAAWL,GAAU,QAAA,GAAW,SACtC,GAAI,CAACK,EAAU,QAEKA,EAAS,QAAQ,oBAAsB,GAAQA,EAAS,MAAQA,EAAS,MAE7F,CACF,EAAG,CAAA,CAAE,EAEL,MAAO,CAAE,SAAAN,EAAU,SAAAC,EAAU,kBAAAG,CAAA,CAC/B"}
@@ -0,0 +1,2 @@
1
+ import{useState as l,useCallback as r,useEffect as I}from"react";const C=({emblaApi:t,navigationHandler:c,setVisibleIndex:e})=>{const[S,u]=l([]),f=r(o=>{t&&(t.scrollTo(o),c&&c(t))},[t,c]),n=r(o=>{u(o.scrollSnapList())},[]),s=r(o=>{e(o.selectedScrollSnap())},[]);return I(()=>{t&&(n(t),s(t),t.on("reInit",n).on("reInit",s).on("select",s))},[t,n,s]),{scrollSnaps:S,onClickDot:f}};export{C as useDotsNavigation};
2
+ //# sourceMappingURL=useDotsNavigation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDotsNavigation.js","sources":["../../../../../../../lib/shared/ui/carouselBase/model/hooks/useDotsNavigation.ts"],"sourcesContent":["import { useCallback, useEffect, useState } from 'react'\nimport type { EmblaCarouselType } from 'embla-carousel'\n\ntype UseDotsNavigationProps = {\n emblaApi: EmblaCarouselType | undefined\n navigationHandler: (emblaApi: EmblaCarouselType) => void\n setVisibleIndex: (index: number) => void\n}\n\nexport type UseDotsNavigationReturn = {\n scrollSnaps: number[]\n onClickDot: (index: number) => void\n}\n\nexport const useDotsNavigation = ({ emblaApi, navigationHandler, setVisibleIndex }: UseDotsNavigationProps) => {\n const [scrollSnaps, setScrollSnaps] = useState<number[]>([])\n\n const onClickDot = useCallback(\n (index: number) => {\n if (!emblaApi) return\n emblaApi.scrollTo(index)\n if (navigationHandler) {\n navigationHandler(emblaApi)\n }\n },\n [emblaApi, navigationHandler]\n )\n\n const onInit = useCallback((emblaApi: EmblaCarouselType) => {\n setScrollSnaps(emblaApi.scrollSnapList())\n }, [])\n\n const onSelect = useCallback((emblaApi: EmblaCarouselType) => {\n setVisibleIndex(emblaApi.selectedScrollSnap())\n }, [])\n\n useEffect(() => {\n if (!emblaApi) return\n\n onInit(emblaApi)\n onSelect(emblaApi)\n emblaApi.on('reInit', onInit).on('reInit', onSelect).on('select', onSelect)\n }, [emblaApi, onInit, onSelect])\n\n return {\n scrollSnaps,\n onClickDot\n }\n}\n"],"names":["useDotsNavigation","emblaApi","navigationHandler","setVisibleIndex","scrollSnaps","setScrollSnaps","useState","onClickDot","useCallback","index","onInit","onSelect","useEffect"],"mappings":"iEAcO,MAAMA,EAAoB,CAAC,CAAE,SAAAC,EAAU,kBAAAC,EAAmB,gBAAAC,KAA8C,CAC7G,KAAM,CAACC,EAAaC,CAAc,EAAIC,EAAmB,CAAA,CAAE,EAErDC,EAAaC,EAChBC,GAAkB,CACZR,IACLA,EAAS,SAASQ,CAAK,EACnBP,GACFA,EAAkBD,CAAQ,EAE9B,EACA,CAACA,EAAUC,CAAiB,CAAA,EAGxBQ,EAASF,EAAaP,GAAgC,CAC1DI,EAAeJ,EAAS,gBAAgB,CAC1C,EAAG,CAAA,CAAE,EAECU,EAAWH,EAAaP,GAAgC,CAC5DE,EAAgBF,EAAS,oBAAoB,CAC/C,EAAG,CAAA,CAAE,EAEL,OAAAW,EAAU,IAAM,CACTX,IAELS,EAAOT,CAAQ,EACfU,EAASV,CAAQ,EACjBA,EAAS,GAAG,SAAUS,CAAM,EAAE,GAAG,SAAUC,CAAQ,EAAE,GAAG,SAAUA,CAAQ,EAC5E,EAAG,CAACV,EAAUS,EAAQC,CAAQ,CAAC,EAExB,CACL,YAAAP,EACA,WAAAG,CAAA,CAEJ"}
@@ -0,0 +1,2 @@
1
+ import{defaultAutoPlayOptions as r,defaultCarouselOptions as e,defaultDotsOptions as a,defaultNavArrowOptions as s,renderSlideVariant as i}from"./helpers.js";import{useArrowNavigation as f}from"./hooks/useArrowNavigation.js";import{useDotsNavigation as n}from"./hooks/useDotsNavigation.js";import{useCarousel as d}from"./hooks/useCarousel.js";export{r as defaultAutoPlayOptions,e as defaultCarouselOptions,a as defaultDotsOptions,s as defaultNavArrowOptions,i as renderSlideVariant,f as useArrowNavigation,d as useCarousel,n as useDotsNavigation};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ import{jsxs as a,jsx as s}from"react/jsx-runtime";import{cn as o}from"../../../utils/cn.js";import{Icon as c}from"../../icon/Icon.js";const m=({mode:t,onClick:e,children:i,classes:r,...n})=>a("button",{className:o("group flex size-8 cursor-pointer items-center justify-center p-1",r?.button),type:"button",onClick:()=>e(t),...n,children:[s(c,{name:"arrows/arrowRight",className:o("h-full w-full text-icon-primary-default transition-colors group-disabled:text-icon-disabled",{"rotate-180":t==="prev"},r?.icon)}),i]});export{m as ArrowNavigationButton};
2
+ //# sourceMappingURL=ArrowNavigationButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ArrowNavigationButton.js","sources":["../../../../../../lib/shared/ui/carouselBase/ui/ArrowNavigationButton.tsx"],"sourcesContent":["import type { ComponentPropsWithRef } from 'react'\nimport { Icon } from '../../icon'\nimport type { NavigationMode } from '../model'\nimport { cn } from '$/shared/utils'\n\nexport type ArrowNavigationButtonClasses = {\n button?: string\n icon?: string\n}\n\ninterface ArrowNavigationButtonProps extends Omit<ComponentPropsWithRef<'button'>, 'onClick'> {\n mode: NavigationMode\n onClick: (mode: NavigationMode) => void\n classes?: ArrowNavigationButtonClasses\n}\n\nexport const ArrowNavigationButton = ({ mode, onClick, children, classes, ...props }: ArrowNavigationButtonProps) => {\n return (\n <button\n className={cn('group flex size-8 cursor-pointer items-center justify-center p-1', classes?.button)}\n type='button'\n onClick={() => onClick(mode)}\n {...props}\n >\n <Icon\n name='arrows/arrowRight'\n className={cn(\n 'h-full w-full text-icon-primary-default transition-colors group-disabled:text-icon-disabled',\n { 'rotate-180': mode === 'prev' },\n classes?.icon\n )}\n />\n {children}\n </button>\n )\n}\n"],"names":["ArrowNavigationButton","mode","onClick","children","classes","props","jsxs","cn","jsx","Icon"],"mappings":"sIAgBO,MAAMA,EAAwB,CAAC,CAAE,KAAAC,EAAM,QAAAC,EAAS,SAAAC,EAAU,QAAAC,EAAS,GAAGC,KAEzEC,EAAC,SAAA,CACC,UAAWC,EAAG,mEAAoEH,GAAS,MAAM,EACjG,KAAK,SACL,QAAS,IAAMF,EAAQD,CAAI,EAC1B,GAAGI,EAEJ,SAAA,CAAAG,EAACC,EAAA,CACC,KAAK,oBACL,UAAWF,EACT,8FACA,CAAE,aAAcN,IAAS,MAAA,EACzBG,GAAS,IAAA,CACX,CAAA,EAEDD,CAAA,CAAA,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CarouselContent.js","sources":["../../../../../../lib/shared/ui/carouselBase/ui/CarouselContent.tsx"],"sourcesContent":["import { forwardRef, type ReactNode } from 'react'\nimport type { DotsOptions, UseDotsNavigationReturn } from '../model'\nimport { DotsNavigations, type DotsNavigationsClasses } from './DotsNavigations'\nimport { useDevice } from '$/shared/hooks'\nimport { cn } from '$/shared/utils'\n\nexport type CarouselContentClasses = {\n dotsClasses?: DotsNavigationsClasses\n slidesOverlay?: string\n slidesWrapper?: string\n}\n\nexport interface CarouselContentProps {\n classes?: CarouselContentClasses\n children: ReactNode\n dotsProps: UseDotsNavigationReturn\n dotsOptions: DotsOptions\n visibleIndex: number\n}\n\nexport const CarouselContent = forwardRef<HTMLDivElement, CarouselContentProps>(\n ({ visibleIndex, classes, children, dotsProps, dotsOptions }, ref) => {\n const { isMobile, isDesktop } = useDevice()\n const { mobVisible, deskVisible, ...dotsRestOptions } = dotsOptions ?? {}\n\n //Отображения точек если переданы и мобильное разрешение\n const withDotsOnMob = mobVisible && isMobile\n //Отображения точек если переданы и полноэкранное разрешение\n const withDotsOnDesk = deskVisible && isDesktop\n\n const dotsFullProps = {\n visibleIndex,\n ...dotsProps\n }\n\n return (\n <div className={cn('mx-auto overflow-hidden', classes?.slidesOverlay)} ref={ref}>\n <div className={cn('flex touch-pan-y gap-6', classes?.slidesWrapper)}>{children}</div>\n {(withDotsOnDesk || withDotsOnMob) && <DotsNavigations {...dotsFullProps} {...dotsRestOptions} />}\n </div>\n )\n }\n)\n"],"names":["CarouselContent","forwardRef","visibleIndex","classes","children","dotsProps","dotsOptions","ref","isMobile","isDesktop","useDevice","mobVisible","deskVisible","dotsRestOptions","withDotsOnMob","withDotsOnDesk","dotsFullProps","jsxs","cn","jsx","DotsNavigations"],"mappings":"8OAoBO,MAAMA,EAAkBC,EAC7B,CAAC,CAAE,aAAAC,EAAc,QAAAC,EAAS,SAAAC,EAAU,UAAAC,EAAW,YAAAC,CAAA,EAAeC,IAAQ,CACpE,KAAM,CAAE,SAAAC,EAAU,UAAAC,CAAA,EAAcC,EAAA,EAC1B,CAAE,WAAAC,EAAY,YAAAC,EAAa,GAAGC,CAAA,EAAoBP,GAAe,CAAA,EAGjEQ,EAAgBH,GAAcH,EAE9BO,EAAiBH,GAAeH,EAEhCO,EAAgB,CACpB,aAAAd,EACA,GAAGG,CAAA,EAGL,OACEY,EAAC,OAAI,UAAWC,EAAG,0BAA2Bf,GAAS,aAAa,EAAG,IAAAI,EACrE,SAAA,CAAAY,EAAC,OAAI,UAAWD,EAAG,yBAA0Bf,GAAS,aAAa,EAAI,SAAAC,EAAS,GAC9EW,GAAkBD,IAAkBK,EAACC,GAAiB,GAAGJ,EAAgB,GAAGH,CAAA,CAAiB,CAAA,EACjG,CAEJ,CACF"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CarouselSlide.js","sources":["../../../../../../lib/shared/ui/carouselBase/ui/CarouselSlide.tsx"],"sourcesContent":["import { type CarouselSlideVariant, renderSlideVariant } from '../model'\nimport type { DiscriminatedUnion } from '$/shared/types'\nimport { cn } from '$/shared/utils'\n\nexport type CarouselSlideClasses = {\n root?: string\n slide?: string\n}\n\nexport type CarouselSlideProps = {\n classes?: CarouselSlideClasses\n}\n\nexport const CarouselSlide = ({ classes, ...props }: DiscriminatedUnion<'variant', CarouselSlideVariant>) => {\n return (\n <div className={cn(classes?.root)}>\n <div className={cn('flex translate-x-0 translate-y-0 transform-gpu select-none flex-col', classes?.slide)}>\n {renderSlideVariant(props)}\n </div>\n </div>\n )\n}\n"],"names":["CarouselSlide","classes","props","cn","jsx","renderSlideVariant"],"mappings":"2IAaO,MAAMA,EAAgB,CAAC,CAAE,QAAAC,EAAS,GAAGC,OAEvC,MAAA,CAAI,UAAWC,EAAGF,GAAS,IAAI,EAC9B,SAAAG,EAAC,MAAA,CAAI,UAAWD,EAAG,sEAAuEF,GAAS,KAAK,EACrG,SAAAI,EAAmBH,CAAK,EAC3B,EACF"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContainerWithNavigation.js","sources":["../../../../../../lib/shared/ui/carouselBase/ui/ContainerWithNavigation.tsx"],"sourcesContent":["import type { ReactNode } from 'react'\nimport type { NavigationMode } from '../model'\nimport { ArrowNavigationButton, type ArrowNavigationButtonClasses } from './ArrowNavigationButton'\nimport { cn } from '$/shared/utils'\n\nexport type ContainerWithNavigationClasses = {\n wrapper?: string\n arrowLeftClasses?: ArrowNavigationButtonClasses\n arrowRightClasses?: ArrowNavigationButtonClasses\n}\n\nexport interface ContainerWithNavigationProps {\n children: ReactNode\n prevBtnDisabled: boolean\n nextBtnDisabled: boolean\n onClickNavigationButton: (mode: NavigationMode) => void\n classes?: ContainerWithNavigationClasses\n}\n\nexport const ContainerWithNavigation = ({\n children,\n prevBtnDisabled,\n nextBtnDisabled,\n onClickNavigationButton,\n classes\n}: ContainerWithNavigationProps) => {\n return (\n <div className={cn('relative flex items-center gap-1', classes?.wrapper)}>\n <ArrowNavigationButton\n mode='prev'\n onClick={onClickNavigationButton}\n disabled={prevBtnDisabled}\n classes={{\n button: cn('absolute -left-12 top-1/2 -transform-y-1/2', classes?.arrowLeftClasses?.button),\n icon: cn(classes?.arrowLeftClasses?.icon)\n }}\n />\n {children}\n <ArrowNavigationButton\n mode='next'\n onClick={onClickNavigationButton}\n disabled={nextBtnDisabled}\n classes={{\n button: cn('absolute -right-12 top-1/2 -transform-y-1/2', classes?.arrowRightClasses?.button),\n icon: cn(classes?.arrowRightClasses?.icon)\n }}\n />\n </div>\n )\n}\n"],"names":["ContainerWithNavigation","children","prevBtnDisabled","nextBtnDisabled","onClickNavigationButton","classes","cn","jsx","ArrowNavigationButton"],"mappings":"+JAmBO,MAAMA,EAA0B,CAAC,CACtC,SAAAC,EACA,gBAAAC,EACA,gBAAAC,EACA,wBAAAC,EACA,QAAAC,CACF,MAEK,MAAA,CAAI,UAAWC,EAAG,mCAAoCD,GAAS,OAAO,EACrE,SAAA,CAAAE,EAACC,EAAA,CACC,KAAK,OACL,QAASJ,EACT,SAAUF,EACV,QAAS,CACP,OAAQI,EAAG,6CAA8CD,GAAS,kBAAkB,MAAM,EAC1F,KAAMC,EAAGD,GAAS,kBAAkB,IAAI,CAAA,CAC1C,CAAA,EAEDJ,EACDM,EAACC,EAAA,CACC,KAAK,OACL,QAASJ,EACT,SAAUD,EACV,QAAS,CACP,OAAQG,EAAG,8CAA+CD,GAAS,mBAAmB,MAAM,EAC5F,KAAMC,EAAGD,GAAS,mBAAmB,IAAI,CAAA,CAC3C,CAAA,CACF,EACF"}
@@ -0,0 +1,2 @@
1
+ import{jsx as o}from"react/jsx-runtime";import{cn as s}from"../../../utils/cn.js";const i=({scrollSnaps:a,visibleIndex:m,onClickDot:c,position:t,classes:e,...n})=>o("div",{className:s("mt-4 flex items-center gap-[6px]",{"justify-center":t==="center","justify-end":t==="bot-right","justify-start":t==="bot-left"},e?.dotsWrapper),children:a.map((p,r)=>o("button",{type:"button",onClick:()=>c(r),className:s("size-2 cursor-pointer rounded-full bg-color-primary-tr-pressed",{"h-2 w-4 rounded-md bg-color-primary-default":r===m},e?.dot),...n},r))});export{i as DotsNavigations};
2
+ //# sourceMappingURL=DotsNavigations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DotsNavigations.js","sources":["../../../../../../lib/shared/ui/carouselBase/ui/DotsNavigations.tsx"],"sourcesContent":["import type { DotsOptions } from '../model'\nimport { cn } from '$/shared/utils'\n\nexport type DotsNavigationsClasses = {\n dotsWrapper?: string\n dot?: string\n}\n\ninterface DotsNavigationsProps extends Pick<DotsOptions, 'position'> {\n scrollSnaps: number[]\n onClickDot: (index: number) => void\n visibleIndex: number\n classes?: DotsNavigationsClasses\n}\n\nexport const DotsNavigations = ({ scrollSnaps, visibleIndex, onClickDot, position, classes, ...props }: DotsNavigationsProps) => {\n return (\n <div\n className={cn(\n 'mt-4 flex items-center gap-[6px]',\n {\n 'justify-center': position === 'center',\n 'justify-end': position === 'bot-right',\n 'justify-start': position === 'bot-left'\n },\n classes?.dotsWrapper\n )}\n >\n {scrollSnaps.map((_, index) => (\n <button\n type='button'\n key={index}\n onClick={() => onClickDot(index)}\n className={cn(\n 'size-2 cursor-pointer rounded-full bg-color-primary-tr-pressed',\n { 'h-2 w-4 rounded-md bg-color-primary-default': index === visibleIndex },\n classes?.dot\n )}\n {...props}\n ></button>\n ))}\n </div>\n )\n}\n"],"names":["DotsNavigations","scrollSnaps","visibleIndex","onClickDot","position","classes","props","jsx","cn","_","index"],"mappings":"kFAeO,MAAMA,EAAkB,CAAC,CAAE,YAAAC,EAAa,aAAAC,EAAc,WAAAC,EAAY,SAAAC,EAAU,QAAAC,EAAS,GAAGC,KAE3FC,EAAC,MAAA,CACC,UAAWC,EACT,mCACA,CACE,iBAAkBJ,IAAa,SAC/B,cAAeA,IAAa,YAC5B,gBAAiBA,IAAa,UAAA,EAEhCC,GAAS,WAAA,EAGV,SAAAJ,EAAY,IAAI,CAACQ,EAAGC,IACnBH,EAAC,SAAA,CACC,KAAK,SAEL,QAAS,IAAMJ,EAAWO,CAAK,EAC/B,UAAWF,EACT,iEACA,CAAE,8CAA+CE,IAAUR,CAAA,EAC3DG,GAAS,GAAA,EAEV,GAAGC,CAAA,EAPCI,CAAA,CASR,CAAA,CAAA"}
@@ -0,0 +1,2 @@
1
+ import{ArrowNavigationButton as e}from"./ArrowNavigationButton.js";import{CarouselSlide as l}from"./CarouselSlide.js";import{DotsNavigations as i}from"./DotsNavigations.js";import{CarouselContent as f}from"./CarouselContent.js";import{SlideProductCard as p}from"./slideVariants/SlideProductCard.js";import{SlideOnlyImage as d}from"./slideVariants/SlideOnlyImage.js";import{SlideFullScreen as S}from"./slideVariants/SlideFullScreen.js";export{e as ArrowNavigationButton,f as CarouselContent,l as CarouselSlide,i as DotsNavigations,S as SlideFullScreen,d as SlideOnlyImage,p as SlideProductCard};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ import{jsxs as t,jsx as r}from"react/jsx-runtime";import{cn as e}from"../../../../utils/cn.js";const i=({slideIndex:m,title:c,image:o,description:d,slideClasses:l})=>t("div",{className:e("flex h-full w-full flex-col gap-6",l?.root),children:[t("div",{className:e("flex items-center gap-4",l?.wrapper),children:[r("span",{className:e("mob-headline-bold-s flex size-10 items-center justify-center rounded-sm bg-color-blue-grey-500 text-color-white desktop:desk-title-bold-l desktop:size-12",l?.numeric),children:m+1}),t("div",{className:e("flex flex-1 flex-col gap-2",l?.textWrapper),children:[c&&r("div",{dangerouslySetInnerHTML:{__html:c},className:e(l?.title,"mob-title-bold-m desktop:desk-title-bold-s")}),d&&r("div",{dangerouslySetInnerHTML:{__html:d},className:e("desk-body-regular-l text-color-secondary",l?.description)})]})]}),o&&o?.src&&r("div",{className:e("mobile:h-[320px] mobile:w-[328px]"),children:r("img",{className:e("w-full object-cover mobile:h-[320px]",l?.image),src:o?.src,alt:o?.alt})})]});export{i as SlideFullScreen};
2
+ //# sourceMappingURL=SlideFullScreen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SlideFullScreen.js","sources":["../../../../../../../lib/shared/ui/carouselBase/ui/slideVariants/SlideFullScreen.tsx"],"sourcesContent":["import type { ImageProps } from '../../model'\nimport { cn } from '$/shared/utils'\n\ntype SlideFullScreenClasses = {\n root?: string\n wrapper?: string\n numeric?: string\n textWrapper?: string\n title?: string\n description?: string\n image?: string\n}\n\nexport interface SlideFullScreenProps {\n slideIndex: number\n title?: string\n description?: string\n image?: ImageProps\n slideClasses?: SlideFullScreenClasses\n}\n\nexport const SlideFullScreen = ({ slideIndex, title, image, description, slideClasses }: SlideFullScreenProps) => {\n return (\n <div className={cn('flex h-full w-full flex-col gap-6', slideClasses?.root)}>\n <div className={cn('flex items-center gap-4', slideClasses?.wrapper)}>\n <span\n className={cn(\n 'mob-headline-bold-s flex size-10 items-center justify-center rounded-sm bg-color-blue-grey-500 text-color-white desktop:desk-title-bold-l desktop:size-12',\n slideClasses?.numeric\n )}\n >\n {slideIndex + 1}\n </span>\n\n <div className={cn('flex flex-1 flex-col gap-2', slideClasses?.textWrapper)}>\n {title && (\n <div\n dangerouslySetInnerHTML={{ __html: title }}\n className={cn(slideClasses?.title, 'mob-title-bold-m desktop:desk-title-bold-s')}\n />\n )}\n {description && (\n <div\n dangerouslySetInnerHTML={{ __html: description }}\n className={cn('desk-body-regular-l text-color-secondary', slideClasses?.description)}\n />\n )}\n </div>\n </div>\n {image && image?.src && (\n <div className={cn('mobile:h-[320px] mobile:w-[328px]')}>\n <img className={cn('w-full object-cover mobile:h-[320px]', slideClasses?.image)} src={image?.src} alt={image?.alt} />\n </div>\n )}\n </div>\n )\n}\n"],"names":["SlideFullScreen","slideIndex","title","image","description","slideClasses","cn","jsxs","jsx"],"mappings":"+FAqBO,MAAMA,EAAkB,CAAC,CAAE,WAAAC,EAAY,MAAAC,EAAO,MAAAC,EAAO,YAAAC,EAAa,aAAAC,OAEpE,MAAA,CAAI,UAAWC,EAAG,oCAAqCD,GAAc,IAAI,EACxE,SAAA,CAAAE,EAAC,OAAI,UAAWD,EAAG,0BAA2BD,GAAc,OAAO,EACjE,SAAA,CAAAG,EAAC,OAAA,CACC,UAAWF,EACT,4JACAD,GAAc,OAAA,EAGf,SAAAJ,EAAa,CAAA,CAAA,IAGf,MAAA,CAAI,UAAWK,EAAG,6BAA8BD,GAAc,WAAW,EACvE,SAAA,CAAAH,GACCM,EAAC,MAAA,CACC,wBAAyB,CAAE,OAAQN,CAAA,EACnC,UAAWI,EAAGD,GAAc,MAAO,4CAA4C,CAAA,CAAA,EAGlFD,GACCI,EAAC,MAAA,CACC,wBAAyB,CAAE,OAAQJ,CAAA,EACnC,UAAWE,EAAG,2CAA4CD,GAAc,WAAW,CAAA,CAAA,CACrF,CAAA,CAEJ,CAAA,EACF,EACCF,GAASA,GAAO,KACfK,EAAC,OAAI,UAAWF,EAAG,mCAAmC,EACpD,SAAAE,EAAC,MAAA,CAAI,UAAWF,EAAG,uCAAwCD,GAAc,KAAK,EAAG,IAAKF,GAAO,IAAK,IAAKA,GAAO,GAAA,CAAK,CAAA,CACrH,CAAA,EAEJ"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SlideOnlyImage.js","sources":["../../../../../../../lib/shared/ui/carouselBase/ui/slideVariants/SlideOnlyImage.tsx"],"sourcesContent":["import type { ImageProps } from '../../model'\nimport { cn } from '$/shared/utils'\n\ntype SlideOnlyImageClasses = {\n root?: string\n image?: string\n}\n\nexport interface SlideOnlyImageProps {\n imgProps?: ImageProps\n slideClasses?: SlideOnlyImageClasses\n}\n\nexport const SlideOnlyImage = ({ imgProps, slideClasses }: SlideOnlyImageProps) => {\n return (\n <div className={cn('h-full w-full', slideClasses?.root)}>\n {imgProps && imgProps?.src && (\n <img className={cn('w-full object-contain', slideClasses?.image)} src={imgProps?.src} alt={imgProps?.alt} />\n )}\n </div>\n )\n}\n"],"names":["SlideOnlyImage","imgProps","slideClasses","jsx","cn"],"mappings":"qFAaO,MAAMA,EAAiB,CAAC,CAAE,SAAAC,EAAU,aAAAC,KAEvCC,EAAC,MAAA,CAAI,UAAWC,EAAG,gBAAiBF,GAAc,IAAI,EACnD,SAAAD,GAAYA,GAAU,KACrBE,EAAC,OAAI,UAAWC,EAAG,wBAAyBF,GAAc,KAAK,EAAG,IAAKD,GAAU,IAAK,IAAKA,GAAU,GAAA,CAAK,CAAA,CAE9G"}
@@ -0,0 +1,2 @@
1
+ import{jsxs as a,jsx as r}from"react/jsx-runtime";import{cn as c}from"../../../../utils/cn.js";import{Button as m}from"../../../button/Button.js";const x=({title:o,imgProps:l,description:d,buttonProps:t,slideClasses:e})=>a("div",{className:c("flex h-full w-full flex-col justify-between rounded-md bg-[#F3F4F7] p-6",e?.root),children:[a("div",{className:c("flex flex-col gap-2",e?.wrapper),children:[a("div",{className:c("flex flex-col gap-2",e?.textWrapper),children:[o&&r("h3",{className:c("desk-title-bold-s text-color-dark",e?.title),children:o}),d&&r("p",{className:c("desk-body-medium-l text-color-tetriary",e?.description),children:d})]}),l&&l?.src&&r("img",{className:c("w-full object-contain",e?.image),src:l?.src,alt:l?.alt})]}),t&&r(m,{size:"sm",className:c("w-full",e?.button),...t,children:t?.children||"Оформить заявку"})]});export{x as SlideProductCard};
2
+ //# sourceMappingURL=SlideProductCard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SlideProductCard.js","sources":["../../../../../../../lib/shared/ui/carouselBase/ui/slideVariants/SlideProductCard.tsx"],"sourcesContent":["import { Button, type ButtonProps } from '../../../button'\nimport type { ImageProps } from '../../model'\nimport { cn } from '$/shared/utils'\n\ntype SlideProductCardClasses = {\n root?: string\n wrapper?: string\n textWrapper?: string\n title?: string\n description?: string\n image?: string\n button?: string\n}\n\nexport interface SlideProductCardProps {\n title?: string\n description?: string\n imgProps?: ImageProps\n buttonProps?: ButtonProps\n slideClasses?: SlideProductCardClasses\n}\n\nexport const SlideProductCard = ({ title, imgProps, description, buttonProps, slideClasses }: SlideProductCardProps) => {\n return (\n <div className={cn('flex h-full w-full flex-col justify-between rounded-md bg-[#F3F4F7] p-6', slideClasses?.root)}>\n <div className={cn('flex flex-col gap-2', slideClasses?.wrapper)}>\n <div className={cn('flex flex-col gap-2', slideClasses?.textWrapper)}>\n {title && <h3 className={cn('desk-title-bold-s text-color-dark', slideClasses?.title)}>{title}</h3>}\n {description && (\n <p className={cn('desk-body-medium-l text-color-tetriary', slideClasses?.description)}>{description}</p>\n )}\n </div>\n {imgProps && imgProps?.src && (\n <img className={cn('w-full object-contain', slideClasses?.image)} src={imgProps?.src} alt={imgProps?.alt} />\n )}\n </div>\n\n {buttonProps && (\n <Button size='sm' className={cn('w-full', slideClasses?.button)} {...buttonProps}>\n {buttonProps?.children || 'Оформить заявку'}\n </Button>\n )}\n </div>\n )\n}\n"],"names":["SlideProductCard","title","imgProps","description","buttonProps","slideClasses","cn","jsxs","jsx","Button"],"mappings":"kJAsBO,MAAMA,EAAmB,CAAC,CAAE,MAAAC,EAAO,SAAAC,EAAU,YAAAC,EAAa,YAAAC,EAAa,aAAAC,OAEzE,MAAA,CAAI,UAAWC,EAAG,0EAA2ED,GAAc,IAAI,EAC9G,SAAA,CAAAE,EAAC,OAAI,UAAWD,EAAG,sBAAuBD,GAAc,OAAO,EAC7D,SAAA,CAAAE,EAAC,OAAI,UAAWD,EAAG,sBAAuBD,GAAc,WAAW,EAChE,SAAA,CAAAJ,GAASO,EAAC,MAAG,UAAWF,EAAG,oCAAqCD,GAAc,KAAK,EAAI,SAAAJ,CAAA,CAAM,EAC7FE,KACE,IAAA,CAAE,UAAWG,EAAG,yCAA0CD,GAAc,WAAW,EAAI,SAAAF,CAAA,CAAY,CAAA,EAExG,EACCD,GAAYA,GAAU,KACrBM,EAAC,MAAA,CAAI,UAAWF,EAAG,wBAAyBD,GAAc,KAAK,EAAG,IAAKH,GAAU,IAAK,IAAKA,GAAU,GAAA,CAAK,CAAA,EAE9G,EAECE,GACCI,EAACC,EAAA,CAAO,KAAK,KAAK,UAAWH,EAAG,SAAUD,GAAc,MAAM,EAAI,GAAGD,EAClE,SAAAA,GAAa,UAAY,iBAAA,CAC5B,CAAA,EAEJ"}
@@ -0,0 +1,2 @@
1
+ import{SlideProductCard as o}from"./SlideProductCard.js";import{SlideOnlyImage as d}from"./SlideOnlyImage.js";import{SlideFullScreen as t}from"./SlideFullScreen.js";export{t as SlideFullScreen,d as SlideOnlyImage,o as SlideProductCard};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,2 +1,2 @@
1
- import{jsx as r}from"react/jsx-runtime";import{CarouselNative as s}from"../../../carousel/CarouselNative.js";import{RadioGroupControl as a}from"./RadioGroupControl.js";import{cn as n}from"../../../../utils/cn.js";import{RadioItemCard as l}from"../../uncontrolled/radio/ui/RadioItemCard.js";const c=({options:t,...o})=>r(a,{options:t,...o,classes:{...o?.classes,list:n("flex flex-row gap-4 max-w-[540px] overflow-x-auto",o?.classes?.list)},renderComponent:({options:e,...m})=>r(s,{items:e,renderComponent:i=>r(l,{...m,item:i})})});export{c as RadioGroupCardControl};
1
+ import{jsx as r}from"react/jsx-runtime";import{CarouselNative as s}from"../../../carouselBase/CarouselNative.js";import{RadioGroupControl as a}from"./RadioGroupControl.js";import{cn as n}from"../../../../utils/cn.js";import{RadioItemCard as l}from"../../uncontrolled/radio/ui/RadioItemCard.js";const c=({options:t,...o})=>r(a,{options:t,...o,classes:{...o?.classes,list:n("flex flex-row gap-4 max-w-[540px] overflow-x-auto",o?.classes?.list)},renderComponent:({options:e,...m})=>r(s,{items:e,renderComponent:i=>r(l,{...m,item:i})})});export{c as RadioGroupCardControl};
2
2
  //# sourceMappingURL=RadioGroupCardControl.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RadioGroupCardControl.js","sources":["../../../../../../../lib/shared/ui/formElements/controlled/radio/RadioGroupCardControl.tsx"],"sourcesContent":["import { type FieldValues } from 'react-hook-form'\nimport { CarouselNative } from '../../../carousel/CarouselNative'\nimport { RadioItemCard } from '../../uncontrolled/radio'\nimport { RadioGroupControl, type RadioGroupControlProps } from './RadioGroupControl'\nimport { cn } from '$/shared/utils'\n\nexport const RadioGroupCardControl = <TFieldValues extends FieldValues = FieldValues>({\n options,\n ...props\n}: RadioGroupControlProps<TFieldValues>) => {\n return (\n <RadioGroupControl\n options={options}\n {...props}\n classes={{\n ...props?.classes,\n list: cn('flex flex-row gap-4 max-w-[540px] overflow-x-auto', props?.classes?.list)\n }}\n renderComponent={({ options, ...props }) => (\n <CarouselNative items={options} renderComponent={(option) => <RadioItemCard {...props} item={option} />} />\n )}\n />\n )\n}\n"],"names":["RadioGroupCardControl","options","props","jsx","RadioGroupControl","cn","CarouselNative","option","RadioItemCard"],"mappings":"kSAMO,MAAMA,EAAwB,CAAiD,CACpF,QAAAC,EACA,GAAGC,CACL,IAEIC,EAACC,EAAA,CACC,QAAAH,EACC,GAAGC,EACJ,QAAS,CACP,GAAGA,GAAO,QACV,KAAMG,EAAG,sDAAuDH,GAAO,SAAS,IAAI,CAAA,EAEtF,gBAAiB,CAAC,CAAE,QAAAD,EAAS,GAAGC,KAC9BC,EAACG,EAAA,CAAe,MAAOL,EAAS,gBAAkBM,GAAWJ,EAACK,GAAe,GAAGN,EAAO,KAAMK,CAAA,CAAQ,CAAA,CAAI,CAAA,CAAA"}
1
+ {"version":3,"file":"RadioGroupCardControl.js","sources":["../../../../../../../lib/shared/ui/formElements/controlled/radio/RadioGroupCardControl.tsx"],"sourcesContent":["import { type FieldValues } from 'react-hook-form'\nimport { CarouselNative } from '../../../carouselBase/CarouselNative'\nimport { RadioItemCard } from '../../uncontrolled/radio'\nimport { RadioGroupControl, type RadioGroupControlProps } from './RadioGroupControl'\nimport { cn } from '$/shared/utils'\n\nexport const RadioGroupCardControl = <TFieldValues extends FieldValues = FieldValues>({\n options,\n ...props\n}: RadioGroupControlProps<TFieldValues>) => {\n return (\n <RadioGroupControl\n options={options}\n {...props}\n classes={{\n ...props?.classes,\n list: cn('flex flex-row gap-4 max-w-[540px] overflow-x-auto', props?.classes?.list)\n }}\n renderComponent={({ options, ...props }) => (\n <CarouselNative items={options} renderComponent={(option) => <RadioItemCard {...props} item={option} />} />\n )}\n />\n )\n}\n"],"names":["RadioGroupCardControl","options","props","jsx","RadioGroupControl","cn","CarouselNative","option","RadioItemCard"],"mappings":"sSAMO,MAAMA,EAAwB,CAAiD,CACpF,QAAAC,EACA,GAAGC,CACL,IAEIC,EAACC,EAAA,CACC,QAAAH,EACC,GAAGC,EACJ,QAAS,CACP,GAAGA,GAAO,QACV,KAAMG,EAAG,sDAAuDH,GAAO,SAAS,IAAI,CAAA,EAEtF,gBAAiB,CAAC,CAAE,QAAAD,EAAS,GAAGC,KAC9BC,EAACG,EAAA,CAAe,MAAOL,EAAS,gBAAkBM,GAAWJ,EAACK,GAAe,GAAGN,EAAO,KAAMK,CAAA,CAAQ,CAAA,CAAI,CAAA,CAAA"}
@@ -1,2 +1,2 @@
1
- import{ResponsiveContainer as t}from"./responsiveContainer/ResponsiveContainer.js";import{Button as a}from"./button/Button.js";import{buttonPrimitiveIntent as p,buttonPrimitiveSize as f,buttonPrimitiveTextFormat as x,buttonPrimitiveType as n}from"./button/model/helpers.js";import{ButtonIcon as l}from"./buttonIcon/ButtonIcon.js";import{PhoneView as s}from"./phoneView/PhoneView.js";import{Badge as u}from"./badge/Badge.js";import{Loader as T}from"./loader/Loader.js";import{Skeleton as I}from"./skeleton/Skeleton.js";import{FloatButton as P}from"./floatButton/FloatButton.js";import{Calendar as D}from"./calendar/Calendar.js";import{DATE_VISIBLE_PATTERN as y,defaultClassNames as v,formatDateToLocaleString as k,formatDateToMonthString as R,formatDateToYearString as h}from"./calendar/model/utils.js";import{Accordion as A}from"./accordion/Accordion.js";import{Hint as E}from"./hint/Hint.js";import{Popover as F}from"./popover/Popover.js";import{ProgressBar as M}from"./progressBar/ProgressBar.js";import{TabsSwitcher as O}from"./tabSwitcher/TabsSwitcher.js";import{Modal as z}from"./modal/Modal.js";import{Notification as _}from"./notification/Notification.js";import{DataTable as Y}from"./table/Table.js";import{TableUtils as q}from"./table/model/TableUtils.js";import{TablePagination as Q}from"./table/TablePagination.js";import{Table as X,TableBody as Z,TableCaption as $,TableCell as oo,TableFooter as ro,TableHead as to,TableHeader as eo,TableRow as ao}from"./table/ui/primitives/Primitives.js";import{DataTableColumnHeader as po}from"./table/ui/dataTableColumnHeader/DataTableColumnHeader.js";import{EditableCell as xo}from"./table/ui/editableCell/EditableCell.js";import{Pagination as io}from"./pagination/Pagination.js";import{usePagination as so}from"./pagination/hooks/usePagination.js";import{CarouselBase as uo}from"./carousel/CarouselBase.js";import{ArrowNavigationButton as To}from"./carousel/ui/ArrowNavigationButton.js";import{CarouselSlide as Io}from"./carousel/ui/CarouselSlide.js";import{DotsNavigations as Po}from"./carousel/ui/DotsNavigations.js";import{SlideProductCard as Do}from"./carousel/ui/slideVariants/SlideProductCard.js";import{SlideOnlyImage as yo}from"./carousel/ui/slideVariants/SlideOnlyImage.js";import{SlideFullScreen as ko}from"./carousel/ui/slideVariants/SlideFullScreen.js";import{CarouselContent as ho}from"./carousel/ui/CarouselContent.js";import{Dialog as Ao}from"./dialog/Dialog.js";import{NotificationProvider as Eo}from"./providers/NotificationProvider.js";import{Heading as Fo}from"./heading/Heading.js";import{Icon as Mo}from"./icon/Icon.js";import{allowedIcons as Oo}from"./icon/allowedIcons.js";import{brandLogos as zo}from"./brandLogos/BrandLogos.js";import{linkPrimitiveIconIntent as _o,linkPrimitiveIntent as Ko,linkPrimitiveSize as Yo}from"./customLink/model/helpers.js";import{CustomLink as qo}from"./customLink/CustomLink.js";import{KeyboardShortcuts as Qo}from"./keyboardShortcuts/KeyboardShortcuts.js";import{Slot as Xo}from"./slot/Slot.js";import{Uncontrolled as $o}from"./formElements/uncontrolled/index.js";import{Controlled as rr}from"./formElements/controlled/index.js";import{AutocompleteBase as er}from"./formElements/uncontrolled/autocomplete/Autocomplete.js";import{CheckboxBase as mr}from"./formElements/uncontrolled/checkbox/Checkbox.js";import{Combobox as fr}from"./formElements/uncontrolled/combobox/combobox.js";import{DayPickerBase as nr}from"./formElements/uncontrolled/dayPicker/DayPicker.js";import{InputBase as lr}from"./formElements/uncontrolled/input/Input.js";import{InputOtpBase as sr}from"./formElements/uncontrolled/inputOtp/InputOtpBase.js";import{MaskInput as ur}from"./formElements/uncontrolled/maskInput/MaskInput.js";import{RadioGroupBase as Tr}from"./formElements/uncontrolled/radio/RadioGroup.js";import{RadioItem as Ir}from"./formElements/uncontrolled/radio/ui/RadioItem.js";import{RadioItemCard as Pr}from"./formElements/uncontrolled/radio/ui/RadioItemCard.js";import{RadioItemTab as Dr}from"./formElements/uncontrolled/radio/ui/RadioItemTab.js";import{SliderBase as yr}from"./formElements/uncontrolled/slider/SliderBase.js";import{SwitchBase as kr}from"./formElements/uncontrolled/switch/Switch.js";import{TextareaBase as hr}from"./formElements/uncontrolled/textarea/Textarea.js";import{UploaderBase as Ar}from"./formElements/uncontrolled/uploader/UploaderBase.js";import{bytesToMegabytes as Er,megabytesToBytes as Nr}from"./formElements/uncontrolled/uploader/model/helpers.js";import{InputCurrencyBase as Hr}from"./formElements/uncontrolled/inputCurrency/InputCurrency.js";import{AutocompleteControl as Gr}from"./formElements/controlled/autocomplete/AutocompleteControl.js";import{CheckboxControl as Ur}from"./formElements/controlled/checkbox/CheckboxControl.js";import{DadataOrganization as Vr}from"./formElements/controlled/dadata/party/DadataOrganization.js";import{DadataAddress as Kr}from"./formElements/controlled/dadata/address/DadataAddress.js";import{DadataAuto as jr}from"./formElements/controlled/dadata/auto/DadataAuto.js";import{DadataCountry as Jr}from"./formElements/controlled/dadata/country/DadataCountry.js";import{DadataFio as Wr}from"./formElements/controlled/dadata/fio/DadataFio.js";import{DayPickerControl as Zr}from"./formElements/controlled/dayPickerControl/dayPickerControl.js";import{EditorControl as ot}from"./formElements/controlled/editor/EditorControl.js";import{InputControl as tt}from"./formElements/controlled/input/InputControl.js";import{MaskInputControl as at}from"./formElements/controlled/input/MaskInputControl.js";import{InputCurrencyControl as pt}from"./formElements/controlled/inputCurrency/InputCurrencyControl.js";import{InputOtpControl as xt}from"./formElements/controlled/inputOtp/InputOtpControl.js";import{RadioGroupControl as it}from"./formElements/controlled/radio/RadioGroupControl.js";import{RadioGroupTabControl as dt}from"./formElements/controlled/radio/RadioGroupTabControl.js";import{RadioGroupCardControl as Ct}from"./formElements/controlled/radio/RadioGroupCardControl.js";import{SliderControl as bt}from"./formElements/controlled/slider/SliderControl.js";import{SwitchControl as ct}from"./formElements/controlled/switch/SwitchControl.js";import{TextareaControl as Bt}from"./formElements/controlled/textarea/TextareaControl.js";import{UploaderControl as St}from"./formElements/controlled/uploader/UploaderControl.js";import{ComboboxControl as gt}from"./formElements/controlled/combobox/ComboboxControl.js";import{Chips as vt}from"./chips/Chips.js";import{DropdownList as Rt}from"./dropdownList/DropdownList.js";import{EmptyList as wt}from"./dropdownList/ui/Empty.js";import{DropdownItem as Lt}from"./dropdownList/ui/dropdownItem/DropdownItem.js";import{Portal as Nt}from"./portal/Portal.js";import{Divider as Ht}from"./divider/Divider.js";import{Confirmable as Gt}from"./confirmable/Confirmable.js";export{A as Accordion,To as ArrowNavigationButton,er as AutocompleteBase,Gr as AutocompleteControl,u as Badge,a as Button,l as ButtonIcon,D as Calendar,uo as CarouselBase,ho as CarouselContent,Io as CarouselSlide,mr as CheckboxBase,Ur as CheckboxControl,vt as Chips,fr as Combobox,gt as ComboboxControl,Gt as Confirmable,rr as Controlled,qo as CustomLink,y as DATE_VISIBLE_PATTERN,Kr as DadataAddress,jr as DadataAuto,Jr as DadataCountry,Wr as DadataFio,Vr as DadataOrganization,Y as DataTable,po as DataTableColumnHeader,nr as DayPickerBase,Zr as DayPickerControl,Ao as Dialog,Ht as Divider,Po as DotsNavigations,Lt as DropdownItem,Rt as DropdownList,xo as EditableCell,ot as EditorControl,wt as EmptyList,P as FloatButton,Fo as Heading,E as Hint,Mo as Icon,lr as InputBase,tt as InputControl,Hr as InputCurrencyBase,pt as InputCurrencyControl,sr as InputOtpBase,xt as InputOtpControl,Qo as KeyboardShortcuts,T as Loader,ur as MaskInput,at as MaskInputControl,z as Modal,_ as Notification,Eo as NotificationProvider,io as Pagination,s as PhoneView,F as Popover,Nt as Portal,M as ProgressBar,Tr as RadioGroupBase,Ct as RadioGroupCardControl,it as RadioGroupControl,dt as RadioGroupTabControl,Ir as RadioItem,Pr as RadioItemCard,Dr as RadioItemTab,t as ResponsiveContainer,I as Skeleton,ko as SlideFullScreen,yo as SlideOnlyImage,Do as SlideProductCard,yr as SliderBase,bt as SliderControl,Xo as Slot,kr as SwitchBase,ct as SwitchControl,X as Table,Z as TableBody,$ as TableCaption,oo as TableCell,ro as TableFooter,to as TableHead,eo as TableHeader,Q as TablePagination,ao as TableRow,q as TableUtils,O as TabsSwitcher,hr as TextareaBase,Bt as TextareaControl,$o as Uncontrolled,Ar as UploaderBase,St as UploaderControl,Oo as allowedIcons,zo as brandLogos,p as buttonPrimitiveIntent,f as buttonPrimitiveSize,x as buttonPrimitiveTextFormat,n as buttonPrimitiveType,Er as bytesToMegabytes,v as defaultClassNames,k as formatDateToLocaleString,R as formatDateToMonthString,h as formatDateToYearString,_o as linkPrimitiveIconIntent,Ko as linkPrimitiveIntent,Yo as linkPrimitiveSize,Nr as megabytesToBytes,so as usePagination};
1
+ import{ResponsiveContainer as t}from"./responsiveContainer/ResponsiveContainer.js";import{Button as a}from"./button/Button.js";import{buttonPrimitiveIntent as p,buttonPrimitiveSize as f,buttonPrimitiveTextFormat as x,buttonPrimitiveType as n}from"./button/model/helpers.js";import{ButtonIcon as l}from"./buttonIcon/ButtonIcon.js";import{PhoneView as s}from"./phoneView/PhoneView.js";import{Badge as u}from"./badge/Badge.js";import{Loader as T}from"./loader/Loader.js";import{Skeleton as I}from"./skeleton/Skeleton.js";import{FloatButton as P}from"./floatButton/FloatButton.js";import{Calendar as D}from"./calendar/Calendar.js";import{DATE_VISIBLE_PATTERN as y,defaultClassNames as v,formatDateToLocaleString as k,formatDateToMonthString as R,formatDateToYearString as h}from"./calendar/model/utils.js";import{Accordion as A}from"./accordion/Accordion.js";import{Hint as E}from"./hint/Hint.js";import{Popover as F}from"./popover/Popover.js";import{ProgressBar as M}from"./progressBar/ProgressBar.js";import{TabsSwitcher as O}from"./tabSwitcher/TabsSwitcher.js";import{Modal as z}from"./modal/Modal.js";import{Notification as _}from"./notification/Notification.js";import{DataTable as Y}from"./table/Table.js";import{TableUtils as q}from"./table/model/TableUtils.js";import{TablePagination as Q}from"./table/TablePagination.js";import{Table as X,TableBody as Z,TableCaption as $,TableCell as oo,TableFooter as ro,TableHead as to,TableHeader as eo,TableRow as ao}from"./table/ui/primitives/Primitives.js";import{DataTableColumnHeader as po}from"./table/ui/dataTableColumnHeader/DataTableColumnHeader.js";import{EditableCell as xo}from"./table/ui/editableCell/EditableCell.js";import{Pagination as io}from"./pagination/Pagination.js";import{usePagination as so}from"./pagination/hooks/usePagination.js";import{CarouselBase as uo}from"./carouselBase/CarouselBase.js";import{ArrowNavigationButton as To}from"./carouselBase/ui/ArrowNavigationButton.js";import{CarouselSlide as Io}from"./carouselBase/ui/CarouselSlide.js";import{DotsNavigations as Po}from"./carouselBase/ui/DotsNavigations.js";import{SlideProductCard as Do}from"./carouselBase/ui/slideVariants/SlideProductCard.js";import{SlideOnlyImage as yo}from"./carouselBase/ui/slideVariants/SlideOnlyImage.js";import{SlideFullScreen as ko}from"./carouselBase/ui/slideVariants/SlideFullScreen.js";import{CarouselContent as ho}from"./carouselBase/ui/CarouselContent.js";import{Dialog as Ao}from"./dialog/Dialog.js";import{NotificationProvider as Eo}from"./providers/NotificationProvider.js";import{Heading as Fo}from"./heading/Heading.js";import{Icon as Mo}from"./icon/Icon.js";import{allowedIcons as Oo}from"./icon/allowedIcons.js";import{brandLogos as zo}from"./brandLogos/BrandLogos.js";import{linkPrimitiveIconIntent as _o,linkPrimitiveIntent as Ko,linkPrimitiveSize as Yo}from"./customLink/model/helpers.js";import{CustomLink as qo}from"./customLink/CustomLink.js";import{KeyboardShortcuts as Qo}from"./keyboardShortcuts/KeyboardShortcuts.js";import{Slot as Xo}from"./slot/Slot.js";import{Uncontrolled as $o}from"./formElements/uncontrolled/index.js";import{Controlled as rr}from"./formElements/controlled/index.js";import{AutocompleteBase as er}from"./formElements/uncontrolled/autocomplete/Autocomplete.js";import{CheckboxBase as mr}from"./formElements/uncontrolled/checkbox/Checkbox.js";import{Combobox as fr}from"./formElements/uncontrolled/combobox/combobox.js";import{DayPickerBase as nr}from"./formElements/uncontrolled/dayPicker/DayPicker.js";import{InputBase as lr}from"./formElements/uncontrolled/input/Input.js";import{InputOtpBase as sr}from"./formElements/uncontrolled/inputOtp/InputOtpBase.js";import{MaskInput as ur}from"./formElements/uncontrolled/maskInput/MaskInput.js";import{RadioGroupBase as Tr}from"./formElements/uncontrolled/radio/RadioGroup.js";import{RadioItem as Ir}from"./formElements/uncontrolled/radio/ui/RadioItem.js";import{RadioItemCard as Pr}from"./formElements/uncontrolled/radio/ui/RadioItemCard.js";import{RadioItemTab as Dr}from"./formElements/uncontrolled/radio/ui/RadioItemTab.js";import{SliderBase as yr}from"./formElements/uncontrolled/slider/SliderBase.js";import{SwitchBase as kr}from"./formElements/uncontrolled/switch/Switch.js";import{TextareaBase as hr}from"./formElements/uncontrolled/textarea/Textarea.js";import{UploaderBase as Ar}from"./formElements/uncontrolled/uploader/UploaderBase.js";import{bytesToMegabytes as Er,megabytesToBytes as Nr}from"./formElements/uncontrolled/uploader/model/helpers.js";import{InputCurrencyBase as Hr}from"./formElements/uncontrolled/inputCurrency/InputCurrency.js";import{AutocompleteControl as Gr}from"./formElements/controlled/autocomplete/AutocompleteControl.js";import{CheckboxControl as Ur}from"./formElements/controlled/checkbox/CheckboxControl.js";import{DadataOrganization as Vr}from"./formElements/controlled/dadata/party/DadataOrganization.js";import{DadataAddress as Kr}from"./formElements/controlled/dadata/address/DadataAddress.js";import{DadataAuto as jr}from"./formElements/controlled/dadata/auto/DadataAuto.js";import{DadataCountry as Jr}from"./formElements/controlled/dadata/country/DadataCountry.js";import{DadataFio as Wr}from"./formElements/controlled/dadata/fio/DadataFio.js";import{DayPickerControl as Zr}from"./formElements/controlled/dayPickerControl/dayPickerControl.js";import{EditorControl as ot}from"./formElements/controlled/editor/EditorControl.js";import{InputControl as tt}from"./formElements/controlled/input/InputControl.js";import{MaskInputControl as at}from"./formElements/controlled/input/MaskInputControl.js";import{InputCurrencyControl as pt}from"./formElements/controlled/inputCurrency/InputCurrencyControl.js";import{InputOtpControl as xt}from"./formElements/controlled/inputOtp/InputOtpControl.js";import{RadioGroupControl as it}from"./formElements/controlled/radio/RadioGroupControl.js";import{RadioGroupTabControl as dt}from"./formElements/controlled/radio/RadioGroupTabControl.js";import{RadioGroupCardControl as Ct}from"./formElements/controlled/radio/RadioGroupCardControl.js";import{SliderControl as bt}from"./formElements/controlled/slider/SliderControl.js";import{SwitchControl as ct}from"./formElements/controlled/switch/SwitchControl.js";import{TextareaControl as Bt}from"./formElements/controlled/textarea/TextareaControl.js";import{UploaderControl as St}from"./formElements/controlled/uploader/UploaderControl.js";import{ComboboxControl as gt}from"./formElements/controlled/combobox/ComboboxControl.js";import{Chips as vt}from"./chips/Chips.js";import{DropdownList as Rt}from"./dropdownList/DropdownList.js";import{EmptyList as wt}from"./dropdownList/ui/Empty.js";import{DropdownItem as Lt}from"./dropdownList/ui/dropdownItem/DropdownItem.js";import{Portal as Nt}from"./portal/Portal.js";import{Divider as Ht}from"./divider/Divider.js";import{Confirmable as Gt}from"./confirmable/Confirmable.js";import{Carousel as Ut}from"./carousel/Carousel.js";export{A as Accordion,To as ArrowNavigationButton,er as AutocompleteBase,Gr as AutocompleteControl,u as Badge,a as Button,l as ButtonIcon,D as Calendar,Ut as Carousel,uo as CarouselBase,ho as CarouselContent,Io as CarouselSlide,mr as CheckboxBase,Ur as CheckboxControl,vt as Chips,fr as Combobox,gt as ComboboxControl,Gt as Confirmable,rr as Controlled,qo as CustomLink,y as DATE_VISIBLE_PATTERN,Kr as DadataAddress,jr as DadataAuto,Jr as DadataCountry,Wr as DadataFio,Vr as DadataOrganization,Y as DataTable,po as DataTableColumnHeader,nr as DayPickerBase,Zr as DayPickerControl,Ao as Dialog,Ht as Divider,Po as DotsNavigations,Lt as DropdownItem,Rt as DropdownList,xo as EditableCell,ot as EditorControl,wt as EmptyList,P as FloatButton,Fo as Heading,E as Hint,Mo as Icon,lr as InputBase,tt as InputControl,Hr as InputCurrencyBase,pt as InputCurrencyControl,sr as InputOtpBase,xt as InputOtpControl,Qo as KeyboardShortcuts,T as Loader,ur as MaskInput,at as MaskInputControl,z as Modal,_ as Notification,Eo as NotificationProvider,io as Pagination,s as PhoneView,F as Popover,Nt as Portal,M as ProgressBar,Tr as RadioGroupBase,Ct as RadioGroupCardControl,it as RadioGroupControl,dt as RadioGroupTabControl,Ir as RadioItem,Pr as RadioItemCard,Dr as RadioItemTab,t as ResponsiveContainer,I as Skeleton,ko as SlideFullScreen,yo as SlideOnlyImage,Do as SlideProductCard,yr as SliderBase,bt as SliderControl,Xo as Slot,kr as SwitchBase,ct as SwitchControl,X as Table,Z as TableBody,$ as TableCaption,oo as TableCell,ro as TableFooter,to as TableHead,eo as TableHeader,Q as TablePagination,ao as TableRow,q as TableUtils,O as TabsSwitcher,hr as TextareaBase,Bt as TextareaControl,$o as Uncontrolled,Ar as UploaderBase,St as UploaderControl,Oo as allowedIcons,zo as brandLogos,p as buttonPrimitiveIntent,f as buttonPrimitiveSize,x as buttonPrimitiveTextFormat,n as buttonPrimitiveType,Er as bytesToMegabytes,v as defaultClassNames,k as formatDateToLocaleString,R as formatDateToMonthString,h as formatDateToYearString,_o as linkPrimitiveIconIntent,Ko as linkPrimitiveIntent,Yo as linkPrimitiveSize,Nr as megabytesToBytes,so as usePagination};
2
2
  //# sourceMappingURL=index.js.map
@@ -1,2 +1,2 @@
1
- import{jsxs as t,jsx as l}from"react/jsx-runtime";import{cn as r}from"../../utils/cn.js";const n=({topContent:o,bottomContent:a,progress:d,maxPercent:i=100,classes:e})=>t("div",{className:r("flex w-full flex-col",e?.root),children:[o&&l("div",{className:r("mb-2 flex justify-between gap-5",e?.topContent),children:o}),t("div",{className:r("relative h-2 w-[328xp] rounded-md bg-color-blue-grey-100 desktop:w-[524px]",e?.progressBar),children:[l("div",{style:{width:`${d}%`},className:r("relative z-10 h-2 rounded-md bg-color-positive transition-all",e?.progress)}),l("span",{style:{maxWidth:`${i}%`},className:r("progressBar-apply z-1 absolute top-1/2 h-full w-full -translate-y-1/2 animate-progress-loader rounded-md",e?.loader)})]}),a&&l("div",{className:r("mt-2 flex justify-between gap-5",e?.bottomContent),children:a})]});export{n as ProgressBar};
1
+ import{jsxs as l,jsx as t}from"react/jsx-runtime";import{cn as r}from"../../utils/cn.js";const p=({topContent:o,leftSubtitle:a,rightSubtitle:d,progress:i,maxPercent:s=100,classes:e})=>l("div",{className:r("flex w-full flex-col",e?.root),children:[o&&t("div",{className:r("mb-2 flex justify-between gap-5",e?.topContent),children:o}),l("div",{className:r("relative h-2 w-[328xp] rounded-md bg-color-blue-grey-100 desktop:w-[524px]",e?.progressBar),children:[t("div",{style:{width:`${i}%`},className:r("relative z-10 h-2 rounded-md bg-color-positive transition-all",e?.progress)}),t("span",{style:{maxWidth:`${s}%`},className:r("progressBar-apply z-1 absolute top-1/2 h-full w-full -translate-y-1/2 animate-progress-loader rounded-md",e?.loader)})]}),(a||d)&&l("div",{className:r("mt-2 flex justify-between gap-5",e?.bottomContentClasses),children:[t("div",{className:r("items-start",e?.leftSubtitle),children:a}),t("div",{className:r("items-end",e?.rightSubtitle),children:d})]})]});export{p as ProgressBar};
2
2
  //# sourceMappingURL=ProgressBar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProgressBar.js","sources":["../../../../../lib/shared/ui/progressBar/ProgressBar.tsx"],"sourcesContent":["import * as React from 'react'\nimport { cn } from '$/shared/utils'\n\ntype ProgressBarClasses = {\n root?: string\n topContent?: string\n bottomContent?: string\n progressBar?: string\n progress?: string\n loader?: string\n}\n\nexport interface IProgressBarProps {\n topContent?: React.ReactElement\n bottomContent?: React.ReactElement\n progress: number\n maxPercent?: number\n classes?: ProgressBarClasses\n}\n\nexport const ProgressBar = ({ topContent, bottomContent, progress, maxPercent = 100, classes }: IProgressBarProps) => {\n return (\n <div className={cn('flex w-full flex-col', classes?.root)}>\n {topContent && <div className={cn('mb-2 flex justify-between gap-5', classes?.topContent)}>{topContent}</div>}\n\n <div className={cn('relative h-2 w-[328xp] rounded-md bg-color-blue-grey-100 desktop:w-[524px]', classes?.progressBar)}>\n <div\n style={{ width: `${progress}%` }}\n className={cn('relative z-10 h-2 rounded-md bg-color-positive transition-all', classes?.progress)}\n ></div>\n <span\n style={{ maxWidth: `${maxPercent}%` }}\n className={cn(\n 'progressBar-apply z-1 absolute top-1/2 h-full w-full -translate-y-1/2 animate-progress-loader rounded-md',\n classes?.loader\n )}\n ></span>\n </div>\n\n {bottomContent && <div className={cn('mt-2 flex justify-between gap-5', classes?.bottomContent)}>{bottomContent}</div>}\n </div>\n )\n}\n"],"names":["ProgressBar","topContent","bottomContent","progress","maxPercent","classes","cn","jsx"],"mappings":"yFAoBO,MAAMA,EAAc,CAAC,CAAE,WAAAC,EAAY,cAAAC,EAAe,SAAAC,EAAU,WAAAC,EAAa,IAAK,QAAAC,OAEhF,MAAA,CAAI,UAAWC,EAAG,uBAAwBD,GAAS,IAAI,EACrD,SAAA,CAAAJ,GAAcM,EAAC,OAAI,UAAWD,EAAG,kCAAmCD,GAAS,UAAU,EAAI,SAAAJ,CAAA,CAAW,IAEtG,MAAA,CAAI,UAAWK,EAAG,6EAA8ED,GAAS,WAAW,EACnH,SAAA,CAAAE,EAAC,MAAA,CACC,MAAO,CAAE,MAAO,GAAGJ,CAAQ,GAAA,EAC3B,UAAWG,EAAG,gEAAiED,GAAS,QAAQ,CAAA,CAAA,EAElGE,EAAC,OAAA,CACC,MAAO,CAAE,SAAU,GAAGH,CAAU,GAAA,EAChC,UAAWE,EACT,2GACAD,GAAS,MAAA,CACX,CAAA,CACD,EACH,EAECH,KAAkB,MAAA,CAAI,UAAWI,EAAG,kCAAmCD,GAAS,aAAa,EAAI,SAAAH,CAAA,CAAc,CAAA,EAClH"}
1
+ {"version":3,"file":"ProgressBar.js","sources":["../../../../../lib/shared/ui/progressBar/ProgressBar.tsx"],"sourcesContent":["import * as React from 'react'\nimport { cn } from '$/shared/utils'\n\ntype ProgressBarClasses = {\n root?: string\n topContent?: string\n leftSubtitle?: React.ReactElement\n rightSubtitle?: React.ReactElement\n progressBar?: string\n progress?: string\n loader?: string\n bottomContentClasses?: string\n}\n\nexport interface IProgressBarProps {\n topContent?: React.ReactElement\n leftSubtitle?: React.ReactElement\n rightSubtitle?: React.ReactElement\n progress: number\n maxPercent?: number\n classes?: ProgressBarClasses\n}\n\nexport const ProgressBar = ({\n topContent,\n leftSubtitle,\n rightSubtitle,\n progress,\n maxPercent = 100,\n classes\n}: IProgressBarProps) => {\n return (\n <div className={cn('flex w-full flex-col', classes?.root)}>\n {topContent && <div className={cn('mb-2 flex justify-between gap-5', classes?.topContent)}>{topContent}</div>}\n\n <div className={cn('relative h-2 w-[328xp] rounded-md bg-color-blue-grey-100 desktop:w-[524px]', classes?.progressBar)}>\n <div\n style={{ width: `${progress}%` }}\n className={cn('relative z-10 h-2 rounded-md bg-color-positive transition-all', classes?.progress)}\n ></div>\n <span\n style={{ maxWidth: `${maxPercent}%` }}\n className={cn(\n 'progressBar-apply z-1 absolute top-1/2 h-full w-full -translate-y-1/2 animate-progress-loader rounded-md',\n classes?.loader\n )}\n ></span>\n </div>\n\n {(leftSubtitle || rightSubtitle) && (\n <div className={cn('mt-2 flex justify-between gap-5', classes?.bottomContentClasses)}>\n <div className={cn('items-start', classes?.leftSubtitle)}>{leftSubtitle}</div>\n <div className={cn('items-end', classes?.rightSubtitle)}>{rightSubtitle}</div>\n </div>\n )}\n </div>\n )\n}\n"],"names":["ProgressBar","topContent","leftSubtitle","rightSubtitle","progress","maxPercent","classes","cn","jsx","jsxs"],"mappings":"yFAuBO,MAAMA,EAAc,CAAC,CAC1B,WAAAC,EACA,aAAAC,EACA,cAAAC,EACA,SAAAC,EACA,WAAAC,EAAa,IACb,QAAAC,CACF,MAEK,MAAA,CAAI,UAAWC,EAAG,uBAAwBD,GAAS,IAAI,EACrD,SAAA,CAAAL,GAAcO,EAAC,OAAI,UAAWD,EAAG,kCAAmCD,GAAS,UAAU,EAAI,SAAAL,CAAA,CAAW,IAEtG,MAAA,CAAI,UAAWM,EAAG,6EAA8ED,GAAS,WAAW,EACnH,SAAA,CAAAE,EAAC,MAAA,CACC,MAAO,CAAE,MAAO,GAAGJ,CAAQ,GAAA,EAC3B,UAAWG,EAAG,gEAAiED,GAAS,QAAQ,CAAA,CAAA,EAElGE,EAAC,OAAA,CACC,MAAO,CAAE,SAAU,GAAGH,CAAU,GAAA,EAChC,UAAWE,EACT,2GACAD,GAAS,MAAA,CACX,CAAA,CACD,EACH,GAEEJ,GAAgBC,IAChBM,EAAC,MAAA,CAAI,UAAWF,EAAG,kCAAmCD,GAAS,oBAAoB,EACjF,SAAA,CAAAE,EAAC,OAAI,UAAWD,EAAG,cAAeD,GAAS,YAAY,EAAI,SAAAJ,EAAa,EACxEM,EAAC,OAAI,UAAWD,EAAG,YAAaD,GAAS,aAAa,EAAI,SAAAH,CAAA,CAAc,CAAA,CAAA,CAC1E,CAAA,EAEJ"}
@@ -0,0 +1,2 @@
1
+ import{jsx as r}from"react/jsx-runtime";import{Carousel as t}from"../../shared/ui/carousel/Carousel.js";const a=o=>r(t,{...o});export{a as CarouselBlock,a as default};
2
+ //# sourceMappingURL=CarouselBlock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CarouselBlock.js","sources":["../../../../lib/widgets/carouselBlock/CarouselBlock.tsx"],"sourcesContent":["import { Carousel, type CarouselProps, type SlideVariant } from '$/shared/ui'\n\nexport interface CarouselBlockProps<V extends SlideVariant> extends CarouselProps<V> {}\n\nexport const CarouselBlock = <V extends SlideVariant>(props: CarouselBlockProps<V>) => {\n return <Carousel {...props} />\n}\n\nexport default CarouselBlock\n"],"names":["CarouselBlock","props","jsx","Carousel"],"mappings":"wGAIO,MAAMA,EAAyCC,GAC7CC,EAACC,EAAA,CAAU,GAAGF,CAAA,CAAO"}
@@ -0,0 +1,2 @@
1
+ import{CarouselBlock as e}from"./CarouselBlock.js";export{e as CarouselBlock};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,2 +1,2 @@
1
- import{jsx as e,jsxs as s}from"react/jsx-runtime";import{useState as H,createElement as I}from"react";import{getDynamicSchema as M}from"../../../src/shared/utils/getDynamicSchema.js";import{ZodUtils as R}from"../../shared/validation/utils/zodUtils.js";import{getFieldsProgress as Z,withAuthProvider as b,withApprovement as z}from"./model/helpers.js";import{useFieldsProgress as A}from"../../shared/hooks/useFieldsProgress.js";import{QueryClientProvider as L}from"../queryClientProvider/QueryClientProvider.js";import{cn as t}from"../../shared/utils/cn.js";import{ProgressBar as Q}from"../../shared/ui/progressBar/ProgressBar.js";import{HTMLRenderer as k}from"../htmlParser/HTMLRenderer.js";import{FieldMapper as U}from"../fieldMapper/FieldMapper.js";import{useControlledForm as q}from"../../shared/hooks/useControlledForm.js";import{widgetIds as w}from"../model/helpers.js";import{ResponsiveContainer as J}from"../../shared/ui/responsiveContainer/ResponsiveContainer.js";import{Icon as K}from"../../shared/ui/icon/Icon.js";import{Heading as y}from"../../shared/ui/heading/Heading.js";import{Button as O}from"../../shared/ui/button/Button.js";const ne=({fields:d,title:f,progress:l,approvement:m,chips:i,submitProps:N,auth:p,classes:o,buttonGroup:a,ssoAuthorizationTop:g=!1,backgroundColor:h})=>{const{submitCallback:x,onErrorCallback:P}=N||{},[n,C]=H(m.type==="checkbox"?m.defaultValue:!1),c=M(d),v=R.getZodDefaults(c),{control:u,handleSubmit:S,formState:{isValid:B}}=q({schema:c,defaultValues:v,mode:"onBlur"}),F=Z(l,d),j=A({control:u,fields:F||[],schema:c}),D=r=>{x&&x({...r,agree:n})};return e(L,{children:e("section",{id:w.form,"data-test-id":w.form,className:t("w-full",o?.root,h&&"desktop:py-[80px]"),style:{backgroundColor:h},children:s(J,{className:t("border-warm-grey-200 px-4 desktop:w-[636px] desktop:gap-8 desktop:p-14","relative mx-auto flex flex-col gap-6 rounded-sm bg-color-white py-8 desktop:border"),children:[i.enabled&&s("div",{className:t("desk-body-regular-l flex items-center gap-x-2 rounded-sm desktop:absolute","bg-color-blue-grey-100 px-2 py-1 text-color-tetriary","right-4 top-4 w-max",o?.chips?.root),children:[i.image&&e(K,{name:i.image,className:t("size-6",o?.chips?.icon)}),i.content]}),e(y,{as:"h2",className:t("text-color-dark desktop:hidden",o?.title),children:f}),e(y,{as:"h3",className:t("text-color-dark mobile:hidden",o?.title),children:f}),g&&b(p),s("form",{"data-valid":B,onSubmit:S(D,r=>P?.(r)),className:t("flex w-full flex-col gap-y-6","desktop:gap-y-8",o?.form),children:[l.enabled&&e(Q,{progress:j,topContent:e(k,{html:l.title}),bottomContent:e(k,{html:l.subtitle}),maxPercent:l.maxPercent,classes:o?.progressBar}),e(U,{control:u,fields:d}),s("div",{className:t("mob-body-regular-s flex flex-col items-start justify-between gap-4",{"desktop:flex-row desktop:items-center":a.length===1}),children:[z(m,n,C,o?.approvement),e("div",{className:t("flex w-full flex-col items-center justify-between gap-4 desktop:flex-row",{"desktop:w-fit":a.length===1}),children:a?.map((r,V)=>{const E=r.type==="submit"&&m.type==="checkbox"?!n:!1;return I(O,{...r,size:"lg",key:V,disabled:E,className:t("w-full whitespace-nowrap",{"desktop:!w-fit":a.length===1},{"w-full":!!m},o?.submit)})})})]}),!g&&b(p)]})]})})})};export{ne as DynamicForm,ne as default};
1
+ import{jsx as e,jsxs as d}from"react/jsx-runtime";import{useState as H,createElement as I}from"react";import{getDynamicSchema as M}from"../../../src/shared/utils/getDynamicSchema.js";import{ZodUtils as R}from"../../shared/validation/utils/zodUtils.js";import{getFieldsProgress as Z,withAuthProvider as k,withApprovement as z}from"./model/helpers.js";import{useFieldsProgress as A}from"../../shared/hooks/useFieldsProgress.js";import{QueryClientProvider as L}from"../queryClientProvider/QueryClientProvider.js";import{cn as t}from"../../shared/utils/cn.js";import{ProgressBar as Q}from"../../shared/ui/progressBar/ProgressBar.js";import{HTMLRenderer as f}from"../htmlParser/HTMLRenderer.js";import{FieldMapper as U}from"../fieldMapper/FieldMapper.js";import{useControlledForm as q}from"../../shared/hooks/useControlledForm.js";import{widgetIds as w}from"../model/helpers.js";import{ResponsiveContainer as J}from"../../shared/ui/responsiveContainer/ResponsiveContainer.js";import{Icon as K}from"../../shared/ui/icon/Icon.js";import{Heading as y}from"../../shared/ui/heading/Heading.js";import{Button as O}from"../../shared/ui/button/Button.js";const ne=({fields:s,title:p,progress:r,approvement:i,chips:m,submitProps:N,auth:h,classes:o,buttonGroup:a,ssoAuthorizationTop:g=!1,backgroundColor:u})=>{const{submitCallback:x,onErrorCallback:S}=N||{},[n,P]=H(i.type==="checkbox"?i.defaultValue:!1),c=M(s),C=R.getZodDefaults(c),{control:b,handleSubmit:v,formState:{isValid:B}}=q({schema:c,defaultValues:C,mode:"onBlur"}),F=Z(r,s),j=A({control:b,fields:F||[],schema:c}),D=l=>{x&&x({...l,agree:n})};return e(L,{children:e("section",{id:w.form,"data-test-id":w.form,className:t("w-full",o?.root,u&&"desktop:py-[80px]"),style:{backgroundColor:u},children:d(J,{className:t("border-warm-grey-200 px-4 desktop:w-[636px] desktop:gap-8 desktop:p-14","relative mx-auto flex flex-col gap-6 rounded-sm bg-color-white py-8 desktop:border"),children:[m.enabled&&d("div",{className:t("desk-body-regular-l flex items-center gap-x-2 rounded-sm desktop:absolute","bg-color-blue-grey-100 px-2 py-1 text-color-tetriary","right-4 top-4 w-max",o?.chips?.root),children:[m.image&&e(K,{name:m.image,className:t("size-6",o?.chips?.icon)}),m.content]}),e(y,{as:"h2",className:t("text-color-dark desktop:hidden",o?.title),children:p}),e(y,{as:"h3",className:t("text-color-dark mobile:hidden",o?.title),children:p}),g&&k(h),d("form",{"data-valid":B,onSubmit:v(D,l=>S?.(l)),className:t("flex w-full flex-col gap-y-6","desktop:gap-y-8",o?.form),children:[r.enabled&&e(Q,{progress:j,topContent:e(f,{html:r.title}),leftSubtitle:e(f,{html:r.leftSubtitle}),rightSubtitle:e(f,{html:r.rightSubtitle}),maxPercent:r.maxPercent,classes:o?.progressBar}),e(U,{control:b,fields:s}),d("div",{className:t("mob-body-regular-s flex flex-col items-start justify-between gap-4",{"desktop:flex-row desktop:items-center":a.length===1}),children:[z(i,n,P,o?.approvement),e("div",{className:t("flex w-full flex-col items-center justify-between gap-4 desktop:flex-row",{"desktop:w-fit":a.length===1}),children:a?.map((l,V)=>{const E=l.type==="submit"&&i.type==="checkbox"?!n:!1;return I(O,{...l,size:"lg",key:V,disabled:E,className:t("w-full whitespace-nowrap",{"desktop:!w-fit":a.length===1},{"w-full":!!i},o?.submit)})})})]}),!g&&k(h)]})]})})})};export{ne as DynamicForm,ne as default};
2
2
  //# sourceMappingURL=DynamicForm.js.map