inconel 0.1.23 → 0.1.25

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.
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),pe=require("react"),k=require("react-datepicker"),De=require("date-fns/locale");;/* empty css */const n=require("../shared/classNames.cjs");;/* empty css */;/* empty css */const a=require("./utils.cjs"),_e=require("../../adapters/context.cjs"),ke=require("../DotLoader/DotLoader.cjs"),he=require("../Svg/Svg.cjs");k.registerLocale("tr",De.tr);const qe=k;function Ne({id:d="",value:l=null,onChange:h,onBlur:q,onFocus:N,onClose:j,disabled:f=!1,className:x,labelClassName:y,inputClassName:z,placeholder:S,name:u="",label:m,timeIntervals:g=1,errorMessage:s,errorPlace:p,dateFormat:v="dd.MM.yyyy",minDate:P,maxDate:R=new Date("9999-12-31"),showTimeSelect:T=!1,showTimeSelectOnly:b=!1,showYearPicker:A=!1,showMonthYearPicker:L=!1,showFullMonthYearPicker:B=!1,autoComplete:C="off",notNull:I=!0,minTime:$,maxTime:w,readOnly:F=!1,portalId:O,isClearable:r=!1,peekNextMonth:V=!1,showMonthDropdown:E=!1,showYearDropdown:G=!1,dropdownMode:H,multiple:t,defaultDate:J=!1,initialDate:K,removeLabel:Q=!1,size:D="md",showWeekNumbers:U=!1,required:W=!1,dayClassName:X,monthsShown:Y=1,selectsRange:Z=!1,border:M=!0,inline:ee=!1,startDate:ae,endDate:se,onCalendarOpen:le,onCalendarClose:ne,icon:c=!0,onMonthChange:re,onYearChange:te,highlightDates:ce=[],popperContainer:ie,isLoading:oe=!1}){const i=_e.useInconelAdapters(),de=pe.useRef(a.normalizeDate(l)),fe=a.normalizeDate(l),_=typeof c=="string"?c:i.assets?.calendar,ue=p==="in"&&s?String(s):S??String(i.translate?.("date","Tarih seçin")??"Tarih seçin");return e.jsxs("div",{className:n.classNames("inconel-date-picker",`inconel-size-${D}`,`inconel-date-picker--${D}`,f&&"inconel-is-disabled",x),children:[!Q&&!!m&&e.jsxs("label",{htmlFor:d,className:n.classNames("inconel-date-picker__label",y),children:[m,t&&e.jsx("span",{className:"inconel-date-picker__multiple",title:String(t),children:t}),W&&!l&&e.jsx("span",{className:"inconel-field__required",children:" *"}),oe&&e.jsx(ke.DotLoader,{})]}),e.jsxs("div",{className:n.classNames("inconel-date-picker__control",M&&"inconel-date-picker__control--bordered"),children:[e.jsx(qe,{id:d,name:u,disabled:f,className:n.classNames("inconel-date-picker__input",!!s&&"inconel-is-invalid",z),selected:fe,onChange:o=>{const me=Array.isArray(o)?o:a.resolveClearedDate(o,{isClearable:r,notNull:I,defaultDate:J,initialDate:K,fallbackDate:de.current});h?.(u,me)},locale:(i.locale??"tr-TR").split("-")[0],placeholderText:ue,dateFormat:v,onBlur:q,onFocus:N,onCalendarClose:()=>{j?.(),ne?.()},onCalendarOpen:le,minDate:a.normalizeDate(P),maxDate:a.normalizeDate(R),showTimeSelect:T,showTimeSelectOnly:b,timeIntervals:g,showMonthYearPicker:L,showFullMonthYearPicker:B,showYearPicker:A,autoComplete:C,minTime:$,maxTime:w,readOnly:F,portalId:O,isClearable:r,peekNextMonth:V,showMonthDropdown:E,showYearDropdown:G,dropdownMode:H,showWeekNumbers:U,dayClassName:X,monthsShown:Y,selectsRange:Z,inline:ee,startDate:a.normalizeDate(ae),endDate:a.normalizeDate(se),onMonthChange:re,onYearChange:te,highlightDates:ce,popperContainer:ie}),c&&!(r&&l)&&_&&e.jsx(he.default,{src:_,className:"inconel-date-picker__icon","aria-hidden":"true"})]}),p!=="in"&&s&&e.jsx("span",{className:"inconel-date-picker__error",role:"alert",children:s})]})}exports.DatePicker=Ne;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),pe=require("react"),k=require("react-datepicker"),De=require("date-fns/locale");;/* empty css */const n=require("../shared/classNames.cjs");;/* empty css */;/* empty css */const a=require("./utils.cjs"),_e=require("../../adapters/context.cjs"),ke=require("../DotLoader/DotLoader.cjs"),he=require("../Svg/Svg.cjs");k.registerLocale("tr",De.tr);const qe=k;function Ne({id:d="",value:l=null,onChange:h,onBlur:q,onFocus:N,onClose:j,disabled:f=!1,className:x,labelClassName:y,inputClassName:z,placeholder:S,name:u="",label:m,timeIntervals:g=1,errorMessage:s,errorPlace:p,dateFormat:v="dd.MM.yyyy",minDate:P,maxDate:R=new Date("9999-12-31"),showTimeSelect:T=!1,showTimeSelectOnly:b=!1,showYearPicker:A=!1,showMonthYearPicker:L=!1,showFullMonthYearPicker:B=!1,autoComplete:C="off",notNull:I=!0,minTime:$,maxTime:w,readOnly:F=!1,portalId:O="inconel-date-picker-portal",isClearable:r=!1,peekNextMonth:V=!1,showMonthDropdown:E=!1,showYearDropdown:G=!1,dropdownMode:H,multiple:t,defaultDate:J=!1,initialDate:K,removeLabel:Q=!1,size:D="md",showWeekNumbers:U=!1,required:W=!1,dayClassName:X,monthsShown:Y=1,selectsRange:Z=!1,border:M=!0,inline:ee=!1,startDate:ae,endDate:se,onCalendarOpen:le,onCalendarClose:ne,icon:c=!0,onMonthChange:re,onYearChange:te,highlightDates:ce=[],popperContainer:ie,isLoading:oe=!1}){const i=_e.useInconelAdapters(),de=pe.useRef(a.normalizeDate(l)),fe=a.normalizeDate(l),_=typeof c=="string"?c:i.assets?.calendar,ue=p==="in"&&s?String(s):S??String(i.translate?.("date","Tarih seçin")??"Tarih seçin");return e.jsxs("div",{className:n.classNames("inconel-date-picker",`inconel-size-${D}`,`inconel-date-picker--${D}`,f&&"inconel-is-disabled",x),children:[!Q&&!!m&&e.jsxs("label",{htmlFor:d,className:n.classNames("inconel-date-picker__label",y),children:[m,t&&e.jsx("span",{className:"inconel-date-picker__multiple",title:String(t),children:t}),W&&!l&&e.jsx("span",{className:"inconel-field__required",children:" *"}),oe&&e.jsx(ke.DotLoader,{})]}),e.jsxs("div",{className:n.classNames("inconel-date-picker__control",M&&"inconel-date-picker__control--bordered"),children:[e.jsx(qe,{id:d,name:u,disabled:f,className:n.classNames("inconel-date-picker__input",!!s&&"inconel-is-invalid",z),selected:fe,onChange:o=>{const me=Array.isArray(o)?o:a.resolveClearedDate(o,{isClearable:r,notNull:I,defaultDate:J,initialDate:K,fallbackDate:de.current});h?.(u,me)},locale:(i.locale??"tr-TR").split("-")[0],placeholderText:ue,dateFormat:v,onBlur:q,onFocus:N,onCalendarClose:()=>{j?.(),ne?.()},onCalendarOpen:le,minDate:a.normalizeDate(P),maxDate:a.normalizeDate(R),showTimeSelect:T,showTimeSelectOnly:b,timeIntervals:g,showMonthYearPicker:L,showFullMonthYearPicker:B,showYearPicker:A,autoComplete:C,minTime:$,maxTime:w,readOnly:F,portalId:O,isClearable:r,peekNextMonth:V,showMonthDropdown:E,showYearDropdown:G,dropdownMode:H,showWeekNumbers:U,dayClassName:X,monthsShown:Y,selectsRange:Z,inline:ee,startDate:a.normalizeDate(ae),endDate:a.normalizeDate(se),onMonthChange:re,onYearChange:te,highlightDates:ce,popperContainer:ie}),c&&!(r&&l)&&_&&e.jsx(he.default,{src:_,className:"inconel-date-picker__icon","aria-hidden":"true"})]}),p!=="in"&&s&&e.jsx("span",{className:"inconel-date-picker__error",role:"alert",children:s})]})}exports.DatePicker=Ne;
2
2
  //# sourceMappingURL=DatePicker.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"DatePicker.cjs","sources":["../../../../src/components/DatePicker/DatePicker.tsx"],"sourcesContent":["import {\n useRef,\n type ComponentType,\n type FocusEventHandler,\n type ReactNode,\n} from 'react'\nimport ReactDatePicker, { registerLocale } from 'react-datepicker'\nimport { tr } from 'date-fns/locale'\nimport 'react-datepicker/dist/react-datepicker.css'\n\nimport { useInconelAdapters } from '../../adapters'\nimport { classNames } from '../shared/classNames'\nimport '../shared/sizes.css'\nimport type { ControlSize } from '../shared/types'\nimport { DotLoader } from '../DotLoader'\nimport { Svg } from '../Svg'\nimport './styles.css'\nimport { normalizeDate, resolveClearedDate } from './utils'\n\nregisterLocale('tr', tr)\n\ntype DateInput = Date | string | number | null\ntype PickerChange = Date | null | [Date | null, Date | null]\nconst Picker = ReactDatePicker as unknown as ComponentType<\n Record<string, unknown>\n>\n\nexport interface DatePickerProps {\n id?: string\n value?: DateInput\n onChange?: (name: string, value: PickerChange) => void\n onBlur?: FocusEventHandler<HTMLInputElement>\n onFocus?: FocusEventHandler<HTMLInputElement>\n onClose?: () => void\n disabled?: boolean\n className?: string\n labelClassName?: string\n inputClassName?: string\n placeholder?: string\n name?: string\n label?: ReactNode\n timeIntervals?: number\n errorMessage?: ReactNode\n errorPlace?: 'in' | 'out' | string\n dateFormat?: string\n minDate?: DateInput\n maxDate?: DateInput\n showTimeSelect?: boolean\n showTimeSelectOnly?: boolean\n showYearPicker?: boolean\n showMonthYearPicker?: boolean\n showFullMonthYearPicker?: boolean\n autoComplete?: string\n notNull?: boolean\n minTime?: Date | null\n maxTime?: Date | null\n readOnly?: boolean\n portalId?: string | null\n isClearable?: boolean\n peekNextMonth?: boolean\n showMonthDropdown?: boolean\n showYearDropdown?: boolean\n dropdownMode?: 'scroll' | 'select' | null\n multiple?: ReactNode\n defaultDate?: boolean\n initialDate?: Date | null\n removeLabel?: boolean\n size?: ControlSize\n showWeekNumbers?: boolean\n required?: boolean\n dayClassName?: (date: Date) => string\n monthsShown?: number\n selectsRange?: boolean\n border?: boolean\n inline?: boolean\n startDate?: DateInput\n endDate?: DateInput\n onCalendarOpen?: () => void\n onCalendarClose?: () => void\n icon?: boolean | string\n onMonthChange?: (date: Date) => void\n onYearChange?: (date: Date) => void\n highlightDates?: Array<Date | Record<string, Date[]>>\n popperContainer?: ComponentType<{ children?: ReactNode }> | null\n isLoading?: boolean\n}\n\nexport function DatePicker({\n id = '',\n value = null,\n onChange,\n onBlur,\n onFocus,\n onClose,\n disabled = false,\n className,\n labelClassName,\n inputClassName,\n placeholder,\n name = '',\n label,\n timeIntervals = 1,\n errorMessage,\n errorPlace,\n dateFormat = 'dd.MM.yyyy',\n minDate,\n maxDate = new Date('9999-12-31'),\n showTimeSelect = false,\n showTimeSelectOnly = false,\n showYearPicker = false,\n showMonthYearPicker = false,\n showFullMonthYearPicker = false,\n autoComplete = 'off',\n notNull = true,\n minTime,\n maxTime,\n readOnly = false,\n portalId,\n isClearable = false,\n peekNextMonth = false,\n showMonthDropdown = false,\n showYearDropdown = false,\n dropdownMode,\n multiple,\n defaultDate = false,\n initialDate,\n removeLabel = false,\n size = 'md',\n showWeekNumbers = false,\n required = false,\n dayClassName,\n monthsShown = 1,\n selectsRange = false,\n border = true,\n inline = false,\n startDate,\n endDate,\n onCalendarOpen,\n onCalendarClose,\n icon = true,\n onMonthChange,\n onYearChange,\n highlightDates = [],\n popperContainer,\n isLoading = false,\n}: DatePickerProps) {\n const adapters = useInconelAdapters()\n const initialValue = useRef(normalizeDate(value))\n const selected = normalizeDate(value)\n const calendarIcon =\n typeof icon === 'string' ? icon : adapters.assets?.calendar\n const resolvedPlaceholder =\n errorPlace === 'in' && errorMessage\n ? String(errorMessage)\n : placeholder ??\n String(adapters.translate?.('date', 'Tarih seçin') ?? 'Tarih seçin')\n\n return (\n <div\n className={classNames(\n 'inconel-date-picker',\n `inconel-size-${size}`,\n `inconel-date-picker--${size}`,\n disabled && 'inconel-is-disabled',\n className,\n )}\n >\n {!removeLabel && Boolean(label) && (\n <label\n htmlFor={id}\n className={classNames(\n 'inconel-date-picker__label',\n labelClassName,\n )}\n >\n {label}\n {multiple && (\n <span className=\"inconel-date-picker__multiple\" title={String(multiple)}>\n {multiple}\n </span>\n )}\n {required && !value && (\n <span className=\"inconel-field__required\"> *</span>\n )}\n {isLoading && <DotLoader />}\n </label>\n )}\n <div\n className={classNames(\n 'inconel-date-picker__control',\n border && 'inconel-date-picker__control--bordered',\n )}\n >\n <Picker\n id={id}\n name={name}\n disabled={disabled}\n className={classNames(\n 'inconel-date-picker__input',\n Boolean(errorMessage) && 'inconel-is-invalid',\n inputClassName,\n )}\n selected={selected}\n onChange={(next: PickerChange) => {\n const resolved = Array.isArray(next)\n ? next\n : resolveClearedDate(next, {\n isClearable,\n notNull,\n defaultDate,\n initialDate,\n fallbackDate: initialValue.current,\n })\n onChange?.(name, resolved)\n }}\n locale={(adapters.locale ?? 'tr-TR').split('-')[0]}\n placeholderText={resolvedPlaceholder}\n dateFormat={dateFormat}\n onBlur={onBlur}\n onFocus={onFocus}\n onCalendarClose={() => {\n onClose?.()\n onCalendarClose?.()\n }}\n onCalendarOpen={onCalendarOpen}\n minDate={normalizeDate(minDate)}\n maxDate={normalizeDate(maxDate)}\n showTimeSelect={showTimeSelect}\n showTimeSelectOnly={showTimeSelectOnly}\n timeIntervals={timeIntervals}\n showMonthYearPicker={showMonthYearPicker}\n showFullMonthYearPicker={showFullMonthYearPicker}\n showYearPicker={showYearPicker}\n autoComplete={autoComplete}\n minTime={minTime}\n maxTime={maxTime}\n readOnly={readOnly}\n portalId={portalId}\n isClearable={isClearable}\n peekNextMonth={peekNextMonth}\n showMonthDropdown={showMonthDropdown}\n showYearDropdown={showYearDropdown}\n dropdownMode={dropdownMode}\n showWeekNumbers={showWeekNumbers}\n dayClassName={dayClassName}\n monthsShown={monthsShown}\n selectsRange={selectsRange}\n inline={inline}\n startDate={normalizeDate(startDate)}\n endDate={normalizeDate(endDate)}\n onMonthChange={onMonthChange}\n onYearChange={onYearChange}\n highlightDates={highlightDates}\n popperContainer={popperContainer}\n />\n {icon && !(isClearable && value) && calendarIcon && (\n <Svg\n src={calendarIcon}\n className=\"inconel-date-picker__icon\"\n aria-hidden=\"true\"\n />\n )}\n </div>\n {errorPlace !== 'in' && errorMessage && (\n <span className=\"inconel-date-picker__error\" role=\"alert\">\n {errorMessage}\n </span>\n )}\n </div>\n )\n}\n"],"names":["registerLocale","tr","Picker","ReactDatePicker","DatePicker","id","value","onChange","onBlur","onFocus","onClose","disabled","className","labelClassName","inputClassName","placeholder","name","label","timeIntervals","errorMessage","errorPlace","dateFormat","minDate","maxDate","showTimeSelect","showTimeSelectOnly","showYearPicker","showMonthYearPicker","showFullMonthYearPicker","autoComplete","notNull","minTime","maxTime","readOnly","portalId","isClearable","peekNextMonth","showMonthDropdown","showYearDropdown","dropdownMode","multiple","defaultDate","initialDate","removeLabel","size","showWeekNumbers","required","dayClassName","monthsShown","selectsRange","border","inline","startDate","endDate","onCalendarOpen","onCalendarClose","icon","onMonthChange","onYearChange","highlightDates","popperContainer","isLoading","adapters","useInconelAdapters","initialValue","useRef","normalizeDate","selected","calendarIcon","resolvedPlaceholder","jsxs","classNames","DotLoader","jsx","next","resolved","resolveClearedDate","Svg"],"mappings":"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"}
1
+ {"version":3,"file":"DatePicker.cjs","sources":["../../../../src/components/DatePicker/DatePicker.tsx"],"sourcesContent":["import {\n useRef,\n type ComponentType,\n type FocusEventHandler,\n type ReactNode,\n} from 'react'\nimport ReactDatePicker, { registerLocale } from 'react-datepicker'\nimport { tr } from 'date-fns/locale'\nimport 'react-datepicker/dist/react-datepicker.css'\n\nimport { useInconelAdapters } from '../../adapters'\nimport { classNames } from '../shared/classNames'\nimport '../shared/sizes.css'\nimport type { ControlSize } from '../shared/types'\nimport { DotLoader } from '../DotLoader'\nimport { Svg } from '../Svg'\nimport './styles.css'\nimport { normalizeDate, resolveClearedDate } from './utils'\n\nregisterLocale('tr', tr)\n\ntype DateInput = Date | string | number | null\ntype PickerChange = Date | null | [Date | null, Date | null]\nconst Picker = ReactDatePicker as unknown as ComponentType<\n Record<string, unknown>\n>\n\nexport interface DatePickerProps {\n id?: string\n value?: DateInput\n onChange?: (name: string, value: PickerChange) => void\n onBlur?: FocusEventHandler<HTMLInputElement>\n onFocus?: FocusEventHandler<HTMLInputElement>\n onClose?: () => void\n disabled?: boolean\n className?: string\n labelClassName?: string\n inputClassName?: string\n placeholder?: string\n name?: string\n label?: ReactNode\n timeIntervals?: number\n errorMessage?: ReactNode\n errorPlace?: 'in' | 'out' | string\n dateFormat?: string\n minDate?: DateInput\n maxDate?: DateInput\n showTimeSelect?: boolean\n showTimeSelectOnly?: boolean\n showYearPicker?: boolean\n showMonthYearPicker?: boolean\n showFullMonthYearPicker?: boolean\n autoComplete?: string\n notNull?: boolean\n minTime?: Date | null\n maxTime?: Date | null\n readOnly?: boolean\n portalId?: string | null\n isClearable?: boolean\n peekNextMonth?: boolean\n showMonthDropdown?: boolean\n showYearDropdown?: boolean\n dropdownMode?: 'scroll' | 'select' | null\n multiple?: ReactNode\n defaultDate?: boolean\n initialDate?: Date | null\n removeLabel?: boolean\n size?: ControlSize\n showWeekNumbers?: boolean\n required?: boolean\n dayClassName?: (date: Date) => string\n monthsShown?: number\n selectsRange?: boolean\n border?: boolean\n inline?: boolean\n startDate?: DateInput\n endDate?: DateInput\n onCalendarOpen?: () => void\n onCalendarClose?: () => void\n icon?: boolean | string\n onMonthChange?: (date: Date) => void\n onYearChange?: (date: Date) => void\n highlightDates?: Array<Date | Record<string, Date[]>>\n popperContainer?: ComponentType<{ children?: ReactNode }> | null\n isLoading?: boolean\n}\n\nexport function DatePicker({\n id = '',\n value = null,\n onChange,\n onBlur,\n onFocus,\n onClose,\n disabled = false,\n className,\n labelClassName,\n inputClassName,\n placeholder,\n name = '',\n label,\n timeIntervals = 1,\n errorMessage,\n errorPlace,\n dateFormat = 'dd.MM.yyyy',\n minDate,\n maxDate = new Date('9999-12-31'),\n showTimeSelect = false,\n showTimeSelectOnly = false,\n showYearPicker = false,\n showMonthYearPicker = false,\n showFullMonthYearPicker = false,\n autoComplete = 'off',\n notNull = true,\n minTime,\n maxTime,\n readOnly = false,\n portalId = 'inconel-date-picker-portal',\n isClearable = false,\n peekNextMonth = false,\n showMonthDropdown = false,\n showYearDropdown = false,\n dropdownMode,\n multiple,\n defaultDate = false,\n initialDate,\n removeLabel = false,\n size = 'md',\n showWeekNumbers = false,\n required = false,\n dayClassName,\n monthsShown = 1,\n selectsRange = false,\n border = true,\n inline = false,\n startDate,\n endDate,\n onCalendarOpen,\n onCalendarClose,\n icon = true,\n onMonthChange,\n onYearChange,\n highlightDates = [],\n popperContainer,\n isLoading = false,\n}: DatePickerProps) {\n const adapters = useInconelAdapters()\n const initialValue = useRef(normalizeDate(value))\n const selected = normalizeDate(value)\n const calendarIcon =\n typeof icon === 'string' ? icon : adapters.assets?.calendar\n const resolvedPlaceholder =\n errorPlace === 'in' && errorMessage\n ? String(errorMessage)\n : placeholder ??\n String(adapters.translate?.('date', 'Tarih seçin') ?? 'Tarih seçin')\n\n return (\n <div\n className={classNames(\n 'inconel-date-picker',\n `inconel-size-${size}`,\n `inconel-date-picker--${size}`,\n disabled && 'inconel-is-disabled',\n className,\n )}\n >\n {!removeLabel && Boolean(label) && (\n <label\n htmlFor={id}\n className={classNames(\n 'inconel-date-picker__label',\n labelClassName,\n )}\n >\n {label}\n {multiple && (\n <span className=\"inconel-date-picker__multiple\" title={String(multiple)}>\n {multiple}\n </span>\n )}\n {required && !value && (\n <span className=\"inconel-field__required\"> *</span>\n )}\n {isLoading && <DotLoader />}\n </label>\n )}\n <div\n className={classNames(\n 'inconel-date-picker__control',\n border && 'inconel-date-picker__control--bordered',\n )}\n >\n <Picker\n id={id}\n name={name}\n disabled={disabled}\n className={classNames(\n 'inconel-date-picker__input',\n Boolean(errorMessage) && 'inconel-is-invalid',\n inputClassName,\n )}\n selected={selected}\n onChange={(next: PickerChange) => {\n const resolved = Array.isArray(next)\n ? next\n : resolveClearedDate(next, {\n isClearable,\n notNull,\n defaultDate,\n initialDate,\n fallbackDate: initialValue.current,\n })\n onChange?.(name, resolved)\n }}\n locale={(adapters.locale ?? 'tr-TR').split('-')[0]}\n placeholderText={resolvedPlaceholder}\n dateFormat={dateFormat}\n onBlur={onBlur}\n onFocus={onFocus}\n onCalendarClose={() => {\n onClose?.()\n onCalendarClose?.()\n }}\n onCalendarOpen={onCalendarOpen}\n minDate={normalizeDate(minDate)}\n maxDate={normalizeDate(maxDate)}\n showTimeSelect={showTimeSelect}\n showTimeSelectOnly={showTimeSelectOnly}\n timeIntervals={timeIntervals}\n showMonthYearPicker={showMonthYearPicker}\n showFullMonthYearPicker={showFullMonthYearPicker}\n showYearPicker={showYearPicker}\n autoComplete={autoComplete}\n minTime={minTime}\n maxTime={maxTime}\n readOnly={readOnly}\n portalId={portalId}\n isClearable={isClearable}\n peekNextMonth={peekNextMonth}\n showMonthDropdown={showMonthDropdown}\n showYearDropdown={showYearDropdown}\n dropdownMode={dropdownMode}\n showWeekNumbers={showWeekNumbers}\n dayClassName={dayClassName}\n monthsShown={monthsShown}\n selectsRange={selectsRange}\n inline={inline}\n startDate={normalizeDate(startDate)}\n endDate={normalizeDate(endDate)}\n onMonthChange={onMonthChange}\n onYearChange={onYearChange}\n highlightDates={highlightDates}\n popperContainer={popperContainer}\n />\n {icon && !(isClearable && value) && calendarIcon && (\n <Svg\n src={calendarIcon}\n className=\"inconel-date-picker__icon\"\n aria-hidden=\"true\"\n />\n )}\n </div>\n {errorPlace !== 'in' && errorMessage && (\n <span className=\"inconel-date-picker__error\" role=\"alert\">\n {errorMessage}\n </span>\n )}\n </div>\n )\n}\n"],"names":["registerLocale","tr","Picker","ReactDatePicker","DatePicker","id","value","onChange","onBlur","onFocus","onClose","disabled","className","labelClassName","inputClassName","placeholder","name","label","timeIntervals","errorMessage","errorPlace","dateFormat","minDate","maxDate","showTimeSelect","showTimeSelectOnly","showYearPicker","showMonthYearPicker","showFullMonthYearPicker","autoComplete","notNull","minTime","maxTime","readOnly","portalId","isClearable","peekNextMonth","showMonthDropdown","showYearDropdown","dropdownMode","multiple","defaultDate","initialDate","removeLabel","size","showWeekNumbers","required","dayClassName","monthsShown","selectsRange","border","inline","startDate","endDate","onCalendarOpen","onCalendarClose","icon","onMonthChange","onYearChange","highlightDates","popperContainer","isLoading","adapters","useInconelAdapters","initialValue","useRef","normalizeDate","selected","calendarIcon","resolvedPlaceholder","jsxs","classNames","DotLoader","jsx","next","resolved","resolveClearedDate","Svg"],"mappings":"2gBAmBAA,EAAAA,eAAe,KAAMC,GAAAA,EAAE,EAIvB,MAAMC,GAASC,EAgER,SAASC,GAAW,CACzB,GAAAC,EAAK,GACL,MAAAC,EAAQ,KACR,SAAAC,EACA,OAAAC,EACA,QAAAC,EACA,QAAAC,EACA,SAAAC,EAAW,GACX,UAAAC,EACA,eAAAC,EACA,eAAAC,EACA,YAAAC,EACA,KAAAC,EAAO,GACP,MAAAC,EACA,cAAAC,EAAgB,EAChB,aAAAC,EACA,WAAAC,EACA,WAAAC,EAAa,aACb,QAAAC,EACA,QAAAC,EAAU,IAAI,KAAK,YAAY,EAC/B,eAAAC,EAAiB,GACjB,mBAAAC,EAAqB,GACrB,eAAAC,EAAiB,GACjB,oBAAAC,EAAsB,GACtB,wBAAAC,EAA0B,GAC1B,aAAAC,EAAe,MACf,QAAAC,EAAU,GACV,QAAAC,EACA,QAAAC,EACA,SAAAC,EAAW,GACX,SAAAC,EAAW,6BACX,YAAAC,EAAc,GACd,cAAAC,EAAgB,GAChB,kBAAAC,EAAoB,GACpB,iBAAAC,EAAmB,GACnB,aAAAC,EACA,SAAAC,EACA,YAAAC,EAAc,GACd,YAAAC,EACA,YAAAC,EAAc,GACd,KAAAC,EAAO,KACP,gBAAAC,EAAkB,GAClB,SAAAC,EAAW,GACX,aAAAC,EACA,YAAAC,EAAc,EACd,aAAAC,EAAe,GACf,OAAAC,EAAS,GACT,OAAAC,GAAS,GACT,UAAAC,GACA,QAAAC,GACA,eAAAC,GACA,gBAAAC,GACA,KAAAC,EAAO,GACP,cAAAC,GACA,aAAAC,GACA,eAAAC,GAAiB,CAAA,EACjB,gBAAAC,GACA,UAAAC,GAAY,EACd,EAAoB,CAClB,MAAMC,EAAWC,GAAAA,mBAAA,EACXC,GAAeC,GAAAA,OAAOC,EAAAA,cAAc5D,CAAK,CAAC,EAC1C6D,GAAWD,EAAAA,cAAc5D,CAAK,EAC9B8D,EACJ,OAAOZ,GAAS,SAAWA,EAAOM,EAAS,QAAQ,SAC/CO,GACJjD,IAAe,MAAQD,EACnB,OAAOA,CAAY,EACnBJ,GACA,OAAO+C,EAAS,YAAY,OAAQ,aAAa,GAAK,aAAa,EAEzE,OACEQ,EAAAA,KAAC,MAAA,CACC,UAAWC,EAAAA,WACT,sBACA,gBAAgB3B,CAAI,GACpB,wBAAwBA,CAAI,GAC5BjC,GAAY,sBACZC,CAAA,EAGD,SAAA,CAAA,CAAC+B,GAAe,EAAQ1B,GACvBqD,EAAAA,KAAC,QAAA,CACC,QAASjE,EACT,UAAWkE,EAAAA,WACT,6BACA1D,CAAA,EAGD,SAAA,CAAAI,EACAuB,SACE,OAAA,CAAK,UAAU,gCAAgC,MAAO,OAAOA,CAAQ,EACnE,SAAAA,CAAA,CACH,EAEDM,GAAY,CAACxC,SACX,OAAA,CAAK,UAAU,0BAA0B,SAAA,KAAE,EAE7CuD,UAAcW,GAAAA,UAAA,CAAA,CAAU,CAAA,CAAA,CAAA,EAG7BF,EAAAA,KAAC,MAAA,CACC,UAAWC,EAAAA,WACT,+BACArB,GAAU,wCAAA,EAGZ,SAAA,CAAAuB,EAAAA,IAACvE,GAAA,CACC,GAAAG,EACA,KAAAW,EACA,SAAAL,EACA,UAAW4D,EAAAA,WACT,6BACA,EAAQpD,GAAiB,qBACzBL,CAAA,EAEF,SAAAqD,GACA,SAAWO,GAAuB,CAChC,MAAMC,GAAW,MAAM,QAAQD,CAAI,EAC/BA,EACAE,EAAAA,mBAAmBF,EAAM,CACvB,YAAAvC,EACA,QAAAL,EACA,YAAAW,EACA,YAAAC,EACA,aAAcsB,GAAa,OAAA,CAC5B,EACLzD,IAAWS,EAAM2D,EAAQ,CAC3B,EACA,QAASb,EAAS,QAAU,SAAS,MAAM,GAAG,EAAE,CAAC,EACjD,gBAAiBO,GACjB,WAAAhD,EACA,OAAAb,EACA,QAAAC,EACA,gBAAiB,IAAM,CACrBC,IAAA,EACA6C,KAAA,CACF,EACA,eAAAD,GACA,QAASY,EAAAA,cAAc5C,CAAO,EAC9B,QAAS4C,EAAAA,cAAc3C,CAAO,EAC9B,eAAAC,EACA,mBAAAC,EACA,cAAAP,EACA,oBAAAS,EACA,wBAAAC,EACA,eAAAF,EACA,aAAAG,EACA,QAAAE,EACA,QAAAC,EACA,SAAAC,EACA,SAAAC,EACA,YAAAC,EACA,cAAAC,EACA,kBAAAC,EACA,iBAAAC,EACA,aAAAC,EACA,gBAAAM,EACA,aAAAE,EACA,YAAAC,EACA,aAAAC,EACA,OAAAE,GACA,UAAWe,EAAAA,cAAcd,EAAS,EAClC,QAASc,EAAAA,cAAcb,EAAO,EAC9B,cAAAI,GACA,aAAAC,GACA,eAAAC,GACA,gBAAAC,EAAA,CAAA,EAEDJ,GAAQ,EAAErB,GAAe7B,IAAU8D,GAClCK,EAAAA,IAACI,GAAAA,QAAA,CACC,IAAKT,EACL,UAAU,4BACV,cAAY,MAAA,CAAA,CACd,CAAA,CAAA,EAGHhD,IAAe,MAAQD,GACtBsD,EAAAA,IAAC,QAAK,UAAU,6BAA6B,KAAK,QAC/C,SAAAtD,CAAA,CACH,CAAA,CAAA,CAAA,CAIR"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react/jsx-runtime"),t=require("react"),_e=require("react-dom"),a=require("../shared/classNames.cjs");;/* empty css */const ge=require("../DotLoader/DotLoader.cjs"),X=[];function E(k,_,g){return k.some(C=>C?.[g]===_?.[g])}function Ne({id:k=null,label:_=null,className:g=null,labelClassName:C=null,inputClassName:Z=null,optionsClassName:V=null,optionItemClassName:D=null,searchableInputClassName:ee=null,options:N=X,defaultSelectedOptions:S=X,optionLabel:b="label",optionValue:c="value",onChange:T,placeholder:$="Seçiniz",selectedInputMessage:z,itemSelectedText:A="öğe seçili",selectAllText:te="Tümünü Seç",searchPlaceholder:ne="Ara",noDataMessage:le="Veri bulunamadı",errorMessage:j="",errorPlace:F="out",isSearchable:se=!1,isLoading:ce=!1,isDisabled:f=!1,reactPortal:i=!1,windowPosition:M=!1,windowHeight:B=800,windowClose:I,isScrollEnd:K,getOptionTooltip:ie=p=>typeof p?.tooltip=="string"?p.tooltip:void 0,limit:oe=null,selectionLimit:re=null}){const p=t.useRef(null),R=t.useRef(null),H=t.useRef(null),[o,P]=t.useState(!1),[l,W]=t.useState(S),[Y,ue]=t.useState(null),[L,G]=t.useState(""),[ae,de]=t.useState(null),[me,J]=t.useState(!1),r=Number(oe??re),d=Number.isFinite(r)&&r>0,y=t.useCallback(()=>{if(!i||!R.current)return;const e=R.current.getBoundingClientRect();de({position:"fixed",left:e.left,top:e.bottom,width:e.width,zIndex:9999}),J(!0)},[i]);t.useEffect(()=>{const e=d?S.slice(0,r):S;W(e)},[S,d,r]),t.useEffect(()=>{o||(I?.(!0),G(""))},[o,I]),t.useEffect(()=>{if(!o)return;const e=p.current,s=H.current,u=h=>{const v=h.target,w=e?.contains(v),ke=s?.contains(v);!w&&!ke&&P(!1)};return document.addEventListener("pointerdown",u,!0),()=>document.removeEventListener("pointerdown",u,!0)},[o]),t.useLayoutEffect(()=>{if(!o){J(!1);return}i&&y()},[o,i,y]),t.useEffect(()=>{if(!o||!i)return;const e=()=>y();return window.addEventListener("resize",e),window.addEventListener("scroll",e,!0),()=>{window.removeEventListener("resize",e),window.removeEventListener("scroll",e,!0)}},[o,i,y]),t.useEffect(()=>{M&&ue(Number(B)<800?"top":"bottom")},[B,M]);const x=t.useCallback(e=>{W(e),T?.(e)},[T]),he=t.useCallback(e=>{const s=e.currentTarget;s.scrollHeight-s.scrollTop<=s.clientHeight+1&&K?.(!0)},[K]),fe=t.useCallback(e=>{if(E(l,e,c)){x(l.filter(s=>s?.[c]!==e?.[c]));return}d&&l.length>=r||x([...l,e])},[d,r,c,l,x]),m=t.useMemo(()=>{const e=L.trim().toLocaleLowerCase();return e?N.filter(s=>String(s?.[b]??"").toLocaleLowerCase().includes(e)):N},[N,b,L]),xe=t.useMemo(()=>l.length===0?"":l.length===1?String(l[0]?.[b]??""):`${l.length} ${z||A}`,[A,b,z,l]),be=F==="in"&&j||$,Q=t.useCallback(()=>{f||P(e=>!e)},[f]),pe=e=>{(e.key==="Enter"||e.key===" ")&&(e.preventDefault(),Q())},O=t.useMemo(()=>m.length>0&&m.every(e=>E(l,e,c)),[m,c,l]),ve=t.useCallback(()=>{if(O){x(l.filter(u=>!m.some(h=>u?.[c]===h?.[c])));return}const e=m.filter(u=>!E(l,u,c)),s=d?e.slice(0,Math.max(r-l.length,0)):e;x([...l,...s])},[O,m,d,r,c,l,x]),q=k||"inconel-multi-select-checkbox",U=n.jsx("div",{ref:i?H:void 0,className:a.classNames("inconel-multi-select-checkbox__panel-wrap",i&&"inconel-multi-select-checkbox__panel-wrap--portal",Y==="top"&&"inconel-is-open-top"),style:i?{...ae??{},visibility:me?"visible":"hidden"}:void 0,onPointerDown:e=>e.stopPropagation(),children:n.jsxs("div",{className:a.classNames("inconel-multi-select-checkbox__options",i&&"inconel-multi-select-checkbox__options--portal",V),onScroll:he,children:[se&&n.jsx("div",{className:"inconel-multi-select-checkbox__search",children:n.jsx("input",{type:"text",placeholder:ne,className:a.classNames("inconel-multi-select-checkbox__search-input",ee),value:L,onChange:e=>G(e.target.value),disabled:f})}),n.jsxs("div",{className:a.classNames("inconel-multi-select-checkbox__option-item",D),children:[n.jsx("input",{id:`${q}-select-all`,type:"checkbox",checked:O,onChange:ve,disabled:f}),n.jsx("label",{htmlFor:`${q}-select-all`,children:te})]}),m.map((e,s)=>{const u=e?.[c]??s,h=E(l,e,c),v=f||!h&&d&&l.length>=r,w=`${q}-${String(u)}`;return n.jsxs("div",{className:a.classNames("inconel-multi-select-checkbox__option-item",h&&"inconel-is-selected",v&&"inconel-is-disabled",D),title:ie(e),children:[n.jsx("input",{id:w,type:"checkbox",checked:h,onChange:()=>fe(e),disabled:v}),n.jsx("label",{htmlFor:w,children:String(e?.[b]??"")})]},String(u))})]})});return n.jsxs("div",{ref:p,id:k??void 0,className:a.classNames("inconel-multi-select-checkbox",j&&"inconel-is-error",f&&"inconel-is-disabled",Y==="top"&&!i&&"inconel-is-open-top",g),children:[_&&n.jsx("span",{className:a.classNames("inconel-multi-select-checkbox__label",C),children:_}),n.jsxs("div",{className:"inconel-multi-select-checkbox__input-wrap",children:[ce&&n.jsx("div",{className:"inconel-multi-select-checkbox__loader-cover",children:n.jsx(ge.DotLoader,{})}),n.jsxs("div",{ref:R,role:"button",tabIndex:0,className:"inconel-multi-select-checkbox__input-container",onClick:Q,onKeyDown:pe,children:[n.jsx("input",{type:"text",className:a.classNames("inconel-multi-select-checkbox__input",Z),placeholder:be,readOnly:!0,value:xe}),n.jsx("span",{className:"inconel-multi-select-checkbox__indicator","aria-hidden":"true"})]})]}),o&&(N.length>0?i?_e.createPortal(U,document.body):U:n.jsx("div",{className:"inconel-multi-select-checkbox__nodata",children:n.jsx("span",{children:le})})),F!=="in"&&j&&n.jsx("span",{className:"inconel-multi-select-checkbox__error",children:j})]})}exports.MultiSelectCheckBox=Ne;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react/jsx-runtime"),t=require("react"),_e=require("react-dom"),d=require("../shared/classNames.cjs");;/* empty css */const Ne=require("../DotLoader/DotLoader.cjs"),ee=[];function L(k,g,_){return k.some(O=>O?.[_]===g?.[_])}function Se({id:k=null,label:g=null,className:_=null,labelClassName:O=null,inputClassName:te=null,optionsClassName:ne=null,optionItemClassName:A=null,searchableInputClassName:ce=null,options:N=ee,defaultSelectedOptions:S=ee,optionLabel:b="label",optionValue:s="value",onChange:B,placeholder:z="Seçiniz",selectedInputMessage:F,itemSelectedText:M="öğe seçili",selectAllText:le="Tümünü Seç",searchPlaceholder:se="Ara",noDataMessage:ie="Veri bulunamadı",errorMessage:j="",errorPlace:H="out",isSearchable:D=!1,isLoading:oe=!1,isDisabled:x=!1,reactPortal:i=!1,windowPosition:I=!1,windowHeight:K=800,windowClose:P,isScrollEnd:W,getOptionTooltip:re=v=>typeof v?.tooltip=="string"?v.tooltip:void 0,limit:ue=null,selectionLimit:ae=null}){const v=t.useRef(null),y=t.useRef(null),Y=t.useRef(null),[r,G]=t.useState(!1),[c,J]=t.useState(S),[w,Q]=t.useState(null),[q,U]=t.useState(""),[de,me]=t.useState(null),[he,X]=t.useState(!1),u=Number(ue??ae),m=Number.isFinite(u)&&u>0,C=t.useCallback(()=>{if(I){Q(Number(K)<800?"top":"bottom");return}const e=y.current;if(!e)return;const l=e.getBoundingClientRect(),o=window.innerHeight-l.bottom,a=l.top,f=240+(D?46:0)+40;Q(o<f&&a>o?"top":"bottom")},[D,K,I]),E=t.useCallback(()=>{if(!i||!y.current)return;const e=y.current.getBoundingClientRect();me({position:"fixed",left:e.left,top:w==="top"?e.top:e.bottom,width:e.width,zIndex:9999}),X(!0)},[i,w]);t.useEffect(()=>{const e=m?S.slice(0,u):S;J(e)},[S,m,u]),t.useEffect(()=>{r||(P?.(!0),U(""))},[r,P]),t.useEffect(()=>{if(!r)return;const e=v.current,l=Y.current,o=a=>{const f=a.target,R=e?.contains(f),ge=l?.contains(f);!R&&!ge&&G(!1)};return document.addEventListener("pointerdown",o,!0),()=>document.removeEventListener("pointerdown",o,!0)},[r]),t.useLayoutEffect(()=>{if(!r){X(!1);return}C()},[r,C]),t.useLayoutEffect(()=>{!r||!i||E()},[r,i,E]),t.useEffect(()=>{if(!r)return;const e=()=>{C(),i&&E()};return window.addEventListener("resize",e),window.addEventListener("scroll",e,!0),()=>{window.removeEventListener("resize",e),window.removeEventListener("scroll",e,!0)}},[r,i,C,E]);const p=t.useCallback(e=>{J(e),B?.(e)},[B]),fe=t.useCallback(e=>{const l=e.currentTarget;l.scrollHeight-l.scrollTop<=l.clientHeight+1&&W?.(!0)},[W]),xe=t.useCallback(e=>{if(L(c,e,s)){p(c.filter(l=>l?.[s]!==e?.[s]));return}m&&c.length>=u||p([...c,e])},[m,u,s,c,p]),h=t.useMemo(()=>{const e=q.trim().toLocaleLowerCase();return e?N.filter(l=>String(l?.[b]??"").toLocaleLowerCase().includes(e)):N},[N,b,q]),pe=t.useMemo(()=>c.length===0?"":c.length===1?String(c[0]?.[b]??""):`${c.length} ${F||M}`,[M,b,F,c]),be=H==="in"&&j||z,Z=t.useCallback(()=>{x||G(e=>!e)},[x]),ve=e=>{(e.key==="Enter"||e.key===" ")&&(e.preventDefault(),Z())},T=t.useMemo(()=>h.length>0&&h.every(e=>L(c,e,s)),[h,s,c]),ke=t.useCallback(()=>{if(T){p(c.filter(o=>!h.some(a=>o?.[s]===a?.[s])));return}const e=h.filter(o=>!L(c,o,s)),l=m?e.slice(0,Math.max(u-c.length,0)):e;p([...c,...l])},[T,h,m,u,s,c,p]),$=k||"inconel-multi-select-checkbox",V=n.jsx("div",{ref:i?Y:void 0,className:d.classNames("inconel-multi-select-checkbox__panel-wrap",i&&"inconel-multi-select-checkbox__panel-wrap--portal",w==="top"&&"inconel-is-open-top"),style:i?{...de??{},visibility:he?"visible":"hidden"}:void 0,onPointerDown:e=>e.stopPropagation(),children:n.jsxs("div",{className:d.classNames("inconel-multi-select-checkbox__options",i&&"inconel-multi-select-checkbox__options--portal",ne),onScroll:fe,children:[D&&n.jsx("div",{className:"inconel-multi-select-checkbox__search",children:n.jsx("input",{type:"text",placeholder:se,className:d.classNames("inconel-multi-select-checkbox__search-input",ce),value:q,onChange:e=>U(e.target.value),disabled:x})}),n.jsxs("div",{className:d.classNames("inconel-multi-select-checkbox__option-item",A),children:[n.jsx("input",{id:`${$}-select-all`,type:"checkbox",checked:T,onChange:ke,disabled:x}),n.jsx("label",{htmlFor:`${$}-select-all`,children:le})]}),h.map((e,l)=>{const o=e?.[s]??l,a=L(c,e,s),f=x||!a&&m&&c.length>=u,R=`${$}-${String(o)}`;return n.jsxs("div",{className:d.classNames("inconel-multi-select-checkbox__option-item",a&&"inconel-is-selected",f&&"inconel-is-disabled",A),title:re(e),children:[n.jsx("input",{id:R,type:"checkbox",checked:a,onChange:()=>xe(e),disabled:f}),n.jsx("label",{htmlFor:R,children:String(e?.[b]??"")})]},String(o))})]})});return n.jsxs("div",{ref:v,id:k??void 0,className:d.classNames("inconel-multi-select-checkbox",j&&"inconel-is-error",x&&"inconel-is-disabled",w==="top"&&!i&&"inconel-is-open-top",_),children:[g&&n.jsx("span",{className:d.classNames("inconel-multi-select-checkbox__label",O),children:g}),n.jsxs("div",{className:"inconel-multi-select-checkbox__input-wrap",children:[oe&&n.jsx("div",{className:"inconel-multi-select-checkbox__loader-cover",children:n.jsx(Ne.DotLoader,{})}),n.jsxs("div",{ref:y,role:"button",tabIndex:0,className:"inconel-multi-select-checkbox__input-container",onClick:Z,onKeyDown:ve,children:[n.jsx("input",{type:"text",className:d.classNames("inconel-multi-select-checkbox__input",te),placeholder:be,readOnly:!0,value:pe}),n.jsx("span",{className:"inconel-multi-select-checkbox__indicator","aria-hidden":"true"})]})]}),r&&(N.length>0?i?_e.createPortal(V,document.body):V:n.jsx("div",{className:"inconel-multi-select-checkbox__nodata",children:n.jsx("span",{children:ie})})),H!=="in"&&j&&n.jsx("span",{className:"inconel-multi-select-checkbox__error",children:j})]})}exports.MultiSelectCheckBox=Se;
2
2
  //# sourceMappingURL=MultiSelectCheckBox.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"MultiSelectCheckBox.cjs","sources":["../../../../src/components/MultiSelectCheckBox/MultiSelectCheckBox.tsx"],"sourcesContent":["import {\n useCallback,\n useEffect,\n useLayoutEffect,\n useMemo,\n useRef,\n useState,\n type ChangeEvent,\n type CSSProperties,\n type KeyboardEvent,\n type ReactNode,\n type UIEvent,\n} from 'react'\nimport { createPortal } from 'react-dom'\n\nimport { DotLoader } from '../DotLoader'\nimport { classNames } from '../shared/classNames'\nimport './styles.css'\n\nexport interface MultiSelectCheckBoxOption {\n [key: string]: unknown\n}\n\nexport interface MultiSelectCheckBoxProps<\n T extends MultiSelectCheckBoxOption = MultiSelectCheckBoxOption,\n> {\n id?: string | null\n label?: ReactNode\n className?: string | null\n labelClassName?: string | null\n inputClassName?: string | null\n optionsClassName?: string | null\n optionItemClassName?: string | null\n searchableInputClassName?: string | null\n options?: T[]\n defaultSelectedOptions?: T[]\n optionLabel?: string\n optionValue?: string\n onChange?: (selected: T[]) => void\n placeholder?: string\n selectedInputMessage?: string\n itemSelectedText?: string\n selectAllText?: string\n searchPlaceholder?: string\n noDataMessage?: string\n errorMessage?: string\n errorPlace?: 'in' | 'out'\n isSearchable?: boolean\n isLoading?: boolean\n isDisabled?: boolean\n reactPortal?: boolean\n windowPosition?: boolean\n windowHeight?: number\n windowClose?: (closed: boolean) => void\n isScrollEnd?: (end: boolean) => void\n getOptionTooltip?: (option: T) => string | undefined\n limit?: number | null\n selectionLimit?: number | null\n}\n\nconst EMPTY_OPTIONS: never[] = []\n\nfunction isOptionSelected<T extends MultiSelectCheckBoxOption>(\n selected: T[],\n option: T,\n optionValue: string,\n) {\n return selected.some(\n (item) => item?.[optionValue] === option?.[optionValue],\n )\n}\n\nexport function MultiSelectCheckBox<\n T extends MultiSelectCheckBoxOption = MultiSelectCheckBoxOption,\n>({\n id = null,\n label = null,\n className = null,\n labelClassName = null,\n inputClassName = null,\n optionsClassName = null,\n optionItemClassName = null,\n searchableInputClassName = null,\n options = EMPTY_OPTIONS,\n defaultSelectedOptions = EMPTY_OPTIONS,\n optionLabel = 'label',\n optionValue = 'value',\n onChange,\n placeholder = 'Seçiniz',\n selectedInputMessage,\n itemSelectedText = 'öğe seçili',\n selectAllText = 'Tümünü Seç',\n searchPlaceholder = 'Ara',\n noDataMessage = 'Veri bulunamadı',\n errorMessage = '',\n errorPlace = 'out',\n isSearchable = false,\n isLoading = false,\n isDisabled = false,\n reactPortal = false,\n windowPosition = false,\n windowHeight = 800,\n windowClose,\n isScrollEnd,\n getOptionTooltip = (option: T) =>\n typeof option?.tooltip === 'string' ? option.tooltip : undefined,\n limit = null,\n selectionLimit = null,\n}: MultiSelectCheckBoxProps<T>) {\n const rootRef = useRef<HTMLDivElement>(null)\n const anchorRef = useRef<HTMLDivElement>(null)\n const portalWrapRef = useRef<HTMLDivElement>(null)\n\n const [showOptions, setShowOptions] = useState(false)\n const [selectedOptions, setSelectedOptions] = useState<T[]>(\n defaultSelectedOptions,\n )\n const [openDirection, setOpenDirection] = useState<'top' | 'bottom' | null>(\n null,\n )\n const [searchValue, setSearchValue] = useState('')\n const [portalStyle, setPortalStyle] = useState<CSSProperties | null>(null)\n const [portalReady, setPortalReady] = useState(false)\n\n const selectionLimitValue = limit ?? selectionLimit\n const maxSelectionCount = Number(selectionLimitValue)\n const hasSelectionLimit =\n Number.isFinite(maxSelectionCount) && maxSelectionCount > 0\n\n const recomputePortalPosition = useCallback(() => {\n if (!reactPortal || !anchorRef.current) return\n const rect = anchorRef.current.getBoundingClientRect()\n setPortalStyle({\n position: 'fixed',\n left: rect.left,\n top: rect.bottom,\n width: rect.width,\n zIndex: 9999,\n })\n setPortalReady(true)\n }, [reactPortal])\n\n useEffect(() => {\n const next = hasSelectionLimit\n ? defaultSelectedOptions.slice(0, maxSelectionCount)\n : defaultSelectedOptions\n setSelectedOptions(next)\n }, [defaultSelectedOptions, hasSelectionLimit, maxSelectionCount])\n\n useEffect(() => {\n if (!showOptions) {\n windowClose?.(true)\n setSearchValue('')\n }\n }, [showOptions, windowClose])\n\n useEffect(() => {\n if (!showOptions) return undefined\n\n const rootEl = rootRef.current\n const portalEl = portalWrapRef.current\n\n const handlePointerDown = (event: PointerEvent) => {\n const target = event.target as Node\n const inRoot = rootEl?.contains(target)\n const inPortal = portalEl?.contains(target)\n if (!inRoot && !inPortal) setShowOptions(false)\n }\n\n document.addEventListener('pointerdown', handlePointerDown, true)\n return () =>\n document.removeEventListener('pointerdown', handlePointerDown, true)\n }, [showOptions])\n\n useLayoutEffect(() => {\n if (!showOptions) {\n setPortalReady(false)\n return\n }\n if (!reactPortal) return\n recomputePortalPosition()\n }, [showOptions, reactPortal, recomputePortalPosition])\n\n useEffect(() => {\n if (!showOptions || !reactPortal) return undefined\n\n const handleReposition = () => recomputePortalPosition()\n window.addEventListener('resize', handleReposition)\n window.addEventListener('scroll', handleReposition, true)\n\n return () => {\n window.removeEventListener('resize', handleReposition)\n window.removeEventListener('scroll', handleReposition, true)\n }\n }, [showOptions, reactPortal, recomputePortalPosition])\n\n useEffect(() => {\n if (!windowPosition) return\n setOpenDirection(Number(windowHeight) < 800 ? 'top' : 'bottom')\n }, [windowHeight, windowPosition])\n\n const updateSelection = useCallback(\n (next: T[]) => {\n setSelectedOptions(next)\n onChange?.(next)\n },\n [onChange],\n )\n\n const handleScroll = useCallback(\n (event: UIEvent<HTMLDivElement>) => {\n const target = event.currentTarget\n if (target.scrollHeight - target.scrollTop <= target.clientHeight + 1) {\n isScrollEnd?.(true)\n }\n },\n [isScrollEnd],\n )\n\n const toggleOption = useCallback(\n (option: T) => {\n if (isOptionSelected(selectedOptions, option, optionValue)) {\n updateSelection(\n selectedOptions.filter(\n (item) => item?.[optionValue] !== option?.[optionValue],\n ),\n )\n return\n }\n if (hasSelectionLimit && selectedOptions.length >= maxSelectionCount) {\n return\n }\n updateSelection([...selectedOptions, option])\n },\n [\n hasSelectionLimit,\n maxSelectionCount,\n optionValue,\n selectedOptions,\n updateSelection,\n ],\n )\n\n const filteredOptions = useMemo(() => {\n const query = searchValue.trim().toLocaleLowerCase()\n if (!query) return options\n return options.filter((option) =>\n String(option?.[optionLabel] ?? '')\n .toLocaleLowerCase()\n .includes(query),\n )\n }, [options, optionLabel, searchValue])\n\n const inputValue = useMemo(() => {\n if (selectedOptions.length === 0) return ''\n if (selectedOptions.length === 1) {\n return String(selectedOptions[0]?.[optionLabel] ?? '')\n }\n return `${selectedOptions.length} ${selectedInputMessage || itemSelectedText}`\n }, [itemSelectedText, optionLabel, selectedInputMessage, selectedOptions])\n\n const inputPlaceholder =\n errorPlace === 'in' ? errorMessage || placeholder : placeholder\n\n const toggleDropdown = useCallback(() => {\n if (isDisabled) return\n setShowOptions((prev) => !prev)\n }, [isDisabled])\n\n const handleTriggerKeyDown = (event: KeyboardEvent<HTMLDivElement>) => {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault()\n toggleDropdown()\n }\n }\n\n const allFilteredSelected = useMemo(\n () =>\n filteredOptions.length > 0 &&\n filteredOptions.every((option) =>\n isOptionSelected(selectedOptions, option, optionValue),\n ),\n [filteredOptions, optionValue, selectedOptions],\n )\n\n const handleSelectAll = useCallback(() => {\n if (allFilteredSelected) {\n updateSelection(\n selectedOptions.filter(\n (selected) =>\n !filteredOptions.some(\n (option) => selected?.[optionValue] === option?.[optionValue],\n ),\n ),\n )\n return\n }\n const toAdd = filteredOptions.filter(\n (option) => !isOptionSelected(selectedOptions, option, optionValue),\n )\n const limitedToAdd = hasSelectionLimit\n ? toAdd.slice(0, Math.max(maxSelectionCount - selectedOptions.length, 0))\n : toAdd\n updateSelection([...selectedOptions, ...limitedToAdd])\n }, [\n allFilteredSelected,\n filteredOptions,\n hasSelectionLimit,\n maxSelectionCount,\n optionValue,\n selectedOptions,\n updateSelection,\n ])\n\n const baseId = id || 'inconel-multi-select-checkbox'\n\n const optionsPanel = (\n <div\n ref={reactPortal ? portalWrapRef : undefined}\n className={classNames(\n 'inconel-multi-select-checkbox__panel-wrap',\n reactPortal && 'inconel-multi-select-checkbox__panel-wrap--portal',\n openDirection === 'top' && 'inconel-is-open-top',\n )}\n style={\n reactPortal\n ? { ...(portalStyle ?? {}), visibility: portalReady ? 'visible' : 'hidden' }\n : undefined\n }\n onPointerDown={(event) => event.stopPropagation()}\n >\n <div\n className={classNames(\n 'inconel-multi-select-checkbox__options',\n reactPortal && 'inconel-multi-select-checkbox__options--portal',\n optionsClassName,\n )}\n onScroll={handleScroll}\n >\n {isSearchable && (\n <div className=\"inconel-multi-select-checkbox__search\">\n <input\n type=\"text\"\n placeholder={searchPlaceholder}\n className={classNames(\n 'inconel-multi-select-checkbox__search-input',\n searchableInputClassName,\n )}\n value={searchValue}\n onChange={(event: ChangeEvent<HTMLInputElement>) =>\n setSearchValue(event.target.value)\n }\n disabled={isDisabled}\n />\n </div>\n )}\n\n <div\n className={classNames(\n 'inconel-multi-select-checkbox__option-item',\n optionItemClassName,\n )}\n >\n <input\n id={`${baseId}-select-all`}\n type=\"checkbox\"\n checked={allFilteredSelected}\n onChange={handleSelectAll}\n disabled={isDisabled}\n />\n <label htmlFor={`${baseId}-select-all`}>{selectAllText}</label>\n </div>\n\n {filteredOptions.map((option, index) => {\n const value = option?.[optionValue] ?? index\n const checked = isOptionSelected(selectedOptions, option, optionValue)\n const optionDisabled =\n isDisabled ||\n (!checked && hasSelectionLimit && selectedOptions.length >= maxSelectionCount)\n const inputId = `${baseId}-${String(value)}`\n\n return (\n <div\n key={String(value)}\n className={classNames(\n 'inconel-multi-select-checkbox__option-item',\n checked && 'inconel-is-selected',\n optionDisabled && 'inconel-is-disabled',\n optionItemClassName,\n )}\n title={getOptionTooltip(option)}\n >\n <input\n id={inputId}\n type=\"checkbox\"\n checked={checked}\n onChange={() => toggleOption(option)}\n disabled={optionDisabled}\n />\n <label htmlFor={inputId}>\n {String(option?.[optionLabel] ?? '')}\n </label>\n </div>\n )\n })}\n </div>\n </div>\n )\n\n return (\n <div\n ref={rootRef}\n id={id ?? undefined}\n className={classNames(\n 'inconel-multi-select-checkbox',\n errorMessage && 'inconel-is-error',\n isDisabled && 'inconel-is-disabled',\n openDirection === 'top' && !reactPortal && 'inconel-is-open-top',\n className,\n )}\n >\n {label && (\n <span\n className={classNames(\n 'inconel-multi-select-checkbox__label',\n labelClassName,\n )}\n >\n {label}\n </span>\n )}\n\n <div className=\"inconel-multi-select-checkbox__input-wrap\">\n {isLoading && (\n <div className=\"inconel-multi-select-checkbox__loader-cover\">\n <DotLoader />\n </div>\n )}\n\n <div\n ref={anchorRef}\n role=\"button\"\n tabIndex={0}\n className=\"inconel-multi-select-checkbox__input-container\"\n onClick={toggleDropdown}\n onKeyDown={handleTriggerKeyDown}\n >\n <input\n type=\"text\"\n className={classNames(\n 'inconel-multi-select-checkbox__input',\n inputClassName,\n )}\n placeholder={inputPlaceholder}\n readOnly\n value={inputValue}\n />\n <span\n className=\"inconel-multi-select-checkbox__indicator\"\n aria-hidden=\"true\"\n />\n </div>\n </div>\n\n {showOptions &&\n (options.length > 0 ? (\n reactPortal ? (\n createPortal(optionsPanel, document.body)\n ) : (\n optionsPanel\n )\n ) : (\n <div className=\"inconel-multi-select-checkbox__nodata\">\n <span>{noDataMessage}</span>\n </div>\n ))}\n\n {errorPlace !== 'in' && errorMessage && (\n <span className=\"inconel-multi-select-checkbox__error\">\n {errorMessage}\n </span>\n )}\n </div>\n )\n}\n"],"names":["EMPTY_OPTIONS","isOptionSelected","selected","option","optionValue","item","MultiSelectCheckBox","id","label","className","labelClassName","inputClassName","optionsClassName","optionItemClassName","searchableInputClassName","options","defaultSelectedOptions","optionLabel","onChange","placeholder","selectedInputMessage","itemSelectedText","selectAllText","searchPlaceholder","noDataMessage","errorMessage","errorPlace","isSearchable","isLoading","isDisabled","reactPortal","windowPosition","windowHeight","windowClose","isScrollEnd","getOptionTooltip","limit","selectionLimit","rootRef","useRef","anchorRef","portalWrapRef","showOptions","setShowOptions","useState","selectedOptions","setSelectedOptions","openDirection","setOpenDirection","searchValue","setSearchValue","portalStyle","setPortalStyle","portalReady","setPortalReady","maxSelectionCount","hasSelectionLimit","recomputePortalPosition","useCallback","rect","useEffect","next","rootEl","portalEl","handlePointerDown","event","target","inRoot","inPortal","useLayoutEffect","handleReposition","updateSelection","handleScroll","toggleOption","filteredOptions","useMemo","query","inputValue","inputPlaceholder","toggleDropdown","prev","handleTriggerKeyDown","allFilteredSelected","handleSelectAll","toAdd","limitedToAdd","baseId","optionsPanel","jsx","classNames","jsxs","index","value","checked","optionDisabled","inputId","DotLoader","createPortal"],"mappings":"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"}
1
+ {"version":3,"file":"MultiSelectCheckBox.cjs","sources":["../../../../src/components/MultiSelectCheckBox/MultiSelectCheckBox.tsx"],"sourcesContent":["import {\n useCallback,\n useEffect,\n useLayoutEffect,\n useMemo,\n useRef,\n useState,\n type ChangeEvent,\n type CSSProperties,\n type KeyboardEvent,\n type ReactNode,\n type UIEvent,\n} from 'react'\nimport { createPortal } from 'react-dom'\n\nimport { DotLoader } from '../DotLoader'\nimport { classNames } from '../shared/classNames'\nimport './styles.css'\n\nexport interface MultiSelectCheckBoxOption {\n [key: string]: unknown\n}\n\nexport interface MultiSelectCheckBoxProps<\n T extends MultiSelectCheckBoxOption = MultiSelectCheckBoxOption,\n> {\n id?: string | null\n label?: ReactNode\n className?: string | null\n labelClassName?: string | null\n inputClassName?: string | null\n optionsClassName?: string | null\n optionItemClassName?: string | null\n searchableInputClassName?: string | null\n options?: T[]\n defaultSelectedOptions?: T[]\n optionLabel?: string\n optionValue?: string\n onChange?: (selected: T[]) => void\n placeholder?: string\n selectedInputMessage?: string\n itemSelectedText?: string\n selectAllText?: string\n searchPlaceholder?: string\n noDataMessage?: string\n errorMessage?: string\n errorPlace?: 'in' | 'out'\n isSearchable?: boolean\n isLoading?: boolean\n isDisabled?: boolean\n reactPortal?: boolean\n windowPosition?: boolean\n windowHeight?: number\n windowClose?: (closed: boolean) => void\n isScrollEnd?: (end: boolean) => void\n getOptionTooltip?: (option: T) => string | undefined\n limit?: number | null\n selectionLimit?: number | null\n}\n\nconst EMPTY_OPTIONS: never[] = []\n\nfunction isOptionSelected<T extends MultiSelectCheckBoxOption>(\n selected: T[],\n option: T,\n optionValue: string,\n) {\n return selected.some(\n (item) => item?.[optionValue] === option?.[optionValue],\n )\n}\n\nexport function MultiSelectCheckBox<\n T extends MultiSelectCheckBoxOption = MultiSelectCheckBoxOption,\n>({\n id = null,\n label = null,\n className = null,\n labelClassName = null,\n inputClassName = null,\n optionsClassName = null,\n optionItemClassName = null,\n searchableInputClassName = null,\n options = EMPTY_OPTIONS,\n defaultSelectedOptions = EMPTY_OPTIONS,\n optionLabel = 'label',\n optionValue = 'value',\n onChange,\n placeholder = 'Seçiniz',\n selectedInputMessage,\n itemSelectedText = 'öğe seçili',\n selectAllText = 'Tümünü Seç',\n searchPlaceholder = 'Ara',\n noDataMessage = 'Veri bulunamadı',\n errorMessage = '',\n errorPlace = 'out',\n isSearchable = false,\n isLoading = false,\n isDisabled = false,\n reactPortal = false,\n windowPosition = false,\n windowHeight = 800,\n windowClose,\n isScrollEnd,\n getOptionTooltip = (option: T) =>\n typeof option?.tooltip === 'string' ? option.tooltip : undefined,\n limit = null,\n selectionLimit = null,\n}: MultiSelectCheckBoxProps<T>) {\n const rootRef = useRef<HTMLDivElement>(null)\n const anchorRef = useRef<HTMLDivElement>(null)\n const portalWrapRef = useRef<HTMLDivElement>(null)\n\n const [showOptions, setShowOptions] = useState(false)\n const [selectedOptions, setSelectedOptions] = useState<T[]>(\n defaultSelectedOptions,\n )\n const [openDirection, setOpenDirection] = useState<'top' | 'bottom' | null>(\n null,\n )\n const [searchValue, setSearchValue] = useState('')\n const [portalStyle, setPortalStyle] = useState<CSSProperties | null>(null)\n const [portalReady, setPortalReady] = useState(false)\n\n const selectionLimitValue = limit ?? selectionLimit\n const maxSelectionCount = Number(selectionLimitValue)\n const hasSelectionLimit =\n Number.isFinite(maxSelectionCount) && maxSelectionCount > 0\n\n const recomputeOpenDirection = useCallback(() => {\n if (windowPosition) {\n setOpenDirection(Number(windowHeight) < 800 ? 'top' : 'bottom')\n return\n }\n const anchor = anchorRef.current\n if (!anchor) return\n const rect = anchor.getBoundingClientRect()\n const spaceBelow = window.innerHeight - rect.bottom\n const spaceAbove = rect.top\n const estimatedPanelHeight = 240 + (isSearchable ? 46 : 0) + 40\n setOpenDirection(\n spaceBelow < estimatedPanelHeight && spaceAbove > spaceBelow\n ? 'top'\n : 'bottom',\n )\n }, [isSearchable, windowHeight, windowPosition])\n\n const recomputePortalPosition = useCallback(() => {\n if (!reactPortal || !anchorRef.current) return\n const rect = anchorRef.current.getBoundingClientRect()\n setPortalStyle({\n position: 'fixed',\n left: rect.left,\n top: openDirection === 'top' ? rect.top : rect.bottom,\n width: rect.width,\n zIndex: 9999,\n })\n setPortalReady(true)\n }, [reactPortal, openDirection])\n\n useEffect(() => {\n const next = hasSelectionLimit\n ? defaultSelectedOptions.slice(0, maxSelectionCount)\n : defaultSelectedOptions\n setSelectedOptions(next)\n }, [defaultSelectedOptions, hasSelectionLimit, maxSelectionCount])\n\n useEffect(() => {\n if (!showOptions) {\n windowClose?.(true)\n setSearchValue('')\n }\n }, [showOptions, windowClose])\n\n useEffect(() => {\n if (!showOptions) return undefined\n\n const rootEl = rootRef.current\n const portalEl = portalWrapRef.current\n\n const handlePointerDown = (event: PointerEvent) => {\n const target = event.target as Node\n const inRoot = rootEl?.contains(target)\n const inPortal = portalEl?.contains(target)\n if (!inRoot && !inPortal) setShowOptions(false)\n }\n\n document.addEventListener('pointerdown', handlePointerDown, true)\n return () =>\n document.removeEventListener('pointerdown', handlePointerDown, true)\n }, [showOptions])\n\n useLayoutEffect(() => {\n if (!showOptions) {\n setPortalReady(false)\n return\n }\n recomputeOpenDirection()\n }, [showOptions, recomputeOpenDirection])\n\n useLayoutEffect(() => {\n if (!showOptions || !reactPortal) return\n recomputePortalPosition()\n }, [showOptions, reactPortal, recomputePortalPosition])\n\n useEffect(() => {\n if (!showOptions) return undefined\n\n const handleReposition = () => {\n recomputeOpenDirection()\n if (reactPortal) recomputePortalPosition()\n }\n window.addEventListener('resize', handleReposition)\n window.addEventListener('scroll', handleReposition, true)\n\n return () => {\n window.removeEventListener('resize', handleReposition)\n window.removeEventListener('scroll', handleReposition, true)\n }\n }, [showOptions, reactPortal, recomputeOpenDirection, recomputePortalPosition])\n\n const updateSelection = useCallback(\n (next: T[]) => {\n setSelectedOptions(next)\n onChange?.(next)\n },\n [onChange],\n )\n\n const handleScroll = useCallback(\n (event: UIEvent<HTMLDivElement>) => {\n const target = event.currentTarget\n if (target.scrollHeight - target.scrollTop <= target.clientHeight + 1) {\n isScrollEnd?.(true)\n }\n },\n [isScrollEnd],\n )\n\n const toggleOption = useCallback(\n (option: T) => {\n if (isOptionSelected(selectedOptions, option, optionValue)) {\n updateSelection(\n selectedOptions.filter(\n (item) => item?.[optionValue] !== option?.[optionValue],\n ),\n )\n return\n }\n if (hasSelectionLimit && selectedOptions.length >= maxSelectionCount) {\n return\n }\n updateSelection([...selectedOptions, option])\n },\n [\n hasSelectionLimit,\n maxSelectionCount,\n optionValue,\n selectedOptions,\n updateSelection,\n ],\n )\n\n const filteredOptions = useMemo(() => {\n const query = searchValue.trim().toLocaleLowerCase()\n if (!query) return options\n return options.filter((option) =>\n String(option?.[optionLabel] ?? '')\n .toLocaleLowerCase()\n .includes(query),\n )\n }, [options, optionLabel, searchValue])\n\n const inputValue = useMemo(() => {\n if (selectedOptions.length === 0) return ''\n if (selectedOptions.length === 1) {\n return String(selectedOptions[0]?.[optionLabel] ?? '')\n }\n return `${selectedOptions.length} ${selectedInputMessage || itemSelectedText}`\n }, [itemSelectedText, optionLabel, selectedInputMessage, selectedOptions])\n\n const inputPlaceholder =\n errorPlace === 'in' ? errorMessage || placeholder : placeholder\n\n const toggleDropdown = useCallback(() => {\n if (isDisabled) return\n setShowOptions((prev) => !prev)\n }, [isDisabled])\n\n const handleTriggerKeyDown = (event: KeyboardEvent<HTMLDivElement>) => {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault()\n toggleDropdown()\n }\n }\n\n const allFilteredSelected = useMemo(\n () =>\n filteredOptions.length > 0 &&\n filteredOptions.every((option) =>\n isOptionSelected(selectedOptions, option, optionValue),\n ),\n [filteredOptions, optionValue, selectedOptions],\n )\n\n const handleSelectAll = useCallback(() => {\n if (allFilteredSelected) {\n updateSelection(\n selectedOptions.filter(\n (selected) =>\n !filteredOptions.some(\n (option) => selected?.[optionValue] === option?.[optionValue],\n ),\n ),\n )\n return\n }\n const toAdd = filteredOptions.filter(\n (option) => !isOptionSelected(selectedOptions, option, optionValue),\n )\n const limitedToAdd = hasSelectionLimit\n ? toAdd.slice(0, Math.max(maxSelectionCount - selectedOptions.length, 0))\n : toAdd\n updateSelection([...selectedOptions, ...limitedToAdd])\n }, [\n allFilteredSelected,\n filteredOptions,\n hasSelectionLimit,\n maxSelectionCount,\n optionValue,\n selectedOptions,\n updateSelection,\n ])\n\n const baseId = id || 'inconel-multi-select-checkbox'\n\n const optionsPanel = (\n <div\n ref={reactPortal ? portalWrapRef : undefined}\n className={classNames(\n 'inconel-multi-select-checkbox__panel-wrap',\n reactPortal && 'inconel-multi-select-checkbox__panel-wrap--portal',\n openDirection === 'top' && 'inconel-is-open-top',\n )}\n style={\n reactPortal\n ? { ...(portalStyle ?? {}), visibility: portalReady ? 'visible' : 'hidden' }\n : undefined\n }\n onPointerDown={(event) => event.stopPropagation()}\n >\n <div\n className={classNames(\n 'inconel-multi-select-checkbox__options',\n reactPortal && 'inconel-multi-select-checkbox__options--portal',\n optionsClassName,\n )}\n onScroll={handleScroll}\n >\n {isSearchable && (\n <div className=\"inconel-multi-select-checkbox__search\">\n <input\n type=\"text\"\n placeholder={searchPlaceholder}\n className={classNames(\n 'inconel-multi-select-checkbox__search-input',\n searchableInputClassName,\n )}\n value={searchValue}\n onChange={(event: ChangeEvent<HTMLInputElement>) =>\n setSearchValue(event.target.value)\n }\n disabled={isDisabled}\n />\n </div>\n )}\n\n <div\n className={classNames(\n 'inconel-multi-select-checkbox__option-item',\n optionItemClassName,\n )}\n >\n <input\n id={`${baseId}-select-all`}\n type=\"checkbox\"\n checked={allFilteredSelected}\n onChange={handleSelectAll}\n disabled={isDisabled}\n />\n <label htmlFor={`${baseId}-select-all`}>{selectAllText}</label>\n </div>\n\n {filteredOptions.map((option, index) => {\n const value = option?.[optionValue] ?? index\n const checked = isOptionSelected(selectedOptions, option, optionValue)\n const optionDisabled =\n isDisabled ||\n (!checked && hasSelectionLimit && selectedOptions.length >= maxSelectionCount)\n const inputId = `${baseId}-${String(value)}`\n\n return (\n <div\n key={String(value)}\n className={classNames(\n 'inconel-multi-select-checkbox__option-item',\n checked && 'inconel-is-selected',\n optionDisabled && 'inconel-is-disabled',\n optionItemClassName,\n )}\n title={getOptionTooltip(option)}\n >\n <input\n id={inputId}\n type=\"checkbox\"\n checked={checked}\n onChange={() => toggleOption(option)}\n disabled={optionDisabled}\n />\n <label htmlFor={inputId}>\n {String(option?.[optionLabel] ?? '')}\n </label>\n </div>\n )\n })}\n </div>\n </div>\n )\n\n return (\n <div\n ref={rootRef}\n id={id ?? undefined}\n className={classNames(\n 'inconel-multi-select-checkbox',\n errorMessage && 'inconel-is-error',\n isDisabled && 'inconel-is-disabled',\n openDirection === 'top' && !reactPortal && 'inconel-is-open-top',\n className,\n )}\n >\n {label && (\n <span\n className={classNames(\n 'inconel-multi-select-checkbox__label',\n labelClassName,\n )}\n >\n {label}\n </span>\n )}\n\n <div className=\"inconel-multi-select-checkbox__input-wrap\">\n {isLoading && (\n <div className=\"inconel-multi-select-checkbox__loader-cover\">\n <DotLoader />\n </div>\n )}\n\n <div\n ref={anchorRef}\n role=\"button\"\n tabIndex={0}\n className=\"inconel-multi-select-checkbox__input-container\"\n onClick={toggleDropdown}\n onKeyDown={handleTriggerKeyDown}\n >\n <input\n type=\"text\"\n className={classNames(\n 'inconel-multi-select-checkbox__input',\n inputClassName,\n )}\n placeholder={inputPlaceholder}\n readOnly\n value={inputValue}\n />\n <span\n className=\"inconel-multi-select-checkbox__indicator\"\n aria-hidden=\"true\"\n />\n </div>\n </div>\n\n {showOptions &&\n (options.length > 0 ? (\n reactPortal ? (\n createPortal(optionsPanel, document.body)\n ) : (\n optionsPanel\n )\n ) : (\n <div className=\"inconel-multi-select-checkbox__nodata\">\n <span>{noDataMessage}</span>\n </div>\n ))}\n\n {errorPlace !== 'in' && errorMessage && (\n <span className=\"inconel-multi-select-checkbox__error\">\n {errorMessage}\n </span>\n )}\n </div>\n )\n}\n"],"names":["EMPTY_OPTIONS","isOptionSelected","selected","option","optionValue","item","MultiSelectCheckBox","id","label","className","labelClassName","inputClassName","optionsClassName","optionItemClassName","searchableInputClassName","options","defaultSelectedOptions","optionLabel","onChange","placeholder","selectedInputMessage","itemSelectedText","selectAllText","searchPlaceholder","noDataMessage","errorMessage","errorPlace","isSearchable","isLoading","isDisabled","reactPortal","windowPosition","windowHeight","windowClose","isScrollEnd","getOptionTooltip","limit","selectionLimit","rootRef","useRef","anchorRef","portalWrapRef","showOptions","setShowOptions","useState","selectedOptions","setSelectedOptions","openDirection","setOpenDirection","searchValue","setSearchValue","portalStyle","setPortalStyle","portalReady","setPortalReady","maxSelectionCount","hasSelectionLimit","recomputeOpenDirection","useCallback","anchor","rect","spaceBelow","spaceAbove","estimatedPanelHeight","recomputePortalPosition","useEffect","next","rootEl","portalEl","handlePointerDown","event","target","inRoot","inPortal","useLayoutEffect","handleReposition","updateSelection","handleScroll","toggleOption","filteredOptions","useMemo","query","inputValue","inputPlaceholder","toggleDropdown","prev","handleTriggerKeyDown","allFilteredSelected","handleSelectAll","toAdd","limitedToAdd","baseId","optionsPanel","jsx","classNames","jsxs","index","value","checked","optionDisabled","inputId","DotLoader","createPortal"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"DatePicker.d.ts","sourceRoot":"","sources":["../../../src/components/DatePicker/DatePicker.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DatePicker.d.ts","sourceRoot":"","sources":["../../../src/components/DatePicker/DatePicker.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { jsxs as d, jsx as e } from "react/jsx-runtime";
2
2
  import { useRef as _e } from "react";
3
- import he, { registerLocale as ke } from "react-datepicker";
3
+ import ke, { registerLocale as he } from "react-datepicker";
4
4
  import { tr as De } from "date-fns/locale";
5
5
  /* empty css */
6
6
  import { classNames as n } from "../shared/classNames.js";
@@ -10,8 +10,8 @@ import { normalizeDate as a, resolveClearedDate as ue } from "./utils.js";
10
10
  import { useInconelAdapters as Ne } from "../../adapters/context.js";
11
11
  import { DotLoader as ye } from "../DotLoader/DotLoader.js";
12
12
  import ve from "../Svg/Svg.js";
13
- ke("tr", De);
14
- const Se = he;
13
+ he("tr", De);
14
+ const Se = ke;
15
15
  function be({
16
16
  id: f = "",
17
17
  value: r = null,
@@ -28,7 +28,7 @@ function be({
28
28
  label: _,
29
29
  timeIntervals: A = 1,
30
30
  errorMessage: l,
31
- errorPlace: h,
31
+ errorPlace: k,
32
32
  dateFormat: P = "dd.MM.yyyy",
33
33
  minDate: R,
34
34
  maxDate: j = /* @__PURE__ */ new Date("9999-12-31"),
@@ -42,7 +42,7 @@ function be({
42
42
  minTime: w,
43
43
  maxTime: z,
44
44
  readOnly: F = !1,
45
- portalId: V,
45
+ portalId: V = "inconel-date-picker-portal",
46
46
  isClearable: t = !1,
47
47
  peekNextMonth: E = !1,
48
48
  showMonthDropdown: G = !1,
@@ -52,7 +52,7 @@ function be({
52
52
  defaultDate: K = !1,
53
53
  initialDate: O,
54
54
  removeLabel: Q = !1,
55
- size: k = "md",
55
+ size: h = "md",
56
56
  showWeekNumbers: U = !1,
57
57
  required: W = !1,
58
58
  dayClassName: X,
@@ -68,17 +68,17 @@ function be({
68
68
  onMonthChange: te,
69
69
  onYearChange: ie,
70
70
  highlightDates: oe = [],
71
- popperContainer: se,
72
- isLoading: ce = !1
71
+ popperContainer: ce,
72
+ isLoading: se = !1
73
73
  }) {
74
- const s = Ne(), de = _e(a(r)), fe = a(r), D = typeof o == "string" ? o : s.assets?.calendar, me = h === "in" && l ? String(l) : x ?? String(s.translate?.("date", "Tarih seçin") ?? "Tarih seçin");
74
+ const c = Ne(), de = _e(a(r)), fe = a(r), D = typeof o == "string" ? o : c.assets?.calendar, me = k === "in" && l ? String(l) : x ?? String(c.translate?.("date", "Tarih seçin") ?? "Tarih seçin");
75
75
  return /* @__PURE__ */ d(
76
76
  "div",
77
77
  {
78
78
  className: n(
79
79
  "inconel-date-picker",
80
- `inconel-size-${k}`,
81
- `inconel-date-picker--${k}`,
80
+ `inconel-size-${h}`,
81
+ `inconel-date-picker--${h}`,
82
82
  m && "inconel-is-disabled",
83
83
  S
84
84
  ),
@@ -95,7 +95,7 @@ function be({
95
95
  _,
96
96
  i && /* @__PURE__ */ e("span", { className: "inconel-date-picker__multiple", title: String(i), children: i }),
97
97
  W && !r && /* @__PURE__ */ e("span", { className: "inconel-field__required", children: " *" }),
98
- ce && /* @__PURE__ */ e(ye, {})
98
+ se && /* @__PURE__ */ e(ye, {})
99
99
  ]
100
100
  }
101
101
  ),
@@ -119,8 +119,8 @@ function be({
119
119
  g
120
120
  ),
121
121
  selected: fe,
122
- onChange: (c) => {
123
- const pe = Array.isArray(c) ? c : ue(c, {
122
+ onChange: (s) => {
123
+ const pe = Array.isArray(s) ? s : ue(s, {
124
124
  isClearable: t,
125
125
  notNull: q,
126
126
  defaultDate: K,
@@ -129,7 +129,7 @@ function be({
129
129
  });
130
130
  u?.(p, pe);
131
131
  },
132
- locale: (s.locale ?? "tr-TR").split("-")[0],
132
+ locale: (c.locale ?? "tr-TR").split("-")[0],
133
133
  placeholderText: me,
134
134
  dateFormat: P,
135
135
  onBlur: N,
@@ -166,7 +166,7 @@ function be({
166
166
  onMonthChange: te,
167
167
  onYearChange: ie,
168
168
  highlightDates: oe,
169
- popperContainer: se
169
+ popperContainer: ce
170
170
  }
171
171
  ),
172
172
  o && !(t && r) && D && /* @__PURE__ */ e(
@@ -180,7 +180,7 @@ function be({
180
180
  ]
181
181
  }
182
182
  ),
183
- h !== "in" && l && /* @__PURE__ */ e("span", { className: "inconel-date-picker__error", role: "alert", children: l })
183
+ k !== "in" && l && /* @__PURE__ */ e("span", { className: "inconel-date-picker__error", role: "alert", children: l })
184
184
  ]
185
185
  }
186
186
  );
@@ -1 +1 @@
1
- {"version":3,"file":"DatePicker.js","sources":["../../../src/components/DatePicker/DatePicker.tsx"],"sourcesContent":["import {\n useRef,\n type ComponentType,\n type FocusEventHandler,\n type ReactNode,\n} from 'react'\nimport ReactDatePicker, { registerLocale } from 'react-datepicker'\nimport { tr } from 'date-fns/locale'\nimport 'react-datepicker/dist/react-datepicker.css'\n\nimport { useInconelAdapters } from '../../adapters'\nimport { classNames } from '../shared/classNames'\nimport '../shared/sizes.css'\nimport type { ControlSize } from '../shared/types'\nimport { DotLoader } from '../DotLoader'\nimport { Svg } from '../Svg'\nimport './styles.css'\nimport { normalizeDate, resolveClearedDate } from './utils'\n\nregisterLocale('tr', tr)\n\ntype DateInput = Date | string | number | null\ntype PickerChange = Date | null | [Date | null, Date | null]\nconst Picker = ReactDatePicker as unknown as ComponentType<\n Record<string, unknown>\n>\n\nexport interface DatePickerProps {\n id?: string\n value?: DateInput\n onChange?: (name: string, value: PickerChange) => void\n onBlur?: FocusEventHandler<HTMLInputElement>\n onFocus?: FocusEventHandler<HTMLInputElement>\n onClose?: () => void\n disabled?: boolean\n className?: string\n labelClassName?: string\n inputClassName?: string\n placeholder?: string\n name?: string\n label?: ReactNode\n timeIntervals?: number\n errorMessage?: ReactNode\n errorPlace?: 'in' | 'out' | string\n dateFormat?: string\n minDate?: DateInput\n maxDate?: DateInput\n showTimeSelect?: boolean\n showTimeSelectOnly?: boolean\n showYearPicker?: boolean\n showMonthYearPicker?: boolean\n showFullMonthYearPicker?: boolean\n autoComplete?: string\n notNull?: boolean\n minTime?: Date | null\n maxTime?: Date | null\n readOnly?: boolean\n portalId?: string | null\n isClearable?: boolean\n peekNextMonth?: boolean\n showMonthDropdown?: boolean\n showYearDropdown?: boolean\n dropdownMode?: 'scroll' | 'select' | null\n multiple?: ReactNode\n defaultDate?: boolean\n initialDate?: Date | null\n removeLabel?: boolean\n size?: ControlSize\n showWeekNumbers?: boolean\n required?: boolean\n dayClassName?: (date: Date) => string\n monthsShown?: number\n selectsRange?: boolean\n border?: boolean\n inline?: boolean\n startDate?: DateInput\n endDate?: DateInput\n onCalendarOpen?: () => void\n onCalendarClose?: () => void\n icon?: boolean | string\n onMonthChange?: (date: Date) => void\n onYearChange?: (date: Date) => void\n highlightDates?: Array<Date | Record<string, Date[]>>\n popperContainer?: ComponentType<{ children?: ReactNode }> | null\n isLoading?: boolean\n}\n\nexport function DatePicker({\n id = '',\n value = null,\n onChange,\n onBlur,\n onFocus,\n onClose,\n disabled = false,\n className,\n labelClassName,\n inputClassName,\n placeholder,\n name = '',\n label,\n timeIntervals = 1,\n errorMessage,\n errorPlace,\n dateFormat = 'dd.MM.yyyy',\n minDate,\n maxDate = new Date('9999-12-31'),\n showTimeSelect = false,\n showTimeSelectOnly = false,\n showYearPicker = false,\n showMonthYearPicker = false,\n showFullMonthYearPicker = false,\n autoComplete = 'off',\n notNull = true,\n minTime,\n maxTime,\n readOnly = false,\n portalId,\n isClearable = false,\n peekNextMonth = false,\n showMonthDropdown = false,\n showYearDropdown = false,\n dropdownMode,\n multiple,\n defaultDate = false,\n initialDate,\n removeLabel = false,\n size = 'md',\n showWeekNumbers = false,\n required = false,\n dayClassName,\n monthsShown = 1,\n selectsRange = false,\n border = true,\n inline = false,\n startDate,\n endDate,\n onCalendarOpen,\n onCalendarClose,\n icon = true,\n onMonthChange,\n onYearChange,\n highlightDates = [],\n popperContainer,\n isLoading = false,\n}: DatePickerProps) {\n const adapters = useInconelAdapters()\n const initialValue = useRef(normalizeDate(value))\n const selected = normalizeDate(value)\n const calendarIcon =\n typeof icon === 'string' ? icon : adapters.assets?.calendar\n const resolvedPlaceholder =\n errorPlace === 'in' && errorMessage\n ? String(errorMessage)\n : placeholder ??\n String(adapters.translate?.('date', 'Tarih seçin') ?? 'Tarih seçin')\n\n return (\n <div\n className={classNames(\n 'inconel-date-picker',\n `inconel-size-${size}`,\n `inconel-date-picker--${size}`,\n disabled && 'inconel-is-disabled',\n className,\n )}\n >\n {!removeLabel && Boolean(label) && (\n <label\n htmlFor={id}\n className={classNames(\n 'inconel-date-picker__label',\n labelClassName,\n )}\n >\n {label}\n {multiple && (\n <span className=\"inconel-date-picker__multiple\" title={String(multiple)}>\n {multiple}\n </span>\n )}\n {required && !value && (\n <span className=\"inconel-field__required\"> *</span>\n )}\n {isLoading && <DotLoader />}\n </label>\n )}\n <div\n className={classNames(\n 'inconel-date-picker__control',\n border && 'inconel-date-picker__control--bordered',\n )}\n >\n <Picker\n id={id}\n name={name}\n disabled={disabled}\n className={classNames(\n 'inconel-date-picker__input',\n Boolean(errorMessage) && 'inconel-is-invalid',\n inputClassName,\n )}\n selected={selected}\n onChange={(next: PickerChange) => {\n const resolved = Array.isArray(next)\n ? next\n : resolveClearedDate(next, {\n isClearable,\n notNull,\n defaultDate,\n initialDate,\n fallbackDate: initialValue.current,\n })\n onChange?.(name, resolved)\n }}\n locale={(adapters.locale ?? 'tr-TR').split('-')[0]}\n placeholderText={resolvedPlaceholder}\n dateFormat={dateFormat}\n onBlur={onBlur}\n onFocus={onFocus}\n onCalendarClose={() => {\n onClose?.()\n onCalendarClose?.()\n }}\n onCalendarOpen={onCalendarOpen}\n minDate={normalizeDate(minDate)}\n maxDate={normalizeDate(maxDate)}\n showTimeSelect={showTimeSelect}\n showTimeSelectOnly={showTimeSelectOnly}\n timeIntervals={timeIntervals}\n showMonthYearPicker={showMonthYearPicker}\n showFullMonthYearPicker={showFullMonthYearPicker}\n showYearPicker={showYearPicker}\n autoComplete={autoComplete}\n minTime={minTime}\n maxTime={maxTime}\n readOnly={readOnly}\n portalId={portalId}\n isClearable={isClearable}\n peekNextMonth={peekNextMonth}\n showMonthDropdown={showMonthDropdown}\n showYearDropdown={showYearDropdown}\n dropdownMode={dropdownMode}\n showWeekNumbers={showWeekNumbers}\n dayClassName={dayClassName}\n monthsShown={monthsShown}\n selectsRange={selectsRange}\n inline={inline}\n startDate={normalizeDate(startDate)}\n endDate={normalizeDate(endDate)}\n onMonthChange={onMonthChange}\n onYearChange={onYearChange}\n highlightDates={highlightDates}\n popperContainer={popperContainer}\n />\n {icon && !(isClearable && value) && calendarIcon && (\n <Svg\n src={calendarIcon}\n className=\"inconel-date-picker__icon\"\n aria-hidden=\"true\"\n />\n )}\n </div>\n {errorPlace !== 'in' && errorMessage && (\n <span className=\"inconel-date-picker__error\" role=\"alert\">\n {errorMessage}\n </span>\n )}\n </div>\n )\n}\n"],"names":["registerLocale","tr","Picker","ReactDatePicker","DatePicker","id","value","onChange","onBlur","onFocus","onClose","disabled","className","labelClassName","inputClassName","placeholder","name","label","timeIntervals","errorMessage","errorPlace","dateFormat","minDate","maxDate","showTimeSelect","showTimeSelectOnly","showYearPicker","showMonthYearPicker","showFullMonthYearPicker","autoComplete","notNull","minTime","maxTime","readOnly","portalId","isClearable","peekNextMonth","showMonthDropdown","showYearDropdown","dropdownMode","multiple","defaultDate","initialDate","removeLabel","size","showWeekNumbers","required","dayClassName","monthsShown","selectsRange","border","inline","startDate","endDate","onCalendarOpen","onCalendarClose","icon","onMonthChange","onYearChange","highlightDates","popperContainer","isLoading","adapters","useInconelAdapters","initialValue","useRef","normalizeDate","selected","calendarIcon","resolvedPlaceholder","jsxs","classNames","DotLoader","jsx","next","resolved","resolveClearedDate","Svg"],"mappings":"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"}
1
+ {"version":3,"file":"DatePicker.js","sources":["../../../src/components/DatePicker/DatePicker.tsx"],"sourcesContent":["import {\n useRef,\n type ComponentType,\n type FocusEventHandler,\n type ReactNode,\n} from 'react'\nimport ReactDatePicker, { registerLocale } from 'react-datepicker'\nimport { tr } from 'date-fns/locale'\nimport 'react-datepicker/dist/react-datepicker.css'\n\nimport { useInconelAdapters } from '../../adapters'\nimport { classNames } from '../shared/classNames'\nimport '../shared/sizes.css'\nimport type { ControlSize } from '../shared/types'\nimport { DotLoader } from '../DotLoader'\nimport { Svg } from '../Svg'\nimport './styles.css'\nimport { normalizeDate, resolveClearedDate } from './utils'\n\nregisterLocale('tr', tr)\n\ntype DateInput = Date | string | number | null\ntype PickerChange = Date | null | [Date | null, Date | null]\nconst Picker = ReactDatePicker as unknown as ComponentType<\n Record<string, unknown>\n>\n\nexport interface DatePickerProps {\n id?: string\n value?: DateInput\n onChange?: (name: string, value: PickerChange) => void\n onBlur?: FocusEventHandler<HTMLInputElement>\n onFocus?: FocusEventHandler<HTMLInputElement>\n onClose?: () => void\n disabled?: boolean\n className?: string\n labelClassName?: string\n inputClassName?: string\n placeholder?: string\n name?: string\n label?: ReactNode\n timeIntervals?: number\n errorMessage?: ReactNode\n errorPlace?: 'in' | 'out' | string\n dateFormat?: string\n minDate?: DateInput\n maxDate?: DateInput\n showTimeSelect?: boolean\n showTimeSelectOnly?: boolean\n showYearPicker?: boolean\n showMonthYearPicker?: boolean\n showFullMonthYearPicker?: boolean\n autoComplete?: string\n notNull?: boolean\n minTime?: Date | null\n maxTime?: Date | null\n readOnly?: boolean\n portalId?: string | null\n isClearable?: boolean\n peekNextMonth?: boolean\n showMonthDropdown?: boolean\n showYearDropdown?: boolean\n dropdownMode?: 'scroll' | 'select' | null\n multiple?: ReactNode\n defaultDate?: boolean\n initialDate?: Date | null\n removeLabel?: boolean\n size?: ControlSize\n showWeekNumbers?: boolean\n required?: boolean\n dayClassName?: (date: Date) => string\n monthsShown?: number\n selectsRange?: boolean\n border?: boolean\n inline?: boolean\n startDate?: DateInput\n endDate?: DateInput\n onCalendarOpen?: () => void\n onCalendarClose?: () => void\n icon?: boolean | string\n onMonthChange?: (date: Date) => void\n onYearChange?: (date: Date) => void\n highlightDates?: Array<Date | Record<string, Date[]>>\n popperContainer?: ComponentType<{ children?: ReactNode }> | null\n isLoading?: boolean\n}\n\nexport function DatePicker({\n id = '',\n value = null,\n onChange,\n onBlur,\n onFocus,\n onClose,\n disabled = false,\n className,\n labelClassName,\n inputClassName,\n placeholder,\n name = '',\n label,\n timeIntervals = 1,\n errorMessage,\n errorPlace,\n dateFormat = 'dd.MM.yyyy',\n minDate,\n maxDate = new Date('9999-12-31'),\n showTimeSelect = false,\n showTimeSelectOnly = false,\n showYearPicker = false,\n showMonthYearPicker = false,\n showFullMonthYearPicker = false,\n autoComplete = 'off',\n notNull = true,\n minTime,\n maxTime,\n readOnly = false,\n portalId = 'inconel-date-picker-portal',\n isClearable = false,\n peekNextMonth = false,\n showMonthDropdown = false,\n showYearDropdown = false,\n dropdownMode,\n multiple,\n defaultDate = false,\n initialDate,\n removeLabel = false,\n size = 'md',\n showWeekNumbers = false,\n required = false,\n dayClassName,\n monthsShown = 1,\n selectsRange = false,\n border = true,\n inline = false,\n startDate,\n endDate,\n onCalendarOpen,\n onCalendarClose,\n icon = true,\n onMonthChange,\n onYearChange,\n highlightDates = [],\n popperContainer,\n isLoading = false,\n}: DatePickerProps) {\n const adapters = useInconelAdapters()\n const initialValue = useRef(normalizeDate(value))\n const selected = normalizeDate(value)\n const calendarIcon =\n typeof icon === 'string' ? icon : adapters.assets?.calendar\n const resolvedPlaceholder =\n errorPlace === 'in' && errorMessage\n ? String(errorMessage)\n : placeholder ??\n String(adapters.translate?.('date', 'Tarih seçin') ?? 'Tarih seçin')\n\n return (\n <div\n className={classNames(\n 'inconel-date-picker',\n `inconel-size-${size}`,\n `inconel-date-picker--${size}`,\n disabled && 'inconel-is-disabled',\n className,\n )}\n >\n {!removeLabel && Boolean(label) && (\n <label\n htmlFor={id}\n className={classNames(\n 'inconel-date-picker__label',\n labelClassName,\n )}\n >\n {label}\n {multiple && (\n <span className=\"inconel-date-picker__multiple\" title={String(multiple)}>\n {multiple}\n </span>\n )}\n {required && !value && (\n <span className=\"inconel-field__required\"> *</span>\n )}\n {isLoading && <DotLoader />}\n </label>\n )}\n <div\n className={classNames(\n 'inconel-date-picker__control',\n border && 'inconel-date-picker__control--bordered',\n )}\n >\n <Picker\n id={id}\n name={name}\n disabled={disabled}\n className={classNames(\n 'inconel-date-picker__input',\n Boolean(errorMessage) && 'inconel-is-invalid',\n inputClassName,\n )}\n selected={selected}\n onChange={(next: PickerChange) => {\n const resolved = Array.isArray(next)\n ? next\n : resolveClearedDate(next, {\n isClearable,\n notNull,\n defaultDate,\n initialDate,\n fallbackDate: initialValue.current,\n })\n onChange?.(name, resolved)\n }}\n locale={(adapters.locale ?? 'tr-TR').split('-')[0]}\n placeholderText={resolvedPlaceholder}\n dateFormat={dateFormat}\n onBlur={onBlur}\n onFocus={onFocus}\n onCalendarClose={() => {\n onClose?.()\n onCalendarClose?.()\n }}\n onCalendarOpen={onCalendarOpen}\n minDate={normalizeDate(minDate)}\n maxDate={normalizeDate(maxDate)}\n showTimeSelect={showTimeSelect}\n showTimeSelectOnly={showTimeSelectOnly}\n timeIntervals={timeIntervals}\n showMonthYearPicker={showMonthYearPicker}\n showFullMonthYearPicker={showFullMonthYearPicker}\n showYearPicker={showYearPicker}\n autoComplete={autoComplete}\n minTime={minTime}\n maxTime={maxTime}\n readOnly={readOnly}\n portalId={portalId}\n isClearable={isClearable}\n peekNextMonth={peekNextMonth}\n showMonthDropdown={showMonthDropdown}\n showYearDropdown={showYearDropdown}\n dropdownMode={dropdownMode}\n showWeekNumbers={showWeekNumbers}\n dayClassName={dayClassName}\n monthsShown={monthsShown}\n selectsRange={selectsRange}\n inline={inline}\n startDate={normalizeDate(startDate)}\n endDate={normalizeDate(endDate)}\n onMonthChange={onMonthChange}\n onYearChange={onYearChange}\n highlightDates={highlightDates}\n popperContainer={popperContainer}\n />\n {icon && !(isClearable && value) && calendarIcon && (\n <Svg\n src={calendarIcon}\n className=\"inconel-date-picker__icon\"\n aria-hidden=\"true\"\n />\n )}\n </div>\n {errorPlace !== 'in' && errorMessage && (\n <span className=\"inconel-date-picker__error\" role=\"alert\">\n {errorMessage}\n </span>\n )}\n </div>\n )\n}\n"],"names":["registerLocale","tr","Picker","ReactDatePicker","DatePicker","id","value","onChange","onBlur","onFocus","onClose","disabled","className","labelClassName","inputClassName","placeholder","name","label","timeIntervals","errorMessage","errorPlace","dateFormat","minDate","maxDate","showTimeSelect","showTimeSelectOnly","showYearPicker","showMonthYearPicker","showFullMonthYearPicker","autoComplete","notNull","minTime","maxTime","readOnly","portalId","isClearable","peekNextMonth","showMonthDropdown","showYearDropdown","dropdownMode","multiple","defaultDate","initialDate","removeLabel","size","showWeekNumbers","required","dayClassName","monthsShown","selectsRange","border","inline","startDate","endDate","onCalendarOpen","onCalendarClose","icon","onMonthChange","onYearChange","highlightDates","popperContainer","isLoading","adapters","useInconelAdapters","initialValue","useRef","normalizeDate","selected","calendarIcon","resolvedPlaceholder","jsxs","classNames","DotLoader","jsx","next","resolved","resolveClearedDate","Svg"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"MultiSelectCheckBox.d.ts","sourceRoot":"","sources":["../../../src/components/MultiSelectCheckBox/MultiSelectCheckBox.tsx"],"names":[],"mappings":"AAAA,OAAO,EAUL,KAAK,SAAS,EAEf,MAAM,OAAO,CAAA;AAKd,OAAO,cAAc,CAAA;AAErB,MAAM,WAAW,yBAAyB;IACxC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB;AAED,MAAM,WAAW,wBAAwB,CACvC,CAAC,SAAS,yBAAyB,GAAG,yBAAyB;IAE/D,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAClB,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACnC,wBAAwB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAA;IACb,sBAAsB,CAAC,EAAE,CAAC,EAAE,CAAA;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,KAAK,IAAI,CAAA;IAClC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,UAAU,CAAC,EAAE,IAAI,GAAG,KAAK,CAAA;IACzB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAA;IACvC,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAA;IACpC,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,MAAM,GAAG,SAAS,CAAA;IACpD,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAC/B;AAcD,wBAAgB,mBAAmB,CACjC,CAAC,SAAS,yBAAyB,GAAG,yBAAyB,EAC/D,EACA,EAAS,EACT,KAAY,EACZ,SAAgB,EAChB,cAAqB,EACrB,cAAqB,EACrB,gBAAuB,EACvB,mBAA0B,EAC1B,wBAA+B,EAC/B,OAAuB,EACvB,sBAAsC,EACtC,WAAqB,EACrB,WAAqB,EACrB,QAAQ,EACR,WAAuB,EACvB,oBAAoB,EACpB,gBAA+B,EAC/B,aAA4B,EAC5B,iBAAyB,EACzB,aAAiC,EACjC,YAAiB,EACjB,UAAkB,EAClB,YAAoB,EACpB,SAAiB,EACjB,UAAkB,EAClB,WAAmB,EACnB,cAAsB,EACtB,YAAkB,EAClB,WAAW,EACX,WAAW,EACX,gBACkE,EAClE,KAAY,EACZ,cAAqB,GACtB,EAAE,wBAAwB,CAAC,CAAC,CAAC,+BAwX7B"}
1
+ {"version":3,"file":"MultiSelectCheckBox.d.ts","sourceRoot":"","sources":["../../../src/components/MultiSelectCheckBox/MultiSelectCheckBox.tsx"],"names":[],"mappings":"AAAA,OAAO,EAUL,KAAK,SAAS,EAEf,MAAM,OAAO,CAAA;AAKd,OAAO,cAAc,CAAA;AAErB,MAAM,WAAW,yBAAyB;IACxC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB;AAED,MAAM,WAAW,wBAAwB,CACvC,CAAC,SAAS,yBAAyB,GAAG,yBAAyB;IAE/D,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAClB,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACnC,wBAAwB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAA;IACb,sBAAsB,CAAC,EAAE,CAAC,EAAE,CAAA;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,KAAK,IAAI,CAAA;IAClC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,UAAU,CAAC,EAAE,IAAI,GAAG,KAAK,CAAA;IACzB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAA;IACvC,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAA;IACpC,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,MAAM,GAAG,SAAS,CAAA;IACpD,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAC/B;AAcD,wBAAgB,mBAAmB,CACjC,CAAC,SAAS,yBAAyB,GAAG,yBAAyB,EAC/D,EACA,EAAS,EACT,KAAY,EACZ,SAAgB,EAChB,cAAqB,EACrB,cAAqB,EACrB,gBAAuB,EACvB,mBAA0B,EAC1B,wBAA+B,EAC/B,OAAuB,EACvB,sBAAsC,EACtC,WAAqB,EACrB,WAAqB,EACrB,QAAQ,EACR,WAAuB,EACvB,oBAAoB,EACpB,gBAA+B,EAC/B,aAA4B,EAC5B,iBAAyB,EACzB,aAAiC,EACjC,YAAiB,EACjB,UAAkB,EAClB,YAAoB,EACpB,SAAiB,EACjB,UAAkB,EAClB,WAAmB,EACnB,cAAsB,EACtB,YAAkB,EAClB,WAAW,EACX,WAAW,EACX,gBACkE,EAClE,KAAY,EACZ,cAAqB,GACtB,EAAE,wBAAwB,CAAC,CAAC,CAAC,+BA4Y7B"}
@@ -1,242 +1,255 @@
1
- import { jsx as t, jsxs as p } from "react/jsx-runtime";
2
- import { useRef as F, useState as b, useCallback as v, useEffect as k, useLayoutEffect as Se, useMemo as I } from "react";
3
- import { createPortal as Ee } from "react-dom";
4
- import { classNames as u } from "../shared/classNames.js";
1
+ import { jsx as c, jsxs as v } from "react/jsx-runtime";
2
+ import { useRef as I, useState as _, useCallback as p, useEffect as T, useLayoutEffect as ie, useMemo as j } from "react";
3
+ import { createPortal as Le } from "react-dom";
4
+ import { classNames as a } from "../shared/classNames.js";
5
5
  /* empty css */
6
- import { DotLoader as Le } from "../DotLoader/DotLoader.js";
7
- const te = [];
8
- function C(y, N, w) {
9
- return y.some(
10
- (T) => T?.[w] === N?.[w]
6
+ import { DotLoader as Re } from "../DotLoader/DotLoader.js";
7
+ const oe = [];
8
+ function $(k, w, y) {
9
+ return k.some(
10
+ (A) => A?.[y] === w?.[y]
11
11
  );
12
12
  }
13
- function Ae({
14
- id: y = null,
15
- label: N = null,
16
- className: w = null,
17
- labelClassName: T = null,
18
- inputClassName: le = null,
19
- optionsClassName: ce = null,
20
- optionItemClassName: j = null,
21
- searchableInputClassName: ie = null,
22
- options: S = te,
23
- defaultSelectedOptions: E = te,
24
- optionLabel: _ = "label",
25
- optionValue: c = "value",
26
- onChange: B,
27
- placeholder: K = "Seçiniz",
28
- selectedInputMessage: q,
29
- itemSelectedText: H = "öğe seçili",
30
- selectAllText: oe = "Tümünü Seç",
31
- searchPlaceholder: se = "Ara",
32
- noDataMessage: re = "Veri bulunamadı",
33
- errorMessage: L = "",
34
- errorPlace: W = "out",
35
- isSearchable: ue = !1,
36
- isLoading: ae = !1,
37
- isDisabled: m = !1,
13
+ function Be({
14
+ id: k = null,
15
+ label: w = null,
16
+ className: y = null,
17
+ labelClassName: A = null,
18
+ inputClassName: se = null,
19
+ optionsClassName: re = null,
20
+ optionItemClassName: K = null,
21
+ searchableInputClassName: ue = null,
22
+ options: N = oe,
23
+ defaultSelectedOptions: S = oe,
24
+ optionLabel: g = "label",
25
+ optionValue: l = "value",
26
+ onChange: q,
27
+ placeholder: P = "Seçiniz",
28
+ selectedInputMessage: W,
29
+ itemSelectedText: Y = "öğe seçili",
30
+ selectAllText: ae = "Tümünü Seç",
31
+ searchPlaceholder: de = "Ara",
32
+ noDataMessage: me = "Veri bulunamadı",
33
+ errorMessage: E = "",
34
+ errorPlace: G = "out",
35
+ isSearchable: z = !1,
36
+ isLoading: he = !1,
37
+ isDisabled: f = !1,
38
38
  reactPortal: i = !1,
39
- windowPosition: Y = !1,
40
- windowHeight: G = 800,
41
- windowClose: J,
42
- isScrollEnd: M,
43
- getOptionTooltip: de = (x) => typeof x?.tooltip == "string" ? x.tooltip : void 0,
44
- limit: he = null,
45
- selectionLimit: me = null
39
+ windowPosition: J = !1,
40
+ windowHeight: M = 800,
41
+ windowClose: Q,
42
+ isScrollEnd: U,
43
+ getOptionTooltip: pe = (x) => typeof x?.tooltip == "string" ? x.tooltip : void 0,
44
+ limit: fe = null,
45
+ selectionLimit: be = null
46
46
  }) {
47
- const x = F(null), $ = F(null), P = F(null), [o, Q] = b(!1), [n, U] = b(
48
- E
49
- ), [X, fe] = b(
47
+ const x = I(null), L = I(null), X = I(null), [s, Z] = _(!1), [t, V] = _(
48
+ S
49
+ ), [R, ee] = _(
50
50
  null
51
- ), [D, Z] = b(""), [pe, be] = b(null), [ve, V] = b(!1), s = Number(he ?? me), a = Number.isFinite(s) && s > 0, R = v(() => {
52
- if (!i || !$.current) return;
53
- const e = $.current.getBoundingClientRect();
54
- be({
51
+ ), [B, te] = _(""), [ve, _e] = _(null), [ge, ne] = _(!1), r = Number(fe ?? be), d = Number.isFinite(r) && r > 0, O = p(() => {
52
+ if (J) {
53
+ ee(Number(M) < 800 ? "top" : "bottom");
54
+ return;
55
+ }
56
+ const e = L.current;
57
+ if (!e) return;
58
+ const n = e.getBoundingClientRect(), o = window.innerHeight - n.bottom, u = n.top, h = 240 + (z ? 46 : 0) + 40;
59
+ ee(
60
+ o < h && u > o ? "top" : "bottom"
61
+ );
62
+ }, [z, M, J]), C = p(() => {
63
+ if (!i || !L.current) return;
64
+ const e = L.current.getBoundingClientRect();
65
+ _e({
55
66
  position: "fixed",
56
67
  left: e.left,
57
- top: e.bottom,
68
+ top: R === "top" ? e.top : e.bottom,
58
69
  width: e.width,
59
70
  zIndex: 9999
60
- }), V(!0);
61
- }, [i]);
62
- k(() => {
63
- const e = a ? E.slice(0, s) : E;
64
- U(e);
65
- }, [E, a, s]), k(() => {
66
- o || (J?.(!0), Z(""));
67
- }, [o, J]), k(() => {
68
- if (!o) return;
69
- const e = x.current, l = P.current, r = (h) => {
70
- const g = h.target, O = e?.contains(g), we = l?.contains(g);
71
- !O && !we && Q(!1);
71
+ }), ne(!0);
72
+ }, [i, R]);
73
+ T(() => {
74
+ const e = d ? S.slice(0, r) : S;
75
+ V(e);
76
+ }, [S, d, r]), T(() => {
77
+ s || (Q?.(!0), te(""));
78
+ }, [s, Q]), T(() => {
79
+ if (!s) return;
80
+ const e = x.current, n = X.current, o = (u) => {
81
+ const h = u.target, D = e?.contains(h), Ee = n?.contains(h);
82
+ !D && !Ee && Z(!1);
72
83
  };
73
- return document.addEventListener("pointerdown", r, !0), () => document.removeEventListener("pointerdown", r, !0);
74
- }, [o]), Se(() => {
75
- if (!o) {
76
- V(!1);
84
+ return document.addEventListener("pointerdown", o, !0), () => document.removeEventListener("pointerdown", o, !0);
85
+ }, [s]), ie(() => {
86
+ if (!s) {
87
+ ne(!1);
77
88
  return;
78
89
  }
79
- i && R();
80
- }, [o, i, R]), k(() => {
81
- if (!o || !i) return;
82
- const e = () => R();
90
+ O();
91
+ }, [s, O]), ie(() => {
92
+ !s || !i || C();
93
+ }, [s, i, C]), T(() => {
94
+ if (!s) return;
95
+ const e = () => {
96
+ O(), i && C();
97
+ };
83
98
  return window.addEventListener("resize", e), window.addEventListener("scroll", e, !0), () => {
84
99
  window.removeEventListener("resize", e), window.removeEventListener("scroll", e, !0);
85
100
  };
86
- }, [o, i, R]), k(() => {
87
- Y && fe(Number(G) < 800 ? "top" : "bottom");
88
- }, [G, Y]);
89
- const f = v(
101
+ }, [s, i, O, C]);
102
+ const b = p(
90
103
  (e) => {
91
- U(e), B?.(e);
104
+ V(e), q?.(e);
92
105
  },
93
- [B]
94
- ), _e = v(
106
+ [q]
107
+ ), xe = p(
95
108
  (e) => {
96
- const l = e.currentTarget;
97
- l.scrollHeight - l.scrollTop <= l.clientHeight + 1 && M?.(!0);
109
+ const n = e.currentTarget;
110
+ n.scrollHeight - n.scrollTop <= n.clientHeight + 1 && U?.(!0);
98
111
  },
99
- [M]
100
- ), xe = v(
112
+ [U]
113
+ ), ke = p(
101
114
  (e) => {
102
- if (C(n, e, c)) {
103
- f(
104
- n.filter(
105
- (l) => l?.[c] !== e?.[c]
115
+ if ($(t, e, l)) {
116
+ b(
117
+ t.filter(
118
+ (n) => n?.[l] !== e?.[l]
106
119
  )
107
120
  );
108
121
  return;
109
122
  }
110
- a && n.length >= s || f([...n, e]);
123
+ d && t.length >= r || b([...t, e]);
111
124
  },
112
125
  [
113
- a,
114
- s,
115
- c,
116
- n,
117
- f
126
+ d,
127
+ r,
128
+ l,
129
+ t,
130
+ b
118
131
  ]
119
- ), d = I(() => {
120
- const e = D.trim().toLocaleLowerCase();
121
- return e ? S.filter(
122
- (l) => String(l?.[_] ?? "").toLocaleLowerCase().includes(e)
123
- ) : S;
124
- }, [S, _, D]), ge = I(() => n.length === 0 ? "" : n.length === 1 ? String(n[0]?.[_] ?? "") : `${n.length} ${q || H}`, [H, _, q, n]), ke = W === "in" && L || K, ee = v(() => {
125
- m || Q((e) => !e);
126
- }, [m]), ye = (e) => {
127
- (e.key === "Enter" || e.key === " ") && (e.preventDefault(), ee());
128
- }, z = I(
129
- () => d.length > 0 && d.every(
130
- (e) => C(n, e, c)
132
+ ), m = j(() => {
133
+ const e = B.trim().toLocaleLowerCase();
134
+ return e ? N.filter(
135
+ (n) => String(n?.[g] ?? "").toLocaleLowerCase().includes(e)
136
+ ) : N;
137
+ }, [N, g, B]), we = j(() => t.length === 0 ? "" : t.length === 1 ? String(t[0]?.[g] ?? "") : `${t.length} ${W || Y}`, [Y, g, W, t]), ye = G === "in" && E || P, ce = p(() => {
138
+ f || Z((e) => !e);
139
+ }, [f]), Ne = (e) => {
140
+ (e.key === "Enter" || e.key === " ") && (e.preventDefault(), ce());
141
+ }, F = j(
142
+ () => m.length > 0 && m.every(
143
+ (e) => $(t, e, l)
131
144
  ),
132
- [d, c, n]
133
- ), Ne = v(() => {
134
- if (z) {
135
- f(
136
- n.filter(
137
- (r) => !d.some(
138
- (h) => r?.[c] === h?.[c]
145
+ [m, l, t]
146
+ ), Se = p(() => {
147
+ if (F) {
148
+ b(
149
+ t.filter(
150
+ (o) => !m.some(
151
+ (u) => o?.[l] === u?.[l]
139
152
  )
140
153
  )
141
154
  );
142
155
  return;
143
156
  }
144
- const e = d.filter(
145
- (r) => !C(n, r, c)
146
- ), l = a ? e.slice(0, Math.max(s - n.length, 0)) : e;
147
- f([...n, ...l]);
157
+ const e = m.filter(
158
+ (o) => !$(t, o, l)
159
+ ), n = d ? e.slice(0, Math.max(r - t.length, 0)) : e;
160
+ b([...t, ...n]);
148
161
  }, [
149
- z,
162
+ F,
163
+ m,
150
164
  d,
151
- a,
152
- s,
153
- c,
154
- n,
155
- f
156
- ]), A = y || "inconel-multi-select-checkbox", ne = /* @__PURE__ */ t(
165
+ r,
166
+ l,
167
+ t,
168
+ b
169
+ ]), H = k || "inconel-multi-select-checkbox", le = /* @__PURE__ */ c(
157
170
  "div",
158
171
  {
159
- ref: i ? P : void 0,
160
- className: u(
172
+ ref: i ? X : void 0,
173
+ className: a(
161
174
  "inconel-multi-select-checkbox__panel-wrap",
162
175
  i && "inconel-multi-select-checkbox__panel-wrap--portal",
163
- X === "top" && "inconel-is-open-top"
176
+ R === "top" && "inconel-is-open-top"
164
177
  ),
165
- style: i ? { ...pe ?? {}, visibility: ve ? "visible" : "hidden" } : void 0,
178
+ style: i ? { ...ve ?? {}, visibility: ge ? "visible" : "hidden" } : void 0,
166
179
  onPointerDown: (e) => e.stopPropagation(),
167
- children: /* @__PURE__ */ p(
180
+ children: /* @__PURE__ */ v(
168
181
  "div",
169
182
  {
170
- className: u(
183
+ className: a(
171
184
  "inconel-multi-select-checkbox__options",
172
185
  i && "inconel-multi-select-checkbox__options--portal",
173
- ce
186
+ re
174
187
  ),
175
- onScroll: _e,
188
+ onScroll: xe,
176
189
  children: [
177
- ue && /* @__PURE__ */ t("div", { className: "inconel-multi-select-checkbox__search", children: /* @__PURE__ */ t(
190
+ z && /* @__PURE__ */ c("div", { className: "inconel-multi-select-checkbox__search", children: /* @__PURE__ */ c(
178
191
  "input",
179
192
  {
180
193
  type: "text",
181
- placeholder: se,
182
- className: u(
194
+ placeholder: de,
195
+ className: a(
183
196
  "inconel-multi-select-checkbox__search-input",
184
- ie
197
+ ue
185
198
  ),
186
- value: D,
187
- onChange: (e) => Z(e.target.value),
188
- disabled: m
199
+ value: B,
200
+ onChange: (e) => te(e.target.value),
201
+ disabled: f
189
202
  }
190
203
  ) }),
191
- /* @__PURE__ */ p(
204
+ /* @__PURE__ */ v(
192
205
  "div",
193
206
  {
194
- className: u(
207
+ className: a(
195
208
  "inconel-multi-select-checkbox__option-item",
196
- j
209
+ K
197
210
  ),
198
211
  children: [
199
- /* @__PURE__ */ t(
212
+ /* @__PURE__ */ c(
200
213
  "input",
201
214
  {
202
- id: `${A}-select-all`,
215
+ id: `${H}-select-all`,
203
216
  type: "checkbox",
204
- checked: z,
205
- onChange: Ne,
206
- disabled: m
217
+ checked: F,
218
+ onChange: Se,
219
+ disabled: f
207
220
  }
208
221
  ),
209
- /* @__PURE__ */ t("label", { htmlFor: `${A}-select-all`, children: oe })
222
+ /* @__PURE__ */ c("label", { htmlFor: `${H}-select-all`, children: ae })
210
223
  ]
211
224
  }
212
225
  ),
213
- d.map((e, l) => {
214
- const r = e?.[c] ?? l, h = C(n, e, c), g = m || !h && a && n.length >= s, O = `${A}-${String(r)}`;
215
- return /* @__PURE__ */ p(
226
+ m.map((e, n) => {
227
+ const o = e?.[l] ?? n, u = $(t, e, l), h = f || !u && d && t.length >= r, D = `${H}-${String(o)}`;
228
+ return /* @__PURE__ */ v(
216
229
  "div",
217
230
  {
218
- className: u(
231
+ className: a(
219
232
  "inconel-multi-select-checkbox__option-item",
220
- h && "inconel-is-selected",
221
- g && "inconel-is-disabled",
222
- j
233
+ u && "inconel-is-selected",
234
+ h && "inconel-is-disabled",
235
+ K
223
236
  ),
224
- title: de(e),
237
+ title: pe(e),
225
238
  children: [
226
- /* @__PURE__ */ t(
239
+ /* @__PURE__ */ c(
227
240
  "input",
228
241
  {
229
- id: O,
242
+ id: D,
230
243
  type: "checkbox",
231
- checked: h,
232
- onChange: () => xe(e),
233
- disabled: g
244
+ checked: u,
245
+ onChange: () => ke(e),
246
+ disabled: h
234
247
  }
235
248
  ),
236
- /* @__PURE__ */ t("label", { htmlFor: O, children: String(e?.[_] ?? "") })
249
+ /* @__PURE__ */ c("label", { htmlFor: D, children: String(e?.[g] ?? "") })
237
250
  ]
238
251
  },
239
- String(r)
252
+ String(o)
240
253
  );
241
254
  })
242
255
  ]
@@ -244,55 +257,55 @@ function Ae({
244
257
  )
245
258
  }
246
259
  );
247
- return /* @__PURE__ */ p(
260
+ return /* @__PURE__ */ v(
248
261
  "div",
249
262
  {
250
263
  ref: x,
251
- id: y ?? void 0,
252
- className: u(
264
+ id: k ?? void 0,
265
+ className: a(
253
266
  "inconel-multi-select-checkbox",
254
- L && "inconel-is-error",
255
- m && "inconel-is-disabled",
256
- X === "top" && !i && "inconel-is-open-top",
257
- w
267
+ E && "inconel-is-error",
268
+ f && "inconel-is-disabled",
269
+ R === "top" && !i && "inconel-is-open-top",
270
+ y
258
271
  ),
259
272
  children: [
260
- N && /* @__PURE__ */ t(
273
+ w && /* @__PURE__ */ c(
261
274
  "span",
262
275
  {
263
- className: u(
276
+ className: a(
264
277
  "inconel-multi-select-checkbox__label",
265
- T
278
+ A
266
279
  ),
267
- children: N
280
+ children: w
268
281
  }
269
282
  ),
270
- /* @__PURE__ */ p("div", { className: "inconel-multi-select-checkbox__input-wrap", children: [
271
- ae && /* @__PURE__ */ t("div", { className: "inconel-multi-select-checkbox__loader-cover", children: /* @__PURE__ */ t(Le, {}) }),
272
- /* @__PURE__ */ p(
283
+ /* @__PURE__ */ v("div", { className: "inconel-multi-select-checkbox__input-wrap", children: [
284
+ he && /* @__PURE__ */ c("div", { className: "inconel-multi-select-checkbox__loader-cover", children: /* @__PURE__ */ c(Re, {}) }),
285
+ /* @__PURE__ */ v(
273
286
  "div",
274
287
  {
275
- ref: $,
288
+ ref: L,
276
289
  role: "button",
277
290
  tabIndex: 0,
278
291
  className: "inconel-multi-select-checkbox__input-container",
279
- onClick: ee,
280
- onKeyDown: ye,
292
+ onClick: ce,
293
+ onKeyDown: Ne,
281
294
  children: [
282
- /* @__PURE__ */ t(
295
+ /* @__PURE__ */ c(
283
296
  "input",
284
297
  {
285
298
  type: "text",
286
- className: u(
299
+ className: a(
287
300
  "inconel-multi-select-checkbox__input",
288
- le
301
+ se
289
302
  ),
290
- placeholder: ke,
303
+ placeholder: ye,
291
304
  readOnly: !0,
292
- value: ge
305
+ value: we
293
306
  }
294
307
  ),
295
- /* @__PURE__ */ t(
308
+ /* @__PURE__ */ c(
296
309
  "span",
297
310
  {
298
311
  className: "inconel-multi-select-checkbox__indicator",
@@ -303,13 +316,13 @@ function Ae({
303
316
  }
304
317
  )
305
318
  ] }),
306
- o && (S.length > 0 ? i ? Ee(ne, document.body) : ne : /* @__PURE__ */ t("div", { className: "inconel-multi-select-checkbox__nodata", children: /* @__PURE__ */ t("span", { children: re }) })),
307
- W !== "in" && L && /* @__PURE__ */ t("span", { className: "inconel-multi-select-checkbox__error", children: L })
319
+ s && (N.length > 0 ? i ? Le(le, document.body) : le : /* @__PURE__ */ c("div", { className: "inconel-multi-select-checkbox__nodata", children: /* @__PURE__ */ c("span", { children: me }) })),
320
+ G !== "in" && E && /* @__PURE__ */ c("span", { className: "inconel-multi-select-checkbox__error", children: E })
308
321
  ]
309
322
  }
310
323
  );
311
324
  }
312
325
  export {
313
- Ae as MultiSelectCheckBox
326
+ Be as MultiSelectCheckBox
314
327
  };
315
328
  //# sourceMappingURL=MultiSelectCheckBox.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MultiSelectCheckBox.js","sources":["../../../src/components/MultiSelectCheckBox/MultiSelectCheckBox.tsx"],"sourcesContent":["import {\n useCallback,\n useEffect,\n useLayoutEffect,\n useMemo,\n useRef,\n useState,\n type ChangeEvent,\n type CSSProperties,\n type KeyboardEvent,\n type ReactNode,\n type UIEvent,\n} from 'react'\nimport { createPortal } from 'react-dom'\n\nimport { DotLoader } from '../DotLoader'\nimport { classNames } from '../shared/classNames'\nimport './styles.css'\n\nexport interface MultiSelectCheckBoxOption {\n [key: string]: unknown\n}\n\nexport interface MultiSelectCheckBoxProps<\n T extends MultiSelectCheckBoxOption = MultiSelectCheckBoxOption,\n> {\n id?: string | null\n label?: ReactNode\n className?: string | null\n labelClassName?: string | null\n inputClassName?: string | null\n optionsClassName?: string | null\n optionItemClassName?: string | null\n searchableInputClassName?: string | null\n options?: T[]\n defaultSelectedOptions?: T[]\n optionLabel?: string\n optionValue?: string\n onChange?: (selected: T[]) => void\n placeholder?: string\n selectedInputMessage?: string\n itemSelectedText?: string\n selectAllText?: string\n searchPlaceholder?: string\n noDataMessage?: string\n errorMessage?: string\n errorPlace?: 'in' | 'out'\n isSearchable?: boolean\n isLoading?: boolean\n isDisabled?: boolean\n reactPortal?: boolean\n windowPosition?: boolean\n windowHeight?: number\n windowClose?: (closed: boolean) => void\n isScrollEnd?: (end: boolean) => void\n getOptionTooltip?: (option: T) => string | undefined\n limit?: number | null\n selectionLimit?: number | null\n}\n\nconst EMPTY_OPTIONS: never[] = []\n\nfunction isOptionSelected<T extends MultiSelectCheckBoxOption>(\n selected: T[],\n option: T,\n optionValue: string,\n) {\n return selected.some(\n (item) => item?.[optionValue] === option?.[optionValue],\n )\n}\n\nexport function MultiSelectCheckBox<\n T extends MultiSelectCheckBoxOption = MultiSelectCheckBoxOption,\n>({\n id = null,\n label = null,\n className = null,\n labelClassName = null,\n inputClassName = null,\n optionsClassName = null,\n optionItemClassName = null,\n searchableInputClassName = null,\n options = EMPTY_OPTIONS,\n defaultSelectedOptions = EMPTY_OPTIONS,\n optionLabel = 'label',\n optionValue = 'value',\n onChange,\n placeholder = 'Seçiniz',\n selectedInputMessage,\n itemSelectedText = 'öğe seçili',\n selectAllText = 'Tümünü Seç',\n searchPlaceholder = 'Ara',\n noDataMessage = 'Veri bulunamadı',\n errorMessage = '',\n errorPlace = 'out',\n isSearchable = false,\n isLoading = false,\n isDisabled = false,\n reactPortal = false,\n windowPosition = false,\n windowHeight = 800,\n windowClose,\n isScrollEnd,\n getOptionTooltip = (option: T) =>\n typeof option?.tooltip === 'string' ? option.tooltip : undefined,\n limit = null,\n selectionLimit = null,\n}: MultiSelectCheckBoxProps<T>) {\n const rootRef = useRef<HTMLDivElement>(null)\n const anchorRef = useRef<HTMLDivElement>(null)\n const portalWrapRef = useRef<HTMLDivElement>(null)\n\n const [showOptions, setShowOptions] = useState(false)\n const [selectedOptions, setSelectedOptions] = useState<T[]>(\n defaultSelectedOptions,\n )\n const [openDirection, setOpenDirection] = useState<'top' | 'bottom' | null>(\n null,\n )\n const [searchValue, setSearchValue] = useState('')\n const [portalStyle, setPortalStyle] = useState<CSSProperties | null>(null)\n const [portalReady, setPortalReady] = useState(false)\n\n const selectionLimitValue = limit ?? selectionLimit\n const maxSelectionCount = Number(selectionLimitValue)\n const hasSelectionLimit =\n Number.isFinite(maxSelectionCount) && maxSelectionCount > 0\n\n const recomputePortalPosition = useCallback(() => {\n if (!reactPortal || !anchorRef.current) return\n const rect = anchorRef.current.getBoundingClientRect()\n setPortalStyle({\n position: 'fixed',\n left: rect.left,\n top: rect.bottom,\n width: rect.width,\n zIndex: 9999,\n })\n setPortalReady(true)\n }, [reactPortal])\n\n useEffect(() => {\n const next = hasSelectionLimit\n ? defaultSelectedOptions.slice(0, maxSelectionCount)\n : defaultSelectedOptions\n setSelectedOptions(next)\n }, [defaultSelectedOptions, hasSelectionLimit, maxSelectionCount])\n\n useEffect(() => {\n if (!showOptions) {\n windowClose?.(true)\n setSearchValue('')\n }\n }, [showOptions, windowClose])\n\n useEffect(() => {\n if (!showOptions) return undefined\n\n const rootEl = rootRef.current\n const portalEl = portalWrapRef.current\n\n const handlePointerDown = (event: PointerEvent) => {\n const target = event.target as Node\n const inRoot = rootEl?.contains(target)\n const inPortal = portalEl?.contains(target)\n if (!inRoot && !inPortal) setShowOptions(false)\n }\n\n document.addEventListener('pointerdown', handlePointerDown, true)\n return () =>\n document.removeEventListener('pointerdown', handlePointerDown, true)\n }, [showOptions])\n\n useLayoutEffect(() => {\n if (!showOptions) {\n setPortalReady(false)\n return\n }\n if (!reactPortal) return\n recomputePortalPosition()\n }, [showOptions, reactPortal, recomputePortalPosition])\n\n useEffect(() => {\n if (!showOptions || !reactPortal) return undefined\n\n const handleReposition = () => recomputePortalPosition()\n window.addEventListener('resize', handleReposition)\n window.addEventListener('scroll', handleReposition, true)\n\n return () => {\n window.removeEventListener('resize', handleReposition)\n window.removeEventListener('scroll', handleReposition, true)\n }\n }, [showOptions, reactPortal, recomputePortalPosition])\n\n useEffect(() => {\n if (!windowPosition) return\n setOpenDirection(Number(windowHeight) < 800 ? 'top' : 'bottom')\n }, [windowHeight, windowPosition])\n\n const updateSelection = useCallback(\n (next: T[]) => {\n setSelectedOptions(next)\n onChange?.(next)\n },\n [onChange],\n )\n\n const handleScroll = useCallback(\n (event: UIEvent<HTMLDivElement>) => {\n const target = event.currentTarget\n if (target.scrollHeight - target.scrollTop <= target.clientHeight + 1) {\n isScrollEnd?.(true)\n }\n },\n [isScrollEnd],\n )\n\n const toggleOption = useCallback(\n (option: T) => {\n if (isOptionSelected(selectedOptions, option, optionValue)) {\n updateSelection(\n selectedOptions.filter(\n (item) => item?.[optionValue] !== option?.[optionValue],\n ),\n )\n return\n }\n if (hasSelectionLimit && selectedOptions.length >= maxSelectionCount) {\n return\n }\n updateSelection([...selectedOptions, option])\n },\n [\n hasSelectionLimit,\n maxSelectionCount,\n optionValue,\n selectedOptions,\n updateSelection,\n ],\n )\n\n const filteredOptions = useMemo(() => {\n const query = searchValue.trim().toLocaleLowerCase()\n if (!query) return options\n return options.filter((option) =>\n String(option?.[optionLabel] ?? '')\n .toLocaleLowerCase()\n .includes(query),\n )\n }, [options, optionLabel, searchValue])\n\n const inputValue = useMemo(() => {\n if (selectedOptions.length === 0) return ''\n if (selectedOptions.length === 1) {\n return String(selectedOptions[0]?.[optionLabel] ?? '')\n }\n return `${selectedOptions.length} ${selectedInputMessage || itemSelectedText}`\n }, [itemSelectedText, optionLabel, selectedInputMessage, selectedOptions])\n\n const inputPlaceholder =\n errorPlace === 'in' ? errorMessage || placeholder : placeholder\n\n const toggleDropdown = useCallback(() => {\n if (isDisabled) return\n setShowOptions((prev) => !prev)\n }, [isDisabled])\n\n const handleTriggerKeyDown = (event: KeyboardEvent<HTMLDivElement>) => {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault()\n toggleDropdown()\n }\n }\n\n const allFilteredSelected = useMemo(\n () =>\n filteredOptions.length > 0 &&\n filteredOptions.every((option) =>\n isOptionSelected(selectedOptions, option, optionValue),\n ),\n [filteredOptions, optionValue, selectedOptions],\n )\n\n const handleSelectAll = useCallback(() => {\n if (allFilteredSelected) {\n updateSelection(\n selectedOptions.filter(\n (selected) =>\n !filteredOptions.some(\n (option) => selected?.[optionValue] === option?.[optionValue],\n ),\n ),\n )\n return\n }\n const toAdd = filteredOptions.filter(\n (option) => !isOptionSelected(selectedOptions, option, optionValue),\n )\n const limitedToAdd = hasSelectionLimit\n ? toAdd.slice(0, Math.max(maxSelectionCount - selectedOptions.length, 0))\n : toAdd\n updateSelection([...selectedOptions, ...limitedToAdd])\n }, [\n allFilteredSelected,\n filteredOptions,\n hasSelectionLimit,\n maxSelectionCount,\n optionValue,\n selectedOptions,\n updateSelection,\n ])\n\n const baseId = id || 'inconel-multi-select-checkbox'\n\n const optionsPanel = (\n <div\n ref={reactPortal ? portalWrapRef : undefined}\n className={classNames(\n 'inconel-multi-select-checkbox__panel-wrap',\n reactPortal && 'inconel-multi-select-checkbox__panel-wrap--portal',\n openDirection === 'top' && 'inconel-is-open-top',\n )}\n style={\n reactPortal\n ? { ...(portalStyle ?? {}), visibility: portalReady ? 'visible' : 'hidden' }\n : undefined\n }\n onPointerDown={(event) => event.stopPropagation()}\n >\n <div\n className={classNames(\n 'inconel-multi-select-checkbox__options',\n reactPortal && 'inconel-multi-select-checkbox__options--portal',\n optionsClassName,\n )}\n onScroll={handleScroll}\n >\n {isSearchable && (\n <div className=\"inconel-multi-select-checkbox__search\">\n <input\n type=\"text\"\n placeholder={searchPlaceholder}\n className={classNames(\n 'inconel-multi-select-checkbox__search-input',\n searchableInputClassName,\n )}\n value={searchValue}\n onChange={(event: ChangeEvent<HTMLInputElement>) =>\n setSearchValue(event.target.value)\n }\n disabled={isDisabled}\n />\n </div>\n )}\n\n <div\n className={classNames(\n 'inconel-multi-select-checkbox__option-item',\n optionItemClassName,\n )}\n >\n <input\n id={`${baseId}-select-all`}\n type=\"checkbox\"\n checked={allFilteredSelected}\n onChange={handleSelectAll}\n disabled={isDisabled}\n />\n <label htmlFor={`${baseId}-select-all`}>{selectAllText}</label>\n </div>\n\n {filteredOptions.map((option, index) => {\n const value = option?.[optionValue] ?? index\n const checked = isOptionSelected(selectedOptions, option, optionValue)\n const optionDisabled =\n isDisabled ||\n (!checked && hasSelectionLimit && selectedOptions.length >= maxSelectionCount)\n const inputId = `${baseId}-${String(value)}`\n\n return (\n <div\n key={String(value)}\n className={classNames(\n 'inconel-multi-select-checkbox__option-item',\n checked && 'inconel-is-selected',\n optionDisabled && 'inconel-is-disabled',\n optionItemClassName,\n )}\n title={getOptionTooltip(option)}\n >\n <input\n id={inputId}\n type=\"checkbox\"\n checked={checked}\n onChange={() => toggleOption(option)}\n disabled={optionDisabled}\n />\n <label htmlFor={inputId}>\n {String(option?.[optionLabel] ?? '')}\n </label>\n </div>\n )\n })}\n </div>\n </div>\n )\n\n return (\n <div\n ref={rootRef}\n id={id ?? undefined}\n className={classNames(\n 'inconel-multi-select-checkbox',\n errorMessage && 'inconel-is-error',\n isDisabled && 'inconel-is-disabled',\n openDirection === 'top' && !reactPortal && 'inconel-is-open-top',\n className,\n )}\n >\n {label && (\n <span\n className={classNames(\n 'inconel-multi-select-checkbox__label',\n labelClassName,\n )}\n >\n {label}\n </span>\n )}\n\n <div className=\"inconel-multi-select-checkbox__input-wrap\">\n {isLoading && (\n <div className=\"inconel-multi-select-checkbox__loader-cover\">\n <DotLoader />\n </div>\n )}\n\n <div\n ref={anchorRef}\n role=\"button\"\n tabIndex={0}\n className=\"inconel-multi-select-checkbox__input-container\"\n onClick={toggleDropdown}\n onKeyDown={handleTriggerKeyDown}\n >\n <input\n type=\"text\"\n className={classNames(\n 'inconel-multi-select-checkbox__input',\n inputClassName,\n )}\n placeholder={inputPlaceholder}\n readOnly\n value={inputValue}\n />\n <span\n className=\"inconel-multi-select-checkbox__indicator\"\n aria-hidden=\"true\"\n />\n </div>\n </div>\n\n {showOptions &&\n (options.length > 0 ? (\n reactPortal ? (\n createPortal(optionsPanel, document.body)\n ) : (\n optionsPanel\n )\n ) : (\n <div className=\"inconel-multi-select-checkbox__nodata\">\n <span>{noDataMessage}</span>\n </div>\n ))}\n\n {errorPlace !== 'in' && errorMessage && (\n <span className=\"inconel-multi-select-checkbox__error\">\n {errorMessage}\n </span>\n )}\n </div>\n )\n}\n"],"names":["EMPTY_OPTIONS","isOptionSelected","selected","option","optionValue","item","MultiSelectCheckBox","id","label","className","labelClassName","inputClassName","optionsClassName","optionItemClassName","searchableInputClassName","options","defaultSelectedOptions","optionLabel","onChange","placeholder","selectedInputMessage","itemSelectedText","selectAllText","searchPlaceholder","noDataMessage","errorMessage","errorPlace","isSearchable","isLoading","isDisabled","reactPortal","windowPosition","windowHeight","windowClose","isScrollEnd","getOptionTooltip","limit","selectionLimit","rootRef","useRef","anchorRef","portalWrapRef","showOptions","setShowOptions","useState","selectedOptions","setSelectedOptions","openDirection","setOpenDirection","searchValue","setSearchValue","portalStyle","setPortalStyle","portalReady","setPortalReady","maxSelectionCount","hasSelectionLimit","recomputePortalPosition","useCallback","rect","useEffect","next","rootEl","portalEl","handlePointerDown","event","target","inRoot","inPortal","useLayoutEffect","handleReposition","updateSelection","handleScroll","toggleOption","filteredOptions","useMemo","query","inputValue","inputPlaceholder","toggleDropdown","prev","handleTriggerKeyDown","allFilteredSelected","handleSelectAll","toAdd","limitedToAdd","baseId","optionsPanel","jsx","classNames","jsxs","index","value","checked","optionDisabled","inputId","DotLoader","createPortal"],"mappings":"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"}
1
+ {"version":3,"file":"MultiSelectCheckBox.js","sources":["../../../src/components/MultiSelectCheckBox/MultiSelectCheckBox.tsx"],"sourcesContent":["import {\n useCallback,\n useEffect,\n useLayoutEffect,\n useMemo,\n useRef,\n useState,\n type ChangeEvent,\n type CSSProperties,\n type KeyboardEvent,\n type ReactNode,\n type UIEvent,\n} from 'react'\nimport { createPortal } from 'react-dom'\n\nimport { DotLoader } from '../DotLoader'\nimport { classNames } from '../shared/classNames'\nimport './styles.css'\n\nexport interface MultiSelectCheckBoxOption {\n [key: string]: unknown\n}\n\nexport interface MultiSelectCheckBoxProps<\n T extends MultiSelectCheckBoxOption = MultiSelectCheckBoxOption,\n> {\n id?: string | null\n label?: ReactNode\n className?: string | null\n labelClassName?: string | null\n inputClassName?: string | null\n optionsClassName?: string | null\n optionItemClassName?: string | null\n searchableInputClassName?: string | null\n options?: T[]\n defaultSelectedOptions?: T[]\n optionLabel?: string\n optionValue?: string\n onChange?: (selected: T[]) => void\n placeholder?: string\n selectedInputMessage?: string\n itemSelectedText?: string\n selectAllText?: string\n searchPlaceholder?: string\n noDataMessage?: string\n errorMessage?: string\n errorPlace?: 'in' | 'out'\n isSearchable?: boolean\n isLoading?: boolean\n isDisabled?: boolean\n reactPortal?: boolean\n windowPosition?: boolean\n windowHeight?: number\n windowClose?: (closed: boolean) => void\n isScrollEnd?: (end: boolean) => void\n getOptionTooltip?: (option: T) => string | undefined\n limit?: number | null\n selectionLimit?: number | null\n}\n\nconst EMPTY_OPTIONS: never[] = []\n\nfunction isOptionSelected<T extends MultiSelectCheckBoxOption>(\n selected: T[],\n option: T,\n optionValue: string,\n) {\n return selected.some(\n (item) => item?.[optionValue] === option?.[optionValue],\n )\n}\n\nexport function MultiSelectCheckBox<\n T extends MultiSelectCheckBoxOption = MultiSelectCheckBoxOption,\n>({\n id = null,\n label = null,\n className = null,\n labelClassName = null,\n inputClassName = null,\n optionsClassName = null,\n optionItemClassName = null,\n searchableInputClassName = null,\n options = EMPTY_OPTIONS,\n defaultSelectedOptions = EMPTY_OPTIONS,\n optionLabel = 'label',\n optionValue = 'value',\n onChange,\n placeholder = 'Seçiniz',\n selectedInputMessage,\n itemSelectedText = 'öğe seçili',\n selectAllText = 'Tümünü Seç',\n searchPlaceholder = 'Ara',\n noDataMessage = 'Veri bulunamadı',\n errorMessage = '',\n errorPlace = 'out',\n isSearchable = false,\n isLoading = false,\n isDisabled = false,\n reactPortal = false,\n windowPosition = false,\n windowHeight = 800,\n windowClose,\n isScrollEnd,\n getOptionTooltip = (option: T) =>\n typeof option?.tooltip === 'string' ? option.tooltip : undefined,\n limit = null,\n selectionLimit = null,\n}: MultiSelectCheckBoxProps<T>) {\n const rootRef = useRef<HTMLDivElement>(null)\n const anchorRef = useRef<HTMLDivElement>(null)\n const portalWrapRef = useRef<HTMLDivElement>(null)\n\n const [showOptions, setShowOptions] = useState(false)\n const [selectedOptions, setSelectedOptions] = useState<T[]>(\n defaultSelectedOptions,\n )\n const [openDirection, setOpenDirection] = useState<'top' | 'bottom' | null>(\n null,\n )\n const [searchValue, setSearchValue] = useState('')\n const [portalStyle, setPortalStyle] = useState<CSSProperties | null>(null)\n const [portalReady, setPortalReady] = useState(false)\n\n const selectionLimitValue = limit ?? selectionLimit\n const maxSelectionCount = Number(selectionLimitValue)\n const hasSelectionLimit =\n Number.isFinite(maxSelectionCount) && maxSelectionCount > 0\n\n const recomputeOpenDirection = useCallback(() => {\n if (windowPosition) {\n setOpenDirection(Number(windowHeight) < 800 ? 'top' : 'bottom')\n return\n }\n const anchor = anchorRef.current\n if (!anchor) return\n const rect = anchor.getBoundingClientRect()\n const spaceBelow = window.innerHeight - rect.bottom\n const spaceAbove = rect.top\n const estimatedPanelHeight = 240 + (isSearchable ? 46 : 0) + 40\n setOpenDirection(\n spaceBelow < estimatedPanelHeight && spaceAbove > spaceBelow\n ? 'top'\n : 'bottom',\n )\n }, [isSearchable, windowHeight, windowPosition])\n\n const recomputePortalPosition = useCallback(() => {\n if (!reactPortal || !anchorRef.current) return\n const rect = anchorRef.current.getBoundingClientRect()\n setPortalStyle({\n position: 'fixed',\n left: rect.left,\n top: openDirection === 'top' ? rect.top : rect.bottom,\n width: rect.width,\n zIndex: 9999,\n })\n setPortalReady(true)\n }, [reactPortal, openDirection])\n\n useEffect(() => {\n const next = hasSelectionLimit\n ? defaultSelectedOptions.slice(0, maxSelectionCount)\n : defaultSelectedOptions\n setSelectedOptions(next)\n }, [defaultSelectedOptions, hasSelectionLimit, maxSelectionCount])\n\n useEffect(() => {\n if (!showOptions) {\n windowClose?.(true)\n setSearchValue('')\n }\n }, [showOptions, windowClose])\n\n useEffect(() => {\n if (!showOptions) return undefined\n\n const rootEl = rootRef.current\n const portalEl = portalWrapRef.current\n\n const handlePointerDown = (event: PointerEvent) => {\n const target = event.target as Node\n const inRoot = rootEl?.contains(target)\n const inPortal = portalEl?.contains(target)\n if (!inRoot && !inPortal) setShowOptions(false)\n }\n\n document.addEventListener('pointerdown', handlePointerDown, true)\n return () =>\n document.removeEventListener('pointerdown', handlePointerDown, true)\n }, [showOptions])\n\n useLayoutEffect(() => {\n if (!showOptions) {\n setPortalReady(false)\n return\n }\n recomputeOpenDirection()\n }, [showOptions, recomputeOpenDirection])\n\n useLayoutEffect(() => {\n if (!showOptions || !reactPortal) return\n recomputePortalPosition()\n }, [showOptions, reactPortal, recomputePortalPosition])\n\n useEffect(() => {\n if (!showOptions) return undefined\n\n const handleReposition = () => {\n recomputeOpenDirection()\n if (reactPortal) recomputePortalPosition()\n }\n window.addEventListener('resize', handleReposition)\n window.addEventListener('scroll', handleReposition, true)\n\n return () => {\n window.removeEventListener('resize', handleReposition)\n window.removeEventListener('scroll', handleReposition, true)\n }\n }, [showOptions, reactPortal, recomputeOpenDirection, recomputePortalPosition])\n\n const updateSelection = useCallback(\n (next: T[]) => {\n setSelectedOptions(next)\n onChange?.(next)\n },\n [onChange],\n )\n\n const handleScroll = useCallback(\n (event: UIEvent<HTMLDivElement>) => {\n const target = event.currentTarget\n if (target.scrollHeight - target.scrollTop <= target.clientHeight + 1) {\n isScrollEnd?.(true)\n }\n },\n [isScrollEnd],\n )\n\n const toggleOption = useCallback(\n (option: T) => {\n if (isOptionSelected(selectedOptions, option, optionValue)) {\n updateSelection(\n selectedOptions.filter(\n (item) => item?.[optionValue] !== option?.[optionValue],\n ),\n )\n return\n }\n if (hasSelectionLimit && selectedOptions.length >= maxSelectionCount) {\n return\n }\n updateSelection([...selectedOptions, option])\n },\n [\n hasSelectionLimit,\n maxSelectionCount,\n optionValue,\n selectedOptions,\n updateSelection,\n ],\n )\n\n const filteredOptions = useMemo(() => {\n const query = searchValue.trim().toLocaleLowerCase()\n if (!query) return options\n return options.filter((option) =>\n String(option?.[optionLabel] ?? '')\n .toLocaleLowerCase()\n .includes(query),\n )\n }, [options, optionLabel, searchValue])\n\n const inputValue = useMemo(() => {\n if (selectedOptions.length === 0) return ''\n if (selectedOptions.length === 1) {\n return String(selectedOptions[0]?.[optionLabel] ?? '')\n }\n return `${selectedOptions.length} ${selectedInputMessage || itemSelectedText}`\n }, [itemSelectedText, optionLabel, selectedInputMessage, selectedOptions])\n\n const inputPlaceholder =\n errorPlace === 'in' ? errorMessage || placeholder : placeholder\n\n const toggleDropdown = useCallback(() => {\n if (isDisabled) return\n setShowOptions((prev) => !prev)\n }, [isDisabled])\n\n const handleTriggerKeyDown = (event: KeyboardEvent<HTMLDivElement>) => {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault()\n toggleDropdown()\n }\n }\n\n const allFilteredSelected = useMemo(\n () =>\n filteredOptions.length > 0 &&\n filteredOptions.every((option) =>\n isOptionSelected(selectedOptions, option, optionValue),\n ),\n [filteredOptions, optionValue, selectedOptions],\n )\n\n const handleSelectAll = useCallback(() => {\n if (allFilteredSelected) {\n updateSelection(\n selectedOptions.filter(\n (selected) =>\n !filteredOptions.some(\n (option) => selected?.[optionValue] === option?.[optionValue],\n ),\n ),\n )\n return\n }\n const toAdd = filteredOptions.filter(\n (option) => !isOptionSelected(selectedOptions, option, optionValue),\n )\n const limitedToAdd = hasSelectionLimit\n ? toAdd.slice(0, Math.max(maxSelectionCount - selectedOptions.length, 0))\n : toAdd\n updateSelection([...selectedOptions, ...limitedToAdd])\n }, [\n allFilteredSelected,\n filteredOptions,\n hasSelectionLimit,\n maxSelectionCount,\n optionValue,\n selectedOptions,\n updateSelection,\n ])\n\n const baseId = id || 'inconel-multi-select-checkbox'\n\n const optionsPanel = (\n <div\n ref={reactPortal ? portalWrapRef : undefined}\n className={classNames(\n 'inconel-multi-select-checkbox__panel-wrap',\n reactPortal && 'inconel-multi-select-checkbox__panel-wrap--portal',\n openDirection === 'top' && 'inconel-is-open-top',\n )}\n style={\n reactPortal\n ? { ...(portalStyle ?? {}), visibility: portalReady ? 'visible' : 'hidden' }\n : undefined\n }\n onPointerDown={(event) => event.stopPropagation()}\n >\n <div\n className={classNames(\n 'inconel-multi-select-checkbox__options',\n reactPortal && 'inconel-multi-select-checkbox__options--portal',\n optionsClassName,\n )}\n onScroll={handleScroll}\n >\n {isSearchable && (\n <div className=\"inconel-multi-select-checkbox__search\">\n <input\n type=\"text\"\n placeholder={searchPlaceholder}\n className={classNames(\n 'inconel-multi-select-checkbox__search-input',\n searchableInputClassName,\n )}\n value={searchValue}\n onChange={(event: ChangeEvent<HTMLInputElement>) =>\n setSearchValue(event.target.value)\n }\n disabled={isDisabled}\n />\n </div>\n )}\n\n <div\n className={classNames(\n 'inconel-multi-select-checkbox__option-item',\n optionItemClassName,\n )}\n >\n <input\n id={`${baseId}-select-all`}\n type=\"checkbox\"\n checked={allFilteredSelected}\n onChange={handleSelectAll}\n disabled={isDisabled}\n />\n <label htmlFor={`${baseId}-select-all`}>{selectAllText}</label>\n </div>\n\n {filteredOptions.map((option, index) => {\n const value = option?.[optionValue] ?? index\n const checked = isOptionSelected(selectedOptions, option, optionValue)\n const optionDisabled =\n isDisabled ||\n (!checked && hasSelectionLimit && selectedOptions.length >= maxSelectionCount)\n const inputId = `${baseId}-${String(value)}`\n\n return (\n <div\n key={String(value)}\n className={classNames(\n 'inconel-multi-select-checkbox__option-item',\n checked && 'inconel-is-selected',\n optionDisabled && 'inconel-is-disabled',\n optionItemClassName,\n )}\n title={getOptionTooltip(option)}\n >\n <input\n id={inputId}\n type=\"checkbox\"\n checked={checked}\n onChange={() => toggleOption(option)}\n disabled={optionDisabled}\n />\n <label htmlFor={inputId}>\n {String(option?.[optionLabel] ?? '')}\n </label>\n </div>\n )\n })}\n </div>\n </div>\n )\n\n return (\n <div\n ref={rootRef}\n id={id ?? undefined}\n className={classNames(\n 'inconel-multi-select-checkbox',\n errorMessage && 'inconel-is-error',\n isDisabled && 'inconel-is-disabled',\n openDirection === 'top' && !reactPortal && 'inconel-is-open-top',\n className,\n )}\n >\n {label && (\n <span\n className={classNames(\n 'inconel-multi-select-checkbox__label',\n labelClassName,\n )}\n >\n {label}\n </span>\n )}\n\n <div className=\"inconel-multi-select-checkbox__input-wrap\">\n {isLoading && (\n <div className=\"inconel-multi-select-checkbox__loader-cover\">\n <DotLoader />\n </div>\n )}\n\n <div\n ref={anchorRef}\n role=\"button\"\n tabIndex={0}\n className=\"inconel-multi-select-checkbox__input-container\"\n onClick={toggleDropdown}\n onKeyDown={handleTriggerKeyDown}\n >\n <input\n type=\"text\"\n className={classNames(\n 'inconel-multi-select-checkbox__input',\n inputClassName,\n )}\n placeholder={inputPlaceholder}\n readOnly\n value={inputValue}\n />\n <span\n className=\"inconel-multi-select-checkbox__indicator\"\n aria-hidden=\"true\"\n />\n </div>\n </div>\n\n {showOptions &&\n (options.length > 0 ? (\n reactPortal ? (\n createPortal(optionsPanel, document.body)\n ) : (\n optionsPanel\n )\n ) : (\n <div className=\"inconel-multi-select-checkbox__nodata\">\n <span>{noDataMessage}</span>\n </div>\n ))}\n\n {errorPlace !== 'in' && errorMessage && (\n <span className=\"inconel-multi-select-checkbox__error\">\n {errorMessage}\n </span>\n )}\n </div>\n )\n}\n"],"names":["EMPTY_OPTIONS","isOptionSelected","selected","option","optionValue","item","MultiSelectCheckBox","id","label","className","labelClassName","inputClassName","optionsClassName","optionItemClassName","searchableInputClassName","options","defaultSelectedOptions","optionLabel","onChange","placeholder","selectedInputMessage","itemSelectedText","selectAllText","searchPlaceholder","noDataMessage","errorMessage","errorPlace","isSearchable","isLoading","isDisabled","reactPortal","windowPosition","windowHeight","windowClose","isScrollEnd","getOptionTooltip","limit","selectionLimit","rootRef","useRef","anchorRef","portalWrapRef","showOptions","setShowOptions","useState","selectedOptions","setSelectedOptions","openDirection","setOpenDirection","searchValue","setSearchValue","portalStyle","setPortalStyle","portalReady","setPortalReady","maxSelectionCount","hasSelectionLimit","recomputeOpenDirection","useCallback","anchor","rect","spaceBelow","spaceAbove","estimatedPanelHeight","recomputePortalPosition","useEffect","next","rootEl","portalEl","handlePointerDown","event","target","inRoot","inPortal","useLayoutEffect","handleReposition","updateSelection","handleScroll","toggleOption","filteredOptions","useMemo","query","inputValue","inputPlaceholder","toggleDropdown","prev","handleTriggerKeyDown","allFilteredSelected","handleSelectAll","toAdd","limitedToAdd","baseId","optionsPanel","jsx","classNames","jsxs","index","value","checked","optionDisabled","inputId","DotLoader","createPortal"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "inconel",
3
- "version": "0.1.23",
3
+ "version": "0.1.25",
4
4
  "description": "Accessible, type-safe React UI components for modern applications.",
5
5
  "keywords": [
6
6
  "react",