@laerdal/life-react-components 1.8.0-dev.7 → 1.8.0-dev.8
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/Button/Button.cjs +4 -4
- package/dist/Button/Button.cjs.map +1 -1
- package/dist/Button/Button.d.ts +1 -1
- package/dist/Button/Button.js +4 -4
- package/dist/Button/Button.js.map +1 -1
- package/dist/Button/DualFunctionButton.cjs +1 -1
- package/dist/Button/DualFunctionButton.cjs.map +1 -1
- package/dist/Button/DualFunctionButton.js +1 -1
- package/dist/Button/DualFunctionButton.js.map +1 -1
- package/dist/Chips/ChipStyles.cjs +1 -1
- package/dist/Chips/ChipStyles.cjs.map +1 -1
- package/dist/Chips/ChipStyles.js +1 -1
- package/dist/Chips/ChipStyles.js.map +1 -1
- package/dist/Chips/ChipTypes.d.ts +2 -2
- package/dist/Chips/ChoiceChips.cjs +1 -1
- package/dist/Chips/ChoiceChips.cjs.map +1 -1
- package/dist/Chips/ChoiceChips.js +1 -1
- package/dist/Chips/ChoiceChips.js.map +1 -1
- package/dist/Chips/FilterChip.cjs +1 -1
- package/dist/Chips/FilterChip.cjs.map +1 -1
- package/dist/Chips/FilterChip.js +1 -1
- package/dist/Chips/FilterChip.js.map +1 -1
- package/dist/Chips/InputChip.cjs.map +1 -1
- package/dist/Chips/InputChip.js +1 -1
- package/dist/Chips/InputChip.js.map +1 -1
- package/dist/ChipsInput/ChipDropdownInput.cjs +3 -1
- package/dist/ChipsInput/ChipDropdownInput.cjs.map +1 -1
- package/dist/ChipsInput/ChipDropdownInput.js +4 -2
- package/dist/ChipsInput/ChipDropdownInput.js.map +1 -1
- package/dist/ChipsInput/ChipInput.cjs +2 -0
- package/dist/ChipsInput/ChipInput.cjs.map +1 -1
- package/dist/ChipsInput/ChipInput.js +2 -0
- package/dist/ChipsInput/ChipInput.js.map +1 -1
- package/dist/ChipsInput/ChipInputField.cjs +14 -5
- package/dist/ChipsInput/ChipInputField.cjs.map +1 -1
- package/dist/ChipsInput/ChipInputField.d.ts +1 -0
- package/dist/ChipsInput/ChipInputField.js +16 -7
- package/dist/ChipsInput/ChipInputField.js.map +1 -1
- package/dist/ChipsInput/ChipInputTypes.d.ts +1 -0
- package/dist/Dropdown/BasicDropdown.cjs +9 -9
- package/dist/Dropdown/BasicDropdown.cjs.map +1 -1
- package/dist/Dropdown/BasicDropdown.d.ts +2 -2
- package/dist/Dropdown/BasicDropdown.js +10 -10
- package/dist/Dropdown/BasicDropdown.js.map +1 -1
- package/dist/Dropdown/CommonStyling.cjs +3 -3
- package/dist/Dropdown/CommonStyling.cjs.map +1 -1
- package/dist/Dropdown/CommonStyling.d.ts +6 -3
- package/dist/Dropdown/CommonStyling.js +3 -3
- package/dist/Dropdown/CommonStyling.js.map +1 -1
- package/dist/Dropdown/DropdownFilter.cjs +16 -16
- package/dist/Dropdown/DropdownFilter.cjs.map +1 -1
- package/dist/Dropdown/DropdownFilter.d.ts +3 -3
- package/dist/Dropdown/DropdownFilter.js +17 -17
- package/dist/Dropdown/DropdownFilter.js.map +1 -1
- package/dist/InputFields/Checkbox.cjs +10 -10
- package/dist/InputFields/Checkbox.cjs.map +1 -1
- package/dist/InputFields/Checkbox.d.ts +3 -3
- package/dist/InputFields/Checkbox.js +10 -10
- package/dist/InputFields/Checkbox.js.map +1 -1
- package/dist/InputFields/DatepickerField.cjs +14 -12
- package/dist/InputFields/DatepickerField.cjs.map +1 -1
- package/dist/InputFields/DatepickerField.d.ts +3 -3
- package/dist/InputFields/DatepickerField.js +18 -12
- package/dist/InputFields/DatepickerField.js.map +1 -1
- package/dist/InputFields/NumberField.cjs +1 -1
- package/dist/InputFields/NumberField.cjs.map +1 -1
- package/dist/InputFields/NumberField.js +1 -1
- package/dist/InputFields/NumberField.js.map +1 -1
- package/dist/InputFields/PasswordField.cjs +17 -21
- package/dist/InputFields/PasswordField.cjs.map +1 -1
- package/dist/InputFields/PasswordField.d.ts +3 -2
- package/dist/InputFields/PasswordField.js +15 -19
- package/dist/InputFields/PasswordField.js.map +1 -1
- package/dist/InputFields/RadioButton.cjs +7 -5
- package/dist/InputFields/RadioButton.cjs.map +1 -1
- package/dist/InputFields/RadioButton.d.ts +1 -1
- package/dist/InputFields/RadioButton.js +5 -5
- package/dist/InputFields/RadioButton.js.map +1 -1
- package/dist/InputFields/SearchBar.cjs +2 -2
- package/dist/InputFields/SearchBar.cjs.map +1 -1
- package/dist/InputFields/SearchBar.js +3 -3
- package/dist/InputFields/SearchBar.js.map +1 -1
- package/dist/InputFields/TextField.cjs +27 -12
- package/dist/InputFields/TextField.cjs.map +1 -1
- package/dist/InputFields/TextField.d.ts +6 -4
- package/dist/InputFields/TextField.js +27 -12
- package/dist/InputFields/TextField.js.map +1 -1
- package/dist/InputFields/Textarea.cjs +14 -3
- package/dist/InputFields/Textarea.cjs.map +1 -1
- package/dist/InputFields/Textarea.d.ts +1 -0
- package/dist/InputFields/Textarea.js +14 -5
- package/dist/InputFields/Textarea.js.map +1 -1
- package/dist/InputFields/components/SearchField.cjs +3 -1
- package/dist/InputFields/components/SearchField.cjs.map +1 -1
- package/dist/InputFields/components/SearchField.js +2 -1
- package/dist/InputFields/components/SearchField.js.map +1 -1
- package/dist/InputFields/styling.cjs +24 -16
- package/dist/InputFields/styling.cjs.map +1 -1
- package/dist/InputFields/styling.d.ts +6 -3
- package/dist/InputFields/styling.js +21 -14
- package/dist/InputFields/styling.js.map +1 -1
- package/dist/Table/TableBody.cjs +1 -1
- package/dist/Table/TableBody.cjs.map +1 -1
- package/dist/Table/TableBody.js +1 -1
- package/dist/Table/TableBody.js.map +1 -1
- package/dist/types.cjs +1 -10
- package/dist/types.cjs.map +1 -1
- package/dist/types.d.ts +0 -5
- package/dist/types.js +0 -8
- package/dist/types.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Size
|
|
1
|
+
import { Size } from '../types';
|
|
2
2
|
/**
|
|
3
3
|
* Types for the chips.
|
|
4
4
|
*/
|
|
@@ -35,4 +35,4 @@ export interface ChipValue {
|
|
|
35
35
|
size: Size;
|
|
36
36
|
}
|
|
37
37
|
export declare type ChipIcons = 'Add' | 'ArrowDropDown' | 'ArrowDropUp' | 'ArrowLineDown' | 'ArrowLineLeft' | 'ArrowLineRight' | 'ArrowLineUp' | 'ArrowStopLeft' | 'ArrowStopRight' | 'Attachment' | 'Attention' | 'BackwardsFiveSec' | 'Book' | 'BookmarkOff' | 'BookmarkOn' | 'Bullet' | 'Calendar' | 'CheckboxOff' | 'CheckboxOn' | 'CheckboxSemi' | 'CheckComplete' | 'ChevronDown' | 'ChevronLeft' | 'ChevronRight' | 'ChevronUp' | 'Clear' | 'Close' | 'ClosedCaptionOff' | 'ClosedCaptionOn' | 'CloudAttention' | 'CloudCheck' | 'CloudDownload' | 'CloudLocked' | 'CloudNoConnection' | 'CloudSyncing' | 'CloudUpload' | 'Cloud' | 'Dashboard' | 'Delete' | 'Download' | 'DragHandle' | 'DragIndicator' | 'Edit' | 'Educator' | 'Equals' | 'EventLog' | 'ExtendTextArea' | 'Filter' | 'Forward' | 'ForwardSlash' | 'ForwardFiveSec' | 'FullscreenExit' | 'Fullscreen' | 'GearSettings' | 'GridView' | 'Group' | 'GuidedTour' | 'Help' | 'Hierarchy' | 'History' | 'Home' | 'Information' | 'Institute' | 'Language' | 'ListView' | 'LoadingMedium' | 'LoadingSmall' | 'LockedOff' | 'LockedOn' | 'Login' | 'Logout' | 'Loop' | 'Mail' | 'Manikin' | 'MapPoint' | 'Menu' | 'Minus' | 'MoreHorizontal' | 'MoreVertical' | 'NotificationNew' | 'Notification' | 'OpenFolder' | 'OpenNewWindow' | 'Pause' | 'PlayOutline' | 'Play' | 'Plus' | 'PointDown' | 'PointLeft' | 'PointRight' | 'PointUp' | 'RadioButtonOff' | 'RadioButtonOn' | 'Record' | 'Refresh' | 'Replay' | 'Rewind' | 'Save' | 'Search' | 'Share' | 'ShoppingCart' | 'StarFilled' | 'StarOutlined' | 'Stop' | 'Support' | 'Team' | 'ThumbsDown' | 'ThumbsUp' | 'TimeLimited' | 'Time' | 'Tip' | 'Upload' | 'Usb' | 'User' | 'Video' | 'VisibleOff' | 'VisibleOn' | 'VolumeDown' | 'VolumeOff' | 'VolumeUp';
|
|
38
|
-
export declare type ChipVariant =
|
|
38
|
+
export declare type ChipVariant = 'normal' | 'error';
|
|
@@ -77,7 +77,7 @@ var ChoiceChips = function ChoiceChips(_ref) {
|
|
|
77
77
|
children: values.map(function (value) {
|
|
78
78
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChipStyles.ChipContainer, {
|
|
79
79
|
tabIndex: disabled ? -1 : 0,
|
|
80
|
-
className: "".concat(value.size, " ").concat(disabled ? 'disabled' : '', " ").concat(selectedChip === value.value ? '
|
|
80
|
+
className: "".concat(value.size, " ").concat(disabled ? 'disabled' : '', " ").concat(selectedChip === value.value ? 'normal' : 'outline', " interactive"),
|
|
81
81
|
onMouseDown: _common.defaultOnMouseDownHandler,
|
|
82
82
|
onClick: function onClick() {
|
|
83
83
|
return !disabled && onSelectChip(value);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/Chips/ChoiceChips.tsx"],"names":["ChoiceChips","selected","disabled","onClick","values","React","useState","selectedChip","setSelectedChip","useEffect","onSelectChip","value","handleKeyDown","e","key","map","size","defaultOnMouseDownHandler","label"],"mappings":";;;;;;;;;;;;;AAGA;;AAKA;;AAMA;;;;;;;;AAdA;AACA;AACA;;AAGA;AACA;AACA;AASA,IAAMA,WAAqD,GAAG,SAAxDA,WAAwD,OAKwB;AAAA,MAJrBC,QAIqB,QAJrBA,QAIqB;AAAA,MAHrBC,QAGqB,QAHrBA,QAGqB;AAAA,MAFrBC,OAEqB,QAFrBA,OAEqB;AAAA,MADrBC,MACqB,QADrBA,MACqB;;AACpF;AACF;AACA;AACE,wBAAwCC,KAAK,CAACC,QAAN,CAAuB,EAAvB,CAAxC;AAAA;AAAA,MAAOC,YAAP;AAAA,MAAqBC,eAArB;AAEA;AACF;AACA;;;AACEH,EAAAA,KAAK,CAACI,SAAN,CAAgB,YAAM;AACpBD,IAAAA,eAAe,CAACP,QAAD,CAAf;AACD,GAFD,EAEG,CAACA,QAAD,CAFH;AAIA;AACF;AACA;AACA;;AACE,MAAMS,YAAY,GAAG,SAAfA,YAAe,CAACC,KAAD,EAAsB;AACzC;AACAH,IAAAA,eAAe,CAACG,KAAK,CAACA,KAAP,CAAf,CAFyC,CAIzC;;AACAR,IAAAA,OAAO,IAAIA,OAAO,CAACQ,KAAD,CAAlB;AACD,GAND;;AAQA,MAAMC,aAAa,GAAG,SAAhBA,aAAgB,CAACC,CAAD,EAASF,KAAT,EAA8B;AAClD,QAAIE,CAAC,CAACC,GAAF,KAAU,OAAd,EAAuB;AACrBJ,MAAAA,YAAY,CAACC,KAAD,CAAZ;AACD;AACF,GAJD;AAMA;AACF;AACA;;;AACE,sBACE;AAAA,cACGP,MAAM,CAACW,GAAP,CAAW,UAACJ,KAAD;AAAA,0BACV,qBAAC,yBAAD;AAEE,QAAA,QAAQ,EAAET,QAAQ,GAAG,CAAC,CAAJ,GAAQ,CAF5B;AAGE,QAAA,SAAS,YAAKS,KAAK,CAACK,IAAX,cAAmBd,QAAQ,GAAG,UAAH,GAAgB,EAA3C,cAAiDK,YAAY,KAAKI,KAAK,CAACA,KAAvB,GAA+B,
|
|
1
|
+
{"version":3,"sources":["../../src/Chips/ChoiceChips.tsx"],"names":["ChoiceChips","selected","disabled","onClick","values","React","useState","selectedChip","setSelectedChip","useEffect","onSelectChip","value","handleKeyDown","e","key","map","size","defaultOnMouseDownHandler","label"],"mappings":";;;;;;;;;;;;;AAGA;;AAKA;;AAMA;;;;;;;;AAdA;AACA;AACA;;AAGA;AACA;AACA;AASA,IAAMA,WAAqD,GAAG,SAAxDA,WAAwD,OAKwB;AAAA,MAJrBC,QAIqB,QAJrBA,QAIqB;AAAA,MAHrBC,QAGqB,QAHrBA,QAGqB;AAAA,MAFrBC,OAEqB,QAFrBA,OAEqB;AAAA,MADrBC,MACqB,QADrBA,MACqB;;AACpF;AACF;AACA;AACE,wBAAwCC,KAAK,CAACC,QAAN,CAAuB,EAAvB,CAAxC;AAAA;AAAA,MAAOC,YAAP;AAAA,MAAqBC,eAArB;AAEA;AACF;AACA;;;AACEH,EAAAA,KAAK,CAACI,SAAN,CAAgB,YAAM;AACpBD,IAAAA,eAAe,CAACP,QAAD,CAAf;AACD,GAFD,EAEG,CAACA,QAAD,CAFH;AAIA;AACF;AACA;AACA;;AACE,MAAMS,YAAY,GAAG,SAAfA,YAAe,CAACC,KAAD,EAAsB;AACzC;AACAH,IAAAA,eAAe,CAACG,KAAK,CAACA,KAAP,CAAf,CAFyC,CAIzC;;AACAR,IAAAA,OAAO,IAAIA,OAAO,CAACQ,KAAD,CAAlB;AACD,GAND;;AAQA,MAAMC,aAAa,GAAG,SAAhBA,aAAgB,CAACC,CAAD,EAASF,KAAT,EAA8B;AAClD,QAAIE,CAAC,CAACC,GAAF,KAAU,OAAd,EAAuB;AACrBJ,MAAAA,YAAY,CAACC,KAAD,CAAZ;AACD;AACF,GAJD;AAMA;AACF;AACA;;;AACE,sBACE;AAAA,cACGP,MAAM,CAACW,GAAP,CAAW,UAACJ,KAAD;AAAA,0BACV,qBAAC,yBAAD;AAEE,QAAA,QAAQ,EAAET,QAAQ,GAAG,CAAC,CAAJ,GAAQ,CAF5B;AAGE,QAAA,SAAS,YAAKS,KAAK,CAACK,IAAX,cAAmBd,QAAQ,GAAG,UAAH,GAAgB,EAA3C,cAAiDK,YAAY,KAAKI,KAAK,CAACA,KAAvB,GAA+B,QAA/B,GAA0C,SAA3F,iBAHX;AAIE,QAAA,WAAW,EAAEM,iCAJf;AAKE,QAAA,OAAO,EAAE;AAAA,iBAAM,CAACf,QAAD,IAAaQ,YAAY,CAACC,KAAD,CAA/B;AAAA,SALX;AAME,QAAA,SAAS,EAAE,mBAAAE,CAAC;AAAA,iBAAI,CAACX,QAAD,IAAaU,aAAa,CAACC,CAAD,EAAIF,KAAJ,CAA9B;AAAA,SANd;AAAA,+BAOE,qBAAC,gCAAD;AAAA,iCACE,qBAAC,uBAAD;AAAA,sBACGA,KAAK,CAACO;AADT;AADF;AAPF,SACOP,KAAK,CAACA,KADb,CADU;AAAA,KAAX;AADH,IADF;AAmBD,CA1DD;;eA4DeX,W","sourcesContent":["/**\n * Import React libraries.\n */\nimport * as React from 'react';\n\n/**\n * Import custom styles.\n */\nimport {ChipContainer, ChipContent, ChipContentContainer} from './ChipStyles';\n\n/**\n * Import custom types.\n */\nimport {ChipValue, ChoiceChipProps} from './ChipTypes';\nimport {defaultOnMouseDownHandler} from '../common';\n\nconst ChoiceChips: React.FunctionComponent<ChoiceChipProps> = ({\n selected,\n disabled,\n onClick,\n values\n }: ChoiceChipProps) => {\n /**\n * Globally used variables within the component.\n */\n const [selectedChip, setSelectedChip] = React.useState<string>('');\n\n /**\n * Set the selected value for the chip.\n */\n React.useEffect(() => {\n setSelectedChip(selected);\n }, [selected]);\n\n /**\n * Sets selected chip and fires an event to parent component.\n * @param value - Chip which was selected.\n */\n const onSelectChip = (value: ChipValue) => {\n // Update selected chip\n setSelectedChip(value.value);\n\n // Fire the event\n onClick && onClick(value);\n };\n\n const handleKeyDown = (e: any, value: ChipValue) => {\n if (e.key === 'Enter') {\n onSelectChip(value);\n }\n };\n\n /**\n * Return Choice Chip component.\n */\n return (\n <>\n {values.map((value: ChipValue) => (\n <ChipContainer\n key={value.value}\n tabIndex={disabled ? -1 : 0}\n className={`${value.size} ${disabled ? 'disabled' : ''} ${selectedChip === value.value ? 'normal' : 'outline'} interactive`}\n onMouseDown={defaultOnMouseDownHandler}\n onClick={() => !disabled && onSelectChip(value)}\n onKeyDown={e => !disabled && handleKeyDown(e, value)}>\n <ChipContentContainer>\n <ChipContent>\n {value.label}\n </ChipContent>\n </ChipContentContainer>\n </ChipContainer>\n ))}\n </>\n );\n};\n\nexport default ChoiceChips;\n"],"file":"ChoiceChips.cjs"}
|
|
@@ -64,7 +64,7 @@ var ChoiceChips = function ChoiceChips(_ref) {
|
|
|
64
64
|
children: values.map(function (value) {
|
|
65
65
|
return /*#__PURE__*/_jsx(ChipContainer, {
|
|
66
66
|
tabIndex: disabled ? -1 : 0,
|
|
67
|
-
className: "".concat(value.size, " ").concat(disabled ? 'disabled' : '', " ").concat(selectedChip === value.value ? '
|
|
67
|
+
className: "".concat(value.size, " ").concat(disabled ? 'disabled' : '', " ").concat(selectedChip === value.value ? 'normal' : 'outline', " interactive"),
|
|
68
68
|
onMouseDown: defaultOnMouseDownHandler,
|
|
69
69
|
onClick: function onClick() {
|
|
70
70
|
return !disabled && onSelectChip(value);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/Chips/ChoiceChips.tsx"],"names":["React","ChipContainer","ChipContent","ChipContentContainer","defaultOnMouseDownHandler","ChoiceChips","selected","disabled","onClick","values","useState","selectedChip","setSelectedChip","useEffect","onSelectChip","value","handleKeyDown","e","key","map","size","label"],"mappings":";;AAAA;AACA;AACA;AACA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AAEA;AACA;AACA;;AACA,SAAQC,aAAR,EAAuBC,WAAvB,EAAoCC,oBAApC,QAA+D,cAA/D;AAEA;AACA;AACA;;AAEA,SAAQC,yBAAR,QAAwC,WAAxC;;;;AAEA,IAAMC,WAAqD,GAAG,SAAxDA,WAAwD,OAKwB;AAAA,MAJrBC,QAIqB,QAJrBA,QAIqB;AAAA,MAHrBC,QAGqB,QAHrBA,QAGqB;AAAA,MAFrBC,OAEqB,QAFrBA,OAEqB;AAAA,MADrBC,MACqB,QADrBA,MACqB;;AACpF;AACF;AACA;AACE,wBAAwCT,KAAK,CAACU,QAAN,CAAuB,EAAvB,CAAxC;AAAA;AAAA,MAAOC,YAAP;AAAA,MAAqBC,eAArB;AAEA;AACF;AACA;;;AACEZ,EAAAA,KAAK,CAACa,SAAN,CAAgB,YAAM;AACpBD,IAAAA,eAAe,CAACN,QAAD,CAAf;AACD,GAFD,EAEG,CAACA,QAAD,CAFH;AAIA;AACF;AACA;AACA;;AACE,MAAMQ,YAAY,GAAG,SAAfA,YAAe,CAACC,KAAD,EAAsB;AACzC;AACAH,IAAAA,eAAe,CAACG,KAAK,CAACA,KAAP,CAAf,CAFyC,CAIzC;;AACAP,IAAAA,OAAO,IAAIA,OAAO,CAACO,KAAD,CAAlB;AACD,GAND;;AAQA,MAAMC,aAAa,GAAG,SAAhBA,aAAgB,CAACC,CAAD,EAASF,KAAT,EAA8B;AAClD,QAAIE,CAAC,CAACC,GAAF,KAAU,OAAd,EAAuB;AACrBJ,MAAAA,YAAY,CAACC,KAAD,CAAZ;AACD;AACF,GAJD;AAMA;AACF;AACA;;;AACE,sBACE;AAAA,cACGN,MAAM,CAACU,GAAP,CAAW,UAACJ,KAAD;AAAA,0BACV,KAAC,aAAD;AAEE,QAAA,QAAQ,EAAER,QAAQ,GAAG,CAAC,CAAJ,GAAQ,CAF5B;AAGE,QAAA,SAAS,YAAKQ,KAAK,CAACK,IAAX,cAAmBb,QAAQ,GAAG,UAAH,GAAgB,EAA3C,cAAiDI,YAAY,KAAKI,KAAK,CAACA,KAAvB,GAA+B,
|
|
1
|
+
{"version":3,"sources":["../../src/Chips/ChoiceChips.tsx"],"names":["React","ChipContainer","ChipContent","ChipContentContainer","defaultOnMouseDownHandler","ChoiceChips","selected","disabled","onClick","values","useState","selectedChip","setSelectedChip","useEffect","onSelectChip","value","handleKeyDown","e","key","map","size","label"],"mappings":";;AAAA;AACA;AACA;AACA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AAEA;AACA;AACA;;AACA,SAAQC,aAAR,EAAuBC,WAAvB,EAAoCC,oBAApC,QAA+D,cAA/D;AAEA;AACA;AACA;;AAEA,SAAQC,yBAAR,QAAwC,WAAxC;;;;AAEA,IAAMC,WAAqD,GAAG,SAAxDA,WAAwD,OAKwB;AAAA,MAJrBC,QAIqB,QAJrBA,QAIqB;AAAA,MAHrBC,QAGqB,QAHrBA,QAGqB;AAAA,MAFrBC,OAEqB,QAFrBA,OAEqB;AAAA,MADrBC,MACqB,QADrBA,MACqB;;AACpF;AACF;AACA;AACE,wBAAwCT,KAAK,CAACU,QAAN,CAAuB,EAAvB,CAAxC;AAAA;AAAA,MAAOC,YAAP;AAAA,MAAqBC,eAArB;AAEA;AACF;AACA;;;AACEZ,EAAAA,KAAK,CAACa,SAAN,CAAgB,YAAM;AACpBD,IAAAA,eAAe,CAACN,QAAD,CAAf;AACD,GAFD,EAEG,CAACA,QAAD,CAFH;AAIA;AACF;AACA;AACA;;AACE,MAAMQ,YAAY,GAAG,SAAfA,YAAe,CAACC,KAAD,EAAsB;AACzC;AACAH,IAAAA,eAAe,CAACG,KAAK,CAACA,KAAP,CAAf,CAFyC,CAIzC;;AACAP,IAAAA,OAAO,IAAIA,OAAO,CAACO,KAAD,CAAlB;AACD,GAND;;AAQA,MAAMC,aAAa,GAAG,SAAhBA,aAAgB,CAACC,CAAD,EAASF,KAAT,EAA8B;AAClD,QAAIE,CAAC,CAACC,GAAF,KAAU,OAAd,EAAuB;AACrBJ,MAAAA,YAAY,CAACC,KAAD,CAAZ;AACD;AACF,GAJD;AAMA;AACF;AACA;;;AACE,sBACE;AAAA,cACGN,MAAM,CAACU,GAAP,CAAW,UAACJ,KAAD;AAAA,0BACV,KAAC,aAAD;AAEE,QAAA,QAAQ,EAAER,QAAQ,GAAG,CAAC,CAAJ,GAAQ,CAF5B;AAGE,QAAA,SAAS,YAAKQ,KAAK,CAACK,IAAX,cAAmBb,QAAQ,GAAG,UAAH,GAAgB,EAA3C,cAAiDI,YAAY,KAAKI,KAAK,CAACA,KAAvB,GAA+B,QAA/B,GAA0C,SAA3F,iBAHX;AAIE,QAAA,WAAW,EAAEX,yBAJf;AAKE,QAAA,OAAO,EAAE;AAAA,iBAAM,CAACG,QAAD,IAAaO,YAAY,CAACC,KAAD,CAA/B;AAAA,SALX;AAME,QAAA,SAAS,EAAE,mBAAAE,CAAC;AAAA,iBAAI,CAACV,QAAD,IAAaS,aAAa,CAACC,CAAD,EAAIF,KAAJ,CAA9B;AAAA,SANd;AAAA,+BAOE,KAAC,oBAAD;AAAA,iCACE,KAAC,WAAD;AAAA,sBACGA,KAAK,CAACM;AADT;AADF;AAPF,SACON,KAAK,CAACA,KADb,CADU;AAAA,KAAX;AADH,IADF;AAmBD,CA1DD;;AA4DA,eAAeV,WAAf","sourcesContent":["/**\n * Import React libraries.\n */\nimport * as React from 'react';\n\n/**\n * Import custom styles.\n */\nimport {ChipContainer, ChipContent, ChipContentContainer} from './ChipStyles';\n\n/**\n * Import custom types.\n */\nimport {ChipValue, ChoiceChipProps} from './ChipTypes';\nimport {defaultOnMouseDownHandler} from '../common';\n\nconst ChoiceChips: React.FunctionComponent<ChoiceChipProps> = ({\n selected,\n disabled,\n onClick,\n values\n }: ChoiceChipProps) => {\n /**\n * Globally used variables within the component.\n */\n const [selectedChip, setSelectedChip] = React.useState<string>('');\n\n /**\n * Set the selected value for the chip.\n */\n React.useEffect(() => {\n setSelectedChip(selected);\n }, [selected]);\n\n /**\n * Sets selected chip and fires an event to parent component.\n * @param value - Chip which was selected.\n */\n const onSelectChip = (value: ChipValue) => {\n // Update selected chip\n setSelectedChip(value.value);\n\n // Fire the event\n onClick && onClick(value);\n };\n\n const handleKeyDown = (e: any, value: ChipValue) => {\n if (e.key === 'Enter') {\n onSelectChip(value);\n }\n };\n\n /**\n * Return Choice Chip component.\n */\n return (\n <>\n {values.map((value: ChipValue) => (\n <ChipContainer\n key={value.value}\n tabIndex={disabled ? -1 : 0}\n className={`${value.size} ${disabled ? 'disabled' : ''} ${selectedChip === value.value ? 'normal' : 'outline'} interactive`}\n onMouseDown={defaultOnMouseDownHandler}\n onClick={() => !disabled && onSelectChip(value)}\n onKeyDown={e => !disabled && handleKeyDown(e, value)}>\n <ChipContentContainer>\n <ChipContent>\n {value.label}\n </ChipContent>\n </ChipContentContainer>\n </ChipContainer>\n ))}\n </>\n );\n};\n\nexport default ChoiceChips;\n"],"file":"ChoiceChips.js"}
|
|
@@ -44,7 +44,7 @@ var FilterChip = function FilterChip(_ref) {
|
|
|
44
44
|
*/
|
|
45
45
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
|
|
46
46
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ChipStyles.ChipContainer, {
|
|
47
|
-
className: "".concat(size, " ").concat(disabled ? 'disabled' : '', " ").concat(selected ? '
|
|
47
|
+
className: "".concat(size, " ").concat(disabled ? 'disabled' : '', " ").concat(selected ? 'normal' : 'outline', " ").concat(!!_onClick ? 'interactive' : ''),
|
|
48
48
|
tabIndex: disabled ? -1 : 0,
|
|
49
49
|
onKeyDown: function onKeyDown(e) {
|
|
50
50
|
return e.key === 'Enter' && !disabled && _onClick && _onClick();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/Chips/FilterChip.tsx"],"names":["FilterChip","selected","text","size","disabled","onClick","e","key","defaultOnMouseDownHandler"],"mappings":";;;;;;;;;AAGA;;AAMA;;AAKA;;AAMA;;;;;;;;AApBA;AACA;AACA;;AAIA;AACA;AACA;;AAGA;AACA;AACA;AASA,IAAMA,UAAoD,GAAG,SAAvDA,UAAuD,OAMwB;AAAA,MALrBC,QAKqB,QALrBA,QAKqB;AAAA,MAJrBC,IAIqB,QAJrBA,IAIqB;AAAA,MAHrBC,IAGqB,QAHrBA,IAGqB;AAAA,MAFrBC,QAEqB,QAFrBA,QAEqB;AAAA,MADrBC,QACqB,QADrBA,OACqB;;AAGnF;AACF;AACA;AACE,sBACE;AAAA,2BACE,qBAAC,yBAAD;AACE,MAAA,SAAS,YAAKF,IAAL,cAAaC,QAAQ,GAAG,UAAH,GAAgB,EAArC,cAA2CH,QAAQ,GAAG,
|
|
1
|
+
{"version":3,"sources":["../../src/Chips/FilterChip.tsx"],"names":["FilterChip","selected","text","size","disabled","onClick","e","key","defaultOnMouseDownHandler"],"mappings":";;;;;;;;;AAGA;;AAMA;;AAKA;;AAMA;;;;;;;;AApBA;AACA;AACA;;AAIA;AACA;AACA;;AAGA;AACA;AACA;AASA,IAAMA,UAAoD,GAAG,SAAvDA,UAAuD,OAMwB;AAAA,MALrBC,QAKqB,QALrBA,QAKqB;AAAA,MAJrBC,IAIqB,QAJrBA,IAIqB;AAAA,MAHrBC,IAGqB,QAHrBA,IAGqB;AAAA,MAFrBC,QAEqB,QAFrBA,QAEqB;AAAA,MADrBC,QACqB,QADrBA,OACqB;;AAGnF;AACF;AACA;AACE,sBACE;AAAA,2BACE,qBAAC,yBAAD;AACE,MAAA,SAAS,YAAKF,IAAL,cAAaC,QAAQ,GAAG,UAAH,GAAgB,EAArC,cAA2CH,QAAQ,GAAG,QAAH,GAAc,SAAjE,cAA8E,CAAC,CAACI,QAAF,GAAY,aAAZ,GAA4B,EAA1G,CADX;AAEE,MAAA,QAAQ,EAAED,QAAQ,GAAG,CAAC,CAAJ,GAAQ,CAF5B;AAGE,MAAA,SAAS,EAAE,mBAAAE,CAAC;AAAA,eAAIA,CAAC,CAACC,GAAF,KAAU,OAAV,IAAqB,CAACH,QAAtB,IAAkCC,QAAlC,IAA6CA,QAAO,EAAxD;AAAA,OAHd;AAIE,MAAA,WAAW,EAAEG,iCAJf;AAKE,MAAA,OAAO,EAAE;AAAA,eAAM,CAACJ,QAAD,IAAaC,QAAb,IAAwBA,QAAO,EAArC;AAAA,OALX;AAAA,6BAME,qBAAC,gCAAD;AAAA,+BACE,sBAAC,uBAAD;AAAA,qBACGJ,QAAQ,iBAAI;AAAK,YAAA,SAAS,EAAE,qBAAhB;AAAA,mCAAuC,qBAAC,kBAAD,CAAa,aAAb;AAA2B,cAAA,SAAS,EAAE;AAAtC;AAAvC,YADf,eAEE;AAAA,sBAAMC;AAAN,YAFF;AAAA;AADF;AANF;AADF,IADF;AAiBD,CA7BD;;eA+BeF,U","sourcesContent":["/**\n * Import React libraries.\n */\nimport * as React from 'react';\nimport {Size} from '../types';\n\n/**\n * Import custom components.\n */\nimport {SystemIcons} from '../icons/index';\n\n/**\n * Import custom styles.\n */\nimport {ChipContent, ChipContentContainer, ChipContainer} from './ChipStyles';\n\n/**\n * Import custom types.\n */\nimport {FilterChipProps} from './ChipTypes';\nimport {defaultOnMouseDownHandler} from '../common';\n\nconst FilterChip: React.FunctionComponent<FilterChipProps> = ({\n selected,\n text,\n size,\n disabled,\n onClick\n }: FilterChipProps) => {\n\n\n /**\n * Return Filter Chip component.\n */\n return (\n <>\n <ChipContainer\n className={`${size} ${disabled ? 'disabled' : ''} ${selected ? 'normal' : 'outline'} ${!!onClick ? 'interactive' : ''}`}\n tabIndex={disabled ? -1 : 0}\n onKeyDown={e => e.key === 'Enter' && !disabled && onClick && onClick()}\n onMouseDown={defaultOnMouseDownHandler}\n onClick={() => !disabled && onClick && onClick()}>\n <ChipContentContainer>\n <ChipContent>\n {selected && <div className={'chip-icon icon-left'}><SystemIcons.CheckComplete className={'icon'}/></div>}\n <div>{text}</div>\n </ChipContent>\n </ChipContentContainer>\n </ChipContainer>\n </>\n );\n};\n\nexport default FilterChip;\n"],"file":"FilterChip.cjs"}
|
package/dist/Chips/FilterChip.js
CHANGED
|
@@ -33,7 +33,7 @@ var FilterChip = function FilterChip(_ref) {
|
|
|
33
33
|
*/
|
|
34
34
|
return /*#__PURE__*/_jsx(_Fragment, {
|
|
35
35
|
children: /*#__PURE__*/_jsx(ChipContainer, {
|
|
36
|
-
className: "".concat(size, " ").concat(disabled ? 'disabled' : '', " ").concat(selected ? '
|
|
36
|
+
className: "".concat(size, " ").concat(disabled ? 'disabled' : '', " ").concat(selected ? 'normal' : 'outline', " ").concat(!!_onClick ? 'interactive' : ''),
|
|
37
37
|
tabIndex: disabled ? -1 : 0,
|
|
38
38
|
onKeyDown: function onKeyDown(e) {
|
|
39
39
|
return e.key === 'Enter' && !disabled && _onClick && _onClick();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/Chips/FilterChip.tsx"],"names":["React","SystemIcons","ChipContent","ChipContentContainer","ChipContainer","defaultOnMouseDownHandler","FilterChip","selected","text","size","disabled","onClick","e","key"],"mappings":"AAAA;AACA;AACA;AACA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;;AAGA;AACA;AACA;AACA,SAAQC,WAAR,QAA0B,gBAA1B;AAEA;AACA;AACA;;AACA,SAAQC,WAAR,EAAqBC,oBAArB,EAA2CC,aAA3C,QAA+D,cAA/D;AAEA;AACA;AACA;;AAEA,SAAQC,yBAAR,QAAwC,WAAxC;;;;;AAEA,IAAMC,UAAoD,GAAG,SAAvDA,UAAuD,OAMwB;AAAA,MALrBC,QAKqB,QALrBA,QAKqB;AAAA,MAJrBC,IAIqB,QAJrBA,IAIqB;AAAA,MAHrBC,IAGqB,QAHrBA,IAGqB;AAAA,MAFrBC,QAEqB,QAFrBA,QAEqB;AAAA,MADrBC,QACqB,QADrBA,OACqB;;AAGnF;AACF;AACA;AACE,sBACE;AAAA,2BACE,KAAC,aAAD;AACE,MAAA,SAAS,YAAKF,IAAL,cAAaC,QAAQ,GAAG,UAAH,GAAgB,EAArC,cAA2CH,QAAQ,GAAG,
|
|
1
|
+
{"version":3,"sources":["../../src/Chips/FilterChip.tsx"],"names":["React","SystemIcons","ChipContent","ChipContentContainer","ChipContainer","defaultOnMouseDownHandler","FilterChip","selected","text","size","disabled","onClick","e","key"],"mappings":"AAAA;AACA;AACA;AACA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;;AAGA;AACA;AACA;AACA,SAAQC,WAAR,QAA0B,gBAA1B;AAEA;AACA;AACA;;AACA,SAAQC,WAAR,EAAqBC,oBAArB,EAA2CC,aAA3C,QAA+D,cAA/D;AAEA;AACA;AACA;;AAEA,SAAQC,yBAAR,QAAwC,WAAxC;;;;;AAEA,IAAMC,UAAoD,GAAG,SAAvDA,UAAuD,OAMwB;AAAA,MALrBC,QAKqB,QALrBA,QAKqB;AAAA,MAJrBC,IAIqB,QAJrBA,IAIqB;AAAA,MAHrBC,IAGqB,QAHrBA,IAGqB;AAAA,MAFrBC,QAEqB,QAFrBA,QAEqB;AAAA,MADrBC,QACqB,QADrBA,OACqB;;AAGnF;AACF;AACA;AACE,sBACE;AAAA,2BACE,KAAC,aAAD;AACE,MAAA,SAAS,YAAKF,IAAL,cAAaC,QAAQ,GAAG,UAAH,GAAgB,EAArC,cAA2CH,QAAQ,GAAG,QAAH,GAAc,SAAjE,cAA8E,CAAC,CAACI,QAAF,GAAY,aAAZ,GAA4B,EAA1G,CADX;AAEE,MAAA,QAAQ,EAAED,QAAQ,GAAG,CAAC,CAAJ,GAAQ,CAF5B;AAGE,MAAA,SAAS,EAAE,mBAAAE,CAAC;AAAA,eAAIA,CAAC,CAACC,GAAF,KAAU,OAAV,IAAqB,CAACH,QAAtB,IAAkCC,QAAlC,IAA6CA,QAAO,EAAxD;AAAA,OAHd;AAIE,MAAA,WAAW,EAAEN,yBAJf;AAKE,MAAA,OAAO,EAAE;AAAA,eAAM,CAACK,QAAD,IAAaC,QAAb,IAAwBA,QAAO,EAArC;AAAA,OALX;AAAA,6BAME,KAAC,oBAAD;AAAA,+BACE,MAAC,WAAD;AAAA,qBACGJ,QAAQ,iBAAI;AAAK,YAAA,SAAS,EAAE,qBAAhB;AAAA,mCAAuC,KAAC,WAAD,CAAa,aAAb;AAA2B,cAAA,SAAS,EAAE;AAAtC;AAAvC,YADf,eAEE;AAAA,sBAAMC;AAAN,YAFF;AAAA;AADF;AANF;AADF,IADF;AAiBD,CA7BD;;AA+BA,eAAeF,UAAf","sourcesContent":["/**\n * Import React libraries.\n */\nimport * as React from 'react';\nimport {Size} from '../types';\n\n/**\n * Import custom components.\n */\nimport {SystemIcons} from '../icons/index';\n\n/**\n * Import custom styles.\n */\nimport {ChipContent, ChipContentContainer, ChipContainer} from './ChipStyles';\n\n/**\n * Import custom types.\n */\nimport {FilterChipProps} from './ChipTypes';\nimport {defaultOnMouseDownHandler} from '../common';\n\nconst FilterChip: React.FunctionComponent<FilterChipProps> = ({\n selected,\n text,\n size,\n disabled,\n onClick\n }: FilterChipProps) => {\n\n\n /**\n * Return Filter Chip component.\n */\n return (\n <>\n <ChipContainer\n className={`${size} ${disabled ? 'disabled' : ''} ${selected ? 'normal' : 'outline'} ${!!onClick ? 'interactive' : ''}`}\n tabIndex={disabled ? -1 : 0}\n onKeyDown={e => e.key === 'Enter' && !disabled && onClick && onClick()}\n onMouseDown={defaultOnMouseDownHandler}\n onClick={() => !disabled && onClick && onClick()}>\n <ChipContentContainer>\n <ChipContent>\n {selected && <div className={'chip-icon icon-left'}><SystemIcons.CheckComplete className={'icon'}/></div>}\n <div>{text}</div>\n </ChipContent>\n </ChipContentContainer>\n </ChipContainer>\n </>\n );\n};\n\nexport default FilterChip;\n"],"file":"FilterChip.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/Chips/InputChip.tsx"],"names":["InputChip","React","forwardRef","ref","icon","text","variant","size","disabled","onClick","disableRemove","onRemove","containerRef","useRef","removeRef","onRemoveClick","event","stopPropagation","handleContainerKeyDown","key","defaultOnMouseDownHandler","icons","className","e"],"mappings":";;;;;;;;;AAGA;;AAKA;;
|
|
1
|
+
{"version":3,"sources":["../../src/Chips/InputChip.tsx"],"names":["InputChip","React","forwardRef","ref","icon","text","variant","size","disabled","onClick","disableRemove","onRemove","containerRef","useRef","removeRef","onRemoveClick","event","stopPropagation","handleContainerKeyDown","key","defaultOnMouseDownHandler","icons","className","e"],"mappings":"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","sourcesContent":["/**\n * Import React libraries.\n */\nimport * as React from 'react';\n\n/**\n * Import custom components.\n */\nimport {SystemIcons, SystemIcons as icons} from '../icons/index';\nimport {IconButton} from '../Button/index';\nimport {Size} from '../types';\n\n/**\n * Import custom styles.\n */\nimport {ChipContainer, ChipContent, ChipContentContainer} from './ChipStyles';\n\n/**\n * Import custom types.\n */\nimport {InputChipProps} from './ChipTypes';\nimport {defaultOnMouseDownHandler, useActionWithin} from '../common';\n\nconst InputChip: React.FunctionComponent<InputChipProps> = React.forwardRef(({\n icon,\n text,\n variant,\n size,\n disabled,\n onClick,\n disableRemove,\n onRemove\n }: InputChipProps, ref) => {\n\n const containerRef = ref as React.MutableRefObject<HTMLDivElement> ?? React.useRef<HTMLDivElement>(null);\n const removeRef = React.useRef<HTMLDivElement>(null);\n\n useActionWithin(containerRef, [removeRef]);\n\n /**\n * Calls onRemove action when remove button is clicked.\n * @param event - Event handler from the button click.\n */\n const onRemoveClick = (event?: React.MouseEvent<HTMLDivElement> | React.KeyboardEvent) => {\n !!event && event.stopPropagation();\n onRemove(event);\n };\n\n const handleContainerKeyDown = (event: React.KeyboardEvent) => {\n if (event.key === 'Enter' || event.key === ' ') {\n !disabled && onClick && onClick();\n }\n if (event.key === 'Backspace' && !disableRemove) {\n !disableRemove && onRemove && onRemove(event);\n }\n };\n\n /**\n * Return Input Chip component.\n */\n return (\n <>\n <ChipContainer ref={containerRef}\n className={`${size} ${disabled ? 'disabled' : ''} ${variant} ${!!onClick ? 'interactive' : ''}`}\n tabIndex={disabled || !onClick ? -1 : 0}\n onMouseDown={defaultOnMouseDownHandler}\n onKeyDown={handleContainerKeyDown}\n onClick={() => onClick && onClick()}>\n <ChipContentContainer>\n <ChipContent className={'with-action-right'}>\n {icon && <div className={'chip-icon icon-left'}>{icons[icon]({className: 'icon'})}</div>}\n\n <div>{text}</div>\n\n <div ref={removeRef}\n className={`action-right ${disableRemove ? 'disabled' : ''}`}\n tabIndex={disableRemove || disabled ? -1 : 0}\n onMouseDown={defaultOnMouseDownHandler}\n onClick={e => !disableRemove && onRemoveClick(e)}\n onKeyDown={e => (e.key === 'Enter' || e.key === ' ') && onRemoveClick(e)}>\n <div className={'chip-icon'}>\n <SystemIcons.Close className={'remove'}/>\n </div>\n </div>\n </ChipContent>\n </ChipContentContainer>\n </ChipContainer>\n </>\n );\n});\n\nexport default InputChip;\n"],"file":"InputChip.cjs"}
|
package/dist/Chips/InputChip.js
CHANGED
|
@@ -7,10 +7,10 @@ import * as React from 'react';
|
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
9
|
import { SystemIcons, SystemIcons as icons } from '../icons/index';
|
|
10
|
+
|
|
10
11
|
/**
|
|
11
12
|
* Import custom styles.
|
|
12
13
|
*/
|
|
13
|
-
|
|
14
14
|
import { ChipContainer, ChipContent, ChipContentContainer } from './ChipStyles';
|
|
15
15
|
/**
|
|
16
16
|
* Import custom types.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/Chips/InputChip.tsx"],"names":["React","SystemIcons","icons","ChipContainer","ChipContent","ChipContentContainer","defaultOnMouseDownHandler","useActionWithin","InputChip","forwardRef","ref","icon","text","variant","size","disabled","onClick","disableRemove","onRemove","containerRef","useRef","removeRef","onRemoveClick","event","stopPropagation","handleContainerKeyDown","key","className","e"],"mappings":"AAAA;AACA;AACA;AACA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AAEA;AACA;AACA;;AACA,SAAQC,WAAR,EAAqBA,WAAW,IAAIC,KAApC,QAAgD,gBAAhD;
|
|
1
|
+
{"version":3,"sources":["../../src/Chips/InputChip.tsx"],"names":["React","SystemIcons","icons","ChipContainer","ChipContent","ChipContentContainer","defaultOnMouseDownHandler","useActionWithin","InputChip","forwardRef","ref","icon","text","variant","size","disabled","onClick","disableRemove","onRemove","containerRef","useRef","removeRef","onRemoveClick","event","stopPropagation","handleContainerKeyDown","key","className","e"],"mappings":"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","sourcesContent":["/**\n * Import React libraries.\n */\nimport * as React from 'react';\n\n/**\n * Import custom components.\n */\nimport {SystemIcons, SystemIcons as icons} from '../icons/index';\nimport {IconButton} from '../Button/index';\nimport {Size} from '../types';\n\n/**\n * Import custom styles.\n */\nimport {ChipContainer, ChipContent, ChipContentContainer} from './ChipStyles';\n\n/**\n * Import custom types.\n */\nimport {InputChipProps} from './ChipTypes';\nimport {defaultOnMouseDownHandler, useActionWithin} from '../common';\n\nconst InputChip: React.FunctionComponent<InputChipProps> = React.forwardRef(({\n icon,\n text,\n variant,\n size,\n disabled,\n onClick,\n disableRemove,\n onRemove\n }: InputChipProps, ref) => {\n\n const containerRef = ref as React.MutableRefObject<HTMLDivElement> ?? React.useRef<HTMLDivElement>(null);\n const removeRef = React.useRef<HTMLDivElement>(null);\n\n useActionWithin(containerRef, [removeRef]);\n\n /**\n * Calls onRemove action when remove button is clicked.\n * @param event - Event handler from the button click.\n */\n const onRemoveClick = (event?: React.MouseEvent<HTMLDivElement> | React.KeyboardEvent) => {\n !!event && event.stopPropagation();\n onRemove(event);\n };\n\n const handleContainerKeyDown = (event: React.KeyboardEvent) => {\n if (event.key === 'Enter' || event.key === ' ') {\n !disabled && onClick && onClick();\n }\n if (event.key === 'Backspace' && !disableRemove) {\n !disableRemove && onRemove && onRemove(event);\n }\n };\n\n /**\n * Return Input Chip component.\n */\n return (\n <>\n <ChipContainer ref={containerRef}\n className={`${size} ${disabled ? 'disabled' : ''} ${variant} ${!!onClick ? 'interactive' : ''}`}\n tabIndex={disabled || !onClick ? -1 : 0}\n onMouseDown={defaultOnMouseDownHandler}\n onKeyDown={handleContainerKeyDown}\n onClick={() => onClick && onClick()}>\n <ChipContentContainer>\n <ChipContent className={'with-action-right'}>\n {icon && <div className={'chip-icon icon-left'}>{icons[icon]({className: 'icon'})}</div>}\n\n <div>{text}</div>\n\n <div ref={removeRef}\n className={`action-right ${disableRemove ? 'disabled' : ''}`}\n tabIndex={disableRemove || disabled ? -1 : 0}\n onMouseDown={defaultOnMouseDownHandler}\n onClick={e => !disableRemove && onRemoveClick(e)}\n onKeyDown={e => (e.key === 'Enter' || e.key === ' ') && onRemoveClick(e)}>\n <div className={'chip-icon'}>\n <SystemIcons.Close className={'remove'}/>\n </div>\n </div>\n </ChipContent>\n </ChipContentContainer>\n </ChipContainer>\n </>\n );\n});\n\nexport default InputChip;\n"],"file":"InputChip.js"}
|
|
@@ -58,6 +58,7 @@ var ChipDropdownInput = function ChipDropdownInput(_ref) {
|
|
|
58
58
|
inputId = _ref.inputId,
|
|
59
59
|
variants = _ref.variants,
|
|
60
60
|
placeholder = _ref.placeholder,
|
|
61
|
+
validationType = _ref.validationType,
|
|
61
62
|
validationMessage = _ref.validationMessage,
|
|
62
63
|
onValueChange = _ref.onValueChange,
|
|
63
64
|
suggestion = _ref.suggestion,
|
|
@@ -142,7 +143,7 @@ var ChipDropdownInput = function ChipDropdownInput(_ref) {
|
|
|
142
143
|
};
|
|
143
144
|
}).map(function (a, index) {
|
|
144
145
|
return _objectSpread(_objectSpread({}, a), {}, {
|
|
145
|
-
variant: a.variant || variants && variants[index] ||
|
|
146
|
+
variant: a.variant || variants && variants[index] || 'normal'
|
|
146
147
|
});
|
|
147
148
|
}).map(function (a, index) {
|
|
148
149
|
return _objectSpread(_objectSpread({}, a), {}, {
|
|
@@ -345,6 +346,7 @@ var ChipDropdownInput = function ChipDropdownInput(_ref) {
|
|
|
345
346
|
altPlaceholder: altPlaceholder,
|
|
346
347
|
disabled: disabled,
|
|
347
348
|
multiLine: multiLine,
|
|
349
|
+
validationType: validationType,
|
|
348
350
|
validationMessage: validationMessage,
|
|
349
351
|
loading: loading,
|
|
350
352
|
onRemoveItem: function onRemoveItem(chip, index) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/ChipsInput/ChipDropdownInput.tsx"],"names":["Wrapper","styled","div","ChipInputContainer","Z_INDEXES","dropdown","ChipDropdownInput","list","onInputChange","disableSorting","messageOnNoResults","values","inputId","variants","placeholder","validationMessage","onValueChange","suggestion","loading","maxSelectedItems","multiLine","size","Size","Medium","icon","disableFiltering","disabled","altPlaceholder","required","React","useState","givenList","setGivenList","chips","setChips","value","setValue","restartFilter","setRestartFilter","filteredList","setFilteredList","dropdownIsOpen","setDropdownIsOpen","dropdownList","setDropdownList","dropdownValue","setDropdownValue","focused","setFocused","containerRef","inputRef","useRef","useEffect","map","a","find","b","label","index","variant","States","Default","newList","e","options","filter","option","toUpperCase","indexOf","secondaryLabel","sort","push","o","length","handleClickOutside","current","contains","target","document","addEventListener","removeEventListener","x","displayLabel","noteLabel","SystemIcons","addChip","newChip","handleInputValueChange","handleValueUpdate","item","focus","handleInputKeyDown","event","key","stopPropagation","handleOnChipRemoved","newChips","splice","chip","action","pinTopItem","itemsType","scrollable","actionLabel","multiSelect","onValueUpdate","items"],"mappings":"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","sourcesContent":["/**\n * Import React libraries.\n */\nimport * as React from 'react';\n\n/**\n * Import third-party libraries.\n */\nimport styled from 'styled-components';\n\n/**\n * Import custom components.\n */\nimport {ChipInputContainer, ChipInputField} from './ChipInputField';\nimport {Size, States} from '../types';\nimport {DropdownContent, DropdownItem} from '../Dropdown';\nimport {SystemIcons} from '../icons';\nimport {ChipInputProps, ChipItem} from './ChipInputTypes';\nimport {useClickOutsideRef, useFocusOutsideRef} from '../common';\nimport {Z_INDEXES} from '../styles';\n\nconst Wrapper = styled.div`\n position: relative;\n display: inline-block;\n width: 100%;\n\n ${ChipInputContainer} {\n position: relative;\n\n &:focus, &.focus-visible-within {\n z-index: ${Z_INDEXES.dropdown + 1} !important;\n }\n }\n`;\n\n\ninterface ListItem extends ChipItem {\n secondaryLabel?: string;\n value: string;\n}\n\ninterface ChipDropdownInputProps extends ChipInputProps {\n list: ListItem[] | string[];\n onInputChange?: (input: string) => void;\n messageOnNoResults?: string;\n suggestion?: ListItem;\n loading?: boolean;\n maxSelectedItems?: number;\n disableSorting?: boolean;\n disableFiltering?: boolean;\n}\n\nexport const ChipDropdownInput: React.FunctionComponent<ChipDropdownInputProps> = ({\n list,\n onInputChange,\n disableSorting,\n messageOnNoResults,\n values,\n inputId,\n variants,\n placeholder,\n validationMessage,\n onValueChange,\n suggestion,\n loading,\n maxSelectedItems,\n multiLine = true,\n size = Size.Medium,\n icon,\n disableFiltering,\n disabled,\n altPlaceholder,\n required\n }: ChipDropdownInputProps) => {\n // Initiate states\n const [givenList, setGivenList] = React.useState<ListItem[]>([]);\n const [chips, setChips] = React.useState<ListItem[]>([]);\n\n const [value, setValue] = React.useState<string>('');\n const [restartFilter, setRestartFilter] = React.useState<boolean>(false);\n const [filteredList, setFilteredList] = React.useState<ListItem[]>();\n\n const [dropdownIsOpen, setDropdownIsOpen] = React.useState<boolean>(false);\n const [dropdownList, setDropdownList] = React.useState<DropdownItem[]>([]);\n const [dropdownValue, setDropdownValue] = React.useState<string>('');\n\n const [focused, setFocused] = React.useState<number | null>(null);\n\n const containerRef = useClickOutsideRef(() => setDropdownIsOpen(false), [], useFocusOutsideRef(() => setDropdownIsOpen(false)));\n const inputRef = React.useRef<HTMLInputElement>(null);\n\n\n /**\n * Sets initial values for the chips.\n */\n React.useEffect(() => {\n\n const list =\n values.map((a) => chips.find(b => b.value === a) || givenList.find(b => b.value === a) || {\n label: a,\n value: a,\n icon: icon\n })\n .map((a, index) => ({...a, variant: a.variant || (variants && variants[index]) || States.Default}))\n .map((a, index) => ({...a, icon: a.icon || icon}));\n\n setChips(list);\n }, [values, variants, icon, givenList]);\n\n /**\n * Convert string[] to List[] if necessary\n */\n React.useEffect(() => {\n if (typeof list[0] === 'string') {\n const newList: ListItem[] = (list as string[]).map((e: string) => ({label: e, value: e}));\n setGivenList(newList);\n } else {\n setGivenList(list as ListItem[]);\n }\n }, [list]);\n\n /**\n * filter and sort list if remoteOperations is false\n * */\n React.useEffect(() => {\n let options = [...givenList];\n if (!disableFiltering) {\n if (!restartFilter && value !== '') {\n options = options.filter((option) => option.label.toUpperCase().indexOf(value.toUpperCase()) !== -1 ||\n (option.secondaryLabel && option.secondaryLabel?.toUpperCase().indexOf(value.toUpperCase()) !== -1));\n }\n }\n\n if (!disableSorting) {\n options = options.sort();\n }\n\n suggestion && options.push(suggestion);\n\n options = options.filter((o) => !chips.find(a => a.value === o.value));\n setFilteredList(options);\n }, [value, givenList, chips, disableFiltering, disableSorting]);\n\n /**\n * if there is only one active item in dropdown mark it as focused\n * */\n React.useEffect(() => {\n if (dropdownIsOpen && !!value && dropdownList?.filter(a => !a.disabled).length === 1) {\n setDropdownValue(dropdownList.find(a => !a.disabled)!.value);\n } else {\n setDropdownValue('');\n }\n }, [dropdownList, dropdownIsOpen, value]);\n\n const handleClickOutside = (e: any) => {\n if (!containerRef.current?.contains(e.target)) {\n if (dropdownIsOpen) {\n setDropdownIsOpen(false);\n if (!givenList.find((e) => e.value === value)) {\n setValue('');\n }\n }\n }\n };\n\n /**\n * register click outside event listener\n * */\n React.useEffect(() => {\n document.addEventListener('click', handleClickOutside);\n return () => {\n document.removeEventListener('click', handleClickOutside);\n };\n });\n\n /**\n * update dropdown items when filtered list changes\n * */\n React.useEffect(() => {\n setDropdownList(filteredList?.map(x => ({\n value: x.value,\n displayLabel: x.label,\n noteLabel: x.secondaryLabel,\n icon: (x.icon ?? icon) && SystemIcons[(x.icon || icon)!]({}),\n disabled: x.disabled,\n })) ?? []);\n }, [filteredList]);\n\n const addChip = (newChip: ListItem) => {\n const newList = [...chips, newChip];\n // Let's add the chip\n setChips(newList);\n onValueChange(newList.map(a => a.value));\n\n setValue('');\n };\n\n const handleInputValueChange = (value: string) => {\n setValue(value);\n setRestartFilter(false);\n setDropdownIsOpen(true);\n onInputChange && onInputChange(value);\n }\n\n /**\n * Add chip from dropdown\n * */\n const handleValueUpdate = (values: string[]) => {\n const item = filteredList?.find(a => a.value === values[0]);\n item && addChip(item);\n setRestartFilter(true);\n inputRef?.current?.focus();\n }\n\n /**\n * Adds a chip to the chip list.\n * @param event - Event handler from the key down event.\n */\n const handleInputKeyDown = (event: React.KeyboardEvent<HTMLInputElement>): void => {\n // Let's trigger only on enter, comma and space key press\n if ((event.key === 'Enter' || event.key === ' ') && value) {\n if (dropdownList?.filter(a => !a.disabled).length === 1) {\n handleValueUpdate([dropdownList!.find(a => !a.disabled)!.value]);\n event.stopPropagation();\n }\n }\n\n if ((event.key === 'ArrowDown' || event.key === 'Down' || event.key === 'ArrowUp' || event.key === 'Up') && !!dropdownList?.length) {\n setDropdownIsOpen(true);\n }\n };\n\n /**\n * Removes a specific chip from the chip list.\n * @param index - Index of the chip that needs to be removed.\n */\n const handleOnChipRemoved = (index: number): void => {\n // Let's copy the chips\n const newChips = [...chips];\n\n // Let's delete the chip\n // If necessary, let's replace it with a different chip\n newChips.splice(index, 1);\n\n // Let's update the chip list\n setChips([...newChips]);\n onValueChange(newChips.map((e) => e.value));\n };\n\n return (\n <Wrapper ref={containerRef}>\n <ChipInputField inputId={inputId}\n ref={inputRef}\n items={chips}\n required={required}\n inputValue={value}\n size={size}\n placeholder={placeholder}\n altPlaceholder={altPlaceholder}\n disabled={disabled}\n multiLine={multiLine}\n validationMessage={validationMessage}\n loading={loading}\n onRemoveItem={(chip, index) => handleOnChipRemoved(index)}\n onInputValueChange={handleInputValueChange}\n onInputKeyDown={handleInputKeyDown}\n onActivationChange={(value) => setDropdownIsOpen(value)}/>\n <DropdownContent\n customizationProps={{\n action: () => {\n },\n pinTopItem: true,\n\n itemsType: 'normal',\n scrollable: true,\n actionLabel: '',\n multiSelect: false,\n onValueUpdate: handleValueUpdate,\n items: dropdownList\n }}\n focused={focused}\n setFocused={setFocused}\n selectedValues={[dropdownValue]}\n messageOnNoResults={messageOnNoResults ?? ''}\n setSelectedValues={() => {\n }}\n isOpen={(!maxSelectedItems || (!!maxSelectedItems && chips.length < maxSelectedItems)) && dropdownIsOpen}\n setIsOpen={setDropdownIsOpen}\n filter={''}\n isButton={false}\n id={`${inputId}_dropdowncontent`}/>\n\n </Wrapper>\n );\n};\n"],"file":"ChipDropdownInput.cjs"}
|
|
1
|
+
{"version":3,"sources":["../../src/ChipsInput/ChipDropdownInput.tsx"],"names":["Wrapper","styled","div","ChipInputContainer","Z_INDEXES","dropdown","ChipDropdownInput","list","onInputChange","disableSorting","messageOnNoResults","values","inputId","variants","placeholder","validationType","validationMessage","onValueChange","suggestion","loading","maxSelectedItems","multiLine","size","Size","Medium","icon","disableFiltering","disabled","altPlaceholder","required","React","useState","givenList","setGivenList","chips","setChips","value","setValue","restartFilter","setRestartFilter","filteredList","setFilteredList","dropdownIsOpen","setDropdownIsOpen","dropdownList","setDropdownList","dropdownValue","setDropdownValue","focused","setFocused","containerRef","inputRef","useRef","useEffect","map","a","find","b","label","index","variant","newList","e","options","filter","option","toUpperCase","indexOf","secondaryLabel","sort","push","o","length","handleClickOutside","current","contains","target","document","addEventListener","removeEventListener","x","displayLabel","noteLabel","SystemIcons","addChip","newChip","handleInputValueChange","handleValueUpdate","item","focus","handleInputKeyDown","event","key","stopPropagation","handleOnChipRemoved","newChips","splice","chip","action","pinTopItem","itemsType","scrollable","actionLabel","multiSelect","onValueUpdate","items"],"mappings":"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","sourcesContent":["/**\n * Import React libraries.\n */\nimport * as React from 'react';\n\n/**\n * Import third-party libraries.\n */\nimport styled from 'styled-components';\n\n/**\n * Import custom components.\n */\nimport {ChipInputContainer, ChipInputField} from './ChipInputField';\nimport {Size} from '../types';\nimport {DropdownContent, DropdownItem} from '../Dropdown';\nimport {SystemIcons} from '../icons';\nimport {ChipInputProps, ChipItem} from './ChipInputTypes';\nimport {useClickOutsideRef, useFocusOutsideRef} from '../common';\nimport {Z_INDEXES} from '../styles';\n\nconst Wrapper = styled.div`\n position: relative;\n display: inline-block;\n width: 100%;\n\n ${ChipInputContainer} {\n position: relative;\n\n &:focus, &.focus-visible-within {\n z-index: ${Z_INDEXES.dropdown + 1} !important;\n }\n }\n`;\n\n\ninterface ListItem extends ChipItem {\n secondaryLabel?: string;\n value: string;\n}\n\ninterface ChipDropdownInputProps extends ChipInputProps {\n list: ListItem[] | string[];\n onInputChange?: (input: string) => void;\n messageOnNoResults?: string;\n suggestion?: ListItem;\n loading?: boolean;\n maxSelectedItems?: number;\n disableSorting?: boolean;\n disableFiltering?: boolean;\n}\n\nexport const ChipDropdownInput: React.FunctionComponent<ChipDropdownInputProps> = ({\n list,\n onInputChange,\n disableSorting,\n messageOnNoResults,\n values,\n inputId,\n variants,\n placeholder,\n validationType,\n validationMessage,\n onValueChange,\n suggestion,\n loading,\n maxSelectedItems,\n multiLine = true,\n size = Size.Medium,\n icon,\n disableFiltering,\n disabled,\n altPlaceholder,\n required\n }: ChipDropdownInputProps) => {\n // Initiate states\n const [givenList, setGivenList] = React.useState<ListItem[]>([]);\n const [chips, setChips] = React.useState<ListItem[]>([]);\n\n const [value, setValue] = React.useState<string>('');\n const [restartFilter, setRestartFilter] = React.useState<boolean>(false);\n const [filteredList, setFilteredList] = React.useState<ListItem[]>();\n\n const [dropdownIsOpen, setDropdownIsOpen] = React.useState<boolean>(false);\n const [dropdownList, setDropdownList] = React.useState<DropdownItem[]>([]);\n const [dropdownValue, setDropdownValue] = React.useState<string>('');\n\n const [focused, setFocused] = React.useState<number | null>(null);\n\n const containerRef = useClickOutsideRef(() => setDropdownIsOpen(false), [], useFocusOutsideRef(() => setDropdownIsOpen(false)));\n const inputRef = React.useRef<HTMLInputElement>(null);\n\n\n /**\n * Sets initial values for the chips.\n */\n React.useEffect(() => {\n\n const list =\n values.map((a) => chips.find(b => b.value === a) || givenList.find(b => b.value === a) || {\n label: a,\n value: a,\n icon: icon\n })\n .map((a, index) => ({...a, variant: a.variant || (variants && variants[index]) || 'normal'}))\n .map((a, index) => ({...a, icon: a.icon || icon}));\n\n setChips(list);\n }, [values, variants, icon, givenList]);\n\n /**\n * Convert string[] to List[] if necessary\n */\n React.useEffect(() => {\n if (typeof list[0] === 'string') {\n const newList: ListItem[] = (list as string[]).map((e: string) => ({label: e, value: e}));\n setGivenList(newList);\n } else {\n setGivenList(list as ListItem[]);\n }\n }, [list]);\n\n /**\n * filter and sort list if remoteOperations is false\n * */\n React.useEffect(() => {\n let options = [...givenList];\n if (!disableFiltering) {\n if (!restartFilter && value !== '') {\n options = options.filter((option) => option.label.toUpperCase().indexOf(value.toUpperCase()) !== -1 ||\n (option.secondaryLabel && option.secondaryLabel?.toUpperCase().indexOf(value.toUpperCase()) !== -1));\n }\n }\n\n if (!disableSorting) {\n options = options.sort();\n }\n\n suggestion && options.push(suggestion);\n\n options = options.filter((o) => !chips.find(a => a.value === o.value));\n setFilteredList(options);\n }, [value, givenList, chips, disableFiltering, disableSorting]);\n\n /**\n * if there is only one active item in dropdown mark it as focused\n * */\n React.useEffect(() => {\n if (dropdownIsOpen && !!value && dropdownList?.filter(a => !a.disabled).length === 1) {\n setDropdownValue(dropdownList.find(a => !a.disabled)!.value);\n } else {\n setDropdownValue('');\n }\n }, [dropdownList, dropdownIsOpen, value]);\n\n const handleClickOutside = (e: any) => {\n if (!containerRef.current?.contains(e.target)) {\n if (dropdownIsOpen) {\n setDropdownIsOpen(false);\n if (!givenList.find((e) => e.value === value)) {\n setValue('');\n }\n }\n }\n };\n\n /**\n * register click outside event listener\n * */\n React.useEffect(() => {\n document.addEventListener('click', handleClickOutside);\n return () => {\n document.removeEventListener('click', handleClickOutside);\n };\n });\n\n /**\n * update dropdown items when filtered list changes\n * */\n React.useEffect(() => {\n setDropdownList(filteredList?.map(x => ({\n value: x.value,\n displayLabel: x.label,\n noteLabel: x.secondaryLabel,\n icon: (x.icon ?? icon) && SystemIcons[(x.icon || icon)!]({}),\n disabled: x.disabled,\n })) ?? []);\n }, [filteredList]);\n\n const addChip = (newChip: ListItem) => {\n const newList = [...chips, newChip];\n // Let's add the chip\n setChips(newList);\n onValueChange(newList.map(a => a.value));\n\n setValue('');\n };\n\n const handleInputValueChange = (value: string) => {\n setValue(value);\n setRestartFilter(false);\n setDropdownIsOpen(true);\n onInputChange && onInputChange(value);\n }\n\n /**\n * Add chip from dropdown\n * */\n const handleValueUpdate = (values: string[]) => {\n const item = filteredList?.find(a => a.value === values[0]);\n item && addChip(item);\n setRestartFilter(true);\n inputRef?.current?.focus();\n }\n\n /**\n * Adds a chip to the chip list.\n * @param event - Event handler from the key down event.\n */\n const handleInputKeyDown = (event: React.KeyboardEvent<HTMLInputElement>): void => {\n // Let's trigger only on enter, comma and space key press\n if ((event.key === 'Enter' || event.key === ' ') && value) {\n if (dropdownList?.filter(a => !a.disabled).length === 1) {\n handleValueUpdate([dropdownList!.find(a => !a.disabled)!.value]);\n event.stopPropagation();\n }\n }\n\n if ((event.key === 'ArrowDown' || event.key === 'Down' || event.key === 'ArrowUp' || event.key === 'Up') && !!dropdownList?.length) {\n setDropdownIsOpen(true);\n }\n };\n\n /**\n * Removes a specific chip from the chip list.\n * @param index - Index of the chip that needs to be removed.\n */\n const handleOnChipRemoved = (index: number): void => {\n // Let's copy the chips\n const newChips = [...chips];\n\n // Let's delete the chip\n // If necessary, let's replace it with a different chip\n newChips.splice(index, 1);\n\n // Let's update the chip list\n setChips([...newChips]);\n onValueChange(newChips.map((e) => e.value));\n };\n\n return (\n <Wrapper ref={containerRef}>\n <ChipInputField inputId={inputId}\n ref={inputRef}\n items={chips}\n required={required}\n inputValue={value}\n size={size}\n placeholder={placeholder}\n altPlaceholder={altPlaceholder}\n disabled={disabled}\n multiLine={multiLine}\n validationType={validationType}\n validationMessage={validationMessage}\n loading={loading}\n onRemoveItem={(chip, index) => handleOnChipRemoved(index)}\n onInputValueChange={handleInputValueChange}\n onInputKeyDown={handleInputKeyDown}\n onActivationChange={(value) => setDropdownIsOpen(value)}/>\n <DropdownContent\n customizationProps={{\n action: () => {\n },\n pinTopItem: true,\n\n itemsType: 'normal',\n scrollable: true,\n actionLabel: '',\n multiSelect: false,\n onValueUpdate: handleValueUpdate,\n items: dropdownList\n }}\n focused={focused}\n setFocused={setFocused}\n selectedValues={[dropdownValue]}\n messageOnNoResults={messageOnNoResults ?? ''}\n setSelectedValues={() => {\n }}\n isOpen={(!maxSelectedItems || (!!maxSelectedItems && chips.length < maxSelectedItems)) && dropdownIsOpen}\n setIsOpen={setDropdownIsOpen}\n filter={''}\n isButton={false}\n id={`${inputId}_dropdowncontent`}/>\n\n </Wrapper>\n );\n};\n"],"file":"ChipDropdownInput.cjs"}
|
|
@@ -24,7 +24,7 @@ import styled from 'styled-components';
|
|
|
24
24
|
*/
|
|
25
25
|
|
|
26
26
|
import { ChipInputContainer, ChipInputField } from './ChipInputField';
|
|
27
|
-
import { Size
|
|
27
|
+
import { Size } from '../types';
|
|
28
28
|
import { DropdownContent } from '../Dropdown';
|
|
29
29
|
import { SystemIcons } from '../icons';
|
|
30
30
|
import { useClickOutsideRef, useFocusOutsideRef } from '../common';
|
|
@@ -41,6 +41,7 @@ export var ChipDropdownInput = function ChipDropdownInput(_ref) {
|
|
|
41
41
|
inputId = _ref.inputId,
|
|
42
42
|
variants = _ref.variants,
|
|
43
43
|
placeholder = _ref.placeholder,
|
|
44
|
+
validationType = _ref.validationType,
|
|
44
45
|
validationMessage = _ref.validationMessage,
|
|
45
46
|
onValueChange = _ref.onValueChange,
|
|
46
47
|
suggestion = _ref.suggestion,
|
|
@@ -125,7 +126,7 @@ export var ChipDropdownInput = function ChipDropdownInput(_ref) {
|
|
|
125
126
|
};
|
|
126
127
|
}).map(function (a, index) {
|
|
127
128
|
return _objectSpread(_objectSpread({}, a), {}, {
|
|
128
|
-
variant: a.variant || variants && variants[index] ||
|
|
129
|
+
variant: a.variant || variants && variants[index] || 'normal'
|
|
129
130
|
});
|
|
130
131
|
}).map(function (a, index) {
|
|
131
132
|
return _objectSpread(_objectSpread({}, a), {}, {
|
|
@@ -329,6 +330,7 @@ export var ChipDropdownInput = function ChipDropdownInput(_ref) {
|
|
|
329
330
|
altPlaceholder: altPlaceholder,
|
|
330
331
|
disabled: disabled,
|
|
331
332
|
multiLine: multiLine,
|
|
333
|
+
validationType: validationType,
|
|
332
334
|
validationMessage: validationMessage,
|
|
333
335
|
loading: loading,
|
|
334
336
|
onRemoveItem: function onRemoveItem(chip, index) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/ChipsInput/ChipDropdownInput.tsx"],"names":["React","styled","ChipInputContainer","ChipInputField","Size","States","DropdownContent","SystemIcons","useClickOutsideRef","useFocusOutsideRef","Z_INDEXES","Wrapper","div","dropdown","ChipDropdownInput","list","onInputChange","disableSorting","messageOnNoResults","values","inputId","variants","placeholder","validationMessage","onValueChange","suggestion","loading","maxSelectedItems","multiLine","size","Medium","icon","disableFiltering","disabled","altPlaceholder","required","useState","givenList","setGivenList","chips","setChips","value","setValue","restartFilter","setRestartFilter","filteredList","setFilteredList","dropdownIsOpen","setDropdownIsOpen","dropdownList","setDropdownList","dropdownValue","setDropdownValue","focused","setFocused","containerRef","inputRef","useRef","useEffect","map","a","find","b","label","index","variant","Default","newList","e","options","filter","option","toUpperCase","indexOf","secondaryLabel","sort","push","o","length","handleClickOutside","current","contains","target","document","addEventListener","removeEventListener","x","displayLabel","noteLabel","addChip","newChip","handleInputValueChange","handleValueUpdate","item","focus","handleInputKeyDown","event","key","stopPropagation","handleOnChipRemoved","newChips","splice","chip","action","pinTopItem","itemsType","scrollable","actionLabel","multiSelect","onValueUpdate","items"],"mappings":"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","sourcesContent":["/**\n * Import React libraries.\n */\nimport * as React from 'react';\n\n/**\n * Import third-party libraries.\n */\nimport styled from 'styled-components';\n\n/**\n * Import custom components.\n */\nimport {ChipInputContainer, ChipInputField} from './ChipInputField';\nimport {Size, States} from '../types';\nimport {DropdownContent, DropdownItem} from '../Dropdown';\nimport {SystemIcons} from '../icons';\nimport {ChipInputProps, ChipItem} from './ChipInputTypes';\nimport {useClickOutsideRef, useFocusOutsideRef} from '../common';\nimport {Z_INDEXES} from '../styles';\n\nconst Wrapper = styled.div`\n position: relative;\n display: inline-block;\n width: 100%;\n\n ${ChipInputContainer} {\n position: relative;\n\n &:focus, &.focus-visible-within {\n z-index: ${Z_INDEXES.dropdown + 1} !important;\n }\n }\n`;\n\n\ninterface ListItem extends ChipItem {\n secondaryLabel?: string;\n value: string;\n}\n\ninterface ChipDropdownInputProps extends ChipInputProps {\n list: ListItem[] | string[];\n onInputChange?: (input: string) => void;\n messageOnNoResults?: string;\n suggestion?: ListItem;\n loading?: boolean;\n maxSelectedItems?: number;\n disableSorting?: boolean;\n disableFiltering?: boolean;\n}\n\nexport const ChipDropdownInput: React.FunctionComponent<ChipDropdownInputProps> = ({\n list,\n onInputChange,\n disableSorting,\n messageOnNoResults,\n values,\n inputId,\n variants,\n placeholder,\n validationMessage,\n onValueChange,\n suggestion,\n loading,\n maxSelectedItems,\n multiLine = true,\n size = Size.Medium,\n icon,\n disableFiltering,\n disabled,\n altPlaceholder,\n required\n }: ChipDropdownInputProps) => {\n // Initiate states\n const [givenList, setGivenList] = React.useState<ListItem[]>([]);\n const [chips, setChips] = React.useState<ListItem[]>([]);\n\n const [value, setValue] = React.useState<string>('');\n const [restartFilter, setRestartFilter] = React.useState<boolean>(false);\n const [filteredList, setFilteredList] = React.useState<ListItem[]>();\n\n const [dropdownIsOpen, setDropdownIsOpen] = React.useState<boolean>(false);\n const [dropdownList, setDropdownList] = React.useState<DropdownItem[]>([]);\n const [dropdownValue, setDropdownValue] = React.useState<string>('');\n\n const [focused, setFocused] = React.useState<number | null>(null);\n\n const containerRef = useClickOutsideRef(() => setDropdownIsOpen(false), [], useFocusOutsideRef(() => setDropdownIsOpen(false)));\n const inputRef = React.useRef<HTMLInputElement>(null);\n\n\n /**\n * Sets initial values for the chips.\n */\n React.useEffect(() => {\n\n const list =\n values.map((a) => chips.find(b => b.value === a) || givenList.find(b => b.value === a) || {\n label: a,\n value: a,\n icon: icon\n })\n .map((a, index) => ({...a, variant: a.variant || (variants && variants[index]) || States.Default}))\n .map((a, index) => ({...a, icon: a.icon || icon}));\n\n setChips(list);\n }, [values, variants, icon, givenList]);\n\n /**\n * Convert string[] to List[] if necessary\n */\n React.useEffect(() => {\n if (typeof list[0] === 'string') {\n const newList: ListItem[] = (list as string[]).map((e: string) => ({label: e, value: e}));\n setGivenList(newList);\n } else {\n setGivenList(list as ListItem[]);\n }\n }, [list]);\n\n /**\n * filter and sort list if remoteOperations is false\n * */\n React.useEffect(() => {\n let options = [...givenList];\n if (!disableFiltering) {\n if (!restartFilter && value !== '') {\n options = options.filter((option) => option.label.toUpperCase().indexOf(value.toUpperCase()) !== -1 ||\n (option.secondaryLabel && option.secondaryLabel?.toUpperCase().indexOf(value.toUpperCase()) !== -1));\n }\n }\n\n if (!disableSorting) {\n options = options.sort();\n }\n\n suggestion && options.push(suggestion);\n\n options = options.filter((o) => !chips.find(a => a.value === o.value));\n setFilteredList(options);\n }, [value, givenList, chips, disableFiltering, disableSorting]);\n\n /**\n * if there is only one active item in dropdown mark it as focused\n * */\n React.useEffect(() => {\n if (dropdownIsOpen && !!value && dropdownList?.filter(a => !a.disabled).length === 1) {\n setDropdownValue(dropdownList.find(a => !a.disabled)!.value);\n } else {\n setDropdownValue('');\n }\n }, [dropdownList, dropdownIsOpen, value]);\n\n const handleClickOutside = (e: any) => {\n if (!containerRef.current?.contains(e.target)) {\n if (dropdownIsOpen) {\n setDropdownIsOpen(false);\n if (!givenList.find((e) => e.value === value)) {\n setValue('');\n }\n }\n }\n };\n\n /**\n * register click outside event listener\n * */\n React.useEffect(() => {\n document.addEventListener('click', handleClickOutside);\n return () => {\n document.removeEventListener('click', handleClickOutside);\n };\n });\n\n /**\n * update dropdown items when filtered list changes\n * */\n React.useEffect(() => {\n setDropdownList(filteredList?.map(x => ({\n value: x.value,\n displayLabel: x.label,\n noteLabel: x.secondaryLabel,\n icon: (x.icon ?? icon) && SystemIcons[(x.icon || icon)!]({}),\n disabled: x.disabled,\n })) ?? []);\n }, [filteredList]);\n\n const addChip = (newChip: ListItem) => {\n const newList = [...chips, newChip];\n // Let's add the chip\n setChips(newList);\n onValueChange(newList.map(a => a.value));\n\n setValue('');\n };\n\n const handleInputValueChange = (value: string) => {\n setValue(value);\n setRestartFilter(false);\n setDropdownIsOpen(true);\n onInputChange && onInputChange(value);\n }\n\n /**\n * Add chip from dropdown\n * */\n const handleValueUpdate = (values: string[]) => {\n const item = filteredList?.find(a => a.value === values[0]);\n item && addChip(item);\n setRestartFilter(true);\n inputRef?.current?.focus();\n }\n\n /**\n * Adds a chip to the chip list.\n * @param event - Event handler from the key down event.\n */\n const handleInputKeyDown = (event: React.KeyboardEvent<HTMLInputElement>): void => {\n // Let's trigger only on enter, comma and space key press\n if ((event.key === 'Enter' || event.key === ' ') && value) {\n if (dropdownList?.filter(a => !a.disabled).length === 1) {\n handleValueUpdate([dropdownList!.find(a => !a.disabled)!.value]);\n event.stopPropagation();\n }\n }\n\n if ((event.key === 'ArrowDown' || event.key === 'Down' || event.key === 'ArrowUp' || event.key === 'Up') && !!dropdownList?.length) {\n setDropdownIsOpen(true);\n }\n };\n\n /**\n * Removes a specific chip from the chip list.\n * @param index - Index of the chip that needs to be removed.\n */\n const handleOnChipRemoved = (index: number): void => {\n // Let's copy the chips\n const newChips = [...chips];\n\n // Let's delete the chip\n // If necessary, let's replace it with a different chip\n newChips.splice(index, 1);\n\n // Let's update the chip list\n setChips([...newChips]);\n onValueChange(newChips.map((e) => e.value));\n };\n\n return (\n <Wrapper ref={containerRef}>\n <ChipInputField inputId={inputId}\n ref={inputRef}\n items={chips}\n required={required}\n inputValue={value}\n size={size}\n placeholder={placeholder}\n altPlaceholder={altPlaceholder}\n disabled={disabled}\n multiLine={multiLine}\n validationMessage={validationMessage}\n loading={loading}\n onRemoveItem={(chip, index) => handleOnChipRemoved(index)}\n onInputValueChange={handleInputValueChange}\n onInputKeyDown={handleInputKeyDown}\n onActivationChange={(value) => setDropdownIsOpen(value)}/>\n <DropdownContent\n customizationProps={{\n action: () => {\n },\n pinTopItem: true,\n\n itemsType: 'normal',\n scrollable: true,\n actionLabel: '',\n multiSelect: false,\n onValueUpdate: handleValueUpdate,\n items: dropdownList\n }}\n focused={focused}\n setFocused={setFocused}\n selectedValues={[dropdownValue]}\n messageOnNoResults={messageOnNoResults ?? ''}\n setSelectedValues={() => {\n }}\n isOpen={(!maxSelectedItems || (!!maxSelectedItems && chips.length < maxSelectedItems)) && dropdownIsOpen}\n setIsOpen={setDropdownIsOpen}\n filter={''}\n isButton={false}\n id={`${inputId}_dropdowncontent`}/>\n\n </Wrapper>\n );\n};\n"],"file":"ChipDropdownInput.js"}
|
|
1
|
+
{"version":3,"sources":["../../src/ChipsInput/ChipDropdownInput.tsx"],"names":["React","styled","ChipInputContainer","ChipInputField","Size","DropdownContent","SystemIcons","useClickOutsideRef","useFocusOutsideRef","Z_INDEXES","Wrapper","div","dropdown","ChipDropdownInput","list","onInputChange","disableSorting","messageOnNoResults","values","inputId","variants","placeholder","validationType","validationMessage","onValueChange","suggestion","loading","maxSelectedItems","multiLine","size","Medium","icon","disableFiltering","disabled","altPlaceholder","required","useState","givenList","setGivenList","chips","setChips","value","setValue","restartFilter","setRestartFilter","filteredList","setFilteredList","dropdownIsOpen","setDropdownIsOpen","dropdownList","setDropdownList","dropdownValue","setDropdownValue","focused","setFocused","containerRef","inputRef","useRef","useEffect","map","a","find","b","label","index","variant","newList","e","options","filter","option","toUpperCase","indexOf","secondaryLabel","sort","push","o","length","handleClickOutside","current","contains","target","document","addEventListener","removeEventListener","x","displayLabel","noteLabel","addChip","newChip","handleInputValueChange","handleValueUpdate","item","focus","handleInputKeyDown","event","key","stopPropagation","handleOnChipRemoved","newChips","splice","chip","action","pinTopItem","itemsType","scrollable","actionLabel","multiSelect","onValueUpdate","items"],"mappings":";;;;;;;;;;;;AAAA;AACA;AACA;AACA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AAEA;AACA;AACA;;AACA,OAAOC,MAAP,MAAmB,mBAAnB;AAEA;AACA;AACA;;AACA,SAAQC,kBAAR,EAA4BC,cAA5B,QAAiD,kBAAjD;AACA,SAAQC,IAAR,QAAmB,UAAnB;AACA,SAAQC,eAAR,QAA4C,aAA5C;AACA,SAAQC,WAAR,QAA0B,UAA1B;AAEA,SAAQC,kBAAR,EAA4BC,kBAA5B,QAAqD,WAArD;AACA,SAAQC,SAAR,QAAwB,WAAxB;;;AAEA,IAAMC,OAAO,GAAGT,MAAM,CAACU,GAAV,oQAKTT,kBALS,EASIO,SAAS,CAACG,QAAV,GAAqB,CATzB,CAAb;AA+BA,OAAO,IAAMC,iBAAkE,GAAG,SAArEA,iBAAqE,OAsB+B;AAAA,MArB5BC,IAqB4B,QArB5BA,IAqB4B;AAAA,MApB5BC,aAoB4B,QApB5BA,aAoB4B;AAAA,MAnB5BC,cAmB4B,QAnB5BA,cAmB4B;AAAA,MAlB5BC,kBAkB4B,QAlB5BA,kBAkB4B;AAAA,MAjB5BC,MAiB4B,QAjB5BA,MAiB4B;AAAA,MAhB5BC,OAgB4B,QAhB5BA,OAgB4B;AAAA,MAf5BC,QAe4B,QAf5BA,QAe4B;AAAA,MAd5BC,WAc4B,QAd5BA,WAc4B;AAAA,MAb5BC,cAa4B,QAb5BA,cAa4B;AAAA,MAZ5BC,iBAY4B,QAZ5BA,iBAY4B;AAAA,MAX5BC,aAW4B,QAX5BA,aAW4B;AAAA,MAV5BC,UAU4B,QAV5BA,UAU4B;AAAA,MAT5BC,OAS4B,QAT5BA,OAS4B;AAAA,MAR5BC,gBAQ4B,QAR5BA,gBAQ4B;AAAA,4BAP5BC,SAO4B;AAAA,MAP5BA,SAO4B,+BAPhB,IAOgB;AAAA,uBAN5BC,IAM4B;AAAA,MAN5BA,IAM4B,0BANrBzB,IAAI,CAAC0B,MAMgB;AAAA,MAL5BC,IAK4B,QAL5BA,IAK4B;AAAA,MAJ5BC,gBAI4B,QAJ5BA,gBAI4B;AAAA,MAH5BC,QAG4B,QAH5BA,QAG4B;AAAA,MAF5BC,cAE4B,QAF5BA,cAE4B;AAAA,MAD5BC,QAC4B,QAD5BA,QAC4B;;AAC/G;AACA,wBAAkCnC,KAAK,CAACoC,QAAN,CAA2B,EAA3B,CAAlC;AAAA;AAAA,MAAOC,SAAP;AAAA,MAAkBC,YAAlB;;AACA,yBAA0BtC,KAAK,CAACoC,QAAN,CAA2B,EAA3B,CAA1B;AAAA;AAAA,MAAOG,KAAP;AAAA,MAAcC,QAAd;;AAEA,yBAA0BxC,KAAK,CAACoC,QAAN,CAAuB,EAAvB,CAA1B;AAAA;AAAA,MAAOK,KAAP;AAAA,MAAcC,QAAd;;AACA,yBAA0C1C,KAAK,CAACoC,QAAN,CAAwB,KAAxB,CAA1C;AAAA;AAAA,MAAOO,aAAP;AAAA,MAAsBC,gBAAtB;;AACA,yBAAwC5C,KAAK,CAACoC,QAAN,EAAxC;AAAA;AAAA,MAAOS,YAAP;AAAA,MAAqBC,eAArB;;AAEA,0BAA4C9C,KAAK,CAACoC,QAAN,CAAwB,KAAxB,CAA5C;AAAA;AAAA,MAAOW,cAAP;AAAA,MAAuBC,iBAAvB;;AACA,0BAAwChD,KAAK,CAACoC,QAAN,CAA+B,EAA/B,CAAxC;AAAA;AAAA,MAAOa,YAAP;AAAA,MAAqBC,eAArB;;AACA,0BAA0ClD,KAAK,CAACoC,QAAN,CAAuB,EAAvB,CAA1C;AAAA;AAAA,MAAOe,aAAP;AAAA,MAAsBC,gBAAtB;;AAEA,0BAA8BpD,KAAK,CAACoC,QAAN,CAA8B,IAA9B,CAA9B;AAAA;AAAA,MAAOiB,OAAP;AAAA,MAAgBC,UAAhB;;AAEA,MAAMC,YAAY,GAAGhD,kBAAkB,CAAC;AAAA,WAAMyC,iBAAiB,CAAC,KAAD,CAAvB;AAAA,GAAD,EAAiC,EAAjC,EAAqCxC,kBAAkB,CAAC;AAAA,WAAMwC,iBAAiB,CAAC,KAAD,CAAvB;AAAA,GAAD,CAAvD,CAAvC;AACA,MAAMQ,QAAQ,GAAGxD,KAAK,CAACyD,MAAN,CAA+B,IAA/B,CAAjB;AAGA;AACF;AACA;;AACEzD,EAAAA,KAAK,CAAC0D,SAAN,CAAgB,YAAM;AAEpB,QAAM5C,IAAI,GACRI,MAAM,CAACyC,GAAP,CAAW,UAACC,CAAD;AAAA,aAAOrB,KAAK,CAACsB,IAAN,CAAW,UAAAC,CAAC;AAAA,eAAIA,CAAC,CAACrB,KAAF,KAAYmB,CAAhB;AAAA,OAAZ,KAAkCvB,SAAS,CAACwB,IAAV,CAAe,UAAAC,CAAC;AAAA,eAAIA,CAAC,CAACrB,KAAF,KAAYmB,CAAhB;AAAA,OAAhB,CAAlC,IAAwE;AACxFG,QAAAA,KAAK,EAAEH,CADiF;AAExFnB,QAAAA,KAAK,EAAEmB,CAFiF;AAGxF7B,QAAAA,IAAI,EAAEA;AAHkF,OAA/E;AAAA,KAAX,EAKG4B,GALH,CAKO,UAACC,CAAD,EAAII,KAAJ;AAAA,6CAAmBJ,CAAnB;AAAsBK,QAAAA,OAAO,EAAEL,CAAC,CAACK,OAAF,IAAc7C,QAAQ,IAAIA,QAAQ,CAAC4C,KAAD,CAAlC,IAA8C;AAA7E;AAAA,KALP,EAMGL,GANH,CAMO,UAACC,CAAD,EAAII,KAAJ;AAAA,6CAAmBJ,CAAnB;AAAsB7B,QAAAA,IAAI,EAAE6B,CAAC,CAAC7B,IAAF,IAAUA;AAAtC;AAAA,KANP,CADF;AASAS,IAAAA,QAAQ,CAAC1B,IAAD,CAAR;AACD,GAZD,EAYG,CAACI,MAAD,EAASE,QAAT,EAAmBW,IAAnB,EAAyBM,SAAzB,CAZH;AAcA;AACF;AACA;;AACErC,EAAAA,KAAK,CAAC0D,SAAN,CAAgB,YAAM;AACpB,QAAI,OAAO5C,IAAI,CAAC,CAAD,CAAX,KAAmB,QAAvB,EAAiC;AAC/B,UAAMoD,OAAmB,GAAIpD,IAAD,CAAmB6C,GAAnB,CAAuB,UAACQ,CAAD;AAAA,eAAgB;AAACJ,UAAAA,KAAK,EAAEI,CAAR;AAAW1B,UAAAA,KAAK,EAAE0B;AAAlB,SAAhB;AAAA,OAAvB,CAA5B;AACA7B,MAAAA,YAAY,CAAC4B,OAAD,CAAZ;AACD,KAHD,MAGO;AACL5B,MAAAA,YAAY,CAACxB,IAAD,CAAZ;AACD;AACF,GAPD,EAOG,CAACA,IAAD,CAPH;AASA;AACF;AACA;;AACEd,EAAAA,KAAK,CAAC0D,SAAN,CAAgB,YAAM;AACpB,QAAIU,OAAO,sBAAO/B,SAAP,CAAX;;AACA,QAAI,CAACL,gBAAL,EAAuB;AACrB,UAAI,CAACW,aAAD,IAAkBF,KAAK,KAAK,EAAhC,EAAoC;AAClC2B,QAAAA,OAAO,GAAGA,OAAO,CAACC,MAAR,CAAe,UAACC,MAAD;AAAA;;AAAA,iBAAYA,MAAM,CAACP,KAAP,CAAaQ,WAAb,GAA2BC,OAA3B,CAAmC/B,KAAK,CAAC8B,WAAN,EAAnC,MAA4D,CAAC,CAA7D,IAClCD,MAAM,CAACG,cAAP,IAAyB,0BAAAH,MAAM,CAACG,cAAP,gFAAuBF,WAAvB,GAAqCC,OAArC,CAA6C/B,KAAK,CAAC8B,WAAN,EAA7C,OAAsE,CAAC,CAD1E;AAAA,SAAf,CAAV;AAED;AACF;;AAED,QAAI,CAACvD,cAAL,EAAqB;AACnBoD,MAAAA,OAAO,GAAGA,OAAO,CAACM,IAAR,EAAV;AACD;;AAEDjD,IAAAA,UAAU,IAAI2C,OAAO,CAACO,IAAR,CAAalD,UAAb,CAAd;AAEA2C,IAAAA,OAAO,GAAGA,OAAO,CAACC,MAAR,CAAe,UAACO,CAAD;AAAA,aAAO,CAACrC,KAAK,CAACsB,IAAN,CAAW,UAAAD,CAAC;AAAA,eAAIA,CAAC,CAACnB,KAAF,KAAYmC,CAAC,CAACnC,KAAlB;AAAA,OAAZ,CAAR;AAAA,KAAf,CAAV;AACAK,IAAAA,eAAe,CAACsB,OAAD,CAAf;AACD,GAjBD,EAiBG,CAAC3B,KAAD,EAAQJ,SAAR,EAAmBE,KAAnB,EAA0BP,gBAA1B,EAA4ChB,cAA5C,CAjBH;AAmBA;AACF;AACA;;AACEhB,EAAAA,KAAK,CAAC0D,SAAN,CAAgB,YAAM;AACpB,QAAIX,cAAc,IAAI,CAAC,CAACN,KAApB,IAA6B,CAAAQ,YAAY,SAAZ,IAAAA,YAAY,WAAZ,YAAAA,YAAY,CAAEoB,MAAd,CAAqB,UAAAT,CAAC;AAAA,aAAI,CAACA,CAAC,CAAC3B,QAAP;AAAA,KAAtB,EAAuC4C,MAAvC,MAAkD,CAAnF,EAAsF;AACpFzB,MAAAA,gBAAgB,CAACH,YAAY,CAACY,IAAb,CAAkB,UAAAD,CAAC;AAAA,eAAI,CAACA,CAAC,CAAC3B,QAAP;AAAA,OAAnB,EAAqCQ,KAAtC,CAAhB;AACD,KAFD,MAEO;AACLW,MAAAA,gBAAgB,CAAC,EAAD,CAAhB;AACD;AACF,GAND,EAMG,CAACH,YAAD,EAAeF,cAAf,EAA+BN,KAA/B,CANH;;AAQA,MAAMqC,kBAAkB,GAAG,SAArBA,kBAAqB,CAACX,CAAD,EAAY;AAAA;;AACrC,QAAI,2BAACZ,YAAY,CAACwB,OAAd,kDAAC,sBAAsBC,QAAtB,CAA+Bb,CAAC,CAACc,MAAjC,CAAD,CAAJ,EAA+C;AAC7C,UAAIlC,cAAJ,EAAoB;AAClBC,QAAAA,iBAAiB,CAAC,KAAD,CAAjB;;AACA,YAAI,CAACX,SAAS,CAACwB,IAAV,CAAe,UAACM,CAAD;AAAA,iBAAOA,CAAC,CAAC1B,KAAF,KAAYA,KAAnB;AAAA,SAAf,CAAL,EAA+C;AAC7CC,UAAAA,QAAQ,CAAC,EAAD,CAAR;AACD;AACF;AACF;AACF,GATD;AAWA;AACF;AACA;;;AACE1C,EAAAA,KAAK,CAAC0D,SAAN,CAAgB,YAAM;AACpBwB,IAAAA,QAAQ,CAACC,gBAAT,CAA0B,OAA1B,EAAmCL,kBAAnC;AACA,WAAO,YAAM;AACXI,MAAAA,QAAQ,CAACE,mBAAT,CAA6B,OAA7B,EAAsCN,kBAAtC;AACD,KAFD;AAGD,GALD;AAOA;AACF;AACA;;AACE9E,EAAAA,KAAK,CAAC0D,SAAN,CAAgB,YAAM;AAAA;;AACpBR,IAAAA,eAAe,sBAACL,YAAD,aAACA,YAAD,uBAACA,YAAY,CAAEc,GAAd,CAAkB,UAAA0B,CAAC;AAAA;;AAAA,aAAK;AACtC5C,QAAAA,KAAK,EAAE4C,CAAC,CAAC5C,KAD6B;AAEtC6C,QAAAA,YAAY,EAAED,CAAC,CAACtB,KAFsB;AAGtCwB,QAAAA,SAAS,EAAEF,CAAC,CAACZ,cAHyB;AAItC1C,QAAAA,IAAI,EAAE,YAACsD,CAAC,CAACtD,IAAH,6CAAWA,IAAX,KAAoBzB,WAAW,CAAE+E,CAAC,CAACtD,IAAF,IAAUA,IAAZ,CAAX,CAA+B,EAA/B,CAJY;AAKtCE,QAAAA,QAAQ,EAAEoD,CAAC,CAACpD;AAL0B,OAAL;AAAA,KAAnB,CAAD,iEAMR,EANQ,CAAf;AAOD,GARD,EAQG,CAACY,YAAD,CARH;;AAUA,MAAM2C,OAAO,GAAG,SAAVA,OAAU,CAACC,OAAD,EAAuB;AACrC,QAAMvB,OAAO,gCAAO3B,KAAP,IAAckD,OAAd,EAAb,CADqC,CAErC;;AACAjD,IAAAA,QAAQ,CAAC0B,OAAD,CAAR;AACA1C,IAAAA,aAAa,CAAC0C,OAAO,CAACP,GAAR,CAAY,UAAAC,CAAC;AAAA,aAAIA,CAAC,CAACnB,KAAN;AAAA,KAAb,CAAD,CAAb;AAEAC,IAAAA,QAAQ,CAAC,EAAD,CAAR;AACD,GAPD;;AASA,MAAMgD,sBAAsB,GAAG,SAAzBA,sBAAyB,CAACjD,KAAD,EAAmB;AAChDC,IAAAA,QAAQ,CAACD,KAAD,CAAR;AACAG,IAAAA,gBAAgB,CAAC,KAAD,CAAhB;AACAI,IAAAA,iBAAiB,CAAC,IAAD,CAAjB;AACAjC,IAAAA,aAAa,IAAIA,aAAa,CAAC0B,KAAD,CAA9B;AACD,GALD;AAOA;AACF;AACA;;;AACE,MAAMkD,iBAAiB,GAAG,SAApBA,iBAAoB,CAACzE,MAAD,EAAsB;AAAA;;AAC9C,QAAM0E,IAAI,GAAG/C,YAAH,aAAGA,YAAH,uBAAGA,YAAY,CAAEgB,IAAd,CAAmB,UAAAD,CAAC;AAAA,aAAIA,CAAC,CAACnB,KAAF,KAAYvB,MAAM,CAAC,CAAD,CAAtB;AAAA,KAApB,CAAb;AACA0E,IAAAA,IAAI,IAAIJ,OAAO,CAACI,IAAD,CAAf;AACAhD,IAAAA,gBAAgB,CAAC,IAAD,CAAhB;AACAY,IAAAA,QAAQ,SAAR,IAAAA,QAAQ,WAAR,iCAAAA,QAAQ,CAAEuB,OAAV,wEAAmBc,KAAnB;AACD,GALD;AAOA;AACF;AACA;AACA;;;AACE,MAAMC,kBAAkB,GAAG,SAArBA,kBAAqB,CAACC,KAAD,EAAwD;AACjF;AACA,QAAI,CAACA,KAAK,CAACC,GAAN,KAAc,OAAd,IAAyBD,KAAK,CAACC,GAAN,KAAc,GAAxC,KAAgDvD,KAApD,EAA2D;AACzD,UAAI,CAAAQ,YAAY,SAAZ,IAAAA,YAAY,WAAZ,YAAAA,YAAY,CAAEoB,MAAd,CAAqB,UAAAT,CAAC;AAAA,eAAI,CAACA,CAAC,CAAC3B,QAAP;AAAA,OAAtB,EAAuC4C,MAAvC,MAAkD,CAAtD,EAAyD;AACvDc,QAAAA,iBAAiB,CAAC,CAAC1C,YAAY,CAAEY,IAAd,CAAmB,UAAAD,CAAC;AAAA,iBAAI,CAACA,CAAC,CAAC3B,QAAP;AAAA,SAApB,EAAsCQ,KAAvC,CAAD,CAAjB;AACAsD,QAAAA,KAAK,CAACE,eAAN;AACD;AACF;;AAED,QAAI,CAACF,KAAK,CAACC,GAAN,KAAc,WAAd,IAA6BD,KAAK,CAACC,GAAN,KAAc,MAA3C,IAAqDD,KAAK,CAACC,GAAN,KAAc,SAAnE,IAAgFD,KAAK,CAACC,GAAN,KAAc,IAA/F,KAAwG,CAAC,EAAC/C,YAAD,aAACA,YAAD,eAACA,YAAY,CAAE4B,MAAf,CAA7G,EAAoI;AAClI7B,MAAAA,iBAAiB,CAAC,IAAD,CAAjB;AACD;AACF,GAZD;AAcA;AACF;AACA;AACA;;;AACE,MAAMkD,mBAAmB,GAAG,SAAtBA,mBAAsB,CAAClC,KAAD,EAAyB;AACnD;AACA,QAAMmC,QAAQ,sBAAO5D,KAAP,CAAd,CAFmD,CAInD;AACA;;;AACA4D,IAAAA,QAAQ,CAACC,MAAT,CAAgBpC,KAAhB,EAAuB,CAAvB,EANmD,CAQnD;;AACAxB,IAAAA,QAAQ,oBAAK2D,QAAL,EAAR;AACA3E,IAAAA,aAAa,CAAC2E,QAAQ,CAACxC,GAAT,CAAa,UAACQ,CAAD;AAAA,aAAOA,CAAC,CAAC1B,KAAT;AAAA,KAAb,CAAD,CAAb;AACD,GAXD;;AAaA,sBACE,MAAC,OAAD;AAAS,IAAA,GAAG,EAAEc,YAAd;AAAA,4BACE,KAAC,cAAD;AAAgB,MAAA,OAAO,EAAEpC,OAAzB;AACgB,MAAA,GAAG,EAAEqC,QADrB;AAEgB,MAAA,KAAK,EAAEjB,KAFvB;AAGgB,MAAA,QAAQ,EAAEJ,QAH1B;AAIgB,MAAA,UAAU,EAAEM,KAJ5B;AAKgB,MAAA,IAAI,EAAEZ,IALtB;AAMgB,MAAA,WAAW,EAAER,WAN7B;AAOgB,MAAA,cAAc,EAAEa,cAPhC;AAQgB,MAAA,QAAQ,EAAED,QAR1B;AASgB,MAAA,SAAS,EAAEL,SAT3B;AAUgB,MAAA,cAAc,EAAEN,cAVhC;AAWgB,MAAA,iBAAiB,EAAEC,iBAXnC;AAYgB,MAAA,OAAO,EAAEG,OAZzB;AAagB,MAAA,YAAY,EAAE,sBAAC2E,IAAD,EAAOrC,KAAP;AAAA,eAAiBkC,mBAAmB,CAAClC,KAAD,CAApC;AAAA,OAb9B;AAcgB,MAAA,kBAAkB,EAAE0B,sBAdpC;AAegB,MAAA,cAAc,EAAEI,kBAfhC;AAgBgB,MAAA,kBAAkB,EAAE,4BAACrD,KAAD;AAAA,eAAWO,iBAAiB,CAACP,KAAD,CAA5B;AAAA;AAhBpC,MADF,eAkBE,KAAC,eAAD;AACE,MAAA,kBAAkB,EAAE;AAClB6D,QAAAA,MAAM,EAAE,kBAAM,CACb,CAFiB;AAGlBC,QAAAA,UAAU,EAAE,IAHM;AAKlBC,QAAAA,SAAS,EAAE,QALO;AAMlBC,QAAAA,UAAU,EAAE,IANM;AAOlBC,QAAAA,WAAW,EAAE,EAPK;AAQlBC,QAAAA,WAAW,EAAE,KARK;AASlBC,QAAAA,aAAa,EAAEjB,iBATG;AAUlBkB,QAAAA,KAAK,EAAE5D;AAVW,OADtB;AAaE,MAAA,OAAO,EAAEI,OAbX;AAcE,MAAA,UAAU,EAAEC,UAdd;AAeE,MAAA,cAAc,EAAE,CAACH,aAAD,CAflB;AAgBE,MAAA,kBAAkB,EAAElC,kBAAF,aAAEA,kBAAF,cAAEA,kBAAF,GAAwB,EAhB5C;AAiBE,MAAA,iBAAiB,EAAE,6BAAM,CACxB,CAlBH;AAmBE,MAAA,MAAM,EAAE,CAAC,CAACU,gBAAD,IAAsB,CAAC,CAACA,gBAAF,IAAsBY,KAAK,CAACsC,MAAN,GAAelD,gBAA5D,KAAkFoB,cAnB5F;AAoBE,MAAA,SAAS,EAAEC,iBApBb;AAqBE,MAAA,MAAM,EAAE,EArBV;AAsBE,MAAA,QAAQ,EAAE,KAtBZ;AAuBE,MAAA,EAAE,YAAK7B,OAAL;AAvBJ,MAlBF;AAAA,IADF;AA8CD,CApPM;;AAVLL,EAAAA,I;AALA2D,IAAAA,c;AACAhC,IAAAA,K;;AAKA1B,EAAAA,a;AACAE,EAAAA,kB;AACAQ,EAAAA,U;AARAgD,IAAAA,c;AACAhC,IAAAA,K;;AAQAf,EAAAA,O;AACAC,EAAAA,gB;AACAX,EAAAA,c;AACAgB,EAAAA,gB","sourcesContent":["/**\n * Import React libraries.\n */\nimport * as React from 'react';\n\n/**\n * Import third-party libraries.\n */\nimport styled from 'styled-components';\n\n/**\n * Import custom components.\n */\nimport {ChipInputContainer, ChipInputField} from './ChipInputField';\nimport {Size} from '../types';\nimport {DropdownContent, DropdownItem} from '../Dropdown';\nimport {SystemIcons} from '../icons';\nimport {ChipInputProps, ChipItem} from './ChipInputTypes';\nimport {useClickOutsideRef, useFocusOutsideRef} from '../common';\nimport {Z_INDEXES} from '../styles';\n\nconst Wrapper = styled.div`\n position: relative;\n display: inline-block;\n width: 100%;\n\n ${ChipInputContainer} {\n position: relative;\n\n &:focus, &.focus-visible-within {\n z-index: ${Z_INDEXES.dropdown + 1} !important;\n }\n }\n`;\n\n\ninterface ListItem extends ChipItem {\n secondaryLabel?: string;\n value: string;\n}\n\ninterface ChipDropdownInputProps extends ChipInputProps {\n list: ListItem[] | string[];\n onInputChange?: (input: string) => void;\n messageOnNoResults?: string;\n suggestion?: ListItem;\n loading?: boolean;\n maxSelectedItems?: number;\n disableSorting?: boolean;\n disableFiltering?: boolean;\n}\n\nexport const ChipDropdownInput: React.FunctionComponent<ChipDropdownInputProps> = ({\n list,\n onInputChange,\n disableSorting,\n messageOnNoResults,\n values,\n inputId,\n variants,\n placeholder,\n validationType,\n validationMessage,\n onValueChange,\n suggestion,\n loading,\n maxSelectedItems,\n multiLine = true,\n size = Size.Medium,\n icon,\n disableFiltering,\n disabled,\n altPlaceholder,\n required\n }: ChipDropdownInputProps) => {\n // Initiate states\n const [givenList, setGivenList] = React.useState<ListItem[]>([]);\n const [chips, setChips] = React.useState<ListItem[]>([]);\n\n const [value, setValue] = React.useState<string>('');\n const [restartFilter, setRestartFilter] = React.useState<boolean>(false);\n const [filteredList, setFilteredList] = React.useState<ListItem[]>();\n\n const [dropdownIsOpen, setDropdownIsOpen] = React.useState<boolean>(false);\n const [dropdownList, setDropdownList] = React.useState<DropdownItem[]>([]);\n const [dropdownValue, setDropdownValue] = React.useState<string>('');\n\n const [focused, setFocused] = React.useState<number | null>(null);\n\n const containerRef = useClickOutsideRef(() => setDropdownIsOpen(false), [], useFocusOutsideRef(() => setDropdownIsOpen(false)));\n const inputRef = React.useRef<HTMLInputElement>(null);\n\n\n /**\n * Sets initial values for the chips.\n */\n React.useEffect(() => {\n\n const list =\n values.map((a) => chips.find(b => b.value === a) || givenList.find(b => b.value === a) || {\n label: a,\n value: a,\n icon: icon\n })\n .map((a, index) => ({...a, variant: a.variant || (variants && variants[index]) || 'normal'}))\n .map((a, index) => ({...a, icon: a.icon || icon}));\n\n setChips(list);\n }, [values, variants, icon, givenList]);\n\n /**\n * Convert string[] to List[] if necessary\n */\n React.useEffect(() => {\n if (typeof list[0] === 'string') {\n const newList: ListItem[] = (list as string[]).map((e: string) => ({label: e, value: e}));\n setGivenList(newList);\n } else {\n setGivenList(list as ListItem[]);\n }\n }, [list]);\n\n /**\n * filter and sort list if remoteOperations is false\n * */\n React.useEffect(() => {\n let options = [...givenList];\n if (!disableFiltering) {\n if (!restartFilter && value !== '') {\n options = options.filter((option) => option.label.toUpperCase().indexOf(value.toUpperCase()) !== -1 ||\n (option.secondaryLabel && option.secondaryLabel?.toUpperCase().indexOf(value.toUpperCase()) !== -1));\n }\n }\n\n if (!disableSorting) {\n options = options.sort();\n }\n\n suggestion && options.push(suggestion);\n\n options = options.filter((o) => !chips.find(a => a.value === o.value));\n setFilteredList(options);\n }, [value, givenList, chips, disableFiltering, disableSorting]);\n\n /**\n * if there is only one active item in dropdown mark it as focused\n * */\n React.useEffect(() => {\n if (dropdownIsOpen && !!value && dropdownList?.filter(a => !a.disabled).length === 1) {\n setDropdownValue(dropdownList.find(a => !a.disabled)!.value);\n } else {\n setDropdownValue('');\n }\n }, [dropdownList, dropdownIsOpen, value]);\n\n const handleClickOutside = (e: any) => {\n if (!containerRef.current?.contains(e.target)) {\n if (dropdownIsOpen) {\n setDropdownIsOpen(false);\n if (!givenList.find((e) => e.value === value)) {\n setValue('');\n }\n }\n }\n };\n\n /**\n * register click outside event listener\n * */\n React.useEffect(() => {\n document.addEventListener('click', handleClickOutside);\n return () => {\n document.removeEventListener('click', handleClickOutside);\n };\n });\n\n /**\n * update dropdown items when filtered list changes\n * */\n React.useEffect(() => {\n setDropdownList(filteredList?.map(x => ({\n value: x.value,\n displayLabel: x.label,\n noteLabel: x.secondaryLabel,\n icon: (x.icon ?? icon) && SystemIcons[(x.icon || icon)!]({}),\n disabled: x.disabled,\n })) ?? []);\n }, [filteredList]);\n\n const addChip = (newChip: ListItem) => {\n const newList = [...chips, newChip];\n // Let's add the chip\n setChips(newList);\n onValueChange(newList.map(a => a.value));\n\n setValue('');\n };\n\n const handleInputValueChange = (value: string) => {\n setValue(value);\n setRestartFilter(false);\n setDropdownIsOpen(true);\n onInputChange && onInputChange(value);\n }\n\n /**\n * Add chip from dropdown\n * */\n const handleValueUpdate = (values: string[]) => {\n const item = filteredList?.find(a => a.value === values[0]);\n item && addChip(item);\n setRestartFilter(true);\n inputRef?.current?.focus();\n }\n\n /**\n * Adds a chip to the chip list.\n * @param event - Event handler from the key down event.\n */\n const handleInputKeyDown = (event: React.KeyboardEvent<HTMLInputElement>): void => {\n // Let's trigger only on enter, comma and space key press\n if ((event.key === 'Enter' || event.key === ' ') && value) {\n if (dropdownList?.filter(a => !a.disabled).length === 1) {\n handleValueUpdate([dropdownList!.find(a => !a.disabled)!.value]);\n event.stopPropagation();\n }\n }\n\n if ((event.key === 'ArrowDown' || event.key === 'Down' || event.key === 'ArrowUp' || event.key === 'Up') && !!dropdownList?.length) {\n setDropdownIsOpen(true);\n }\n };\n\n /**\n * Removes a specific chip from the chip list.\n * @param index - Index of the chip that needs to be removed.\n */\n const handleOnChipRemoved = (index: number): void => {\n // Let's copy the chips\n const newChips = [...chips];\n\n // Let's delete the chip\n // If necessary, let's replace it with a different chip\n newChips.splice(index, 1);\n\n // Let's update the chip list\n setChips([...newChips]);\n onValueChange(newChips.map((e) => e.value));\n };\n\n return (\n <Wrapper ref={containerRef}>\n <ChipInputField inputId={inputId}\n ref={inputRef}\n items={chips}\n required={required}\n inputValue={value}\n size={size}\n placeholder={placeholder}\n altPlaceholder={altPlaceholder}\n disabled={disabled}\n multiLine={multiLine}\n validationType={validationType}\n validationMessage={validationMessage}\n loading={loading}\n onRemoveItem={(chip, index) => handleOnChipRemoved(index)}\n onInputValueChange={handleInputValueChange}\n onInputKeyDown={handleInputKeyDown}\n onActivationChange={(value) => setDropdownIsOpen(value)}/>\n <DropdownContent\n customizationProps={{\n action: () => {\n },\n pinTopItem: true,\n\n itemsType: 'normal',\n scrollable: true,\n actionLabel: '',\n multiSelect: false,\n onValueUpdate: handleValueUpdate,\n items: dropdownList\n }}\n focused={focused}\n setFocused={setFocused}\n selectedValues={[dropdownValue]}\n messageOnNoResults={messageOnNoResults ?? ''}\n setSelectedValues={() => {\n }}\n isOpen={(!maxSelectedItems || (!!maxSelectedItems && chips.length < maxSelectedItems)) && dropdownIsOpen}\n setIsOpen={setDropdownIsOpen}\n filter={''}\n isButton={false}\n id={`${inputId}_dropdowncontent`}/>\n\n </Wrapper>\n );\n};\n"],"file":"ChipDropdownInput.js"}
|
|
@@ -40,6 +40,7 @@ var ChipInput = function ChipInput(_ref) {
|
|
|
40
40
|
placeholder = _ref.placeholder,
|
|
41
41
|
disabled = _ref.disabled,
|
|
42
42
|
altPlaceholder = _ref.altPlaceholder,
|
|
43
|
+
validationType = _ref.validationType,
|
|
43
44
|
validationMessage = _ref.validationMessage,
|
|
44
45
|
onValueChange = _ref.onValueChange,
|
|
45
46
|
_ref$multiLine = _ref.multiLine,
|
|
@@ -127,6 +128,7 @@ var ChipInput = function ChipInput(_ref) {
|
|
|
127
128
|
onInputKeyDown: handleInputKeyDown,
|
|
128
129
|
placeholder: placeholder,
|
|
129
130
|
altPlaceholder: altPlaceholder,
|
|
131
|
+
validationType: validationType,
|
|
130
132
|
disabled: disabled,
|
|
131
133
|
validationMessage: validationMessage,
|
|
132
134
|
multiLine: multiLine,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/ChipsInput/ChipInput.tsx"],"names":["ChipInput","values","inputId","variants","icon","placeholder","disabled","altPlaceholder","validationMessage","onValueChange","multiLine","size","Size","Medium","React","useState","chips","setChips","value","setValue","chipItems","setChipItems","useEffect","map","chip","index","label","variant","handleInputKeyDown","event","key","preventDefault","onRemoveChip","newChips","splice","item"],"mappings":";;;;;;;;;;;;;;;AAGA;;AAKA;;AACA;;;;;;;;AATA;AACA;AACA;;AAGA;AACA;AACA;AAMA,IAAMA,SAAkD,GAAG,SAArDA,SAAqD,
|
|
1
|
+
{"version":3,"sources":["../../src/ChipsInput/ChipInput.tsx"],"names":["ChipInput","values","inputId","variants","icon","placeholder","disabled","altPlaceholder","validationType","validationMessage","onValueChange","multiLine","size","Size","Medium","React","useState","chips","setChips","value","setValue","chipItems","setChipItems","useEffect","map","chip","index","label","variant","handleInputKeyDown","event","key","preventDefault","onRemoveChip","newChips","splice","item"],"mappings":"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","sourcesContent":["/**\n * Import React libraries.\n */\nimport * as React from 'react';\n\n/**\n * Import custom components.\n */\nimport {Size} from '../types';\nimport {ChipInputField} from './ChipInputField';\nimport {ChipInputProps, ChipItem} from './ChipInputTypes';\n\n\nconst ChipInput: React.FunctionComponent<ChipInputProps> = ({\n values,\n inputId,\n variants,\n icon,\n placeholder,\n disabled,\n altPlaceholder,\n validationType,\n validationMessage,\n onValueChange,\n multiLine = true,\n size = Size.Medium,\n }: ChipInputProps) => {\n\n const [chips, setChips] = React.useState<string[]>([]);\n const [value, setValue] = React.useState<string>('');\n const [chipItems, setChipItems] = React.useState<ChipItem[]>([]);\n\n /**\n * Sets initial values for the chips.\n */\n React.useEffect(() => {\n // Let's add initial chip values\n setChips(values);\n }, [values]);\n\n /**\n * Set chip items for chip input field\n * */\n React.useEffect(() => {\n setChipItems(chips.map((chip, index) => ({\n label: chip,\n icon: icon,\n disabled: false,\n variant: variants && variants[index],\n })));\n }, [chips, variants, icon, size]);\n\n /**\n * Adds a chip to the chip list.\n * @param event - Event handler from the key down event.\n */\n const handleInputKeyDown = (event: React.KeyboardEvent<HTMLInputElement>): void => {\n if ((event.key === 'Enter' || event.key === ' ') && value) {\n event.preventDefault();\n\n setChips([...chips, value]);\n onValueChange([...chips, value]);\n\n setValue('');\n }\n };\n\n /**\n * Removes a specific chip from the chip list.\n * @param index - Index of the chip that needs to be removed.\n */\n const onRemoveChip = (index: number): void => {\n const newChips = [...chips];\n newChips.splice(index, 1);\n\n setChips(newChips);\n onValueChange(newChips);\n };\n\n /**\n * Return Chip Input component.\n */\n return (\n <ChipInputField inputId={inputId}\n items={chipItems}\n onRemoveItem={(item, index) => onRemoveChip(index)}\n inputValue={value}\n onInputValueChange={value => setValue(value)}\n onInputKeyDown={handleInputKeyDown}\n placeholder={placeholder}\n altPlaceholder={altPlaceholder}\n validationType={validationType}\n disabled={disabled}\n validationMessage={validationMessage}\n multiLine={multiLine}\n size={size}\n />\n );\n};\n\nexport default ChipInput;\n"],"file":"ChipInput.cjs"}
|
|
@@ -21,6 +21,7 @@ var ChipInput = function ChipInput(_ref) {
|
|
|
21
21
|
placeholder = _ref.placeholder,
|
|
22
22
|
disabled = _ref.disabled,
|
|
23
23
|
altPlaceholder = _ref.altPlaceholder,
|
|
24
|
+
validationType = _ref.validationType,
|
|
24
25
|
validationMessage = _ref.validationMessage,
|
|
25
26
|
onValueChange = _ref.onValueChange,
|
|
26
27
|
_ref$multiLine = _ref.multiLine,
|
|
@@ -109,6 +110,7 @@ var ChipInput = function ChipInput(_ref) {
|
|
|
109
110
|
onInputKeyDown: handleInputKeyDown,
|
|
110
111
|
placeholder: placeholder,
|
|
111
112
|
altPlaceholder: altPlaceholder,
|
|
113
|
+
validationType: validationType,
|
|
112
114
|
disabled: disabled,
|
|
113
115
|
validationMessage: validationMessage,
|
|
114
116
|
multiLine: multiLine,
|