@scbt-ecom/ui 0.116.0 → 0.117.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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/sliderMarks/SliderMarks.js +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/slider/ui/sliderMarks/SliderMarks.js.map +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/slider/ui/sliderMarks/hooks/useSliderMarks.js +1 -1
- package/dist/lib/shared/ui/formElements/uncontrolled/slider/ui/sliderMarks/hooks/useSliderMarks.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/calculator/ui/calculatorFields/CalculatorFields.js +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorFields/CalculatorFields.js.map +1 -1
- package/dist/lib/widgets/calculator/ui/calculatorFields/ui/SliderFieldsGroup.js +2 -0
- package/dist/lib/widgets/calculator/ui/calculatorFields/ui/SliderFieldsGroup.js.map +1 -0
- package/dist/lib/widgets/calculator/ui/calculatorFields/ui/index.js +1 -1
- package/dist/lib/widgets/model/helpers.js +2 -2
- package/dist/lib/widgets/model/helpers.js.map +1 -1
- package/dist/stats.html +1 -1
- package/dist/types/lib/shared/ui/formElements/uncontrolled/dayPicker/DayPicker.d.ts +1 -1
- package/dist/types/lib/shared/ui/formElements/uncontrolled/index.d.ts +1 -1
- package/dist/types/lib/shared/ui/formElements/uncontrolled/slider/ui/sliderAlgorithmic/hooks/useSliderAlgorithmic.d.ts +0 -1
- package/dist/types/lib/shared/ui/formElements/uncontrolled/slider/ui/sliderMarks/hooks/useSliderMarks.d.ts +0 -1
- package/dist/types/lib/shared/ui/formElements/uncontrolled/slider/ui/sliderStep/hooks/useSliderStep.d.ts +2 -2
- package/dist/types/lib/widgets/calculator/ui/calculatorFields/ui/SliderFieldsGroup.d.ts +3 -0
- package/dist/types/lib/widgets/calculator/ui/calculatorFields/ui/index.d.ts +1 -0
- package/package.json +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as
|
|
1
|
+
import{jsxs as d,jsx as c}from"react/jsx-runtime";import*as N from"react";import{forwardRef as J}from"react";import{NumericFormat as K}from"../../../../../../../../node_modules/react-number-format/dist/react-number-format.es.js";import{getInputSliderSuffix as n}from"../../model/helpers/getInputSliderSuffix.js";import{SliderInner as Q}from"../Slider.js";import{useSliderAlgorithmic as T}from"./hooks/useSliderAlgorithmic.js";import{cn as m}from"../../../../../../utils/cn.js";import{mergeRefs as U}from"../../../../../../utils/mergeRefs.js";import"../../../../../button/Button.js";import"../../../../../buttonIcon/ButtonIcon.js";import"../../../../../calendar/Calendar.js";import"../../../../../calendar/model/utils.js";import"../../../../../accordion/Accordion.js";import"react-dom";import"../../../../../modal/ui/IframeModalContent.js";import"../../../../../../../../node_modules/react-hot-toast/dist/index.js";import{Icon as W}from"../../../../../icon/Icon.js";import"../../../../../table/ui/primitives/Primitives.js";import"../../../../../carousel/ui/CarouselContent.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"../../SliderBase.js";import"../../../switch/Switch.js";import"../../../textarea/Textarea.js";import"../../../uploader/UploaderBase.js";import"../../../inputCurrency/InputCurrency.js";import"../../../../../../../../src/configs/api.js";import"../../../../controlled/editor/ui/Editor.js";import"../../../../controlled/input/MaskInputControl.js";import"../../../../../dropdownList/ui/dropdownItem/DropdownItem.js";const Y=c(W,{name:"general/edit",className:"size-[19px] text-icon-blue-grey-600 transition-[color] group-focus-within/icon:text-icon-blue-grey-800"}),Vi=J(({classes:h,invalid:k,externalHandlers:i,disabled:b,value:u,onChange:l,min:p,max:s,suffix:g,label:w,attachmentProps:t,additionalSuffix:S,readOnly:f,componentType:C,...r},v)=>{const y=N.useId(),e=N.useRef(null),B=()=>{var o;(o=e==null?void 0:e.current)==null||o.focus()},{sliderValue:R,sliderStep:j,sliderMin:A,sliderMax:F,handleChangeSlider:M}=T({min:p,max:s,defaultValue:0,value:u,onChange:l}),{root:V,slider:$,textLeft:z,textRight:G,inputRoot:L,textContainer:q,input:D,field:E}=h||{};return d("div",{"aria-label":C,className:m("flex w-full flex-col gap-1",V),children:[d("div",{className:m("relative w-full select-none",{"select-none":f},E),children:[c(X,{label:w,value:u,attachmentProps:{onClickIcon:f?void 0:(t==null?void 0:t.onClickIcon)||B,icon:f?void 0:(t==null?void 0:t.icon)||Y,...t},classes:{container:"border-[1px] bg-color-white border-blue-grey-500 focus-within:border-blue-grey-800",...L},onBlur:o=>{r!=null&&r.onBlur&&(r==null||r.onBlur(o)),i!=null&&i.onBlur&&i.onBlur(o)},onClick:i==null?void 0:i.onClick,onFocus:i==null?void 0:i.onBlur,renderValues:()=>c(K,{id:y,readOnly:f,"aria-invalid":k?"true":"false",value:u,disabled:b,suffix:` ${n(g,u)} ${S??""}`,thousandsGroupStyle:"thousand",thousandSeparator:" ",allowNegative:!1,getInputRef:U(e,v),onValueChange:({floatValue:o})=>{var I;o!==void 0&&(l&&l(o),(I=i==null?void 0:i.onInputChange)==null||I.call(i,o))},"data-test-id":"slider",className:m("group/slider desk-title-bold-s w-full bg-color-transparent text-color-dark outline-none transition-all",D),...r})}),c(Q,{classes:{...$},step:j,value:R,disabled:b,min:Number(A),max:Number(F),onChange:M,externalHandlers:i})]}),d("div",{className:m("flex justify-between",q),children:[p&&c("span",{className:m("desk-body-regular-m text-color-tetriary",z),children:n(g,p,!1)}),s&&c("span",{className:m("desk-body-regular-m text-color-tetriary",G),children:n(g,s,!1)})]})]})});export{Vi 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 {
|
|
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 ...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-test-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 {...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","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{useLogarithmic as
|
|
1
|
+
import{useEffect as M}from"react";import{useLogarithmic as A}from"../../../model/useLogarithmic.js";const b=({min:i,max:t,defaultValue:o,value:s,onChange:r})=>{const{fromSlider:e,toSlider:d,round:c}=A({min:i,max:t,defaultSum:o}),l=d(s),S=.01,u=d(i),p=d(t);return M(()=>{s&&(s>t&&r&&r(t),s<i&&r&&r(i))},[s,r,t,i]),{handleChangeSlider:f=>{f&&r&&r(c(e(f)))},toSlider:d,fromSlider:e,sliderValue:l,sliderStep:S,sliderMin:u,sliderMax:p}};export{b 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 { useLogarithmic } from '../../../model
|
|
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,EAEvFO,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 f,jsx as m}from"react/jsx-runtime";import*as
|
|
1
|
+
import{jsxs as f,jsx as m}from"react/jsx-runtime";import*as l from"react";import{forwardRef as L}from"react";import{NumericFormat as O}from"../../../../../../../../node_modules/react-number-format/dist/react-number-format.es.js";import{getInputSliderSuffix as e}from"../../model/helpers/getInputSliderSuffix.js";import{SliderInner as P}from"../Slider.js";import{useSliderMarks as q}from"./hooks/useSliderMarks.js";import{cn as i}from"../../../../../../utils/cn.js";import{mergeRefs as z}from"../../../../../../utils/mergeRefs.js";import"../../../../../button/Button.js";import"../../../../../buttonIcon/ButtonIcon.js";import"../../../../../calendar/Calendar.js";import"../../../../../calendar/model/utils.js";import"../../../../../accordion/Accordion.js";import"react-dom";import"../../../../../modal/ui/IframeModalContent.js";import"../../../../../../../../node_modules/react-hot-toast/dist/index.js";import"../../../../../table/ui/primitives/Primitives.js";import"../../../../../carousel/ui/CarouselContent.js";import"../../../../../slot/Slot.js";import"../../../autocomplete/Autocomplete.js";import"../../../checkbox/Checkbox.js";import"../../../combobox/combobox.js";import"../../../dayPicker/DayPicker.js";import{InputBase as A}from"../../../input/Input.js";import"../../../inputOtp/InputOtpBase.js";import"../../../maskInput/MaskInput.js";import"../../../radio/RadioGroup.js";import"../../../radio/ui/RadioItem.js";import"../../SliderBase.js";import"../../../switch/Switch.js";import"../../../textarea/Textarea.js";import"../../../uploader/UploaderBase.js";import"../../../inputCurrency/InputCurrency.js";import"../../../../../../../../src/configs/api.js";import"../../../../controlled/editor/ui/Editor.js";import"../../../../controlled/input/MaskInputControl.js";import"../../../../../dropdownList/ui/dropdownItem/DropdownItem.js";const ao=L(({classes:d,invalid:n,externalHandlers:o,disabled:g,value:t,onChange:p,suffix:u,label:b,marks:h,attachmentProps:N,additionalSuffix:y,componentType:w,...I},R)=>{const S=l.useId(),a=l.useRef(null),{sliderMin:s,sliderMax:c,handleChangeSlider:k}=q({marks:h,onChange:p,value:t}),{root:C,slider:B,textLeft:M,textRight:j,inputRoot:v,textContainer:F,input:$,field:G}=d||{};return f("div",{"aria-label":w,className:i("flex w-full flex-col gap-1",C),children:[f("div",{className:i("relative w-full select-none",G),children:[m(A,{label:b,value:t,attachmentProps:{...N},classes:{container:"border-[1px] bg-color-white border-blue-grey-500 focus-within:border-blue-grey-800",...v},onClick:o==null?void 0:o.onClick,onFocus:o==null?void 0:o.onBlur,onBlur:r=>{o!=null&&o.onBlur&&(o==null||o.onBlur(r))},renderValues:()=>m(O,{id:S,readOnly:!0,"aria-invalid":n?"true":"false",value:t,disabled:g,suffix:` ${e(u,t)} ${y??""}`,thousandsGroupStyle:"thousand",thousandSeparator:" ",allowNegative:!1,getInputRef:z(a,R),onValueChange:({floatValue:r})=>{r&&(p&&p(r),o!=null&&o.onInputChange&&o.onInputChange(r))},"data-test-id":"slider",className:i("group/slider desk-title-bold-s w-full bg-color-transparent text-color-dark outline-none transition-all",$),...I})}),m(P,{classes:{...B},marks:h,step:null,value:t??0,disabled:g,min:Number(s),max:Number(c),onChange:k})]}),f("div",{className:i("flex justify-between",F),children:[s&&m("span",{className:i("desk-body-regular-m text-color-tetriary",M),children:e(u,s,!1)}),c&&m("span",{className:i("desk-body-regular-m text-color-tetriary",j),children:e(u,c,!1)})]})]})});export{ao as SliderMarks};
|
|
2
2
|
//# sourceMappingURL=SliderMarks.js.map
|
package/dist/lib/shared/ui/formElements/uncontrolled/slider/ui/sliderMarks/SliderMarks.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SliderMarks.js","sources":["../../../../../../../../../lib/shared/ui/formElements/uncontrolled/slider/ui/sliderMarks/SliderMarks.tsx"],"sourcesContent":["import * as React from 'react'\nimport { forwardRef } from 'react'\nimport { NumericFormat } from 'react-number-format'\nimport {
|
|
1
|
+
{"version":3,"file":"SliderMarks.js","sources":["../../../../../../../../../lib/shared/ui/formElements/uncontrolled/slider/ui/sliderMarks/SliderMarks.tsx"],"sourcesContent":["import * as React from 'react'\nimport { forwardRef } from 'react'\nimport { NumericFormat } from 'react-number-format'\nimport { type SliderMarksProps } from '../../model'\nimport { getInputSliderSuffix } from '../../model/helpers'\nimport { SliderInner } from '../Slider'\nimport { useSliderMarks } from './hooks'\nimport { InputBase } from '$/shared/ui'\nimport { cn, mergeRefs } from '$/shared/utils'\n\nexport const SliderMarks = forwardRef<HTMLInputElement, SliderMarksProps>(\n (\n {\n classes,\n invalid,\n externalHandlers,\n disabled,\n value,\n onChange,\n suffix,\n label,\n marks,\n attachmentProps,\n additionalSuffix,\n componentType,\n ...props\n },\n ref\n ) => {\n const inputId = React.useId()\n\n const inputRef = React.useRef<HTMLInputElement>(null)\n\n const { sliderMin, sliderMax, handleChangeSlider } = useSliderMarks({\n marks,\n onChange,\n value\n })\n\n const { root, slider, textLeft, textRight, inputRoot, textContainer, input, field } = classes || {}\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', field)}>\n <InputBase\n label={label}\n value={value}\n attachmentProps={{\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 onClick={externalHandlers?.onClick}\n onFocus={externalHandlers?.onBlur}\n onBlur={(e) => {\n if (externalHandlers?.onBlur) {\n externalHandlers?.onBlur(e)\n }\n }}\n renderValues={() => (\n <NumericFormat\n id={inputId}\n 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-test-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 input\n )}\n {...props}\n />\n )}\n />\n <SliderInner\n classes={{ ...slider }}\n marks={marks}\n step={null}\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 {sliderMin && (\n <span className={cn('desk-body-regular-m text-color-tetriary', textLeft)}>\n {getInputSliderSuffix(suffix, sliderMin, false)}\n </span>\n )}\n {sliderMax && (\n <span className={cn('desk-body-regular-m text-color-tetriary', textRight)}>\n {getInputSliderSuffix(suffix, sliderMax, false)}\n </span>\n )}\n </div>\n </div>\n )\n }\n)\n"],"names":["SliderMarks","forwardRef","classes","invalid","externalHandlers","disabled","value","onChange","suffix","label","marks","attachmentProps","additionalSuffix","componentType","props","ref","inputId","React","inputRef","sliderMin","sliderMax","handleChangeSlider","useSliderMarks","root","slider","textLeft","textRight","inputRoot","textContainer","input","field","jsxs","cn","jsx","InputBase","e","NumericFormat","getInputSliderSuffix","mergeRefs","floatValue","SliderInner"],"mappings":"8yDAUO,MAAMA,GAAcC,EACzB,CACE,CACE,QAAAC,EACA,QAAAC,EACA,iBAAAC,EACA,SAAAC,EACA,MAAAC,EACA,SAAAC,EACA,OAAAC,EACA,MAAAC,EACA,MAAAC,EACA,gBAAAC,EACA,iBAAAC,EACA,cAAAC,EACA,GAAGC,CAAA,EAELC,IACG,CACH,MAAMC,EAAUC,EAAM,MAAA,EAEhBC,EAAWD,EAAM,OAAyB,IAAI,EAE9C,CAAE,UAAAE,EAAW,UAAAC,EAAW,mBAAAC,CAAA,EAAuBC,EAAe,CAClE,MAAAZ,EACA,SAAAH,EACA,MAAAD,CAAA,CACD,EAEK,CAAE,KAAAiB,EAAM,OAAAC,EAAQ,SAAAC,EAAU,UAAAC,EAAW,UAAAC,EAAW,cAAAC,EAAe,MAAAC,EAAO,MAAAC,CAAA,EAAU5B,GAAW,CAAA,EACjG,OACE6B,EAAC,OAAI,aAAYlB,EAAe,UAAWmB,EAAG,6BAA8BT,CAAI,EAC9E,SAAA,CAAAQ,EAAC,MAAA,CAAI,UAAWC,EAAG,8BAA+BF,CAAK,EACrD,SAAA,CAAAG,EAACC,EAAA,CACC,MAAAzB,EACA,MAAAH,EACA,gBAAiB,CACf,GAAGK,CAAA,EAEL,QAAS,CACP,UAAW,qFACX,GAAGgB,CAAA,EAEL,QAASvB,GAAA,YAAAA,EAAkB,QAC3B,QAASA,GAAA,YAAAA,EAAkB,OAC3B,OAAS+B,GAAM,CACT/B,GAAA,MAAAA,EAAkB,SACpBA,GAAA,MAAAA,EAAkB,OAAO+B,GAE7B,EACA,aAAc,IACZF,EAACG,EAAA,CACC,GAAIpB,EACJ,SAAQ,GACR,eAAcb,EAAU,OAAS,QACjC,MAAAG,EACA,SAAAD,EACA,OAAQ,IAAIgC,EAAqB7B,EAAQF,CAAK,CAAC,IAAIM,GAAoB,EAAE,GACzE,oBAAoB,WACpB,kBAAmB,IACnB,cAAe,GACf,YAAa0B,EAAUpB,EAAUH,CAAG,EACpC,cAAe,CAAC,CAAE,WAAAwB,KAAiB,CAC7BA,IACEhC,KAAmBgC,CAAU,EAC7BnC,GAAA,MAAAA,EAAkB,eACpBA,EAAiB,cAAcmC,CAAU,EAG/C,EACA,eAAa,SACb,UAAWP,EACT,yGACAH,CAAA,EAED,GAAGf,CAAA,CAAA,CACN,CAAA,EAGJmB,EAACO,EAAA,CACC,QAAS,CAAE,GAAGhB,CAAA,EACd,MAAAd,EACA,KAAM,KACN,MAAOJ,GAAS,EAChB,SAAAD,EACA,IAAK,OAAOc,CAAS,EACrB,IAAK,OAAOC,CAAS,EACrB,SAAUC,CAAA,CAAA,CACZ,EACF,IACC,MAAA,CAAI,UAAWW,EAAG,uBAAwBJ,CAAa,EACrD,SAAA,CAAAT,GACCc,EAAC,OAAA,CAAK,UAAWD,EAAG,0CAA2CP,CAAQ,EACpE,SAAAY,EAAqB7B,EAAQW,EAAW,EAAK,CAAA,CAChD,EAEDC,GACCa,EAAC,OAAA,CAAK,UAAWD,EAAG,0CAA2CN,CAAS,EACrE,SAAAW,EAAqB7B,EAAQY,EAAW,EAAK,CAAA,CAChD,CAAA,CAAA,CAEJ,CAAA,EACF,CAEJ,CACF"}
|
package/dist/lib/shared/ui/formElements/uncontrolled/slider/ui/sliderMarks/hooks/useSliderMarks.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const
|
|
1
|
+
import{useEffect as M}from"react";const x=({marks:s,onChange:r,value:i})=>{const c=Math.min(...s),t=Math.max(...s),d=f=>{f&&r&&r(f)};return M(()=>{i&&i>t&&(r==null||r(t))},[r,t,i]),{handleChangeSlider:d,sliderMin:c,sliderMax:t}};export{x as useSliderMarks};
|
|
2
2
|
//# sourceMappingURL=useSliderMarks.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSliderMarks.js","sources":["../../../../../../../../../../lib/shared/ui/formElements/uncontrolled/slider/ui/sliderMarks/hooks/useSliderMarks.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"useSliderMarks.js","sources":["../../../../../../../../../../lib/shared/ui/formElements/uncontrolled/slider/ui/sliderMarks/hooks/useSliderMarks.ts"],"sourcesContent":["import { useEffect } from 'react'\n\ninterface UseSliderMarks {\n marks: number[]\n onChange?: (value: number) => void\n value: number | undefined\n}\n\nexport const useSliderMarks = ({ marks, onChange, value }: UseSliderMarks) => {\n const sliderMin = Math.min(...marks)\n const sliderMax = Math.max(...marks)\n\n const handleChangeSlider = (value?: number) => {\n if (!value) {\n return\n }\n if (onChange) onChange(value)\n }\n\n useEffect(() => {\n if (value && value > sliderMax) {\n onChange?.(sliderMax)\n }\n }, [onChange, sliderMax, value])\n\n return {\n handleChangeSlider,\n sliderMin,\n sliderMax\n }\n}\n"],"names":["useSliderMarks","marks","onChange","value","sliderMin","sliderMax","handleChangeSlider","useEffect"],"mappings":"kCAQO,MAAMA,EAAiB,CAAC,CAAE,MAAAC,EAAO,SAAAC,EAAU,MAAAC,KAA4B,CAC5E,MAAMC,EAAY,KAAK,IAAI,GAAGH,CAAK,EAC7BI,EAAY,KAAK,IAAI,GAAGJ,CAAK,EAE7BK,EAAsBH,GAAmB,CACxCA,GAGDD,KAAmBC,CAAK,CAC9B,EAEA,OAAAI,EAAU,IAAM,CACVJ,GAASA,EAAQE,IACnBH,GAAA,MAAAA,EAAWG,GAEf,EAAG,CAACH,EAAUG,EAAWF,CAAK,CAAC,EAExB,CACL,mBAAAG,EACA,UAAAF,EACA,UAAAC,CAAA,CAEJ"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as d,jsx as c}from"react/jsx-runtime";import*as I from"react";import{forwardRef as
|
|
1
|
+
import{jsxs as d,jsx as c}from"react/jsx-runtime";import*as I from"react";import{forwardRef as J}from"react";import{NumericFormat as K}from"../../../../../../../../node_modules/react-number-format/dist/react-number-format.es.js";import{getInputSliderSuffix as g}from"../../model/helpers/getInputSliderSuffix.js";import{SliderInner as Q}from"../Slider.js";import{useSliderStep as T}from"./hooks/useSliderStep.js";import{cn as m}from"../../../../../../utils/cn.js";import{mergeRefs as U}from"../../../../../../utils/mergeRefs.js";import"../../../../../button/Button.js";import"../../../../../buttonIcon/ButtonIcon.js";import"../../../../../calendar/Calendar.js";import"../../../../../calendar/model/utils.js";import"../../../../../accordion/Accordion.js";import"react-dom";import"../../../../../modal/ui/IframeModalContent.js";import"../../../../../../../../node_modules/react-hot-toast/dist/index.js";import{Icon as V}from"../../../../../icon/Icon.js";import"../../../../../table/ui/primitives/Primitives.js";import"../../../../../carousel/ui/CarouselContent.js";import"../../../../../slot/Slot.js";import"../../../autocomplete/Autocomplete.js";import"../../../checkbox/Checkbox.js";import"../../../combobox/combobox.js";import"../../../dayPicker/DayPicker.js";import{InputBase as W}from"../../../input/Input.js";import"../../../inputOtp/InputOtpBase.js";import"../../../maskInput/MaskInput.js";import"../../../radio/RadioGroup.js";import"../../../radio/ui/RadioItem.js";import"../../SliderBase.js";import"../../../switch/Switch.js";import"../../../textarea/Textarea.js";import"../../../uploader/UploaderBase.js";import"../../../inputCurrency/InputCurrency.js";import"../../../../../../../../src/configs/api.js";import"../../../../controlled/editor/ui/Editor.js";import"../../../../controlled/input/MaskInputControl.js";import"../../../../../dropdownList/ui/dropdownItem/DropdownItem.js";const X=c(V,{name:"general/edit",className:"size-[19px] text-icon-blue-grey-600 transition-[color] group-focus-within/icon:text-icon-blue-grey-800"}),zo=J(({classes:N,invalid:S,externalHandlers:o,disabled:b,value:u,onChange:l,min:p,max:n,suffix:s,label:k,step:w,attachmentProps:t,additionalSuffix:C,readOnly:e,componentType:h,...r},y)=>{const B=I.useId(),f=I.useRef(null),R=()=>{var i;(i=f==null?void 0:f.current)==null||i.focus()},{sliderStep:v,sliderMin:j,sliderMax:F,handleChangeSlider:M}=T({min:p,max:n,step:w,onChange:l,value:u}),{root:$,slider:z,textLeft:G,textRight:L,inputRoot:q,textContainer:A,input:D,field:E}=N||{};return d("div",{"aria-label":h,className:m("flex w-full flex-col gap-1",$),children:[d("div",{className:m("relative w-full select-none",{"select-none":e},E),children:[c(W,{label:k,value:u,attachmentProps:{onClickIcon:e?void 0:(t==null?void 0:t.onClickIcon)||R,icon:e?void 0:(t==null?void 0:t.icon)||X,...t},classes:{container:"border-[1px] bg-color-white border-blue-grey-500 focus-within:border-blue-grey-800",...q},onBlur:i=>{r!=null&&r.onBlur&&(r==null||r.onBlur(i)),o!=null&&o.onBlur&&o.onBlur(i)},onClick:o==null?void 0:o.onClick,onFocus:o==null?void 0:o.onBlur,renderValues:()=>c(K,{id:B,readOnly:e,"aria-invalid":S?"true":"false",value:u,disabled:b,suffix:` ${g(s,u)} ${C??""}`,thousandsGroupStyle:"thousand",thousandSeparator:" ",allowNegative:!1,getInputRef:U(f,y),onValueChange:({floatValue:i})=>{i&&(l&&l(i),o!=null&&o.onInputChange&&o.onInputChange(i))},"data-test-id":"slider",className:m("group/slider desk-title-bold-s w-full bg-color-transparent text-color-dark outline-none transition-all",D),...r})}),c(Q,{classes:{...z},step:v,value:u??0,disabled:b,min:Number(j),max:Number(F),onChange:M})]}),d("div",{className:m("flex justify-between",A),children:[p&&c("span",{className:m("desk-body-regular-m text-color-tetriary",G),children:g(s,p,!1)}),n&&c("span",{className:m("desk-body-regular-m text-color-tetriary",L),children:g(s,n,!1)})]})]})});export{zo 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 {
|
|
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 ...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 { sliderStep, sliderMin, sliderMax, handleChangeSlider } = useSliderStep({\n min,\n max,\n step,\n onChange,\n value\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-test-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 {...props}\n />\n )}\n />\n <SliderInner\n classes={{ ...slider }}\n step={sliderStep}\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","props","ref","inputId","React","inputRef","handleIconClick","_a","sliderStep","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
|
-
const
|
|
1
|
+
import{useEffect as l}from"react";const M=({min:t,max:i,step:e,onChange:r,value:f})=>{const d=e??1,c=t,S=i;return l(()=>{f&&(f>i&&r&&r(i),f<t&&r&&r(t))},[i,t,r,f]),{handleChangeSlider:s=>{s&&r&&r(s)},sliderStep:d,sliderMin:c,sliderMax:S}};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":["
|
|
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 sliderStep = step ?? 1\n\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 sliderStep,\n sliderMin,\n sliderMax\n }\n}\n"],"names":["useSliderStep","min","max","step","onChange","value","sliderStep","sliderMin","sliderMax","useEffect"],"mappings":"kCAUO,MAAMA,EAAgB,CAAC,CAAE,IAAAC,EAAK,IAAAC,EAAK,KAAAC,EAAM,SAAAC,EAAU,MAAAC,KAA2B,CACnF,MAAMC,EAAaH,GAAQ,EAErBI,EAAYN,EACZO,EAAYN,EAElB,OAAAO,EAAU,IAAM,CACTJ,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,WAAAC,EACA,UAAAC,EACA,UAAAC,CAAA,CAEJ"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as k,jsx as a}from"react/jsx-runtime";import{useAdditionalSlider as w}from"./hooks/useAdditionalSlider.js";import{CalculatorModal as v}from"./ui/CalculatorModal.js";import{FieldsGroup as
|
|
1
|
+
import{jsxs as k,jsx as a}from"react/jsx-runtime";import{useAdditionalSlider as w}from"./hooks/useAdditionalSlider.js";import{CalculatorModal as v}from"./ui/CalculatorModal.js";import{FieldsGroup as m}from"./ui/FieldsGroup.js";import{AdditionalSlider as N}from"./ui/AdditionalSlider.js";import{SliderFieldsGroup as W}from"./ui/SliderFieldsGroup.js";import{cn as x}from"../../../../shared/utils/cn.js";import{TypeGuards as C}from"../../../../shared/utils/typeGuards.js";import"react";const I=({modalConfig:g,fieldsGroup:t,classes:n})=>{var y,c,h,S,r,b,A,E;const{sliderSumExist:F,sliderSumCorrectType:T}=w({slidersGroupConfig:t.slidersGroupConfig,additionalSliderGroupConfig:t.additionalSliderGroupConfig});return k("div",{className:x("flex flex-1 flex-col gap-6 mobile:w-full desktop:gap-8",n==null?void 0:n.rootFieldsWrapper),children:[(g==null?void 0:g.triggerText)&&(g==null?void 0:g.contentVariant)&&a(v,{classes:n==null?void 0:n.modalClasses,...g}),(t==null?void 0:t.selectGroupConfig)&&!C.isArrayEmpty((y=t==null?void 0:t.selectGroupConfig)==null?void 0:y.fields)&&a("div",{className:x("flex flex-col gap-4",n==null?void 0:n.selectFieldsWrapper),children:a(m,{...t==null?void 0:t.selectGroupConfig})}),(t==null?void 0:t.slidersGroupConfig)&&!C.isArrayEmpty((c=t==null?void 0:t.slidersGroupConfig)==null?void 0:c.fields)&&a(W,{...t==null?void 0:t.slidersGroupConfig}),(t==null?void 0:t.radioGroupTabConfig)&&!C.isArrayEmpty((h=t==null?void 0:t.radioGroupTabConfig)==null?void 0:h.fields)&&a(m,{...t==null?void 0:t.radioGroupTabConfig}),(t==null?void 0:t.checkboxGroupConfig)&&!C.isArrayEmpty((S=t==null?void 0:t.checkboxGroupConfig)==null?void 0:S.fields)&&a("div",{className:x("flex flex-col gap-4",n==null?void 0:n.checkboxFieldsWrapper),children:a(m,{...t==null?void 0:t.checkboxGroupConfig})}),(t==null?void 0:t.radioGroupConfig)&&!C.isArrayEmpty((r=t==null?void 0:t.radioGroupConfig)==null?void 0:r.fields)&&a(m,{...t==null?void 0:t.radioGroupConfig}),(t==null?void 0:t.radioGroupCardConfig)&&!C.isArrayEmpty((b=t==null?void 0:t.radioGroupCardConfig)==null?void 0:b.fields)&&a(m,{...t==null?void 0:t.radioGroupCardConfig}),(t==null?void 0:t.switchGroupConfig)&&!C.isArrayEmpty((A=t==null?void 0:t.switchGroupConfig)==null?void 0:A.fields)&&a("div",{className:x("flex flex-col gap-4",n==null?void 0:n.switchFieldsWrapper),children:a(m,{...t==null?void 0:t.switchGroupConfig})}),((E=t.additionalSliderGroupConfig)==null?void 0:E.args.enabled)&&t.slidersGroupConfig&&t.additionalSliderGroupConfig&&F&&T&&a(N,{slidersGroupConfig:t.slidersGroupConfig,additionalSliderGroupConfig:t.additionalSliderGroupConfig})]})};export{I as CalculatorFields};
|
|
2
2
|
//# sourceMappingURL=CalculatorFields.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CalculatorFields.js","sources":["../../../../../../lib/widgets/calculator/ui/calculatorFields/CalculatorFields.tsx"],"sourcesContent":["import { type FieldValues } from 'react-hook-form'\nimport { useAdditionalSlider } from './hooks'\nimport {\n AdditionalSlider,\n type AdditionalSliderGroupConfig,\n CalculatorModal,\n type CalculatorModalClasses,\n type CalculatorModalProps,\n type CheckboxGroupProps,\n type RadioGroupProps,\n type SelectGroupProps,\n type SlidersGroupProps,\n type SwitchGroupProps\n} from './ui'\nimport { FieldsGroup } from './ui'\nimport { cn, TypeGuards } from '$/shared/utils'\n\nexport type CalculatorFieldsClasses = {\n rootFieldsWrapper?: string\n selectFieldsWrapper?: string\n checkboxFieldsWrapper?: string\n switchFieldsWrapper?: string\n modalClasses?: CalculatorModalClasses\n}\n\nexport interface CalculatorFieldsProps<T extends FieldValues> {\n classes?: CalculatorFieldsClasses\n modalConfig?: CalculatorModalProps\n fieldsGroup: {\n selectGroupConfig?: SelectGroupProps<T>\n slidersGroupConfig?: SlidersGroupProps<T>\n radioGroupTabConfig?: RadioGroupProps<T>\n checkboxGroupConfig?: CheckboxGroupProps<T>\n radioGroupConfig?: RadioGroupProps<T>\n radioGroupCardConfig?: RadioGroupProps<T>\n switchGroupConfig?: SwitchGroupProps<T>\n additionalSliderGroupConfig?: AdditionalSliderGroupConfig<T> & { fields: any[] }\n }\n}\n\n//TODO: Переписать лаконично убрать дубляж\n// type BaseFieldsGroup<Fields> = {\n// fields: Fields\n// }\n// const hasFields = <T extends BaseFieldsGroup<T>>(groupConfig: T) => groupConfig && !TypeGuards.isArrayEmpty(groupConfig?.fields)\n\nexport const CalculatorFields = <T extends FieldValues>({ modalConfig, fieldsGroup, classes }: CalculatorFieldsProps<T>) => {\n const { sliderSumExist, sliderSumCorrectType } = useAdditionalSlider({\n slidersGroupConfig: fieldsGroup.slidersGroupConfig,\n additionalSliderGroupConfig: fieldsGroup.additionalSliderGroupConfig\n })\n\n return (\n <div className={cn('flex flex-1 flex-col gap-6 mobile:w-full desktop:gap-8', classes?.rootFieldsWrapper)}>\n {modalConfig?.triggerText && modalConfig?.contentVariant && (\n <CalculatorModal classes={classes?.modalClasses} {...modalConfig} />\n )}\n {fieldsGroup?.selectGroupConfig && !TypeGuards.isArrayEmpty(fieldsGroup?.selectGroupConfig?.fields) && (\n <div className={cn('flex flex-col gap-4', classes?.selectFieldsWrapper)}>\n <FieldsGroup {...fieldsGroup?.selectGroupConfig} />\n </div>\n )}\n {fieldsGroup?.slidersGroupConfig && !TypeGuards.isArrayEmpty(fieldsGroup?.slidersGroupConfig?.fields) && (\n <
|
|
1
|
+
{"version":3,"file":"CalculatorFields.js","sources":["../../../../../../lib/widgets/calculator/ui/calculatorFields/CalculatorFields.tsx"],"sourcesContent":["import { type FieldValues } from 'react-hook-form'\nimport { useAdditionalSlider } from './hooks'\nimport {\n AdditionalSlider,\n type AdditionalSliderGroupConfig,\n CalculatorModal,\n type CalculatorModalClasses,\n type CalculatorModalProps,\n type CheckboxGroupProps,\n type RadioGroupProps,\n type SelectGroupProps,\n SliderFieldsGroup,\n type SlidersGroupProps,\n type SwitchGroupProps\n} from './ui'\nimport { FieldsGroup } from './ui'\nimport { cn, TypeGuards } from '$/shared/utils'\n\nexport type CalculatorFieldsClasses = {\n rootFieldsWrapper?: string\n selectFieldsWrapper?: string\n checkboxFieldsWrapper?: string\n switchFieldsWrapper?: string\n modalClasses?: CalculatorModalClasses\n}\n\nexport interface CalculatorFieldsProps<T extends FieldValues> {\n classes?: CalculatorFieldsClasses\n modalConfig?: CalculatorModalProps\n fieldsGroup: {\n selectGroupConfig?: SelectGroupProps<T>\n slidersGroupConfig?: SlidersGroupProps<T>\n radioGroupTabConfig?: RadioGroupProps<T>\n checkboxGroupConfig?: CheckboxGroupProps<T>\n radioGroupConfig?: RadioGroupProps<T>\n radioGroupCardConfig?: RadioGroupProps<T>\n switchGroupConfig?: SwitchGroupProps<T>\n additionalSliderGroupConfig?: AdditionalSliderGroupConfig<T> & { fields: any[] }\n }\n}\n\n//TODO: Переписать лаконично убрать дубляж\n// type BaseFieldsGroup<Fields> = {\n// fields: Fields\n// }\n// const hasFields = <T extends BaseFieldsGroup<T>>(groupConfig: T) => groupConfig && !TypeGuards.isArrayEmpty(groupConfig?.fields)\n\nexport const CalculatorFields = <T extends FieldValues>({ modalConfig, fieldsGroup, classes }: CalculatorFieldsProps<T>) => {\n const { sliderSumExist, sliderSumCorrectType } = useAdditionalSlider({\n slidersGroupConfig: fieldsGroup.slidersGroupConfig,\n additionalSliderGroupConfig: fieldsGroup.additionalSliderGroupConfig\n })\n\n return (\n <div className={cn('flex flex-1 flex-col gap-6 mobile:w-full desktop:gap-8', classes?.rootFieldsWrapper)}>\n {modalConfig?.triggerText && modalConfig?.contentVariant && (\n <CalculatorModal classes={classes?.modalClasses} {...modalConfig} />\n )}\n {fieldsGroup?.selectGroupConfig && !TypeGuards.isArrayEmpty(fieldsGroup?.selectGroupConfig?.fields) && (\n <div className={cn('flex flex-col gap-4', classes?.selectFieldsWrapper)}>\n <FieldsGroup {...fieldsGroup?.selectGroupConfig} />\n </div>\n )}\n {fieldsGroup?.slidersGroupConfig && !TypeGuards.isArrayEmpty(fieldsGroup?.slidersGroupConfig?.fields) && (\n <SliderFieldsGroup {...fieldsGroup?.slidersGroupConfig} />\n )}\n {fieldsGroup?.radioGroupTabConfig && !TypeGuards.isArrayEmpty(fieldsGroup?.radioGroupTabConfig?.fields) && (\n <FieldsGroup {...fieldsGroup?.radioGroupTabConfig} />\n )}\n {fieldsGroup?.checkboxGroupConfig && !TypeGuards.isArrayEmpty(fieldsGroup?.checkboxGroupConfig?.fields) && (\n <div className={cn('flex flex-col gap-4', classes?.checkboxFieldsWrapper)}>\n <FieldsGroup {...fieldsGroup?.checkboxGroupConfig} />\n </div>\n )}\n {fieldsGroup?.radioGroupConfig && !TypeGuards.isArrayEmpty(fieldsGroup?.radioGroupConfig?.fields) && (\n <FieldsGroup {...fieldsGroup?.radioGroupConfig} />\n )}\n {fieldsGroup?.radioGroupCardConfig && !TypeGuards.isArrayEmpty(fieldsGroup?.radioGroupCardConfig?.fields) && (\n <FieldsGroup {...fieldsGroup?.radioGroupCardConfig} />\n )}\n {fieldsGroup?.switchGroupConfig && !TypeGuards.isArrayEmpty(fieldsGroup?.switchGroupConfig?.fields) && (\n <div className={cn('flex flex-col gap-4', classes?.switchFieldsWrapper)}>\n <FieldsGroup {...fieldsGroup?.switchGroupConfig} />\n </div>\n )}\n {fieldsGroup.additionalSliderGroupConfig?.args.enabled &&\n fieldsGroup.slidersGroupConfig &&\n fieldsGroup.additionalSliderGroupConfig &&\n sliderSumExist &&\n sliderSumCorrectType && (\n <AdditionalSlider\n slidersGroupConfig={fieldsGroup.slidersGroupConfig}\n additionalSliderGroupConfig={fieldsGroup.additionalSliderGroupConfig}\n />\n )}\n </div>\n )\n}\n"],"names":["CalculatorFields","modalConfig","fieldsGroup","classes","sliderSumExist","sliderSumCorrectType","useAdditionalSlider","cn","jsx","CalculatorModal","TypeGuards","_a","FieldsGroup","_b","SliderFieldsGroup","_c","_d","_e","_f","_g","_h","AdditionalSlider"],"mappings":"meA+CO,MAAMA,EAAmB,CAAwB,CAAE,YAAAC,EAAa,YAAAC,EAAa,QAAAC,KAAwC,qBAC1H,KAAM,CAAE,eAAAC,EAAgB,qBAAAC,CAAA,EAAyBC,EAAoB,CACnE,mBAAoBJ,EAAY,mBAChC,4BAA6BA,EAAY,2BAAA,CAC1C,EAED,SACG,MAAA,CAAI,UAAWK,EAAG,yDAA0DJ,GAAA,YAAAA,EAAS,iBAAiB,EACpG,SAAA,EAAAF,GAAA,YAAAA,EAAa,eAAeA,GAAA,YAAAA,EAAa,iBACxCO,EAACC,GAAgB,QAASN,GAAA,YAAAA,EAAS,aAAe,GAAGF,CAAA,CAAa,GAEnEC,GAAA,YAAAA,EAAa,oBAAqB,CAACQ,EAAW,cAAaC,EAAAT,GAAA,YAAAA,EAAa,oBAAb,YAAAS,EAAgC,MAAM,GAChGH,EAAC,MAAA,CAAI,UAAWD,EAAG,sBAAuBJ,GAAA,YAAAA,EAAS,mBAAmB,EACpE,WAACS,EAAA,CAAa,GAAGV,GAAA,YAAAA,EAAa,iBAAA,CAAmB,CAAA,CACnD,GAEDA,GAAA,YAAAA,EAAa,qBAAsB,CAACQ,EAAW,cAAaG,EAAAX,GAAA,YAAAA,EAAa,qBAAb,YAAAW,EAAiC,MAAM,GAClGL,EAACM,EAAA,CAAmB,GAAGZ,GAAA,YAAAA,EAAa,kBAAA,CAAoB,GAEzDA,GAAA,YAAAA,EAAa,sBAAuB,CAACQ,EAAW,cAAaK,EAAAb,GAAA,YAAAA,EAAa,sBAAb,YAAAa,EAAkC,MAAM,GACpGP,EAACI,EAAA,CAAa,GAAGV,GAAA,YAAAA,EAAa,mBAAA,CAAqB,GAEpDA,GAAA,YAAAA,EAAa,sBAAuB,CAACQ,EAAW,cAAaM,EAAAd,GAAA,YAAAA,EAAa,sBAAb,YAAAc,EAAkC,MAAM,GACpGR,EAAC,MAAA,CAAI,UAAWD,EAAG,sBAAuBJ,GAAA,YAAAA,EAAS,qBAAqB,EACtE,WAACS,EAAA,CAAa,GAAGV,GAAA,YAAAA,EAAa,mBAAA,CAAqB,CAAA,CACrD,GAEDA,GAAA,YAAAA,EAAa,mBAAoB,CAACQ,EAAW,cAAaO,EAAAf,GAAA,YAAAA,EAAa,mBAAb,YAAAe,EAA+B,MAAM,GAC9FT,EAACI,EAAA,CAAa,GAAGV,GAAA,YAAAA,EAAa,gBAAA,CAAkB,GAEjDA,GAAA,YAAAA,EAAa,uBAAwB,CAACQ,EAAW,cAAaQ,EAAAhB,GAAA,YAAAA,EAAa,uBAAb,YAAAgB,EAAmC,MAAM,GACtGV,EAACI,EAAA,CAAa,GAAGV,GAAA,YAAAA,EAAa,oBAAA,CAAsB,GAErDA,GAAA,YAAAA,EAAa,oBAAqB,CAACQ,EAAW,cAAaS,EAAAjB,GAAA,YAAAA,EAAa,oBAAb,YAAAiB,EAAgC,MAAM,GAChGX,EAAC,MAAA,CAAI,UAAWD,EAAG,sBAAuBJ,GAAA,YAAAA,EAAS,mBAAmB,EACpE,WAACS,EAAA,CAAa,GAAGV,GAAA,YAAAA,EAAa,iBAAA,CAAmB,CAAA,CACnD,IAEDkB,EAAAlB,EAAY,8BAAZ,YAAAkB,EAAyC,KAAK,UAC7ClB,EAAY,oBACZA,EAAY,6BACZE,GACAC,GACEG,EAACa,EAAA,CACC,mBAAoBnB,EAAY,mBAChC,4BAA6BA,EAAY,2BAAA,CAAA,CAC3C,EAEN,CAEJ"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{jsx as c}from"react/jsx-runtime";import{useFormContext as u}from"../../../../../../node_modules/react-hook-form/dist/index.esm.js";import{FieldsGroup as g}from"./FieldsGroup.js";const i=(t,s)=>{if(!t)return 0;const n=t.match(/[a-z]+/gi)??[],r=`return ${t}`.trim();return new Function(...n,r)(...s(n).map(Number))},F=({fields:t})=>{const{watch:s}=u(),n=t.map(r=>{var m,a;const o=isNaN(Number(r.args.min))?i((m=r.args.min)==null?void 0:m.toString(),s):r.args.min,e=isNaN(Number(r.args.max))?i((a=r.args.max)==null?void 0:a.toString(),s):r.args.max;return{...r,args:{...r.args,min:o,max:e}}});return c(g,{fields:n})};export{F as SliderFieldsGroup};
|
|
2
|
+
//# sourceMappingURL=SliderFieldsGroup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SliderFieldsGroup.js","sources":["../../../../../../../lib/widgets/calculator/ui/calculatorFields/ui/SliderFieldsGroup.tsx"],"sourcesContent":["import { type FieldValues, type Path, useFormContext, type UseFormWatch } from 'react-hook-form'\nimport { FieldsGroup, type SlidersGroupProps } from './FieldsGroup'\n\nconst evaluateExpressionWith = <T extends FieldValues>(value: string | undefined, watch: UseFormWatch<T>) => {\n if (!value) return 0\n\n const variables = (value.match(/[a-z]+/gi) as string[]) ?? []\n const expression = `return ${value}`.trim()\n\n const fn = new Function(...variables, expression)\n\n return fn(...watch(variables as Path<T>[]).map(Number))\n}\n\nexport const SliderFieldsGroup = <T extends FieldValues>({ fields }: SlidersGroupProps<T>) => {\n const { watch } = useFormContext<T>()\n\n const transformedFields = (() => {\n return fields.map((field) => {\n const min = isNaN(Number(field.args.min)) ? evaluateExpressionWith(field.args.min?.toString(), watch) : field.args.min\n const max = isNaN(Number(field.args.max)) ? evaluateExpressionWith(field.args.max?.toString(), watch) : field.args.max\n\n return {\n ...field,\n args: {\n ...field.args,\n min,\n max\n }\n }\n })\n })()\n\n return <FieldsGroup fields={transformedFields} />\n}\n"],"names":["evaluateExpressionWith","value","watch","variables","expression","SliderFieldsGroup","fields","useFormContext","transformedFields","field","min","_a","max","_b","jsx","FieldsGroup"],"mappings":"yLAGA,MAAMA,EAAyB,CAAwBC,EAA2BC,IAA2B,CAC3G,GAAI,CAACD,EAAO,MAAO,GAEnB,MAAME,EAAaF,EAAM,MAAM,UAAU,GAAkB,CAAA,EACrDG,EAAa,UAAUH,CAAK,GAAG,KAAA,EAIrC,OAFW,IAAI,SAAS,GAAGE,EAAWC,CAAU,EAEtC,GAAGF,EAAMC,CAAsB,EAAE,IAAI,MAAM,CAAC,CACxD,EAEaE,EAAoB,CAAwB,CAAE,OAAAC,KAAmC,CAC5F,KAAM,CAAE,MAAAJ,CAAA,EAAUK,EAAA,EAEZC,EACGF,EAAO,IAAKG,GAAU,SAC3B,MAAMC,EAAM,MAAM,OAAOD,EAAM,KAAK,GAAG,CAAC,EAAIT,GAAuBW,EAAAF,EAAM,KAAK,MAAX,YAAAE,EAAgB,WAAYT,CAAK,EAAIO,EAAM,KAAK,IAC7GG,EAAM,MAAM,OAAOH,EAAM,KAAK,GAAG,CAAC,EAAIT,GAAuBa,EAAAJ,EAAM,KAAK,MAAX,YAAAI,EAAgB,WAAYX,CAAK,EAAIO,EAAM,KAAK,IAEnH,MAAO,CACL,GAAGA,EACH,KAAM,CACJ,GAAGA,EAAM,KACT,IAAAC,EACA,IAAAE,CAAA,CACF,CAEJ,CAAC,EAGH,OAAOE,EAACC,EAAA,CAAY,OAAQP,CAAA,CAAmB,CACjD"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{CalculatorModal as
|
|
1
|
+
import{CalculatorModal as e}from"./CalculatorModal.js";import{FieldsGroup as d}from"./FieldsGroup.js";import{AdditionalSlider as p}from"./AdditionalSlider.js";import{SliderFieldsGroup as a}from"./SliderFieldsGroup.js";export{p as AdditionalSlider,e as CalculatorModal,d as FieldsGroup,a as SliderFieldsGroup};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|