@servicetitan/form 31.2.0 → 31.3.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.
- package/dist/color-picker/color-palette.js +8 -9
- package/dist/color-picker/color-palette.js.map +1 -1
- package/dist/color-picker/color-picker.js +46 -9
- package/dist/color-picker/color-picker.js.map +1 -1
- package/dist/color-picker/color-picker.module.css.d.ts +4 -0
- package/dist/color-picker/index.js +1 -0
- package/dist/color-picker/index.js.map +1 -1
- package/dist/date-range-picker/date-range-picker.js +205 -174
- package/dist/date-range-picker/date-range-picker.js.map +1 -1
- package/dist/date-range-picker/date-range-picker.module.css.d.ts +8 -0
- package/dist/date-range-picker/index.js +1 -0
- package/dist/date-range-picker/index.js.map +1 -1
- package/dist/demo/color-picker.js +39 -4
- package/dist/demo/color-picker.js.map +1 -1
- package/dist/demo/date-range-picker.js +18 -2
- package/dist/demo/date-range-picker.js.map +1 -1
- package/dist/demo/file-uploader.js +94 -12
- package/dist/demo/file-uploader.js.map +1 -1
- package/dist/demo/index.js +1 -0
- package/dist/demo/index.js.map +1 -1
- package/dist/demo/input-date-mask.js +18 -2
- package/dist/demo/input-date-mask.js.map +1 -1
- package/dist/demo/number-input.js +121 -3
- package/dist/demo/number-input.js.map +1 -1
- package/dist/demo/original-number-input.js +18 -2
- package/dist/demo/original-number-input.js.map +1 -1
- package/dist/demo/phone-number-input.js +5 -1
- package/dist/demo/phone-number-input.js.map +1 -1
- package/dist/file-uploader/config.js +10 -1
- package/dist/file-uploader/config.js.map +1 -1
- package/dist/file-uploader/file-uploader.js +189 -192
- package/dist/file-uploader/file-uploader.js.map +1 -1
- package/dist/file-uploader/index.js +3 -1
- package/dist/file-uploader/index.js.map +1 -1
- package/dist/file-uploader/uploader.js +57 -41
- package/dist/file-uploader/uploader.js.map +1 -1
- package/dist/form-state-error-banner/form-state-error-banner.js +15 -5
- package/dist/form-state-error-banner/form-state-error-banner.js.map +1 -1
- package/dist/form-state-error-banner/index.js +1 -0
- package/dist/form-state-error-banner/index.js.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/input-date-mask/index.js +1 -0
- package/dist/input-date-mask/index.js.map +1 -1
- package/dist/input-date-mask/input-date-mask.js +47 -28
- package/dist/input-date-mask/input-date-mask.js.map +1 -1
- package/dist/input-date-mask/input-date-mask.module.css.d.ts +4 -0
- package/dist/label/index.js +1 -0
- package/dist/label/index.js.map +1 -1
- package/dist/label/label.js +29 -1
- package/dist/label/label.js.map +1 -1
- package/dist/label/label.module.css.d.ts +7 -0
- package/dist/masked-input.js +17 -4
- package/dist/masked-input.js.map +1 -1
- package/dist/number-input/common-interfaces.js +2 -1
- package/dist/number-input/common-interfaces.js.map +1 -1
- package/dist/number-input/get-formatted-string.js +2 -3
- package/dist/number-input/get-formatted-string.js.map +1 -1
- package/dist/number-input/index.js +1 -0
- package/dist/number-input/index.js.map +1 -1
- package/dist/number-input/number-input.js +53 -42
- package/dist/number-input/number-input.js.map +1 -1
- package/dist/number-input/process-value.js +10 -16
- package/dist/number-input/process-value.js.map +1 -1
- package/dist/original-number-input/index.js +1 -0
- package/dist/original-number-input/index.js.map +1 -1
- package/dist/original-number-input/ordinal-number-input.js +54 -59
- package/dist/original-number-input/ordinal-number-input.js.map +1 -1
- package/dist/phone-number-input/index.js +1 -0
- package/dist/phone-number-input/index.js.map +1 -1
- package/dist/phone-number-input/phone-number-input.js +13 -1
- package/dist/phone-number-input/phone-number-input.js.map +1 -1
- package/package.json +13 -13
- package/dist/form.stories.js +0 -20
- package/dist/form.stories.js.map +0 -1
- package/dist/number-input/__tests__/get-formatted-string.test.js +0 -41
- package/dist/number-input/__tests__/get-formatted-string.test.js.map +0 -1
- package/dist/number-input/__tests__/process-value.test.js +0 -283
- package/dist/number-input/__tests__/process-value.test.js.map +0 -1
- package/dist/original-number-input/__tests__/ordinal-number-input.test.js +0 -51
- package/dist/original-number-input/__tests__/ordinal-number-input.test.js.map +0 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"date-range-picker.js","sourceRoot":"","sources":["../../src/date-range-picker/date-range-picker.tsx"],"names":[],"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","hasError","props","field","qaTestingLocator","placeHolder","inputFormat","className","calendarComponent","headerTitleComponent","cellComponent","minDate","maxDate","calendarMinDate","calendarMaxDate","topView","bottomView","horizontalAlign","disabled","small","maskChar","value","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","constructor","isFocused","isIconClicked","isDateRangePickerClicked","evt","target","Node","isPrevFocused","enableAutoValidationAndValidate","disableAutoValidation","event","ev","values","currentTarget","split","map","v","Date"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAwBA,SAAS,QAAwB,QAAQ;AACjE,SACIC,mBAAmBC,oBAAoB,QAMpC,mCAAmC;AAC1C,SAASC,IAAI,EAAEC,aAAa,EAAEC,KAAK,QAAQ,8BAA8B;AAEzE,SAASC,UAAU,EAAEC,MAAM,EAAEC,cAAc,QAAQ,OAAO;AAC1D,SAASC,QAAQ,QAAQ,aAAa;AACtC,OAAOC,gBAAgB,aAAa;AACpC,OAAOC,YAAY,SAAS;AAC5B,YAAYC,YAAY,iCAAiC;AA0BzD,OAAO,MAAMX,wBAAwBD;IAmBjCa,WAAWC,IAAc,EAAE;QACvB,IAAI,CAACC,cAAc,GAAGD,SAASE,YAAYF,OAAO,CAAC,IAAI,CAACC,cAAc;IAC1E;IAyCAE,oBAAoB;QAChBC,OAAOC,gBAAgB,CAAC,SAAS,IAAI,CAACC,iBAAiB;IAC3D;IAEAC,uBAAuB;QACnBH,OAAOI,mBAAmB,CAAC,SAAS,IAAI,CAACF,iBAAiB;IAC9D;IAgCAG,SAAS;QACL,MAAM,EAAEC,QAAQ,EAAE,GAAG,IAAI,CAACC,KAAK,CAACC,KAAK;QACrC,MAAM,EACF,cAAcC,gBAAgB,EAC9BC,WAAW,EACXC,WAAW,EACXC,SAAS,EACTC,iBAAiB,EACjBC,oBAAoB,EACpBC,aAAa,EACbC,OAAO,EACPC,OAAO,EACPC,eAAe,EACfC,eAAe,EACfC,OAAO,EACPC,UAAU,EACVC,eAAe,EACfC,WAAW,KAAK,EAChBC,KAAK,EACLC,QAAQ,EACX,GAAG,IAAI,CAAClB,KAAK;QAEd,MAAMmB,QAAQ,IAAI,CAACnB,KAAK,CAACC,KAAK,CAACkB,KAAK,GAAG,IAAI,CAACnB,KAAK,CAACC,KAAK,CAACkB,KAAK,GAAG,CAAC;QAEjE,MAAMC,uBAAuBnC,WAAW;YACpC,CAACE,OAAOkC,WAAW,CAAC,EAAEN,oBAAoB;YAC1C,CAAC5B,OAAOmC,UAAU,CAAC,EAAEP,oBAAoB;QAC7C;YA+B4BI,aAAyBA;QA7BrD,qBACI,MAACI;YACGlB,WAAWpB,WAAWE,OAAOqC,eAAe,EAAEnB;YAC9CoB,KAAK,IAAI,CAACC,SAAS;YACnBC,SAAS,IAAI,CAACC,0BAA0B;;8BAExC,KAACnD;oBACG4B,WAAWlB,OAAO0C,oBAAoB;oBACtCC,kBAAkB;wBACdC,KAAKtB,oBAAAA,qBAAAA,UAAWE;wBAChBqB,KAAKtB,oBAAAA,qBAAAA,UAAWE;wBAChBC;wBACAC;wBACAE;wBACAiB,MAAM;wBACNC,aAAa3B;wBACb4B,MAAM3B;oBACV;oBACA4B,eAAe;wBACXC,UAAU,IAAI,CAACC,QAAQ;wBACvBjC,WAAWe;oBACf;oBACAmB,wBAAwB;wBACpBC,UAAU,CAAC;oBACf;oBACAC,sBAAsB;wBAClBD,UAAU,CAAC;oBACf;oBACAnD,MAAM,IAAI,CAACC,cAAc;oBACzB6B,OAAO;wBAAEuB,OAAOvB,CAAAA,cAAAA,MAAMwB,IAAI,cAAVxB,yBAAAA,cAAc;wBAAMyB,KAAKzB,CAAAA,YAAAA,MAAM0B,EAAE,cAAR1B,uBAAAA,YAAY;oBAAK;oBAC1D2B,UAAU,IAAI,CAACC,YAAY;oBAC3BhB,KAAKtB;oBACLuB,KAAKtB;oBACLsC,UAAU1C;;8BAEd,MAAC1B;oBAAMqE,YAAW;oBAAS5C,WAAU;;sCACjC,KAACzB,MAAMsE,IAAI;4BAACC,IAAI;sCACZ,cAAA,KAACxE;gCACGyE,0BACI,KAAC1E;oCACG2E,MAAK;oCACLhD,WAAWpB,WACPE,OAAOmE,IAAI,EACX,GAAGpD,iBAAiB,UAAU,CAAC;oCAEnCyB,SAAS,IAAI,CAAC4B,eAAe;;gCAGrCC,aAAarD;gCACbgB,OAAOA,MAAMwB,IAAI;gCACjBG,UAAU,IAAI,CAACW,gBAAgB;gCAC/BC,QAAQ,IAAI,CAACD,gBAAgB;gCAC7BE,OAAO5D;gCACPiB,UAAUA;gCACV4C,cAAY,GAAG1D,iBAAiB,KAAK,CAAC;gCACtC2D,YAAYzD;gCACZK,SAASA;gCACTC,SAAS,IAAI,CAACoD,WAAW;gCACzB7C,OAAOA;gCACPC,UAAUA;;;sCAGlB,KAACxC;4BAAK2E,MAAK;4BAAgBhD,WAAWlB,OAAO4E,QAAQ;;sCACrD,KAACnF,MAAMsE,IAAI;4BAACC,IAAI;sCACZ,cAAA,KAACxE;gCACGyE,0BACI,KAAC1E;oCACG2E,MAAK;oCACLhD,WAAWpB,WACPE,OAAOmE,IAAI,EACX,GAAGpD,iBAAiB,QAAQ,CAAC;oCAEjCyB,SAAS,IAAI,CAAC4B,eAAe;;gCAGrCC,aAAarD;gCACbgB,OAAOA,MAAM0B,EAAE;gCACfC,UAAU,IAAI,CAACkB,cAAc;gCAC7BN,QAAQ,IAAI,CAACM,cAAc;gCAC3BL,OAAO5D;gCACPiB,UAAUA;gCACV4C,cAAY,GAAG1D,iBAAiB,GAAG,CAAC;gCACpC2D,YAAYzD;gCACZK,SAAS,IAAI,CAACwD,SAAS;gCACvBvD,SAASA;gCACTO,OAAOA;gCACPC,UAAUA;;;;;8BAItB,KAACgD;oBACGC,MAAM;oBACN,qDAAqD;oBACrDP,cAAY1D;oBACZ4C,UAAU,IAAI,CAACsB,uBAAuB;;;;IAItD;IAEAC,WAAWC,IAAW,EAAElE,cAAc,GAAG,EAAE;QACvC,OAAOkE,OAAOpF,OAAOoF,MAAMC,MAAM,CAACnE,eAAe;IACrD;IAOA,IAAI0D,cAAc;QACd,MAAM,EAAEU,sBAAsB,EAAE9D,OAAO,EAAET,KAAK,EAAE,GAAG,IAAI,CAACD,KAAK;QAC7D,IAAIwE,wBAAwB;YACxB,OAAO9D;QACX;QAEA,MAAMmC,KAAK5C,MAAMkB,KAAK,GAAGlB,MAAMkB,KAAK,CAAC0B,EAAE,GAAGtD;QAE1C,IAAImB,WAAWmC,IAAI;YACf,OAAOnC,UAAUmC,KAAKA,KAAKnC;QAC/B;QAEA,OAAOA,oBAAAA,qBAAAA,UAAWmC;IACtB;IAEA,IAAIoB,YAAY;QACZ,MAAM,EAAEO,sBAAsB,EAAE/D,OAAO,EAAER,KAAK,EAAE,GAAG,IAAI,CAACD,KAAK;QAC7D,IAAIwE,wBAAwB;YACxB,OAAO/D;QACX;QAEA,MAAMkC,OAAO1C,MAAMkB,KAAK,GAAGlB,MAAMkB,KAAK,CAACwB,IAAI,GAAGpD;QAC9C,IAAIkB,WAAWkC,MAAM;YACjB,OAAOlC,UAAUkC,OAAOA,OAAOlC;QACnC;QAEA,OAAOA,oBAAAA,qBAAAA,UAAWkC;IACtB;IAjQA8B,YAAYzE,KAA2B,CAAE;QACrC,KAAK,CAACA,QARV,iDAAiD;QACjD,uBAAYsC,YAAZ,KAAA,IACAoC,uBAAAA,aAAY,QACZ,uBAAYpF,kBAAiB,QAC7BqF,uBAAAA,iBAAgB,QAChBC,uBAAAA,4BAA2B,QAO3B,uBACAlD,aAAY,CAACY;YACT,IAAI,CAACA,QAAQ,GAAGA;QACpB,IAOA3C,uBAAAA,qBAAoB,CAACkF;YACjB,IAAI,CAAEA,CAAAA,IAAIC,MAAM,YAAYC,IAAG,GAAI;gBAC/B;YACJ;YAEA,MAAMC,gBAAgB,IAAI,CAACN,SAAS;YAEpC,IAAI,CAACA,SAAS,GAAG,IAAI,CAACE,wBAAwB;YAE9C,IAAI,CAAC,IAAI,CAACF,SAAS,IAAIM,eAAe;gBAClC,gBAAgB;gBAChB,IAAI,CAAChF,KAAK,CAACC,KAAK,CAACgF,+BAA+B;gBAEhD,IAAI,CAAC7F,UAAU,CAAC;YACpB,OAAO,IAAI,IAAI,CAACsF,SAAS,IAAI,CAACM,iBAAiB,CAAC,IAAI,CAACL,aAAa,EAAE;gBAChE,iCAAiC;gBACjC,IAAI,CAAC3E,KAAK,CAACC,KAAK,CAACiF,qBAAqB;YAC1C;YAEA,IAAI,CAACP,aAAa,GAAG;YACrB,IAAI,CAACC,wBAAwB,GAAG;QACpC,IAEAhD,uBAAAA,8BAA6B;YACzB,IAAI,CAACgD,wBAAwB,GAAG;QACpC,IAEArB,uBAAAA,mBAAkB;YACd,IAAI,CAACoB,aAAa,GAAG;YAErB,IAAI,IAAI,CAACrF,cAAc,EAAE;gBACrB,IAAI,CAACU,KAAK,CAACC,KAAK,CAACgF,+BAA+B;YACpD,OAAO;gBACH,IAAI,CAACjF,KAAK,CAACC,KAAK,CAACiF,qBAAqB;YAC1C;YAEA,IAAI,CAAC9F,UAAU;QACnB,IAUA2D,uBAAAA,gBAAe,CAACoC;YACZ,MAAMhE,QAAQgE,MAAML,MAAM,CAAC3D,KAAK;YAEhC,IAAIA,MAAMuB,KAAK,IAAIvB,MAAMyB,GAAG,IAAIzB,MAAMuB,KAAK,GAAGvB,MAAMyB,GAAG,EAAE;gBACrD,CAACzB,MAAMuB,KAAK,EAAEvB,MAAMyB,GAAG,CAAC,GAAG;oBAACzB,MAAMyB,GAAG;oBAAEzB,MAAMuB,KAAK;iBAAC;YACvD;gBAEkCvB,cAA8BA;YAAhE,IAAI,CAACnB,KAAK,CAACC,KAAK,CAAC6C,QAAQ,CAAC;gBAAEH,MAAMxB,CAAAA,eAAAA,MAAMuB,KAAK,cAAXvB,0BAAAA,eAAe5B;gBAAWsD,IAAI1B,CAAAA,aAAAA,MAAMyB,GAAG,cAATzB,wBAAAA,aAAa5B;YAAU;QAC3F,IAEAkE,uBAAAA,oBAAmB,CAACd;YAChB,MAAME,KAAK,IAAI,CAAC7C,KAAK,CAACC,KAAK,CAACkB,KAAK,GAAG,IAAI,CAACnB,KAAK,CAACC,KAAK,CAACkB,KAAK,CAAC0B,EAAE,GAAGtD;YAEhE,IAAIoD,QAAQE,IAAI;gBACZ,IAAI,CAAC7C,KAAK,CAACC,KAAK,CAAC6C,QAAQ,CAAC;oBAAEH;oBAAME;gBAAG;YACzC,OAAO;gBACH,IAAI,CAAC7C,KAAK,CAACC,KAAK,CAAC6C,QAAQ,CAACvD;YAC9B;QACJ,IAEAyE,uBAAAA,kBAAiB,CAACnB;YACd,MAAMF,OAAO,IAAI,CAAC3C,KAAK,CAACC,KAAK,CAACkB,KAAK,GAAG,IAAI,CAACnB,KAAK,CAACC,KAAK,CAACkB,KAAK,CAACwB,IAAI,GAAGpD;YAEpE,IAAIoD,QAAQE,IAAI;gBACZ,IAAI,CAAC7C,KAAK,CAACC,KAAK,CAAC6C,QAAQ,CAAC;oBAAEH;oBAAME;gBAAG;YACzC,OAAO;gBACH,IAAI,CAAC7C,KAAK,CAACC,KAAK,CAAC6C,QAAQ,CAACvD;YAC9B;QACJ,IAuIA6E,uBAAAA,2BAA0B,CAACgB;YACvB,MAAMC,SAASD,GAAGE,aAAa,CAACnE,KAAK,CAACoE,KAAK,CAAC,KAAKC,GAAG,CAACC,CAAAA,IAAK,IAAIC,KAAKD;YACnE,IAAI,CAACzF,KAAK,CAACC,KAAK,CAAC6C,QAAQ,CAAC;gBAAEH,MAAM0C,MAAM,CAAC,EAAE,IAAI9F;gBAAWsD,IAAIwC,MAAM,CAAC,EAAE,IAAI9F;YAAU;QACzF;QAlOIR,eAAe,IAAI;IACvB;AA+PJ"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"
|
1
|
+
{"version":3,"sources":["../../src/date-range-picker/index.ts"],"sourcesContent":["export * from './date-range-picker';\n"],"names":[],"mappings":"AAAA,cAAc,sBAAsB"}
|
@@ -4,13 +4,48 @@ import { observer } from 'mobx-react';
|
|
4
4
|
import { Text, Card, Tag } from '@servicetitan/design-system';
|
5
5
|
import { ColorPicker } from '..';
|
6
6
|
import { FieldState } from 'formstate';
|
7
|
-
const Preview = ({ color, label })
|
7
|
+
const Preview = ({ color, label })=>/*#__PURE__*/ _jsxs(Fragment, {
|
8
|
+
children: [
|
9
|
+
/*#__PURE__*/ _jsx(Text, {
|
10
|
+
size: 2,
|
11
|
+
className: "m-t-3 m-b-1",
|
12
|
+
children: "Preview"
|
13
|
+
}),
|
14
|
+
/*#__PURE__*/ _jsx(Card, {
|
15
|
+
light: true,
|
16
|
+
padding: "none",
|
17
|
+
children: /*#__PURE__*/ _jsx(Tag, {
|
18
|
+
color: color,
|
19
|
+
className: "m-1-i",
|
20
|
+
children: label
|
21
|
+
})
|
22
|
+
})
|
23
|
+
]
|
24
|
+
});
|
8
25
|
function useColorField(initial) {
|
9
26
|
return useRef(new FieldState(initial)).current;
|
10
27
|
}
|
11
|
-
export const ColorPickerExample = observer(()
|
28
|
+
export const ColorPickerExample = observer(()=>{
|
12
29
|
const defaultField = useColorField(undefined);
|
13
|
-
const preview = useMemo(()
|
14
|
-
|
30
|
+
const preview = useMemo(()=>({ color })=>/*#__PURE__*/ _jsx(Preview, {
|
31
|
+
label: "Confirmed Appointment",
|
32
|
+
color: color
|
33
|
+
}), []);
|
34
|
+
return /*#__PURE__*/ _jsxs(Fragment, {
|
35
|
+
children: [
|
36
|
+
/*#__PURE__*/ _jsx(Text, {
|
37
|
+
size: 4,
|
38
|
+
className: "m-b-half",
|
39
|
+
children: "Default"
|
40
|
+
}),
|
41
|
+
/*#__PURE__*/ _jsx(ColorPicker, {
|
42
|
+
label: "Tag Color",
|
43
|
+
value: defaultField.value,
|
44
|
+
onChange: defaultField.onChange,
|
45
|
+
preview: preview
|
46
|
+
})
|
47
|
+
]
|
48
|
+
});
|
15
49
|
});
|
50
|
+
|
16
51
|
//# sourceMappingURL=color-picker.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"
|
1
|
+
{"version":3,"sources":["../../src/demo/color-picker.tsx"],"sourcesContent":["import { Fragment, useRef, useMemo, FC } from 'react';\n\nimport { observer } from 'mobx-react';\n\nimport { Text, Card, Tag } from '@servicetitan/design-system';\n\nimport { ColorPicker, ColorPickerPreviewProps } from '..';\n\nimport { FieldState } from 'formstate';\n\ninterface PreviewProps extends ColorPickerPreviewProps {\n label: string;\n}\n\nconst Preview: FC<PreviewProps> = ({ color, label }) => (\n <Fragment>\n <Text size={2} className=\"m-t-3 m-b-1\">\n Preview\n </Text>\n <Card light padding=\"none\">\n <Tag color={color} className=\"m-1-i\">\n {label}\n </Tag>\n </Card>\n </Fragment>\n);\n\nfunction useColorField<T extends string | undefined>(initial: T) {\n return useRef(new FieldState(initial)).current;\n}\n\nexport const ColorPickerExample: FC = observer(() => {\n const defaultField = useColorField<string | undefined>(undefined);\n\n const preview: FC<ColorPickerPreviewProps> = useMemo(\n () =>\n ({ color }) => <Preview label=\"Confirmed Appointment\" color={color} />,\n []\n );\n\n return (\n <Fragment>\n <Text size={4} className=\"m-b-half\">\n Default\n </Text>\n <ColorPicker\n label=\"Tag Color\"\n value={defaultField.value}\n onChange={defaultField.onChange}\n preview={preview}\n />\n </Fragment>\n );\n});\n"],"names":["Fragment","useRef","useMemo","observer","Text","Card","Tag","ColorPicker","FieldState","Preview","color","label","size","className","light","padding","useColorField","initial","current","ColorPickerExample","defaultField","undefined","preview","value","onChange"],"mappings":";AAAA,SAASA,QAAQ,EAAEC,MAAM,EAAEC,OAAO,QAAY,QAAQ;AAEtD,SAASC,QAAQ,QAAQ,aAAa;AAEtC,SAASC,IAAI,EAAEC,IAAI,EAAEC,GAAG,QAAQ,8BAA8B;AAE9D,SAASC,WAAW,QAAiC,KAAK;AAE1D,SAASC,UAAU,QAAQ,YAAY;AAMvC,MAAMC,UAA4B,CAAC,EAAEC,KAAK,EAAEC,KAAK,EAAE,iBAC/C,MAACX;;0BACG,KAACI;gBAAKQ,MAAM;gBAAGC,WAAU;0BAAc;;0BAGvC,KAACR;gBAAKS,KAAK;gBAACC,SAAQ;0BAChB,cAAA,KAACT;oBAAII,OAAOA;oBAAOG,WAAU;8BACxBF;;;;;AAMjB,SAASK,cAA4CC,OAAU;IAC3D,OAAOhB,OAAO,IAAIO,WAAWS,UAAUC,OAAO;AAClD;AAEA,OAAO,MAAMC,qBAAyBhB,SAAS;IAC3C,MAAMiB,eAAeJ,cAAkCK;IAEvD,MAAMC,UAAuCpB,QACzC,IACI,CAAC,EAAEQ,KAAK,EAAE,iBAAK,KAACD;gBAAQE,OAAM;gBAAwBD,OAAOA;gBACjE,EAAE;IAGN,qBACI,MAACV;;0BACG,KAACI;gBAAKQ,MAAM;gBAAGC,WAAU;0BAAW;;0BAGpC,KAACN;gBACGI,OAAM;gBACNY,OAAOH,aAAaG,KAAK;gBACzBC,UAAUJ,aAAaI,QAAQ;gBAC/BF,SAASA;;;;AAIzB,GAAG"}
|
@@ -7,8 +7,24 @@ import { FieldState } from 'formstate';
|
|
7
7
|
function useDateRangeField(initial) {
|
8
8
|
return useRef(new FieldState(initial)).current;
|
9
9
|
}
|
10
|
-
export const DateRangePickerExample = observer(()
|
10
|
+
export const DateRangePickerExample = observer(()=>{
|
11
11
|
const defaultField = useDateRangeField(undefined);
|
12
|
-
return
|
12
|
+
return /*#__PURE__*/ _jsxs(Fragment, {
|
13
|
+
children: [
|
14
|
+
/*#__PURE__*/ _jsx(Text, {
|
15
|
+
size: 4,
|
16
|
+
className: "m-b-half",
|
17
|
+
children: "Default"
|
18
|
+
}),
|
19
|
+
/*#__PURE__*/ _jsx(DateRangePicker, {
|
20
|
+
maskChar: "X",
|
21
|
+
field: defaultField,
|
22
|
+
"qa-testing": "qa-date-range-picker",
|
23
|
+
horizontalAlign: "right",
|
24
|
+
small: true
|
25
|
+
})
|
26
|
+
]
|
27
|
+
});
|
13
28
|
});
|
29
|
+
|
14
30
|
//# sourceMappingURL=date-range-picker.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"
|
1
|
+
{"version":3,"sources":["../../src/demo/date-range-picker.tsx"],"sourcesContent":["import { Fragment, useRef, FC } from 'react';\n\nimport { observer } from 'mobx-react';\n\nimport { Text } from '@servicetitan/design-system';\nimport { DateRange } from '@servicetitan/form-state';\n\nimport { DateRangePicker } from '..';\n\nimport { FieldState } from 'formstate';\n\nfunction useDateRangeField<T extends DateRange | undefined>(initial: T) {\n return useRef(new FieldState(initial)).current;\n}\n\nexport const DateRangePickerExample: FC = observer(() => {\n const defaultField = useDateRangeField<DateRange | undefined>(undefined);\n\n return (\n <Fragment>\n <Text size={4} className=\"m-b-half\">\n Default\n </Text>\n <DateRangePicker\n maskChar=\"X\"\n field={defaultField}\n qa-testing=\"qa-date-range-picker\"\n horizontalAlign=\"right\"\n small\n />\n </Fragment>\n );\n});\n"],"names":["Fragment","useRef","observer","Text","DateRangePicker","FieldState","useDateRangeField","initial","current","DateRangePickerExample","defaultField","undefined","size","className","maskChar","field","qa-testing","horizontalAlign","small"],"mappings":";AAAA,SAASA,QAAQ,EAAEC,MAAM,QAAY,QAAQ;AAE7C,SAASC,QAAQ,QAAQ,aAAa;AAEtC,SAASC,IAAI,QAAQ,8BAA8B;AAGnD,SAASC,eAAe,QAAQ,KAAK;AAErC,SAASC,UAAU,QAAQ,YAAY;AAEvC,SAASC,kBAAmDC,OAAU;IAClE,OAAON,OAAO,IAAII,WAAWE,UAAUC,OAAO;AAClD;AAEA,OAAO,MAAMC,yBAA6BP,SAAS;IAC/C,MAAMQ,eAAeJ,kBAAyCK;IAE9D,qBACI,MAACX;;0BACG,KAACG;gBAAKS,MAAM;gBAAGC,WAAU;0BAAW;;0BAGpC,KAACT;gBACGU,UAAS;gBACTC,OAAOL;gBACPM,cAAW;gBACXC,iBAAgB;gBAChBC,KAAK;;;;AAIrB,GAAG"}
|
@@ -7,23 +7,105 @@ import { FieldState } from 'formstate';
|
|
7
7
|
function useFilesField(initial) {
|
8
8
|
return useRef(new FieldState(initial)).current;
|
9
9
|
}
|
10
|
-
export const FileUploaderExample = observer(()
|
10
|
+
export const FileUploaderExample = observer(()=>{
|
11
11
|
const defaultField = useFilesField([]);
|
12
12
|
const multipleField = useFilesField([
|
13
|
-
{
|
14
|
-
|
15
|
-
|
13
|
+
{
|
14
|
+
file: 'multiple-1.png'
|
15
|
+
},
|
16
|
+
{
|
17
|
+
file: 'multiple-2.png'
|
18
|
+
},
|
19
|
+
{
|
20
|
+
file: 'multiple-3.png'
|
21
|
+
}
|
22
|
+
]);
|
23
|
+
const displayField = useFilesField([
|
24
|
+
{
|
25
|
+
file: 'display.png'
|
26
|
+
}
|
16
27
|
]);
|
17
|
-
const displayField = useFilesField([{ file: 'display.png' }]);
|
18
28
|
const customField = useFilesField([]);
|
19
29
|
const withExtensionValidation = useFilesField([]);
|
20
|
-
return
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
30
|
+
return /*#__PURE__*/ _jsxs(Fragment, {
|
31
|
+
children: [
|
32
|
+
/*#__PURE__*/ _jsx(BodyText, {
|
33
|
+
size: "large",
|
34
|
+
className: "m-b-half",
|
35
|
+
children: "Default"
|
36
|
+
}),
|
37
|
+
/*#__PURE__*/ _jsx(FileUploader, {
|
38
|
+
value: defaultField.value,
|
39
|
+
onChange: defaultField.onChange,
|
40
|
+
folderName: "test"
|
41
|
+
}),
|
42
|
+
/*#__PURE__*/ _jsx(BodyText, {
|
43
|
+
size: "large",
|
44
|
+
className: "m-t-4 m-b-half",
|
45
|
+
children: "Multiple mode"
|
46
|
+
}),
|
47
|
+
/*#__PURE__*/ _jsx(FileUploader, {
|
48
|
+
value: multipleField.value,
|
49
|
+
onChange: multipleField.onChange,
|
50
|
+
folderName: "test",
|
51
|
+
multiple: true
|
52
|
+
}),
|
53
|
+
/*#__PURE__*/ _jsx(BodyText, {
|
54
|
+
size: "large",
|
55
|
+
className: "m-t-4 m-b-half",
|
56
|
+
children: "Display mode"
|
57
|
+
}),
|
58
|
+
/*#__PURE__*/ _jsx(FileUploader, {
|
59
|
+
value: displayField.value,
|
60
|
+
folderName: "test",
|
61
|
+
multiple: true
|
62
|
+
}),
|
63
|
+
/*#__PURE__*/ _jsx(BodyText, {
|
64
|
+
size: "large",
|
65
|
+
className: "m-t-4 m-b-half",
|
66
|
+
children: "Custom configuration"
|
67
|
+
}),
|
68
|
+
/*#__PURE__*/ _jsx(FileUploaderConfigurationProvider, {
|
69
|
+
value: {
|
70
|
+
target: '/Custom/Upload/Url'
|
71
|
+
},
|
72
|
+
children: /*#__PURE__*/ _jsx(FileUploader, {
|
73
|
+
value: customField.value,
|
74
|
+
onChange: customField.onChange,
|
75
|
+
folderName: "test",
|
76
|
+
multiple: true,
|
77
|
+
config: {
|
78
|
+
simultaneousUploads: 3
|
79
|
+
}
|
80
|
+
})
|
81
|
+
}),
|
82
|
+
/*#__PURE__*/ _jsxs(BodyText, {
|
83
|
+
size: "large",
|
84
|
+
className: "m-t-4 m-b-half",
|
85
|
+
children: [
|
86
|
+
"With file extension validation",
|
87
|
+
' ',
|
88
|
+
/*#__PURE__*/ _jsx(BodyText, {
|
89
|
+
inline: true,
|
90
|
+
el: "span",
|
91
|
+
children: "Try uploading not png"
|
92
|
+
})
|
93
|
+
]
|
94
|
+
}),
|
95
|
+
/*#__PURE__*/ _jsx(FileUploader, {
|
96
|
+
value: withExtensionValidation.value,
|
97
|
+
onChange: withExtensionValidation.onChange,
|
98
|
+
folderName: "test",
|
99
|
+
multiple: true,
|
100
|
+
config: {
|
25
101
|
simultaneousUploads: 3,
|
26
|
-
fileType: [
|
27
|
-
|
102
|
+
fileType: [
|
103
|
+
'png'
|
104
|
+
]
|
105
|
+
}
|
106
|
+
})
|
107
|
+
]
|
108
|
+
});
|
28
109
|
});
|
110
|
+
|
29
111
|
//# sourceMappingURL=file-uploader.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"
|
1
|
+
{"version":3,"sources":["../../src/demo/file-uploader.tsx"],"sourcesContent":["import { useRef, Fragment, FC } from 'react';\nimport { observer } from 'mobx-react';\nimport { BodyText } from '@servicetitan/design-system';\nimport { FileUploader, FileUploaderConfigurationProvider, FileDescriptor } from '..';\n\nimport { FieldState } from 'formstate';\n\nfunction useFilesField(initial: FileDescriptor[]) {\n return useRef(new FieldState(initial)).current;\n}\n\nexport const FileUploaderExample: FC = observer(() => {\n const defaultField = useFilesField([]);\n\n const multipleField = useFilesField([\n { file: 'multiple-1.png' },\n { file: 'multiple-2.png' },\n { file: 'multiple-3.png' },\n ]);\n\n const displayField = useFilesField([{ file: 'display.png' }]);\n\n const customField = useFilesField([]);\n const withExtensionValidation = useFilesField([]);\n\n return (\n <Fragment>\n <BodyText size=\"large\" className=\"m-b-half\">\n Default\n </BodyText>\n <FileUploader\n value={defaultField.value}\n onChange={defaultField.onChange}\n folderName=\"test\"\n />\n\n <BodyText size=\"large\" className=\"m-t-4 m-b-half\">\n Multiple mode\n </BodyText>\n <FileUploader\n value={multipleField.value}\n onChange={multipleField.onChange}\n folderName=\"test\"\n multiple\n />\n\n <BodyText size=\"large\" className=\"m-t-4 m-b-half\">\n Display mode\n </BodyText>\n <FileUploader value={displayField.value} folderName=\"test\" multiple />\n\n <BodyText size=\"large\" className=\"m-t-4 m-b-half\">\n Custom configuration\n </BodyText>\n <FileUploaderConfigurationProvider\n value={{\n target: '/Custom/Upload/Url',\n }}\n >\n <FileUploader\n value={customField.value}\n onChange={customField.onChange}\n folderName=\"test\"\n multiple\n config={{\n simultaneousUploads: 3,\n }}\n />\n </FileUploaderConfigurationProvider>\n\n <BodyText size=\"large\" className=\"m-t-4 m-b-half\">\n With file extension validation{' '}\n <BodyText inline el=\"span\">\n Try uploading not png\n </BodyText>\n </BodyText>\n\n <FileUploader\n value={withExtensionValidation.value}\n onChange={withExtensionValidation.onChange}\n folderName=\"test\"\n multiple\n config={{\n simultaneousUploads: 3,\n fileType: ['png'],\n }}\n />\n </Fragment>\n );\n});\n"],"names":["useRef","Fragment","observer","BodyText","FileUploader","FileUploaderConfigurationProvider","FieldState","useFilesField","initial","current","FileUploaderExample","defaultField","multipleField","file","displayField","customField","withExtensionValidation","size","className","value","onChange","folderName","multiple","target","config","simultaneousUploads","inline","el","fileType"],"mappings":";AAAA,SAASA,MAAM,EAAEC,QAAQ,QAAY,QAAQ;AAC7C,SAASC,QAAQ,QAAQ,aAAa;AACtC,SAASC,QAAQ,QAAQ,8BAA8B;AACvD,SAASC,YAAY,EAAEC,iCAAiC,QAAwB,KAAK;AAErF,SAASC,UAAU,QAAQ,YAAY;AAEvC,SAASC,cAAcC,OAAyB;IAC5C,OAAOR,OAAO,IAAIM,WAAWE,UAAUC,OAAO;AAClD;AAEA,OAAO,MAAMC,sBAA0BR,SAAS;IAC5C,MAAMS,eAAeJ,cAAc,EAAE;IAErC,MAAMK,gBAAgBL,cAAc;QAChC;YAAEM,MAAM;QAAiB;QACzB;YAAEA,MAAM;QAAiB;QACzB;YAAEA,MAAM;QAAiB;KAC5B;IAED,MAAMC,eAAeP,cAAc;QAAC;YAAEM,MAAM;QAAc;KAAE;IAE5D,MAAME,cAAcR,cAAc,EAAE;IACpC,MAAMS,0BAA0BT,cAAc,EAAE;IAEhD,qBACI,MAACN;;0BACG,KAACE;gBAASc,MAAK;gBAAQC,WAAU;0BAAW;;0BAG5C,KAACd;gBACGe,OAAOR,aAAaQ,KAAK;gBACzBC,UAAUT,aAAaS,QAAQ;gBAC/BC,YAAW;;0BAGf,KAAClB;gBAASc,MAAK;gBAAQC,WAAU;0BAAiB;;0BAGlD,KAACd;gBACGe,OAAOP,cAAcO,KAAK;gBAC1BC,UAAUR,cAAcQ,QAAQ;gBAChCC,YAAW;gBACXC,QAAQ;;0BAGZ,KAACnB;gBAASc,MAAK;gBAAQC,WAAU;0BAAiB;;0BAGlD,KAACd;gBAAae,OAAOL,aAAaK,KAAK;gBAAEE,YAAW;gBAAOC,QAAQ;;0BAEnE,KAACnB;gBAASc,MAAK;gBAAQC,WAAU;0BAAiB;;0BAGlD,KAACb;gBACGc,OAAO;oBACHI,QAAQ;gBACZ;0BAEA,cAAA,KAACnB;oBACGe,OAAOJ,YAAYI,KAAK;oBACxBC,UAAUL,YAAYK,QAAQ;oBAC9BC,YAAW;oBACXC,QAAQ;oBACRE,QAAQ;wBACJC,qBAAqB;oBACzB;;;0BAIR,MAACtB;gBAASc,MAAK;gBAAQC,WAAU;;oBAAiB;oBACf;kCAC/B,KAACf;wBAASuB,MAAM;wBAACC,IAAG;kCAAO;;;;0BAK/B,KAACvB;gBACGe,OAAOH,wBAAwBG,KAAK;gBACpCC,UAAUJ,wBAAwBI,QAAQ;gBAC1CC,YAAW;gBACXC,QAAQ;gBACRE,QAAQ;oBACJC,qBAAqB;oBACrBG,UAAU;wBAAC;qBAAM;gBACrB;;;;AAIhB,GAAG"}
|
package/dist/demo/index.js
CHANGED
package/dist/demo/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"
|
1
|
+
{"version":3,"sources":["../../src/demo/index.ts"],"sourcesContent":["export * from './color-picker';\nexport * from './date-range-picker';\nexport * from './file-uploader';\nexport * from './number-input';\nexport * from './phone-number-input';\nexport * from './original-number-input';\nexport * from './input-date-mask';\n"],"names":[],"mappings":"AAAA,cAAc,iBAAiB;AAC/B,cAAc,sBAAsB;AACpC,cAAc,kBAAkB;AAChC,cAAc,iBAAiB;AAC/B,cAAc,uBAAuB;AACrC,cAAc,0BAA0B;AACxC,cAAc,oBAAoB"}
|
@@ -7,8 +7,24 @@ import { InputDateMask } from '..';
|
|
7
7
|
function useInputDateMaskField(initial) {
|
8
8
|
return useRef(new FieldState(initial)).current;
|
9
9
|
}
|
10
|
-
export const InputDateMaskExample = observer(()
|
10
|
+
export const InputDateMaskExample = observer(()=>{
|
11
11
|
const defaultField = useInputDateMaskField(undefined);
|
12
|
-
return
|
12
|
+
return /*#__PURE__*/ _jsxs(Fragment, {
|
13
|
+
children: [
|
14
|
+
/*#__PURE__*/ _jsx(Text, {
|
15
|
+
size: 4,
|
16
|
+
className: "m-b-half",
|
17
|
+
children: "Default"
|
18
|
+
}),
|
19
|
+
/*#__PURE__*/ _jsx(InputDateMask, {
|
20
|
+
value: defaultField.value,
|
21
|
+
onChange: defaultField.onChange,
|
22
|
+
shortLabel: /*#__PURE__*/ _jsx(Icon, {
|
23
|
+
name: "event"
|
24
|
+
})
|
25
|
+
})
|
26
|
+
]
|
27
|
+
});
|
13
28
|
});
|
29
|
+
|
14
30
|
//# sourceMappingURL=input-date-mask.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"
|
1
|
+
{"version":3,"sources":["../../src/demo/input-date-mask.tsx"],"sourcesContent":["import { FC, Fragment, useRef } from 'react';\n\nimport { observer } from 'mobx-react';\n\nimport { Text, Icon } from '@servicetitan/design-system';\nimport { FieldState } from 'formstate';\n\nimport { InputDateMask } from '..';\n\nfunction useInputDateMaskField<T extends Date | undefined>(initial: T) {\n return useRef(new FieldState(initial)).current;\n}\n\nexport const InputDateMaskExample: FC = observer(() => {\n const defaultField = useInputDateMaskField(undefined);\n\n return (\n <Fragment>\n <Text size={4} className=\"m-b-half\">\n Default\n </Text>\n <InputDateMask\n value={defaultField.value}\n onChange={defaultField.onChange}\n shortLabel={<Icon name=\"event\" />}\n />\n </Fragment>\n );\n});\n"],"names":["Fragment","useRef","observer","Text","Icon","FieldState","InputDateMask","useInputDateMaskField","initial","current","InputDateMaskExample","defaultField","undefined","size","className","value","onChange","shortLabel","name"],"mappings":";AAAA,SAAaA,QAAQ,EAAEC,MAAM,QAAQ,QAAQ;AAE7C,SAASC,QAAQ,QAAQ,aAAa;AAEtC,SAASC,IAAI,EAAEC,IAAI,QAAQ,8BAA8B;AACzD,SAASC,UAAU,QAAQ,YAAY;AAEvC,SAASC,aAAa,QAAQ,KAAK;AAEnC,SAASC,sBAAkDC,OAAU;IACjE,OAAOP,OAAO,IAAII,WAAWG,UAAUC,OAAO;AAClD;AAEA,OAAO,MAAMC,uBAA2BR,SAAS;IAC7C,MAAMS,eAAeJ,sBAAsBK;IAE3C,qBACI,MAACZ;;0BACG,KAACG;gBAAKU,MAAM;gBAAGC,WAAU;0BAAW;;0BAGpC,KAACR;gBACGS,OAAOJ,aAAaI,KAAK;gBACzBC,UAAUL,aAAaK,QAAQ;gBAC/BC,0BAAY,KAACb;oBAAKc,MAAK;;;;;AAIvC,GAAG"}
|
@@ -7,7 +7,7 @@ import { FieldState } from 'formstate';
|
|
7
7
|
function useNumberField(initial) {
|
8
8
|
return useRef(new FieldState(initial)).current;
|
9
9
|
}
|
10
|
-
export const NumberInputExample = observer(()
|
10
|
+
export const NumberInputExample = observer(()=>{
|
11
11
|
const defaultField = useNumberField(undefined);
|
12
12
|
const zeroEmptyValueField = useNumberField(0);
|
13
13
|
const precisionField = useNumberField(undefined);
|
@@ -16,7 +16,125 @@ export const NumberInputExample = observer(() => {
|
|
16
16
|
const limitedRangeFieldPreset = useNumberField(100);
|
17
17
|
const precisionFieldPreset = useNumberField(3.6666666);
|
18
18
|
const precisionFieldPresetExtreme = useNumberField(3.6666666);
|
19
|
-
return
|
19
|
+
return /*#__PURE__*/ _jsxs(Fragment, {
|
20
|
+
children: [
|
21
|
+
/*#__PURE__*/ _jsx(Text, {
|
22
|
+
size: 4,
|
23
|
+
className: "m-b-half",
|
24
|
+
children: "Default"
|
25
|
+
}),
|
26
|
+
/*#__PURE__*/ _jsx(NumberInput, {
|
27
|
+
value: defaultField.value,
|
28
|
+
onChange: defaultField.onChange,
|
29
|
+
emptyValue: undefined
|
30
|
+
}),
|
31
|
+
/*#__PURE__*/ _jsx(Text, {
|
32
|
+
size: 4,
|
33
|
+
className: "m-t-4 m-b-half",
|
34
|
+
children: "Zero as empty value"
|
35
|
+
}),
|
36
|
+
/*#__PURE__*/ _jsx(NumberInput, {
|
37
|
+
value: zeroEmptyValueField.value,
|
38
|
+
onChange: zeroEmptyValueField.onChange,
|
39
|
+
emptyValue: 0
|
40
|
+
}),
|
41
|
+
/*#__PURE__*/ _jsx(Text, {
|
42
|
+
size: 4,
|
43
|
+
className: "m-t-4 m-b-half",
|
44
|
+
children: "Precision"
|
45
|
+
}),
|
46
|
+
/*#__PURE__*/ _jsx(NumberInput, {
|
47
|
+
value: precisionField.value,
|
48
|
+
onChange: precisionField.onChange,
|
49
|
+
emptyValue: undefined,
|
50
|
+
decimalPlaces: 3
|
51
|
+
}),
|
52
|
+
/*#__PURE__*/ _jsx(Text, {
|
53
|
+
size: 4,
|
54
|
+
className: "m-t-4 m-b-half",
|
55
|
+
children: "Limited range"
|
56
|
+
}),
|
57
|
+
/*#__PURE__*/ _jsx(NumberInput, {
|
58
|
+
value: limitedRangeField.value,
|
59
|
+
onChange: limitedRangeField.onChange,
|
60
|
+
emptyValue: undefined,
|
61
|
+
min: 3,
|
62
|
+
max: 7
|
63
|
+
}),
|
64
|
+
/*#__PURE__*/ _jsx(Text, {
|
65
|
+
size: 4,
|
66
|
+
className: "m-t-4 m-b-half",
|
67
|
+
children: "Without thousands separator"
|
68
|
+
}),
|
69
|
+
/*#__PURE__*/ _jsx(NumberInput, {
|
70
|
+
value: withoutThousandsSeparator.value,
|
71
|
+
onChange: withoutThousandsSeparator.onChange,
|
72
|
+
emptyValue: undefined,
|
73
|
+
decimalPlaces: 0,
|
74
|
+
useEmptyThousandsSeparator: true
|
75
|
+
}),
|
76
|
+
/*#__PURE__*/ _jsx("hr", {
|
77
|
+
className: "m-y-4"
|
78
|
+
}),
|
79
|
+
/*#__PURE__*/ _jsx(Text, {
|
80
|
+
size: 4,
|
81
|
+
className: "m-t-4 m-b-half",
|
82
|
+
children: "Preset value out of range"
|
83
|
+
}),
|
84
|
+
/*#__PURE__*/ _jsx(StoredValueWrapper, {
|
85
|
+
value: limitedRangeFieldPreset.value,
|
86
|
+
children: /*#__PURE__*/ _jsx(NumberInput, {
|
87
|
+
value: limitedRangeFieldPreset.value,
|
88
|
+
onChange: limitedRangeFieldPreset.onChange,
|
89
|
+
emptyValue: undefined,
|
90
|
+
min: 3,
|
91
|
+
max: 7
|
92
|
+
})
|
93
|
+
}),
|
94
|
+
/*#__PURE__*/ _jsx(Text, {
|
95
|
+
size: 4,
|
96
|
+
className: "m-t-4 m-b-half",
|
97
|
+
children: "Preset value with precision out of limit"
|
98
|
+
}),
|
99
|
+
/*#__PURE__*/ _jsx(StoredValueWrapper, {
|
100
|
+
value: precisionFieldPreset.value,
|
101
|
+
children: /*#__PURE__*/ _jsx(NumberInput, {
|
102
|
+
value: precisionFieldPreset.value,
|
103
|
+
onChange: precisionFieldPreset.onChange,
|
104
|
+
emptyValue: undefined,
|
105
|
+
decimalPlaces: 3
|
106
|
+
})
|
107
|
+
}),
|
108
|
+
/*#__PURE__*/ _jsx(Text, {
|
109
|
+
size: 4,
|
110
|
+
className: "m-t-4 m-b-half",
|
111
|
+
children: "Preset value with precision out of limit (zero decimals allowed)"
|
112
|
+
}),
|
113
|
+
/*#__PURE__*/ _jsx(StoredValueWrapper, {
|
114
|
+
value: precisionFieldPresetExtreme.value,
|
115
|
+
children: /*#__PURE__*/ _jsx(NumberInput, {
|
116
|
+
value: precisionFieldPresetExtreme.value,
|
117
|
+
onChange: precisionFieldPresetExtreme.onChange,
|
118
|
+
emptyValue: undefined,
|
119
|
+
decimalPlaces: 0
|
120
|
+
})
|
121
|
+
})
|
122
|
+
]
|
123
|
+
});
|
20
124
|
});
|
21
|
-
const StoredValueWrapper = ({ children, value })
|
125
|
+
const StoredValueWrapper = ({ children, value })=>/*#__PURE__*/ _jsxs(Stack, {
|
126
|
+
alignItems: "baseline",
|
127
|
+
children: [
|
128
|
+
children,
|
129
|
+
/*#__PURE__*/ _jsxs(Text, {
|
130
|
+
size: 3,
|
131
|
+
className: "m-l-3",
|
132
|
+
children: [
|
133
|
+
"Stored value: ",
|
134
|
+
value
|
135
|
+
]
|
136
|
+
})
|
137
|
+
]
|
138
|
+
});
|
139
|
+
|
22
140
|
//# sourceMappingURL=number-input.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"
|
1
|
+
{"version":3,"sources":["../../src/demo/number-input.tsx"],"sourcesContent":["import { useRef, Fragment, FC, PropsWithChildren } from 'react';\n\nimport { observer } from 'mobx-react';\n\nimport { Stack, Text } from '@servicetitan/design-system';\n\nimport { NumberInput } from '..';\n\nimport { FieldState } from 'formstate';\n\nfunction useNumberField<T extends number | undefined>(initial: T) {\n return useRef(new FieldState(initial)).current;\n}\n\nexport const NumberInputExample: FC = observer(() => {\n const defaultField = useNumberField<number | undefined>(undefined);\n const zeroEmptyValueField = useNumberField<number>(0);\n const precisionField = useNumberField<number | undefined>(undefined);\n const limitedRangeField = useNumberField<number | undefined>(undefined);\n const withoutThousandsSeparator = useNumberField<number | undefined>(undefined);\n\n const limitedRangeFieldPreset = useNumberField<number | undefined>(100);\n const precisionFieldPreset = useNumberField<number | undefined>(3.6666666);\n const precisionFieldPresetExtreme = useNumberField<number | undefined>(3.6666666);\n\n return (\n <Fragment>\n <Text size={4} className=\"m-b-half\">\n Default\n </Text>\n <NumberInput\n value={defaultField.value}\n onChange={defaultField.onChange}\n emptyValue={undefined}\n />\n\n <Text size={4} className=\"m-t-4 m-b-half\">\n Zero as empty value\n </Text>\n <NumberInput\n value={zeroEmptyValueField.value}\n onChange={zeroEmptyValueField.onChange}\n emptyValue={0}\n />\n\n <Text size={4} className=\"m-t-4 m-b-half\">\n Precision\n </Text>\n <NumberInput\n value={precisionField.value}\n onChange={precisionField.onChange}\n emptyValue={undefined}\n decimalPlaces={3}\n />\n\n <Text size={4} className=\"m-t-4 m-b-half\">\n Limited range\n </Text>\n <NumberInput\n value={limitedRangeField.value}\n onChange={limitedRangeField.onChange}\n emptyValue={undefined}\n min={3}\n max={7}\n />\n\n <Text size={4} className=\"m-t-4 m-b-half\">\n Without thousands separator\n </Text>\n <NumberInput\n value={withoutThousandsSeparator.value}\n onChange={withoutThousandsSeparator.onChange}\n emptyValue={undefined}\n decimalPlaces={0}\n useEmptyThousandsSeparator\n />\n\n <hr className=\"m-y-4\" />\n\n <Text size={4} className=\"m-t-4 m-b-half\">\n Preset value out of range\n </Text>\n <StoredValueWrapper value={limitedRangeFieldPreset.value}>\n <NumberInput\n value={limitedRangeFieldPreset.value}\n onChange={limitedRangeFieldPreset.onChange}\n emptyValue={undefined}\n min={3}\n max={7}\n />\n </StoredValueWrapper>\n\n <Text size={4} className=\"m-t-4 m-b-half\">\n Preset value with precision out of limit\n </Text>\n <StoredValueWrapper value={precisionFieldPreset.value}>\n <NumberInput\n value={precisionFieldPreset.value}\n onChange={precisionFieldPreset.onChange}\n emptyValue={undefined}\n decimalPlaces={3}\n />\n </StoredValueWrapper>\n\n <Text size={4} className=\"m-t-4 m-b-half\">\n Preset value with precision out of limit (zero decimals allowed)\n </Text>\n <StoredValueWrapper value={precisionFieldPresetExtreme.value}>\n <NumberInput\n value={precisionFieldPresetExtreme.value}\n onChange={precisionFieldPresetExtreme.onChange}\n emptyValue={undefined}\n decimalPlaces={0}\n />\n </StoredValueWrapper>\n </Fragment>\n );\n});\n\nconst StoredValueWrapper: FC<PropsWithChildren<{ value?: number }>> = ({ children, value }) => (\n <Stack alignItems=\"baseline\">\n {children}\n <Text size={3} className=\"m-l-3\">\n Stored value: {value}\n </Text>\n </Stack>\n);\n"],"names":["useRef","Fragment","observer","Stack","Text","NumberInput","FieldState","useNumberField","initial","current","NumberInputExample","defaultField","undefined","zeroEmptyValueField","precisionField","limitedRangeField","withoutThousandsSeparator","limitedRangeFieldPreset","precisionFieldPreset","precisionFieldPresetExtreme","size","className","value","onChange","emptyValue","decimalPlaces","min","max","useEmptyThousandsSeparator","hr","StoredValueWrapper","children","alignItems"],"mappings":";AAAA,SAASA,MAAM,EAAEC,QAAQ,QAA+B,QAAQ;AAEhE,SAASC,QAAQ,QAAQ,aAAa;AAEtC,SAASC,KAAK,EAAEC,IAAI,QAAQ,8BAA8B;AAE1D,SAASC,WAAW,QAAQ,KAAK;AAEjC,SAASC,UAAU,QAAQ,YAAY;AAEvC,SAASC,eAA6CC,OAAU;IAC5D,OAAOR,OAAO,IAAIM,WAAWE,UAAUC,OAAO;AAClD;AAEA,OAAO,MAAMC,qBAAyBR,SAAS;IAC3C,MAAMS,eAAeJ,eAAmCK;IACxD,MAAMC,sBAAsBN,eAAuB;IACnD,MAAMO,iBAAiBP,eAAmCK;IAC1D,MAAMG,oBAAoBR,eAAmCK;IAC7D,MAAMI,4BAA4BT,eAAmCK;IAErE,MAAMK,0BAA0BV,eAAmC;IACnE,MAAMW,uBAAuBX,eAAmC;IAChE,MAAMY,8BAA8BZ,eAAmC;IAEvE,qBACI,MAACN;;0BACG,KAACG;gBAAKgB,MAAM;gBAAGC,WAAU;0BAAW;;0BAGpC,KAAChB;gBACGiB,OAAOX,aAAaW,KAAK;gBACzBC,UAAUZ,aAAaY,QAAQ;gBAC/BC,YAAYZ;;0BAGhB,KAACR;gBAAKgB,MAAM;gBAAGC,WAAU;0BAAiB;;0BAG1C,KAAChB;gBACGiB,OAAOT,oBAAoBS,KAAK;gBAChCC,UAAUV,oBAAoBU,QAAQ;gBACtCC,YAAY;;0BAGhB,KAACpB;gBAAKgB,MAAM;gBAAGC,WAAU;0BAAiB;;0BAG1C,KAAChB;gBACGiB,OAAOR,eAAeQ,KAAK;gBAC3BC,UAAUT,eAAeS,QAAQ;gBACjCC,YAAYZ;gBACZa,eAAe;;0BAGnB,KAACrB;gBAAKgB,MAAM;gBAAGC,WAAU;0BAAiB;;0BAG1C,KAAChB;gBACGiB,OAAOP,kBAAkBO,KAAK;gBAC9BC,UAAUR,kBAAkBQ,QAAQ;gBACpCC,YAAYZ;gBACZc,KAAK;gBACLC,KAAK;;0BAGT,KAACvB;gBAAKgB,MAAM;gBAAGC,WAAU;0BAAiB;;0BAG1C,KAAChB;gBACGiB,OAAON,0BAA0BM,KAAK;gBACtCC,UAAUP,0BAA0BO,QAAQ;gBAC5CC,YAAYZ;gBACZa,eAAe;gBACfG,0BAA0B;;0BAG9B,KAACC;gBAAGR,WAAU;;0BAEd,KAACjB;gBAAKgB,MAAM;gBAAGC,WAAU;0BAAiB;;0BAG1C,KAACS;gBAAmBR,OAAOL,wBAAwBK,KAAK;0BACpD,cAAA,KAACjB;oBACGiB,OAAOL,wBAAwBK,KAAK;oBACpCC,UAAUN,wBAAwBM,QAAQ;oBAC1CC,YAAYZ;oBACZc,KAAK;oBACLC,KAAK;;;0BAIb,KAACvB;gBAAKgB,MAAM;gBAAGC,WAAU;0BAAiB;;0BAG1C,KAACS;gBAAmBR,OAAOJ,qBAAqBI,KAAK;0BACjD,cAAA,KAACjB;oBACGiB,OAAOJ,qBAAqBI,KAAK;oBACjCC,UAAUL,qBAAqBK,QAAQ;oBACvCC,YAAYZ;oBACZa,eAAe;;;0BAIvB,KAACrB;gBAAKgB,MAAM;gBAAGC,WAAU;0BAAiB;;0BAG1C,KAACS;gBAAmBR,OAAOH,4BAA4BG,KAAK;0BACxD,cAAA,KAACjB;oBACGiB,OAAOH,4BAA4BG,KAAK;oBACxCC,UAAUJ,4BAA4BI,QAAQ;oBAC9CC,YAAYZ;oBACZa,eAAe;;;;;AAKnC,GAAG;AAEH,MAAMK,qBAAgE,CAAC,EAAEC,QAAQ,EAAET,KAAK,EAAE,iBACtF,MAACnB;QAAM6B,YAAW;;YACbD;0BACD,MAAC3B;gBAAKgB,MAAM;gBAAGC,WAAU;;oBAAQ;oBACdC"}
|
@@ -7,8 +7,24 @@ import { OrdinalNumberInput } from '..';
|
|
7
7
|
function useOrdinalNumberInputField(initial) {
|
8
8
|
return useRef(new FieldState(initial)).current;
|
9
9
|
}
|
10
|
-
export const OrdinalNumberInputExample = observer(()
|
10
|
+
export const OrdinalNumberInputExample = observer(()=>{
|
11
11
|
const defaultField = useOrdinalNumberInputField(undefined);
|
12
|
-
return
|
12
|
+
return /*#__PURE__*/ _jsxs(Fragment, {
|
13
|
+
children: [
|
14
|
+
/*#__PURE__*/ _jsx(Text, {
|
15
|
+
size: 4,
|
16
|
+
className: "m-b-half",
|
17
|
+
children: "Default"
|
18
|
+
}),
|
19
|
+
/*#__PURE__*/ _jsx(OrdinalNumberInput, {
|
20
|
+
value: defaultField.value,
|
21
|
+
onChange: defaultField.onChange,
|
22
|
+
min: 1,
|
23
|
+
max: 31,
|
24
|
+
placeholder: "1 - 31"
|
25
|
+
})
|
26
|
+
]
|
27
|
+
});
|
13
28
|
});
|
29
|
+
|
14
30
|
//# sourceMappingURL=original-number-input.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"
|
1
|
+
{"version":3,"sources":["../../src/demo/original-number-input.tsx"],"sourcesContent":["import { FC, Fragment, useRef } from 'react';\n\nimport { observer } from 'mobx-react';\n\nimport { Text } from '@servicetitan/design-system';\n\nimport { FieldState } from 'formstate';\n\nimport { OrdinalNumberInput } from '..';\n\nfunction useOrdinalNumberInputField<T extends number | undefined>(initial: T) {\n return useRef(new FieldState(initial)).current;\n}\n\nexport const OrdinalNumberInputExample: FC = observer(() => {\n const defaultField = useOrdinalNumberInputField(undefined);\n\n return (\n <Fragment>\n <Text size={4} className=\"m-b-half\">\n Default\n </Text>\n <OrdinalNumberInput\n value={defaultField.value}\n onChange={defaultField.onChange}\n min={1}\n max={31}\n placeholder=\"1 - 31\"\n />\n </Fragment>\n );\n});\n"],"names":["Fragment","useRef","observer","Text","FieldState","OrdinalNumberInput","useOrdinalNumberInputField","initial","current","OrdinalNumberInputExample","defaultField","undefined","size","className","value","onChange","min","max","placeholder"],"mappings":";AAAA,SAAaA,QAAQ,EAAEC,MAAM,QAAQ,QAAQ;AAE7C,SAASC,QAAQ,QAAQ,aAAa;AAEtC,SAASC,IAAI,QAAQ,8BAA8B;AAEnD,SAASC,UAAU,QAAQ,YAAY;AAEvC,SAASC,kBAAkB,QAAQ,KAAK;AAExC,SAASC,2BAAyDC,OAAU;IACxE,OAAON,OAAO,IAAIG,WAAWG,UAAUC,OAAO;AAClD;AAEA,OAAO,MAAMC,4BAAgCP,SAAS;IAClD,MAAMQ,eAAeJ,2BAA2BK;IAEhD,qBACI,MAACX;;0BACG,KAACG;gBAAKS,MAAM;gBAAGC,WAAU;0BAAW;;0BAGpC,KAACR;gBACGS,OAAOJ,aAAaI,KAAK;gBACzBC,UAAUL,aAAaK,QAAQ;gBAC/BC,KAAK;gBACLC,KAAK;gBACLC,aAAY;;;;AAI5B,GAAG"}
|