@corva/ui 3.75.0-16 → 3.75.0-17

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.
Files changed (62) hide show
  1. package/cjs-bundle/componentsV2/Autocomplete/Autocomplete.js +1 -1
  2. package/cjs-bundle/componentsV2/Autocomplete/Autocomplete.js.map +1 -1
  3. package/cjs-bundle/componentsV2/DatePicker/CalendarControls/CalendarControls.js +1 -1
  4. package/cjs-bundle/componentsV2/DatePicker/CalendarControls/CalendarControls.js.map +1 -1
  5. package/cjs-bundle/componentsV2/DatePicker/CalendarControls/CalendarControls.scss.js +1 -1
  6. package/cjs-bundle/componentsV2/DatePicker/CalendarGrid/CalendarGrid.js +1 -1
  7. package/cjs-bundle/componentsV2/DatePicker/CalendarGrid/CalendarGrid.js.map +1 -1
  8. package/cjs-bundle/componentsV2/DatePicker/CalendarGrid/CalendarGrid.scss.js +1 -1
  9. package/cjs-bundle/componentsV2/DatePicker/DatePicker.js +1 -1
  10. package/cjs-bundle/componentsV2/DatePicker/DatePicker.js.map +1 -1
  11. package/cjs-bundle/componentsV2/DatePicker/DatePicker.scss.js +1 -1
  12. package/cjs-bundle/componentsV2/DatePicker/Input/Input.js +1 -1
  13. package/cjs-bundle/componentsV2/DatePicker/Input/Input.js.map +1 -1
  14. package/cjs-bundle/componentsV2/DatePicker/Input/Input.scss.js +2 -0
  15. package/cjs-bundle/componentsV2/DatePicker/Input/Input.scss.js.map +1 -0
  16. package/cjs-bundle/componentsV2/DatePicker/TimePicker/TimePicker.js +1 -1
  17. package/cjs-bundle/componentsV2/DatePicker/TimePicker/TimePicker.js.map +1 -1
  18. package/cjs-bundle/componentsV2/DatePicker/TimePicker/TimePicker.scss.js +1 -1
  19. package/cjs-bundle/componentsV2/DatePicker/utils.js +1 -1
  20. package/cjs-bundle/componentsV2/DatePicker/utils.js.map +1 -1
  21. package/cjs-bundle/componentsV2/Popover/Popover.js +1 -1
  22. package/cjs-bundle/componentsV2/Popover/Popover.js.map +1 -1
  23. package/cjs-bundle/componentsV2/ToggleButtons/ToggleButtons.scss.js +1 -1
  24. package/components/Drillstring/BHAComponentDetail/constants.d.ts +2 -2
  25. package/componentsV2/Autocomplete/Autocomplete.d.ts.map +1 -1
  26. package/componentsV2/Autocomplete/Autocomplete.js +1 -1
  27. package/componentsV2/Autocomplete/Autocomplete.js.map +1 -1
  28. package/componentsV2/DatePicker/CalendarControls/CalendarControls.d.ts.map +1 -1
  29. package/componentsV2/DatePicker/CalendarControls/CalendarControls.js +1 -1
  30. package/componentsV2/DatePicker/CalendarControls/CalendarControls.js.map +1 -1
  31. package/componentsV2/DatePicker/CalendarControls/CalendarControls.scss.js +1 -1
  32. package/componentsV2/DatePicker/CalendarGrid/CalendarGrid.js +1 -1
  33. package/componentsV2/DatePicker/CalendarGrid/CalendarGrid.js.map +1 -1
  34. package/componentsV2/DatePicker/CalendarGrid/CalendarGrid.scss.js +1 -1
  35. package/componentsV2/DatePicker/DatePicker.d.ts +4 -1
  36. package/componentsV2/DatePicker/DatePicker.d.ts.map +1 -1
  37. package/componentsV2/DatePicker/DatePicker.js +1 -1
  38. package/componentsV2/DatePicker/DatePicker.js.map +1 -1
  39. package/componentsV2/DatePicker/DatePicker.scss.js +1 -1
  40. package/componentsV2/DatePicker/Input/Input.d.ts +4 -2
  41. package/componentsV2/DatePicker/Input/Input.d.ts.map +1 -1
  42. package/componentsV2/DatePicker/Input/Input.js +1 -1
  43. package/componentsV2/DatePicker/Input/Input.js.map +1 -1
  44. package/componentsV2/DatePicker/Input/Input.scss.js +2 -0
  45. package/componentsV2/DatePicker/Input/Input.scss.js.map +1 -0
  46. package/componentsV2/DatePicker/TimePicker/TimePicker.d.ts +7 -5
  47. package/componentsV2/DatePicker/TimePicker/TimePicker.d.ts.map +1 -1
  48. package/componentsV2/DatePicker/TimePicker/TimePicker.js +1 -1
  49. package/componentsV2/DatePicker/TimePicker/TimePicker.js.map +1 -1
  50. package/componentsV2/DatePicker/TimePicker/TimePicker.scss.js +1 -1
  51. package/componentsV2/DatePicker/utils.d.ts +2 -2
  52. package/componentsV2/DatePicker/utils.d.ts.map +1 -1
  53. package/componentsV2/DatePicker/utils.js +1 -1
  54. package/componentsV2/DatePicker/utils.js.map +1 -1
  55. package/componentsV2/Popover/Popover.d.ts +1 -0
  56. package/componentsV2/Popover/Popover.d.ts.map +1 -1
  57. package/componentsV2/Popover/Popover.js +1 -1
  58. package/componentsV2/Popover/Popover.js.map +1 -1
  59. package/componentsV2/ToggleButtons/ToggleButtons.scss.js +1 -1
  60. package/mcp-server/server.mjs +7 -2
  61. package/package.json +1 -1
  62. package/tsconfig.tsbuildinfo +1 -1
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/defineProperty"),o=require("@babel/runtime/helpers/toConsumableArray"),s=require("@babel/runtime/helpers/typeof"),n=require("@babel/runtime/helpers/slicedToArray"),i=require("@material-ui/lab"),r=require("react"),c=require("classnames"),t=require("../Popper/Popper.js"),u=require("../../icons/iconParkIcons.js");require("../../icons/customIcons/icons/AddMessage.js"),require("../../icons/customIcons/icons/DragOne.js"),require("../../icons/customIcons/icons/Attention.js"),require("../../icons/customIcons/icons/Collapse.js"),require("../../icons/customIcons/icons/Dashboard.js"),require("../../icons/customIcons/icons/Expand.js"),require("../../icons/customIcons/icons/FolderClosed.js"),require("../../icons/customIcons/icons/FolderClosedFilled.js"),require("../../icons/customIcons/icons/FolderOpened.js"),require("../../icons/customIcons/icons/GreaterOrEqual.js"),require("../../icons/customIcons/icons/LessOrEqual.js"),require("../../icons/customIcons/icons/Search.js"),require("../../icons/customIcons/icons/SearchOne.js"),require("../../icons/customIcons/icons/Wellhub.js"),require("../../icons/customIcons/icons/MultiRuler.js"),require("../../icons/customIcons/icons/Checkbox.js"),require("../../icons/customIcons/icons/CheckboxChecked.js"),require("../../icons/customIcons/icons/CheckboxIndeterminate.js"),require("../../icons/customIcons/icons/Radio.js"),require("../../icons/customIcons/icons/RadioChecked.js"),require("../../icons/customIcons/icons/SimulFrac.js"),require("../../icons/customIcons/icons/ZipperFrac.js"),require("../../icons/customIcons/icons/CautionFilled.js"),require("../../icons/customIcons/icons/InfoRounded.js"),require("../../icons/customIcons/icons/FlameFilled.js"),require("../../icons/customIcons/icons/MoreApp.js"),require("../../icons/customIcons/icons/Pad.js"),require("../../icons/customIcons/icons/DrilloutUnit.js"),require("../../icons/customIcons/icons/FracFleet.js"),require("../../icons/customIcons/icons/Global.js"),require("../../icons/customIcons/icons/Program.js"),require("../../icons/customIcons/icons/Rig.js"),require("../../icons/customIcons/icons/Well.js"),require("../../icons/customIcons/icons/Gap.js"),require("../../icons/customIcons/icons/Pin.js"),require("../../icons/customIcons/icons/CloseOneFilled.js"),require("../../icons/customIcons/icons/AttentionFilled.js"),require("../../icons/customIcons/icons/CheckOneFilled.js"),require("../../icons/customIcons/icons/Archive.js"),require("../../icons/customIcons/icons/ArchiveCancel.js"),require("../../icons/customIcons/icons/Unarchive.js"),require("../../icons/customIcons/icons/Archived.js"),require("../../icons/customIcons/icons/InterventionUnit.js"),require("../../icons/customIcons/icons/CloudDelete.js"),require("../../icons/customIcons/icons/Lasso.js"),require("../../icons/customIcons/icons/Radius.js"),require("../../icons/customIcons/icons/ErrorOps.js"),require("../../icons/customIcons/icons/DataTypeOps.js"),require("../../icons/customIcons/icons/FalsePositiveOps.js"),require("../../icons/customIcons/icons/CalibrationOps.js"),require("../../icons/customIcons/icons/CriticalOps.js"),require("../../icons/customIcons/icons/Company.js"),require("../../icons/customIcons/icons/ArchiveOne.js"),require("../../icons/customIcons/icons/ParseBotFusion.js"),require("../../icons/customIcons/icons/Connect.js"),require("../../icons/customIcons/icons/PuzzleOne.js"),require("../../icons/customIcons/icons/Feed.js"),require("../../icons/customIcons/icons/Prompt.js"),require("../../icons/customIcons/icons/Companies.js"),require("../../icons/customIcons/icons/ClipboardAi.js"),require("../../icons/customIcons/icons/Key.js"),require("../../icons/customIcons/icons/AtSignCrossed.js"),require("../../icons/customIcons/icons/MappingManual.js"),require("../../icons/customIcons/icons/Mapping.js"),require("../../icons/customIcons/icons/Metrics.js"),require("../../icons/customIcons/icons/Drops.js"),require("../../icons/customIcons/icons/ClipboardSearch.js"),require("../../icons/customIcons/icons/Template.js"),require("../../icons/customIcons/icons/ClipboardMetrics.js"),require("../../icons/customIcons/icons/ClipboardBuilder.js"),require("../../icons/customIcons/icons/UnitConversion.js"),require("../../icons/customIcons/icons/NPT.js"),require("../../icons/customIcons/icons/GuidedFrac.js");var l=require("./AutocompleteInput/AutocompleteInput.js"),a=require("./AutocompletePaper.js"),p=require("./utils.js"),m=require("./AutocompleteMenuItem.js"),d=require("./AutocompleteListBox.js"),j=require("./Autocomplete.scss.js"),I=require("../Menu/Menu.js"),q=require("react/jsx-runtime");function f(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var O=f(e),b=f(o),C=f(s),h=f(n),v=f(c);function A(e,o){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);o&&(n=n.filter((function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable}))),s.push.apply(s,n)}return s}function g(e){for(var o=1;o<arguments.length;o++){var s=null!=arguments[o]?arguments[o]:{};o%2?A(Object(s),!0).forEach((function(o){O.default(e,o,s[o])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):A(Object(s)).forEach((function(o){Object.defineProperty(e,o,Object.getOwnPropertyDescriptor(s,o))}))}return e}var y=function(e){var o=e.label,s=e.options,n=void 0===s?[]:s,c=e.value,f=e.onChange,A=e.multiple,y=e.renderOption,x=void 0===y?p.renderOptionDefault:y,P=e.optionSize,M=void 0===P?"medium":P,k=e.showPopupIcon,F=void 0===k||k,D=e.clearable,S=void 0===D||D,R=e.loading,w=e.noOptionsMessage,N=e.filterOptions,z=e.prefix,B=e.disabled,T=e.getOptionDisabled,V=e.renderSelected,L=void 0===V?p.renderSelectedValue:V,E=e.onInputChange,G=e.className,U=e.testId,W=e.status,_=e.message,K=e.useAllOption,Z=void 0!==K&&K,H=e.useOnlyOptionButton,J=void 0!==H&&H,Q=e.groupBy,X=e.renderGroup,Y=e.disableFiltering,$=e.onCreate,ee=e.dropdownClassName,oe=e.popperProps,se=e.placeholder,ne=e.focusOnClear,ie=void 0===ne||ne,re=e.listboxComponent,ce=e.size,te=void 0===ce?"small":ce,ue=e.labelPlacement,le=void 0===ue?"top":ue,ae=e.elementsClassNames,pe=e.htmlAttributes,me=e.type,de=e.spacing,je=e.isNext,Ie=r.useState(""),qe=h.default(Ie,2),fe=qe[0],Oe=qe[1],be=r.useMemo((function(){if(void 0===c||c instanceof Array&&0===c.length)return A?[]:null;var e=c instanceof Array?c:[c];if(A){var o=e.filter((function(e){return"object"!==C.default(e)})),s=e.filter((function(e){return"object"===C.default(e)})).map((function(e){return{id:e.id,title:e.title}})),i=n.filter((function(e){return o.includes(e.id)}));return[].concat(b.default(i),b.default(s))}return"object"===C.default(e[0])?e[0]:n.find((function(o){return e[0]===o.id}))||null}),[A,c,n]),Ce=be instanceof Array&&be.length>0,he=be instanceof Array&&be.length===n.length,ve=R?"Loading ...":"No options",Ae=!S||!be||be instanceof Array&&!(null!=be&&be.length),ge=r.useCallback((function(e){return q.jsx(l.AutocompleteInput,g(g({},e),{},{label:o,loading:R,prefix:z,status:W,message:_,readOnly:Y,placeholder:se,size:te,labelPlacement:le,elementsClassNames:ae,htmlAttributes:pe,type:me,spacing:de,isNext:je}))}),[o,R,z,W,_,Y,se,te,le,ae,pe,me,de,je]),ye=r.useCallback((function(e,o,s){if("clear"!==s||ie||(e.stopPropagation(),e.preventDefault()),$&&o){var i=(o instanceof Array?o:[o]).find((function(e){return!p.isRealOption(e)&&!!e[p.CreateOptionMark]}));if(i)return void $(i.newOptionTitle||"")}if(A&&o instanceof Array&&o.some((function(e){return!p.isRealOption(e)&&!!e[p.AllOptionMark]})))return void(be instanceof Array&&be.length<n.length?null==f||f(n.filter(p.isRealOption),s,e):null==f||f([],s,e));null==f||f(o||void 0,s,e)}),[ie,$,A,f,be,n]),xe=r.useCallback((function(e,o){return null==f?void 0:f([e],"select-only-option",o)}),[f]),Pe=r.useCallback((function(e,o){var s=o.selected;return p.isRealOption(e)?q.jsx(m.AutocompleteMenuItem,{size:M,selected:s,prefix:e.prefix,multiple:A,useOnlyButton:J,option:e,onSelectOnly:xe,children:x(e)}):e[p.AllOptionMark]?q.jsxs("div",{className:j.allOptionContainer,children:[q.jsx(m.AutocompleteMenuItem,{size:M,selected:Ce,indeterminate:Ce&&!he,multiple:!0,children:e.title}),q.jsx(I.Menu.Divider,{className:j.allOptionDivider})]}):q.jsx(m.AutocompleteMenuItem,{size:M,selected:Ce,children:e.title})}),[M,A,J,xe,x,Ce,he]),Me=r.useCallback((function(e,o){var s,n=N?N(e,o.inputValue):i.createFilterOptions()(e,o),r=Z&&A&&n.length&&e.length>1?[O.default({title:"All"},p.AllOptionMark,!0)].concat(b.default(n)):n;return $&&""!==o.inputValue.trim()?[].concat(b.default(r),[(s={title:'Add "'.concat(o.inputValue,'"')},O.default(s,p.CreateOptionMark,!0),O.default(s,"newOptionTitle",o.inputValue),s)]):r}),[N,$,Z,A]),ke=r.useCallback((function(e){return p.isRealOption(e)&&!(null==T||!T(e))}),[T]),Fe=r.useCallback((function(e){return e.title}),[]),De=r.useCallback((function(e,o){var s=e.filter(p.isRealOption).map((function(e,s){return{option:e,onDelete:o({index:s}).onDelete}}));return L(s,{useAllOption:Z,allOptions:n})}),[L,Z,n]),Se=r.useCallback((function(e,o,s){e&&"blur"===e.type?Oe(""):"reset"!==s&&Oe(o),"reset"!==s&&(null==E||E(o,e))}),[E]),Re=r.useMemo((function(){if(Q)return function(e){return p.isRealOption(e)?Q(e):""}}),[Q]),we=r.useMemo((function(){return{paper:ee}}),[ee]),Ne=r.useCallback((function(e,o){return!(!p.isRealOption(e)||!p.isRealOption(o))&&e.id===o.id}),[]),ze=i.Autocomplete,Be=r.useCallback((function(e){return q.jsx(t.Popper,g(g({},e),oe))}),[oe]);return q.jsx("div",{className:v.default(j.root,F&&j.withArrow,!Ae&&j.withClear,G),"data-testid":U,children:q.jsx(ze,{value:be,options:n,getOptionLabel:Fe,renderInput:ge,PopperComponent:Be,PaperComponent:a.AutocompletePaper,multiple:A,disableCloseOnSelect:A,blurOnSelect:!A,onChange:ye,renderOption:Pe,popupIcon:q.jsx(u.DownIcon,{size:16}),forcePopupIcon:!!F,closeIcon:q.jsx(u.CloseSmallIcon,{size:16}),disableClearable:Ae,clearText:"",noOptionsText:w||ve,filterOptions:Me,disabled:B,getOptionDisabled:ke,renderTags:De,inputValue:A?fe:void 0,onInputChange:Se,groupBy:Re,renderGroup:X,clearOnBlur:!0,selectOnFocus:!Y,classes:we,getOptionSelected:Ne,ListboxComponent:null!=re?re:d.AutocompleteListBox})})},x=function(e){return y(g(g({},e),{},{isNext:!0}))};x.selectedValueRenderers={default:p.renderSelectedValue,chipsMultiline:p.renderSelectedValueChips},exports.Autocomplete=function(e){return y(g(g({},e),{},{isNext:!1}))},exports.AutocompleteNext=x;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/defineProperty"),o=require("@babel/runtime/helpers/toConsumableArray"),s=require("@babel/runtime/helpers/typeof"),n=require("@babel/runtime/helpers/slicedToArray"),i=require("@material-ui/lab"),c=require("react"),r=require("classnames"),t=require("../Popper/Popper.js"),u=require("../../icons/iconParkIcons.js");require("../../icons/customIcons/icons/AddMessage.js"),require("../../icons/customIcons/icons/DragOne.js"),require("../../icons/customIcons/icons/Attention.js"),require("../../icons/customIcons/icons/Collapse.js"),require("../../icons/customIcons/icons/Dashboard.js"),require("../../icons/customIcons/icons/Expand.js"),require("../../icons/customIcons/icons/FolderClosed.js"),require("../../icons/customIcons/icons/FolderClosedFilled.js"),require("../../icons/customIcons/icons/FolderOpened.js"),require("../../icons/customIcons/icons/GreaterOrEqual.js"),require("../../icons/customIcons/icons/LessOrEqual.js"),require("../../icons/customIcons/icons/Search.js"),require("../../icons/customIcons/icons/SearchOne.js"),require("../../icons/customIcons/icons/Wellhub.js"),require("../../icons/customIcons/icons/MultiRuler.js"),require("../../icons/customIcons/icons/Checkbox.js"),require("../../icons/customIcons/icons/CheckboxChecked.js"),require("../../icons/customIcons/icons/CheckboxIndeterminate.js"),require("../../icons/customIcons/icons/Radio.js"),require("../../icons/customIcons/icons/RadioChecked.js"),require("../../icons/customIcons/icons/SimulFrac.js"),require("../../icons/customIcons/icons/ZipperFrac.js"),require("../../icons/customIcons/icons/CautionFilled.js"),require("../../icons/customIcons/icons/InfoRounded.js"),require("../../icons/customIcons/icons/FlameFilled.js"),require("../../icons/customIcons/icons/MoreApp.js"),require("../../icons/customIcons/icons/Pad.js"),require("../../icons/customIcons/icons/DrilloutUnit.js"),require("../../icons/customIcons/icons/FracFleet.js"),require("../../icons/customIcons/icons/Global.js"),require("../../icons/customIcons/icons/Program.js"),require("../../icons/customIcons/icons/Rig.js"),require("../../icons/customIcons/icons/Well.js"),require("../../icons/customIcons/icons/Gap.js"),require("../../icons/customIcons/icons/Pin.js"),require("../../icons/customIcons/icons/CloseOneFilled.js"),require("../../icons/customIcons/icons/AttentionFilled.js"),require("../../icons/customIcons/icons/CheckOneFilled.js"),require("../../icons/customIcons/icons/Archive.js"),require("../../icons/customIcons/icons/ArchiveCancel.js"),require("../../icons/customIcons/icons/Unarchive.js"),require("../../icons/customIcons/icons/Archived.js"),require("../../icons/customIcons/icons/InterventionUnit.js"),require("../../icons/customIcons/icons/CloudDelete.js"),require("../../icons/customIcons/icons/Lasso.js"),require("../../icons/customIcons/icons/Radius.js"),require("../../icons/customIcons/icons/ErrorOps.js"),require("../../icons/customIcons/icons/DataTypeOps.js"),require("../../icons/customIcons/icons/FalsePositiveOps.js"),require("../../icons/customIcons/icons/CalibrationOps.js"),require("../../icons/customIcons/icons/CriticalOps.js"),require("../../icons/customIcons/icons/Company.js"),require("../../icons/customIcons/icons/ArchiveOne.js"),require("../../icons/customIcons/icons/ParseBotFusion.js"),require("../../icons/customIcons/icons/Connect.js"),require("../../icons/customIcons/icons/PuzzleOne.js"),require("../../icons/customIcons/icons/Feed.js"),require("../../icons/customIcons/icons/Prompt.js"),require("../../icons/customIcons/icons/Companies.js"),require("../../icons/customIcons/icons/ClipboardAi.js"),require("../../icons/customIcons/icons/Key.js"),require("../../icons/customIcons/icons/AtSignCrossed.js"),require("../../icons/customIcons/icons/MappingManual.js"),require("../../icons/customIcons/icons/Mapping.js"),require("../../icons/customIcons/icons/Metrics.js"),require("../../icons/customIcons/icons/Drops.js"),require("../../icons/customIcons/icons/ClipboardSearch.js"),require("../../icons/customIcons/icons/Template.js"),require("../../icons/customIcons/icons/ClipboardMetrics.js"),require("../../icons/customIcons/icons/ClipboardBuilder.js"),require("../../icons/customIcons/icons/UnitConversion.js"),require("../../icons/customIcons/icons/NPT.js"),require("../../icons/customIcons/icons/GuidedFrac.js");var l=require("./AutocompleteInput/AutocompleteInput.js"),a=require("./AutocompletePaper.js"),p=require("./utils.js"),m=require("./AutocompleteMenuItem.js"),d=require("./AutocompleteListBox.js"),j=require("./Autocomplete.scss.js"),I=require("../Menu/Menu.js"),f=require("react/jsx-runtime");function q(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var O=q(e),b=q(o),C=q(s),h=q(n),v=q(r);function A(e,o){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);o&&(n=n.filter((function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable}))),s.push.apply(s,n)}return s}function g(e){for(var o=1;o<arguments.length;o++){var s=null!=arguments[o]?arguments[o]:{};o%2?A(Object(s),!0).forEach((function(o){O.default(e,o,s[o])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):A(Object(s)).forEach((function(o){Object.defineProperty(e,o,Object.getOwnPropertyDescriptor(s,o))}))}return e}var y=function(e){var o=e.label,s=e.options,n=void 0===s?[]:s,r=e.value,q=e.onChange,A=e.multiple,y=e.renderOption,x=void 0===y?p.renderOptionDefault:y,P=e.optionSize,M=void 0===P?"medium":P,k=e.showPopupIcon,F=void 0===k||k,D=e.clearable,S=void 0===D||D,N=e.loading,R=e.noOptionsMessage,w=e.filterOptions,z=e.prefix,B=e.disabled,T=e.getOptionDisabled,V=e.renderSelected,L=void 0===V?p.renderSelectedValue:V,E=e.onInputChange,G=e.className,U=e.testId,W=e.status,_=e.message,K=e.useAllOption,Z=void 0!==K&&K,H=e.useOnlyOptionButton,J=void 0!==H&&H,Q=e.groupBy,X=e.renderGroup,Y=e.disableFiltering,$=e.onCreate,ee=e.dropdownClassName,oe=e.popperProps,se=e.placeholder,ne=e.focusOnClear,ie=void 0===ne||ne,ce=e.listboxComponent,re=e.size,te=void 0===re?"small":re,ue=e.labelPlacement,le=void 0===ue?"top":ue,ae=e.elementsClassNames,pe=e.htmlAttributes,me=e.type,de=e.spacing,je=e.isNext,Ie=c.useState(""),fe=h.default(Ie,2),qe=fe[0],Oe=fe[1],be=c.useMemo((function(){if(void 0===r||r instanceof Array&&0===r.length)return A?[]:null;var e=r instanceof Array?r:[r];if(A){var o=e.filter((function(e){return"object"!==C.default(e)})),s=e.filter((function(e){return"object"===C.default(e)})).map((function(e){return{id:e.id,title:e.title}})),i=n.filter((function(e){return o.includes(e.id)}));return[].concat(b.default(i),b.default(s))}return"object"===C.default(e[0])?e[0]:n.find((function(o){return e[0]===o.id}))||null}),[A,r,n]),Ce=be instanceof Array&&be.length>0,he=be instanceof Array&&be.length===n.length,ve=N?"Loading ...":"No options",Ae=!S||!be||be instanceof Array&&!(null!=be&&be.length),ge=c.useCallback((function(e){return f.jsx(l.AutocompleteInput,g(g({},e),{},{label:o,loading:N,prefix:z,status:W,message:_,readOnly:Y,placeholder:se,size:te,labelPlacement:le,elementsClassNames:ae,htmlAttributes:pe,type:me,spacing:de,isNext:je}))}),[o,N,z,W,_,Y,se,te,le,ae,pe,me,de,je]),ye=c.useCallback((function(e,o,s){if("clear"!==s||ie||(e.stopPropagation(),e.preventDefault()),$&&o){var i=(o instanceof Array?o:[o]).find((function(e){return!p.isRealOption(e)&&!!e[p.CreateOptionMark]}));if(i)return void $(i.newOptionTitle||"")}if(A&&o instanceof Array&&o.some((function(e){return!p.isRealOption(e)&&!!e[p.AllOptionMark]})))return void(be instanceof Array&&be.length<n.length?null==q||q(n.filter(p.isRealOption),s,e):null==q||q([],s,e));null==q||q(o||void 0,s,e)}),[ie,$,A,q,be,n]),xe=c.useCallback((function(e,o){return null==q?void 0:q([e],"select-only-option",o)}),[q]),Pe=c.useCallback((function(e,o){var s=o.selected;return p.isRealOption(e)?f.jsx(m.AutocompleteMenuItem,{size:M,selected:s,prefix:e.prefix,multiple:A,useOnlyButton:J,option:e,onSelectOnly:xe,children:x(e)}):e[p.AllOptionMark]?f.jsxs("div",{className:j.allOptionContainer,children:[f.jsx(m.AutocompleteMenuItem,{size:M,selected:Ce,indeterminate:Ce&&!he,multiple:!0,children:e.title}),f.jsx(I.Menu.Divider,{className:j.allOptionDivider})]}):f.jsx(m.AutocompleteMenuItem,{size:M,selected:Ce,children:e.title})}),[M,A,J,xe,x,Ce,he]),Me=c.useCallback((function(e,o){var s,n=w?w(e,o.inputValue):i.createFilterOptions()(e,o),c=Z&&A&&n.length&&e.length>1?[O.default({title:"All"},p.AllOptionMark,!0)].concat(b.default(n)):n;return $&&""!==o.inputValue.trim()?[].concat(b.default(c),[(s={title:'Add "'.concat(o.inputValue,'"')},O.default(s,p.CreateOptionMark,!0),O.default(s,"newOptionTitle",o.inputValue),s)]):c}),[w,$,Z,A]),ke=c.useCallback((function(e){return p.isRealOption(e)&&!(null==T||!T(e))}),[T]),Fe=c.useCallback((function(e){return e.title}),[]),De=c.useCallback((function(e,o){var s=e.filter(p.isRealOption).map((function(e,s){return{option:e,onDelete:o({index:s}).onDelete}}));return L(s,{useAllOption:Z,allOptions:n})}),[L,Z,n]),Se=c.useCallback((function(e,o,s){e&&"blur"===e.type?Oe(""):"reset"!==s&&Oe(o),"reset"!==s&&(null==E||E(o,e))}),[E]),Ne=c.useMemo((function(){if(Q)return function(e){return p.isRealOption(e)?Q(e):""}}),[Q]),Re=c.useMemo((function(){return{paper:ee}}),[ee]),we=c.useCallback((function(e,o){return!(!p.isRealOption(e)||!p.isRealOption(o))&&e.id===o.id}),[]),ze=i.Autocomplete,Be=c.useCallback((function(e){return f.jsx(t.Popper,g(g(g({},e),oe),{},{className:v.default(null==e?void 0:e.className,null==oe?void 0:oe.className)}))}),[oe]);return f.jsx("div",{className:v.default(j.root,F&&j.withArrow,!Ae&&j.withClear,G),"data-testid":U,children:f.jsx(ze,{value:be,options:n,getOptionLabel:Fe,renderInput:ge,PopperComponent:Be,PaperComponent:a.AutocompletePaper,multiple:A,disableCloseOnSelect:A,blurOnSelect:!A,onChange:ye,renderOption:Pe,popupIcon:f.jsx(u.DownIcon,{size:16}),forcePopupIcon:!!F,closeIcon:f.jsx(u.CloseSmallIcon,{size:16}),disableClearable:Ae,clearText:"",noOptionsText:R||ve,filterOptions:Me,disabled:B,getOptionDisabled:ke,renderTags:De,inputValue:A?qe:void 0,onInputChange:Se,groupBy:Ne,renderGroup:X,clearOnBlur:!0,selectOnFocus:!Y,classes:Re,getOptionSelected:we,ListboxComponent:null!=ce?ce:d.AutocompleteListBox})})},x=function(e){return y(g(g({},e),{},{isNext:!0}))};x.selectedValueRenderers={default:p.renderSelectedValue,chipsMultiline:p.renderSelectedValueChips},exports.Autocomplete=function(e){return y(g(g({},e),{},{isNext:!1}))},exports.AutocompleteNext=x;
2
2
  //# sourceMappingURL=Autocomplete.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Autocomplete.js","sources":["../../../../src/componentsV2/Autocomplete/Autocomplete.tsx"],"sourcesContent":["import {\n Autocomplete as MuiAutocomplete,\n AutocompleteChangeReason as MuiAutocompleteChangeReason,\n AutocompleteProps as MuiAutocompleteBaseProps,\n AutocompleteRenderGroupParams,\n AutocompleteRenderInputParams,\n createFilterOptions,\n} from '@material-ui/lab';\nimport {\n ChangeEvent,\n ComponentType,\n HTMLAttributes,\n MouseEventHandler,\n ReactNode,\n useCallback,\n useMemo,\n useState,\n} from 'react';\nimport classNames from 'classnames';\n\nimport { Popper, PopperProps } from '../Popper';\nimport { MenuItemProps } from '../Menu/MenuItem';\nimport { CloseSmallIcon, DownIcon } from '../../icons';\nimport { TextInputNextProps } from '../TextInputNext';\nimport { TextInputProps } from '../TextInput';\n\nimport { AutocompleteInput } from './AutocompleteInput';\nimport { AutocompletePaper } from './AutocompletePaper';\nimport {\n AllOptionMark,\n AutocompleteOption,\n CreateOptionMark,\n InternalOption,\n isRealOption,\n OwnAddedOption,\n renderOptionDefault,\n renderSelectedValue,\n renderSelectedValueChips,\n} from './utils';\nimport { AutocompleteMenuItem } from './AutocompleteMenuItem';\nimport { AutocompleteListBox } from './AutocompleteListBox';\n\nimport styles from './Autocomplete.scss';\nimport { Menu } from '../Menu';\n\ntype MuiAutocompleteProps<T extends AutocompleteOption> = Required<\n MuiAutocompleteBaseProps<InternalOption<T>, boolean, false, false>\n>;\n\ntype ChangeReason =\n | MuiAutocompleteChangeReason\n | 'select-option-all'\n | 'remove-option-all'\n | 'select-only-option';\ntype AutocompletePopperProps = Omit<PopperProps, 'open' | 'anchorEl' | 'children'>;\n\ntype AutocompleteBaseProps<\n T extends AutocompleteOption = AutocompleteOption,\n Multiple extends boolean | undefined = false\n> = {\n /**\n * Options to allow selection from. Has to be assignable to `{ id: string | number; title: string; prefix?: ReactNode; }[]`\n */\n options?: T[];\n /**\n * Selected value. If `multiple` is `false | undefined`, and the value is an array, only the first element will be used\n *\n * There's a [bug in TS](https://github.com/microsoft/TypeScript/issues/47599) which causes `onChange` prop\n * to have incorrect typing if we mix T and T['id'] in `value`. Therefore, we can't use the \"correct\" typing\n * ```\n * value?: T['id'] | T | (T['id'] | T)[];\n * ```\n *\n * You may need to provide additional typings\n */\n value?: string | number | T | (string | number | T)[];\n /**\n * If `true`, the component will support multiple selection\n */\n multiple?: Multiple;\n /**\n * Selection change handler\n * Receives an array of options if `multiple` is `true`, a single selected option or `undefined` otherwise\n */\n onChange?: (\n value: Multiple extends undefined | false ? T | undefined : T[],\n reason: ChangeReason,\n event?: ChangeEvent<unknown>\n ) => void;\n label?: ReactNode;\n placeholder?: string;\n /**\n * Controls the size of the options rendered\n */\n optionSize?: MenuItemProps['size'];\n disabled?: boolean;\n /**\n * If exists - allows user to create own options. Called when 'Add \"whatever\"' option is selected\n */\n onCreate?: (title: string) => void;\n\n prefix?: ReactNode;\n loading?: boolean;\n showPopupIcon?: boolean;\n /**\n * Controls the \"Clear\" button that's shown to the right if there is a value\n */\n clearable?: boolean;\n /**\n * Controls if the field should keep/gain focus after \"Clear\" button is clicked\n */\n focusOnClear?: boolean;\n /**\n * Triggered when user types something\n */\n onInputChange?: (value: string, event: ChangeEvent<HTMLInputElement>) => void;\n status?: TextInputNextProps['status'];\n message?: TextInputNextProps['message'];\n size?: TextInputNextProps['size'];\n labelPlacement?: TextInputNextProps['labelPlacement'];\n /**\n * Makes internal text field readonly, effectively turning component into a simple `<select/>`\n */\n disableFiltering?: boolean;\n\n renderOption?: (item: T) => ReactNode;\n /**\n * Message to show when there are no options\n */\n noOptionsMessage?: ReactNode;\n spacing?: TextInputProps['spacing'];\n /**\n * Function that filters options based on input value\n */\n filterOptions?: (options: T[], inputValue: string) => T[];\n /**\n * Function that determines if an option is disabled. Used to override the default\n * @param option\n */\n getOptionDisabled?: (option: T) => boolean;\n /**\n * If `multiple === true` shows an \"All\" option that selects/deselects all options\n */\n useAllOption?: boolean;\n /**\n * If `multiple === true` shows a \"Select Only\" button on option that selects only the corresponding option\n */\n useOnlyOptionButton?: boolean;\n\n /**\n * Used to render selected values when `multiple === true`\n */\n renderSelected?: (\n data: { option: T; onDelete: MouseEventHandler }[],\n options: { useAllOption: boolean; allOptions: T[] }\n ) => ReactNode;\n\n /**\n * Defines option grouping\n */\n groupBy?: (option: T) => string;\n /**\n * Group render override\n */\n renderGroup?: (props: AutocompleteRenderGroupParams) => ReactNode;\n\n /**\n * A classname that will be applied to dropdown (`<Paper/>` component)\n */\n dropdownClassName?: string;\n /**\n * Escape hatch to customize dropdown popper behavior.\n * `open`, `anchorEl`, and `children` are controlled internally.\n */\n popperProps?: Partial<AutocompletePopperProps>;\n\n type?: 'default' | 'search';\n\n className?: string;\n testId?: string;\n\n /**\n * Escape hatch to fine-tune the styling of underlying elements\n */\n elementsClassNames?: TextInputNextProps['elementsClassNames'];\n\n /** HTML attributes forwarded to the underlying input. */\n htmlAttributes?: TextInputNextProps['htmlAttributes'];\n\n /**\n * Custom listbox component for rendering options (e.g., virtualized list)\n */\n listboxComponent?: ComponentType<HTMLAttributes<HTMLElement>>;\n\n // TODO Remove when making next a new baseline\n isNext?: boolean;\n};\n\nexport type AutocompleteChangeHandler<\n Option extends AutocompleteOption = AutocompleteOption,\n Multiple extends boolean | undefined = false\n> = Required<AutocompleteBaseProps<Option, Multiple>>['onChange'];\n\nconst AutocompleteBase = <\n T extends AutocompleteOption,\n Multiple extends boolean | undefined = false\n>({\n label,\n options = [],\n value,\n onChange,\n multiple,\n renderOption = renderOptionDefault,\n optionSize = 'medium',\n showPopupIcon = true,\n clearable = true,\n loading,\n noOptionsMessage,\n filterOptions,\n prefix,\n disabled,\n getOptionDisabled,\n renderSelected = renderSelectedValue,\n onInputChange,\n className,\n testId,\n status,\n message,\n useAllOption = false,\n useOnlyOptionButton = false,\n groupBy,\n renderGroup,\n disableFiltering,\n onCreate,\n dropdownClassName,\n popperProps,\n placeholder,\n focusOnClear = true,\n listboxComponent,\n size = 'small',\n labelPlacement = 'top',\n elementsClassNames,\n htmlAttributes,\n\n // Old props\n type,\n spacing,\n isNext,\n}: AutocompleteBaseProps<T, Multiple>) => {\n const [inputValue, setInputValue] = useState('');\n\n const muiValue = useMemo(() => {\n if (value === undefined || (value instanceof Array && value.length === 0)) {\n return multiple ? [] : null;\n }\n\n // Array of either ids or actual values\n const mixedValues = value instanceof Array ? value : [value];\n\n if (multiple) {\n const valuesArray = mixedValues.filter(value => typeof value !== 'object');\n const objectValues = mixedValues\n .filter(value => typeof value === 'object')\n // MUI Autocomplete doesn't like react nodes in value, so we strip everything from the object to the bare minimum\n .map(({ id, title }) => ({ id, title }));\n const optionsById = options.filter(option => valuesArray.includes(option.id));\n\n return [...optionsById, ...objectValues];\n } else {\n return typeof mixedValues[0] === 'object'\n ? mixedValues[0]\n : options.find(option => mixedValues[0] === option.id) || null;\n }\n }, [multiple, value, options]) as MuiAutocompleteBaseProps<T, Multiple, false, false>['value'];\n\n const hasMultiSelected = muiValue instanceof Array && muiValue.length > 0;\n const hasAllMultiSelected = muiValue instanceof Array && muiValue.length === options.length;\n const defaultNoOptionsText = loading ? 'Loading ...' : 'No options';\n const disableClearable =\n !clearable || !muiValue || (muiValue instanceof Array && !muiValue?.length);\n\n const renderInput = useCallback(\n (inputProps: AutocompleteRenderInputParams) => (\n <AutocompleteInput\n {...inputProps}\n label={label}\n loading={loading}\n prefix={prefix}\n status={status}\n message={message}\n readOnly={disableFiltering}\n placeholder={placeholder}\n size={size}\n labelPlacement={labelPlacement}\n elementsClassNames={elementsClassNames}\n htmlAttributes={htmlAttributes}\n // Old props\n type={type}\n spacing={spacing}\n isNext={isNext}\n />\n ),\n [\n label,\n loading,\n prefix,\n status,\n message,\n disableFiltering,\n placeholder,\n size,\n labelPlacement,\n elementsClassNames,\n htmlAttributes,\n type,\n spacing,\n isNext,\n ]\n );\n\n const actualOnChange = useCallback<MuiAutocompleteProps<T>['onChange']>(\n (event, optionOrArray, reason) => {\n if (reason === 'clear' && !focusOnClear) {\n event.stopPropagation();\n event.preventDefault();\n }\n\n // Handling of \"Add\" option\n if (onCreate && optionOrArray) {\n const optionArray = optionOrArray instanceof Array ? optionOrArray : [optionOrArray];\n const foundAddOption: OwnAddedOption | undefined = optionArray.find(\n option => !isRealOption(option) && !!option[CreateOptionMark]\n );\n\n if (foundAddOption) {\n onCreate(foundAddOption.newOptionTitle || '');\n return;\n }\n }\n\n // Handling of \"All\" option - only multiselect\n if (multiple && optionOrArray instanceof Array) {\n const allOptionExists = optionOrArray.some(\n option => !isRealOption(option) && !!option[AllOptionMark]\n );\n\n if (allOptionExists) {\n // Selecting \"All\"\n if (muiValue instanceof Array && muiValue.length < options.length) {\n onChange?.(options.filter(isRealOption) as never, reason, event);\n }\n // Deselecting \"All\"\n else {\n onChange?.([] as never, reason, event);\n }\n return;\n }\n }\n\n onChange?.((optionOrArray || undefined) as never, reason, event);\n },\n [focusOnClear, onCreate, multiple, onChange, muiValue, options]\n );\n\n const onSelectOnly = useCallback(\n (option: T, event: ChangeEvent<object>) =>\n onChange?.([option] as never, 'select-only-option', event),\n [onChange]\n );\n\n const actualRenderOption = useCallback<MuiAutocompleteProps<T>['renderOption']>(\n (option: InternalOption<T>, { selected }) => {\n if (isRealOption(option)) {\n return (\n <AutocompleteMenuItem\n size={optionSize}\n selected={selected}\n prefix={option.prefix}\n multiple={multiple}\n useOnlyButton={useOnlyOptionButton}\n option={option}\n onSelectOnly={onSelectOnly}\n >\n {renderOption(option)}\n </AutocompleteMenuItem>\n );\n } else if (option[AllOptionMark]) {\n return (\n <div className={styles.allOptionContainer}>\n <AutocompleteMenuItem\n size={optionSize}\n selected={hasMultiSelected}\n indeterminate={hasMultiSelected && !hasAllMultiSelected}\n multiple\n >\n {option.title}\n </AutocompleteMenuItem>\n <Menu.Divider className={styles.allOptionDivider} />\n </div>\n );\n } else {\n return (\n <AutocompleteMenuItem size={optionSize} selected={hasMultiSelected}>\n {option.title}\n </AutocompleteMenuItem>\n );\n }\n },\n [\n optionSize,\n multiple,\n useOnlyOptionButton,\n onSelectOnly,\n renderOption,\n hasMultiSelected,\n hasAllMultiSelected,\n ]\n );\n\n const actualFilterOptions = useCallback<MuiAutocompleteProps<T>['filterOptions']>(\n (options, params): InternalOption<T>[] => {\n const filteredOptions = filterOptions\n ? filterOptions(options as T[], params.inputValue)\n : createFilterOptions<T>()(options as T[], params);\n\n // Adding \"All\" option if needed\n const optionsWithAll =\n useAllOption && multiple && filteredOptions.length && options.length > 1\n ? [{ title: 'All', [AllOptionMark]: true }, ...filteredOptions]\n : filteredOptions;\n\n // Adding \"Add\" option if needed\n return onCreate && params.inputValue.trim() !== ''\n ? [\n ...optionsWithAll,\n {\n title: `Add \"${params.inputValue}\"`,\n [CreateOptionMark]: true,\n newOptionTitle: params.inputValue,\n },\n ]\n : optionsWithAll;\n },\n [filterOptions, onCreate, useAllOption, multiple]\n );\n\n const actualGetOptionDisabled = useCallback<MuiAutocompleteProps<T>['getOptionDisabled']>(\n option => isRealOption(option) && !!getOptionDisabled?.(option),\n [getOptionDisabled]\n );\n\n const getOptionLabel = useCallback<MuiAutocompleteProps<T>['getOptionLabel']>(\n option => option.title,\n []\n );\n\n const renderTags = useCallback<MuiAutocompleteProps<T>['renderTags']>(\n (tags, getTagProps) => {\n const tagsArray = tags.filter(isRealOption).map((option, index) => {\n // Untyped in MUI, so we have to do it ourselves\n const { onDelete } = getTagProps({ index }) as { onDelete: MouseEventHandler };\n return { option, onDelete };\n });\n\n return renderSelected(tagsArray, { useAllOption, allOptions: options });\n },\n [renderSelected, useAllOption, options]\n );\n\n const actualOnInputChange = useCallback<MuiAutocompleteProps<T>['onInputChange']>(\n (event, value, reason) => {\n if (event && event.type === 'blur') {\n setInputValue('');\n } else if (reason !== 'reset') {\n setInputValue(value);\n }\n\n if (reason !== 'reset') {\n onInputChange?.(value, event as ChangeEvent<HTMLInputElement>);\n }\n },\n [onInputChange]\n );\n\n const actualGroupBy = useMemo<MuiAutocompleteProps<T>['groupBy'] | undefined>(() => {\n if (groupBy) {\n return option => {\n if (isRealOption(option)) {\n return groupBy(option);\n }\n\n return '';\n };\n }\n\n return undefined;\n }, [groupBy]);\n\n const classes = useMemo(() => ({ paper: dropdownClassName }), [dropdownClassName]);\n\n const getOptionSelected = useCallback((a: InternalOption<T>, b: InternalOption<T>) => {\n return isRealOption(a) && isRealOption(b) ? a.id === b.id : false;\n }, []);\n\n const Component = MuiAutocomplete<InternalOption<T>, Multiple, boolean, false>;\n\n const PopperComponent = useCallback(\n (props: PopperProps) => <Popper {...props} {...popperProps} />,\n [popperProps]\n ) as NonNullable<MuiAutocompleteProps<T>['PopperComponent']>;\n\n return (\n <div\n className={classNames(\n styles.root,\n showPopupIcon && styles.withArrow,\n !disableClearable && styles.withClear,\n className\n )}\n data-testid={testId}\n >\n <Component\n value={muiValue}\n options={options}\n getOptionLabel={getOptionLabel}\n renderInput={renderInput}\n PopperComponent={PopperComponent}\n PaperComponent={AutocompletePaper}\n multiple={multiple}\n disableCloseOnSelect={multiple}\n blurOnSelect={!multiple}\n onChange={actualOnChange}\n renderOption={actualRenderOption}\n popupIcon={<DownIcon size={16} />}\n forcePopupIcon={!!showPopupIcon}\n closeIcon={<CloseSmallIcon size={16} />}\n disableClearable={disableClearable}\n clearText=\"\"\n noOptionsText={noOptionsMessage || defaultNoOptionsText}\n filterOptions={actualFilterOptions}\n disabled={disabled}\n getOptionDisabled={actualGetOptionDisabled}\n renderTags={renderTags}\n inputValue={multiple ? inputValue : undefined}\n onInputChange={actualOnInputChange}\n groupBy={actualGroupBy}\n renderGroup={renderGroup}\n clearOnBlur\n selectOnFocus={!disableFiltering}\n classes={classes}\n getOptionSelected={getOptionSelected}\n ListboxComponent={listboxComponent ?? AutocompleteListBox}\n />\n </div>\n );\n};\n\n// Old version\n/**\n * @deprecated use `AutocompleteNext`, and see migration guide for `TextInputNext` for details\n */\nexport type AutocompleteProps<\n T extends AutocompleteOption = AutocompleteOption,\n Multiple extends boolean | undefined = false\n> = Omit<\n AutocompleteBaseProps<T, Multiple>,\n 'size' | 'labelPlacement' | 'elementsClassNames' | 'htmlAttributes' | 'isNext'\n>;\n\n/**\n * @deprecated use `AutocompleteNext`, and see migration guide for `TextInputNext` for details\n */\nexport const Autocomplete = <\n T extends AutocompleteOption,\n Multiple extends boolean | undefined = false\n>(\n props: AutocompleteProps<T, Multiple>\n) => AutocompleteBase<T, Multiple>({ ...props, isNext: false });\n\n// New version\nexport type AutocompleteNextProps<\n T extends AutocompleteOption = AutocompleteOption,\n Multiple extends boolean | undefined = false\n> = Omit<AutocompleteBaseProps<T, Multiple>, 'type' | 'spacing' | 'isNext'>;\n\nexport const AutocompleteNext = <\n T extends AutocompleteOption,\n Multiple extends boolean | undefined = false\n>(\n props: AutocompleteNextProps<T, Multiple>\n) => AutocompleteBase<T, Multiple>({ ...props, isNext: true });\n\nAutocompleteNext.selectedValueRenderers = {\n default: renderSelectedValue,\n chipsMultiline: renderSelectedValueChips,\n};\n"],"names":["AutocompleteBase","_ref","label","_ref$options","options","value","onChange","multiple","_ref$renderOption","renderOption","renderOptionDefault","_ref$optionSize","optionSize","_ref$showPopupIcon","showPopupIcon","_ref$clearable","clearable","loading","noOptionsMessage","filterOptions","prefix","disabled","getOptionDisabled","_ref$renderSelected","renderSelected","renderSelectedValue","onInputChange","className","testId","status","message","_ref$useAllOption","useAllOption","_ref$useOnlyOptionBut","useOnlyOptionButton","groupBy","renderGroup","disableFiltering","onCreate","dropdownClassName","popperProps","placeholder","_ref$focusOnClear","focusOnClear","listboxComponent","_ref$size","size","_ref$labelPlacement","labelPlacement","elementsClassNames","htmlAttributes","type","spacing","isNext","useState","_useState2","_slicedToArray","_useState","inputValue","setInputValue","muiValue","useMemo","undefined","Array","length","mixedValues","valuesArray","filter","_typeof","objectValues","map","_ref2","id","title","optionsById","option","includes","find","hasMultiSelected","hasAllMultiSelected","defaultNoOptionsText","disableClearable","renderInput","useCallback","inputProps","_jsx","AutocompleteInput","_objectSpread","readOnly","actualOnChange","event","optionOrArray","reason","stopPropagation","preventDefault","foundAddOption","isRealOption","CreateOptionMark","newOptionTitle","some","AllOptionMark","onSelectOnly","actualRenderOption","_ref3","selected","AutocompleteMenuItem","useOnlyButton","children","_jsxs","styles","allOptionContainer","indeterminate","Menu","Divider","allOptionDivider","actualFilterOptions","params","_ref5","filteredOptions","createFilterOptions","optionsWithAll","_defineProperty","trim","concat","_toConsumableArray","actualGetOptionDisabled","getOptionLabel","renderTags","tags","getTagProps","tagsArray","index","onDelete","allOptions","actualOnInputChange","actualGroupBy","classes","paper","getOptionSelected","a","b","Component","MuiAutocomplete","PopperComponent","props","Popper","classNames","root","withArrow","withClear","PaperComponent","AutocompletePaper","disableCloseOnSelect","blurOnSelect","popupIcon","DownIcon","forcePopupIcon","closeIcon","CloseSmallIcon","clearText","noOptionsText","clearOnBlur","selectOnFocus","ListboxComponent","AutocompleteListBox","AutocompleteNext","selectedValueRenderers","default","chipsMultiline","renderSelectedValueChips"],"mappings":"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"}
1
+ {"version":3,"file":"Autocomplete.js","sources":["../../../../src/componentsV2/Autocomplete/Autocomplete.tsx"],"sourcesContent":["import {\n Autocomplete as MuiAutocomplete,\n AutocompleteChangeReason as MuiAutocompleteChangeReason,\n AutocompleteProps as MuiAutocompleteBaseProps,\n AutocompleteRenderGroupParams,\n AutocompleteRenderInputParams,\n createFilterOptions,\n} from '@material-ui/lab';\nimport {\n ChangeEvent,\n ComponentType,\n HTMLAttributes,\n MouseEventHandler,\n ReactNode,\n useCallback,\n useMemo,\n useState,\n} from 'react';\nimport classNames from 'classnames';\n\nimport { Popper, PopperProps } from '../Popper';\nimport { MenuItemProps } from '../Menu/MenuItem';\nimport { CloseSmallIcon, DownIcon } from '../../icons';\nimport { TextInputNextProps } from '../TextInputNext';\nimport { TextInputProps } from '../TextInput';\n\nimport { AutocompleteInput } from './AutocompleteInput';\nimport { AutocompletePaper } from './AutocompletePaper';\nimport {\n AllOptionMark,\n AutocompleteOption,\n CreateOptionMark,\n InternalOption,\n isRealOption,\n OwnAddedOption,\n renderOptionDefault,\n renderSelectedValue,\n renderSelectedValueChips,\n} from './utils';\nimport { AutocompleteMenuItem } from './AutocompleteMenuItem';\nimport { AutocompleteListBox } from './AutocompleteListBox';\n\nimport styles from './Autocomplete.scss';\nimport { Menu } from '../Menu';\n\ntype MuiAutocompleteProps<T extends AutocompleteOption> = Required<\n MuiAutocompleteBaseProps<InternalOption<T>, boolean, false, false>\n>;\n\ntype ChangeReason =\n | MuiAutocompleteChangeReason\n | 'select-option-all'\n | 'remove-option-all'\n | 'select-only-option';\ntype AutocompletePopperProps = Omit<PopperProps, 'open' | 'anchorEl' | 'children'>;\n\ntype AutocompleteBaseProps<\n T extends AutocompleteOption = AutocompleteOption,\n Multiple extends boolean | undefined = false\n> = {\n /**\n * Options to allow selection from. Has to be assignable to `{ id: string | number; title: string; prefix?: ReactNode; }[]`\n */\n options?: T[];\n /**\n * Selected value. If `multiple` is `false | undefined`, and the value is an array, only the first element will be used\n *\n * There's a [bug in TS](https://github.com/microsoft/TypeScript/issues/47599) which causes `onChange` prop\n * to have incorrect typing if we mix T and T['id'] in `value`. Therefore, we can't use the \"correct\" typing\n * ```\n * value?: T['id'] | T | (T['id'] | T)[];\n * ```\n *\n * You may need to provide additional typings\n */\n value?: string | number | T | (string | number | T)[];\n /**\n * If `true`, the component will support multiple selection\n */\n multiple?: Multiple;\n /**\n * Selection change handler\n * Receives an array of options if `multiple` is `true`, a single selected option or `undefined` otherwise\n */\n onChange?: (\n value: Multiple extends undefined | false ? T | undefined : T[],\n reason: ChangeReason,\n event?: ChangeEvent<unknown>\n ) => void;\n label?: ReactNode;\n placeholder?: string;\n /**\n * Controls the size of the options rendered\n */\n optionSize?: MenuItemProps['size'];\n disabled?: boolean;\n /**\n * If exists - allows user to create own options. Called when 'Add \"whatever\"' option is selected\n */\n onCreate?: (title: string) => void;\n\n prefix?: ReactNode;\n loading?: boolean;\n showPopupIcon?: boolean;\n /**\n * Controls the \"Clear\" button that's shown to the right if there is a value\n */\n clearable?: boolean;\n /**\n * Controls if the field should keep/gain focus after \"Clear\" button is clicked\n */\n focusOnClear?: boolean;\n /**\n * Triggered when user types something\n */\n onInputChange?: (value: string, event: ChangeEvent<HTMLInputElement>) => void;\n status?: TextInputNextProps['status'];\n message?: TextInputNextProps['message'];\n size?: TextInputNextProps['size'];\n labelPlacement?: TextInputNextProps['labelPlacement'];\n /**\n * Makes internal text field readonly, effectively turning component into a simple `<select/>`\n */\n disableFiltering?: boolean;\n\n renderOption?: (item: T) => ReactNode;\n /**\n * Message to show when there are no options\n */\n noOptionsMessage?: ReactNode;\n spacing?: TextInputProps['spacing'];\n /**\n * Function that filters options based on input value\n */\n filterOptions?: (options: T[], inputValue: string) => T[];\n /**\n * Function that determines if an option is disabled. Used to override the default\n * @param option\n */\n getOptionDisabled?: (option: T) => boolean;\n /**\n * If `multiple === true` shows an \"All\" option that selects/deselects all options\n */\n useAllOption?: boolean;\n /**\n * If `multiple === true` shows a \"Select Only\" button on option that selects only the corresponding option\n */\n useOnlyOptionButton?: boolean;\n\n /**\n * Used to render selected values when `multiple === true`\n */\n renderSelected?: (\n data: { option: T; onDelete: MouseEventHandler }[],\n options: { useAllOption: boolean; allOptions: T[] }\n ) => ReactNode;\n\n /**\n * Defines option grouping\n */\n groupBy?: (option: T) => string;\n /**\n * Group render override\n */\n renderGroup?: (props: AutocompleteRenderGroupParams) => ReactNode;\n\n /**\n * A classname that will be applied to dropdown (`<Paper/>` component)\n */\n dropdownClassName?: string;\n /**\n * Escape hatch to customize dropdown popper behavior.\n * `open`, `anchorEl`, and `children` are controlled internally.\n */\n popperProps?: Partial<AutocompletePopperProps>;\n\n type?: 'default' | 'search';\n\n className?: string;\n testId?: string;\n\n /**\n * Escape hatch to fine-tune the styling of underlying elements\n */\n elementsClassNames?: TextInputNextProps['elementsClassNames'];\n\n /** HTML attributes forwarded to the underlying input. */\n htmlAttributes?: TextInputNextProps['htmlAttributes'];\n\n /**\n * Custom listbox component for rendering options (e.g., virtualized list)\n */\n listboxComponent?: ComponentType<HTMLAttributes<HTMLElement>>;\n\n // TODO Remove when making next a new baseline\n isNext?: boolean;\n};\n\nexport type AutocompleteChangeHandler<\n Option extends AutocompleteOption = AutocompleteOption,\n Multiple extends boolean | undefined = false\n> = Required<AutocompleteBaseProps<Option, Multiple>>['onChange'];\n\nconst AutocompleteBase = <\n T extends AutocompleteOption,\n Multiple extends boolean | undefined = false\n>({\n label,\n options = [],\n value,\n onChange,\n multiple,\n renderOption = renderOptionDefault,\n optionSize = 'medium',\n showPopupIcon = true,\n clearable = true,\n loading,\n noOptionsMessage,\n filterOptions,\n prefix,\n disabled,\n getOptionDisabled,\n renderSelected = renderSelectedValue,\n onInputChange,\n className,\n testId,\n status,\n message,\n useAllOption = false,\n useOnlyOptionButton = false,\n groupBy,\n renderGroup,\n disableFiltering,\n onCreate,\n dropdownClassName,\n popperProps,\n placeholder,\n focusOnClear = true,\n listboxComponent,\n size = 'small',\n labelPlacement = 'top',\n elementsClassNames,\n htmlAttributes,\n\n // Old props\n type,\n spacing,\n isNext,\n}: AutocompleteBaseProps<T, Multiple>) => {\n const [inputValue, setInputValue] = useState('');\n\n const muiValue = useMemo(() => {\n if (value === undefined || (value instanceof Array && value.length === 0)) {\n return multiple ? [] : null;\n }\n\n // Array of either ids or actual values\n const mixedValues = value instanceof Array ? value : [value];\n\n if (multiple) {\n const valuesArray = mixedValues.filter(value => typeof value !== 'object');\n const objectValues = mixedValues\n .filter(value => typeof value === 'object')\n // MUI Autocomplete doesn't like react nodes in value, so we strip everything from the object to the bare minimum\n .map(({ id, title }) => ({ id, title }));\n const optionsById = options.filter(option => valuesArray.includes(option.id));\n\n return [...optionsById, ...objectValues];\n } else {\n return typeof mixedValues[0] === 'object'\n ? mixedValues[0]\n : options.find(option => mixedValues[0] === option.id) || null;\n }\n }, [multiple, value, options]) as MuiAutocompleteBaseProps<T, Multiple, false, false>['value'];\n\n const hasMultiSelected = muiValue instanceof Array && muiValue.length > 0;\n const hasAllMultiSelected = muiValue instanceof Array && muiValue.length === options.length;\n const defaultNoOptionsText = loading ? 'Loading ...' : 'No options';\n const disableClearable =\n !clearable || !muiValue || (muiValue instanceof Array && !muiValue?.length);\n\n const renderInput = useCallback(\n (inputProps: AutocompleteRenderInputParams) => (\n <AutocompleteInput\n {...inputProps}\n label={label}\n loading={loading}\n prefix={prefix}\n status={status}\n message={message}\n readOnly={disableFiltering}\n placeholder={placeholder}\n size={size}\n labelPlacement={labelPlacement}\n elementsClassNames={elementsClassNames}\n htmlAttributes={htmlAttributes}\n // Old props\n type={type}\n spacing={spacing}\n isNext={isNext}\n />\n ),\n [\n label,\n loading,\n prefix,\n status,\n message,\n disableFiltering,\n placeholder,\n size,\n labelPlacement,\n elementsClassNames,\n htmlAttributes,\n type,\n spacing,\n isNext,\n ]\n );\n\n const actualOnChange = useCallback<MuiAutocompleteProps<T>['onChange']>(\n (event, optionOrArray, reason) => {\n if (reason === 'clear' && !focusOnClear) {\n event.stopPropagation();\n event.preventDefault();\n }\n\n // Handling of \"Add\" option\n if (onCreate && optionOrArray) {\n const optionArray = optionOrArray instanceof Array ? optionOrArray : [optionOrArray];\n const foundAddOption: OwnAddedOption | undefined = optionArray.find(\n option => !isRealOption(option) && !!option[CreateOptionMark]\n );\n\n if (foundAddOption) {\n onCreate(foundAddOption.newOptionTitle || '');\n return;\n }\n }\n\n // Handling of \"All\" option - only multiselect\n if (multiple && optionOrArray instanceof Array) {\n const allOptionExists = optionOrArray.some(\n option => !isRealOption(option) && !!option[AllOptionMark]\n );\n\n if (allOptionExists) {\n // Selecting \"All\"\n if (muiValue instanceof Array && muiValue.length < options.length) {\n onChange?.(options.filter(isRealOption) as never, reason, event);\n }\n // Deselecting \"All\"\n else {\n onChange?.([] as never, reason, event);\n }\n return;\n }\n }\n\n onChange?.((optionOrArray || undefined) as never, reason, event);\n },\n [focusOnClear, onCreate, multiple, onChange, muiValue, options]\n );\n\n const onSelectOnly = useCallback(\n (option: T, event: ChangeEvent<object>) =>\n onChange?.([option] as never, 'select-only-option', event),\n [onChange]\n );\n\n const actualRenderOption = useCallback<MuiAutocompleteProps<T>['renderOption']>(\n (option: InternalOption<T>, { selected }) => {\n if (isRealOption(option)) {\n return (\n <AutocompleteMenuItem\n size={optionSize}\n selected={selected}\n prefix={option.prefix}\n multiple={multiple}\n useOnlyButton={useOnlyOptionButton}\n option={option}\n onSelectOnly={onSelectOnly}\n >\n {renderOption(option)}\n </AutocompleteMenuItem>\n );\n } else if (option[AllOptionMark]) {\n return (\n <div className={styles.allOptionContainer}>\n <AutocompleteMenuItem\n size={optionSize}\n selected={hasMultiSelected}\n indeterminate={hasMultiSelected && !hasAllMultiSelected}\n multiple\n >\n {option.title}\n </AutocompleteMenuItem>\n <Menu.Divider className={styles.allOptionDivider} />\n </div>\n );\n } else {\n return (\n <AutocompleteMenuItem size={optionSize} selected={hasMultiSelected}>\n {option.title}\n </AutocompleteMenuItem>\n );\n }\n },\n [\n optionSize,\n multiple,\n useOnlyOptionButton,\n onSelectOnly,\n renderOption,\n hasMultiSelected,\n hasAllMultiSelected,\n ]\n );\n\n const actualFilterOptions = useCallback<MuiAutocompleteProps<T>['filterOptions']>(\n (options, params): InternalOption<T>[] => {\n const filteredOptions = filterOptions\n ? filterOptions(options as T[], params.inputValue)\n : createFilterOptions<T>()(options as T[], params);\n\n // Adding \"All\" option if needed\n const optionsWithAll =\n useAllOption && multiple && filteredOptions.length && options.length > 1\n ? [{ title: 'All', [AllOptionMark]: true }, ...filteredOptions]\n : filteredOptions;\n\n // Adding \"Add\" option if needed\n return onCreate && params.inputValue.trim() !== ''\n ? [\n ...optionsWithAll,\n {\n title: `Add \"${params.inputValue}\"`,\n [CreateOptionMark]: true,\n newOptionTitle: params.inputValue,\n },\n ]\n : optionsWithAll;\n },\n [filterOptions, onCreate, useAllOption, multiple]\n );\n\n const actualGetOptionDisabled = useCallback<MuiAutocompleteProps<T>['getOptionDisabled']>(\n option => isRealOption(option) && !!getOptionDisabled?.(option),\n [getOptionDisabled]\n );\n\n const getOptionLabel = useCallback<MuiAutocompleteProps<T>['getOptionLabel']>(\n option => option.title,\n []\n );\n\n const renderTags = useCallback<MuiAutocompleteProps<T>['renderTags']>(\n (tags, getTagProps) => {\n const tagsArray = tags.filter(isRealOption).map((option, index) => {\n // Untyped in MUI, so we have to do it ourselves\n const { onDelete } = getTagProps({ index }) as { onDelete: MouseEventHandler };\n return { option, onDelete };\n });\n\n return renderSelected(tagsArray, { useAllOption, allOptions: options });\n },\n [renderSelected, useAllOption, options]\n );\n\n const actualOnInputChange = useCallback<MuiAutocompleteProps<T>['onInputChange']>(\n (event, value, reason) => {\n if (event && event.type === 'blur') {\n setInputValue('');\n } else if (reason !== 'reset') {\n setInputValue(value);\n }\n\n if (reason !== 'reset') {\n onInputChange?.(value, event as ChangeEvent<HTMLInputElement>);\n }\n },\n [onInputChange]\n );\n\n const actualGroupBy = useMemo<MuiAutocompleteProps<T>['groupBy'] | undefined>(() => {\n if (groupBy) {\n return option => {\n if (isRealOption(option)) {\n return groupBy(option);\n }\n\n return '';\n };\n }\n\n return undefined;\n }, [groupBy]);\n\n const classes = useMemo(() => ({ paper: dropdownClassName }), [dropdownClassName]);\n\n const getOptionSelected = useCallback((a: InternalOption<T>, b: InternalOption<T>) => {\n return isRealOption(a) && isRealOption(b) ? a.id === b.id : false;\n }, []);\n\n const Component = MuiAutocomplete<InternalOption<T>, Multiple, boolean, false>;\n\n const PopperComponent = useCallback(\n (props: PopperProps) => (\n <Popper\n {...props}\n {...popperProps}\n className={classNames(props?.className, popperProps?.className)}\n />\n ),\n [popperProps]\n ) as NonNullable<MuiAutocompleteProps<T>['PopperComponent']>;\n\n return (\n <div\n className={classNames(\n styles.root,\n showPopupIcon && styles.withArrow,\n !disableClearable && styles.withClear,\n className\n )}\n data-testid={testId}\n >\n <Component\n value={muiValue}\n options={options}\n getOptionLabel={getOptionLabel}\n renderInput={renderInput}\n PopperComponent={PopperComponent}\n PaperComponent={AutocompletePaper}\n multiple={multiple}\n disableCloseOnSelect={multiple}\n blurOnSelect={!multiple}\n onChange={actualOnChange}\n renderOption={actualRenderOption}\n popupIcon={<DownIcon size={16} />}\n forcePopupIcon={!!showPopupIcon}\n closeIcon={<CloseSmallIcon size={16} />}\n disableClearable={disableClearable}\n clearText=\"\"\n noOptionsText={noOptionsMessage || defaultNoOptionsText}\n filterOptions={actualFilterOptions}\n disabled={disabled}\n getOptionDisabled={actualGetOptionDisabled}\n renderTags={renderTags}\n inputValue={multiple ? inputValue : undefined}\n onInputChange={actualOnInputChange}\n groupBy={actualGroupBy}\n renderGroup={renderGroup}\n clearOnBlur\n selectOnFocus={!disableFiltering}\n classes={classes}\n getOptionSelected={getOptionSelected}\n ListboxComponent={listboxComponent ?? AutocompleteListBox}\n />\n </div>\n );\n};\n\n// Old version\n/**\n * @deprecated use `AutocompleteNext`, and see migration guide for `TextInputNext` for details\n */\nexport type AutocompleteProps<\n T extends AutocompleteOption = AutocompleteOption,\n Multiple extends boolean | undefined = false\n> = Omit<\n AutocompleteBaseProps<T, Multiple>,\n 'size' | 'labelPlacement' | 'elementsClassNames' | 'htmlAttributes' | 'isNext'\n>;\n\n/**\n * @deprecated use `AutocompleteNext`, and see migration guide for `TextInputNext` for details\n */\nexport const Autocomplete = <\n T extends AutocompleteOption,\n Multiple extends boolean | undefined = false\n>(\n props: AutocompleteProps<T, Multiple>\n) => AutocompleteBase<T, Multiple>({ ...props, isNext: false });\n\n// New version\nexport type AutocompleteNextProps<\n T extends AutocompleteOption = AutocompleteOption,\n Multiple extends boolean | undefined = false\n> = Omit<AutocompleteBaseProps<T, Multiple>, 'type' | 'spacing' | 'isNext'>;\n\nexport const AutocompleteNext = <\n T extends AutocompleteOption,\n Multiple extends boolean | undefined = false\n>(\n props: AutocompleteNextProps<T, Multiple>\n) => AutocompleteBase<T, Multiple>({ ...props, isNext: true });\n\nAutocompleteNext.selectedValueRenderers = {\n default: renderSelectedValue,\n chipsMultiline: renderSelectedValueChips,\n};\n"],"names":["AutocompleteBase","_ref","label","_ref$options","options","value","onChange","multiple","_ref$renderOption","renderOption","renderOptionDefault","_ref$optionSize","optionSize","_ref$showPopupIcon","showPopupIcon","_ref$clearable","clearable","loading","noOptionsMessage","filterOptions","prefix","disabled","getOptionDisabled","_ref$renderSelected","renderSelected","renderSelectedValue","onInputChange","className","testId","status","message","_ref$useAllOption","useAllOption","_ref$useOnlyOptionBut","useOnlyOptionButton","groupBy","renderGroup","disableFiltering","onCreate","dropdownClassName","popperProps","placeholder","_ref$focusOnClear","focusOnClear","listboxComponent","_ref$size","size","_ref$labelPlacement","labelPlacement","elementsClassNames","htmlAttributes","type","spacing","isNext","useState","_useState2","_slicedToArray","_useState","inputValue","setInputValue","muiValue","useMemo","undefined","Array","length","mixedValues","valuesArray","filter","_typeof","objectValues","map","_ref2","id","title","optionsById","option","includes","find","hasMultiSelected","hasAllMultiSelected","defaultNoOptionsText","disableClearable","renderInput","useCallback","inputProps","_jsx","AutocompleteInput","_objectSpread","readOnly","actualOnChange","event","optionOrArray","reason","stopPropagation","preventDefault","foundAddOption","isRealOption","CreateOptionMark","newOptionTitle","some","AllOptionMark","onSelectOnly","actualRenderOption","_ref3","selected","AutocompleteMenuItem","useOnlyButton","children","_jsxs","styles","allOptionContainer","indeterminate","Menu","Divider","allOptionDivider","actualFilterOptions","params","_ref5","filteredOptions","createFilterOptions","optionsWithAll","_defineProperty","trim","concat","_toConsumableArray","actualGetOptionDisabled","getOptionLabel","renderTags","tags","getTagProps","tagsArray","index","onDelete","allOptions","actualOnInputChange","actualGroupBy","classes","paper","getOptionSelected","a","b","Component","MuiAutocomplete","PopperComponent","props","Popper","classNames","root","withArrow","withClear","PaperComponent","AutocompletePaper","disableCloseOnSelect","blurOnSelect","popupIcon","DownIcon","forcePopupIcon","closeIcon","CloseSmallIcon","clearText","noOptionsText","clearOnBlur","selectOnFocus","ListboxComponent","AutocompleteListBox","AutocompleteNext","selectedValueRenderers","default","chipsMultiline","renderSelectedValueChips"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var s=require("react"),e=require("moment"),o=require("classnames"),n=require("../../ButtonIcon/ButtonIcon.js"),c=require("../../../icons/iconParkIcons.js");require("../../../icons/customIcons/icons/AddMessage.js"),require("../../../icons/customIcons/icons/DragOne.js"),require("../../../icons/customIcons/icons/Attention.js"),require("../../../icons/customIcons/icons/Collapse.js"),require("../../../icons/customIcons/icons/Dashboard.js"),require("../../../icons/customIcons/icons/Expand.js"),require("../../../icons/customIcons/icons/FolderClosed.js"),require("../../../icons/customIcons/icons/FolderClosedFilled.js"),require("../../../icons/customIcons/icons/FolderOpened.js"),require("../../../icons/customIcons/icons/GreaterOrEqual.js"),require("../../../icons/customIcons/icons/LessOrEqual.js"),require("../../../icons/customIcons/icons/Search.js"),require("../../../icons/customIcons/icons/SearchOne.js"),require("../../../icons/customIcons/icons/Wellhub.js"),require("../../../icons/customIcons/icons/MultiRuler.js"),require("../../../icons/customIcons/icons/Checkbox.js"),require("../../../icons/customIcons/icons/CheckboxChecked.js"),require("../../../icons/customIcons/icons/CheckboxIndeterminate.js"),require("../../../icons/customIcons/icons/Radio.js"),require("../../../icons/customIcons/icons/RadioChecked.js"),require("../../../icons/customIcons/icons/SimulFrac.js"),require("../../../icons/customIcons/icons/ZipperFrac.js"),require("../../../icons/customIcons/icons/CautionFilled.js"),require("../../../icons/customIcons/icons/InfoRounded.js"),require("../../../icons/customIcons/icons/FlameFilled.js"),require("../../../icons/customIcons/icons/MoreApp.js"),require("../../../icons/customIcons/icons/Pad.js"),require("../../../icons/customIcons/icons/DrilloutUnit.js"),require("../../../icons/customIcons/icons/FracFleet.js"),require("../../../icons/customIcons/icons/Global.js"),require("../../../icons/customIcons/icons/Program.js"),require("../../../icons/customIcons/icons/Rig.js"),require("../../../icons/customIcons/icons/Well.js"),require("../../../icons/customIcons/icons/Gap.js"),require("../../../icons/customIcons/icons/Pin.js"),require("../../../icons/customIcons/icons/CloseOneFilled.js"),require("../../../icons/customIcons/icons/AttentionFilled.js"),require("../../../icons/customIcons/icons/CheckOneFilled.js"),require("../../../icons/customIcons/icons/Archive.js"),require("../../../icons/customIcons/icons/ArchiveCancel.js"),require("../../../icons/customIcons/icons/Unarchive.js"),require("../../../icons/customIcons/icons/Archived.js"),require("../../../icons/customIcons/icons/InterventionUnit.js"),require("../../../icons/customIcons/icons/CloudDelete.js"),require("../../../icons/customIcons/icons/Lasso.js"),require("../../../icons/customIcons/icons/Radius.js"),require("../../../icons/customIcons/icons/ErrorOps.js"),require("../../../icons/customIcons/icons/DataTypeOps.js"),require("../../../icons/customIcons/icons/FalsePositiveOps.js"),require("../../../icons/customIcons/icons/CalibrationOps.js"),require("../../../icons/customIcons/icons/CriticalOps.js"),require("../../../icons/customIcons/icons/Company.js"),require("../../../icons/customIcons/icons/ArchiveOne.js"),require("../../../icons/customIcons/icons/ParseBotFusion.js"),require("../../../icons/customIcons/icons/Connect.js"),require("../../../icons/customIcons/icons/PuzzleOne.js"),require("../../../icons/customIcons/icons/Feed.js"),require("../../../icons/customIcons/icons/Prompt.js"),require("../../../icons/customIcons/icons/Companies.js"),require("../../../icons/customIcons/icons/ClipboardAi.js"),require("../../../icons/customIcons/icons/Key.js"),require("../../../icons/customIcons/icons/AtSignCrossed.js"),require("../../../icons/customIcons/icons/MappingManual.js"),require("../../../icons/customIcons/icons/Mapping.js"),require("../../../icons/customIcons/icons/Metrics.js"),require("../../../icons/customIcons/icons/Drops.js"),require("../../../icons/customIcons/icons/ClipboardSearch.js"),require("../../../icons/customIcons/icons/Template.js"),require("../../../icons/customIcons/icons/ClipboardMetrics.js"),require("../../../icons/customIcons/icons/ClipboardBuilder.js"),require("../../../icons/customIcons/icons/UnitConversion.js"),require("../../../icons/customIcons/icons/NPT.js"),require("../../../icons/customIcons/icons/GuidedFrac.js");var i=require("../../Autocomplete/Autocomplete.js"),r=require("../../Tooltip/Tooltip.js"),t=require("../utils.js"),u=require("./CalendarControls.scss.js"),a=require("react/jsx-runtime");function l(s){return s&&"object"==typeof s&&"default"in s?s:{default:s}}var m=l(e),d=l(o),j={inputContainer:u.selectInputContainer,input:u.selectInput,suffix:u.suffix},I=function(s){return s.fullTitle};exports.CalendarControls=function(e){var o=e.date,l=e.setDate,q=e.minDate,p=e.maxDate,f=e.view,h=void 0===f?"month":f,C=e.testId,g=e.className,b=s.useCallback((function(){return l((function(s){return m.default(s).startOf("month").add(1,"year"===h?"year":"month").toDate()}))}),[l,h]),O=s.useCallback((function(){return l((function(s){return m.default(s).startOf("month").subtract(1,"year"===h?"year":"month").toDate()}))}),[l,h]),v=s.useMemo((function(){return o.getMonth()+1}),[o]),x=s.useMemo((function(){return o.getFullYear()}),[o]),T=s.useMemo((function(){for(var s=(new Date).getFullYear()-10,e=(new Date).getFullYear()+10,o=[],n=s;n<=e;n+=1){var c=new Date(n,0,1);(!p||c.getTime()<=p.getTime())&&(!q||c.getTime()>=m.default(q).startOf("year").toDate().getTime())&&o.push({id:n,title:String(n)})}return o}),[p,q]),D=s.useMemo((function(){return t.MonthOptions.filter((function(s){var e=s.id,o=new Date(x,e-1,1);return(!p||o.getTime()<=p.getTime())&&(!q||o.getTime()>=m.default(q).startOf("month").toDate().getTime())}))}),[p,q,x]),F=s.useCallback((function(s){s&&l((function(e){return m.default(e).startOf("month").set("month",Number(s.id)-1).toDate()}))}),[l]),M=s.useCallback((function(s){s&&l((function(e){var o=m.default(e).startOf("month").set("year",Number(s.id)).toDate();return q&&q.getTime()>=o.getTime()?q:p&&p.getTime()<=o.getTime()?p:o}))}),[l,q,p]),y=s.useMemo((function(){return!!p&&m.default(p).startOf("month").toDate().getTime()<=o.getTime()}),[o,p]),N=s.useMemo((function(){return!!q&&m.default(q).startOf("month").toDate().getTime()>=m.default(o).startOf("month").toDate().getTime()}),[o,q]);return a.jsxs("div",{className:d.default(u.root,g),"data-testid":C,children:[a.jsx(r.Tooltip,{title:"year"===h?"Previous year":"Previous month",children:a.jsx(n.ButtonIcon,{size:"small",onClick:O,disabled:N,children:a.jsx(c.LeftSmallIcon,{})})}),a.jsxs("div",{className:u.selects,children:["year"!==h&&a.jsx(i.AutocompleteNext,{className:u.select,clearable:!1,disableFiltering:!0,options:D,value:v,onChange:F,disabled:D.length<=1,elementsClassNames:j,dropdownClassName:d.default(u.dropdown,u.monthsDropdown),renderOption:I}),a.jsx(i.AutocompleteNext,{className:u.select,clearable:!1,disableFiltering:!0,options:T,value:x,onChange:M,disabled:T.length<=1,elementsClassNames:j,dropdownClassName:u.dropdown})]}),a.jsx(r.Tooltip,{title:"year"===h?"Next year":"Next month",children:a.jsx(n.ButtonIcon,{size:"small",onClick:b,disabled:y,children:a.jsx(c.RightSmallIcon,{})})})]})};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),s=require("moment"),o=require("classnames"),n=require("../../ButtonIcon/ButtonIcon.js"),t=require("../../../icons/iconParkIcons.js");require("../../../icons/customIcons/icons/AddMessage.js"),require("../../../icons/customIcons/icons/DragOne.js"),require("../../../icons/customIcons/icons/Attention.js"),require("../../../icons/customIcons/icons/Collapse.js"),require("../../../icons/customIcons/icons/Dashboard.js"),require("../../../icons/customIcons/icons/Expand.js"),require("../../../icons/customIcons/icons/FolderClosed.js"),require("../../../icons/customIcons/icons/FolderClosedFilled.js"),require("../../../icons/customIcons/icons/FolderOpened.js"),require("../../../icons/customIcons/icons/GreaterOrEqual.js"),require("../../../icons/customIcons/icons/LessOrEqual.js"),require("../../../icons/customIcons/icons/Search.js"),require("../../../icons/customIcons/icons/SearchOne.js"),require("../../../icons/customIcons/icons/Wellhub.js"),require("../../../icons/customIcons/icons/MultiRuler.js"),require("../../../icons/customIcons/icons/Checkbox.js"),require("../../../icons/customIcons/icons/CheckboxChecked.js"),require("../../../icons/customIcons/icons/CheckboxIndeterminate.js"),require("../../../icons/customIcons/icons/Radio.js"),require("../../../icons/customIcons/icons/RadioChecked.js"),require("../../../icons/customIcons/icons/SimulFrac.js"),require("../../../icons/customIcons/icons/ZipperFrac.js"),require("../../../icons/customIcons/icons/CautionFilled.js"),require("../../../icons/customIcons/icons/InfoRounded.js"),require("../../../icons/customIcons/icons/FlameFilled.js"),require("../../../icons/customIcons/icons/MoreApp.js"),require("../../../icons/customIcons/icons/Pad.js"),require("../../../icons/customIcons/icons/DrilloutUnit.js"),require("../../../icons/customIcons/icons/FracFleet.js"),require("../../../icons/customIcons/icons/Global.js"),require("../../../icons/customIcons/icons/Program.js"),require("../../../icons/customIcons/icons/Rig.js"),require("../../../icons/customIcons/icons/Well.js"),require("../../../icons/customIcons/icons/Gap.js"),require("../../../icons/customIcons/icons/Pin.js"),require("../../../icons/customIcons/icons/CloseOneFilled.js"),require("../../../icons/customIcons/icons/AttentionFilled.js"),require("../../../icons/customIcons/icons/CheckOneFilled.js"),require("../../../icons/customIcons/icons/Archive.js"),require("../../../icons/customIcons/icons/ArchiveCancel.js"),require("../../../icons/customIcons/icons/Unarchive.js"),require("../../../icons/customIcons/icons/Archived.js"),require("../../../icons/customIcons/icons/InterventionUnit.js"),require("../../../icons/customIcons/icons/CloudDelete.js"),require("../../../icons/customIcons/icons/Lasso.js"),require("../../../icons/customIcons/icons/Radius.js"),require("../../../icons/customIcons/icons/ErrorOps.js"),require("../../../icons/customIcons/icons/DataTypeOps.js"),require("../../../icons/customIcons/icons/FalsePositiveOps.js"),require("../../../icons/customIcons/icons/CalibrationOps.js"),require("../../../icons/customIcons/icons/CriticalOps.js"),require("../../../icons/customIcons/icons/Company.js"),require("../../../icons/customIcons/icons/ArchiveOne.js"),require("../../../icons/customIcons/icons/ParseBotFusion.js"),require("../../../icons/customIcons/icons/Connect.js"),require("../../../icons/customIcons/icons/PuzzleOne.js"),require("../../../icons/customIcons/icons/Feed.js"),require("../../../icons/customIcons/icons/Prompt.js"),require("../../../icons/customIcons/icons/Companies.js"),require("../../../icons/customIcons/icons/ClipboardAi.js"),require("../../../icons/customIcons/icons/Key.js"),require("../../../icons/customIcons/icons/AtSignCrossed.js"),require("../../../icons/customIcons/icons/MappingManual.js"),require("../../../icons/customIcons/icons/Mapping.js"),require("../../../icons/customIcons/icons/Metrics.js"),require("../../../icons/customIcons/icons/Drops.js"),require("../../../icons/customIcons/icons/ClipboardSearch.js"),require("../../../icons/customIcons/icons/Template.js"),require("../../../icons/customIcons/icons/ClipboardMetrics.js"),require("../../../icons/customIcons/icons/ClipboardBuilder.js"),require("../../../icons/customIcons/icons/UnitConversion.js"),require("../../../icons/customIcons/icons/NPT.js"),require("../../../icons/customIcons/icons/GuidedFrac.js");var i=require("../../Autocomplete/Autocomplete.js"),c=require("../../Tooltip/Tooltip.js"),r=require("../utils.js"),u=require("./CalendarControls.scss.js"),a=require("react/jsx-runtime");function l(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var m=l(s),d=l(o),j={inputContainer:u.selectInputContainer,input:u.selectInput,suffix:u.suffix},I=function(e){return e.fullTitle},q={className:u.popper};exports.CalendarControls=function(s){var o=s.date,l=s.setDate,f=s.minDate,p=s.maxDate,h=s.view,C=void 0===h?"month":h,g=s.testId,b=s.className,O=e.useCallback((function(){return l((function(e){return m.default(e).startOf("month").subtract(1,"month").toDate()}))}),[l]),D=e.useCallback((function(){return l((function(e){return m.default(e).startOf("month").add(1,"month").toDate()}))}),[l]),T=e.useCallback((function(){return l((function(e){return m.default(e).startOf("month").subtract(1,"year").toDate()}))}),[l]),x=e.useCallback((function(){return l((function(e){return m.default(e).startOf("month").add(1,"year").toDate()}))}),[l]),v=e.useMemo((function(){return!!f&&m.default(f).startOf("month").toDate().getTime()>=m.default(o).startOf("month").toDate().getTime()}),[o,f]),F=e.useMemo((function(){return!!p&&m.default(p).startOf("month").toDate().getTime()<=o.getTime()}),[o,p]),M=e.useMemo((function(){return!!f&&("month"===C?m.default(f).startOf("month").toDate().getTime()>=m.default(o).subtract(1,"year").endOf("month").toDate().getTime():m.default(f).startOf("month").toDate().getTime()>=m.default(o).startOf("year").toDate().getTime())}),[o,f,C]),k=e.useMemo((function(){return!!p&&("month"===C?m.default(p).endOf("month").toDate().getTime()<=m.default(o).add(1,"year").startOf("month").toDate().getTime():m.default(p).startOf("year").toDate().getTime()<=m.default(o).startOf("year").toDate().getTime())}),[o,p,C]),y=e.useMemo((function(){return o.getMonth()+1}),[o]),N=e.useMemo((function(){return o.getFullYear()}),[o]),A=e.useMemo((function(){for(var e=(new Date).getFullYear()-10,s=(new Date).getFullYear()+10,o=[],n=e;n<=s;n+=1){var t=new Date(n,0,1);(!p||t.getTime()<=p.getTime())&&(!f||t.getTime()>=m.default(f).startOf("year").toDate().getTime())&&o.push({id:n,title:String(n)})}return o}),[p,f]),P=e.useMemo((function(){return r.MonthOptions.filter((function(e){var s=e.id,o=new Date(N,s-1,1);return(!p||o.getTime()<=p.getTime())&&(!f||o.getTime()>=m.default(f).startOf("month").toDate().getTime())}))}),[p,f,N]),w=e.useCallback((function(e){e&&l((function(s){return m.default(s).startOf("month").set("month",Number(e.id)-1).toDate()}))}),[l]),R=e.useCallback((function(e){e&&l((function(s){var o=m.default(s).startOf("month").set("year",Number(e.id)).toDate();return f&&f.getTime()>=o.getTime()?f:p&&p.getTime()<=o.getTime()?p:o}))}),[l,f,p]);return a.jsxs("div",{className:d.default(u.root,b),"data-testid":g,children:[a.jsx(c.Tooltip,{title:"Previous year",children:a.jsx(n.ButtonIcon,{size:"small",onClick:T,disabled:M,children:"month"===C?a.jsx(t.DoubleLeftIcon,{}):a.jsx(t.LeftIcon,{})})}),"month"===C&&a.jsx(c.Tooltip,{title:"Previous month",children:a.jsx(n.ButtonIcon,{size:"small",onClick:O,disabled:v,children:a.jsx(t.LeftIcon,{})})}),a.jsxs("div",{className:u.selects,children:["year"!==C&&a.jsx(i.AutocompleteNext,{className:u.select,clearable:!1,disableFiltering:!0,options:P,value:y,onChange:w,disabled:P.length<=1,elementsClassNames:j,dropdownClassName:d.default(u.dropdown,u.monthsDropdown),renderOption:I,popperProps:q}),a.jsx(i.AutocompleteNext,{className:u.select,clearable:!1,disableFiltering:!0,options:A,value:N,onChange:R,disabled:A.length<=1,elementsClassNames:j,dropdownClassName:u.dropdown,popperProps:q})]}),"month"===C&&a.jsx(c.Tooltip,{title:"Next month",children:a.jsx(n.ButtonIcon,{size:"small",onClick:D,disabled:F,children:a.jsx(t.RightIcon,{})})}),a.jsx(c.Tooltip,{title:"Next year",children:a.jsx(n.ButtonIcon,{size:"small",onClick:x,disabled:k,children:"month"===C?a.jsx(t.DoubleRightIcon,{}):a.jsx(t.RightIcon,{})})})]})};
2
2
  //# sourceMappingURL=CalendarControls.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CalendarControls.js","sources":["../../../../../src/componentsV2/DatePicker/CalendarControls/CalendarControls.tsx"],"sourcesContent":["import { Dispatch, SetStateAction, useCallback, useMemo } from 'react';\nimport moment from 'moment';\nimport classNames from 'classnames';\n\nimport { ButtonIcon } from '../../ButtonIcon';\nimport { LeftSmallIcon, RightSmallIcon } from '../../../icons';\nimport {\n AutocompleteChangeHandler,\n AutocompleteNext,\n AutocompleteNextProps,\n} from '../../Autocomplete';\nimport { Tooltip } from '../../Tooltip';\nimport { DatePickerCalendarView, MonthOptions } from '../utils';\n\nimport styles from './CalendarControls.scss';\n\nexport type CalendarControlsProps = {\n /**\n * Calendar shown date\n */\n date: Date;\n setDate: Dispatch<SetStateAction<Date>>;\n minDate?: Date;\n maxDate?: Date;\n view?: DatePickerCalendarView;\n\n className?: string;\n testId?: string;\n};\n\nconst SelectElementsClassNames: AutocompleteNextProps['elementsClassNames'] = {\n inputContainer: styles.selectInputContainer,\n input: styles.selectInput,\n suffix: styles.suffix,\n};\n\nconst renderMonthOption = ({ fullTitle }: typeof MonthOptions[number]) => fullTitle;\n\n// ⚠️ Part of public API, exported as DatePicker.Controls\nexport const CalendarControls = ({\n date,\n setDate,\n minDate,\n maxDate,\n view = 'month',\n testId,\n className,\n}: CalendarControlsProps) => {\n const shiftForward = useCallback(\n () =>\n setDate(current =>\n moment(current)\n .startOf('month')\n .add(1, view === 'year' ? 'year' : 'month')\n .toDate()\n ),\n [setDate, view]\n );\n\n const shiftBackward = useCallback(\n () =>\n setDate(current =>\n moment(current)\n .startOf('month')\n .subtract(1, view === 'year' ? 'year' : 'month')\n .toDate()\n ),\n [setDate, view]\n );\n\n const currentMonth = useMemo(() => date.getMonth() + 1, [date]);\n const currentYear = useMemo(() => date.getFullYear(), [date]);\n\n const yearOptions = useMemo(() => {\n const shift = 10;\n const minYear = new Date().getFullYear() - shift;\n const maxYear = new Date().getFullYear() + shift;\n const result = [];\n\n for (let i = minYear; i <= maxYear; i += 1) {\n const yearStart = new Date(i, 0, 1);\n if (\n (!maxDate || yearStart.getTime() <= maxDate.getTime()) &&\n (!minDate || yearStart.getTime() >= moment(minDate).startOf('year').toDate().getTime())\n ) {\n result.push({ id: i, title: String(i) });\n }\n }\n\n return result;\n }, [maxDate, minDate]);\n\n const monthOptions = useMemo(() => {\n return MonthOptions.filter(({ id }) => {\n const monthStart = new Date(currentYear, id - 1, 1);\n\n return (\n (!maxDate || monthStart.getTime() <= maxDate.getTime()) &&\n (!minDate || monthStart.getTime() >= moment(minDate).startOf('month').toDate().getTime())\n );\n });\n }, [maxDate, minDate, currentYear]);\n\n const onSelectMonth = useCallback<AutocompleteChangeHandler>(\n value => {\n if (value) {\n setDate(current =>\n moment(current)\n .startOf('month')\n .set('month', Number(value.id) - 1)\n .toDate()\n );\n }\n },\n [setDate]\n );\n\n const onSelectYear = useCallback<AutocompleteChangeHandler>(\n value => {\n if (value) {\n setDate(current => {\n const possibleDate = moment(current)\n .startOf('month')\n .set('year', Number(value.id))\n .toDate();\n\n if (minDate && minDate.getTime() >= possibleDate.getTime()) {\n return minDate;\n }\n\n if (maxDate && maxDate.getTime() <= possibleDate.getTime()) {\n return maxDate;\n }\n\n return possibleDate;\n });\n }\n },\n [setDate, minDate, maxDate]\n );\n\n const isNextDisabled = useMemo(() => {\n return !!maxDate && moment(maxDate).startOf('month').toDate().getTime() <= date.getTime();\n }, [date, maxDate]);\n\n const isPrevDisabled = useMemo(() => {\n return (\n !!minDate &&\n moment(minDate).startOf('month').toDate().getTime() >=\n moment(date).startOf('month').toDate().getTime()\n );\n }, [date, minDate]);\n\n return (\n <div className={classNames(styles.root, className)} data-testid={testId}>\n <Tooltip title={view === 'year' ? 'Previous year' : 'Previous month'}>\n <ButtonIcon size=\"small\" onClick={shiftBackward} disabled={isPrevDisabled}>\n <LeftSmallIcon />\n </ButtonIcon>\n </Tooltip>\n\n <div className={styles.selects}>\n {view !== 'year' && (\n <AutocompleteNext\n className={styles.select}\n clearable={false}\n disableFiltering\n options={monthOptions}\n value={currentMonth}\n onChange={onSelectMonth}\n disabled={monthOptions.length <= 1}\n elementsClassNames={SelectElementsClassNames}\n dropdownClassName={classNames(styles.dropdown, styles.monthsDropdown)}\n renderOption={renderMonthOption}\n />\n )}\n\n <AutocompleteNext\n className={styles.select}\n clearable={false}\n disableFiltering\n options={yearOptions}\n value={currentYear}\n onChange={onSelectYear}\n disabled={yearOptions.length <= 1}\n elementsClassNames={SelectElementsClassNames}\n dropdownClassName={styles.dropdown}\n />\n </div>\n\n <Tooltip title={view === 'year' ? 'Next year' : 'Next month'}>\n <ButtonIcon size=\"small\" onClick={shiftForward} disabled={isNextDisabled}>\n <RightSmallIcon />\n </ButtonIcon>\n </Tooltip>\n </div>\n );\n};\n"],"names":["SelectElementsClassNames","inputContainer","styles","selectInputContainer","input","selectInput","suffix","renderMonthOption","_ref","fullTitle","_ref2","date","setDate","minDate","maxDate","_ref2$view","view","testId","className","shiftForward","useCallback","current","moment","startOf","add","toDate","shiftBackward","subtract","currentMonth","useMemo","getMonth","currentYear","getFullYear","yearOptions","minYear","Date","maxYear","result","i","yearStart","getTime","push","id","title","String","monthOptions","MonthOptions","filter","_ref3","monthStart","onSelectMonth","value","set","Number","onSelectYear","possibleDate","isNextDisabled","isPrevDisabled","_jsxs","classNames","root","children","_jsx","Tooltip","ButtonIcon","size","onClick","disabled","LeftSmallIcon","jsxs","selects","AutocompleteNext","select","clearable","disableFiltering","options","onChange","length","elementsClassNames","dropdownClassName","dropdown","monthsDropdown","renderOption","RightSmallIcon"],"mappings":"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"}
1
+ {"version":3,"file":"CalendarControls.js","sources":["../../../../../src/componentsV2/DatePicker/CalendarControls/CalendarControls.tsx"],"sourcesContent":["import { Dispatch, SetStateAction, useCallback, useMemo } from 'react';\nimport moment from 'moment';\nimport classNames from 'classnames';\n\nimport { ButtonIcon } from '../../ButtonIcon';\nimport { DoubleLeftIcon, DoubleRightIcon, LeftIcon, RightIcon } from '../../../icons';\nimport {\n AutocompleteChangeHandler,\n AutocompleteNext,\n AutocompleteNextProps,\n} from '../../Autocomplete';\nimport { Tooltip } from '../../Tooltip';\nimport { DatePickerCalendarView, MonthOptions } from '../utils';\n\nimport styles from './CalendarControls.scss';\n\nexport type CalendarControlsProps = {\n /**\n * Calendar shown date\n */\n date: Date;\n setDate: Dispatch<SetStateAction<Date>>;\n minDate?: Date;\n maxDate?: Date;\n view?: DatePickerCalendarView;\n\n className?: string;\n testId?: string;\n};\n\nconst SelectElementsClassNames: AutocompleteNextProps['elementsClassNames'] = {\n inputContainer: styles.selectInputContainer,\n input: styles.selectInput,\n suffix: styles.suffix,\n};\n\nconst renderMonthOption = ({ fullTitle }: typeof MonthOptions[number]) => fullTitle;\n\nconst autocompletePopperProps = { className: styles.popper };\n\n// ⚠️ Part of public API, exported as DatePicker.Controls\nexport const CalendarControls = ({\n date,\n setDate,\n minDate,\n maxDate,\n view = 'month',\n testId,\n className,\n}: CalendarControlsProps) => {\n const shiftMonthBackward = useCallback(\n () => setDate(current => moment(current).startOf('month').subtract(1, 'month').toDate()),\n [setDate]\n );\n\n const shiftMonthForward = useCallback(\n () => setDate(current => moment(current).startOf('month').add(1, 'month').toDate()),\n [setDate]\n );\n\n const shiftYearBackward = useCallback(\n () => setDate(current => moment(current).startOf('month').subtract(1, 'year').toDate()),\n [setDate]\n );\n\n const shiftYearForward = useCallback(\n () => setDate(current => moment(current).startOf('month').add(1, 'year').toDate()),\n [setDate]\n );\n\n const isPrevMonthDisabled = useMemo(() => {\n return (\n !!minDate &&\n moment(minDate).startOf('month').toDate().getTime() >=\n moment(date).startOf('month').toDate().getTime()\n );\n }, [date, minDate]);\n\n const isNextMonthDisabled = useMemo(() => {\n return !!maxDate && moment(maxDate).startOf('month').toDate().getTime() <= date.getTime();\n }, [date, maxDate]);\n\n const isPrevYearDisabled = useMemo(() => {\n if (!minDate) {\n return false;\n }\n\n if (view === 'month') {\n return (\n moment(minDate).startOf('month').toDate().getTime() >=\n moment(date).subtract(1, 'year').endOf('month').toDate().getTime()\n );\n } else {\n return (\n moment(minDate).startOf('month').toDate().getTime() >=\n moment(date).startOf('year').toDate().getTime()\n );\n }\n }, [date, minDate, view]);\n\n const isNextYearDisabled = useMemo(() => {\n if (!maxDate) {\n return false;\n }\n\n if (view === 'month') {\n return (\n moment(maxDate).endOf('month').toDate().getTime() <=\n moment(date).add(1, 'year').startOf('month').toDate().getTime()\n );\n } else {\n return (\n moment(maxDate).startOf('year').toDate().getTime() <=\n moment(date).startOf('year').toDate().getTime()\n );\n }\n }, [date, maxDate, view]);\n\n const currentMonth = useMemo(() => date.getMonth() + 1, [date]);\n const currentYear = useMemo(() => date.getFullYear(), [date]);\n\n const yearOptions = useMemo(() => {\n const shift = 10;\n const minYear = new Date().getFullYear() - shift;\n const maxYear = new Date().getFullYear() + shift;\n const result = [];\n\n for (let i = minYear; i <= maxYear; i += 1) {\n const yearStart = new Date(i, 0, 1);\n if (\n (!maxDate || yearStart.getTime() <= maxDate.getTime()) &&\n (!minDate || yearStart.getTime() >= moment(minDate).startOf('year').toDate().getTime())\n ) {\n result.push({ id: i, title: String(i) });\n }\n }\n\n return result;\n }, [maxDate, minDate]);\n\n const monthOptions = useMemo(() => {\n return MonthOptions.filter(({ id }) => {\n const monthStart = new Date(currentYear, id - 1, 1);\n\n return (\n (!maxDate || monthStart.getTime() <= maxDate.getTime()) &&\n (!minDate || monthStart.getTime() >= moment(minDate).startOf('month').toDate().getTime())\n );\n });\n }, [maxDate, minDate, currentYear]);\n\n const onSelectMonth = useCallback<AutocompleteChangeHandler>(\n value => {\n if (value) {\n setDate(current =>\n moment(current)\n .startOf('month')\n .set('month', Number(value.id) - 1)\n .toDate()\n );\n }\n },\n [setDate]\n );\n\n const onSelectYear = useCallback<AutocompleteChangeHandler>(\n value => {\n if (value) {\n setDate(current => {\n const possibleDate = moment(current)\n .startOf('month')\n .set('year', Number(value.id))\n .toDate();\n\n if (minDate && minDate.getTime() >= possibleDate.getTime()) {\n return minDate;\n }\n\n if (maxDate && maxDate.getTime() <= possibleDate.getTime()) {\n return maxDate;\n }\n\n return possibleDate;\n });\n }\n },\n [setDate, minDate, maxDate]\n );\n\n return (\n <div className={classNames(styles.root, className)} data-testid={testId}>\n <Tooltip title=\"Previous year\">\n <ButtonIcon size=\"small\" onClick={shiftYearBackward} disabled={isPrevYearDisabled}>\n {view === 'month' ? <DoubleLeftIcon /> : <LeftIcon />}\n </ButtonIcon>\n </Tooltip>\n\n {view === 'month' && (\n <Tooltip title=\"Previous month\">\n <ButtonIcon size=\"small\" onClick={shiftMonthBackward} disabled={isPrevMonthDisabled}>\n <LeftIcon />\n </ButtonIcon>\n </Tooltip>\n )}\n\n <div className={styles.selects}>\n {view !== 'year' && (\n <AutocompleteNext\n className={styles.select}\n clearable={false}\n disableFiltering\n options={monthOptions}\n value={currentMonth}\n onChange={onSelectMonth}\n disabled={monthOptions.length <= 1}\n elementsClassNames={SelectElementsClassNames}\n dropdownClassName={classNames(styles.dropdown, styles.monthsDropdown)}\n renderOption={renderMonthOption}\n popperProps={autocompletePopperProps}\n />\n )}\n\n <AutocompleteNext\n className={styles.select}\n clearable={false}\n disableFiltering\n options={yearOptions}\n value={currentYear}\n onChange={onSelectYear}\n disabled={yearOptions.length <= 1}\n elementsClassNames={SelectElementsClassNames}\n dropdownClassName={styles.dropdown}\n popperProps={autocompletePopperProps}\n />\n </div>\n\n {view === 'month' && (\n <Tooltip title=\"Next month\">\n <ButtonIcon size=\"small\" onClick={shiftMonthForward} disabled={isNextMonthDisabled}>\n <RightIcon />\n </ButtonIcon>\n </Tooltip>\n )}\n\n <Tooltip title=\"Next year\">\n <ButtonIcon size=\"small\" onClick={shiftYearForward} disabled={isNextYearDisabled}>\n {view === 'month' ? <DoubleRightIcon /> : <RightIcon />}\n </ButtonIcon>\n </Tooltip>\n </div>\n );\n};\n"],"names":["SelectElementsClassNames","inputContainer","styles","selectInputContainer","input","selectInput","suffix","renderMonthOption","_ref","fullTitle","autocompletePopperProps","className","popper","_ref2","date","setDate","minDate","maxDate","_ref2$view","view","testId","shiftMonthBackward","useCallback","current","moment","startOf","subtract","toDate","shiftMonthForward","add","shiftYearBackward","shiftYearForward","isPrevMonthDisabled","useMemo","getTime","isNextMonthDisabled","isPrevYearDisabled","endOf","isNextYearDisabled","currentMonth","getMonth","currentYear","getFullYear","yearOptions","minYear","Date","maxYear","result","i","yearStart","push","id","title","String","monthOptions","MonthOptions","filter","_ref3","monthStart","onSelectMonth","value","set","Number","onSelectYear","possibleDate","_jsxs","classNames","root","children","_jsx","Tooltip","ButtonIcon","size","onClick","disabled","DoubleLeftIcon","LeftIcon","jsxs","selects","AutocompleteNext","select","clearable","disableFiltering","options","onChange","length","elementsClassNames","dropdownClassName","dropdown","monthsDropdown","renderOption","popperProps","RightIcon","DoubleRightIcon"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";require('./../../../ext-esm/style-inject/dist/style-inject.es.js')(".CalendarControls_root__B1lzU{align-items:center;display:flex;flex-flow:row nowrap;justify-content:space-between;padding:8px;width:320px}.CalendarControls_selects__gPfQ4{display:flex;flex-flow:row nowrap;gap:16px}.CalendarControls_selectInputContainer__OWUfF{background-color:transparent;border:none;cursor:pointer;padding:0}.CalendarControls_selectInput__Wv0WK{font-size:16px;font-weight:500;text-align:right;text-transform:uppercase}.CalendarControls_select__ngFto{display:inline-block;margin-top:1px;width:70px}.CalendarControls_dropdown__30C2C{max-height:300px!important;min-width:90px}.CalendarControls_monthsDropdown__lahqO{min-width:120px}.CalendarControls_suffix__TCLYb{right:0;top:50%;transform:translateY(-50%)}"),module.exports={spacing:"8",root:"CalendarControls_root__B1lzU",selects:"CalendarControls_selects__gPfQ4",selectInputContainer:"CalendarControls_selectInputContainer__OWUfF",selectInput:"CalendarControls_selectInput__Wv0WK",select:"CalendarControls_select__ngFto",dropdown:"CalendarControls_dropdown__30C2C",monthsDropdown:"CalendarControls_monthsDropdown__lahqO",suffix:"CalendarControls_suffix__TCLYb"};
1
+ "use strict";require('./../../../ext-esm/style-inject/dist/style-inject.es.js')(".CalendarControls_root__B1lzU{align-items:center;display:flex;flex-flow:row nowrap;justify-content:space-between;padding:8px;width:296px}.CalendarControls_selects__gPfQ4{display:flex;flex-flow:row nowrap;gap:16px}.CalendarControls_selectInputContainer__OWUfF{background-color:transparent;border:none;cursor:pointer;padding:0}.CalendarControls_selectInput__Wv0WK{font-size:16px;font-weight:500;text-align:right;text-transform:uppercase}.CalendarControls_select__ngFto{display:inline-block;margin-top:1px;width:70px}.CalendarControls_popper__ZrO40{z-index:calc(var(--z-index-modal) + 2)!important}.CalendarControls_dropdown__30C2C{max-height:300px!important;min-width:90px}.CalendarControls_monthsDropdown__lahqO{min-width:120px}.CalendarControls_suffix__TCLYb{right:0;top:50%;transform:translateY(-50%)}"),module.exports={spacing:"8",root:"CalendarControls_root__B1lzU",selects:"CalendarControls_selects__gPfQ4",selectInputContainer:"CalendarControls_selectInputContainer__OWUfF",selectInput:"CalendarControls_selectInput__Wv0WK",select:"CalendarControls_select__ngFto",popper:"CalendarControls_popper__ZrO40",dropdown:"CalendarControls_dropdown__30C2C",monthsDropdown:"CalendarControls_monthsDropdown__lahqO",suffix:"CalendarControls_suffix__TCLYb"};
2
2
  //# sourceMappingURL=CalendarControls.scss.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("moment"),a=require("classnames"),n=require("../../Text/Text.js"),r=require("../utils.js"),i=require("./CalendarGrid.scss.js"),o=require("react/jsx-runtime");function s(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var u=s(t),d=s(a),l=["Mon","Tue","Wed","Thu","Fri","Sat","Sun"];exports.CalendarGrid=function(t){var a=t.activeStartDate,s=t.setHoveredDate,c=t.minDate,m=t.maxDate,f=t.tileDisabled,g=t.onChange,v=t.view,h=void 0===v?"month":v,T=t.rangeStartDate,D=t.rangeEndDate,y=t.rangeHoveredDate,M=t.selected,x=t.getTileClassName,b=t.className,j=t.testId,p="month"===h,S=u.default().startOf(p?"day":"month").toDate(),q=e.useMemo((function(){if(p){var e=u.default(a).startOf("month"),t=0===e.day()?e.subtract(6,"days"):e.startOf("week").add(1,"days");return new Array(42).fill(void 0).map((function(e,a){return t.clone().add(a,"days").toDate()}))}var n=u.default(a).startOf("year");return new Array(12).fill(void 0).map((function(e,t){return n.clone().add(t,"months").toDate()}))}),[a,p]),C=e.useCallback((function(){return null==s?void 0:s(void 0)}),[s]);return o.jsxs("div",{className:d.default(i.root,!p&&i.yearView,b),onMouseLeave:C,"data-testid":j,children:[p&&l.map((function(e){return o.jsx(n.Text,{size:14,className:i.dow,children:e},e)})),q.map((function(e){var t=p?r.isSameDay:r.isSameMonth,n={activeStartDate:a,date:e},u=c&&e.getTime()<(null==c?void 0:c.getTime())||m&&e.getTime()>(null==m?void 0:m.getTime())||!(null==f||!f(n)),l=!!p&&e.getMonth()!==a.getMonth(),v=t(S,e),b=t(e,M)||t(e,T)||t(e,D),j=r.getMaxDate(D||y,T),q=r.getMinDate(D||y,T),C=t(q,e),w=t(j,e),N=q&&j&&q.getTime()<e.getTime()&&j.getTime()>e.getTime(),O=C||w||N;return o.jsx("button",{className:d.default(i.button,!p&&i.monthButton,u&&i.disabled,l&&i.neighbourMonth,v&&i.today,b&&i.selected,O&&i.range,C&&i.rangeStart,w&&i.rangeEnd,null==x?void 0:x(n)),disabled:u,onClick:function(){return g(e)},onMouseEnter:s?function(){return s(e)}:void 0,children:o.jsx("span",{className:i.buttonContent,children:"month"===h?e.getDate():r.MonthOptions[e.getMonth()].fullTitle})},"".concat(a.getTime(),"-").concat(e.getTime()))}))]})};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("moment"),a=require("classnames"),n=require("../../Text/Text.js"),r=require("../utils.js"),i=require("./CalendarGrid.scss.js"),o=require("react/jsx-runtime");function s(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var u=s(t),d=s(a),l=["Mo","Tu","We","Th","Fr","Sa","Su"];exports.CalendarGrid=function(t){var a=t.activeStartDate,s=t.setHoveredDate,c=t.minDate,m=t.maxDate,f=t.tileDisabled,g=t.onChange,v=t.view,h=void 0===v?"month":v,T=t.rangeStartDate,D=t.rangeEndDate,y=t.rangeHoveredDate,M=t.selected,x=t.getTileClassName,b=t.className,j=t.testId,p="month"===h,S=u.default().startOf(p?"day":"month").toDate(),q=e.useMemo((function(){if(p){var e=u.default(a).startOf("month"),t=0===e.day()?e.subtract(6,"days"):e.startOf("week").add(1,"days");return new Array(42).fill(void 0).map((function(e,a){return t.clone().add(a,"days").toDate()}))}var n=u.default(a).startOf("year");return new Array(12).fill(void 0).map((function(e,t){return n.clone().add(t,"months").toDate()}))}),[a,p]),C=e.useCallback((function(){return null==s?void 0:s(void 0)}),[s]);return o.jsxs("div",{className:d.default(i.root,!p&&i.yearView,b),onMouseLeave:C,"data-testid":j,children:[p&&l.map((function(e){return o.jsx(n.Text,{size:14,className:i.dow,color:"T6",children:e},e)})),q.map((function(e){var t=p?r.isSameDay:r.isSameMonth,n={activeStartDate:a,date:e},u=c&&e.getTime()<(null==c?void 0:c.getTime())||m&&e.getTime()>(null==m?void 0:m.getTime())||!(null==f||!f(n)),l=!!p&&e.getMonth()!==a.getMonth(),v=t(S,e),b=t(e,M)||t(e,T)||t(e,D),j=r.getMaxDate(D||y,T),q=r.getMinDate(D||y,T),C=t(q,e),w=t(j,e),N=q&&j&&q.getTime()<e.getTime()&&j.getTime()>e.getTime(),O=C||w||N;return o.jsx("button",{className:d.default(i.button,!p&&i.monthButton,u&&i.disabled,l&&i.neighbourMonth,v&&i.today,b&&i.selected,O&&i.range,C&&i.rangeStart,w&&i.rangeEnd,null==x?void 0:x(n)),disabled:u,onClick:function(){return g(e)},onMouseEnter:s?function(){return s(e)}:void 0,children:o.jsx("span",{className:i.buttonContent,children:"month"===h?e.getDate():r.MonthOptions[e.getMonth()].title})},"".concat(a.getTime(),"-").concat(e.getTime()))}))]})};
2
2
  //# sourceMappingURL=CalendarGrid.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CalendarGrid.js","sources":["../../../../../src/componentsV2/DatePicker/CalendarGrid/CalendarGrid.tsx"],"sourcesContent":["import { useCallback, useMemo } from 'react';\nimport moment from 'moment';\nimport classNames from 'classnames';\n\nimport { Text } from '../../Text';\nimport {\n DatePickerCalendarView,\n getMaxDate,\n getMinDate,\n isSameDay,\n isSameMonth,\n MonthOptions,\n} from '../utils';\n\nimport styles from './CalendarGrid.scss';\n\nexport type CalendarGridProps = {\n onChange: (value: Date) => void;\n activeStartDate: Date;\n view?: DatePickerCalendarView;\n setHoveredDate?: (date?: Date) => void;\n maxDate?: Date;\n minDate?: Date;\n tileDisabled?: (args: { activeStartDate: Date; date: Date }) => boolean;\n getTileClassName?: (args: { activeStartDate: Date; date: Date }) => string;\n selected?: Date;\n rangeStartDate?: Date;\n rangeEndDate?: Date;\n rangeHoveredDate?: Date;\n\n className?: string;\n testId?: string;\n};\n\nconst DoWs = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'];\n\n// ⚠️ Part of public API, exported as DatePicker.Grid\nexport const CalendarGrid = ({\n activeStartDate,\n setHoveredDate,\n minDate,\n maxDate,\n tileDisabled,\n onChange,\n view = 'month',\n rangeStartDate,\n rangeEndDate,\n rangeHoveredDate,\n selected,\n getTileClassName,\n className,\n testId,\n}: CalendarGridProps) => {\n const isMonthView = view === 'month';\n\n const nowPeriodStart = moment()\n .startOf(isMonthView ? 'day' : 'month')\n .toDate();\n\n // 4 weeks from earliest monday\n const tiles = useMemo(() => {\n if (isMonthView) {\n const monthStartMoment = moment(activeStartDate).startOf('month'); // Monday\n\n const weekStartMoment =\n monthStartMoment.day() === 0\n ? monthStartMoment.subtract(6, 'days')\n : monthStartMoment\n .startOf('week') // Sunday\n .add(1, 'days');\n\n return new Array(42)\n .fill(undefined)\n .map((_, index): Date => weekStartMoment.clone().add(index, 'days').toDate());\n } else {\n const yearStartMoment = moment(activeStartDate).startOf('year');\n return new Array(12)\n .fill(undefined)\n .map((_, index) => yearStartMoment.clone().add(index, 'months').toDate());\n }\n }, [activeStartDate, isMonthView]);\n\n const clearRangeHoveredDate = useCallback(() => setHoveredDate?.(undefined), [setHoveredDate]);\n\n return (\n <div\n className={classNames(styles.root, !isMonthView && styles.yearView, className)}\n onMouseLeave={clearRangeHoveredDate}\n data-testid={testId}\n >\n {isMonthView &&\n DoWs.map(dow => (\n <Text key={dow} size={14} className={styles.dow}>\n {dow}\n </Text>\n ))}\n\n {tiles.map(date => {\n const isSame = isMonthView ? isSameDay : isSameMonth;\n const tileParams = { activeStartDate, date };\n\n const isDisabled =\n (minDate && date.getTime() < minDate?.getTime()) ||\n (maxDate && date.getTime() > maxDate?.getTime()) ||\n !!tileDisabled?.(tileParams);\n\n const isNeighbour = isMonthView ? date.getMonth() !== activeStartDate.getMonth() : false;\n\n const isToday = isSame(nowPeriodStart, date);\n\n const isSelected =\n isSame(date, selected) || isSame(date, rangeStartDate) || isSame(date, rangeEndDate);\n\n const rangeEnd = getMaxDate(rangeEndDate || rangeHoveredDate, rangeStartDate);\n const rangeStart = getMinDate(rangeEndDate || rangeHoveredDate, rangeStartDate);\n const isRangeStart = isSame(rangeStart, date);\n const isRangeEnd = isSame(rangeEnd, date);\n const isInRange =\n rangeStart &&\n rangeEnd &&\n rangeStart.getTime() < date.getTime() &&\n rangeEnd.getTime() > date.getTime();\n const isRange = isRangeStart || isRangeEnd || isInRange;\n\n return (\n <button\n className={classNames(\n styles.button,\n !isMonthView && styles.monthButton,\n isDisabled && styles.disabled,\n isNeighbour && styles.neighbourMonth,\n isToday && styles.today,\n isSelected && styles.selected,\n isRange && styles.range,\n isRangeStart && styles.rangeStart,\n isRangeEnd && styles.rangeEnd,\n getTileClassName?.(tileParams)\n )}\n key={`${activeStartDate.getTime()}-${date.getTime()}`}\n disabled={isDisabled}\n onClick={() => onChange(date)}\n onMouseEnter={setHoveredDate ? () => setHoveredDate(date) : undefined}\n >\n <span className={styles.buttonContent}>\n {view === 'month' ? date.getDate() : MonthOptions[date.getMonth()].fullTitle}\n </span>\n </button>\n );\n })}\n </div>\n );\n};\n"],"names":["DoWs","_ref","activeStartDate","setHoveredDate","minDate","maxDate","tileDisabled","onChange","_ref$view","view","rangeStartDate","rangeEndDate","rangeHoveredDate","selected","getTileClassName","className","testId","isMonthView","nowPeriodStart","moment","startOf","toDate","tiles","useMemo","monthStartMoment","weekStartMoment","day","subtract","add","Array","fill","undefined","map","_","index","clone","yearStartMoment","clearRangeHoveredDate","useCallback","_jsxs","classNames","styles","root","yearView","onMouseLeave","children","dow","_jsx","Text","size","date","isSame","isSameDay","isSameMonth","tileParams","isDisabled","getTime","isNeighbour","getMonth","isToday","isSelected","rangeEnd","getMaxDate","rangeStart","getMinDate","isRangeStart","isRangeEnd","isInRange","isRange","button","monthButton","disabled","neighbourMonth","today","range","onClick","onMouseEnter","jsx","buttonContent","getDate","MonthOptions","fullTitle"],"mappings":"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"}
1
+ {"version":3,"file":"CalendarGrid.js","sources":["../../../../../src/componentsV2/DatePicker/CalendarGrid/CalendarGrid.tsx"],"sourcesContent":["import { useCallback, useMemo } from 'react';\nimport moment from 'moment';\nimport classNames from 'classnames';\n\nimport { Text } from '../../Text';\nimport {\n DatePickerCalendarView,\n getMaxDate,\n getMinDate,\n isSameDay,\n isSameMonth,\n MonthOptions,\n} from '../utils';\n\nimport styles from './CalendarGrid.scss';\n\nexport type CalendarGridProps = {\n onChange: (value: Date) => void;\n activeStartDate: Date;\n view?: DatePickerCalendarView;\n setHoveredDate?: (date?: Date) => void;\n maxDate?: Date;\n minDate?: Date;\n tileDisabled?: (args: { activeStartDate: Date; date: Date }) => boolean;\n getTileClassName?: (args: { activeStartDate: Date; date: Date }) => string;\n selected?: Date;\n rangeStartDate?: Date;\n rangeEndDate?: Date;\n rangeHoveredDate?: Date;\n\n className?: string;\n testId?: string;\n};\n\nconst DoWs = ['Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa', 'Su'];\n\n// ⚠️ Part of public API, exported as DatePicker.Grid\nexport const CalendarGrid = ({\n activeStartDate,\n setHoveredDate,\n minDate,\n maxDate,\n tileDisabled,\n onChange,\n view = 'month',\n rangeStartDate,\n rangeEndDate,\n rangeHoveredDate,\n selected,\n getTileClassName,\n className,\n testId,\n}: CalendarGridProps) => {\n const isMonthView = view === 'month';\n\n const nowPeriodStart = moment()\n .startOf(isMonthView ? 'day' : 'month')\n .toDate();\n\n // 4 weeks from earliest monday\n const tiles = useMemo(() => {\n if (isMonthView) {\n const monthStartMoment = moment(activeStartDate).startOf('month'); // Monday\n\n const weekStartMoment =\n monthStartMoment.day() === 0\n ? monthStartMoment.subtract(6, 'days')\n : monthStartMoment\n .startOf('week') // Sunday\n .add(1, 'days');\n\n return new Array(42)\n .fill(undefined)\n .map((_, index): Date => weekStartMoment.clone().add(index, 'days').toDate());\n } else {\n const yearStartMoment = moment(activeStartDate).startOf('year');\n return new Array(12)\n .fill(undefined)\n .map((_, index) => yearStartMoment.clone().add(index, 'months').toDate());\n }\n }, [activeStartDate, isMonthView]);\n\n const clearRangeHoveredDate = useCallback(() => setHoveredDate?.(undefined), [setHoveredDate]);\n\n return (\n <div\n className={classNames(styles.root, !isMonthView && styles.yearView, className)}\n onMouseLeave={clearRangeHoveredDate}\n data-testid={testId}\n >\n {isMonthView &&\n DoWs.map(dow => (\n <Text key={dow} size={14} className={styles.dow} color=\"T6\">\n {dow}\n </Text>\n ))}\n\n {tiles.map(date => {\n const isSame = isMonthView ? isSameDay : isSameMonth;\n const tileParams = { activeStartDate, date };\n\n const isDisabled =\n (minDate && date.getTime() < minDate?.getTime()) ||\n (maxDate && date.getTime() > maxDate?.getTime()) ||\n !!tileDisabled?.(tileParams);\n\n const isNeighbour = isMonthView ? date.getMonth() !== activeStartDate.getMonth() : false;\n\n const isToday = isSame(nowPeriodStart, date);\n\n const isSelected =\n isSame(date, selected) || isSame(date, rangeStartDate) || isSame(date, rangeEndDate);\n\n const rangeEnd = getMaxDate(rangeEndDate || rangeHoveredDate, rangeStartDate);\n const rangeStart = getMinDate(rangeEndDate || rangeHoveredDate, rangeStartDate);\n const isRangeStart = isSame(rangeStart, date);\n const isRangeEnd = isSame(rangeEnd, date);\n const isInRange =\n rangeStart &&\n rangeEnd &&\n rangeStart.getTime() < date.getTime() &&\n rangeEnd.getTime() > date.getTime();\n const isRange = isRangeStart || isRangeEnd || isInRange;\n\n return (\n <button\n className={classNames(\n styles.button,\n !isMonthView && styles.monthButton,\n isDisabled && styles.disabled,\n isNeighbour && styles.neighbourMonth,\n isToday && styles.today,\n isSelected && styles.selected,\n isRange && styles.range,\n isRangeStart && styles.rangeStart,\n isRangeEnd && styles.rangeEnd,\n getTileClassName?.(tileParams)\n )}\n key={`${activeStartDate.getTime()}-${date.getTime()}`}\n disabled={isDisabled}\n onClick={() => onChange(date)}\n onMouseEnter={setHoveredDate ? () => setHoveredDate(date) : undefined}\n >\n <span className={styles.buttonContent}>\n {view === 'month' ? date.getDate() : MonthOptions[date.getMonth()].title}\n </span>\n </button>\n );\n })}\n </div>\n );\n};\n"],"names":["DoWs","_ref","activeStartDate","setHoveredDate","minDate","maxDate","tileDisabled","onChange","_ref$view","view","rangeStartDate","rangeEndDate","rangeHoveredDate","selected","getTileClassName","className","testId","isMonthView","nowPeriodStart","moment","startOf","toDate","tiles","useMemo","monthStartMoment","weekStartMoment","day","subtract","add","Array","fill","undefined","map","_","index","clone","yearStartMoment","clearRangeHoveredDate","useCallback","_jsxs","classNames","styles","root","yearView","onMouseLeave","children","dow","_jsx","Text","size","color","date","isSame","isSameDay","isSameMonth","tileParams","isDisabled","getTime","isNeighbour","getMonth","isToday","isSelected","rangeEnd","getMaxDate","rangeStart","getMinDate","isRangeStart","isRangeEnd","isInRange","isRange","button","monthButton","disabled","neighbourMonth","today","range","onClick","onMouseEnter","jsx","buttonContent","getDate","MonthOptions","title"],"mappings":"6VAkCMA,EAAO,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,2BAGtB,SAeHC,GAAA,IAdvBC,IAAAA,gBACAC,IAAAA,eACAC,IAAAA,QACAC,IAAAA,QACAC,IAAAA,aACAC,IAAAA,SAAQC,EAAAP,EACRQ,KAAAA,aAAO,QAAOD,EACdE,IAAAA,eACAC,IAAAA,aACAC,IAAAA,iBACAC,IAAAA,SACAC,IAAAA,iBACAC,IAAAA,UACAC,IAAAA,OAEMC,EAAuB,UAATR,EAEdS,EAAiBC,EAAM,UAC1BC,QAAQH,EAAc,MAAQ,SAC9BI,SAGGC,EAAQC,EAAAA,SAAQ,WACpB,GAAIN,EAAa,CACf,IAAMO,EAAmBL,EAAAA,QAAOjB,GAAiBkB,QAAQ,SAEnDK,EACuB,IAA3BD,EAAiBE,MACbF,EAAiBG,SAAS,EAAG,QAC7BH,EACGJ,QAAQ,QACRQ,IAAI,EAAG,QAEhB,OAAO,IAAIC,MAAM,IACdC,UAAKC,GACLC,KAAI,SAACC,EAAGC,GAAK,OAAWT,EAAgBU,QAAQP,IAAIM,EAAO,QAAQb,WACxE,CACE,IAAMe,EAAkBjB,EAAAA,QAAOjB,GAAiBkB,QAAQ,QACxD,OAAO,IAAIS,MAAM,IACdC,UAAKC,GACLC,KAAI,SAACC,EAAGC,GAAK,OAAKE,EAAgBD,QAAQP,IAAIM,EAAO,UAAUb,WAEtE,GAAG,CAACnB,EAAiBe,IAEfoB,EAAwBC,EAAAA,aAAY,WAAA,OAAMnC,eAAAA,OAAiB4B,KAAY,CAAC5B,IAE9E,OACEoC,EAAAA,KAAA,MAAA,CACExB,UAAWyB,EAAAA,QAAWC,EAAOC,MAAOzB,GAAewB,EAAOE,SAAU5B,GACpE6B,aAAcP,EACd,cAAarB,EAAO6B,SAAA,CAEnB5B,GACCjB,EAAKgC,KAAI,SAAAc,GAAG,OACVC,EAAAA,IAACC,EAAAA,KAAI,CAAWC,KAAM,GAAIlC,UAAW0B,EAAOK,IAAKI,MAAM,KAAIL,SACxDC,GADQA,EAGZ,IAEFxB,EAAMU,KAAI,SAAAmB,GACT,IAAMC,EAASnC,EAAcoC,EAASA,UAAGC,cACnCC,EAAa,CAAErD,gBAAAA,EAAiBiD,KAAAA,GAEhCK,EACHpD,GAAW+C,EAAKM,WAAYrD,aAAO,EAAPA,EAASqD,YACrCpD,GAAW8C,EAAKM,WAAYpD,eAAAA,EAASoD,cACpCnD,UAAAA,EAAeiD,IAEbG,IAAczC,GAAckC,EAAKQ,aAAezD,EAAgByD,WAEhEC,EAAUR,EAAOlC,EAAgBiC,GAEjCU,EACJT,EAAOD,EAAMtC,IAAauC,EAAOD,EAAMzC,IAAmB0C,EAAOD,EAAMxC,GAEnEmD,EAAWC,EAAUA,WAACpD,GAAgBC,EAAkBF,GACxDsD,EAAaC,EAAUA,WAACtD,GAAgBC,EAAkBF,GAC1DwD,EAAed,EAAOY,EAAYb,GAClCgB,EAAaf,EAAOU,EAAUX,GAC9BiB,EACJJ,GACAF,GACAE,EAAWP,UAAYN,EAAKM,WAC5BK,EAASL,UAAYN,EAAKM,UACtBY,EAAUH,GAAgBC,GAAcC,EAE9C,OACErB,EAAAA,IAAA,SAAA,CACEhC,UAAWyB,EAAU,QACnBC,EAAO6B,QACNrD,GAAewB,EAAO8B,YACvBf,GAAcf,EAAO+B,SACrBd,GAAejB,EAAOgC,eACtBb,GAAWnB,EAAOiC,MAClBb,GAAcpB,EAAO5B,SACrBwD,GAAW5B,EAAOkC,MAClBT,GAAgBzB,EAAOuB,WACvBG,GAAc1B,EAAOqB,SACrBhD,aAAAA,EAAAA,EAAmByC,IAGrBiB,SAAUhB,EACVoB,QAAS,WAAA,OAAMrE,EAAS4C,EAAM,EAC9B0B,aAAc1E,EAAiB,WAAA,OAAMA,EAAegD,EAAK,OAAGpB,EAAUc,SAEtEE,EAAA+B,IAAA,OAAA,CAAM/D,UAAW0B,EAAOsC,cAAclC,SAC1B,UAATpC,EAAmB0C,EAAK6B,UAAYC,EAAAA,aAAa9B,EAAKQ,YAAYuB,SAN7DhF,GAAAA,OAAAA,EAAgBuD,sBAAaN,EAAKM,WAUhD,MAGN"}
@@ -1,2 +1,2 @@
1
- "use strict";require('./../../../ext-esm/style-inject/dist/style-inject.es.js')('.CalendarGrid_root__fvX0f{align-content:center;display:flex;flex-flow:row wrap;font-family:Roboto,sans-serif;max-width:100%;padding:8px 0 16px;width:280px}.CalendarGrid_yearView__TSlCV{gap:16px 0;height:264px;padding:0}.CalendarGrid_button__MhWHl,.CalendarGrid_dow__59Krn{line-height:40px;text-align:center;width:40px}.CalendarGrid_button__MhWHl{background:transparent;border:none;color:var(--palette-primary-text-1);cursor:pointer;font:inherit;font-size:14px;font-weight:400;height:40px;outline:none;padding:0;position:relative;transition:color .15s cubic-bezier(.4,0,.2,1);user-select:none}.CalendarGrid_button__MhWHl:hover{--DatePicker-tileColor:var(--palette-background-b-9)}.CalendarGrid_button__MhWHl:active{--DatePicker-tileColor:var(--palette-background-b-10)}.CalendarGrid_button__MhWHl:after{background:var(--DatePicker-tileColor);border-radius:8px;content:"";inset:4px;position:absolute;transition:background .15s cubic-bezier(.4,0,.2,1);z-index:0}.CalendarGrid_monthButton__66gNn{width:33.3333%}.CalendarGrid_disabled__n2rm2{cursor:auto;pointer-events:none}.CalendarGrid_disabled__n2rm2,.CalendarGrid_neighbourMonth__RNirJ{color:var(--palette-primary-text-9)}.CalendarGrid_today__--HqO{color:var(--palette-primary-main)}.CalendarGrid_selected__F-b13,.CalendarGrid_selected__F-b13:active,.CalendarGrid_selected__F-b13:hover{--DatePicker-tileColor:var(--palette-primary-main);color:var(--palette-background-b-4)}.CalendarGrid_range__Z17Z-:before{background:rgb(from var(--palette-primary-main) r g b/.08);content:"";inset:4px 0;position:absolute;z-index:0}.CalendarGrid_rangeStart__DOTSX:before{border-bottom-left-radius:8px;border-top-left-radius:8px;left:4px}.CalendarGrid_rangeEnd__3VzoI:before{border-bottom-right-radius:8px;border-top-right-radius:8px;right:4px}.CalendarGrid_buttonContent__eNBhK{position:relative;z-index:1}'),module.exports={spacing:"8",root:"CalendarGrid_root__fvX0f",yearView:"CalendarGrid_yearView__TSlCV",dow:"CalendarGrid_dow__59Krn",button:"CalendarGrid_button__MhWHl",monthButton:"CalendarGrid_monthButton__66gNn",disabled:"CalendarGrid_disabled__n2rm2",neighbourMonth:"CalendarGrid_neighbourMonth__RNirJ",today:"CalendarGrid_today__--HqO",selected:"CalendarGrid_selected__F-b13",range:"CalendarGrid_range__Z17Z-",rangeStart:"CalendarGrid_rangeStart__DOTSX",rangeEnd:"CalendarGrid_rangeEnd__3VzoI",buttonContent:"CalendarGrid_buttonContent__eNBhK"};
1
+ "use strict";require('./../../../ext-esm/style-inject/dist/style-inject.es.js')('.CalendarGrid_root__fvX0f{align-content:center;display:flex;flex-flow:row wrap;font-family:Roboto,sans-serif;max-width:100%;padding:8px 0;width:280px}.CalendarGrid_yearView__TSlCV{gap:16px 0;height:264px;padding:0}.CalendarGrid_dow__59Krn{line-height:20px;text-align:center;width:40px}.CalendarGrid_button__MhWHl{background:transparent;border:none;color:var(--palette-primary-text-1);cursor:pointer;font:inherit;font-size:14px;font-weight:400;height:40px;line-height:40px;outline:none;padding:0;position:relative;text-align:center;transition:color .15s cubic-bezier(.4,0,.2,1);user-select:none;width:40px}.CalendarGrid_button__MhWHl:hover{--DatePicker-tileColor:rgb(from var(--palette-primary-text-1) r g b/0.08)}.CalendarGrid_button__MhWHl:active{--DatePicker-tileColor:rgb(from var(--palette-primary-text-1) r g b/0.16)}.CalendarGrid_button__MhWHl:after{background:var(--DatePicker-tileColor);border-radius:8px;content:"";inset:4px;position:absolute;transition:background .15s cubic-bezier(.4,0,.2,1);z-index:0}.CalendarGrid_monthButton__66gNn{width:33.3333%}.CalendarGrid_disabled__n2rm2{cursor:auto;pointer-events:none}.CalendarGrid_disabled__n2rm2,.CalendarGrid_neighbourMonth__RNirJ{color:var(--palette-primary-text-9)}.CalendarGrid_today__--HqO{color:var(--palette-primary-main)}.CalendarGrid_selected__F-b13,.CalendarGrid_selected__F-b13:active,.CalendarGrid_selected__F-b13:hover{--DatePicker-tileColor:var(--palette-primary-main);color:var(--palette-background-b-4)}.CalendarGrid_range__Z17Z-:before{background:rgb(from var(--palette-primary-main) r g b/.08);content:"";inset:4px 0;position:absolute;z-index:0}.CalendarGrid_rangeStart__DOTSX:before{border-bottom-left-radius:8px;border-top-left-radius:8px;left:4px}.CalendarGrid_rangeEnd__3VzoI:before{border-bottom-right-radius:8px;border-top-right-radius:8px;right:4px}.CalendarGrid_buttonContent__eNBhK{position:relative;z-index:1}'),module.exports={spacing:"8",root:"CalendarGrid_root__fvX0f",yearView:"CalendarGrid_yearView__TSlCV",dow:"CalendarGrid_dow__59Krn",button:"CalendarGrid_button__MhWHl",monthButton:"CalendarGrid_monthButton__66gNn",disabled:"CalendarGrid_disabled__n2rm2",neighbourMonth:"CalendarGrid_neighbourMonth__RNirJ",today:"CalendarGrid_today__--HqO",selected:"CalendarGrid_selected__F-b13",range:"CalendarGrid_range__Z17Z-",rangeStart:"CalendarGrid_rangeStart__DOTSX",rangeEnd:"CalendarGrid_rangeEnd__3VzoI",buttonContent:"CalendarGrid_buttonContent__eNBhK"};
2
2
  //# sourceMappingURL=CalendarGrid.scss.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/defineProperty"),t=require("@babel/runtime/helpers/slicedToArray"),r=require("react"),a=require("moment"),n=require("../Popover/Popover.js"),i=require("./CalendarControls/CalendarControls.js"),l=require("./TimePicker/TimePicker.js"),s=require("./Input/Input.js"),o=require("./utils.js"),u=require("./CalendarGrid/CalendarGrid.js"),d=require("./DatePicker.scss.js"),c=require("react/jsx-runtime");function f(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var m=f(e),v=f(t),p=f(a);function D(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function b(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?D(Object(r),!0).forEach((function(t){m.default(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):D(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var y=function(e){var t=e.value,r=e.minDate,a=e.maxDate,n=(Array.isArray(t)?t[0]:t)||new Date;return r&&n.getTime()<r.getTime()?r:a&&n.getTime()>a.getTime()?a:n},C=function(e){var t=e.label,a=e.value,f=e.maxDate,m=e.minDate,D=e.className,b=e.testId,C=e.onChange,j=e.readOnly,g=e.type,O=void 0===g?"date":g,h=e.range,x=e.getTileClassName,T=e.getTileDisabled,P=e.placeholder,S=e.format,k=e.focusOnClear,N=void 0===k||k,q=e.labelPlacement,A=void 0===q?"top":q,w=e.size,G=void 0===w?"small":w,E=e.elementsClassNames,I=e.isNext,M=e.clearable,z=void 0===M||M,H=r.useRef(null),R=r.useRef(null),V=r.useState(!1),_=v.default(V,2),F=_[0],B=_[1],J=r.useState(y({maxDate:f,minDate:m,value:a})),K=v.default(J,2),L=K[0],Q=K[1],U=r.useState(),W=v.default(U,2),X=W[0],Y=W[1],Z=r.useState("startDate"),$=v.default(Z,2),ee=$[0],te=$[1],re=r.useState(),ae=v.default(re,2),ne=ae[0],ie=ae[1],le=r.useState(),se=v.default(le,2),oe=se[0],ue=se[1],de="dateTime"===O&&!!h,ce=r.useState(),fe=v.default(ce,2),me=fe[0],ve=fe[1],pe=r.useCallback((function(){Y(void 0),te("startDate"),ie(void 0),ue(void 0)}),[]),De=r.useCallback((function(){return B(!0)}),[]),be=r.useCallback((function(){pe(),B(!1)}),[pe]),ye=r.useMemo((function(){return h?void 0:X||a}),[h,X,a]),Ce=r.useMemo((function(){return!de||"startTime"!==ee&&"endTime"!==ee?ye&&!Array.isArray(ye)?ye:void 0:oe||ne}),[de,ee,ye,oe,ne]),je=r.useCallback((function(e,t){var r;"startDate"===t||"startTime"===t?(te("startTime"),ie(e),ue(void 0)):"endDate"!==t&&"endTime"!==t||(te("endTime"),ue(e)),null===(r=R.current)||void 0===r||r.flash()}),[]),ge=r.useCallback((function(e,t,r,a){if("endDate"===r){var n=p.default(e).endOf("month"===a?"month":"day").toDate(),i=o.getMinDate(n,t),l=o.getMaxDate(n,t);return i&&l?[i,l]:void 0}"startDate"===r&&(ie(e),ue(void 0),te("endDate"))}),[]),Oe=r.useCallback((function(e){if(Array.isArray(e)||!e)throw new Error("Value is array or `null`, but should not be");if(de)je(e,ee);else if("dateTime"===O){var t;Y(e),null===(t=R.current)||void 0===t||t.flash()}else if(h){var r=ge(e,ne,ee,O);r&&(null==C||C(r),be())}else!h&&e&&(null==C||C(e),be())}),[de,O,h,je,ee,ge,ne,C,be]),he=r.useCallback((function(e){if(de){if("startTime"===ee)te("endDate"),ie((function(t){return t&&o.applyOffsetSeconds(t,e)}));else if("endTime"===ee&&oe&&ne){var t=o.applyOffsetSeconds(oe,e);null==C||C(ne<t?[ne,t]:[t,ne]),be()}}else if(ye&&!Array.isArray(ye)){var r=o.applyOffsetSeconds(ye,e);null==C||C(r),be()}}),[de,ye,ee,oe,ne,C,be]);return r.useEffect((function(){if(F){var e=Array.isArray(a);Q(y({maxDate:f,minDate:m,value:a})),h&&e&&a[0]&&a[1]&&(ie(a[0]),ue(a[1]),te("startDate"))}}),[F,a,m,f,h]),c.jsxs(c.Fragment,{children:[c.jsx(s.Input,{open:De,isOpen:F,className:D,testId:b,value:a,label:t,placeholder:P,ref:H,format:S,range:h,type:O,setValue:C,readOnly:j,focusOnClear:N,labelPlacement:A,size:G,elementsClassNames:E,isNext:I,clearable:z}),L&&c.jsxs(n.Popover,{anchorEl:H.current,onClose:be,open:F,className:d.popover,children:[c.jsxs("div",{children:[c.jsx(i.CalendarControls,{date:L,setDate:Q,minDate:m,maxDate:f,view:"month"===O?"year":"month",className:d.controls}),c.jsx(u.CalendarGrid,{onChange:Oe,activeStartDate:L,view:"month"===O?"year":"month",maxDate:f,minDate:m,tileDisabled:T,selected:ye,rangeStartDate:ne,rangeEndDate:oe,rangeHoveredDate:"endDate"===ee?me:void 0,setHoveredDate:ve,getTileClassName:x,className:d.grid})]}),"dateTime"===O&&c.jsx(l.TimePicker,{value:Ce,onChange:he,ref:R})]})]})},j=function(e){return C(b(b({},e),{},{isNext:!1}))};j.Controls=i.CalendarControls,j.Grid=u.CalendarGrid;var g=j,O=function(e){return C(b(b({},e),{},{isNext:!0}))};O.Controls=i.CalendarControls,O.Grid=u.CalendarGrid;var h=O;exports.DatePicker=g,exports.DatePickerNext=h,exports.getActiveStartDate=y;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/defineProperty"),t=require("@babel/runtime/helpers/slicedToArray"),a=require("react"),r=require("moment"),n=require("../Popover/Popover.js"),i=require("./CalendarControls/CalendarControls.js"),l=require("./Input/Input.js"),s=require("./utils.js"),o=require("./CalendarGrid/CalendarGrid.js"),u=require("./TimePicker/TimePicker.js"),c=require("./DatePicker.scss.js"),d=require("react/jsx-runtime");function m(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var f=m(e),D=m(t),v=m(r);function p(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function b(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?p(Object(a),!0).forEach((function(t){f.default(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):p(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}var C=function(e){var t=e.value,a=e.minDate,r=e.maxDate,n=(Array.isArray(t)?t[0]:t)||new Date;return a&&n.getTime()<a.getTime()?a:r&&n.getTime()>r.getTime()?r:n},g=function(e){var t=e.label,r=e.value,m=e.maxDate,f=e.minDate,p=e.className,b=e.testId,g=e.onChange,y=e.readOnly,j=e.type,x=void 0===j?"date":j,T=e.range,O=e.getTileClassName,h=e.getTileDisabled,P=e.placeholder,k=e.format,S=e.focusOnClear,N=void 0===S||S,q=e.labelPlacement,w=void 0===q?"top":q,A=e.size,G=void 0===A?"small":A,M=e.elementsClassNames,I=e.isNext,E=e.clearable,W=void 0===E||E,z=a.useRef(null),R=a.useState(!1),_=D.default(R,2),F=_[0],V=_[1],B=a.useState(C({maxDate:m,minDate:f,value:r})),H=D.default(B,2),J=H[0],K=H[1],L=a.useState(),Q=D.default(L,2),U=Q[0],X=Q[1],Y=a.useState("startDate"),Z=D.default(Y,2),$=Z[0],ee=Z[1],te=a.useState(Array.isArray(r)?r[0]:void 0),ae=D.default(te,2),re=ae[0],ne=ae[1],ie=a.useState(Array.isArray(r)?r[1]:void 0),le=D.default(ie,2),se=le[0],oe=le[1],ue="dateTime"===x&&!!T,ce=a.useCallback((function(){X(void 0),ee("startDate")}),[]),de=a.useCallback((function(){F||(ce(),V(!0))}),[ce,F]),me=a.useCallback((function(){ce(),V(!1)}),[ce]),fe=a.useCallback((function(){var e,t;T&&re&&se&&(re.getTime()!==(null==r||null===(e=r[0])||void 0===e?void 0:e.getTime())||se.getTime()!==(null==r||null===(t=r[1])||void 0===t?void 0:t.getTime()))?null==g||g(re<se?[re,se]:[se,re]):U&&U.getTime()!==(null==r?void 0:r.getTime())&&(null==g||g(U)),me()}),[me,g,T,se,re,U,r]),De=a.useMemo((function(){return T?"startDate"===$?re:se:U||r}),[T,se,re,$,U,r]),ve=a.useCallback((function(e){"startDate"===e&&re?K(re):se&&K(se),ee(e)}),[se,re]),pe=a.useCallback((function(e,t){"startDate"===t?ne((function(t){return s.getDateWithSameTime(e,t)})):"endDate"===t&&oe((function(t){return s.getDateWithSameTime(e,t)}))}),[]),be=a.useCallback((function(e,t,a,r){if("endDate"===a){var n=v.default(e).endOf("month"===r?"month":"day").toDate(),i=s.getMinDate(n,t),l=s.getMaxDate(n,t);return i&&l?[i,l]:void 0}"startDate"===a&&(ne(e),ve("endDate"))}),[ve]),Ce=a.useCallback((function(e){if(ue)pe(e,$);else if("dateTime"===x)X(s.getDateWithSameTime(e,De));else if(T){var t=be(e,re,$,x);t&&(null==g||g(t),me())}else T||(null==g||g(e),me())}),[ue,x,T,pe,$,De,be,re,g,me]),ge=a.useCallback((function(e){ue?"startDate"===$?ne(e):oe(e):De&&X(e)}),[ue,De,$]),ye=a.useCallback((function(){if(ue){if("startDate"===$)ve("endDate");else if(re&&se){null==g||g(re<se?[re,se]:[se,re]),me()}}else De&&(null==g||g(De),me())}),[ve,me,De,ue,g,se,re,$]),je=a.useMemo((function(){var e=new Date,t=C({maxDate:m,minDate:f,value:e});return F&&s.isSameDay(t,e)?function(){return K(t)}:void 0}),[F,m,f]),xe=a.useMemo((function(){if(("startDate"!==$||re)&&("endDate"!==$||se))return function(){"startDate"===$?ne(void 0):oe(void 0),K(C({maxDate:m,minDate:f}))}}),[m,f,se,re,$]);return a.useEffect((function(){F&&K(C({maxDate:m,minDate:f,value:r}));var e=Array.isArray(r);T&&(ne(e?r[0]:void 0),oe(e?r[1]:void 0),ee("startDate"))}),[F,r,f,m,T]),d.jsxs(d.Fragment,{children:[d.jsx(l.Input,{open:de,isOpen:F,className:p,testId:b,value:T?[re,se]:r,label:t,placeholder:P,ref:z,format:k,range:T,rangeStep:$,setRangeStep:ve,type:x,setValue:g,readOnly:y,focusOnClear:N,labelPlacement:w,size:G,elementsClassNames:M,isNext:I,clearable:W}),J&&d.jsxs(n.Popover,{anchorEl:z.current,onClose:fe,open:F,className:c.popover,popperClassName:c.popper,children:[d.jsx(i.CalendarControls,{date:J,setDate:K,minDate:f,maxDate:m,view:"month"===x?"year":"month",className:c.controls}),d.jsx(o.CalendarGrid,{onChange:Ce,activeStartDate:J,view:"month"===x?"year":"month",maxDate:m,minDate:f,tileDisabled:h,selected:De,getTileClassName:O,className:c.grid}),"dateTime"===x&&d.jsx(u.TimePicker,{value:De,onChange:ge,maxDate:m,minDate:f,clear:xe,goToToday:je,saveTime:ye})]})]})},y=function(e){return g(b(b({},e),{},{isNext:!1}))};y.Controls=i.CalendarControls,y.Grid=o.CalendarGrid;var j=y,x=function(e){return g(b(b({},e),{},{isNext:!0}))};x.Controls=i.CalendarControls,x.Grid=o.CalendarGrid;var T=x;exports.DatePicker=j,exports.DatePickerNext=T,exports.getActiveStartDate=C;
2
2
  //# sourceMappingURL=DatePicker.js.map