guestbell-forms 3.0.17 → 3.0.19

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 (199) hide show
  1. package/.babelrc.js +1 -1
  2. package/build/components/base/input/BaseInput.js +8 -96
  3. package/build/components/base/input/BaseInput.js.map +1 -1
  4. package/build/components/base/input/index.js +0 -2
  5. package/build/components/base/input/index.js.map +1 -1
  6. package/build/components/bookingCalendar/BookingCalendar.js +7 -30
  7. package/build/components/bookingCalendar/BookingCalendar.js.map +1 -1
  8. package/build/components/bookingCalendar/bookingCalendarControls/BookingCalendarControls.js +2 -22
  9. package/build/components/bookingCalendar/bookingCalendarControls/BookingCalendarControls.js.map +1 -1
  10. package/build/components/bookingCalendar/bookingCalendarControls/classes.js.map +1 -1
  11. package/build/components/bookingCalendar/bookingCalendarControls/index.js +0 -4
  12. package/build/components/bookingCalendar/bookingCalendarControls/index.js.map +1 -1
  13. package/build/components/bookingCalendar/bookingCalendarDatePicker/BookingCalendarDatePicker.js +6 -19
  14. package/build/components/bookingCalendar/bookingCalendarDatePicker/BookingCalendarDatePicker.js.map +1 -1
  15. package/build/components/bookingCalendar/bookingCalendarDatePicker/classes.js.map +1 -1
  16. package/build/components/bookingCalendar/bookingCalendarDatePicker/index.js +0 -4
  17. package/build/components/bookingCalendar/bookingCalendarDatePicker/index.js.map +1 -1
  18. package/build/components/bookingCalendar/bookingCalendarGrid/BookingCalendarGrid.d.ts +2 -1
  19. package/build/components/bookingCalendar/bookingCalendarGrid/BookingCalendarGrid.js +11 -10
  20. package/build/components/bookingCalendar/bookingCalendarGrid/BookingCalendarGrid.js.map +1 -1
  21. package/build/components/bookingCalendar/bookingCalendarGrid/classes.js.map +1 -1
  22. package/build/components/bookingCalendar/bookingCalendarItem/BookingCalendarItem.js +0 -9
  23. package/build/components/bookingCalendar/bookingCalendarItem/BookingCalendarItem.js.map +1 -1
  24. package/build/components/bookingCalendar/bookingCalendarItem/classes.js.map +1 -1
  25. package/build/components/bookingCalendar/bookingCalendarItem/index.js +0 -4
  26. package/build/components/bookingCalendar/bookingCalendarItem/index.js.map +1 -1
  27. package/build/components/bookingCalendar/bookingCalendarLane/BookingCalendarLane.js +0 -10
  28. package/build/components/bookingCalendar/bookingCalendarLane/BookingCalendarLane.js.map +1 -1
  29. package/build/components/bookingCalendar/bookingCalendarLane/classes.js.map +1 -1
  30. package/build/components/bookingCalendar/bookingCalendarLane/index.js +0 -4
  31. package/build/components/bookingCalendar/bookingCalendarLane/index.js.map +1 -1
  32. package/build/components/bookingCalendar/bookingCalendarLaneHeader/BookingCalendarLaneHeader.js +0 -7
  33. package/build/components/bookingCalendar/bookingCalendarLaneHeader/BookingCalendarLaneHeader.js.map +1 -1
  34. package/build/components/bookingCalendar/bookingCalendarLaneHeader/classes.js.map +1 -1
  35. package/build/components/bookingCalendar/bookingCalendarLaneHeader/index.js +0 -2
  36. package/build/components/bookingCalendar/bookingCalendarLaneHeader/index.js.map +1 -1
  37. package/build/components/bookingCalendar/bookingCalendarLanesHeader/BookingCalendarLanesHeader.js +0 -12
  38. package/build/components/bookingCalendar/bookingCalendarLanesHeader/BookingCalendarLanesHeader.js.map +1 -1
  39. package/build/components/bookingCalendar/bookingCalendarLanesHeader/BookingCalendarLanesHeaderRenderItem.js +0 -9
  40. package/build/components/bookingCalendar/bookingCalendarLanesHeader/BookingCalendarLanesHeaderRenderItem.js.map +1 -1
  41. package/build/components/bookingCalendar/bookingCalendarLanesHeader/classes.js.map +1 -1
  42. package/build/components/bookingCalendar/bookingCalendarLanesHeader/index.js +0 -4
  43. package/build/components/bookingCalendar/bookingCalendarLanesHeader/index.js.map +1 -1
  44. package/build/components/bookingCalendar/bookingCalendarRenderItem/BookingCalendarRenderItem.js +0 -9
  45. package/build/components/bookingCalendar/bookingCalendarRenderItem/BookingCalendarRenderItem.js.map +1 -1
  46. package/build/components/bookingCalendar/bookingCalendarRenderItem/classes.js.map +1 -1
  47. package/build/components/bookingCalendar/bookingCalendarRenderItem/index.js +0 -2
  48. package/build/components/bookingCalendar/bookingCalendarRenderItem/index.js.map +1 -1
  49. package/build/components/bookingCalendar/bookingCalendarSelection/BookingCalendarSelection.js +0 -30
  50. package/build/components/bookingCalendar/bookingCalendarSelection/BookingCalendarSelection.js.map +1 -1
  51. package/build/components/bookingCalendar/bookingCalendarTimeAxis/BookingCalendarTimeAxis.js +0 -7
  52. package/build/components/bookingCalendar/bookingCalendarTimeAxis/BookingCalendarTimeAxis.js.map +1 -1
  53. package/build/components/bookingCalendar/bookingCalendarTimeAxis/classes.js.map +1 -1
  54. package/build/components/bookingCalendar/classes.js.map +1 -1
  55. package/build/components/bookingCalendar/common.js +0 -9
  56. package/build/components/bookingCalendar/common.js.map +1 -1
  57. package/build/components/bookingCalendar/index.js +0 -6
  58. package/build/components/bookingCalendar/index.js.map +1 -1
  59. package/build/components/bookingCalendar/utils.js +5 -50
  60. package/build/components/bookingCalendar/utils.js.map +1 -1
  61. package/build/components/button/Button.js +9 -37
  62. package/build/components/button/Button.js.map +1 -1
  63. package/build/components/button/index.js +0 -4
  64. package/build/components/button/index.js.map +1 -1
  65. package/build/components/checkbox/Checkbox.js +5 -35
  66. package/build/components/checkbox/Checkbox.js.map +1 -1
  67. package/build/components/checkbox/index.js +0 -4
  68. package/build/components/checkbox/index.js.map +1 -1
  69. package/build/components/dropdown/Dropdown.js +1 -15
  70. package/build/components/dropdown/Dropdown.js.map +1 -1
  71. package/build/components/dropdown/index.js +0 -4
  72. package/build/components/dropdown/index.js.map +1 -1
  73. package/build/components/dynamicSubmit/DynamicSubmit.js +7 -39
  74. package/build/components/dynamicSubmit/DynamicSubmit.js.map +1 -1
  75. package/build/components/dynamicSubmit/index.js +0 -4
  76. package/build/components/dynamicSubmit/index.js.map +1 -1
  77. package/build/components/externalValidationComponent/ExternalValidationComponent.js +6 -17
  78. package/build/components/externalValidationComponent/ExternalValidationComponent.js.map +1 -1
  79. package/build/components/externalValidationComponent/index.js +0 -4
  80. package/build/components/externalValidationComponent/index.js.map +1 -1
  81. package/build/components/form/Form.js +8 -46
  82. package/build/components/form/Form.js.map +1 -1
  83. package/build/components/form/FormContext.js +0 -4
  84. package/build/components/form/FormContext.js.map +1 -1
  85. package/build/components/form/FormValidationSummary.js +3 -25
  86. package/build/components/form/FormValidationSummary.js.map +1 -1
  87. package/build/components/form/index.js +0 -10
  88. package/build/components/form/index.js.map +1 -1
  89. package/build/components/form/withFormContext.js +0 -6
  90. package/build/components/form/withFormContext.js.map +1 -1
  91. package/build/components/inputGroup/InputGroup.js +5 -15
  92. package/build/components/inputGroup/InputGroup.js.map +1 -1
  93. package/build/components/inputGroup/index.js +0 -4
  94. package/build/components/inputGroup/index.js.map +1 -1
  95. package/build/components/inputHeader/InputHeader.js +16 -75
  96. package/build/components/inputHeader/InputHeader.js.map +1 -1
  97. package/build/components/inputHeader/InputHeaderContext.js +0 -4
  98. package/build/components/inputHeader/InputHeaderContext.js.map +1 -1
  99. package/build/components/inputHeader/index.js +0 -4
  100. package/build/components/inputHeader/index.js.map +1 -1
  101. package/build/components/inputHeader/withInputHeaderContext.js +0 -6
  102. package/build/components/inputHeader/withInputHeaderContext.js.map +1 -1
  103. package/build/components/money/Money.js +20 -64
  104. package/build/components/money/Money.js.map +1 -1
  105. package/build/components/money/index.js +0 -4
  106. package/build/components/money/index.js.map +1 -1
  107. package/build/components/numberInput/NumberInput.js +13 -44
  108. package/build/components/numberInput/NumberInput.js.map +1 -1
  109. package/build/components/numberInput/index.js +0 -4
  110. package/build/components/numberInput/index.js.map +1 -1
  111. package/build/components/openingHours/openingHoursDay/OpeningHoursDay.js +13 -62
  112. package/build/components/openingHours/openingHoursDay/OpeningHoursDay.js.map +1 -1
  113. package/build/components/openingHours/openingHoursDay/index.js +0 -4
  114. package/build/components/openingHours/openingHoursDay/index.js.map +1 -1
  115. package/build/components/openingHours/openingHoursSpecial/OpeningHoursSpecial.js +18 -49
  116. package/build/components/openingHours/openingHoursSpecial/OpeningHoursSpecial.js.map +1 -1
  117. package/build/components/openingHours/openingHoursSpecial/index.js +0 -4
  118. package/build/components/openingHours/openingHoursSpecial/index.js.map +1 -1
  119. package/build/components/openingHours/openingHoursWeek/OpeningHoursWeek.js +16 -53
  120. package/build/components/openingHours/openingHoursWeek/OpeningHoursWeek.js.map +1 -1
  121. package/build/components/openingHours/openingHoursWeek/index.js +0 -4
  122. package/build/components/openingHours/openingHoursWeek/index.js.map +1 -1
  123. package/build/components/openingHours/utils/OpeningHoursUtil.js +3 -21
  124. package/build/components/openingHours/utils/OpeningHoursUtil.js.map +1 -1
  125. package/build/components/radio/Radio.js +4 -19
  126. package/build/components/radio/Radio.js.map +1 -1
  127. package/build/components/radio/index.js +0 -4
  128. package/build/components/radio/index.js.map +1 -1
  129. package/build/components/radioContainer/RadioContainer.js +2 -13
  130. package/build/components/radioContainer/RadioContainer.js.map +1 -1
  131. package/build/components/radioContainer/index.js +0 -4
  132. package/build/components/radioContainer/index.js.map +1 -1
  133. package/build/components/select/Select.js +6 -53
  134. package/build/components/select/Select.js.map +1 -1
  135. package/build/components/select/index.js +0 -4
  136. package/build/components/select/index.js.map +1 -1
  137. package/build/components/submit/Submit.js +5 -28
  138. package/build/components/submit/Submit.js.map +1 -1
  139. package/build/components/submit/index.js +0 -4
  140. package/build/components/submit/index.js.map +1 -1
  141. package/build/components/submit/subComponents/SubmitValidationSummary.js +0 -9
  142. package/build/components/submit/subComponents/SubmitValidationSummary.js.map +1 -1
  143. package/build/components/tags/Tags.js +36 -121
  144. package/build/components/tags/Tags.js.map +1 -1
  145. package/build/components/tags/index.js +0 -4
  146. package/build/components/tags/index.js.map +1 -1
  147. package/build/components/tags/subComponents/TagsSuggestions.js +0 -14
  148. package/build/components/tags/subComponents/TagsSuggestions.js.map +1 -1
  149. package/build/components/text/Text.js +10 -42
  150. package/build/components/text/Text.js.map +1 -1
  151. package/build/components/text/index.js +0 -4
  152. package/build/components/text/index.js.map +1 -1
  153. package/build/components/textArea/TextArea.js +8 -31
  154. package/build/components/textArea/TextArea.js.map +1 -1
  155. package/build/components/textArea/index.js +0 -4
  156. package/build/components/textArea/index.js.map +1 -1
  157. package/build/components/themeProvider/ThemeContext.js +0 -4
  158. package/build/components/themeProvider/ThemeContext.js.map +1 -1
  159. package/build/components/themeProvider/ThemeProvider.js +2 -6
  160. package/build/components/themeProvider/ThemeProvider.js.map +1 -1
  161. package/build/components/themeProvider/index.js +0 -8
  162. package/build/components/themeProvider/index.js.map +1 -1
  163. package/build/components/themeProvider/withThemeContext.js +0 -8
  164. package/build/components/themeProvider/withThemeContext.js.map +1 -1
  165. package/build/components/time/Time.js +17 -73
  166. package/build/components/time/Time.js.map +1 -1
  167. package/build/components/time/index.js +0 -4
  168. package/build/components/time/index.js.map +1 -1
  169. package/build/components/timeSpan/TimeSpan.js +17 -99
  170. package/build/components/timeSpan/TimeSpan.js.map +1 -1
  171. package/build/components/timeSpan/index.js +0 -4
  172. package/build/components/timeSpan/index.js.map +1 -1
  173. package/build/components/utils/Guid.js +0 -3
  174. package/build/components/utils/Guid.js.map +1 -1
  175. package/build/components/utils/ShallowEqual.js +5 -10
  176. package/build/components/utils/ShallowEqual.js.map +1 -1
  177. package/build/components/utils/TimeUtil.js +1 -3
  178. package/build/components/utils/TimeUtil.js.map +1 -1
  179. package/build/dist/guestbell-forms.css.map +1 -1
  180. package/build/dist/guestbell-forms.js +21 -84
  181. package/build/dist/guestbell-forms.js.map +1 -1
  182. package/build/dist/guestbell-forms.min.js +1 -1
  183. package/build/dist/guestbell-forms.min.js.map +1 -1
  184. package/build/dist/report.html +13 -41
  185. package/build/index.js +0 -48
  186. package/build/index.js.map +1 -1
  187. package/build/validators/EmailValidator.js +0 -4
  188. package/build/validators/EmailValidator.js.map +1 -1
  189. package/build/validators/LatitudeValidator.js +0 -8
  190. package/build/validators/LatitudeValidator.js.map +1 -1
  191. package/build/validators/LongitudeValidator.js +0 -8
  192. package/build/validators/LongitudeValidator.js.map +1 -1
  193. package/build/validators/NumberValidator.js +0 -15
  194. package/build/validators/NumberValidator.js.map +1 -1
  195. package/build/validators/UrlValidator.js +2 -5
  196. package/build/validators/UrlValidator.js.map +1 -1
  197. package/build/validators/index.js +0 -7
  198. package/build/validators/index.js.map +1 -1
  199. package/package.json +19 -19
@@ -1 +1 @@
1
- {"version":3,"file":"Tags.js","names":["PlusIcon","LeftArrowIcon","defaultTagsTranslations","defaultBaseTranslations","addNew","TagButtonComponent","p","className","id","onClick","children","TagsRaw","BaseInput","constructor","props","textErrors","setState","handleErrors","onFocus","state","suggestionsVisible","onSuggestionsOpened","textIsFocused","touched","fetchExistingTags","value","showMobileVersion","mobileVersionEnabled","isMobile","setTimeout","textRef","current","focus","suggestions","e","key","preselectedSuggestion","undefined","length","preventDefault","stopPropagation","existingTag","existingTags","find","et","name","onTagsChanged","tags","concat","allowNew","addNewTag","newTag","onNewTagAdded","closeSuggestionsAfterCreate","tag","lastSelected","newTags","isMax","maxTags","finalValue","onBlur","isValid","target","textIsValid","errors","getErrors","setInvalid","setValid","onTagClick","filter","sv","fetchingExistingTags","fetchedExistingTags","React","createRef","suggestionsRef","handleClickOutside","bind","handleLeaveMobileClick","require","componentDidUpdate","oldProps","validators","customValidators","required","containerRef","querySelector","contains","onSuggestionsClosed","addNewOnBlur","getSuggestions","existing","s","onSuggestionSelected","componentDidMount","document","addEventListener","componentWillUnmount","removeEventListener","render","translations","getTranslations","textProps","LeaveMobileButton","showInput","Boolean","readOnly","body","title","tooltip","classNames","getValidationClass","placeholder","map","item","index","renderTag","readonlyEmptyPlaceholder","onKeyDown","onTextErrorsChanged","onTextChanged","showSuggestions","tagsSuggestionsClassName","isLoading","suggestionsLoadingComponent","suggestionsEmptyComponent","waitingForMoreInputComponent","minLettersToFetch","SuggestionTag","popperProps","renderDefaultValidation","label","renderLabel","valueNotAddedError","maxTagsSurpassedError","i","startsWith","timer","loadingDelayMs","then","clearTimeout","filteredTags","filterExistingTags","toLowerCase","allowSameTagMultipleTimes","some","t","slice","maxSuggestions","toString","tagRemoveClick","showChips","tagClick","defaultProps","disabled","newTagName","Promise","resolve","Date","getTime","text","Tags","withThemeContext","withFormContext"],"sources":["../../../src/lib/components/tags/Tags.tsx"],"sourcesContent":["// Libs\r\nimport * as React from 'react';\r\nimport { InputGroup } from '../inputGroup/InputGroup';\r\nimport { Text, TextProps, TextRaw } from '../text/Text';\r\nimport * as PlusIcon from 'material-design-icons/content/svg/production/ic_add_circle_outline_24px.svg';\r\nimport * as LeftArrowIcon from 'material-design-icons/navigation/svg/production/ic_arrow_back_24px.svg';\r\nimport {\r\n BaseInputProps,\r\n BaseInputState,\r\n BaseInput,\r\n ValidationError,\r\n defaultBaseTranslations,\r\n} from '../base/input/BaseInput';\r\nimport { Button, ButtonComponentProps } from '../button/Button';\r\nimport TagsSuggestions, {\r\n RenderSuggestionTagProps,\r\n} from './subComponents/TagsSuggestions';\r\nimport { withFormContext } from '../form/withFormContext';\r\nimport classNames from 'classnames';\r\nimport { withThemeContext } from '../themeProvider/withThemeContext';\r\nimport { PopperProps } from '@mui/material/Popper/Popper';\r\nimport LinearProgress from '@mui/material/LinearProgress';\r\nimport Portal from '@mui/material/Portal';\r\n\r\n// Misc\r\nexport type Tag = {\r\n id: number | string;\r\n name: string;\r\n};\r\n\r\nexport const defaultTagsTranslations = {\r\n ...defaultBaseTranslations,\r\n addNew: 'Add new',\r\n};\r\n\r\nexport type TagsTranslations = Partial<typeof defaultTagsTranslations>;\r\n\r\nexport type TagsProps<T extends Tag = Tag> = {\r\n className?: string;\r\n tagsSuggestionsClassName?: string;\r\n disabled?: boolean;\r\n tags: T[];\r\n existingTags?: T[];\r\n fetchExistingTags?: (text: string) => Promise<T[]>;\r\n onTagsChanged: (newTags: T[]) => void;\r\n onNewTagAdded?: (newTagName: string) => Promise<T>;\r\n onTagClick?: (tag: T) => void;\r\n showChips?: boolean;\r\n allowNew?: boolean;\r\n addNewOnBlur?: boolean;\r\n textProps?: TextProps;\r\n readOnly?: boolean;\r\n readonlyEmptyPlaceholder?: string;\r\n maxTags?: number;\r\n valueNotAddedError?: string | JSX.Element;\r\n maxTagsSurpassedError?: string | JSX.Element;\r\n showSuggestions?: boolean;\r\n suggestionsLoadingComponent?: string | JSX.Element;\r\n suggestionsEmptyComponent?: string | JSX.Element;\r\n waitingForMoreInputComponent?: string | JSX.Element;\r\n loadingDelayMs?: number;\r\n filterExistingTags?: (text: string, existingTags: T[]) => T[];\r\n allowSameTagMultipleTimes?: boolean;\r\n maxSuggestions?: number;\r\n popperProps?: Partial<PopperProps>;\r\n minLettersToFetch?: number;\r\n mobileVersionEnabled?: boolean;\r\n isLoading?: boolean;\r\n closeSuggestionsAfterCreate?: boolean;\r\n SuggestionTag?: React.ComponentType<RenderSuggestionTagProps<T>>;\r\n} & BaseInputProps<HTMLInputElement, TagsTranslations>;\r\n\r\nexport interface TagsState<T extends Tag = Tag> extends BaseInputState {\r\n textIsFocused: boolean;\r\n textErrors: ValidationError[];\r\n textIsValid: boolean;\r\n suggestionsVisible: boolean;\r\n fetchedExistingTags: T[];\r\n fetchingExistingTags: boolean;\r\n preselectedSuggestion?: number;\r\n}\r\n\r\ntype InjectedProps = {};\r\n\r\nconst TagButtonComponent: React.FC<ButtonComponentProps> = p => (\r\n <a className={p.className} id={p.id} onClick={p.onClick}>\r\n {p.children}\r\n </a>\r\n);\r\n\r\nexport class TagsRaw<T extends Tag = Tag> extends BaseInput<\r\n TagsProps<T> & InjectedProps,\r\n TagsState<T>,\r\n HTMLInputElement,\r\n TagsTranslations\r\n> {\r\n public static defaultProps: TagsProps = {\r\n ...BaseInput.defaultProps,\r\n disabled: false,\r\n className: '',\r\n tags: [],\r\n existingTags: [],\r\n maxTags: 1000,\r\n onTagsChanged: () => undefined,\r\n onNewTagAdded: newTagName =>\r\n Promise.resolve({ name: newTagName, id: new Date().getTime() }),\r\n valueNotAddedError: <span>You forgot to add tag</span>,\r\n maxTagsSurpassedError: <span>Maximum number of tags surpassed</span>,\r\n waitingForMoreInputComponent: <span>Waiting for more input...</span>,\r\n showSuggestions: true,\r\n suggestionsLoadingComponent: (\r\n <LinearProgress className=\"tags-input__suggestions__defaultLoading\" />\r\n ),\r\n suggestionsEmptyComponent: 'No existing tags...',\r\n loadingDelayMs: 500,\r\n filterExistingTags: (text, tags) =>\r\n tags.filter(tag => tag.name && tag.name.toLowerCase().startsWith(text)),\r\n maxSuggestions: 5,\r\n addNewOnBlur: false,\r\n translations: defaultTagsTranslations,\r\n minLettersToFetch: 0,\r\n mobileVersionEnabled: true,\r\n closeSuggestionsAfterCreate: false,\r\n };\r\n\r\n private textRef: React.RefObject<TextRaw>;\r\n private suggestionsRef: React.RefObject<HTMLDivElement>;\r\n private isMobile: boolean = false;\r\n\r\n constructor(props: TagsProps<T> & InjectedProps) {\r\n super(props);\r\n this.state = {\r\n ...this.state,\r\n textErrors: [],\r\n textIsFocused: false,\r\n suggestionsVisible: false,\r\n fetchingExistingTags: false,\r\n textIsValid: false,\r\n fetchedExistingTags: [],\r\n };\r\n this.textRef = React.createRef();\r\n this.suggestionsRef = React.createRef();\r\n this.handleClickOutside = this.handleClickOutside.bind(this);\r\n this.handleLeaveMobileClick = this.handleLeaveMobileClick.bind(this);\r\n if (props.mobileVersionEnabled) {\r\n this.isMobile = require('react-device-detect')?.isMobile;\r\n }\r\n }\r\n\r\n public focus() {\r\n if (this.textRef.current) {\r\n this.textRef.current.focus();\r\n }\r\n }\r\n\r\n public componentDidUpdate(oldProps: TagsProps & InjectedProps) {\r\n if (\r\n oldProps.tags !== this.props.tags ||\r\n oldProps.validators !== this.props.validators ||\r\n oldProps.customValidators !== this.props.customValidators ||\r\n oldProps.required !== this.props.required\r\n ) {\r\n this.handleErrors(this.props.tags);\r\n }\r\n }\r\n\r\n public handleLeaveMobileClick() {\r\n this.setState({\r\n textIsFocused: false,\r\n suggestionsVisible: false,\r\n preselectedSuggestion: undefined,\r\n });\r\n }\r\n\r\n public handleClickOutside(e: MouseEvent) {\r\n if (\r\n !this.containerRef.current ||\r\n this.containerRef.current\r\n .querySelector('.tags-input__tag__wrapper')\r\n ?.contains(e.target as HTMLDivElement) ||\r\n this.containerRef.current\r\n .querySelector('.tags-input__text-input')\r\n ?.contains(e.target as HTMLDivElement) ||\r\n !this.suggestionsRef.current ||\r\n this.suggestionsRef.current.contains(e.target as HTMLDivElement)\r\n ) {\r\n return;\r\n }\r\n if (this.state.suggestionsVisible) {\r\n this.props.onSuggestionsClosed?.();\r\n }\r\n this.setState({\r\n suggestionsVisible: false,\r\n preselectedSuggestion: undefined,\r\n });\r\n if (this.props.addNewOnBlur && this.state.value) {\r\n const suggestions = this.getSuggestions();\r\n const existing = suggestions.find(s => s.name === this.state.value);\r\n if (existing) {\r\n this.onSuggestionSelected(existing, suggestions.length === 1);\r\n } else if (this.props.allowNew) {\r\n this.addNewTag();\r\n }\r\n } /* else if (this.state.value) {\r\n this.setState({ value: '' });\r\n }*/\r\n }\r\n\r\n public componentDidMount() {\r\n document.addEventListener('mousedown', this.handleClickOutside);\r\n document.addEventListener('touchstart', this.handleClickOutside);\r\n this.handleErrors(this.props.tags);\r\n }\r\n\r\n public componentWillUnmount() {\r\n document.removeEventListener('mousedown', this.handleClickOutside);\r\n document.removeEventListener('touchstart', this.handleClickOutside);\r\n super.componentWillUnmount();\r\n }\r\n\r\n public render() {\r\n const translations = this.getTranslations(defaultTagsTranslations);\r\n const textProps = this.props.textProps ? this.props.textProps : {};\r\n const suggestions = this.getSuggestions();\r\n const showMobileVersion =\r\n this.props.mobileVersionEnabled &&\r\n this.isMobile &&\r\n (this.state.textIsFocused || this.state.suggestionsVisible);\r\n const LeaveMobileButton = showMobileVersion ? (\r\n <Button\r\n className=\"tags-input__leaveMobileTagsButton line-height--0\"\r\n onClick={this.handleLeaveMobileClick}\r\n noShadow={true}\r\n unobtrusive={true}\r\n >\r\n <LeftArrowIcon />\r\n </Button>\r\n ) : (\r\n undefined\r\n );\r\n const showInput = Boolean(\r\n (!this.props.maxTags ||\r\n this.props.maxTags > (this.props.tags && this.props.tags.length)) &&\r\n !this.props.readOnly\r\n );\r\n return (\r\n <Portal container={document.body} disablePortal={!showMobileVersion}>\r\n <InputGroup title={this.props.title} tooltip={this.props.tooltip}>\r\n <div\r\n {...(this.props.id && {\r\n id: this.props.id,\r\n })}\r\n className={classNames(\r\n 'input__base tags-input',\r\n this.getValidationClass(),\r\n this.props.className,\r\n {\r\n 'tags-input--readOnly': this.props.readOnly,\r\n 'tags-input--hasPlaceholder':\r\n this.props.textProps && this.props.textProps.placeholder,\r\n 'tags-input--mobile': showMobileVersion,\r\n }\r\n )}\r\n ref={this.containerRef}\r\n >\r\n {showMobileVersion && (\r\n <div className=\"tags-input__mobileBackdrop\" />\r\n )}\r\n <div className=\"tags-input__tags__wrapper\">\r\n {!showInput && showMobileVersion && LeaveMobileButton}\r\n {this.props.tags && this.props.tags.length > 0 ? (\r\n <div className=\"tags-input__tag__wrapper\">\r\n {this.props.tags.map((item, index) =>\r\n this.renderTag(item, index)\r\n )}\r\n </div>\r\n ) : (\r\n this.props.readOnly && (\r\n <div className=\"tags-input__tag__wrapper\">\r\n <div className=\"tags-input__tag\">\r\n {this.props.readonlyEmptyPlaceholder}\r\n </div>\r\n </div>\r\n )\r\n )}\r\n </div>\r\n {showInput && (\r\n <div\r\n className={\r\n 'tags-input__tags__wrapper ' +\r\n (this.props.readOnly ? 'filled ' : '')\r\n }\r\n >\r\n <Text\r\n showClearButton={true}\r\n {...textProps}\r\n {...(this.props.id && {\r\n id: this.props.id + '-text-input',\r\n })}\r\n ref={this.textRef}\r\n required={\r\n this.props.tags.length > 0 ? false : this.props.required\r\n }\r\n className={\r\n 'tags-input__text-input ' +\r\n (textProps.className ? textProps.className : '')\r\n }\r\n onKeyDown={this.onKeyDown(suggestions)}\r\n onErrorsChanged={this.onTextErrorsChanged}\r\n onChange={this.onTextChanged}\r\n onFocus={this.onFocus}\r\n onBlur={this.onBlur}\r\n value={this.state.value}\r\n readOnly={this.props.readOnly}\r\n showValidation={false}\r\n ignoreContext={true}\r\n validators={this.props.validators}\r\n customValidators={this.props.customValidators}\r\n before={LeaveMobileButton}\r\n />\r\n {this.state.suggestionsVisible && this.props.showSuggestions && (\r\n <TagsSuggestions<T>\r\n {...(this.props.id && {\r\n id: this.props.id + '-text-input',\r\n })}\r\n className={classNames(this.props.tagsSuggestionsClassName)}\r\n innerRef={this.suggestionsRef}\r\n anchorEl={this.containerRef.current}\r\n allowNew={this.props.allowNew}\r\n preselectedSuggestion={this.state.preselectedSuggestion}\r\n loading={\r\n this.state.fetchingExistingTags || this.props.isLoading\r\n }\r\n LoadingComponent={this.props.suggestionsLoadingComponent}\r\n isVisible={this.state.suggestionsVisible}\r\n EmptyComponent={this.props.suggestionsEmptyComponent}\r\n WaitingForMoreInputComponent={\r\n this.props.waitingForMoreInputComponent\r\n }\r\n isWaitingForMoreInput={\r\n this.state.value.length < this.props.minLettersToFetch\r\n }\r\n tags={suggestions}\r\n onSelected={this.onSuggestionSelected}\r\n value={this.state.value}\r\n AddNewTagComponent={\r\n this.props.allowNew &&\r\n this.state.value !== '' &&\r\n (!this.props.existingTags ||\r\n !this.props.existingTags.find(\r\n e => e.name === this.state.value\r\n )) &&\r\n (!this.state.fetchedExistingTags ||\r\n !this.state.fetchedExistingTags.find(\r\n e => e.name === this.state.value\r\n )) &&\r\n this.state.textIsValid && (\r\n <Button\r\n {...(this.props.id && {\r\n id: this.props.id + '-add-new-button',\r\n })}\r\n className=\"tags-input__suggestion tags-input__add-new\"\r\n dropdown={true}\r\n onClick={this.addNewTag}\r\n >\r\n {translations.addNew} \"{this.state.value}\"\r\n </Button>\r\n )\r\n }\r\n SuggestionTag={this.props.SuggestionTag}\r\n popperProps={this.props.popperProps}\r\n />\r\n )}\r\n </div>\r\n )}\r\n {this.renderDefaultValidation()}\r\n {this.props.label && (\r\n <label\r\n className={\r\n this.state.value !== '' ||\r\n this.state.textIsFocused ||\r\n this.props.readOnly ||\r\n this.props.tags.length >= this.props.maxTags ||\r\n showMobileVersion\r\n ? 'label--focused'\r\n : ''\r\n }\r\n >\r\n {this.renderLabel()}\r\n </label>\r\n )}\r\n </div>\r\n </InputGroup>\r\n </Portal>\r\n );\r\n }\r\n\r\n private onTextErrorsChanged = (textErrors: ValidationError[]) =>\r\n this.setState(\r\n () => ({ textErrors }),\r\n () => this.handleErrors()\r\n );\r\n\r\n private onFocus = () => {\r\n this.props.onFocus?.();\r\n if (!this.state.suggestionsVisible) {\r\n this.props.onSuggestionsOpened?.();\r\n }\r\n this.setState(\r\n () => ({ textIsFocused: true, suggestionsVisible: true, touched: true }),\r\n () => this.handleErrors()\r\n );\r\n this.fetchExistingTags(this.state.value);\r\n const showMobileVersion =\r\n this.props.mobileVersionEnabled &&\r\n this.isMobile &&\r\n (this.state.textIsFocused || this.state.suggestionsVisible);\r\n if (\r\n !showMobileVersion &&\r\n this.props.mobileVersionEnabled &&\r\n this.isMobile\r\n ) {\r\n setTimeout(() => this.textRef.current?.focus(), 100);\r\n }\r\n };\r\n\r\n private onKeyDown = (suggestions: T[]) => async (e: React.KeyboardEvent) => {\r\n if (e.key === 'Tab') {\r\n this.setState({\r\n suggestionsVisible: false,\r\n preselectedSuggestion: undefined,\r\n });\r\n }\r\n if (\r\n e.key === 'Enter' &&\r\n (this.state.value !== '' ||\r\n this.state.preselectedSuggestion !== undefined) &&\r\n this.state.textErrors.length === 0\r\n ) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n const existingTag =\r\n this.props.existingTags &&\r\n this.props.existingTags.find(et => et.name === this.state.value);\r\n if (this.state.preselectedSuggestion !== undefined) {\r\n this.props.onTagsChanged(\r\n this.props.tags.concat(suggestions[this.state.preselectedSuggestion])\r\n );\r\n this.setState({ value: '', preselectedSuggestion: undefined }, () => {\r\n this.fetchExistingTags();\r\n this.handleErrors();\r\n });\r\n } else if (existingTag) {\r\n this.props.onTagsChanged(this.props.tags.concat(existingTag));\r\n this.setState({ value: '' }, () => {\r\n this.fetchExistingTags();\r\n this.handleErrors();\r\n });\r\n } else if (this.props.allowNew) {\r\n await this.addNewTag();\r\n this.handleErrors();\r\n }\r\n }\r\n if (suggestions.length > 0 && this.state.suggestionsVisible) {\r\n if (e.key === 'ArrowUp') {\r\n const preselectedSuggestion =\r\n this.state.preselectedSuggestion === undefined\r\n ? suggestions.length - 1\r\n : this.state.preselectedSuggestion === 0\r\n ? suggestions.length - 1\r\n : this.state.preselectedSuggestion - 1;\r\n this.setState({ preselectedSuggestion });\r\n } else if (e.key === 'ArrowDown') {\r\n const preselectedSuggestion =\r\n this.state.preselectedSuggestion === undefined\r\n ? 0\r\n : this.state.preselectedSuggestion === suggestions.length - 1\r\n ? 0\r\n : this.state.preselectedSuggestion + 1;\r\n this.setState({ preselectedSuggestion });\r\n } else {\r\n this.setState({ preselectedSuggestion: undefined });\r\n }\r\n }\r\n };\r\n\r\n private addNewTag = async () => {\r\n const newTag = await this.props.onNewTagAdded(this.state.value);\r\n this.setState({\r\n suggestionsVisible: this.props.closeSuggestionsAfterCreate\r\n ? false\r\n : this.state.suggestionsVisible,\r\n });\r\n if (newTag) {\r\n this.props.onTagsChanged(\r\n this.props.tags ? this.props.tags.concat(newTag) : [newTag]\r\n );\r\n }\r\n this.setState({ value: '', textErrors: [] }, () => {\r\n this.fetchExistingTags();\r\n this.handleErrors();\r\n });\r\n };\r\n\r\n private onSuggestionSelected = (tag: T, lastSelected: boolean) => {\r\n const newTags = this.props.tags.concat(tag);\r\n this.props.onTagsChanged(newTags);\r\n const isMax = newTags.length === this.props.maxTags;\r\n const finalValue =\r\n !this.props.allowNew && !isMax && !lastSelected ? this.state.value : '';\r\n this.setState(\r\n {\r\n value: finalValue,\r\n suggestionsVisible:\r\n isMax || this.props.closeSuggestionsAfterCreate\r\n ? false\r\n : this.state.suggestionsVisible,\r\n preselectedSuggestion: undefined,\r\n textErrors: [],\r\n },\r\n () => {\r\n if (\r\n !this.props.maxTags ||\r\n this.props.tags.length + 1 < this.props.maxTags\r\n ) {\r\n this.fetchExistingTags(finalValue);\r\n }\r\n this.handleErrors();\r\n }\r\n );\r\n };\r\n\r\n private onBlur = () => {\r\n this.props.onBlur?.();\r\n this.setState(\r\n {\r\n textIsFocused: false,\r\n preselectedSuggestion: undefined,\r\n },\r\n () => this.handleErrors()\r\n );\r\n };\r\n\r\n private onTextChanged = (\r\n e: React.ChangeEvent<HTMLInputElement>,\r\n isValid: boolean\r\n ) => {\r\n const value = e.target.value;\r\n this.setState(\r\n () => ({\r\n value,\r\n isValid: isValid,\r\n textIsValid: isValid,\r\n suggestionsVisible: true,\r\n }),\r\n () => this.handleErrors()\r\n );\r\n this.fetchExistingTags(e.target.value);\r\n };\r\n\r\n private handleErrors = (tags: T[] = this.props.tags) => {\r\n let errors = this.getErrors(tags);\r\n if (errors.length > 0) {\r\n this.setInvalid(errors);\r\n } else {\r\n this.setValid();\r\n }\r\n };\r\n\r\n private getErrors(tags: T[]) {\r\n let errors = [];\r\n if (tags.length < this.props.maxTags) {\r\n errors = errors.concat(this.state.textErrors);\r\n }\r\n if (this.state.value !== '' && tags.length === 0 && this.props.required) {\r\n errors = errors.concat(\r\n this.getTranslations(this.props.translations).required\r\n );\r\n }\r\n if (this.state.value && this.props.allowNew && !this.state.textIsFocused) {\r\n errors = errors.concat(this.props.valueNotAddedError);\r\n }\r\n if (this.props.maxTags < (this.props.tags && this.props.tags.length)) {\r\n errors = errors.concat(this.props.maxTagsSurpassedError);\r\n }\r\n return errors.filter(i => i);\r\n }\r\n\r\n private fetchExistingTags(startsWith: string = '') {\r\n if (\r\n this.props.fetchExistingTags &&\r\n startsWith.length >= this.props.minLettersToFetch\r\n ) {\r\n const timer = setTimeout(\r\n () => this.setState(() => ({ fetchingExistingTags: true })),\r\n this.props.loadingDelayMs\r\n );\r\n this.props.fetchExistingTags(startsWith).then(fetchedExistingTags => {\r\n clearTimeout(timer);\r\n this.setState(() => ({\r\n fetchedExistingTags,\r\n fetchingExistingTags: false,\r\n }));\r\n });\r\n }\r\n }\r\n\r\n private getSuggestions() {\r\n const existingTags: T[] = []\r\n .concat(this.props.existingTags ? this.props.existingTags : [])\r\n .concat(\r\n this.state.fetchedExistingTags ? this.state.fetchedExistingTags : []\r\n );\r\n const filteredTags = this.props.filterExistingTags(\r\n this.state.value ? this.state.value.toLowerCase() : '',\r\n existingTags\r\n );\r\n let suggestions = filteredTags\r\n .filter(\r\n tag =>\r\n this.props.allowSameTagMultipleTimes ||\r\n !this.props.tags.some(t => t.id === tag.id)\r\n )\r\n .slice(0, this.props.maxSuggestions);\r\n return suggestions;\r\n }\r\n\r\n private renderTag(tag: T, index: number) {\r\n const body = (\r\n <>\r\n {tag.name}\r\n {!this.props.readOnly && (\r\n <Button\r\n {...(this.props.id && {\r\n id: this.props.id + '-tag-' + index.toString(),\r\n })}\r\n circular={true}\r\n blank={true}\r\n onClick={this.tagRemoveClick(tag)}\r\n className=\"ml-1 transform-rotate--45 line-height--0 p-0\"\r\n Component={TagButtonComponent}\r\n preventsDefault={false}\r\n >\r\n <PlusIcon />\r\n </Button>\r\n )}\r\n </>\r\n );\r\n const className = classNames('tags-input__tag', {\r\n 'tags-input__tag-chip': this.props.showChips,\r\n });\r\n if (this.props.onTagClick) {\r\n return (\r\n <Button\r\n onClick={this.tagClick(tag)}\r\n small={true}\r\n className={className}\r\n key={index}\r\n >\r\n {body}\r\n </Button>\r\n );\r\n }\r\n return (\r\n <div onClick={this.tagClick(tag)} className={className} key={index}>\r\n {body}\r\n </div>\r\n );\r\n }\r\n\r\n private tagClick = (tag: T) => () => {\r\n this.props.onTagClick && this.props.onTagClick(tag);\r\n };\r\n\r\n private tagRemoveClick = (tag: T) => (e: React.MouseEvent<HTMLElement>) => {\r\n e.stopPropagation();\r\n const newTags = this.props.tags.filter(sv => sv.id !== tag.id);\r\n /*if (newTags.length === 0) {\r\n setTimeout(() => this.focus(), 50);\r\n }\r\n this.setState({\r\n suggestionsVisible: false,\r\n });*/\r\n this.props.onTagsChanged && this.props.onTagsChanged(newTags);\r\n this.handleErrors(newTags);\r\n // this.fetchExistingTags();\r\n };\r\n}\r\n\r\ninterface TagsFinal {\r\n <T extends Tag = Tag>(item: TagsProps<T>): React.ReactElement;\r\n defaultProps?: Partial<TagsProps>;\r\n}\r\n\r\nexport const Tags = (withThemeContext<TagsProps, InstanceType<typeof TagsRaw>>(\r\n // tslint:disable-next-line: no-any\r\n withFormContext<TagsProps>(TagsRaw),\r\n 'tags'\r\n) as unknown) as TagsFinal;\r\n\r\nexport default Tags;\r\n"],"mappings":"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"}
1
+ {"version":3,"file":"Tags.js","names":["React","_interopRequireWildcard","require","_InputGroup","_Text","_BaseInput","_Button","_TagsSuggestions","_interopRequireDefault","_withFormContext","_classnames","_withThemeContext","_LinearProgress","_Portal","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","PlusIcon","props","createElement","d","defaultProps","xmlns","width","height","viewBox","LeftArrowIcon","defaultTagsTranslations","defaultBaseTranslations","addNew","exports","TagButtonComponent","p","className","id","onClick","children","TagsRaw","BaseInput","constructor","_this","this","isMobile","onTextErrorsChanged","textErrors","setState","handleErrors","onFocus","_this$props$onFocus","_this$props","state","suggestionsVisible","_this$props$onSuggest","_this$props2","onSuggestionsOpened","fetchExistingTags","textIsFocused","touched","showMobileVersion","mobileVersionEnabled","setTimeout","_this$textRef$current","textRef","current","focus","onKeyDown","suggestions","e","preselectedSuggestion","preventDefault","stopPropagation","existingTag","existingTags","find","et","name","onTagsChanged","tags","concat","allowNew","addNewTag","newTag","onNewTagAdded","closeSuggestionsAfterCreate","onSuggestionSelected","tag","lastSelected","newTags","isMax","maxTags","finalValue","onBlur","_this$props$onBlur","_this$props3","onTextChanged","isValid","textIsValid","errors","getErrors","setInvalid","setValid","tagClick","onTagClick","tagRemoveClick","sv","fetchingExistingTags","fetchedExistingTags","createRef","suggestionsRef","handleClickOutside","handleLeaveMobileClick","_require","componentDidUpdate","oldProps","validators","customValidators","required","_this$containerRef$cu","_this$containerRef$cu2","containerRef","querySelector","contains","_this$props$onSuggest2","_this$props4","onSuggestionsClosed","addNewOnBlur","getSuggestions","existing","s","componentDidMount","document","addEventListener","componentWillUnmount","removeEventListener","render","translations","getTranslations","textProps","LeaveMobileButton","Button","noShadow","unobtrusive","showInput","Boolean","readOnly","container","body","disablePortal","InputGroup","title","tooltip","classNames","getValidationClass","placeholder","ref","map","item","index","renderTag","readonlyEmptyPlaceholder","Text","showClearButton","onErrorsChanged","onChange","showValidation","ignoreContext","before","showSuggestions","tagsSuggestionsClassName","innerRef","anchorEl","loading","isLoading","LoadingComponent","suggestionsLoadingComponent","isVisible","EmptyComponent","suggestionsEmptyComponent","WaitingForMoreInputComponent","waitingForMoreInputComponent","isWaitingForMoreInput","minLettersToFetch","onSelected","AddNewTagComponent","dropdown","SuggestionTag","popperProps","renderDefaultValidation","label","renderLabel","valueNotAddedError","maxTagsSurpassedError","startsWith","timer","loadingDelayMs","then","clearTimeout","filteredTags","filterExistingTags","toLowerCase","allowSameTagMultipleTimes","some","t","slice","maxSuggestions","Fragment","toString","circular","blank","Component","preventsDefault","showChips","small","disabled","newTagName","Promise","resolve","Date","getTime","text","Tags","withThemeContext","withFormContext","_default"],"sources":["../../../src/lib/components/tags/Tags.tsx"],"sourcesContent":["// Libs\r\nimport * as React from 'react';\r\nimport { InputGroup } from '../inputGroup/InputGroup';\r\nimport { Text, TextProps, TextRaw } from '../text/Text';\r\nimport * as PlusIcon from 'material-design-icons/content/svg/production/ic_add_circle_outline_24px.svg';\r\nimport * as LeftArrowIcon from 'material-design-icons/navigation/svg/production/ic_arrow_back_24px.svg';\r\nimport {\r\n BaseInputProps,\r\n BaseInputState,\r\n BaseInput,\r\n ValidationError,\r\n defaultBaseTranslations,\r\n} from '../base/input/BaseInput';\r\nimport { Button, ButtonComponentProps } from '../button/Button';\r\nimport TagsSuggestions, {\r\n RenderSuggestionTagProps,\r\n} from './subComponents/TagsSuggestions';\r\nimport { withFormContext } from '../form/withFormContext';\r\nimport classNames from 'classnames';\r\nimport { withThemeContext } from '../themeProvider/withThemeContext';\r\nimport { PopperProps } from '@mui/material/Popper/Popper';\r\nimport LinearProgress from '@mui/material/LinearProgress';\r\nimport Portal from '@mui/material/Portal';\r\n\r\n// Misc\r\nexport type Tag = {\r\n id: number | string;\r\n name: string;\r\n};\r\n\r\nexport const defaultTagsTranslations = {\r\n ...defaultBaseTranslations,\r\n addNew: 'Add new',\r\n};\r\n\r\nexport type TagsTranslations = Partial<typeof defaultTagsTranslations>;\r\n\r\nexport type TagsProps<T extends Tag = Tag> = {\r\n className?: string;\r\n tagsSuggestionsClassName?: string;\r\n disabled?: boolean;\r\n tags: T[];\r\n existingTags?: T[];\r\n fetchExistingTags?: (text: string) => Promise<T[]>;\r\n onTagsChanged: (newTags: T[]) => void;\r\n onNewTagAdded?: (newTagName: string) => Promise<T>;\r\n onTagClick?: (tag: T) => void;\r\n showChips?: boolean;\r\n allowNew?: boolean;\r\n addNewOnBlur?: boolean;\r\n textProps?: TextProps;\r\n readOnly?: boolean;\r\n readonlyEmptyPlaceholder?: string;\r\n maxTags?: number;\r\n valueNotAddedError?: string | JSX.Element;\r\n maxTagsSurpassedError?: string | JSX.Element;\r\n showSuggestions?: boolean;\r\n suggestionsLoadingComponent?: string | JSX.Element;\r\n suggestionsEmptyComponent?: string | JSX.Element;\r\n waitingForMoreInputComponent?: string | JSX.Element;\r\n loadingDelayMs?: number;\r\n filterExistingTags?: (text: string, existingTags: T[]) => T[];\r\n allowSameTagMultipleTimes?: boolean;\r\n maxSuggestions?: number;\r\n popperProps?: Partial<PopperProps>;\r\n minLettersToFetch?: number;\r\n mobileVersionEnabled?: boolean;\r\n isLoading?: boolean;\r\n closeSuggestionsAfterCreate?: boolean;\r\n SuggestionTag?: React.ComponentType<RenderSuggestionTagProps<T>>;\r\n} & BaseInputProps<HTMLInputElement, TagsTranslations>;\r\n\r\nexport interface TagsState<T extends Tag = Tag> extends BaseInputState {\r\n textIsFocused: boolean;\r\n textErrors: ValidationError[];\r\n textIsValid: boolean;\r\n suggestionsVisible: boolean;\r\n fetchedExistingTags: T[];\r\n fetchingExistingTags: boolean;\r\n preselectedSuggestion?: number;\r\n}\r\n\r\ntype InjectedProps = {};\r\n\r\nconst TagButtonComponent: React.FC<ButtonComponentProps> = (p) => (\r\n <a className={p.className} id={p.id} onClick={p.onClick}>\r\n {p.children}\r\n </a>\r\n);\r\n\r\nexport class TagsRaw<T extends Tag = Tag> extends BaseInput<\r\n TagsProps<T> & InjectedProps,\r\n TagsState<T>,\r\n HTMLInputElement,\r\n TagsTranslations\r\n> {\r\n public static defaultProps: TagsProps = {\r\n ...BaseInput.defaultProps,\r\n disabled: false,\r\n className: '',\r\n tags: [],\r\n existingTags: [],\r\n maxTags: 1000,\r\n onTagsChanged: () => undefined,\r\n onNewTagAdded: (newTagName) =>\r\n Promise.resolve({ name: newTagName, id: new Date().getTime() }),\r\n valueNotAddedError: <span>You forgot to add tag</span>,\r\n maxTagsSurpassedError: <span>Maximum number of tags surpassed</span>,\r\n waitingForMoreInputComponent: <span>Waiting for more input...</span>,\r\n showSuggestions: true,\r\n suggestionsLoadingComponent: (\r\n <LinearProgress className=\"tags-input__suggestions__defaultLoading\" />\r\n ),\r\n suggestionsEmptyComponent: 'No existing tags...',\r\n loadingDelayMs: 0,\r\n filterExistingTags: (text, tags) =>\r\n tags.filter((tag) => tag.name && tag.name.toLowerCase().startsWith(text)),\r\n maxSuggestions: 5,\r\n addNewOnBlur: false,\r\n translations: defaultTagsTranslations,\r\n minLettersToFetch: 0,\r\n mobileVersionEnabled: true,\r\n closeSuggestionsAfterCreate: false,\r\n };\r\n\r\n private textRef: React.RefObject<TextRaw>;\r\n private suggestionsRef: React.RefObject<HTMLDivElement>;\r\n private isMobile: boolean = false;\r\n\r\n constructor(props: TagsProps<T> & InjectedProps) {\r\n super(props);\r\n this.state = {\r\n ...this.state,\r\n textErrors: [],\r\n textIsFocused: false,\r\n suggestionsVisible: false,\r\n fetchingExistingTags: false,\r\n textIsValid: false,\r\n fetchedExistingTags: [],\r\n };\r\n this.textRef = React.createRef();\r\n this.suggestionsRef = React.createRef();\r\n this.handleClickOutside = this.handleClickOutside.bind(this);\r\n this.handleLeaveMobileClick = this.handleLeaveMobileClick.bind(this);\r\n if (props.mobileVersionEnabled) {\r\n this.isMobile = require('react-device-detect')?.isMobile;\r\n }\r\n }\r\n\r\n public focus() {\r\n if (this.textRef.current) {\r\n this.textRef.current.focus();\r\n }\r\n }\r\n\r\n public componentDidUpdate(oldProps: TagsProps & InjectedProps) {\r\n if (\r\n oldProps.tags !== this.props.tags ||\r\n oldProps.validators !== this.props.validators ||\r\n oldProps.customValidators !== this.props.customValidators ||\r\n oldProps.required !== this.props.required\r\n ) {\r\n this.handleErrors(this.props.tags);\r\n }\r\n }\r\n\r\n public handleLeaveMobileClick() {\r\n this.setState({\r\n textIsFocused: false,\r\n suggestionsVisible: false,\r\n preselectedSuggestion: undefined,\r\n });\r\n }\r\n\r\n public handleClickOutside(e: MouseEvent) {\r\n if (\r\n !this.containerRef.current ||\r\n this.containerRef.current\r\n .querySelector('.tags-input__tag__wrapper')\r\n ?.contains(e.target as HTMLDivElement) ||\r\n this.containerRef.current\r\n .querySelector('.tags-input__text-input')\r\n ?.contains(e.target as HTMLDivElement) ||\r\n !this.suggestionsRef.current ||\r\n this.suggestionsRef.current.contains(e.target as HTMLDivElement)\r\n ) {\r\n return;\r\n }\r\n if (this.state.suggestionsVisible) {\r\n this.props.onSuggestionsClosed?.();\r\n }\r\n this.setState({\r\n suggestionsVisible: false,\r\n preselectedSuggestion: undefined,\r\n });\r\n if (this.props.addNewOnBlur && this.state.value) {\r\n const suggestions = this.getSuggestions();\r\n const existing = suggestions.find((s) => s.name === this.state.value);\r\n if (existing) {\r\n this.onSuggestionSelected(existing, suggestions.length === 1);\r\n } else if (this.props.allowNew) {\r\n this.addNewTag();\r\n }\r\n } /* else if (this.state.value) {\r\n this.setState({ value: '' });\r\n }*/\r\n }\r\n\r\n public componentDidMount() {\r\n document.addEventListener('mousedown', this.handleClickOutside);\r\n document.addEventListener('touchstart', this.handleClickOutside);\r\n this.handleErrors(this.props.tags);\r\n }\r\n\r\n public componentWillUnmount() {\r\n document.removeEventListener('mousedown', this.handleClickOutside);\r\n document.removeEventListener('touchstart', this.handleClickOutside);\r\n super.componentWillUnmount();\r\n }\r\n\r\n public render() {\r\n const translations = this.getTranslations(defaultTagsTranslations);\r\n const textProps = this.props.textProps ? this.props.textProps : {};\r\n const suggestions = this.getSuggestions();\r\n const showMobileVersion =\r\n this.props.mobileVersionEnabled &&\r\n this.isMobile &&\r\n (this.state.textIsFocused || this.state.suggestionsVisible);\r\n const LeaveMobileButton = showMobileVersion ? (\r\n <Button\r\n className=\"tags-input__leaveMobileTagsButton line-height--0\"\r\n onClick={this.handleLeaveMobileClick}\r\n noShadow={true}\r\n unobtrusive={true}\r\n >\r\n <LeftArrowIcon />\r\n </Button>\r\n ) : undefined;\r\n const showInput = Boolean(\r\n (!this.props.maxTags ||\r\n this.props.maxTags > (this.props.tags && this.props.tags.length)) &&\r\n !this.props.readOnly\r\n );\r\n return (\r\n <Portal container={document.body} disablePortal={!showMobileVersion}>\r\n <InputGroup title={this.props.title} tooltip={this.props.tooltip}>\r\n <div\r\n {...(this.props.id && {\r\n id: this.props.id,\r\n })}\r\n className={classNames(\r\n 'input__base tags-input',\r\n this.getValidationClass(),\r\n this.props.className,\r\n {\r\n 'tags-input--readOnly': this.props.readOnly,\r\n 'tags-input--hasPlaceholder':\r\n this.props.textProps && this.props.textProps.placeholder,\r\n 'tags-input--mobile': showMobileVersion,\r\n }\r\n )}\r\n ref={this.containerRef}\r\n >\r\n {showMobileVersion && (\r\n <div className=\"tags-input__mobileBackdrop\" />\r\n )}\r\n <div className=\"tags-input__tags__wrapper\">\r\n {!showInput && showMobileVersion && LeaveMobileButton}\r\n {this.props.tags && this.props.tags.length > 0 ? (\r\n <div className=\"tags-input__tag__wrapper\">\r\n {this.props.tags.map((item, index) =>\r\n this.renderTag(item, index)\r\n )}\r\n </div>\r\n ) : (\r\n this.props.readOnly && (\r\n <div className=\"tags-input__tag__wrapper\">\r\n <div className=\"tags-input__tag\">\r\n {this.props.readonlyEmptyPlaceholder}\r\n </div>\r\n </div>\r\n )\r\n )}\r\n </div>\r\n {showInput && (\r\n <div\r\n className={\r\n 'tags-input__tags__wrapper ' +\r\n (this.props.readOnly ? 'filled ' : '')\r\n }\r\n >\r\n <Text\r\n showClearButton={true}\r\n {...textProps}\r\n {...(this.props.id && {\r\n id: this.props.id + '-text-input',\r\n })}\r\n ref={this.textRef}\r\n required={\r\n this.props.tags.length > 0 ? false : this.props.required\r\n }\r\n className={\r\n 'tags-input__text-input ' +\r\n (textProps.className ? textProps.className : '')\r\n }\r\n onKeyDown={this.onKeyDown(suggestions)}\r\n onErrorsChanged={this.onTextErrorsChanged}\r\n onChange={this.onTextChanged}\r\n onFocus={this.onFocus}\r\n onBlur={this.onBlur}\r\n value={this.state.value}\r\n readOnly={this.props.readOnly}\r\n showValidation={false}\r\n ignoreContext={true}\r\n validators={this.props.validators}\r\n customValidators={this.props.customValidators}\r\n before={LeaveMobileButton}\r\n />\r\n {this.state.suggestionsVisible &&\r\n this.props.showSuggestions && (\r\n <TagsSuggestions<T>\r\n {...(this.props.id && {\r\n id: this.props.id + '-text-input',\r\n })}\r\n className={classNames(\r\n this.props.tagsSuggestionsClassName\r\n )}\r\n innerRef={this.suggestionsRef}\r\n anchorEl={this.containerRef.current}\r\n allowNew={this.props.allowNew}\r\n preselectedSuggestion={this.state.preselectedSuggestion}\r\n loading={\r\n this.state.fetchingExistingTags || this.props.isLoading\r\n }\r\n LoadingComponent={this.props.suggestionsLoadingComponent}\r\n isVisible={this.state.suggestionsVisible}\r\n EmptyComponent={this.props.suggestionsEmptyComponent}\r\n WaitingForMoreInputComponent={\r\n this.props.waitingForMoreInputComponent\r\n }\r\n isWaitingForMoreInput={\r\n this.state.value.length < this.props.minLettersToFetch\r\n }\r\n tags={suggestions}\r\n onSelected={this.onSuggestionSelected}\r\n value={this.state.value}\r\n AddNewTagComponent={\r\n this.props.allowNew &&\r\n this.state.value !== '' &&\r\n (!this.props.existingTags ||\r\n !this.props.existingTags.find(\r\n (e) => e.name === this.state.value\r\n )) &&\r\n (!this.state.fetchedExistingTags ||\r\n !this.state.fetchedExistingTags.find(\r\n (e) => e.name === this.state.value\r\n )) &&\r\n this.state.textIsValid && (\r\n <Button\r\n {...(this.props.id && {\r\n id: this.props.id + '-add-new-button',\r\n })}\r\n className=\"tags-input__suggestion tags-input__add-new\"\r\n dropdown={true}\r\n onClick={this.addNewTag}\r\n >\r\n {translations.addNew} \"{this.state.value}\"\r\n </Button>\r\n )\r\n }\r\n SuggestionTag={this.props.SuggestionTag}\r\n popperProps={this.props.popperProps}\r\n />\r\n )}\r\n </div>\r\n )}\r\n {this.renderDefaultValidation()}\r\n {this.props.label && (\r\n <label\r\n className={\r\n this.state.value !== '' ||\r\n this.state.textIsFocused ||\r\n this.props.readOnly ||\r\n this.props.tags.length >= this.props.maxTags ||\r\n showMobileVersion\r\n ? 'label--focused'\r\n : ''\r\n }\r\n >\r\n {this.renderLabel()}\r\n </label>\r\n )}\r\n </div>\r\n </InputGroup>\r\n </Portal>\r\n );\r\n }\r\n\r\n private onTextErrorsChanged = (textErrors: ValidationError[]) =>\r\n this.setState(\r\n () => ({ textErrors }),\r\n () => this.handleErrors()\r\n );\r\n\r\n private onFocus = () => {\r\n this.props.onFocus?.();\r\n if (!this.state.suggestionsVisible) {\r\n this.props.onSuggestionsOpened?.();\r\n }\r\n this.fetchExistingTags(this.state.value);\r\n this.setState(\r\n () => ({ textIsFocused: true, suggestionsVisible: true, touched: true }),\r\n () => this.handleErrors()\r\n );\r\n const showMobileVersion =\r\n this.props.mobileVersionEnabled &&\r\n this.isMobile &&\r\n (this.state.textIsFocused || this.state.suggestionsVisible);\r\n if (\r\n !showMobileVersion &&\r\n this.props.mobileVersionEnabled &&\r\n this.isMobile\r\n ) {\r\n setTimeout(() => this.textRef.current?.focus(), 100);\r\n }\r\n };\r\n\r\n private onKeyDown = (suggestions: T[]) => async (e: React.KeyboardEvent) => {\r\n if (e.key === 'Tab') {\r\n this.setState({\r\n suggestionsVisible: false,\r\n preselectedSuggestion: undefined,\r\n });\r\n }\r\n if (\r\n e.key === 'Enter' &&\r\n (this.state.value !== '' ||\r\n this.state.preselectedSuggestion !== undefined) &&\r\n this.state.textErrors.length === 0\r\n ) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n const existingTag =\r\n this.props.existingTags &&\r\n this.props.existingTags.find((et) => et.name === this.state.value);\r\n if (this.state.preselectedSuggestion !== undefined) {\r\n this.props.onTagsChanged(\r\n this.props.tags.concat(suggestions[this.state.preselectedSuggestion])\r\n );\r\n this.setState({ value: '', preselectedSuggestion: undefined }, () => {\r\n this.fetchExistingTags();\r\n this.handleErrors();\r\n });\r\n } else if (existingTag) {\r\n this.props.onTagsChanged(this.props.tags.concat(existingTag));\r\n this.setState({ value: '' }, () => {\r\n this.fetchExistingTags();\r\n this.handleErrors();\r\n });\r\n } else if (this.props.allowNew) {\r\n await this.addNewTag();\r\n this.handleErrors();\r\n }\r\n }\r\n if (suggestions.length > 0 && this.state.suggestionsVisible) {\r\n if (e.key === 'ArrowUp') {\r\n const preselectedSuggestion =\r\n this.state.preselectedSuggestion === undefined\r\n ? suggestions.length - 1\r\n : this.state.preselectedSuggestion === 0\r\n ? suggestions.length - 1\r\n : this.state.preselectedSuggestion - 1;\r\n this.setState({ preselectedSuggestion });\r\n } else if (e.key === 'ArrowDown') {\r\n const preselectedSuggestion =\r\n this.state.preselectedSuggestion === undefined\r\n ? 0\r\n : this.state.preselectedSuggestion === suggestions.length - 1\r\n ? 0\r\n : this.state.preselectedSuggestion + 1;\r\n this.setState({ preselectedSuggestion });\r\n } else {\r\n this.setState({ preselectedSuggestion: undefined });\r\n }\r\n }\r\n };\r\n\r\n private addNewTag = async () => {\r\n const newTag = await this.props.onNewTagAdded(this.state.value);\r\n this.setState({\r\n suggestionsVisible: this.props.closeSuggestionsAfterCreate\r\n ? false\r\n : this.state.suggestionsVisible,\r\n });\r\n if (newTag) {\r\n this.props.onTagsChanged(\r\n this.props.tags ? this.props.tags.concat(newTag) : [newTag]\r\n );\r\n }\r\n this.setState({ value: '', textErrors: [] }, () => {\r\n this.fetchExistingTags();\r\n this.handleErrors();\r\n });\r\n };\r\n\r\n private onSuggestionSelected = (tag: T, lastSelected: boolean) => {\r\n const newTags = this.props.tags.concat(tag);\r\n this.props.onTagsChanged(newTags);\r\n const isMax = newTags.length === this.props.maxTags;\r\n const finalValue =\r\n !this.props.allowNew && !isMax && !lastSelected ? this.state.value : '';\r\n this.setState(\r\n {\r\n value: finalValue,\r\n suggestionsVisible:\r\n isMax || this.props.closeSuggestionsAfterCreate\r\n ? false\r\n : this.state.suggestionsVisible,\r\n preselectedSuggestion: undefined,\r\n textErrors: [],\r\n },\r\n () => {\r\n if (\r\n !this.props.maxTags ||\r\n this.props.tags.length + 1 < this.props.maxTags\r\n ) {\r\n this.fetchExistingTags(finalValue);\r\n }\r\n this.handleErrors();\r\n }\r\n );\r\n };\r\n\r\n private onBlur = () => {\r\n this.props.onBlur?.();\r\n this.setState(\r\n {\r\n textIsFocused: false,\r\n preselectedSuggestion: undefined,\r\n },\r\n () => this.handleErrors()\r\n );\r\n };\r\n\r\n private onTextChanged = (\r\n e: React.ChangeEvent<HTMLInputElement>,\r\n isValid: boolean\r\n ) => {\r\n const value = e.target.value;\r\n this.setState(\r\n () => ({\r\n value,\r\n isValid: isValid,\r\n textIsValid: isValid,\r\n suggestionsVisible: true,\r\n }),\r\n () => this.handleErrors()\r\n );\r\n this.fetchExistingTags(e.target.value);\r\n };\r\n\r\n private handleErrors = (tags: T[] = this.props.tags) => {\r\n let errors = this.getErrors(tags);\r\n if (errors.length > 0) {\r\n this.setInvalid(errors);\r\n } else {\r\n this.setValid();\r\n }\r\n };\r\n\r\n private getErrors(tags: T[]) {\r\n let errors = [];\r\n if (tags.length < this.props.maxTags) {\r\n errors = errors.concat(this.state.textErrors);\r\n }\r\n if (this.state.value !== '' && tags.length === 0 && this.props.required) {\r\n errors = errors.concat(\r\n this.getTranslations(this.props.translations).required\r\n );\r\n }\r\n if (this.state.value && this.props.allowNew && !this.state.textIsFocused) {\r\n errors = errors.concat(this.props.valueNotAddedError);\r\n }\r\n if (this.props.maxTags < (this.props.tags && this.props.tags.length)) {\r\n errors = errors.concat(this.props.maxTagsSurpassedError);\r\n }\r\n return errors.filter((i) => i);\r\n }\r\n\r\n private fetchExistingTags(startsWith: string = '') {\r\n if (\r\n this.props.fetchExistingTags &&\r\n startsWith.length >= this.props.minLettersToFetch\r\n ) {\r\n const timer = setTimeout(\r\n () => this.setState(() => ({ fetchingExistingTags: true })),\r\n this.props.loadingDelayMs\r\n );\r\n this.props.fetchExistingTags(startsWith).then((fetchedExistingTags) => {\r\n clearTimeout(timer);\r\n this.setState(() => ({\r\n fetchedExistingTags,\r\n fetchingExistingTags: false,\r\n }));\r\n });\r\n }\r\n }\r\n\r\n private getSuggestions() {\r\n const existingTags: T[] = []\r\n .concat(this.props.existingTags ? this.props.existingTags : [])\r\n .concat(\r\n this.state.fetchedExistingTags ? this.state.fetchedExistingTags : []\r\n );\r\n const filteredTags = this.props.filterExistingTags(\r\n this.state.value ? this.state.value.toLowerCase() : '',\r\n existingTags\r\n );\r\n let suggestions = filteredTags\r\n .filter(\r\n (tag) =>\r\n this.props.allowSameTagMultipleTimes ||\r\n !this.props.tags.some((t) => t.id === tag.id)\r\n )\r\n .slice(0, this.props.maxSuggestions);\r\n return suggestions;\r\n }\r\n\r\n private renderTag(tag: T, index: number) {\r\n const body = (\r\n <>\r\n {tag.name}\r\n {!this.props.readOnly && (\r\n <Button\r\n {...(this.props.id && {\r\n id: this.props.id + '-tag-' + index.toString(),\r\n })}\r\n circular={true}\r\n blank={true}\r\n onClick={this.tagRemoveClick(tag)}\r\n className=\"ml-1 transform-rotate--45 line-height--0 p-0\"\r\n Component={TagButtonComponent}\r\n preventsDefault={false}\r\n >\r\n <PlusIcon />\r\n </Button>\r\n )}\r\n </>\r\n );\r\n const className = classNames('tags-input__tag', {\r\n 'tags-input__tag-chip': this.props.showChips,\r\n });\r\n if (this.props.onTagClick) {\r\n return (\r\n <Button\r\n onClick={this.tagClick(tag)}\r\n small={true}\r\n className={className}\r\n key={index}\r\n >\r\n {body}\r\n </Button>\r\n );\r\n }\r\n return (\r\n <div onClick={this.tagClick(tag)} className={className} key={index}>\r\n {body}\r\n </div>\r\n );\r\n }\r\n\r\n private tagClick = (tag: T) => () => {\r\n this.props.onTagClick && this.props.onTagClick(tag);\r\n };\r\n\r\n private tagRemoveClick = (tag: T) => (e: React.MouseEvent<HTMLElement>) => {\r\n e.stopPropagation();\r\n const newTags = this.props.tags.filter((sv) => sv.id !== tag.id);\r\n /*if (newTags.length === 0) {\r\n setTimeout(() => this.focus(), 50);\r\n }\r\n this.setState({\r\n suggestionsVisible: false,\r\n });*/\r\n this.props.onTagsChanged && this.props.onTagsChanged(newTags);\r\n this.handleErrors(newTags);\r\n // this.fetchExistingTags();\r\n };\r\n}\r\n\r\ninterface TagsFinal {\r\n <T extends Tag = Tag>(item: TagsProps<T>): React.ReactElement;\r\n defaultProps?: Partial<TagsProps>;\r\n}\r\n\r\nexport const Tags = withThemeContext<TagsProps, InstanceType<typeof TagsRaw>>(\r\n // tslint:disable-next-line: no-any\r\n withFormContext<TagsProps>(TagsRaw),\r\n 'tags'\r\n) as unknown as TagsFinal;\r\n\r\nexport default Tags;\r\n"],"mappings":"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"}
@@ -10,9 +10,7 @@ Object.defineProperty(exports, "default", {
10
10
  return _Tags.default;
11
11
  }
12
12
  });
13
-
14
13
  var _Tags = _interopRequireWildcard(require("./Tags"));
15
-
16
14
  Object.keys(_Tags).forEach(function (key) {
17
15
  if (key === "default" || key === "__esModule") return;
18
16
  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
@@ -24,8 +22,6 @@ Object.keys(_Tags).forEach(function (key) {
24
22
  }
25
23
  });
26
24
  });
27
-
28
25
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
29
-
30
26
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
31
27
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../src/lib/components/tags/index.tsx"],"sourcesContent":["export * from './Tags';\r\nexport { default } from './Tags';\r\n"],"mappings":";;;;;;;;;;;;;AAAA;;AAAA;EAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA"}
1
+ {"version":3,"file":"index.js","names":["_Tags","_interopRequireWildcard","require","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","newObj","hasPropertyDescriptor","getOwnPropertyDescriptor","desc","set"],"sources":["../../../src/lib/components/tags/index.tsx"],"sourcesContent":["export * from './Tags';\r\nexport { default } from './Tags';\r\n"],"mappings":";;;;;;;;;;;;AAAA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAJ,KAAA,EAAAK,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAN,KAAA,CAAAM,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAd,KAAA,CAAAM,GAAA;IAAA;EAAA;AAAA;AAAuB,SAAAS,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAf,wBAAAmB,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAT,GAAA,CAAAM,GAAA,SAAAK,MAAA,WAAAC,qBAAA,GAAAvB,MAAA,CAAAS,cAAA,IAAAT,MAAA,CAAAwB,wBAAA,WAAArB,GAAA,IAAAc,GAAA,QAAAd,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAW,GAAA,EAAAd,GAAA,SAAAsB,IAAA,GAAAF,qBAAA,GAAAvB,MAAA,CAAAwB,wBAAA,CAAAP,GAAA,EAAAd,GAAA,cAAAsB,IAAA,KAAAA,IAAA,CAAAd,GAAA,IAAAc,IAAA,CAAAC,GAAA,KAAA1B,MAAA,CAAAS,cAAA,CAAAa,MAAA,EAAAnB,GAAA,EAAAsB,IAAA,YAAAH,MAAA,CAAAnB,GAAA,IAAAc,GAAA,CAAAd,GAAA,SAAAmB,MAAA,CAAAH,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAM,GAAA,CAAAT,GAAA,EAAAK,MAAA,YAAAA,MAAA"}
@@ -4,28 +4,18 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
-
8
7
  var React = _interopRequireWildcard(require("react"));
9
-
10
8
  var _ = require("../../..");
11
-
12
9
  var _Popper = _interopRequireDefault(require("@mui/material/Popper"));
13
-
14
10
  var _classnames = _interopRequireDefault(require("classnames"));
15
-
16
11
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
-
18
12
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
19
-
20
13
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
21
-
22
14
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
23
-
24
15
  const popperModifiers = [{
25
16
  name: 'flip',
26
17
  enabled: true
27
18
  }];
28
-
29
19
  function DefaultSuggestionTag(_ref) {
30
20
  let {
31
21
  index,
@@ -44,10 +34,8 @@ function DefaultSuggestionTag(_ref) {
44
34
  dropdown: true
45
35
  }), tag.name));
46
36
  }
47
-
48
37
  function Suggestions(props) {
49
38
  var _props$anchorEl2;
50
-
51
39
  const {
52
40
  onSelected
53
41
  } = props;
@@ -56,7 +44,6 @@ function Suggestions(props) {
56
44
  }, [onSelected]);
57
45
  const popperStyle = React.useMemo(() => {
58
46
  var _props$anchorEl;
59
-
60
47
  return {
61
48
  width: (_props$anchorEl = props.anchorEl) === null || _props$anchorEl === void 0 ? void 0 : _props$anchorEl.scrollWidth,
62
49
  zIndex: 10000
@@ -91,7 +78,6 @@ function Suggestions(props) {
91
78
  className: "w-100 text-center p-2"
92
79
  }, props.EmptyComponent))));
93
80
  }
94
-
95
81
  const SuggestionsWrapped = Suggestions;
96
82
  var _default = SuggestionsWrapped;
97
83
  exports.default = _default;
@@ -1 +1 @@
1
- {"version":3,"file":"TagsSuggestions.js","names":["popperModifiers","name","enabled","DefaultSuggestionTag","index","tag","id","onClick","isPreselected","toString","Suggestions","props","onSelected","onSelectedFactory","React","useCallback","lastSelected","e","popperStyle","useMemo","width","anchorEl","scrollWidth","zIndex","SuggestionTag","isVisible","popperProps","classNames","className","loading","innerRef","AddNewTagComponent","LoadingComponent","isWaitingForMoreInput","WaitingForMoreInputComponent","tags","map","length","preselectedSuggestion","undefined","EmptyComponent","allowNew","SuggestionsWrapped"],"sources":["../../../../src/lib/components/tags/subComponents/TagsSuggestions.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport { Tag } from '..';\r\nimport { Button } from '../../..';\r\nimport Popper, { PopperProps } from '@mui/material/Popper';\r\nimport classNames from 'classnames';\r\n\r\nexport type RenderSuggestionTagProps<T extends Tag = Tag> = {\r\n tag: T;\r\n index: number;\r\n id?: string;\r\n onClick: (e: React.MouseEvent<HTMLElement>) => void;\r\n isPreselected: boolean;\r\n};\r\n\r\nexport type SuggestionsProps<T extends Tag = Tag> = {\r\n className?: string;\r\n innerRef: React.RefObject<HTMLDivElement>;\r\n anchorEl: HTMLElement;\r\n id?: string;\r\n preselectedSuggestion?: number;\r\n isVisible: boolean;\r\n isWaitingForMoreInput: boolean;\r\n tags: T[];\r\n onSelected: (tag: T, lastSelected: boolean) => void;\r\n value: string;\r\n loading: boolean;\r\n LoadingComponent?: string | JSX.Element;\r\n EmptyComponent?: string | JSX.Element;\r\n AddNewTagComponent?: JSX.Element;\r\n WaitingForMoreInputComponent?: string | JSX.Element;\r\n allowNew: boolean;\r\n popperProps?: Partial<PopperProps>;\r\n SuggestionTag?: React.ComponentType<RenderSuggestionTagProps<T>>;\r\n};\r\n\r\ntype InjectedProps = {};\r\n\r\nconst popperModifiers: PopperProps['modifiers'] = [\r\n {\r\n name: 'flip',\r\n enabled: true,\r\n },\r\n];\r\n\r\nfunction DefaultSuggestionTag<T extends Tag = Tag>({\r\n index,\r\n tag,\r\n id,\r\n onClick,\r\n isPreselected,\r\n}: RenderSuggestionTagProps<T>) {\r\n return (\r\n <li key={index}>\r\n <Button\r\n {...(id && {\r\n id: id + '-suggestion-' + index.toString(),\r\n })}\r\n className={\r\n 'w-100 tags-input__suggestion ' +\r\n (isPreselected ? 'tags-input__suggestion--preselected' : '')\r\n }\r\n onClick={onClick}\r\n dropdown={true}\r\n >\r\n {tag.name}\r\n </Button>\r\n </li>\r\n );\r\n}\r\n\r\nfunction Suggestions<T extends Tag = Tag>(\r\n props: SuggestionsProps<T> & InjectedProps\r\n) {\r\n const { onSelected } = props;\r\n const onSelectedFactory = React.useCallback(\r\n (tag: T, lastSelected: boolean) => (e: React.MouseEvent) => {\r\n onSelected(tag, lastSelected);\r\n },\r\n [onSelected]\r\n );\r\n const popperStyle = React.useMemo(\r\n () => ({\r\n width: props.anchorEl?.scrollWidth,\r\n zIndex: 10000,\r\n }),\r\n [props.anchorEl?.scrollWidth]\r\n );\r\n\r\n const { SuggestionTag = DefaultSuggestionTag } = props;\r\n return (\r\n props.anchorEl && (\r\n <Popper\r\n open={props.isVisible}\r\n anchorEl={props.anchorEl}\r\n style={popperStyle}\r\n placement=\"bottom-start\"\r\n modifiers={popperModifiers}\r\n {...props.popperProps}\r\n >\r\n <div\r\n {...(props.id && {\r\n id: props.id,\r\n })}\r\n className={classNames('tags-input__suggestions', props.className, {\r\n 'tags-input__suggestions--loading': props.loading,\r\n })}\r\n ref={props.innerRef}\r\n >\r\n <ul>\r\n {props.AddNewTagComponent}\r\n {props.loading && props.LoadingComponent}\r\n {props.isWaitingForMoreInput &&\r\n props.WaitingForMoreInputComponent && (\r\n <li className=\"w-100 text-center p-2\">\r\n {props.WaitingForMoreInputComponent}\r\n </li>\r\n )}\r\n {!props.isWaitingForMoreInput &&\r\n props.tags.map((tag, index) => (\r\n <SuggestionTag\r\n key={tag.id}\r\n index={index}\r\n tag={tag}\r\n onClick={onSelectedFactory(tag, props.tags.length === 1)}\r\n id={props.id}\r\n isPreselected={\r\n props.preselectedSuggestion !== undefined &&\r\n props.preselectedSuggestion === index\r\n }\r\n />\r\n ))}\r\n {props.EmptyComponent &&\r\n props.tags.length === 0 &&\r\n !props.allowNew &&\r\n !props.isWaitingForMoreInput &&\r\n !props.loading && (\r\n <li className=\"w-100 text-center p-2\">\r\n {props.EmptyComponent}\r\n </li>\r\n )}\r\n </ul>\r\n </div>\r\n </Popper>\r\n )\r\n );\r\n}\r\n\r\nconst SuggestionsWrapped = Suggestions;\r\n\r\nexport default SuggestionsWrapped;\r\n"],"mappings":"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"}
1
+ {"version":3,"file":"TagsSuggestions.js","names":["React","_interopRequireWildcard","require","_","_Popper","_interopRequireDefault","_classnames","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","popperModifiers","name","enabled","DefaultSuggestionTag","_ref","index","tag","id","onClick","isPreselected","createElement","Button","toString","className","dropdown","Suggestions","props","_props$anchorEl2","onSelected","onSelectedFactory","useCallback","lastSelected","e","popperStyle","useMemo","_props$anchorEl","width","anchorEl","scrollWidth","zIndex","SuggestionTag","open","isVisible","style","placement","modifiers","popperProps","classNames","loading","ref","innerRef","AddNewTagComponent","LoadingComponent","isWaitingForMoreInput","WaitingForMoreInputComponent","tags","map","preselectedSuggestion","undefined","EmptyComponent","allowNew","SuggestionsWrapped","_default","exports"],"sources":["../../../../src/lib/components/tags/subComponents/TagsSuggestions.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport { Tag } from '..';\r\nimport { Button } from '../../..';\r\nimport Popper, { PopperProps } from '@mui/material/Popper';\r\nimport classNames from 'classnames';\r\n\r\nexport type RenderSuggestionTagProps<T extends Tag = Tag> = {\r\n tag: T;\r\n index: number;\r\n id?: string;\r\n onClick: (e: React.MouseEvent<HTMLElement>) => void;\r\n isPreselected: boolean;\r\n};\r\n\r\nexport type SuggestionsProps<T extends Tag = Tag> = {\r\n className?: string;\r\n innerRef: React.RefObject<HTMLDivElement>;\r\n anchorEl: HTMLElement;\r\n id?: string;\r\n preselectedSuggestion?: number;\r\n isVisible: boolean;\r\n isWaitingForMoreInput: boolean;\r\n tags: T[];\r\n onSelected: (tag: T, lastSelected: boolean) => void;\r\n value: string;\r\n loading: boolean;\r\n LoadingComponent?: string | JSX.Element;\r\n EmptyComponent?: string | JSX.Element;\r\n AddNewTagComponent?: JSX.Element;\r\n WaitingForMoreInputComponent?: string | JSX.Element;\r\n allowNew: boolean;\r\n popperProps?: Partial<PopperProps>;\r\n SuggestionTag?: React.ComponentType<RenderSuggestionTagProps<T>>;\r\n};\r\n\r\ntype InjectedProps = {};\r\n\r\nconst popperModifiers: PopperProps['modifiers'] = [\r\n {\r\n name: 'flip',\r\n enabled: true,\r\n },\r\n];\r\n\r\nfunction DefaultSuggestionTag<T extends Tag = Tag>({\r\n index,\r\n tag,\r\n id,\r\n onClick,\r\n isPreselected,\r\n}: RenderSuggestionTagProps<T>) {\r\n return (\r\n <li key={index}>\r\n <Button\r\n {...(id && {\r\n id: id + '-suggestion-' + index.toString(),\r\n })}\r\n className={\r\n 'w-100 tags-input__suggestion ' +\r\n (isPreselected ? 'tags-input__suggestion--preselected' : '')\r\n }\r\n onClick={onClick}\r\n dropdown={true}\r\n >\r\n {tag.name}\r\n </Button>\r\n </li>\r\n );\r\n}\r\n\r\nfunction Suggestions<T extends Tag = Tag>(\r\n props: SuggestionsProps<T> & InjectedProps\r\n) {\r\n const { onSelected } = props;\r\n const onSelectedFactory = React.useCallback(\r\n (tag: T, lastSelected: boolean) => (e: React.MouseEvent) => {\r\n onSelected(tag, lastSelected);\r\n },\r\n [onSelected]\r\n );\r\n const popperStyle = React.useMemo(\r\n () => ({\r\n width: props.anchorEl?.scrollWidth,\r\n zIndex: 10000,\r\n }),\r\n [props.anchorEl?.scrollWidth]\r\n );\r\n\r\n const { SuggestionTag = DefaultSuggestionTag } = props;\r\n return (\r\n props.anchorEl && (\r\n <Popper\r\n open={props.isVisible}\r\n anchorEl={props.anchorEl}\r\n style={popperStyle}\r\n placement=\"bottom-start\"\r\n modifiers={popperModifiers}\r\n {...props.popperProps}\r\n >\r\n <div\r\n {...(props.id && {\r\n id: props.id,\r\n })}\r\n className={classNames('tags-input__suggestions', props.className, {\r\n 'tags-input__suggestions--loading': props.loading,\r\n })}\r\n ref={props.innerRef}\r\n >\r\n <ul>\r\n {props.AddNewTagComponent}\r\n {props.loading && props.LoadingComponent}\r\n {props.isWaitingForMoreInput &&\r\n props.WaitingForMoreInputComponent && (\r\n <li className=\"w-100 text-center p-2\">\r\n {props.WaitingForMoreInputComponent}\r\n </li>\r\n )}\r\n {!props.isWaitingForMoreInput &&\r\n props.tags.map((tag, index) => (\r\n <SuggestionTag\r\n key={tag.id}\r\n index={index}\r\n tag={tag}\r\n onClick={onSelectedFactory(tag, props.tags.length === 1)}\r\n id={props.id}\r\n isPreselected={\r\n props.preselectedSuggestion !== undefined &&\r\n props.preselectedSuggestion === index\r\n }\r\n />\r\n ))}\r\n {props.EmptyComponent &&\r\n props.tags.length === 0 &&\r\n !props.allowNew &&\r\n !props.isWaitingForMoreInput &&\r\n !props.loading && (\r\n <li className=\"w-100 text-center p-2\">\r\n {props.EmptyComponent}\r\n </li>\r\n )}\r\n </ul>\r\n </div>\r\n </Popper>\r\n )\r\n );\r\n}\r\n\r\nconst SuggestionsWrapped = Suggestions;\r\n\r\nexport default SuggestionsWrapped;\r\n"],"mappings":"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"}
@@ -4,56 +4,40 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = exports.TextRaw = exports.Text = void 0;
7
-
8
7
  var React = _interopRequireWildcard(require("react"));
9
-
10
8
  var _InputGroup = _interopRequireDefault(require("../inputGroup/InputGroup"));
11
-
12
9
  var _BaseInput = require("../base/input/BaseInput");
13
-
14
10
  var _withFormContext = require("../form/withFormContext");
15
-
16
11
  var _withThemeContext = require("../themeProvider/withThemeContext");
17
-
18
12
  var _button = _interopRequireDefault(require("../button"));
19
-
20
13
  var _classnames = _interopRequireDefault(require("classnames"));
21
-
22
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
-
24
15
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
25
-
26
16
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
27
-
28
17
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
29
-
30
18
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
31
-
32
19
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
33
-
34
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
35
-
20
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
21
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
22
+ function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } // Libs
23
+ // Misc
36
24
  var PlusIcon = function PlusIcon(props) {
37
25
  return /*#__PURE__*/React.createElement("svg", props, /*#__PURE__*/React.createElement("path", {
38
26
  d: "M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"
39
27
  }));
40
28
  };
41
-
42
29
  PlusIcon.defaultProps = {
43
30
  xmlns: "http://www.w3.org/2000/svg",
44
31
  width: "24",
45
32
  height: "24",
46
33
  viewBox: "0 0 24 24"
47
34
  };
48
-
49
35
  class TextRaw extends _BaseInput.BaseInput {
50
36
  constructor(props) {
51
37
  super(props);
52
-
53
- _defineProperty(this, "clearClick", () => {
38
+ this.clearClick = () => {
54
39
  if (this.inputRef.current) {
55
40
  var nativeTextAreaValueSetter = Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype, 'value').set;
56
-
57
41
  if (nativeTextAreaValueSetter) {
58
42
  nativeTextAreaValueSetter.call(this.inputRef.current, '');
59
43
  const event = new Event('input', {
@@ -62,15 +46,11 @@ class TextRaw extends _BaseInput.BaseInput {
62
46
  this.inputRef.current.dispatchEvent(event);
63
47
  }
64
48
  }
65
- });
66
-
67
- _defineProperty(this, "containerClick", e => this.props.stopClickPropagation && e.stopPropagation());
68
-
69
- _defineProperty(this, "onKeyDown", e => this.props.onKeyDown && this.props.onKeyDown(e));
70
-
49
+ };
50
+ this.containerClick = e => this.props.stopClickPropagation && e.stopPropagation();
51
+ this.onKeyDown = e => this.props.onKeyDown && this.props.onKeyDown(e);
71
52
  if (props.number !== undefined || props.onNumberChange) {
72
53
  var _props$number;
73
-
74
54
  const value = ((_props$number = props.number) === null || _props$number === void 0 ? void 0 : _props$number.toString()) ?? '';
75
55
  const res = this.handleValueChange(value, true, [], props, true);
76
56
  this.state = _objectSpread(_objectSpread({}, this.state), {}, {
@@ -78,7 +58,6 @@ class TextRaw extends _BaseInput.BaseInput {
78
58
  errors: res.errors,
79
59
  value
80
60
  });
81
-
82
61
  if (!this.props.ignoreContext) {
83
62
  this.props.formContext && this.props.formContext.updateCallback(this.componentId, {
84
63
  validation: {
@@ -89,32 +68,25 @@ class TextRaw extends _BaseInput.BaseInput {
89
68
  }
90
69
  }
91
70
  }
92
-
93
71
  componentDidUpdate(prevProps, prevState) {
94
72
  if (this.props.onNumberChange && (this.state.isValid !== prevState.isValid || this.state.value !== prevState.value) && this.props.number !== Number(this.state.value)) {
95
73
  const num = Number(this.state.value);
96
-
97
74
  if (this.state.value === '') {
98
75
  this.props.onNumberChange(undefined, this.state.isValid);
99
76
  } else if (!isNaN(num)) {
100
77
  this.props.onNumberChange(num, this.state.isValid);
101
78
  }
102
79
  }
103
-
104
80
  if ((prevProps.number !== undefined || this.props.number !== undefined) && this.props.number !== prevProps.number) {
105
81
  var _this$props$number;
106
-
107
82
  this.handleValueChange(((_this$props$number = this.props.number) === null || _this$props$number === void 0 ? void 0 : _this$props$number.toString()) ?? '');
108
83
  }
109
-
110
84
  if (!this.props.onNumberChange && (prevProps.value !== this.props.value || prevProps.validators !== this.props.validators || prevProps.customValidators !== this.props.customValidators || prevProps.required !== this.props.required)) {
111
85
  this.handleValueChange(this.props.value, true, [], this.props);
112
86
  }
113
87
  }
114
-
115
88
  render() {
116
89
  var _this$state$value, _this$props$value;
117
-
118
90
  const clearButtonHidden = !((_this$state$value = this.state.value) !== null && _this$state$value !== void 0 && _this$state$value.length) || this.props.disabled;
119
91
  return /*#__PURE__*/React.createElement(_InputGroup.default, {
120
92
  title: this.props.title,
@@ -165,17 +137,13 @@ class TextRaw extends _BaseInput.BaseInput {
165
137
  className: this.props.readOnly ? 'label--focused' : ''
166
138
  }, this.renderLabel()))));
167
139
  }
168
-
169
140
  }
170
-
171
141
  exports.TextRaw = TextRaw;
172
-
173
- _defineProperty(TextRaw, "defaultProps", Object.assign({}, _BaseInput.BaseInput.defaultProps, {
142
+ TextRaw.defaultProps = Object.assign({}, _BaseInput.BaseInput.defaultProps, {
174
143
  type: 'text',
175
144
  stopClickPropagation: true,
176
145
  readOnly: false
177
- }));
178
-
146
+ });
179
147
  const Text = (0, _withThemeContext.withThemeContext)((0, _withFormContext.withFormContext)(TextRaw), 'text');
180
148
  exports.Text = Text;
181
149
  var _default = Text;
@@ -1 +1 @@
1
- {"version":3,"file":"Text.js","names":["PlusIcon","TextRaw","BaseInput","constructor","props","inputRef","current","nativeTextAreaValueSetter","Object","getOwnPropertyDescriptor","window","HTMLInputElement","prototype","set","call","event","Event","bubbles","dispatchEvent","e","stopClickPropagation","stopPropagation","onKeyDown","number","undefined","onNumberChange","value","toString","res","handleValueChange","state","isValid","errors","ignoreContext","formContext","updateCallback","componentId","validation","componentDidUpdate","prevProps","prevState","Number","num","isNaN","validators","customValidators","required","render","clearButtonHidden","length","disabled","title","tooltip","inputGroupClassName","getValidationClass","readOnly","className","containerClick","containerRef","before","id","placeholder","getDisabled","handleChange","handleBlur","handleFocus","type","onClick","maxLength","sizeFromValue","after","showClearButton","clearClick","classNames","renderDefaultValidation","label","renderLabel","assign","defaultProps","Text","withThemeContext","withFormContext"],"sources":["../../../src/lib/components/text/Text.tsx"],"sourcesContent":["// Libs\r\nimport * as React from 'react';\r\n\r\n// Misc\r\nimport InputGroup from '../inputGroup/InputGroup';\r\nimport {\r\n BaseInputProps,\r\n BaseInputState,\r\n BaseInput,\r\n} from '../base/input/BaseInput';\r\nimport { withFormContext } from '../form/withFormContext';\r\nimport { withThemeContext } from '../themeProvider/withThemeContext';\r\nimport Button from '../button';\r\nimport * as PlusIcon from 'material-design-icons/content/svg/production/ic_add_24px.svg';\r\nimport classNames from 'classnames';\r\n\r\nexport interface TextProps extends BaseInputProps<HTMLInputElement> {\r\n mask?: string;\r\n reverse?: boolean;\r\n placeholder?: string;\r\n stopClickPropagation?: boolean;\r\n inputRef?: React.Ref<HTMLInputElement>;\r\n readOnly?: boolean;\r\n type?: 'number' | 'text';\r\n maxLength?: number;\r\n showClearButton?: boolean;\r\n after?: React.ReactNode;\r\n before?: React.ReactNode;\r\n sizeFromValue?: boolean;\r\n onNumberChange?: (number: number, isValid: boolean) => void;\r\n number?: number;\r\n}\r\n\r\nexport interface TextState extends BaseInputState {}\r\n\r\nexport class TextRaw extends BaseInput<TextProps, TextState, HTMLInputElement> {\r\n public static defaultProps = Object.assign({}, BaseInput.defaultProps, {\r\n type: 'text',\r\n stopClickPropagation: true,\r\n readOnly: false,\r\n }) as TextProps;\r\n\r\n constructor(props: TextProps) {\r\n super(props);\r\n if (props.number !== undefined || props.onNumberChange) {\r\n const value = props.number?.toString() ?? '';\r\n const res = this.handleValueChange(value, true, [], props, true);\r\n this.state = {\r\n ...this.state,\r\n isValid: res.isValid,\r\n errors: res.errors,\r\n value,\r\n };\r\n if (!this.props.ignoreContext) {\r\n this.props.formContext &&\r\n this.props.formContext.updateCallback(this.componentId, {\r\n validation: {\r\n isValid: res.isValid,\r\n errors: res.errors,\r\n },\r\n });\r\n }\r\n }\r\n }\r\n\r\n public componentDidUpdate(prevProps: TextProps, prevState: TextState) {\r\n if (\r\n this.props.onNumberChange &&\r\n (this.state.isValid !== prevState.isValid ||\r\n this.state.value !== prevState.value) &&\r\n this.props.number !== Number(this.state.value)\r\n ) {\r\n const num = Number(this.state.value);\r\n if (this.state.value === '') {\r\n this.props.onNumberChange(undefined, this.state.isValid);\r\n } else if (!isNaN(num)) {\r\n this.props.onNumberChange(num, this.state.isValid);\r\n }\r\n }\r\n if (\r\n (prevProps.number !== undefined || this.props.number !== undefined) &&\r\n this.props.number !== prevProps.number\r\n ) {\r\n this.handleValueChange(this.props.number?.toString() ?? '');\r\n }\r\n if (\r\n !this.props.onNumberChange &&\r\n (prevProps.value !== this.props.value ||\r\n prevProps.validators !== this.props.validators ||\r\n prevProps.customValidators !== this.props.customValidators ||\r\n prevProps.required !== this.props.required)\r\n ) {\r\n this.handleValueChange(this.props.value, true, [], this.props);\r\n }\r\n }\r\n\r\n public render() {\r\n const clearButtonHidden = !this.state.value?.length || this.props.disabled;\r\n return (\r\n <InputGroup\r\n title={this.props.title}\r\n tooltip={this.props.tooltip}\r\n className={this.props.inputGroupClassName}\r\n >\r\n <div\r\n className={`input__base text-input ${this.getValidationClass()} \r\n ${this.props.readOnly ? 'text-input--readOnly' : ''} ${\r\n this.props.className ? this.props.className : ''\r\n }`}\r\n onClick={this.containerClick}\r\n ref={this.containerRef}\r\n >\r\n <div className=\"text-input__textWrapper\">\r\n {this.props.before}\r\n <input\r\n {...(this.props.id && {\r\n id: this.props.id,\r\n })}\r\n ref={this.inputRef}\r\n placeholder={this.props.placeholder}\r\n disabled={this.getDisabled()}\r\n required={this.props.required}\r\n className={this.state.value ? 'filled' : ''}\r\n onChange={this.handleChange}\r\n value={this.state.value ?? ''}\r\n onBlur={this.handleBlur}\r\n onFocus={this.handleFocus}\r\n readOnly={this.props.readOnly}\r\n onKeyDown={this.onKeyDown}\r\n type={this.props.type}\r\n onClick={this.props.onClick}\r\n maxLength={this.props.maxLength}\r\n size={\r\n this.props.sizeFromValue\r\n ? this.props.value?.length || 1\r\n : undefined\r\n }\r\n />\r\n {this.props.after}\r\n {!this.props.readOnly && this.props.showClearButton && (\r\n <Button\r\n {...(this.props.id && {\r\n id: this.props.id + '-clear-button',\r\n })}\r\n disabled={clearButtonHidden}\r\n unobtrusive={true}\r\n noShadow={true}\r\n onClick={this.clearClick}\r\n className={classNames(\r\n 'text-input__clearButton line-height--0',\r\n {\r\n 'text-input__clearButton--hidden': clearButtonHidden,\r\n }\r\n )}\r\n >\r\n <PlusIcon className=\"transform-rotate--45 line-height--0\" />\r\n </Button>\r\n )}\r\n <span className=\"highlight\" />\r\n <span className=\"bar\" />\r\n {this.renderDefaultValidation()}\r\n {this.props.label && (\r\n <label className={this.props.readOnly ? 'label--focused' : ''}>\r\n {this.renderLabel()}\r\n </label>\r\n )}\r\n </div>\r\n </div>\r\n </InputGroup>\r\n );\r\n }\r\n\r\n private clearClick = () => {\r\n if (this.inputRef.current) {\r\n var nativeTextAreaValueSetter = Object.getOwnPropertyDescriptor(\r\n window.HTMLInputElement.prototype,\r\n 'value'\r\n ).set;\r\n if (nativeTextAreaValueSetter) {\r\n nativeTextAreaValueSetter.call(this.inputRef.current, '');\r\n\r\n const event = new Event('input', { bubbles: true });\r\n this.inputRef.current.dispatchEvent(event);\r\n }\r\n }\r\n };\r\n\r\n private containerClick = (e: React.MouseEvent<HTMLDivElement>) =>\r\n this.props.stopClickPropagation && e.stopPropagation();\r\n\r\n private onKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) =>\r\n this.props.onKeyDown && this.props.onKeyDown(e);\r\n}\r\n\r\nexport const Text = withThemeContext<TextProps, InstanceType<typeof TextRaw>>(\r\n withFormContext<TextProps>(TextRaw),\r\n 'text'\r\n);\r\n\r\nexport default Text;\r\n"],"mappings":"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"}
1
+ {"version":3,"file":"Text.js","names":["React","_interopRequireWildcard","require","_InputGroup","_interopRequireDefault","_BaseInput","_withFormContext","_withThemeContext","_button","_classnames","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","PlusIcon","props","createElement","d","defaultProps","xmlns","width","height","viewBox","TextRaw","BaseInput","constructor","clearClick","inputRef","current","nativeTextAreaValueSetter","window","HTMLInputElement","event","Event","bubbles","dispatchEvent","containerClick","e","stopClickPropagation","stopPropagation","onKeyDown","number","onNumberChange","_props$number","toString","handleValueChange","state","isValid","errors","ignoreContext","formContext","updateCallback","componentId","validation","componentDidUpdate","prevProps","prevState","num","isNaN","_this$props$number","validators","customValidators","required","render","_this$state$value","_this$props$value","clearButtonHidden","disabled","title","tooltip","className","inputGroupClassName","getValidationClass","readOnly","onClick","ref","containerRef","before","id","placeholder","getDisabled","onChange","handleChange","onBlur","handleBlur","onFocus","handleFocus","type","maxLength","size","sizeFromValue","after","showClearButton","unobtrusive","noShadow","classNames","renderDefaultValidation","label","renderLabel","exports","Text","withThemeContext","withFormContext","_default"],"sources":["../../../src/lib/components/text/Text.tsx"],"sourcesContent":["// Libs\r\nimport * as React from 'react';\r\n\r\n// Misc\r\nimport InputGroup from '../inputGroup/InputGroup';\r\nimport {\r\n BaseInputProps,\r\n BaseInputState,\r\n BaseInput,\r\n} from '../base/input/BaseInput';\r\nimport { withFormContext } from '../form/withFormContext';\r\nimport { withThemeContext } from '../themeProvider/withThemeContext';\r\nimport Button from '../button';\r\nimport * as PlusIcon from 'material-design-icons/content/svg/production/ic_add_24px.svg';\r\nimport classNames from 'classnames';\r\n\r\nexport interface TextProps extends BaseInputProps<HTMLInputElement> {\r\n mask?: string;\r\n reverse?: boolean;\r\n placeholder?: string;\r\n stopClickPropagation?: boolean;\r\n inputRef?: React.Ref<HTMLInputElement>;\r\n readOnly?: boolean;\r\n type?: 'number' | 'text';\r\n maxLength?: number;\r\n showClearButton?: boolean;\r\n after?: React.ReactNode;\r\n before?: React.ReactNode;\r\n sizeFromValue?: boolean;\r\n onNumberChange?: (number: number, isValid: boolean) => void;\r\n number?: number;\r\n}\r\n\r\nexport interface TextState extends BaseInputState {}\r\n\r\nexport class TextRaw extends BaseInput<TextProps, TextState, HTMLInputElement> {\r\n public static defaultProps = Object.assign({}, BaseInput.defaultProps, {\r\n type: 'text',\r\n stopClickPropagation: true,\r\n readOnly: false,\r\n }) as TextProps;\r\n\r\n constructor(props: TextProps) {\r\n super(props);\r\n if (props.number !== undefined || props.onNumberChange) {\r\n const value = props.number?.toString() ?? '';\r\n const res = this.handleValueChange(value, true, [], props, true);\r\n this.state = {\r\n ...this.state,\r\n isValid: res.isValid,\r\n errors: res.errors,\r\n value,\r\n };\r\n if (!this.props.ignoreContext) {\r\n this.props.formContext &&\r\n this.props.formContext.updateCallback(this.componentId, {\r\n validation: {\r\n isValid: res.isValid,\r\n errors: res.errors,\r\n },\r\n });\r\n }\r\n }\r\n }\r\n\r\n public componentDidUpdate(prevProps: TextProps, prevState: TextState) {\r\n if (\r\n this.props.onNumberChange &&\r\n (this.state.isValid !== prevState.isValid ||\r\n this.state.value !== prevState.value) &&\r\n this.props.number !== Number(this.state.value)\r\n ) {\r\n const num = Number(this.state.value);\r\n if (this.state.value === '') {\r\n this.props.onNumberChange(undefined, this.state.isValid);\r\n } else if (!isNaN(num)) {\r\n this.props.onNumberChange(num, this.state.isValid);\r\n }\r\n }\r\n if (\r\n (prevProps.number !== undefined || this.props.number !== undefined) &&\r\n this.props.number !== prevProps.number\r\n ) {\r\n this.handleValueChange(this.props.number?.toString() ?? '');\r\n }\r\n if (\r\n !this.props.onNumberChange &&\r\n (prevProps.value !== this.props.value ||\r\n prevProps.validators !== this.props.validators ||\r\n prevProps.customValidators !== this.props.customValidators ||\r\n prevProps.required !== this.props.required)\r\n ) {\r\n this.handleValueChange(this.props.value, true, [], this.props);\r\n }\r\n }\r\n\r\n public render() {\r\n const clearButtonHidden = !this.state.value?.length || this.props.disabled;\r\n return (\r\n <InputGroup\r\n title={this.props.title}\r\n tooltip={this.props.tooltip}\r\n className={this.props.inputGroupClassName}\r\n >\r\n <div\r\n className={`input__base text-input ${this.getValidationClass()} \r\n ${this.props.readOnly ? 'text-input--readOnly' : ''} ${\r\n this.props.className ? this.props.className : ''\r\n }`}\r\n onClick={this.containerClick}\r\n ref={this.containerRef}\r\n >\r\n <div className=\"text-input__textWrapper\">\r\n {this.props.before}\r\n <input\r\n {...(this.props.id && {\r\n id: this.props.id,\r\n })}\r\n ref={this.inputRef}\r\n placeholder={this.props.placeholder}\r\n disabled={this.getDisabled()}\r\n required={this.props.required}\r\n className={this.state.value ? 'filled' : ''}\r\n onChange={this.handleChange}\r\n value={this.state.value ?? ''}\r\n onBlur={this.handleBlur}\r\n onFocus={this.handleFocus}\r\n readOnly={this.props.readOnly}\r\n onKeyDown={this.onKeyDown}\r\n type={this.props.type}\r\n onClick={this.props.onClick}\r\n maxLength={this.props.maxLength}\r\n size={\r\n this.props.sizeFromValue\r\n ? this.props.value?.length || 1\r\n : undefined\r\n }\r\n />\r\n {this.props.after}\r\n {!this.props.readOnly && this.props.showClearButton && (\r\n <Button\r\n {...(this.props.id && {\r\n id: this.props.id + '-clear-button',\r\n })}\r\n disabled={clearButtonHidden}\r\n unobtrusive={true}\r\n noShadow={true}\r\n onClick={this.clearClick}\r\n className={classNames(\r\n 'text-input__clearButton line-height--0',\r\n {\r\n 'text-input__clearButton--hidden': clearButtonHidden,\r\n }\r\n )}\r\n >\r\n <PlusIcon className=\"transform-rotate--45 line-height--0\" />\r\n </Button>\r\n )}\r\n <span className=\"highlight\" />\r\n <span className=\"bar\" />\r\n {this.renderDefaultValidation()}\r\n {this.props.label && (\r\n <label className={this.props.readOnly ? 'label--focused' : ''}>\r\n {this.renderLabel()}\r\n </label>\r\n )}\r\n </div>\r\n </div>\r\n </InputGroup>\r\n );\r\n }\r\n\r\n private clearClick = () => {\r\n if (this.inputRef.current) {\r\n var nativeTextAreaValueSetter = Object.getOwnPropertyDescriptor(\r\n window.HTMLInputElement.prototype,\r\n 'value'\r\n ).set;\r\n if (nativeTextAreaValueSetter) {\r\n nativeTextAreaValueSetter.call(this.inputRef.current, '');\r\n\r\n const event = new Event('input', { bubbles: true });\r\n this.inputRef.current.dispatchEvent(event);\r\n }\r\n }\r\n };\r\n\r\n private containerClick = (e: React.MouseEvent<HTMLDivElement>) =>\r\n this.props.stopClickPropagation && e.stopPropagation();\r\n\r\n private onKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) =>\r\n this.props.onKeyDown && this.props.onKeyDown(e);\r\n}\r\n\r\nexport const Text = withThemeContext<TextProps, InstanceType<typeof TextRaw>>(\r\n withFormContext<TextProps>(TextRaw),\r\n 'text'\r\n);\r\n\r\nexport default Text;\r\n"],"mappings":"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"}