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.
- package/dist/cjs/components/DatePicker/DatePicker.cjs +1 -1
- package/dist/cjs/components/DatePicker/DatePicker.cjs.map +1 -1
- package/dist/cjs/components/MultiSelectCheckBox/MultiSelectCheckBox.cjs +1 -1
- package/dist/cjs/components/MultiSelectCheckBox/MultiSelectCheckBox.cjs.map +1 -1
- package/dist/components/DatePicker/DatePicker.d.ts.map +1 -1
- package/dist/components/DatePicker/DatePicker.js +17 -17
- package/dist/components/DatePicker/DatePicker.js.map +1 -1
- package/dist/components/MultiSelectCheckBox/MultiSelectCheckBox.d.ts.map +1 -1
- package/dist/components/MultiSelectCheckBox/MultiSelectCheckBox.js +198 -185
- package/dist/components/MultiSelectCheckBox/MultiSelectCheckBox.js.map +1 -1
- package/package.json +1 -1
|
@@ -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":"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"}
|
|
@@ -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"),
|
|
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
|
|
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
|
-
|
|
14
|
-
const Se =
|
|
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:
|
|
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:
|
|
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:
|
|
72
|
-
isLoading:
|
|
71
|
+
popperContainer: ce,
|
|
72
|
+
isLoading: se = !1
|
|
73
73
|
}) {
|
|
74
|
-
const
|
|
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-${
|
|
81
|
-
`inconel-date-picker--${
|
|
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
|
-
|
|
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: (
|
|
123
|
-
const pe = Array.isArray(
|
|
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: (
|
|
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:
|
|
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
|
-
|
|
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":";;;;;;;;;;;;AAmBAA,GAAe,MAAMC,EAAE;AAIvB,MAAMC,KAASC;AAgER,SAASC,GAAW;AAAA,EACzB,IAAAC,IAAK;AAAA,EACL,OAAAC,IAAQ;AAAA,EACR,UAAAC;AAAA,EACA,QAAAC;AAAA,EACA,SAAAC;AAAA,EACA,SAAAC;AAAA,EACA,UAAAC,IAAW;AAAA,EACX,WAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,aAAAC;AAAA,EACA,MAAAC,IAAO;AAAA,EACP,OAAAC;AAAA,EACA,eAAAC,IAAgB;AAAA,EAChB,cAAAC;AAAA,EACA,YAAAC;AAAA,EACA,YAAAC,IAAa;AAAA,EACb,SAAAC;AAAA,EACA,SAAAC,IAAU,oBAAI,KAAK,YAAY;AAAA,EAC/B,gBAAAC,IAAiB;AAAA,EACjB,oBAAAC,IAAqB;AAAA,EACrB,gBAAAC,IAAiB;AAAA,EACjB,qBAAAC,IAAsB;AAAA,EACtB,yBAAAC,IAA0B;AAAA,EAC1B,cAAAC,IAAe;AAAA,EACf,SAAAC,IAAU;AAAA,EACV,SAAAC;AAAA,EACA,SAAAC;AAAA,EACA,UAAAC,IAAW;AAAA,EACX,UAAAC;AAAA,EACA,aAAAC,IAAc;AAAA,EACd,eAAAC,IAAgB;AAAA,EAChB,mBAAAC,IAAoB;AAAA,EACpB,kBAAAC,IAAmB;AAAA,EACnB,cAAAC;AAAA,EACA,UAAAC;AAAA,EACA,aAAAC,IAAc;AAAA,EACd,aAAAC;AAAA,EACA,aAAAC,IAAc;AAAA,EACd,MAAAC,IAAO;AAAA,EACP,iBAAAC,IAAkB;AAAA,EAClB,UAAAC,IAAW;AAAA,EACX,cAAAC;AAAA,EACA,aAAAC,IAAc;AAAA,EACd,cAAAC,IAAe;AAAA,EACf,QAAAC,IAAS;AAAA,EACT,QAAAC,KAAS;AAAA,EACT,WAAAC;AAAA,EACA,SAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,MAAAC,IAAO;AAAA,EACP,eAAAC;AAAA,EACA,cAAAC;AAAA,EACA,gBAAAC,KAAiB,CAAA;AAAA,EACjB,iBAAAC;AAAA,EACA,WAAAC,KAAY;AACd,GAAoB;AAClB,QAAMC,IAAWC,GAAA,GACXC,KAAeC,GAAOC,EAAc5D,CAAK,CAAC,GAC1C6D,KAAWD,EAAc5D,CAAK,GAC9B8D,IACJ,OAAOZ,KAAS,WAAWA,IAAOM,EAAS,QAAQ,UAC/CO,KACJjD,MAAe,QAAQD,IACnB,OAAOA,CAAY,IACnBJ,KACA,OAAO+C,EAAS,YAAY,QAAQ,aAAa,KAAK,aAAa;AAEzE,SACE,gBAAAQ;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC;AAAA,QACT;AAAA,QACA,gBAAgB3B,CAAI;AAAA,QACpB,wBAAwBA,CAAI;AAAA,QAC5BjC,KAAY;AAAA,QACZC;AAAA,MAAA;AAAA,MAGD,UAAA;AAAA,QAAA,CAAC+B,KAAe,EAAQ1B,KACvB,gBAAAqD;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,SAASjE;AAAA,YACT,WAAWkE;AAAA,cACT;AAAA,cACA1D;AAAA,YAAA;AAAA,YAGD,UAAA;AAAA,cAAAI;AAAA,cACAuB,uBACE,QAAA,EAAK,WAAU,iCAAgC,OAAO,OAAOA,CAAQ,GACnE,UAAAA,EAAA,CACH;AAAA,cAEDM,KAAY,CAACxC,uBACX,QAAA,EAAK,WAAU,2BAA0B,UAAA,MAAE;AAAA,cAE7CuD,wBAAcW,IAAA,CAAA,CAAU;AAAA,YAAA;AAAA,UAAA;AAAA,QAAA;AAAA,QAG7B,gBAAAF;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAWC;AAAA,cACT;AAAA,cACArB,KAAU;AAAA,YAAA;AAAA,YAGZ,UAAA;AAAA,cAAA,gBAAAuB;AAAA,gBAACvE;AAAA,gBAAA;AAAA,kBACC,IAAAG;AAAA,kBACA,MAAAW;AAAA,kBACA,UAAAL;AAAA,kBACA,WAAW4D;AAAA,oBACT;AAAA,oBACA,EAAQpD,KAAiB;AAAA,oBACzBL;AAAA,kBAAA;AAAA,kBAEF,UAAAqD;AAAA,kBACA,UAAU,CAACO,MAAuB;AAChC,0BAAMC,KAAW,MAAM,QAAQD,CAAI,IAC/BA,IACAE,GAAmBF,GAAM;AAAA,sBACvB,aAAAvC;AAAA,sBACA,SAAAL;AAAA,sBACA,aAAAW;AAAA,sBACA,aAAAC;AAAA,sBACA,cAAcsB,GAAa;AAAA,oBAAA,CAC5B;AACL,oBAAAzD,IAAWS,GAAM2D,EAAQ;AAAA,kBAC3B;AAAA,kBACA,SAASb,EAAS,UAAU,SAAS,MAAM,GAAG,EAAE,CAAC;AAAA,kBACjD,iBAAiBO;AAAA,kBACjB,YAAAhD;AAAA,kBACA,QAAAb;AAAA,kBACA,SAAAC;AAAA,kBACA,iBAAiB,MAAM;AACrB,oBAAAC,IAAA,GACA6C,KAAA;AAAA,kBACF;AAAA,kBACA,gBAAAD;AAAA,kBACA,SAASY,EAAc5C,CAAO;AAAA,kBAC9B,SAAS4C,EAAc3C,CAAO;AAAA,kBAC9B,gBAAAC;AAAA,kBACA,oBAAAC;AAAA,kBACA,eAAAP;AAAA,kBACA,qBAAAS;AAAA,kBACA,yBAAAC;AAAA,kBACA,gBAAAF;AAAA,kBACA,cAAAG;AAAA,kBACA,SAAAE;AAAA,kBACA,SAAAC;AAAA,kBACA,UAAAC;AAAA,kBACA,UAAAC;AAAA,kBACA,aAAAC;AAAA,kBACA,eAAAC;AAAA,kBACA,mBAAAC;AAAA,kBACA,kBAAAC;AAAA,kBACA,cAAAC;AAAA,kBACA,iBAAAM;AAAA,kBACA,cAAAE;AAAA,kBACA,aAAAC;AAAA,kBACA,cAAAC;AAAA,kBACA,QAAAE;AAAA,kBACA,WAAWe,EAAcd,EAAS;AAAA,kBAClC,SAASc,EAAcb,EAAO;AAAA,kBAC9B,eAAAI;AAAA,kBACA,cAAAC;AAAA,kBACA,gBAAAC;AAAA,kBACA,iBAAAC;AAAA,gBAAA;AAAA,cAAA;AAAA,cAEDJ,KAAQ,EAAErB,KAAe7B,MAAU8D,KAClC,gBAAAK;AAAA,gBAACI;AAAA,gBAAA;AAAA,kBACC,KAAKT;AAAA,kBACL,WAAU;AAAA,kBACV,eAAY;AAAA,gBAAA;AAAA,cAAA;AAAA,YACd;AAAA,UAAA;AAAA,QAAA;AAAA,QAGHhD,MAAe,QAAQD,KACtB,gBAAAsD,EAAC,UAAK,WAAU,8BAA6B,MAAK,SAC/C,UAAAtD,EAAA,CACH;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAIR;"}
|
|
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":";;;;;;;;;;;;AAmBAA,GAAe,MAAMC,EAAE;AAIvB,MAAMC,KAASC;AAgER,SAASC,GAAW;AAAA,EACzB,IAAAC,IAAK;AAAA,EACL,OAAAC,IAAQ;AAAA,EACR,UAAAC;AAAA,EACA,QAAAC;AAAA,EACA,SAAAC;AAAA,EACA,SAAAC;AAAA,EACA,UAAAC,IAAW;AAAA,EACX,WAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,aAAAC;AAAA,EACA,MAAAC,IAAO;AAAA,EACP,OAAAC;AAAA,EACA,eAAAC,IAAgB;AAAA,EAChB,cAAAC;AAAA,EACA,YAAAC;AAAA,EACA,YAAAC,IAAa;AAAA,EACb,SAAAC;AAAA,EACA,SAAAC,IAAU,oBAAI,KAAK,YAAY;AAAA,EAC/B,gBAAAC,IAAiB;AAAA,EACjB,oBAAAC,IAAqB;AAAA,EACrB,gBAAAC,IAAiB;AAAA,EACjB,qBAAAC,IAAsB;AAAA,EACtB,yBAAAC,IAA0B;AAAA,EAC1B,cAAAC,IAAe;AAAA,EACf,SAAAC,IAAU;AAAA,EACV,SAAAC;AAAA,EACA,SAAAC;AAAA,EACA,UAAAC,IAAW;AAAA,EACX,UAAAC,IAAW;AAAA,EACX,aAAAC,IAAc;AAAA,EACd,eAAAC,IAAgB;AAAA,EAChB,mBAAAC,IAAoB;AAAA,EACpB,kBAAAC,IAAmB;AAAA,EACnB,cAAAC;AAAA,EACA,UAAAC;AAAA,EACA,aAAAC,IAAc;AAAA,EACd,aAAAC;AAAA,EACA,aAAAC,IAAc;AAAA,EACd,MAAAC,IAAO;AAAA,EACP,iBAAAC,IAAkB;AAAA,EAClB,UAAAC,IAAW;AAAA,EACX,cAAAC;AAAA,EACA,aAAAC,IAAc;AAAA,EACd,cAAAC,IAAe;AAAA,EACf,QAAAC,IAAS;AAAA,EACT,QAAAC,KAAS;AAAA,EACT,WAAAC;AAAA,EACA,SAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,MAAAC,IAAO;AAAA,EACP,eAAAC;AAAA,EACA,cAAAC;AAAA,EACA,gBAAAC,KAAiB,CAAA;AAAA,EACjB,iBAAAC;AAAA,EACA,WAAAC,KAAY;AACd,GAAoB;AAClB,QAAMC,IAAWC,GAAA,GACXC,KAAeC,GAAOC,EAAc5D,CAAK,CAAC,GAC1C6D,KAAWD,EAAc5D,CAAK,GAC9B8D,IACJ,OAAOZ,KAAS,WAAWA,IAAOM,EAAS,QAAQ,UAC/CO,KACJjD,MAAe,QAAQD,IACnB,OAAOA,CAAY,IACnBJ,KACA,OAAO+C,EAAS,YAAY,QAAQ,aAAa,KAAK,aAAa;AAEzE,SACE,gBAAAQ;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC;AAAA,QACT;AAAA,QACA,gBAAgB3B,CAAI;AAAA,QACpB,wBAAwBA,CAAI;AAAA,QAC5BjC,KAAY;AAAA,QACZC;AAAA,MAAA;AAAA,MAGD,UAAA;AAAA,QAAA,CAAC+B,KAAe,EAAQ1B,KACvB,gBAAAqD;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,SAASjE;AAAA,YACT,WAAWkE;AAAA,cACT;AAAA,cACA1D;AAAA,YAAA;AAAA,YAGD,UAAA;AAAA,cAAAI;AAAA,cACAuB,uBACE,QAAA,EAAK,WAAU,iCAAgC,OAAO,OAAOA,CAAQ,GACnE,UAAAA,EAAA,CACH;AAAA,cAEDM,KAAY,CAACxC,uBACX,QAAA,EAAK,WAAU,2BAA0B,UAAA,MAAE;AAAA,cAE7CuD,wBAAcW,IAAA,CAAA,CAAU;AAAA,YAAA;AAAA,UAAA;AAAA,QAAA;AAAA,QAG7B,gBAAAF;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAWC;AAAA,cACT;AAAA,cACArB,KAAU;AAAA,YAAA;AAAA,YAGZ,UAAA;AAAA,cAAA,gBAAAuB;AAAA,gBAACvE;AAAA,gBAAA;AAAA,kBACC,IAAAG;AAAA,kBACA,MAAAW;AAAA,kBACA,UAAAL;AAAA,kBACA,WAAW4D;AAAA,oBACT;AAAA,oBACA,EAAQpD,KAAiB;AAAA,oBACzBL;AAAA,kBAAA;AAAA,kBAEF,UAAAqD;AAAA,kBACA,UAAU,CAACO,MAAuB;AAChC,0BAAMC,KAAW,MAAM,QAAQD,CAAI,IAC/BA,IACAE,GAAmBF,GAAM;AAAA,sBACvB,aAAAvC;AAAA,sBACA,SAAAL;AAAA,sBACA,aAAAW;AAAA,sBACA,aAAAC;AAAA,sBACA,cAAcsB,GAAa;AAAA,oBAAA,CAC5B;AACL,oBAAAzD,IAAWS,GAAM2D,EAAQ;AAAA,kBAC3B;AAAA,kBACA,SAASb,EAAS,UAAU,SAAS,MAAM,GAAG,EAAE,CAAC;AAAA,kBACjD,iBAAiBO;AAAA,kBACjB,YAAAhD;AAAA,kBACA,QAAAb;AAAA,kBACA,SAAAC;AAAA,kBACA,iBAAiB,MAAM;AACrB,oBAAAC,IAAA,GACA6C,KAAA;AAAA,kBACF;AAAA,kBACA,gBAAAD;AAAA,kBACA,SAASY,EAAc5C,CAAO;AAAA,kBAC9B,SAAS4C,EAAc3C,CAAO;AAAA,kBAC9B,gBAAAC;AAAA,kBACA,oBAAAC;AAAA,kBACA,eAAAP;AAAA,kBACA,qBAAAS;AAAA,kBACA,yBAAAC;AAAA,kBACA,gBAAAF;AAAA,kBACA,cAAAG;AAAA,kBACA,SAAAE;AAAA,kBACA,SAAAC;AAAA,kBACA,UAAAC;AAAA,kBACA,UAAAC;AAAA,kBACA,aAAAC;AAAA,kBACA,eAAAC;AAAA,kBACA,mBAAAC;AAAA,kBACA,kBAAAC;AAAA,kBACA,cAAAC;AAAA,kBACA,iBAAAM;AAAA,kBACA,cAAAE;AAAA,kBACA,aAAAC;AAAA,kBACA,cAAAC;AAAA,kBACA,QAAAE;AAAA,kBACA,WAAWe,EAAcd,EAAS;AAAA,kBAClC,SAASc,EAAcb,EAAO;AAAA,kBAC9B,eAAAI;AAAA,kBACA,cAAAC;AAAA,kBACA,gBAAAC;AAAA,kBACA,iBAAAC;AAAA,gBAAA;AAAA,cAAA;AAAA,cAEDJ,KAAQ,EAAErB,KAAe7B,MAAU8D,KAClC,gBAAAK;AAAA,gBAACI;AAAA,gBAAA;AAAA,kBACC,KAAKT;AAAA,kBACL,WAAU;AAAA,kBACV,eAAY;AAAA,gBAAA;AAAA,cAAA;AAAA,YACd;AAAA,UAAA;AAAA,QAAA;AAAA,QAGHhD,MAAe,QAAQD,KACtB,gBAAAsD,EAAC,UAAK,WAAU,8BAA6B,MAAK,SAC/C,UAAAtD,EAAA,CACH;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAIR;"}
|
|
@@ -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,+
|
|
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
|
|
2
|
-
import { useRef as
|
|
3
|
-
import { createPortal as
|
|
4
|
-
import { classNames as
|
|
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
|
|
7
|
-
const
|
|
8
|
-
function
|
|
9
|
-
return
|
|
10
|
-
(
|
|
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
|
|
14
|
-
id:
|
|
15
|
-
label:
|
|
16
|
-
className:
|
|
17
|
-
labelClassName:
|
|
18
|
-
inputClassName:
|
|
19
|
-
optionsClassName:
|
|
20
|
-
optionItemClassName:
|
|
21
|
-
searchableInputClassName:
|
|
22
|
-
options:
|
|
23
|
-
defaultSelectedOptions:
|
|
24
|
-
optionLabel:
|
|
25
|
-
optionValue:
|
|
26
|
-
onChange:
|
|
27
|
-
placeholder:
|
|
28
|
-
selectedInputMessage:
|
|
29
|
-
itemSelectedText:
|
|
30
|
-
selectAllText:
|
|
31
|
-
searchPlaceholder:
|
|
32
|
-
noDataMessage:
|
|
33
|
-
errorMessage:
|
|
34
|
-
errorPlace:
|
|
35
|
-
isSearchable:
|
|
36
|
-
isLoading:
|
|
37
|
-
isDisabled:
|
|
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:
|
|
40
|
-
windowHeight:
|
|
41
|
-
windowClose:
|
|
42
|
-
isScrollEnd:
|
|
43
|
-
getOptionTooltip:
|
|
44
|
-
limit:
|
|
45
|
-
selectionLimit:
|
|
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 =
|
|
48
|
-
|
|
49
|
-
), [
|
|
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
|
-
), [
|
|
52
|
-
if (
|
|
53
|
-
|
|
54
|
-
|
|
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
|
-
}),
|
|
61
|
-
}, [i]);
|
|
62
|
-
|
|
63
|
-
const e =
|
|
64
|
-
|
|
65
|
-
}, [
|
|
66
|
-
|
|
67
|
-
}, [
|
|
68
|
-
if (!
|
|
69
|
-
const e = x.current,
|
|
70
|
-
const
|
|
71
|
-
!
|
|
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",
|
|
74
|
-
}, [
|
|
75
|
-
if (!
|
|
76
|
-
|
|
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
|
-
|
|
80
|
-
}, [
|
|
81
|
-
|
|
82
|
-
|
|
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
|
-
}, [
|
|
87
|
-
|
|
88
|
-
}, [G, Y]);
|
|
89
|
-
const f = v(
|
|
101
|
+
}, [s, i, O, C]);
|
|
102
|
+
const b = p(
|
|
90
103
|
(e) => {
|
|
91
|
-
|
|
104
|
+
V(e), q?.(e);
|
|
92
105
|
},
|
|
93
|
-
[
|
|
94
|
-
),
|
|
106
|
+
[q]
|
|
107
|
+
), xe = p(
|
|
95
108
|
(e) => {
|
|
96
|
-
const
|
|
97
|
-
|
|
109
|
+
const n = e.currentTarget;
|
|
110
|
+
n.scrollHeight - n.scrollTop <= n.clientHeight + 1 && U?.(!0);
|
|
98
111
|
},
|
|
99
|
-
[
|
|
100
|
-
),
|
|
112
|
+
[U]
|
|
113
|
+
), ke = p(
|
|
101
114
|
(e) => {
|
|
102
|
-
if (
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
(
|
|
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
|
-
|
|
123
|
+
d && t.length >= r || b([...t, e]);
|
|
111
124
|
},
|
|
112
125
|
[
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
126
|
+
d,
|
|
127
|
+
r,
|
|
128
|
+
l,
|
|
129
|
+
t,
|
|
130
|
+
b
|
|
118
131
|
]
|
|
119
|
-
),
|
|
120
|
-
const e =
|
|
121
|
-
return e ?
|
|
122
|
-
(
|
|
123
|
-
) :
|
|
124
|
-
}, [
|
|
125
|
-
|
|
126
|
-
}, [
|
|
127
|
-
(e.key === "Enter" || e.key === " ") && (e.preventDefault(),
|
|
128
|
-
},
|
|
129
|
-
() =>
|
|
130
|
-
(e) =>
|
|
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
|
-
[
|
|
133
|
-
),
|
|
134
|
-
if (
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
(
|
|
138
|
-
(
|
|
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 =
|
|
145
|
-
(
|
|
146
|
-
),
|
|
147
|
-
|
|
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
|
-
|
|
162
|
+
F,
|
|
163
|
+
m,
|
|
150
164
|
d,
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
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 ?
|
|
160
|
-
className:
|
|
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
|
-
|
|
176
|
+
R === "top" && "inconel-is-open-top"
|
|
164
177
|
),
|
|
165
|
-
style: i ? { ...
|
|
178
|
+
style: i ? { ...ve ?? {}, visibility: ge ? "visible" : "hidden" } : void 0,
|
|
166
179
|
onPointerDown: (e) => e.stopPropagation(),
|
|
167
|
-
children: /* @__PURE__ */
|
|
180
|
+
children: /* @__PURE__ */ v(
|
|
168
181
|
"div",
|
|
169
182
|
{
|
|
170
|
-
className:
|
|
183
|
+
className: a(
|
|
171
184
|
"inconel-multi-select-checkbox__options",
|
|
172
185
|
i && "inconel-multi-select-checkbox__options--portal",
|
|
173
|
-
|
|
186
|
+
re
|
|
174
187
|
),
|
|
175
|
-
onScroll:
|
|
188
|
+
onScroll: xe,
|
|
176
189
|
children: [
|
|
177
|
-
|
|
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:
|
|
182
|
-
className:
|
|
194
|
+
placeholder: de,
|
|
195
|
+
className: a(
|
|
183
196
|
"inconel-multi-select-checkbox__search-input",
|
|
184
|
-
|
|
197
|
+
ue
|
|
185
198
|
),
|
|
186
|
-
value:
|
|
187
|
-
onChange: (e) =>
|
|
188
|
-
disabled:
|
|
199
|
+
value: B,
|
|
200
|
+
onChange: (e) => te(e.target.value),
|
|
201
|
+
disabled: f
|
|
189
202
|
}
|
|
190
203
|
) }),
|
|
191
|
-
/* @__PURE__ */
|
|
204
|
+
/* @__PURE__ */ v(
|
|
192
205
|
"div",
|
|
193
206
|
{
|
|
194
|
-
className:
|
|
207
|
+
className: a(
|
|
195
208
|
"inconel-multi-select-checkbox__option-item",
|
|
196
|
-
|
|
209
|
+
K
|
|
197
210
|
),
|
|
198
211
|
children: [
|
|
199
|
-
/* @__PURE__ */
|
|
212
|
+
/* @__PURE__ */ c(
|
|
200
213
|
"input",
|
|
201
214
|
{
|
|
202
|
-
id: `${
|
|
215
|
+
id: `${H}-select-all`,
|
|
203
216
|
type: "checkbox",
|
|
204
|
-
checked:
|
|
205
|
-
onChange:
|
|
206
|
-
disabled:
|
|
217
|
+
checked: F,
|
|
218
|
+
onChange: Se,
|
|
219
|
+
disabled: f
|
|
207
220
|
}
|
|
208
221
|
),
|
|
209
|
-
/* @__PURE__ */
|
|
222
|
+
/* @__PURE__ */ c("label", { htmlFor: `${H}-select-all`, children: ae })
|
|
210
223
|
]
|
|
211
224
|
}
|
|
212
225
|
),
|
|
213
|
-
|
|
214
|
-
const
|
|
215
|
-
return /* @__PURE__ */
|
|
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:
|
|
231
|
+
className: a(
|
|
219
232
|
"inconel-multi-select-checkbox__option-item",
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
233
|
+
u && "inconel-is-selected",
|
|
234
|
+
h && "inconel-is-disabled",
|
|
235
|
+
K
|
|
223
236
|
),
|
|
224
|
-
title:
|
|
237
|
+
title: pe(e),
|
|
225
238
|
children: [
|
|
226
|
-
/* @__PURE__ */
|
|
239
|
+
/* @__PURE__ */ c(
|
|
227
240
|
"input",
|
|
228
241
|
{
|
|
229
|
-
id:
|
|
242
|
+
id: D,
|
|
230
243
|
type: "checkbox",
|
|
231
|
-
checked:
|
|
232
|
-
onChange: () =>
|
|
233
|
-
disabled:
|
|
244
|
+
checked: u,
|
|
245
|
+
onChange: () => ke(e),
|
|
246
|
+
disabled: h
|
|
234
247
|
}
|
|
235
248
|
),
|
|
236
|
-
/* @__PURE__ */
|
|
249
|
+
/* @__PURE__ */ c("label", { htmlFor: D, children: String(e?.[g] ?? "") })
|
|
237
250
|
]
|
|
238
251
|
},
|
|
239
|
-
String(
|
|
252
|
+
String(o)
|
|
240
253
|
);
|
|
241
254
|
})
|
|
242
255
|
]
|
|
@@ -244,55 +257,55 @@ function Ae({
|
|
|
244
257
|
)
|
|
245
258
|
}
|
|
246
259
|
);
|
|
247
|
-
return /* @__PURE__ */
|
|
260
|
+
return /* @__PURE__ */ v(
|
|
248
261
|
"div",
|
|
249
262
|
{
|
|
250
263
|
ref: x,
|
|
251
|
-
id:
|
|
252
|
-
className:
|
|
264
|
+
id: k ?? void 0,
|
|
265
|
+
className: a(
|
|
253
266
|
"inconel-multi-select-checkbox",
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
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
|
-
|
|
273
|
+
w && /* @__PURE__ */ c(
|
|
261
274
|
"span",
|
|
262
275
|
{
|
|
263
|
-
className:
|
|
276
|
+
className: a(
|
|
264
277
|
"inconel-multi-select-checkbox__label",
|
|
265
|
-
|
|
278
|
+
A
|
|
266
279
|
),
|
|
267
|
-
children:
|
|
280
|
+
children: w
|
|
268
281
|
}
|
|
269
282
|
),
|
|
270
|
-
/* @__PURE__ */
|
|
271
|
-
|
|
272
|
-
/* @__PURE__ */
|
|
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:
|
|
280
|
-
onKeyDown:
|
|
292
|
+
onClick: ce,
|
|
293
|
+
onKeyDown: Ne,
|
|
281
294
|
children: [
|
|
282
|
-
/* @__PURE__ */
|
|
295
|
+
/* @__PURE__ */ c(
|
|
283
296
|
"input",
|
|
284
297
|
{
|
|
285
298
|
type: "text",
|
|
286
|
-
className:
|
|
299
|
+
className: a(
|
|
287
300
|
"inconel-multi-select-checkbox__input",
|
|
288
|
-
|
|
301
|
+
se
|
|
289
302
|
),
|
|
290
|
-
placeholder:
|
|
303
|
+
placeholder: ye,
|
|
291
304
|
readOnly: !0,
|
|
292
|
-
value:
|
|
305
|
+
value: we
|
|
293
306
|
}
|
|
294
307
|
),
|
|
295
|
-
/* @__PURE__ */
|
|
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
|
-
|
|
307
|
-
|
|
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
|
-
|
|
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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"}
|