@servicetitan/form 41.0.0 → 41.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date-range-picker.d.ts","sourceRoot":"","sources":["../../src/date-range-picker/date-range-picker.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AACjE,OAAO,EAEH,0BAA0B,EAC1B,wBAAwB,EACxB,sBAAsB,EACtB,iBAAiB,EACjB,UAAU,EACb,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAMrD,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,MAAM,WAAW,oBAAoB;IACjC,KAAK,EAAE,UAAU,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC;IACzC,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,eAAe,CAAC,EAAE,IAAI,CAAC;IACvB,eAAe,CAAC,EAAE,IAAI,CAAC;IACvB,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,aAAa,CAAC,sBAAsB,CAAC,CAAC;IAC1D,oBAAoB,CAAC,EAAE,aAAa,CAAC,wBAAwB,CAAC,CAAC;IAC/D,aAAa,CAAC,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;IACjD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IAC9C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,qBACa,eAAgB,SAAQ,SAAS,CAAC,oBAAoB,CAAC;IAEpD,QAAQ,CAAC,EAAE,GAAG,
|
|
1
|
+
{"version":3,"file":"date-range-picker.d.ts","sourceRoot":"","sources":["../../src/date-range-picker/date-range-picker.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AACjE,OAAO,EAEH,0BAA0B,EAC1B,wBAAwB,EACxB,sBAAsB,EACtB,iBAAiB,EACjB,UAAU,EACb,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAMrD,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,MAAM,WAAW,oBAAoB;IACjC,KAAK,EAAE,UAAU,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC;IACzC,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,eAAe,CAAC,EAAE,IAAI,CAAC;IACvB,eAAe,CAAC,EAAE,IAAI,CAAC;IACvB,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,aAAa,CAAC,sBAAsB,CAAC,CAAC;IAC1D,oBAAoB,CAAC,EAAE,aAAa,CAAC,wBAAwB,CAAC,CAAC;IAC/D,aAAa,CAAC,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;IACjD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IAC9C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,qBACa,eAAgB,SAAQ,SAAS,CAAC,oBAAoB,CAAC;IAEpD,QAAQ,CAAC,EAAE,GAAG,CAAC;IAC3B,SAAS,UAAS;IACN,cAAc,UAAS;IACnC,aAAa,UAAS;IACtB,wBAAwB,UAAS;gBAErB,KAAK,EAAE,oBAAoB;IAMvC,SAAS,GAAI,UAAU,cAAc,UAEnC;IAGF,UAAU,CAAC,IAAI,CAAC,EAAE,OAAO;IAIzB,iBAAiB,GAAI,KAAK,KAAK,UAqB7B;IAEF,0BAA0B,aAExB;IAEF,eAAe,aAUb;IAEF,iBAAiB;IAIjB,oBAAoB;IAIpB,YAAY,GAAI,OAAO,0BAA0B,UAQ/C;IAEF,gBAAgB,GAAI,OAAO,IAAI,UAQ7B;IAEF,cAAc,GAAI,KAAK,IAAI,UAQzB;IAEF,MAAM;IAiIN,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,SAAM;IAIzC,uBAAuB,GAAI,IAAI,cAAc,CAAC,gBAAgB,CAAC,UAG7D;IAEF,IAAI,WAAW,qBAad;IAED,IAAI,SAAS,qBAYZ;CACJ"}
|
|
@@ -175,7 +175,7 @@ export class DateRangePicker extends Component {
|
|
|
175
175
|
}
|
|
176
176
|
constructor(props){
|
|
177
177
|
super(props), // `HTMLDivElement` leads to issues with Node/SSR
|
|
178
|
-
_define_property(this, "wrapElem", void 0), _define_property(this, "isFocused", false), _define_property(this, "showDatePicker", false), _define_property(this, "isIconClicked", false), _define_property(this, "isDateRangePickerClicked", false), _define_property(this, "handleRef", (wrapElem)=>{
|
|
178
|
+
_define_property(this, "wrapElem", void 0 /* HTMLDivElement */ ), _define_property(this, "isFocused", false), _define_property(this, "showDatePicker", false), _define_property(this, "isIconClicked", false), _define_property(this, "isDateRangePickerClicked", false), _define_property(this, "handleRef", (wrapElem)=>{
|
|
179
179
|
this.wrapElem = wrapElem;
|
|
180
180
|
}), _define_property(this, "handleClickGlobal", (evt)=>{
|
|
181
181
|
if (!(evt.target instanceof Node)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/date-range-picker/date-range-picker.tsx"],"sourcesContent":["import { ComponentType, Component, SyntheticEvent } from 'react';\nimport {\n DateRangePicker as DateRangePickerKendo,\n DateRangePickerChangeEvent,\n CalendarHeaderTitleProps,\n MultiViewCalendarProps,\n CalendarCellProps,\n ActiveView,\n} from '@progress/kendo-react-dateinputs';\nimport { Icon, InputDateMask, Stack } from '@servicetitan/design-system';\nimport { DateRange } from '@servicetitan/form-state';\nimport { observable, action, makeObservable } from 'mobx';\nimport { observer } from 'mobx-react';\nimport classnames from 'classnames';\nimport moment from 'moment';\nimport * as Styles from './date-range-picker.module.css';\nimport { FieldState } from 'formstate';\n\nexport interface DateRangePickerProps {\n field: FieldState<DateRange | undefined>;\n ['qa-testing']: string;\n placeHolder?: string;\n minDate?: Date;\n maxDate?: Date;\n calendarMinDate?: Date;\n calendarMaxDate?: Date;\n topView?: ActiveView;\n bottomView?: ActiveView;\n className?: string;\n calendarComponent?: ComponentType<MultiViewCalendarProps>;\n headerTitleComponent?: ComponentType<CalendarHeaderTitleProps>;\n cellComponent?: ComponentType<CalendarCellProps>;\n inputFormat?: string;\n horizontalAlign?: 'left' | 'center' | 'right';\n disabled?: boolean;\n small?: boolean;\n disableRangeValidation?: boolean;\n maskChar?: string;\n}\n\n@observer\nexport class DateRangePicker extends Component<DateRangePickerProps> {\n // `HTMLDivElement` leads to issues with Node/SSR\n @observable wrapElem?: any /* HTMLDivElement */;\n isFocused = false;\n @observable showDatePicker = false;\n isIconClicked = false;\n isDateRangePickerClicked = false;\n\n constructor(props: DateRangePickerProps) {\n super(props);\n makeObservable(this);\n }\n\n @action\n handleRef = (wrapElem: HTMLDivElement) => {\n this.wrapElem = wrapElem;\n };\n\n @action\n toggleShow(show?: boolean) {\n this.showDatePicker = show !== undefined ? show : !this.showDatePicker;\n }\n\n handleClickGlobal = (evt: Event) => {\n if (!(evt.target instanceof Node)) {\n return;\n }\n\n const isPrevFocused = this.isFocused;\n\n this.isFocused = this.isDateRangePickerClicked;\n\n if (!this.isFocused && isPrevFocused) {\n // click outside\n this.props.field.enableAutoValidationAndValidate();\n\n this.toggleShow(false);\n } else if (this.isFocused && !isPrevFocused && !this.isIconClicked) {\n // click inside but outside icons\n this.props.field.disableAutoValidation();\n }\n\n this.isIconClicked = false;\n this.isDateRangePickerClicked = false;\n };\n\n handleClickDateRangePicker = () => {\n this.isDateRangePickerClicked = true;\n };\n\n handleClickIcon = () => {\n this.isIconClicked = true;\n\n if (this.showDatePicker) {\n this.props.field.enableAutoValidationAndValidate();\n } else {\n this.props.field.disableAutoValidation();\n }\n\n this.toggleShow();\n };\n\n componentDidMount() {\n window.addEventListener('click', this.handleClickGlobal);\n }\n\n componentWillUnmount() {\n window.removeEventListener('click', this.handleClickGlobal);\n }\n\n handleChange = (event: DateRangePickerChangeEvent) => {\n const value = event.target.value;\n\n if (value.start && value.end && value.start > value.end) {\n [value.start, value.end] = [value.end, value.start];\n }\n\n this.props.field.onChange({ from: value.start ?? undefined, to: value.end ?? undefined });\n };\n\n handleFromChange = (from?: Date) => {\n const to = this.props.field.value ? this.props.field.value.to : undefined;\n\n if (from || to) {\n this.props.field.onChange({ from, to });\n } else {\n this.props.field.onChange(undefined);\n }\n };\n\n handleToChange = (to?: Date) => {\n const from = this.props.field.value ? this.props.field.value.from : undefined;\n\n if (from || to) {\n this.props.field.onChange({ from, to });\n } else {\n this.props.field.onChange(undefined);\n }\n };\n\n render() {\n const { hasError } = this.props.field;\n const {\n 'qa-testing': qaTestingLocator,\n placeHolder,\n inputFormat,\n className,\n calendarComponent,\n headerTitleComponent,\n cellComponent,\n minDate,\n maxDate,\n calendarMinDate,\n calendarMaxDate,\n topView,\n bottomView,\n horizontalAlign,\n disabled = false,\n small,\n maskChar,\n } = this.props;\n\n const value = this.props.field.value ? this.props.field.value : {};\n\n const horizontalAlignClass = classnames({\n [Styles.popupCenter]: horizontalAlign === 'center',\n [Styles.popupRight]: horizontalAlign === 'right',\n });\n\n return (\n <div\n className={classnames(Styles.dateRangePicker, className)}\n ref={this.handleRef}\n onClick={this.handleClickDateRangePicker}\n >\n <DateRangePickerKendo\n className={Styles.dateRangePickerKendo}\n calendarSettings={{\n min: minDate ?? calendarMinDate,\n max: maxDate ?? calendarMaxDate,\n topView,\n bottomView,\n disabled,\n mode: 'range',\n headerTitle: headerTitleComponent,\n cell: cellComponent,\n }}\n popupSettings={{\n appendTo: this.wrapElem,\n className: horizontalAlignClass,\n }}\n startDateInputSettings={{\n tabIndex: -1,\n }}\n endDateInputSettings={{\n tabIndex: -1,\n }}\n show={this.showDatePicker}\n value={{ start: value.from ?? null, end: value.to ?? null }}\n onChange={this.handleChange}\n min={minDate}\n max={maxDate}\n calendar={calendarComponent}\n />\n <Stack alignItems=\"center\" className=\"flex-grow-1\">\n <Stack.Item fill>\n <InputDateMask\n shortLabel={\n <Icon\n name=\"today\"\n className={classnames(\n Styles.icon,\n `${qaTestingLocator}-icon-from`\n )}\n onClick={this.handleClickIcon}\n />\n }\n placeholder={placeHolder}\n value={value.from}\n onChange={this.handleFromChange}\n onBlur={this.handleFromChange}\n error={hasError}\n disabled={disabled}\n qa-testing={`${qaTestingLocator}-from`}\n dateFormat={inputFormat}\n minDate={minDate}\n maxDate={this.maxFromDate}\n small={small}\n maskChar={maskChar}\n />\n </Stack.Item>\n <Icon name=\"arrow_forward\" className={Styles.endLabel} />\n <Stack.Item fill>\n <InputDateMask\n shortLabel={\n <Icon\n name=\"today\"\n className={classnames(\n Styles.icon,\n `${qaTestingLocator}-icon-to`\n )}\n onClick={this.handleClickIcon}\n />\n }\n placeholder={placeHolder}\n value={value.to}\n onChange={this.handleToChange}\n onBlur={this.handleToChange}\n error={hasError}\n disabled={disabled}\n qa-testing={`${qaTestingLocator}-to`}\n dateFormat={inputFormat}\n minDate={this.minToDate}\n maxDate={maxDate}\n small={small}\n maskChar={maskChar}\n />\n </Stack.Item>\n </Stack>\n <input\n hidden\n // eslint-disable-next-line react/no-unknown-property\n qa-testing={qaTestingLocator}\n onChange={this.handleHiddenInputChange}\n />\n </div>\n );\n }\n\n formatDate(date?: Date, inputFormat = 'L') {\n return date ? moment(date).format(inputFormat) : '';\n }\n\n handleHiddenInputChange = (ev: SyntheticEvent<HTMLInputElement>) => {\n const values = ev.currentTarget.value.split('-').map(v => new Date(v));\n this.props.field.onChange({ from: values[0] || undefined, to: values[1] || undefined });\n };\n\n get maxFromDate() {\n const { disableRangeValidation, maxDate, field } = this.props;\n if (disableRangeValidation) {\n return maxDate;\n }\n\n const to = field.value ? field.value.to : undefined;\n\n if (maxDate && to) {\n return maxDate > to ? to : maxDate;\n }\n\n return maxDate ?? to;\n }\n\n get minToDate() {\n const { disableRangeValidation, minDate, field } = this.props;\n if (disableRangeValidation) {\n return minDate;\n }\n\n const from = field.value ? field.value.from : undefined;\n if (minDate && from) {\n return minDate < from ? from : minDate;\n }\n\n return minDate ?? from;\n }\n}\n"],"names":["Component","DateRangePicker","DateRangePickerKendo","Icon","InputDateMask","Stack","observable","action","makeObservable","observer","classnames","moment","Styles","toggleShow","show","showDatePicker","undefined","componentDidMount","window","addEventListener","handleClickGlobal","componentWillUnmount","removeEventListener","render","value","hasError","props","field","qaTestingLocator","placeHolder","inputFormat","className","calendarComponent","headerTitleComponent","cellComponent","minDate","maxDate","calendarMinDate","calendarMaxDate","topView","bottomView","horizontalAlign","disabled","small","maskChar","horizontalAlignClass","popupCenter","popupRight","div","dateRangePicker","ref","handleRef","onClick","handleClickDateRangePicker","dateRangePickerKendo","calendarSettings","min","max","mode","headerTitle","cell","popupSettings","appendTo","wrapElem","startDateInputSettings","tabIndex","endDateInputSettings","start","from","end","to","onChange","handleChange","calendar","alignItems","Item","fill","shortLabel","name","icon","handleClickIcon","placeholder","handleFromChange","onBlur","error","qa-testing","dateFormat","maxFromDate","endLabel","handleToChange","minToDate","input","hidden","handleHiddenInputChange","formatDate","date","format","disableRangeValidation","isFocused","isIconClicked","isDateRangePickerClicked","evt","target","Node","isPrevFocused","enableAutoValidationAndValidate","disableAutoValidation","event","ev","values","currentTarget","split","map","v","Date"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../src/date-range-picker/date-range-picker.tsx"],"sourcesContent":["import { ComponentType, Component, SyntheticEvent } from 'react';\nimport {\n DateRangePicker as DateRangePickerKendo,\n DateRangePickerChangeEvent,\n CalendarHeaderTitleProps,\n MultiViewCalendarProps,\n CalendarCellProps,\n ActiveView,\n} from '@progress/kendo-react-dateinputs';\nimport { Icon, InputDateMask, Stack } from '@servicetitan/design-system';\nimport { DateRange } from '@servicetitan/form-state';\nimport { observable, action, makeObservable } from 'mobx';\nimport { observer } from 'mobx-react';\nimport classnames from 'classnames';\nimport moment from 'moment';\nimport * as Styles from './date-range-picker.module.css';\nimport { FieldState } from 'formstate';\n\nexport interface DateRangePickerProps {\n field: FieldState<DateRange | undefined>;\n ['qa-testing']: string;\n placeHolder?: string;\n minDate?: Date;\n maxDate?: Date;\n calendarMinDate?: Date;\n calendarMaxDate?: Date;\n topView?: ActiveView;\n bottomView?: ActiveView;\n className?: string;\n calendarComponent?: ComponentType<MultiViewCalendarProps>;\n headerTitleComponent?: ComponentType<CalendarHeaderTitleProps>;\n cellComponent?: ComponentType<CalendarCellProps>;\n inputFormat?: string;\n horizontalAlign?: 'left' | 'center' | 'right';\n disabled?: boolean;\n small?: boolean;\n disableRangeValidation?: boolean;\n maskChar?: string;\n}\n\n@observer\nexport class DateRangePicker extends Component<DateRangePickerProps> {\n // `HTMLDivElement` leads to issues with Node/SSR\n @observable wrapElem?: any; /* HTMLDivElement */\n isFocused = false;\n @observable showDatePicker = false;\n isIconClicked = false;\n isDateRangePickerClicked = false;\n\n constructor(props: DateRangePickerProps) {\n super(props);\n makeObservable(this);\n }\n\n @action\n handleRef = (wrapElem: HTMLDivElement) => {\n this.wrapElem = wrapElem;\n };\n\n @action\n toggleShow(show?: boolean) {\n this.showDatePicker = show !== undefined ? show : !this.showDatePicker;\n }\n\n handleClickGlobal = (evt: Event) => {\n if (!(evt.target instanceof Node)) {\n return;\n }\n\n const isPrevFocused = this.isFocused;\n\n this.isFocused = this.isDateRangePickerClicked;\n\n if (!this.isFocused && isPrevFocused) {\n // click outside\n this.props.field.enableAutoValidationAndValidate();\n\n this.toggleShow(false);\n } else if (this.isFocused && !isPrevFocused && !this.isIconClicked) {\n // click inside but outside icons\n this.props.field.disableAutoValidation();\n }\n\n this.isIconClicked = false;\n this.isDateRangePickerClicked = false;\n };\n\n handleClickDateRangePicker = () => {\n this.isDateRangePickerClicked = true;\n };\n\n handleClickIcon = () => {\n this.isIconClicked = true;\n\n if (this.showDatePicker) {\n this.props.field.enableAutoValidationAndValidate();\n } else {\n this.props.field.disableAutoValidation();\n }\n\n this.toggleShow();\n };\n\n componentDidMount() {\n window.addEventListener('click', this.handleClickGlobal);\n }\n\n componentWillUnmount() {\n window.removeEventListener('click', this.handleClickGlobal);\n }\n\n handleChange = (event: DateRangePickerChangeEvent) => {\n const value = event.target.value;\n\n if (value.start && value.end && value.start > value.end) {\n [value.start, value.end] = [value.end, value.start];\n }\n\n this.props.field.onChange({ from: value.start ?? undefined, to: value.end ?? undefined });\n };\n\n handleFromChange = (from?: Date) => {\n const to = this.props.field.value ? this.props.field.value.to : undefined;\n\n if (from || to) {\n this.props.field.onChange({ from, to });\n } else {\n this.props.field.onChange(undefined);\n }\n };\n\n handleToChange = (to?: Date) => {\n const from = this.props.field.value ? this.props.field.value.from : undefined;\n\n if (from || to) {\n this.props.field.onChange({ from, to });\n } else {\n this.props.field.onChange(undefined);\n }\n };\n\n render() {\n const { hasError } = this.props.field;\n const {\n 'qa-testing': qaTestingLocator,\n placeHolder,\n inputFormat,\n className,\n calendarComponent,\n headerTitleComponent,\n cellComponent,\n minDate,\n maxDate,\n calendarMinDate,\n calendarMaxDate,\n topView,\n bottomView,\n horizontalAlign,\n disabled = false,\n small,\n maskChar,\n } = this.props;\n\n const value = this.props.field.value ? this.props.field.value : {};\n\n const horizontalAlignClass = classnames({\n [Styles.popupCenter]: horizontalAlign === 'center',\n [Styles.popupRight]: horizontalAlign === 'right',\n });\n\n return (\n <div\n className={classnames(Styles.dateRangePicker, className)}\n ref={this.handleRef}\n onClick={this.handleClickDateRangePicker}\n >\n <DateRangePickerKendo\n className={Styles.dateRangePickerKendo}\n calendarSettings={{\n min: minDate ?? calendarMinDate,\n max: maxDate ?? calendarMaxDate,\n topView,\n bottomView,\n disabled,\n mode: 'range',\n headerTitle: headerTitleComponent,\n cell: cellComponent,\n }}\n popupSettings={{\n appendTo: this.wrapElem,\n className: horizontalAlignClass,\n }}\n startDateInputSettings={{\n tabIndex: -1,\n }}\n endDateInputSettings={{\n tabIndex: -1,\n }}\n show={this.showDatePicker}\n value={{ start: value.from ?? null, end: value.to ?? null }}\n onChange={this.handleChange}\n min={minDate}\n max={maxDate}\n calendar={calendarComponent}\n />\n <Stack alignItems=\"center\" className=\"flex-grow-1\">\n <Stack.Item fill>\n <InputDateMask\n shortLabel={\n <Icon\n name=\"today\"\n className={classnames(\n Styles.icon,\n `${qaTestingLocator}-icon-from`\n )}\n onClick={this.handleClickIcon}\n />\n }\n placeholder={placeHolder}\n value={value.from}\n onChange={this.handleFromChange}\n onBlur={this.handleFromChange}\n error={hasError}\n disabled={disabled}\n qa-testing={`${qaTestingLocator}-from`}\n dateFormat={inputFormat}\n minDate={minDate}\n maxDate={this.maxFromDate}\n small={small}\n maskChar={maskChar}\n />\n </Stack.Item>\n <Icon name=\"arrow_forward\" className={Styles.endLabel} />\n <Stack.Item fill>\n <InputDateMask\n shortLabel={\n <Icon\n name=\"today\"\n className={classnames(\n Styles.icon,\n `${qaTestingLocator}-icon-to`\n )}\n onClick={this.handleClickIcon}\n />\n }\n placeholder={placeHolder}\n value={value.to}\n onChange={this.handleToChange}\n onBlur={this.handleToChange}\n error={hasError}\n disabled={disabled}\n qa-testing={`${qaTestingLocator}-to`}\n dateFormat={inputFormat}\n minDate={this.minToDate}\n maxDate={maxDate}\n small={small}\n maskChar={maskChar}\n />\n </Stack.Item>\n </Stack>\n <input\n hidden\n // eslint-disable-next-line react/no-unknown-property\n qa-testing={qaTestingLocator}\n onChange={this.handleHiddenInputChange}\n />\n </div>\n );\n }\n\n formatDate(date?: Date, inputFormat = 'L') {\n return date ? moment(date).format(inputFormat) : '';\n }\n\n handleHiddenInputChange = (ev: SyntheticEvent<HTMLInputElement>) => {\n const values = ev.currentTarget.value.split('-').map(v => new Date(v));\n this.props.field.onChange({ from: values[0] || undefined, to: values[1] || undefined });\n };\n\n get maxFromDate() {\n const { disableRangeValidation, maxDate, field } = this.props;\n if (disableRangeValidation) {\n return maxDate;\n }\n\n const to = field.value ? field.value.to : undefined;\n\n if (maxDate && to) {\n return maxDate > to ? to : maxDate;\n }\n\n return maxDate ?? to;\n }\n\n get minToDate() {\n const { disableRangeValidation, minDate, field } = this.props;\n if (disableRangeValidation) {\n return minDate;\n }\n\n const from = field.value ? field.value.from : undefined;\n if (minDate && from) {\n return minDate < from ? from : minDate;\n }\n\n return minDate ?? from;\n }\n}\n"],"names":["Component","DateRangePicker","DateRangePickerKendo","Icon","InputDateMask","Stack","observable","action","makeObservable","observer","classnames","moment","Styles","toggleShow","show","showDatePicker","undefined","componentDidMount","window","addEventListener","handleClickGlobal","componentWillUnmount","removeEventListener","render","value","hasError","props","field","qaTestingLocator","placeHolder","inputFormat","className","calendarComponent","headerTitleComponent","cellComponent","minDate","maxDate","calendarMinDate","calendarMaxDate","topView","bottomView","horizontalAlign","disabled","small","maskChar","horizontalAlignClass","popupCenter","popupRight","div","dateRangePicker","ref","handleRef","onClick","handleClickDateRangePicker","dateRangePickerKendo","calendarSettings","min","max","mode","headerTitle","cell","popupSettings","appendTo","wrapElem","startDateInputSettings","tabIndex","endDateInputSettings","start","from","end","to","onChange","handleChange","calendar","alignItems","Item","fill","shortLabel","name","icon","handleClickIcon","placeholder","handleFromChange","onBlur","error","qa-testing","dateFormat","maxFromDate","endLabel","handleToChange","minToDate","input","hidden","handleHiddenInputChange","formatDate","date","format","disableRangeValidation","isFocused","isIconClicked","isDateRangePickerClicked","evt","target","Node","isPrevFocused","enableAutoValidationAndValidate","disableAutoValidation","event","ev","values","currentTarget","split","map","v","Date"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@servicetitan/form",
|
|
3
|
-
"version": "41.
|
|
3
|
+
"version": "41.1.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"homepage": "https://docs.st.dev/docs/frontend/form",
|
|
6
6
|
"repository": {
|
|
@@ -18,14 +18,14 @@
|
|
|
18
18
|
"devDependencies": {
|
|
19
19
|
"@progress/kendo-react-dateinputs": "~5.5.0",
|
|
20
20
|
"@servicetitan/anvil2": "^2.0.1",
|
|
21
|
-
"@servicetitan/confirm": "^41.
|
|
22
|
-
"@servicetitan/culture": "^41.
|
|
21
|
+
"@servicetitan/confirm": "^41.1.0",
|
|
22
|
+
"@servicetitan/culture": "^41.1.0",
|
|
23
23
|
"@servicetitan/design-system": "~14.5.1",
|
|
24
|
-
"@servicetitan/form-state": "^41.
|
|
25
|
-
"@servicetitan/hash-browser-router": "^
|
|
26
|
-
"@servicetitan/react-ioc": "^
|
|
24
|
+
"@servicetitan/form-state": "^41.1.0",
|
|
25
|
+
"@servicetitan/hash-browser-router": "^38.0.0",
|
|
26
|
+
"@servicetitan/react-ioc": "^38.0.0",
|
|
27
27
|
"@servicetitan/tokens": ">=12.2.1",
|
|
28
|
-
"@servicetitan/web-components": "^
|
|
28
|
+
"@servicetitan/web-components": "^38.0.0",
|
|
29
29
|
"@testing-library/jest-dom": "^6.4.2",
|
|
30
30
|
"@testing-library/react": "^14.2.1",
|
|
31
31
|
"@types/js-cookie": "^3.0.3",
|
|
@@ -43,10 +43,10 @@
|
|
|
43
43
|
"peerDependencies": {
|
|
44
44
|
"@progress/kendo-react-dateinputs": "~5.5.0",
|
|
45
45
|
"@servicetitan/anvil2": ">=1.42.0",
|
|
46
|
-
"@servicetitan/confirm": "^41.
|
|
47
|
-
"@servicetitan/culture": "^41.
|
|
46
|
+
"@servicetitan/confirm": "^41.1.0",
|
|
47
|
+
"@servicetitan/culture": "^41.1.0",
|
|
48
48
|
"@servicetitan/design-system": ">=13.2.1",
|
|
49
|
-
"@servicetitan/form-state": "^41.
|
|
49
|
+
"@servicetitan/form-state": "^41.1.0",
|
|
50
50
|
"@servicetitan/react-ioc": ">21.0.0",
|
|
51
51
|
"@servicetitan/tokens": ">=12.2.1",
|
|
52
52
|
"accounting": "~0.4.1",
|
|
@@ -71,5 +71,5 @@
|
|
|
71
71
|
"less": true,
|
|
72
72
|
"webpack": false
|
|
73
73
|
},
|
|
74
|
-
"gitHead": "
|
|
74
|
+
"gitHead": "8f8350c50fa1bbe118b418b9022105bd84d68efa"
|
|
75
75
|
}
|
|
@@ -41,7 +41,7 @@ export interface DateRangePickerProps {
|
|
|
41
41
|
@observer
|
|
42
42
|
export class DateRangePicker extends Component<DateRangePickerProps> {
|
|
43
43
|
// `HTMLDivElement` leads to issues with Node/SSR
|
|
44
|
-
@observable wrapElem?: any /* HTMLDivElement
|
|
44
|
+
@observable wrapElem?: any; /* HTMLDivElement */
|
|
45
45
|
isFocused = false;
|
|
46
46
|
@observable showDatePicker = false;
|
|
47
47
|
isIconClicked = false;
|