@scbt-ecom/ui 0.152.0 → 0.152.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/shared/ui/formElements/uncontrolled/slider/ui/sliderAlgorithmic/SliderAlgorithmic.js +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/slider/ui/sliderAlgorithmic/SliderAlgorithmic.js.map +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/slider/ui/sliderAlgorithmic/hooks/useSliderAlgorithmic.js +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/slider/ui/sliderAlgorithmic/hooks/useSliderAlgorithmic.js.map +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/slider/ui/sliderStep/SliderStep.js +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/slider/ui/sliderStep/SliderStep.js.map +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/slider/ui/sliderStep/hooks/useSliderStep.js +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/slider/ui/sliderStep/hooks/useSliderStep.js.map +1 -1
- package/dist/lib/widgets/benefit/ui/BenefitItem.js +1 -1
- package/dist/lib/widgets/benefit/ui/BenefitItem.js.map +1 -1
- package/dist/stats.html +1 -1
- package/dist/types/lib/shared/ui/formElements/uncontrolled/slider/ui/sliderStep/hooks/useSliderStep.d.ts +1 -1
- package/dist/types/lib/widgets/benefit/model/types.d.ts +0 -1
- package/dist/types/lib/widgets/benefit/ui/BenefitItem.d.ts +1 -1
- package/package.json +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as n,jsx as p}from"react/jsx-runtime";import*as h from"react";import{forwardRef as Q}from"react";import{NumericFormat as T}from"react-number-format";import{getInputSliderSuffix as b}from"../../model/helpers/getInputSliderSuffix.js";import{SliderInner as U}from"../Slider.js";import{useSliderAlgorithmic as W}from"./hooks/useSliderAlgorithmic.js";import{cn as
|
|
1
|
+
import{jsxs as n,jsx as p}from"react/jsx-runtime";import*as h from"react";import{forwardRef as Q}from"react";import{NumericFormat as T}from"react-number-format";import{getInputSliderSuffix as b}from"../../model/helpers/getInputSliderSuffix.js";import{SliderInner as U}from"../Slider.js";import{useSliderAlgorithmic as W}from"./hooks/useSliderAlgorithmic.js";import{cn as r}from"../../../../../../utils/cn.js";import{mergeRefs as X}from"../../../../../../utils/mergeRefs.js";import"uuid";import"../../../../../button/Button.js";import"../../../../../button/model/helpers.js";import"../../../../../buttonIcon/ButtonIcon.js";import"../../../../../loader/model/helpers.js";import"../../../../../calendar/Calendar.js";import"../../../../../calendar/model/utils.js";import"../../../../../accordion/Accordion.js";import"@radix-ui/react-tooltip";import"react-hook-form";import"@hookform/resolvers/zod";import"@radix-ui/react-popover";import"@radix-ui/react-tabs";import"react-dom";import"framer-motion";import"../../../../../modal/ui/IframeModalContent.js";import"react-hot-toast";import"../../../../../notification/ui/CustomToast.js";import"../../../../../table/ui/primitives/Primitives.js";import{Icon as Y}from"../../../../../icon/Icon.js";import"@tanstack/react-table";import"../../../../../heading/Heading.js";import"embla-carousel-autoplay";import"embla-carousel-react";import"../../../../../carousel/ui/CarouselContent.js";import"../../../../../customLink/model/helpers.js";import"../../../../../slot/Slot.js";import"../../../autocomplete/Autocomplete.js";import"../../../checkbox/Checkbox.js";import"../../../combobox/combobox.js";import"../../../dayPicker/DayPicker.js";import{InputBase as Z}from"../../../input/Input.js";import"../../../inputOtp/InputOtpBase.js";import"../../../maskInput/MaskInput.js";import"../../../radio/RadioGroup.js";import"../../../radio/ui/RadioItem.js";import"@radix-ui/react-radio-group";import"../../SliderBase.js";import"../../../switch/Switch.js";import"../../../textarea/Textarea.js";import"../../../uploader/UploaderBase.js";import"../../../inputCurrency/InputCurrency.js";import"../../../../ui/MessageView.js";import"@tanstack/react-query";import"../../../../../../../../src/configs/api.js";import"@floating-ui/react";import"date-fns";import"../../../../controlled/editor/ui/Editor.js";import"../../../../controlled/input/MaskInputControl.js";import"classnames";import"../../../../../dropdownList/ui/dropdownItem/DropdownItem.js";const _=p(Y,{name:"general/edit",className:"size-[19px] text-icon-blue-grey-600 transition-[color] group-focus-within/icon:text-icon-blue-grey-800"}),Hi=Q(({classes:k,invalid:w,externalHandlers:i,disabled:I,value:c,onChange:l,min:e,max:g,suffix:s,label:S,attachmentProps:t,additionalSuffix:C,readOnly:u,componentType:v,dataLayers:d,...m},B)=>{const R=h.useId(),f=h.useRef(null),y=()=>{var o;(o=f==null?void 0:f.current)==null||o.focus()},{sliderValue:j,sliderStep:A,sliderMin:F,sliderMax:M,handleChangeSlider:V}=W({min:Number(e),max:Number(g),defaultValue:0,value:c,onChange:l}),{root:$,slider:z,textLeft:G,textRight:q,inputRoot:D,textContainer:E,input:J,field:K}=k||{};return n("div",{"aria-label":v,className:r("flex w-full flex-col gap-1",$),children:[n("div",{className:r("relative w-full select-none",{"select-none":u},K),children:[p(Z,{label:S,value:c,attachmentProps:{onClickIcon:u?void 0:(t==null?void 0:t.onClickIcon)||y,icon:u?void 0:(t==null?void 0:t.icon)||_,...t},classes:{container:"border-[1px] bg-color-white border-blue-grey-500 focus-within:border-blue-grey-800",...D},onBlur:o=>{m!=null&&m.onBlur&&(m==null||m.onBlur(o)),i!=null&&i.onBlur&&i.onBlur(o)},onClick:i==null?void 0:i.onClick,onFocus:i==null?void 0:i.onBlur,renderValues:()=>p(T,{id:R,readOnly:u,"aria-invalid":w?"true":"false",value:c,disabled:I,suffix:` ${b(s,c)} ${C??""}`,thousandsGroupStyle:"thousand",thousandSeparator:" ",allowNegative:!1,getInputRef:X(f,B),onValueChange:({floatValue:o})=>{var N;o!==void 0&&(l&&l(o),(N=i==null?void 0:i.onInputChange)==null||N.call(i,o))},"data-id":"slider",className:r("group/slider desk-title-bold-s w-full bg-color-transparent text-color-dark outline-none transition-all",J),"data-layer-id":d==null?void 0:d.targetId,...m})}),p(U,{classes:{...z},step:A,value:j,disabled:I,min:Number(F),max:Number(M),onChange:V,externalHandlers:i})]}),n("div",{className:r("flex justify-between",E),children:[e&&p("span",{className:r("desk-body-regular-m text-color-tetriary",G),children:b(s,e,!1)}),g&&p("span",{className:r("desk-body-regular-m text-color-tetriary",q),children:b(s,g,!1)})]})]})});export{Hi as SliderAlgorithmic};
|
|
2
2
|
//# sourceMappingURL=SliderAlgorithmic.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SliderAlgorithmic.js","sources":["../../../../../../../../../lib/shared/ui/formElements/uncontrolled/slider/ui/sliderAlgorithmic/SliderAlgorithmic.tsx"],"sourcesContent":["import * as React from 'react'\nimport { forwardRef } from 'react'\nimport { NumericFormat } from 'react-number-format'\nimport { type SliderAlgorithmicProps } from '../../model'\nimport { getInputSliderSuffix } from '../../model/helpers'\nimport { SliderInner } from '../Slider'\nimport { useSliderAlgorithmic } from './hooks'\nimport { Icon, InputBase } from '$/shared/ui'\nimport { cn, mergeRefs } from '$/shared/utils'\n\nconst defaultIcon = (\n <Icon\n name='general/edit'\n className='size-[19px] text-icon-blue-grey-600 transition-[color] group-focus-within/icon:text-icon-blue-grey-800'\n />\n)\n\nexport const SliderAlgorithmic = forwardRef<HTMLInputElement, SliderAlgorithmicProps>(\n (\n {\n classes,\n invalid,\n externalHandlers,\n disabled,\n value,\n onChange,\n min,\n max,\n suffix,\n label,\n attachmentProps,\n additionalSuffix,\n readOnly,\n componentType,\n dataLayers,\n ...props\n },\n ref\n ) => {\n const inputId = React.useId()\n\n const inputRef = React.useRef<HTMLInputElement>(null)\n\n const handleIconClick = () => {\n inputRef?.current?.focus()\n }\n\n const { sliderValue, sliderStep, sliderMin, sliderMax, handleChangeSlider } = useSliderAlgorithmic({\n min,\n max,\n defaultValue: 0,\n value,\n onChange\n })\n\n const { root, slider, textLeft, textRight, inputRoot, textContainer, input, field } = classes || {}\n\n return (\n <div aria-label={componentType} className={cn('flex w-full flex-col gap-1', root)}>\n <div className={cn('relative w-full select-none', { ['select-none']: readOnly }, field)}>\n <InputBase\n label={label}\n value={value}\n attachmentProps={{\n onClickIcon: readOnly ? undefined : attachmentProps?.onClickIcon || handleIconClick,\n icon: readOnly ? undefined : attachmentProps?.icon || defaultIcon,\n ...attachmentProps\n }}\n classes={{\n container: 'border-[1px] bg-color-white border-blue-grey-500 focus-within:border-blue-grey-800',\n ...inputRoot\n }}\n onBlur={(e) => {\n if (props?.onBlur) props?.onBlur(e)\n if (externalHandlers?.onBlur) externalHandlers.onBlur(e)\n }}\n onClick={externalHandlers?.onClick}\n onFocus={externalHandlers?.onBlur}\n renderValues={() => (\n <NumericFormat\n id={inputId}\n readOnly={readOnly}\n aria-invalid={invalid ? 'true' : 'false'}\n value={value}\n disabled={disabled}\n suffix={` ${getInputSliderSuffix(suffix, value)} ${additionalSuffix ?? ''}`}\n thousandsGroupStyle='thousand'\n thousandSeparator={' '}\n allowNegative={false}\n getInputRef={mergeRefs(inputRef, ref)}\n onValueChange={({ floatValue }) => {\n if (floatValue !== undefined) {\n if (onChange) onChange(floatValue)\n externalHandlers?.onInputChange?.(floatValue)\n }\n }}\n data-id='slider'\n className={cn(\n 'group/slider desk-title-bold-s w-full bg-color-transparent text-color-dark outline-none transition-all',\n\n input\n )}\n data-layer-id={dataLayers?.targetId}\n {...props}\n />\n )}\n />\n <SliderInner\n classes={{ ...slider }}\n step={sliderStep}\n value={sliderValue}\n disabled={disabled}\n min={Number(sliderMin)}\n max={Number(sliderMax)}\n onChange={handleChangeSlider}\n externalHandlers={externalHandlers}\n />\n </div>\n <div className={cn('flex justify-between', textContainer)}>\n {min && (\n <span className={cn('desk-body-regular-m text-color-tetriary', textLeft)}>\n {getInputSliderSuffix(suffix, min, false)}\n </span>\n )}\n {max && (\n <span className={cn('desk-body-regular-m text-color-tetriary', textRight)}>\n {getInputSliderSuffix(suffix, max, false)}\n </span>\n )}\n </div>\n </div>\n )\n }\n)\n"],"names":["defaultIcon","jsx","Icon","SliderAlgorithmic","forwardRef","classes","invalid","externalHandlers","disabled","value","onChange","min","max","suffix","label","attachmentProps","additionalSuffix","readOnly","componentType","dataLayers","props","ref","inputId","React","inputRef","handleIconClick","_a","sliderValue","sliderStep","sliderMin","sliderMax","handleChangeSlider","useSliderAlgorithmic","root","slider","textLeft","textRight","inputRoot","textContainer","input","field","jsxs","cn","InputBase","e","NumericFormat","getInputSliderSuffix","mergeRefs","floatValue","SliderInner"],"mappings":"i6EAUA,MAAMA,EACJC,EAACC,EAAA,CACC,KAAK,eACL,UAAU,wGAAA,CACZ,EAGWC,GAAoBC,EAC/B,CACE,CACE,QAAAC,EACA,QAAAC,EACA,iBAAAC,EACA,SAAAC,EACA,MAAAC,EACA,SAAAC,EACA,IAAAC,EACA,IAAAC,EACA,OAAAC,EACA,MAAAC,EACA,gBAAAC,EACA,iBAAAC,EACA,SAAAC,EACA,cAAAC,EACA,WAAAC,EACA,GAAGC,CAAA,EAELC,IACG,CACH,MAAMC,EAAUC,EAAM,MAAA,EAEhBC,EAAWD,EAAM,OAAyB,IAAI,EAE9CE,EAAkB,IAAM,QAC5BC,EAAAF,GAAA,YAAAA,EAAU,UAAV,MAAAE,EAAmB,OACrB,EAEM,CAAE,YAAAC,EAAa,WAAAC,EAAY,UAAAC,EAAW,UAAAC,EAAW,mBAAAC,CAAA,EAAuBC,EAAqB,CACjG,
|
|
1
|
+
{"version":3,"file":"SliderAlgorithmic.js","sources":["../../../../../../../../../lib/shared/ui/formElements/uncontrolled/slider/ui/sliderAlgorithmic/SliderAlgorithmic.tsx"],"sourcesContent":["import * as React from 'react'\nimport { forwardRef } from 'react'\nimport { NumericFormat } from 'react-number-format'\nimport { type SliderAlgorithmicProps } from '../../model'\nimport { getInputSliderSuffix } from '../../model/helpers'\nimport { SliderInner } from '../Slider'\nimport { useSliderAlgorithmic } from './hooks'\nimport { Icon, InputBase } from '$/shared/ui'\nimport { cn, mergeRefs } from '$/shared/utils'\n\nconst defaultIcon = (\n <Icon\n name='general/edit'\n className='size-[19px] text-icon-blue-grey-600 transition-[color] group-focus-within/icon:text-icon-blue-grey-800'\n />\n)\n\nexport const SliderAlgorithmic = forwardRef<HTMLInputElement, SliderAlgorithmicProps>(\n (\n {\n classes,\n invalid,\n externalHandlers,\n disabled,\n value,\n onChange,\n min,\n max,\n suffix,\n label,\n attachmentProps,\n additionalSuffix,\n readOnly,\n componentType,\n dataLayers,\n ...props\n },\n ref\n ) => {\n const inputId = React.useId()\n\n const inputRef = React.useRef<HTMLInputElement>(null)\n\n const handleIconClick = () => {\n inputRef?.current?.focus()\n }\n\n const { sliderValue, sliderStep, sliderMin, sliderMax, handleChangeSlider } = useSliderAlgorithmic({\n min: Number(min),\n max: Number(max),\n defaultValue: 0,\n value,\n onChange\n })\n\n const { root, slider, textLeft, textRight, inputRoot, textContainer, input, field } = classes || {}\n\n return (\n <div aria-label={componentType} className={cn('flex w-full flex-col gap-1', root)}>\n <div className={cn('relative w-full select-none', { ['select-none']: readOnly }, field)}>\n <InputBase\n label={label}\n value={value}\n attachmentProps={{\n onClickIcon: readOnly ? undefined : attachmentProps?.onClickIcon || handleIconClick,\n icon: readOnly ? undefined : attachmentProps?.icon || defaultIcon,\n ...attachmentProps\n }}\n classes={{\n container: 'border-[1px] bg-color-white border-blue-grey-500 focus-within:border-blue-grey-800',\n ...inputRoot\n }}\n onBlur={(e) => {\n if (props?.onBlur) props?.onBlur(e)\n if (externalHandlers?.onBlur) externalHandlers.onBlur(e)\n }}\n onClick={externalHandlers?.onClick}\n onFocus={externalHandlers?.onBlur}\n renderValues={() => (\n <NumericFormat\n id={inputId}\n readOnly={readOnly}\n aria-invalid={invalid ? 'true' : 'false'}\n value={value}\n disabled={disabled}\n suffix={` ${getInputSliderSuffix(suffix, value)} ${additionalSuffix ?? ''}`}\n thousandsGroupStyle='thousand'\n thousandSeparator={' '}\n allowNegative={false}\n getInputRef={mergeRefs(inputRef, ref)}\n onValueChange={({ floatValue }) => {\n if (floatValue !== undefined) {\n if (onChange) onChange(floatValue)\n externalHandlers?.onInputChange?.(floatValue)\n }\n }}\n data-id='slider'\n className={cn(\n 'group/slider desk-title-bold-s w-full bg-color-transparent text-color-dark outline-none transition-all',\n\n input\n )}\n data-layer-id={dataLayers?.targetId}\n {...props}\n />\n )}\n />\n <SliderInner\n classes={{ ...slider }}\n step={sliderStep}\n value={sliderValue}\n disabled={disabled}\n min={Number(sliderMin)}\n max={Number(sliderMax)}\n onChange={handleChangeSlider}\n externalHandlers={externalHandlers}\n />\n </div>\n <div className={cn('flex justify-between', textContainer)}>\n {min && (\n <span className={cn('desk-body-regular-m text-color-tetriary', textLeft)}>\n {getInputSliderSuffix(suffix, min, false)}\n </span>\n )}\n {max && (\n <span className={cn('desk-body-regular-m text-color-tetriary', textRight)}>\n {getInputSliderSuffix(suffix, max, false)}\n </span>\n )}\n </div>\n </div>\n )\n }\n)\n"],"names":["defaultIcon","jsx","Icon","SliderAlgorithmic","forwardRef","classes","invalid","externalHandlers","disabled","value","onChange","min","max","suffix","label","attachmentProps","additionalSuffix","readOnly","componentType","dataLayers","props","ref","inputId","React","inputRef","handleIconClick","_a","sliderValue","sliderStep","sliderMin","sliderMax","handleChangeSlider","useSliderAlgorithmic","root","slider","textLeft","textRight","inputRoot","textContainer","input","field","jsxs","cn","InputBase","e","NumericFormat","getInputSliderSuffix","mergeRefs","floatValue","SliderInner"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{useEffect as
|
|
1
|
+
import{useEffect as y}from"react";import{useLogarithmic as M}from"../../../model/useLogarithmic.js";const L=({min:t,max:i,defaultValue:f,value:e,onChange:r})=>{const{fromSlider:s,toSlider:o,round:c}=M({min:t,max:i,defaultSum:f});console.log({min:typeof t,max:typeof i,defaultValue:typeof f,value:typeof e});const l=o(e),p=.01,S=o(t),u=o(i);return y(()=>{e&&(e>i&&r&&r(i),e<t&&r&&r(t))},[e,r,i,t]),{handleChangeSlider:d=>{d&&r&&r(c(s(d)))},toSlider:o,fromSlider:s,sliderValue:l,sliderStep:p,sliderMin:S,sliderMax:u}};export{L as useSliderAlgorithmic};
|
|
2
2
|
//# sourceMappingURL=useSliderAlgorithmic.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSliderAlgorithmic.js","sources":["../../../../../../../../../../lib/shared/ui/formElements/uncontrolled/slider/ui/sliderAlgorithmic/hooks/useSliderAlgorithmic.ts"],"sourcesContent":["import { useEffect } from 'react'\nimport { useLogarithmic } from '../../../model'\n\ninterface UseSliderAlgorithmic {\n min: number\n max: number\n defaultValue: number\n value: number | undefined\n onChange?: (value: number) => void\n}\n\nexport const useSliderAlgorithmic = ({ min, max, defaultValue, value, onChange }: UseSliderAlgorithmic) => {\n const { fromSlider, toSlider, round } = useLogarithmic({ min, max, defaultSum: defaultValue })\n\n const sliderValue = toSlider(value)\n\n const sliderStep = 0.01\n\n const sliderMin = toSlider(min)\n const sliderMax = toSlider(max)\n\n useEffect(() => {\n if (!value) return\n\n if (value > max) {\n if (onChange) onChange(max)\n }\n if (value < min) {\n if (onChange) onChange(min)\n }\n }, [value, onChange, max, min])\n\n const handleChangeSlider = (value?: number) => {\n if (!value) {\n return\n }\n if (onChange) onChange(round(fromSlider(value)))\n }\n\n return {\n handleChangeSlider,\n toSlider,\n fromSlider,\n sliderValue,\n sliderStep,\n sliderMin,\n sliderMax\n }\n}\n"],"names":["useSliderAlgorithmic","min","max","defaultValue","value","onChange","fromSlider","toSlider","round","useLogarithmic","sliderValue","sliderStep","sliderMin","sliderMax","useEffect"],"mappings":"oGAWO,MAAMA,EAAuB,CAAC,CAAE,IAAAC,EAAK,IAAAC,EAAK,aAAAC,EAAc,MAAAC,EAAO,SAAAC,KAAqC,CACzG,KAAM,CAAE,WAAAC,EAAY,SAAAC,EAAU,MAAAC,GAAUC,EAAe,CAAE,IAAAR,EAAK,IAAAC,EAAK,WAAYC,EAAc,
|
|
1
|
+
{"version":3,"file":"useSliderAlgorithmic.js","sources":["../../../../../../../../../../lib/shared/ui/formElements/uncontrolled/slider/ui/sliderAlgorithmic/hooks/useSliderAlgorithmic.ts"],"sourcesContent":["import { useEffect } from 'react'\nimport { useLogarithmic } from '../../../model'\n\ninterface UseSliderAlgorithmic {\n min: number\n max: number\n defaultValue: number\n value: number | undefined\n onChange?: (value: number) => void // good\n}\n\nexport const useSliderAlgorithmic = ({ min, max, defaultValue, value, onChange }: UseSliderAlgorithmic) => {\n const { fromSlider, toSlider, round } = useLogarithmic({ min, max, defaultSum: defaultValue })\n\n console.log({\n min: typeof min,\n max: typeof max,\n defaultValue: typeof defaultValue,\n value: typeof value\n })\n\n const sliderValue = toSlider(value)\n\n const sliderStep = 0.01\n\n const sliderMin = toSlider(min)\n const sliderMax = toSlider(max)\n\n useEffect(() => {\n if (!value) return\n\n if (value > max) {\n if (onChange) onChange(max)\n }\n if (value < min) {\n if (onChange) onChange(min)\n }\n }, [value, onChange, max, min])\n\n const handleChangeSlider = (value?: number) => {\n if (!value) {\n return\n }\n if (onChange) onChange(round(fromSlider(value)))\n }\n\n return {\n handleChangeSlider,\n toSlider,\n fromSlider,\n sliderValue,\n sliderStep,\n sliderMin,\n sliderMax\n }\n}\n"],"names":["useSliderAlgorithmic","min","max","defaultValue","value","onChange","fromSlider","toSlider","round","useLogarithmic","sliderValue","sliderStep","sliderMin","sliderMax","useEffect"],"mappings":"oGAWO,MAAMA,EAAuB,CAAC,CAAE,IAAAC,EAAK,IAAAC,EAAK,aAAAC,EAAc,MAAAC,EAAO,SAAAC,KAAqC,CACzG,KAAM,CAAE,WAAAC,EAAY,SAAAC,EAAU,MAAAC,GAAUC,EAAe,CAAE,IAAAR,EAAK,IAAAC,EAAK,WAAYC,EAAc,EAE7F,QAAQ,IAAI,CACV,IAAK,OAAOF,EACZ,IAAK,OAAOC,EACZ,aAAc,OAAOC,EACrB,MAAO,OAAOC,CAAA,CACf,EAED,MAAMM,EAAcH,EAASH,CAAK,EAE5BO,EAAa,IAEbC,EAAYL,EAASN,CAAG,EACxBY,EAAYN,EAASL,CAAG,EAE9B,OAAAY,EAAU,IAAM,CACTV,IAEDA,EAAQF,GACNG,KAAmBH,CAAG,EAExBE,EAAQH,GACNI,KAAmBJ,CAAG,EAE9B,EAAG,CAACG,EAAOC,EAAUH,EAAKD,CAAG,CAAC,EASvB,CACL,mBAR0BG,GAAmB,CACxCA,GAGDC,GAAUA,EAASG,EAAMF,EAAWF,CAAK,CAAC,CAAC,CACjD,EAIE,SAAAG,EACA,WAAAD,EACA,YAAAI,EACA,WAAAC,EACA,UAAAC,EACA,UAAAC,CAAA,CAEJ"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as
|
|
1
|
+
import{jsxs as b,jsx as p}from"react/jsx-runtime";import*as S from"react";import{forwardRef as K}from"react";import{NumericFormat as Q}from"react-number-format";import{getInputSliderSuffix as d}from"../../model/helpers/getInputSliderSuffix.js";import{SliderInner as T}from"../Slider.js";import{useSliderStep as U}from"./hooks/useSliderStep.js";import{cn as m}from"../../../../../../utils/cn.js";import{mergeRefs as V}from"../../../../../../utils/mergeRefs.js";import"uuid";import"../../../../../button/Button.js";import"../../../../../button/model/helpers.js";import"../../../../../buttonIcon/ButtonIcon.js";import"../../../../../loader/model/helpers.js";import"../../../../../calendar/Calendar.js";import"../../../../../calendar/model/utils.js";import"../../../../../accordion/Accordion.js";import"@radix-ui/react-tooltip";import"react-hook-form";import"@hookform/resolvers/zod";import"@radix-ui/react-popover";import"@radix-ui/react-tabs";import"react-dom";import"framer-motion";import"../../../../../modal/ui/IframeModalContent.js";import"react-hot-toast";import"../../../../../notification/ui/CustomToast.js";import"../../../../../table/ui/primitives/Primitives.js";import{Icon as W}from"../../../../../icon/Icon.js";import"@tanstack/react-table";import"../../../../../heading/Heading.js";import"embla-carousel-autoplay";import"embla-carousel-react";import"../../../../../carousel/ui/CarouselContent.js";import"../../../../../customLink/model/helpers.js";import"../../../../../slot/Slot.js";import"../../../autocomplete/Autocomplete.js";import"../../../checkbox/Checkbox.js";import"../../../combobox/combobox.js";import"../../../dayPicker/DayPicker.js";import{InputBase as X}from"../../../input/Input.js";import"../../../inputOtp/InputOtpBase.js";import"../../../maskInput/MaskInput.js";import"../../../radio/RadioGroup.js";import"../../../radio/ui/RadioItem.js";import"@radix-ui/react-radio-group";import"../../SliderBase.js";import"../../../switch/Switch.js";import"../../../textarea/Textarea.js";import"../../../uploader/UploaderBase.js";import"../../../inputCurrency/InputCurrency.js";import"../../../../ui/MessageView.js";import"@tanstack/react-query";import"../../../../../../../../src/configs/api.js";import"@floating-ui/react";import"date-fns";import"../../../../controlled/editor/ui/Editor.js";import"../../../../controlled/input/MaskInputControl.js";import"classnames";import"../../../../../dropdownList/ui/dropdownItem/DropdownItem.js";const Y=p(W,{name:"general/edit",className:"size-[19px] text-icon-blue-grey-600 transition-[color] group-focus-within/icon:text-icon-blue-grey-800"}),ao=K(({classes:k,invalid:w,externalHandlers:o,disabled:N,value:u,onChange:f,min:l,max:n,suffix:g,label:C,step:I,attachmentProps:r,additionalSuffix:h,readOnly:c,componentType:B,dataLayers:s,...t},v)=>{const R=S.useId(),e=S.useRef(null),y=()=>{var i;(i=e==null?void 0:e.current)==null||i.focus()},{sliderMin:j,sliderMax:F,handleChangeSlider:M}=U({min:Number(l),max:Number(n),value:Number(u),step:Number(I??1),onChange:f}),{root:$,slider:z,textLeft:G,textRight:q,inputRoot:A,textContainer:D,input:E,field:J}=k||{};return b("div",{"aria-label":B,className:m("flex w-full flex-col gap-1",$),children:[b("div",{className:m("relative w-full select-none",{"select-none":c},J),children:[p(X,{label:C,value:u,attachmentProps:{onClickIcon:c?void 0:(r==null?void 0:r.onClickIcon)||y,icon:c?void 0:(r==null?void 0:r.icon)||Y,...r},classes:{container:"border-[1px] bg-color-white border-blue-grey-500 focus-within:border-blue-grey-800",...A},onBlur:i=>{t!=null&&t.onBlur&&(t==null||t.onBlur(i)),o!=null&&o.onBlur&&o.onBlur(i)},onClick:o==null?void 0:o.onClick,onFocus:o==null?void 0:o.onBlur,renderValues:()=>p(Q,{id:R,readOnly:c,"aria-invalid":w?"true":"false",value:u,disabled:N,suffix:` ${d(g,u)} ${h??""}`,thousandsGroupStyle:"thousand",thousandSeparator:" ",allowNegative:!1,getInputRef:V(e,v),onValueChange:({floatValue:i})=>{i&&(f&&f(i),o!=null&&o.onInputChange&&o.onInputChange(i))},"data-id":"slider",className:m("group/slider desk-title-bold-s w-full bg-color-transparent text-color-dark outline-none transition-all",E),"data-layer-id":s==null?void 0:s.targetId,...t})}),p(T,{classes:{...z},step:I,value:u??0,disabled:N,min:Number(j),max:Number(F),onChange:M})]}),b("div",{className:m("flex justify-between",D),children:[l&&p("span",{className:m("desk-body-regular-m text-color-tetriary",G),children:d(g,l,!1)}),n&&p("span",{className:m("desk-body-regular-m text-color-tetriary",q),children:d(g,n,!1)})]})]})});export{ao as SliderStep};
|
|
2
2
|
//# sourceMappingURL=SliderStep.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SliderStep.js","sources":["../../../../../../../../../lib/shared/ui/formElements/uncontrolled/slider/ui/sliderStep/SliderStep.tsx"],"sourcesContent":["import * as React from 'react'\nimport { forwardRef } from 'react'\nimport { NumericFormat } from 'react-number-format'\nimport { type SliderStepProps } from '../../model'\nimport { getInputSliderSuffix } from '../../model/helpers'\nimport { SliderInner } from '../Slider'\nimport { useSliderStep } from './hooks'\nimport { Icon, InputBase } from '$/shared/ui'\nimport { cn, mergeRefs } from '$/shared/utils'\n\nconst defaultIcon = (\n <Icon\n name='general/edit'\n className='size-[19px] text-icon-blue-grey-600 transition-[color] group-focus-within/icon:text-icon-blue-grey-800'\n />\n)\n\nexport const SliderStep = forwardRef<HTMLInputElement, SliderStepProps>(\n (\n {\n classes,\n invalid,\n externalHandlers,\n disabled,\n value,\n onChange,\n min,\n max,\n suffix,\n label,\n step,\n attachmentProps,\n additionalSuffix,\n readOnly,\n componentType,\n dataLayers,\n ...props\n },\n ref\n ) => {\n const inputId = React.useId()\n\n const inputRef = React.useRef<HTMLInputElement>(null)\n\n const handleIconClick = () => {\n inputRef?.current?.focus()\n }\n\n const {
|
|
1
|
+
{"version":3,"file":"SliderStep.js","sources":["../../../../../../../../../lib/shared/ui/formElements/uncontrolled/slider/ui/sliderStep/SliderStep.tsx"],"sourcesContent":["import * as React from 'react'\nimport { forwardRef } from 'react'\nimport { NumericFormat } from 'react-number-format'\nimport { type SliderStepProps } from '../../model'\nimport { getInputSliderSuffix } from '../../model/helpers'\nimport { SliderInner } from '../Slider'\nimport { useSliderStep } from './hooks'\nimport { Icon, InputBase } from '$/shared/ui'\nimport { cn, mergeRefs } from '$/shared/utils'\n\nconst defaultIcon = (\n <Icon\n name='general/edit'\n className='size-[19px] text-icon-blue-grey-600 transition-[color] group-focus-within/icon:text-icon-blue-grey-800'\n />\n)\n\nexport const SliderStep = forwardRef<HTMLInputElement, SliderStepProps>(\n (\n {\n classes,\n invalid,\n externalHandlers,\n disabled,\n value,\n onChange,\n min,\n max,\n suffix,\n label,\n step,\n attachmentProps,\n additionalSuffix,\n readOnly,\n componentType,\n dataLayers,\n ...props\n },\n ref\n ) => {\n const inputId = React.useId()\n\n const inputRef = React.useRef<HTMLInputElement>(null)\n\n const handleIconClick = () => {\n inputRef?.current?.focus()\n }\n\n const { sliderMin, sliderMax, handleChangeSlider } = useSliderStep({\n min: Number(min),\n max: Number(max),\n value: Number(value),\n step: Number(step ?? 1),\n onChange\n })\n\n const { root, slider, textLeft, textRight, inputRoot, textContainer, input, field } = classes || {}\n\n return (\n <div aria-label={componentType} className={cn('flex w-full flex-col gap-1', root)}>\n <div className={cn('relative w-full select-none', { ['select-none']: readOnly }, field)}>\n <InputBase\n label={label}\n value={value}\n attachmentProps={{\n onClickIcon: readOnly ? undefined : attachmentProps?.onClickIcon || handleIconClick,\n icon: readOnly ? undefined : attachmentProps?.icon || defaultIcon,\n ...attachmentProps\n }}\n classes={{\n container: 'border-[1px] bg-color-white border-blue-grey-500 focus-within:border-blue-grey-800',\n ...inputRoot\n }}\n onBlur={(e) => {\n if (props?.onBlur) props?.onBlur(e)\n if (externalHandlers?.onBlur) externalHandlers.onBlur(e)\n }}\n onClick={externalHandlers?.onClick}\n onFocus={externalHandlers?.onBlur}\n renderValues={() => (\n <NumericFormat\n id={inputId}\n readOnly={readOnly}\n aria-invalid={invalid ? 'true' : 'false'}\n value={value}\n disabled={disabled}\n suffix={` ${getInputSliderSuffix(suffix, value)} ${additionalSuffix ?? ''}`}\n thousandsGroupStyle='thousand'\n thousandSeparator={' '}\n allowNegative={false}\n getInputRef={mergeRefs(inputRef, ref)}\n onValueChange={({ floatValue }) => {\n if (floatValue) {\n if (onChange) onChange(floatValue)\n if (externalHandlers?.onInputChange) {\n externalHandlers.onInputChange(floatValue)\n }\n }\n }}\n data-id='slider'\n className={cn(\n 'group/slider desk-title-bold-s w-full bg-color-transparent text-color-dark outline-none transition-all',\n\n input\n )}\n data-layer-id={dataLayers?.targetId}\n {...props}\n />\n )}\n />\n <SliderInner\n classes={{ ...slider }}\n step={step}\n value={value ?? 0}\n disabled={disabled}\n min={Number(sliderMin)}\n max={Number(sliderMax)}\n onChange={handleChangeSlider}\n />\n </div>\n <div className={cn('flex justify-between', textContainer)}>\n {min && (\n <span className={cn('desk-body-regular-m text-color-tetriary', textLeft)}>\n {getInputSliderSuffix(suffix, min, false)}\n </span>\n )}\n {max && (\n <span className={cn('desk-body-regular-m text-color-tetriary', textRight)}>\n {getInputSliderSuffix(suffix, max, false)}\n </span>\n )}\n </div>\n </div>\n )\n }\n)\n"],"names":["defaultIcon","jsx","Icon","SliderStep","forwardRef","classes","invalid","externalHandlers","disabled","value","onChange","min","max","suffix","label","step","attachmentProps","additionalSuffix","readOnly","componentType","dataLayers","props","ref","inputId","React","inputRef","handleIconClick","_a","sliderMin","sliderMax","handleChangeSlider","useSliderStep","root","slider","textLeft","textRight","inputRoot","textContainer","input","field","jsxs","cn","InputBase","e","NumericFormat","getInputSliderSuffix","mergeRefs","floatValue","SliderInner"],"mappings":"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"}
|
package/dist/lib/shared/ui/formElements/uncontrolled/slider/ui/sliderStep/hooks/useSliderStep.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{useEffect as
|
|
1
|
+
import{useEffect as S}from"react";const M=({min:i,max:t,step:d,onChange:r,value:f})=>{const e=i,c=t;return S(()=>{f&&(f>t&&r&&r(t),f<i&&r&&r(i))},[t,i,r,f]),{handleChangeSlider:s=>{s&&r&&r(s)},step:d,sliderMin:e,sliderMax:c}};export{M as useSliderStep};
|
|
2
2
|
//# sourceMappingURL=useSliderStep.js.map
|
package/dist/lib/shared/ui/formElements/uncontrolled/slider/ui/sliderStep/hooks/useSliderStep.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSliderStep.js","sources":["../../../../../../../../../../lib/shared/ui/formElements/uncontrolled/slider/ui/sliderStep/hooks/useSliderStep.ts"],"sourcesContent":["import { useEffect } from 'react'\n\ninterface UseSliderStep {\n min: number\n max: number\n step: number\n onChange?: (value: number) => void\n value?: number\n}\n\nexport const useSliderStep = ({ min, max, step, onChange, value }: UseSliderStep) => {\n const
|
|
1
|
+
{"version":3,"file":"useSliderStep.js","sources":["../../../../../../../../../../lib/shared/ui/formElements/uncontrolled/slider/ui/sliderStep/hooks/useSliderStep.ts"],"sourcesContent":["import { useEffect } from 'react'\n\ninterface UseSliderStep {\n min: number\n max: number\n step: number\n onChange?: (value: number) => void\n value?: number\n}\n\nexport const useSliderStep = ({ min, max, step, onChange, value }: UseSliderStep) => {\n const sliderMin = min\n const sliderMax = max\n\n useEffect(() => {\n if (!value) return\n\n if (value > max) {\n if (onChange) onChange(max)\n }\n if (value < min) {\n if (onChange) onChange(min)\n }\n }, [max, min, onChange, value])\n\n const handleChangeSlider = (value?: number) => {\n if (!value) {\n return\n }\n if (onChange) onChange(value)\n }\n\n return {\n handleChangeSlider,\n step,\n sliderMin,\n sliderMax\n }\n}\n"],"names":["useSliderStep","min","max","step","onChange","value","sliderMin","sliderMax","useEffect"],"mappings":"kCAUO,MAAMA,EAAgB,CAAC,CAAE,IAAAC,EAAK,IAAAC,EAAK,KAAAC,EAAM,SAAAC,EAAU,MAAAC,KAA2B,CACnF,MAAMC,EAAYL,EACZM,EAAYL,EAElB,OAAAM,EAAU,IAAM,CACTH,IAEDA,EAAQH,GACNE,KAAmBF,CAAG,EAExBG,EAAQJ,GACNG,KAAmBH,CAAG,EAE9B,EAAG,CAACC,EAAKD,EAAKG,EAAUC,CAAK,CAAC,EASvB,CACL,mBAR0BA,GAAmB,CACxCA,GAGDD,KAAmBC,CAAK,CAC9B,EAIE,KAAAF,EACA,UAAAG,EACA,UAAAC,CAAA,CAEJ"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as e,jsx as p}from"react/jsx-runtime";import{cva as
|
|
1
|
+
import{jsxs as e,jsx as p}from"react/jsx-runtime";import{cva as k}from"class-variance-authority";import{useDevice as y}from"../../../shared/hooks/useDevice.js";import"react";import{cn as t}from"../../../shared/utils/cn.js";import{TypeGuards as l}from"../../../shared/utils/typeGuards.js";import"uuid";import"react-hook-form";import"@hookform/resolvers/zod";import{ButtonWithHandlers as h}from"../../buttonWithHandlers/ButtonWithHandlers.js";const v=k("flex flex-col justify-between overflow-hidden rounded-md bg-color-blue-grey-100 py-6 desktop:flex-row desktop:px-0 desktop:py-0",{variants:{variant:{twoCards:"",threeCards:"desktop:first:col-span-full",fourCards:"desktop:first:col-span-2 desktop:last:col-span-2"}}}),B=({subtitle:f,title:n,img:o,classes:r,button:i,variant:x,color:u,enabledMobileImage:d})=>{const{isDesktop:m}=y();return e("li",{style:{backgroundColor:u??"#F3F4F7"},className:t(v({variant:x}),{"pb-0":d},{"pb-12":!d},r==null?void 0:r.root),children:[e("div",{className:t("flex flex-col items-start justify-between px-4 desktop:px-8 desktop:py-8",r==null?void 0:r.wrapper),children:[e("div",{className:t("flex flex-col gap-4",r==null?void 0:r.textContainer),children:[p("div",{dangerouslySetInnerHTML:{__html:n},className:t("desktop:desk-title-bold-s",r==null?void 0:r.title)}),p("div",{dangerouslySetInnerHTML:{__html:f},className:t("mob-body-regular-l text-icon-blue-grey-800 desktop:desk-body-regular-l",r==null?void 0:r.subtitle)})]}),m&&(i==null?void 0:i.handlerOptions)&&p(h,{intent:"primary",className:t("desktop:w-[200px]",r==null?void 0:r.button),size:"lg",...i})]}),(d||m)&&o&&p("div",{className:t("flex w-full justify-end",r==null?void 0:r.imgContainer),children:o&&"url"in o&&l.isObject(o)?p("img",{className:t("h-[246px] object-cover",r==null?void 0:r.img),src:o.url,alt:o.alt}):o})]},n)};export{B as BenefitItem};
|
|
2
2
|
//# sourceMappingURL=BenefitItem.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BenefitItem.js","sources":["../../../../../lib/widgets/benefit/ui/BenefitItem.tsx"],"sourcesContent":["import { cva } from 'class-variance-authority'\nimport { type Details } from '../model/types'\nimport { useDevice } from '$/shared/hooks'\nimport { cn, TypeGuards } from '$/shared/utils'\nimport { ButtonWithHandlers } from '$/widgets/buttonWithHandlers'\n\nexport type BenefitItemClasses = {\n root?: string\n button?: string\n wrapper?: string\n textContainer?: string\n subtitle?: string\n img?: string\n imgContainer?: string\n title?: string\n}\n\nconst itemConfig = cva(\n 'flex flex-col justify-between overflow-hidden rounded-md bg-color-blue-grey-100 py-6 desktop:flex-row desktop:px-0 desktop:py-0',\n {\n variants: {\n variant: {\n twoCards: '',\n threeCards: 'desktop:first:col-span-full',\n fourCards: 'desktop:first:col-span-2 desktop:last:col-span-2'\n }\n }\n }\n)\n\nexport interface BenefitItemProps extends Details {\n classes?: BenefitItemClasses\n variant?: 'twoCards' | 'threeCards' | 'fourCards'\n}\n\nexport const BenefitItem = ({
|
|
1
|
+
{"version":3,"file":"BenefitItem.js","sources":["../../../../../lib/widgets/benefit/ui/BenefitItem.tsx"],"sourcesContent":["import { cva } from 'class-variance-authority'\nimport { type Details } from '../model/types'\nimport { useDevice } from '$/shared/hooks'\nimport { cn, TypeGuards } from '$/shared/utils'\nimport { ButtonWithHandlers } from '$/widgets/buttonWithHandlers'\n\nexport type BenefitItemClasses = {\n root?: string\n button?: string\n wrapper?: string\n textContainer?: string\n subtitle?: string\n img?: string\n imgContainer?: string\n title?: string\n}\n\nconst itemConfig = cva(\n 'flex flex-col justify-between overflow-hidden rounded-md bg-color-blue-grey-100 py-6 desktop:flex-row desktop:px-0 desktop:py-0',\n {\n variants: {\n variant: {\n twoCards: '',\n threeCards: 'desktop:first:col-span-full',\n fourCards: 'desktop:first:col-span-2 desktop:last:col-span-2'\n }\n }\n }\n)\n\nexport interface BenefitItemProps extends Details {\n classes?: BenefitItemClasses\n variant?: 'twoCards' | 'threeCards' | 'fourCards'\n}\n\nexport const BenefitItem = ({ subtitle, title, img, classes, button, variant, color, enabledMobileImage }: BenefitItemProps) => {\n const { isDesktop } = useDevice()\n\n return (\n <li\n key={title}\n style={{ backgroundColor: color ?? '#F3F4F7' }}\n className={cn(itemConfig({ variant }), { 'pb-0': enabledMobileImage }, { 'pb-12': !enabledMobileImage }, classes?.root)}\n >\n <div className={cn('flex flex-col items-start justify-between px-4 desktop:px-8 desktop:py-8', classes?.wrapper)}>\n <div className={cn('flex flex-col gap-4', classes?.textContainer)}>\n <div dangerouslySetInnerHTML={{ __html: title }} className={cn('desktop:desk-title-bold-s', classes?.title)} />\n <div\n dangerouslySetInnerHTML={{ __html: subtitle }}\n className={cn('mob-body-regular-l text-icon-blue-grey-800 desktop:desk-body-regular-l', classes?.subtitle)}\n />\n </div>\n\n {isDesktop && button?.handlerOptions && (\n <ButtonWithHandlers intent='primary' className={cn('desktop:w-[200px]', classes?.button)} size='lg' {...button} />\n )}\n </div>\n\n {(enabledMobileImage || isDesktop) && img && (\n <div className={cn('flex w-full justify-end', classes?.imgContainer)}>\n {img && 'url' in img && TypeGuards.isObject(img) ? (\n <img className={cn('h-[246px] object-cover', classes?.img)} src={img.url} alt={img.alt} />\n ) : (\n img\n )}\n </div>\n )}\n </li>\n )\n}\n"],"names":["itemConfig","cva","BenefitItem","subtitle","title","img","classes","button","variant","color","enabledMobileImage","isDesktop","useDevice","jsxs","cn","jsx","ButtonWithHandlers","TypeGuards"],"mappings":"ybAiBA,MAAMA,EAAaC,EACjB,kIACA,CACE,SAAU,CACR,QAAS,CACP,SAAU,GACV,WAAY,8BACZ,UAAW,kDAAA,CACb,CACF,CAEJ,EAOaC,EAAc,CAAC,CAAE,SAAAC,EAAU,MAAAC,EAAO,IAAAC,EAAK,QAAAC,EAAS,OAAAC,EAAQ,QAAAC,EAAS,MAAAC,EAAO,mBAAAC,KAA2C,CAC9H,KAAM,CAAE,UAAAC,CAAA,EAAcC,EAAA,EAEtB,OACEC,EAAC,KAAA,CAEC,MAAO,CAAE,gBAAiBJ,GAAS,SAAA,EACnC,UAAWK,EAAGd,EAAW,CAAE,QAAAQ,CAAA,CAAS,EAAG,CAAE,OAAQE,CAAA,EAAsB,CAAE,QAAS,CAACA,CAAA,EAAsBJ,GAAA,YAAAA,EAAS,IAAI,EAEtH,SAAA,CAAAO,EAAC,OAAI,UAAWC,EAAG,2EAA4ER,GAAA,YAAAA,EAAS,OAAO,EAC7G,SAAA,CAAAO,EAAC,OAAI,UAAWC,EAAG,sBAAuBR,GAAA,YAAAA,EAAS,aAAa,EAC9D,SAAA,CAAAS,EAAC,MAAA,CAAI,wBAAyB,CAAE,OAAQX,CAAA,EAAS,UAAWU,EAAG,4BAA6BR,GAAA,YAAAA,EAAS,KAAK,CAAA,CAAG,EAC7GS,EAAC,MAAA,CACC,wBAAyB,CAAE,OAAQZ,CAAA,EACnC,UAAWW,EAAG,yEAA0ER,GAAA,YAAAA,EAAS,QAAQ,CAAA,CAAA,CAC3G,EACF,EAECK,IAAaJ,GAAA,YAAAA,EAAQ,iBACpBQ,EAACC,EAAA,CAAmB,OAAO,UAAU,UAAWF,EAAG,oBAAqBR,GAAA,YAAAA,EAAS,MAAM,EAAG,KAAK,KAAM,GAAGC,CAAA,CAAQ,CAAA,EAEpH,GAEEG,GAAsBC,IAAcN,GACpCU,EAAC,OAAI,UAAWD,EAAG,0BAA2BR,GAAA,YAAAA,EAAS,YAAY,EAChE,SAAAD,GAAO,QAASA,GAAOY,EAAW,SAASZ,CAAG,EAC7CU,EAAC,MAAA,CAAI,UAAWD,EAAG,yBAA0BR,GAAA,YAAAA,EAAS,GAAG,EAAG,IAAKD,EAAI,IAAK,IAAKA,EAAI,GAAA,CAAK,EAExFA,CAAA,CAEJ,CAAA,CAAA,EAzBGD,CAAA,CA6BX"}
|