@wavemaker/app-rn-runtime 11.10.0-next.47255 → 11.10.0-next.NULL

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 (41) hide show
  1. app-rn-runtime/components/advanced/carousel/carousel.component.js +46 -60
  2. app-rn-runtime/components/advanced/carousel/carousel.component.js.map +1 -1
  3. app-rn-runtime/components/advanced/carousel/carousel.props.js +1 -1
  4. app-rn-runtime/components/advanced/carousel/carousel.props.js.map +1 -1
  5. app-rn-runtime/components/advanced/carousel/carousel.styles.js +9 -7
  6. app-rn-runtime/components/advanced/carousel/carousel.styles.js.map +1 -1
  7. app-rn-runtime/components/basic/picture/picture.component.js +4 -10
  8. app-rn-runtime/components/basic/picture/picture.component.js.map +1 -1
  9. app-rn-runtime/components/basic/picture/picture.props.js +0 -1
  10. app-rn-runtime/components/basic/picture/picture.props.js.map +1 -1
  11. app-rn-runtime/components/basic/search/search.component.js +2 -2
  12. app-rn-runtime/components/basic/search/search.component.js.map +1 -1
  13. app-rn-runtime/components/container/tabs/tabheader/tabheader.component.js +15 -29
  14. app-rn-runtime/components/container/tabs/tabheader/tabheader.component.js.map +1 -1
  15. app-rn-runtime/components/container/tabs/tabheader/tabheader.props.js +0 -1
  16. app-rn-runtime/components/container/tabs/tabheader/tabheader.props.js.map +1 -1
  17. app-rn-runtime/components/container/tabs/tabs.component.js +1 -2
  18. app-rn-runtime/components/container/tabs/tabs.component.js.map +1 -1
  19. app-rn-runtime/components/container/tabs/tabs.props.js +0 -1
  20. app-rn-runtime/components/container/tabs/tabs.props.js.map +1 -1
  21. app-rn-runtime/components/container/wizard/wizard.component.js +2 -2
  22. app-rn-runtime/components/container/wizard/wizard.component.js.map +1 -1
  23. app-rn-runtime/components/container/wizard/wizard.styles.js +0 -3
  24. app-rn-runtime/components/container/wizard/wizard.styles.js.map +1 -1
  25. app-rn-runtime/components/data/list/list.component.js +1 -11
  26. app-rn-runtime/components/data/list/list.component.js.map +1 -1
  27. app-rn-runtime/components/input/basenumber/basenumber.component.js +4 -10
  28. app-rn-runtime/components/input/basenumber/basenumber.component.js.map +1 -1
  29. app-rn-runtime/components/input/chips/chips.component.js +3 -31
  30. app-rn-runtime/components/input/chips/chips.component.js.map +1 -1
  31. app-rn-runtime/components/input/slider/slider.component.js +2 -2
  32. app-rn-runtime/components/input/slider/slider.component.js.map +1 -1
  33. app-rn-runtime/package.json +3 -3
  34. app-rn-runtime/runtime/App.js +2 -10
  35. app-rn-runtime/runtime/App.js.map +1 -1
  36. app-rn-runtime/runtime/base-fragment.component.js +1 -5
  37. app-rn-runtime/runtime/base-fragment.component.js.map +1 -1
  38. app-rn-runtime/runtime/services/app-i18n.service.js +0 -1
  39. app-rn-runtime/runtime/services/app-i18n.service.js.map +1 -1
  40. app-rn-runtime/styles/theme.variables.js +1 -1
  41. app-rn-runtime/styles/theme.variables.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["includes","intersection","isNaN","isFinite","toArray","isNil","BaseComponent","BaseComponentState","DEFAULT_CLASS","Platform","countDecimalDigits","validateField","BaseNumberState","constructor","args","_defineProperty","BaseNumberComponent","props","defaultClass","defaultProps","defaultState","DECIMAL","GROUP","onChange","event","state","updateon","updateDatavalue","target","value","focus","_this$widgetRef","widgetRef","validateOnDevice","type","_value$match","isCurrencyField","isValidText","test","Number","match","length","onChangeText","shouldFormateToNumber","newValue","parseNumber","replace","isValidTextOnDevice","decimalPlacesInNumber","decimalPlaces","updateState","textValue","validate","invokeChange","e","OS","cursor","selectionStart","setState","validationObj","isValid","errorType","handleValidation","regexp","condition","RegExp","val","parts","split","NaN","number","join","decimal","sum","parseFloat","toFixed","Object","is","source","model","toString","oldValue","datavalue","validNumber","isValidNumber","invokeEventCallback","proxy","Promise","resolve","hastwowaybinding","newProps","setImmediate","setProp","then","onFieldChange","onBlur","isDisplayValuePresent","textVal","newVal","undefined","setTimeout","triggerValidation","oldVal","isInputFocused","onFocus","countDecimals","decimalValue","validateInputEntry","$event","ctrlKey","key","validity","inputValue","step","preventDefault","getValueInRange","minvalue","maxvalue","required","isInteger","resetValidations","onPropertyChange","name","$new","$old","isDefault","bind","displayValue"],"sources":["basenumber.component.ts"],"sourcesContent":["import { includes, intersection, isNaN, isFinite, toArray, isNil } from 'lodash';\nimport BaseNumberProps from '@wavemaker/app-rn-runtime/components/input/basenumber/basenumber.props';\nimport { BaseComponent, BaseComponentState } from \"@wavemaker/app-rn-runtime/core/base.component\";\nimport { BaseNumberStyles } from '@wavemaker/app-rn-runtime/components/input/basenumber/basenumber.styles';\nimport { DEFAULT_CLASS } from \"@wavemaker/app-rn-runtime/components/navigation/basenav/basenav.styles\";\nimport { Platform, TextInput } from 'react-native';\nimport { countDecimalDigits, validateField } from '@wavemaker/app-rn-runtime/core/utils';\n\nexport class BaseNumberState <T extends BaseNumberProps> extends BaseComponentState<T> {\n isValid: boolean = true;\n isInputFocused: boolean = false;\n textValue: string = '';\n isDefault = false;\n errorType = '';\n}\n\nexport abstract class BaseNumberComponent< T extends BaseNumberProps, S extends BaseNumberState<T>, L extends BaseNumberStyles> extends BaseComponent<T, S, L> {\n private DECIMAL;\n private GROUP;\n public widgetRef: TextInput | null = null;\n private cursor: any = 0;\n constructor(props: T, public defaultClass: string = DEFAULT_CLASS, defaultProps?: T, defaultState?: S) {\n super(props, defaultClass, defaultProps, defaultState);\n this.DECIMAL = '.';\n this.GROUP = ',';\n }\n\n onChange(event: any) {\n if (this.state.props.updateon === 'default') {\n this.updateDatavalue(event.target.value, event);\n }\n }\n\n focus() {\n this?.widgetRef?.focus();\n }\n\n validateOnDevice(value: string, type: 'number' | 'currency') {\n const isCurrencyField = type === 'currency';\n let isValidText = true;\n\n // * no alphabets except E, may contain E only once\n if (/[a-df-zA-DF-Z]/.test(value) || !/^[^eE]*[eE]?[^eE]*$/.test(value)) {\n isValidText = false;\n }\n\n // * currency only: check for negative number\n if (isCurrencyField && (Number(value) < 0 || /-/g.test(value))) {\n isValidText = false;\n }\n\n // * number only: not more than one minus and doesn't end with minus (-)\n if (!isCurrencyField && (Number(value.match(/-/g)?.length) > 1) || /\\w-/.test(value)) {\n isValidText = false;\n }\n\n // * check for more than one decimal point\n if (/^\\d*\\.\\d*\\..*$/.test(value)) {\n isValidText = false;\n }\n\n // * check for spaces and comma\n if (/[\\s,]/.test(value)) {\n isValidText = false;\n }\n\n return isValidText;\n }\n\n onChangeText(value: string, type: 'number' | 'currency', shouldFormateToNumber?: boolean) {\n const newValue = shouldFormateToNumber ? `${this.parseNumber(value.replace(/[^0-9.]/g, ''))}` : value;\n const isValidTextOnDevice = this.validateOnDevice(newValue, type);\n if (!isValidTextOnDevice) {\n return;\n }\n\n const decimalPlacesInNumber = countDecimalDigits(newValue);\n\n if (this.props.decimalPlaces < decimalPlacesInNumber) {\n return;\n }\n\n this.updateState({\n textValue: newValue\n } as S, () => {\n if (this.state.props.updateon === 'default') {\n this.validate(newValue);\n this.updateDatavalue(newValue, null);\n }\n }\n );\n }\n\n invokeChange(e: any) {\n if (Platform.OS === 'web') {\n this.cursor = e.target.selectionStart;\n this.setState({ textValue: e.target.value });\n }\n }\n\n validate(value: any) {\n const validationObj = validateField(this.state.props, value);\n this.updateState({\n isValid: validationObj.isValid,\n errorType: validationObj.errorType\n } as S);\n\n }\n\n handleValidation(value: any) {\n const props = this.state.props;\n if (props.regexp) {\n const condition = new RegExp(props.regexp, 'g');\n return condition.test(value);\n }\n return true;\n }\n\n /**\n * Method parses the Localized number(string) to a valid number.\n * if the string dose not result to a valid number then returns NaN.\n * @param {string} val Localized number.\n * @returns {number}\n */\n private parseNumber(val: string): any {\n // splits string into two parts. decimal and number.\n const parts = val.split(this.DECIMAL);\n if (!parts.length) {\n return;\n }\n if (parts.length > 2) {\n return NaN;\n }\n // If number have decimal point and not have a decimal value then return.\n if (parts[1] === '') {\n return NaN;\n }\n // replaces all group separators form the number.\n const number = Number(parts[0].split(this.GROUP).join(''));\n const decimal = Number(`0.${parts[1] || 0}`);\n if (Number.isNaN(number) || Number.isNaN(decimal)) {\n return NaN;\n }\n const sum = parts.length > 1 ? parseFloat((number + decimal).toFixed(parts[1].length)) : number + decimal;\n // if the number is negative then calculate the number as number - decimal\n // Ex: number = -123 and decimal = 0.45 then number - decimal = -123-045 = -123.45\n // If entered number is -0.1 to -0.9 then the number is -0 and decimal is 0.1 to 0.9. Now calaculate the number as number-decimal\n // Ex: number = -0 and decimal = 0.1 then number-decimal = -0-0.1 = -0.1\n if (number === 0) {\n return Object.is(0, number) ? sum : number - decimal;\n }\n return number > 0 ? sum : number - decimal;\n }\n\n updateDatavalue(value: any, event?: any, source?: any) {\n const model = value && this.parseNumber(value.toString());\n const props = this.state.props;\n const oldValue = props.datavalue;\n if (value === oldValue) {\n return;\n }\n const validNumber = this.isValidNumber(model) || value === oldValue + '.';\n if (!validNumber) {\n this.invokeEventCallback('onError', [ event, this.proxy, value, oldValue ]);\n return;\n }\n\n new Promise((resolve) => {\n if (props.hastwowaybinding) {\n const newProps: any = {\n props: {\n datavalue: model || Number(value)\n }\n }\n if(this.state.props.updateon === 'blur'){\n newProps.textValue = model || Number(value)\n }\n\n this.updateState({...newProps} as S)\n\n setImmediate(()=> this.setProp(\"datavalue\", value));\n resolve(true);\n } else {\n this.updateState({\n props: {\n datavalue: model || Number(value)\n }\n } as S, () => resolve(true));\n }\n }).then(() => {\n !this.props.onFieldChange && value !== oldValue && this.invokeEventCallback('onChange', [event, this.proxy, model, oldValue]);\n if (source === 'blur') {\n this.invokeEventCallback('onBlur', [event, this.proxy]);\n }\n });\n }\n\n onBlur(event: any, isDisplayValuePresent?: boolean) {\n const textVal = this.state.textValue || '';\n let newVal = isDisplayValuePresent ? textVal : event.target.value || textVal;\n this.validate(newVal);\n if (newVal === '' || newVal == undefined) {\n setTimeout(() => {\n this.props.triggerValidation && this.props.triggerValidation();\n },10)\n }\n if (this.state.props.updateon === 'blur' || this.state.props.updateon === 'default') {\n let oldVal = this.state.props.datavalue || '';\n if (oldVal !== newVal && this.state.props.updateon === 'blur') {\n this.updateDatavalue(newVal, event, 'blur');\n } else {\n this.invokeEventCallback('onBlur', [event, this.proxy]);\n }\n this.setState({ isInputFocused: false});\n }\n }\n\n onFocus(event: any) {\n this.invokeEventCallback('onFocus', [ event, this.proxy]);\n this.setState({ isInputFocused: true});\n }\n\n /**\n * returns the number of decimal places a number have.\n * @param value: number\n * @returns {number}\n */\n private countDecimals(value: any) {\n if (value && ((value % 1) !== 0)) {\n const decimalValue = value.toString().split('.')[1];\n return decimalValue && decimalValue.length;\n }\n return 0;\n }\n\n public validateInputEntry($event: any) {\n const props = this.state.props;\n\n // allow actions if control key is pressed or if backspace is pressed. (for Mozilla).\n if ($event.ctrlKey || includes(['Backspace', 'ArrowRight', 'ArrowLeft', 'Tab', 'Enter', 'Delete'], $event.key)) {\n return;\n }\n\n const validity = new RegExp(`^[\\\\d\\\\s-,.e+${this.GROUP}${this.DECIMAL}]$`, 'i');\n const inputValue = $event.target.value;\n // validates entering of decimal values only when user provides decimal limit(i.e step contains decimal values).\n if (inputValue && this.countDecimals(props.step) && (this.countDecimals(inputValue) >= this.countDecimals(props.step))) {\n $event.preventDefault();\n }\n // validates if user entered an invalid character.\n if (!validity.test($event.key)) {\n $event.preventDefault();\n }\n // a decimal value can be entered only once in the input.\n if (includes(inputValue, this.DECIMAL) && $event.key === this.DECIMAL) {\n $event.preventDefault();\n }\n // 'e' can be entered only once in the input.\n if (intersection(toArray(inputValue), ['e', 'E']).length && includes('eE', $event.key)) {\n $event.preventDefault();\n }\n if ((includes(inputValue, '+') || includes(inputValue, '-')) && ($event.key === '+' || $event.key === '-')) {\n $event.preventDefault();\n }\n this.invokeEventCallback('onKeypress', [ $event, this.proxy]);\n }\n\n /**\n * returns a valid number by validating the minimum and maximum values.\n * @param {number} value\n * @returns {number}\n */\n private getValueInRange(value: number): number {\n const props = this.state.props;\n if (props.minvalue && !isNil(value) && !isNaN(props.minvalue) && value < props.minvalue) {\n this.updateState({ errorType: 'minvalue'} as S);\n return props.minvalue;\n }\n if (props.maxvalue && !isNil(value) && !isNaN(props.maxvalue) && value > props.maxvalue) {\n this.updateState({ errorType: 'maxvalue'} as S);\n return props.maxvalue;\n }\n return value;\n }\n\n /**\n * Adds validations for the number before updating the widget model. like validating min and max value for the widget.\n * @param {number} val number to be validated\n * @returns {number}\n */\n private isValidNumber(val: number): boolean {\n const props = this.state.props;\n\n //empty number widget should not show validation error when required is false\n // @ts-ignore\n if (this.state.props.required === false && val === '') {\n return true;\n }\n // id number is infinite then consider it as invalid value\n if (isNaN(val) || !isFinite(val) || (!Number.isInteger(props.step) &&\n this.countDecimals(val) > this.countDecimals(props.step))) {\n this.updateState({\n isValid: false,\n } as S);\n return false;\n }\n if (val !== this.getValueInRange(val)) {\n this.updateState({\n isValid: false,\n } as S);\n return true;\n }\n this.resetValidations();\n return true;\n }\n\n // resets all the flags related to the widget's validation.\n protected resetValidations() {\n this.updateState({\n isValid: true,\n } as S);\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch (name) {\n case 'minvalue':\n case 'maxvalue':\n if ($new|| $old) {\n this.isValidNumber($new);\n }\n break;\n case 'datavalue':\n this.updateState({\n textValue: $new,\n } as S);\n const isDefault = this.state.isDefault;\n if (isDefault) {\n this.updateState({ isDefault: false } as S, this.props.onFieldChange && this.props.onFieldChange.bind(this, 'datavalue', $new, $old, isDefault));\n } else {\n this.props.onFieldChange && this.props.onFieldChange('datavalue', $new, $old, isDefault);\n }\n break;\n case 'displayValue': \n this.updateState({\n displayValue: $new,\n } as any)\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["includes","intersection","isNaN","isFinite","toArray","isNil","BaseComponent","BaseComponentState","DEFAULT_CLASS","Platform","countDecimalDigits","validateField","BaseNumberState","constructor","args","_defineProperty","BaseNumberComponent","props","defaultClass","defaultProps","defaultState","DECIMAL","GROUP","onChange","event","state","updateon","updateDatavalue","target","value","focus","_this$widgetRef","widgetRef","validateOnDevice","type","_value$match","isCurrencyField","isValidText","test","Number","match","length","onChangeText","shouldFormateToNumber","newValue","parseNumber","replace","isValidTextOnDevice","decimalPlacesInNumber","decimalPlaces","updateState","textValue","validate","invokeChange","e","OS","cursor","selectionStart","setState","validationObj","isValid","errorType","handleValidation","regexp","condition","RegExp","val","parts","split","NaN","number","join","decimal","sum","parseFloat","toFixed","Object","is","source","model","toString","oldValue","datavalue","validNumber","isValidNumber","invokeEventCallback","proxy","Promise","resolve","hastwowaybinding","setProp","setTimeout","then","onFieldChange","onBlur","isDisplayValuePresent","textVal","newVal","undefined","triggerValidation","oldVal","isInputFocused","onFocus","countDecimals","decimalValue","validateInputEntry","$event","ctrlKey","key","validity","inputValue","step","preventDefault","getValueInRange","minvalue","maxvalue","required","isInteger","resetValidations","onPropertyChange","name","$new","$old","isDefault","bind","displayValue"],"sources":["basenumber.component.ts"],"sourcesContent":["import { includes, intersection, isNaN, isFinite, toArray, isNil } from 'lodash';\nimport BaseNumberProps from '@wavemaker/app-rn-runtime/components/input/basenumber/basenumber.props';\nimport { BaseComponent, BaseComponentState } from \"@wavemaker/app-rn-runtime/core/base.component\";\nimport { BaseNumberStyles } from '@wavemaker/app-rn-runtime/components/input/basenumber/basenumber.styles';\nimport { DEFAULT_CLASS } from \"@wavemaker/app-rn-runtime/components/navigation/basenav/basenav.styles\";\nimport { Platform, TextInput } from 'react-native';\nimport { countDecimalDigits, validateField } from '@wavemaker/app-rn-runtime/core/utils';\n\nexport class BaseNumberState <T extends BaseNumberProps> extends BaseComponentState<T> {\n isValid: boolean = true;\n isInputFocused: boolean = false;\n textValue: string = '';\n isDefault = false;\n errorType = '';\n}\n\nexport abstract class BaseNumberComponent< T extends BaseNumberProps, S extends BaseNumberState<T>, L extends BaseNumberStyles> extends BaseComponent<T, S, L> {\n private DECIMAL;\n private GROUP;\n public widgetRef: TextInput | null = null;\n private cursor: any = 0;\n constructor(props: T, public defaultClass: string = DEFAULT_CLASS, defaultProps?: T, defaultState?: S) {\n super(props, defaultClass, defaultProps, defaultState);\n this.DECIMAL = '.';\n this.GROUP = ',';\n }\n\n onChange(event: any) {\n if (this.state.props.updateon === 'default') {\n this.updateDatavalue(event.target.value, event);\n }\n }\n\n focus() {\n this?.widgetRef?.focus();\n }\n\n validateOnDevice(value: string, type: 'number' | 'currency') {\n const isCurrencyField = type === 'currency';\n let isValidText = true;\n\n // * no alphabets except E, may contain E only once\n if (/[a-df-zA-DF-Z]/.test(value) || !/^[^eE]*[eE]?[^eE]*$/.test(value)) {\n isValidText = false;\n }\n\n // * currency only: check for negative number\n if (isCurrencyField && (Number(value) < 0 || /-/g.test(value))) {\n isValidText = false;\n }\n\n // * number only: not more than one minus and doesn't end with minus (-)\n if (!isCurrencyField && (Number(value.match(/-/g)?.length) > 1) || /\\w-/.test(value)) {\n isValidText = false;\n }\n\n // * check for more than one decimal point\n if (/^\\d*\\.\\d*\\..*$/.test(value)) {\n isValidText = false;\n }\n\n // * check for spaces and comma\n if (/[\\s,]/.test(value)) {\n isValidText = false;\n }\n\n return isValidText;\n }\n\n onChangeText(value: string, type: 'number' | 'currency', shouldFormateToNumber?: boolean) {\n const newValue = shouldFormateToNumber ? `${this.parseNumber(value.replace(/[^0-9.]/g, ''))}` : value;\n const isValidTextOnDevice = this.validateOnDevice(newValue, type);\n if (!isValidTextOnDevice) {\n return;\n }\n\n const decimalPlacesInNumber = countDecimalDigits(newValue);\n\n if (this.props.decimalPlaces < decimalPlacesInNumber) {\n return;\n }\n\n this.updateState({\n textValue: newValue\n } as S, () => {\n if (this.state.props.updateon === 'default') {\n this.validate(newValue);\n this.updateDatavalue(newValue, null);\n }\n }\n );\n }\n\n invokeChange(e: any) {\n if (Platform.OS === 'web') {\n this.cursor = e.target.selectionStart;\n this.setState({ textValue: e.target.value });\n }\n }\n\n validate(value: any) {\n const validationObj = validateField(this.state.props, value);\n this.updateState({\n isValid: validationObj.isValid,\n errorType: validationObj.errorType\n } as S);\n\n }\n\n handleValidation(value: any) {\n const props = this.state.props;\n if (props.regexp) {\n const condition = new RegExp(props.regexp, 'g');\n return condition.test(value);\n }\n return true;\n }\n\n /**\n * Method parses the Localized number(string) to a valid number.\n * if the string dose not result to a valid number then returns NaN.\n * @param {string} val Localized number.\n * @returns {number}\n */\n private parseNumber(val: string): any {\n // splits string into two parts. decimal and number.\n const parts = val.split(this.DECIMAL);\n if (!parts.length) {\n return;\n }\n if (parts.length > 2) {\n return NaN;\n }\n // If number have decimal point and not have a decimal value then return.\n if (parts[1] === '') {\n return NaN;\n }\n // replaces all group separators form the number.\n const number = Number(parts[0].split(this.GROUP).join(''));\n const decimal = Number(`0.${parts[1] || 0}`);\n if (Number.isNaN(number) || Number.isNaN(decimal)) {\n return NaN;\n }\n const sum = parts.length > 1 ? parseFloat((number + decimal).toFixed(parts[1].length)) : number + decimal;\n // if the number is negative then calculate the number as number - decimal\n // Ex: number = -123 and decimal = 0.45 then number - decimal = -123-045 = -123.45\n // If entered number is -0.1 to -0.9 then the number is -0 and decimal is 0.1 to 0.9. Now calaculate the number as number-decimal\n // Ex: number = -0 and decimal = 0.1 then number-decimal = -0-0.1 = -0.1\n if (number === 0) {\n return Object.is(0, number) ? sum : number - decimal;\n }\n return number > 0 ? sum : number - decimal;\n }\n\n updateDatavalue(value: any, event?: any, source?: any) {\n const model = value && this.parseNumber(value.toString());\n const props = this.state.props;\n const oldValue = props.datavalue;\n if (value === oldValue) {\n return;\n }\n const validNumber = this.isValidNumber(model) || value === oldValue + '.';\n if (!validNumber) {\n this.invokeEventCallback('onError', [ event, this.proxy, value, oldValue ]);\n return;\n }\n\n new Promise((resolve) => {\n if (props.hastwowaybinding) {\n this.setProp(\"datavalue\", value);\n setTimeout(()=>this.updateState({props: { \"datavalue\": value }} as S), 0);\n resolve(true);\n } else {\n this.updateState({\n props: {\n datavalue: model || Number(value)\n }\n } as S, () => resolve(true));\n }\n }).then(() => {\n !this.props.onFieldChange && value !== oldValue && this.invokeEventCallback('onChange', [event, this.proxy, model, oldValue]);\n if (source === 'blur') {\n this.invokeEventCallback('onBlur', [event, this.proxy]);\n }\n });\n }\n\n onBlur(event: any, isDisplayValuePresent?: boolean) {\n const textVal = this.state.textValue || '';\n let newVal = isDisplayValuePresent ? textVal : event.target.value || textVal;\n this.validate(newVal);\n if (newVal === '' || newVal == undefined) {\n setTimeout(() => {\n this.props.triggerValidation && this.props.triggerValidation();\n },10)\n }\n if (this.state.props.updateon === 'blur' || this.state.props.updateon === 'default') {\n let oldVal = this.state.props.datavalue || '';\n if (oldVal !== newVal && this.state.props.updateon === 'blur') {\n this.updateDatavalue(newVal, event, 'blur');\n } else {\n this.invokeEventCallback('onBlur', [event, this.proxy]);\n }\n this.setState({ isInputFocused: false});\n }\n }\n\n onFocus(event: any) {\n this.invokeEventCallback('onFocus', [ event, this.proxy]);\n this.setState({ isInputFocused: true});\n }\n\n /**\n * returns the number of decimal places a number have.\n * @param value: number\n * @returns {number}\n */\n private countDecimals(value: any) {\n if (value && ((value % 1) !== 0)) {\n const decimalValue = value.toString().split('.')[1];\n return decimalValue && decimalValue.length;\n }\n return 0;\n }\n\n public validateInputEntry($event: any) {\n const props = this.state.props;\n\n // allow actions if control key is pressed or if backspace is pressed. (for Mozilla).\n if ($event.ctrlKey || includes(['Backspace', 'ArrowRight', 'ArrowLeft', 'Tab', 'Enter', 'Delete'], $event.key)) {\n return;\n }\n\n const validity = new RegExp(`^[\\\\d\\\\s-,.e+${this.GROUP}${this.DECIMAL}]$`, 'i');\n const inputValue = $event.target.value;\n // validates entering of decimal values only when user provides decimal limit(i.e step contains decimal values).\n if (inputValue && this.countDecimals(props.step) && (this.countDecimals(inputValue) >= this.countDecimals(props.step))) {\n $event.preventDefault();\n }\n // validates if user entered an invalid character.\n if (!validity.test($event.key)) {\n $event.preventDefault();\n }\n // a decimal value can be entered only once in the input.\n if (includes(inputValue, this.DECIMAL) && $event.key === this.DECIMAL) {\n $event.preventDefault();\n }\n // 'e' can be entered only once in the input.\n if (intersection(toArray(inputValue), ['e', 'E']).length && includes('eE', $event.key)) {\n $event.preventDefault();\n }\n if ((includes(inputValue, '+') || includes(inputValue, '-')) && ($event.key === '+' || $event.key === '-')) {\n $event.preventDefault();\n }\n this.invokeEventCallback('onKeypress', [ $event, this.proxy]);\n }\n\n /**\n * returns a valid number by validating the minimum and maximum values.\n * @param {number} value\n * @returns {number}\n */\n private getValueInRange(value: number): number {\n const props = this.state.props;\n if (props.minvalue && !isNil(value) && !isNaN(props.minvalue) && value < props.minvalue) {\n this.updateState({ errorType: 'minvalue'} as S);\n return props.minvalue;\n }\n if (props.maxvalue && !isNil(value) && !isNaN(props.maxvalue) && value > props.maxvalue) {\n this.updateState({ errorType: 'maxvalue'} as S);\n return props.maxvalue;\n }\n return value;\n }\n\n /**\n * Adds validations for the number before updating the widget model. like validating min and max value for the widget.\n * @param {number} val number to be validated\n * @returns {number}\n */\n private isValidNumber(val: number): boolean {\n const props = this.state.props;\n\n //empty number widget should not show validation error when required is false\n // @ts-ignore\n if (this.state.props.required === false && val === '') {\n return true;\n }\n // id number is infinite then consider it as invalid value\n if (isNaN(val) || !isFinite(val) || (!Number.isInteger(props.step) &&\n this.countDecimals(val) > this.countDecimals(props.step))) {\n this.updateState({\n isValid: false,\n } as S);\n return false;\n }\n if (val !== this.getValueInRange(val)) {\n this.updateState({\n isValid: false,\n } as S);\n return true;\n }\n this.resetValidations();\n return true;\n }\n\n // resets all the flags related to the widget's validation.\n protected resetValidations() {\n this.updateState({\n isValid: true,\n } as S);\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch (name) {\n case 'minvalue':\n case 'maxvalue':\n if ($new|| $old) {\n this.isValidNumber($new);\n }\n break;\n case 'datavalue':\n this.updateState({\n textValue: $new,\n } as S);\n const isDefault = this.state.isDefault;\n if (isDefault) {\n this.updateState({ isDefault: false } as S, this.props.onFieldChange && this.props.onFieldChange.bind(this, 'datavalue', $new, $old, isDefault));\n } else {\n this.props.onFieldChange && this.props.onFieldChange('datavalue', $new, $old, isDefault);\n }\n break;\n case 'displayValue': \n this.updateState({\n displayValue: $new,\n } as any)\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -4,7 +4,7 @@ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol"
4
4
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
5
5
  import React from 'react';
6
6
  import { View, TouchableOpacity, Text } from 'react-native';
7
- import { clone, findIndex, get, isUndefined, pull, forEach, filter, find, isEqual, merge, isArray, isString } from 'lodash';
7
+ import { clone, findIndex, get, isUndefined, pull, forEach, filter, find, isEqual, merge } from 'lodash';
8
8
  import WmChipsProps from './chips.props';
9
9
  import { DEFAULT_CLASS } from './chips.styles';
10
10
  import WmSearch from '@wavemaker/app-rn-runtime/components/basic/search/search.component';
@@ -13,7 +13,6 @@ import WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.compone
13
13
  import WmPicture from '@wavemaker/app-rn-runtime/components/basic/picture/picture.component';
14
14
  import { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';
15
15
  import WmLabel from '../../basic/label/label.component';
16
- import { isDefined } from '@wavemaker/app-rn-runtime/core/utils';
17
16
  export class WmChipsState extends BaseDatasetState {
18
17
  constructor(...args) {
19
18
  super(...args);
@@ -46,31 +45,6 @@ export default class WmChips extends BaseDatasetComponent {
46
45
  chipsList: []
47
46
  });
48
47
  }
49
- break;
50
- case 'maxsize':
51
- let datavalue = this.state.props.datavalue;
52
- let dataValueItems;
53
- if (typeof datavalue === 'string') {
54
- dataValueItems = datavalue.split(',');
55
- } else if (isArray(datavalue)) {
56
- dataValueItems = datavalue;
57
- } else {
58
- if (isDefined(datavalue)) {
59
- dataValueItems = [datavalue];
60
- }
61
- }
62
- dataValueItems = dataValueItems.map(item => isString(item) ? item.trim() : item);
63
- if (dataValueItems.length >= $new) {
64
- dataValueItems = dataValueItems.slice(0, $new);
65
- let updatedItems = this.state.dataItems.map(item => ({
66
- ...item,
67
- selected: dataValueItems.includes(item.datafield)
68
- }));
69
- this.updateState({
70
- dataItems: updatedItems
71
- });
72
- }
73
- break;
74
48
  }
75
49
  }
76
50
  reset() {
@@ -182,9 +156,8 @@ export default class WmChips extends BaseDatasetComponent {
182
156
  }
183
157
  this.updateState({
184
158
  chipsList: newChipList
185
- }, () => {
186
- this.setDatavalue(newChipList);
187
159
  });
160
+ this.setDatavalue(newChipList);
188
161
  // @ts-ignore
189
162
  isFormFieldWidget ? this.props.invokeEvent('onRemove', [null, this, item]) : this.invokeEventCallback('onRemove', [null, this, item]);
190
163
  }
@@ -239,7 +212,7 @@ export default class WmChips extends BaseDatasetComponent {
239
212
  }
240
213
  }) : /*#__PURE__*/React.createElement(Text, _extends({}, this.getTestPropsForAction('chip' + index + 'label'), {
241
214
  style: [this.styles.chipLabel, isSelected ? this.styles.activeChipLabel : null]
242
- }), item.displayexp || item.displayfield), !this.isDefaultView() && !(this.state.props.disabled || this.state.props.readonly) ? /*#__PURE__*/React.createElement(WmIcon, {
215
+ }), item.displayexp || item.displayfield), !this.isDefaultView() && !this.state.props.disabled ? /*#__PURE__*/React.createElement(WmIcon, {
243
216
  id: this.getTestId('clearbtn'),
244
217
  iconclass: 'wi wi-clear',
245
218
  iconsize: 16,
@@ -254,7 +227,6 @@ export default class WmChips extends BaseDatasetComponent {
254
227
  this.updateState({
255
228
  chipsList: selectedItems
256
229
  });
257
- this.updateMaxSize(selectedItems.length);
258
230
  }
259
231
  this.isDefaultQuery = false;
260
232
  }
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","TouchableOpacity","Text","clone","findIndex","get","isUndefined","pull","forEach","filter","find","isEqual","merge","isArray","isString","WmChipsProps","DEFAULT_CLASS","WmSearch","BaseDatasetComponent","BaseDatasetState","WmIcon","WmPicture","AccessibilityWidgetType","getAccessibilityProps","WmLabel","isDefined","WmChipsState","constructor","args","_defineProperty","WmChips","props","onComponentInit","c","searchRef","val","onPropertyChange","name","$new","$old","length","updateState","chipsList","datavalue","state","dataValueItems","split","map","item","trim","slice","updatedItems","dataItems","selected","includes","datafield","reset","_this$searchRef","query","onDataItemsUpdate","isDefaultQuery","updateDefaultQueryModel","addItem","$event","widget","_this$props","_this$props2","newChipList","allowAdd","push","queryModel","isFormFieldWidget","isDuplicate","resetSearchModel","invokeEvent","invokeEventCallback","toBoolean","setDatavalue","computeDisplayValue","displayValue","displayexp","displayfield","selectChip","chipItem","maxsize","selectedItem","d","key","dataValue","updateDatavalue","updateMaxSize","prevDatavalue","createCustomDataModel","dataObject","isCustom","clearSearch","chipListLength","saturate","removeItem","index","allowRemove","isDefaultView","_this$state$dataItems","searchable","renderChip","isSelected","createElement","_extends","getTestPropsForAction","CHIPS","style","styles","chip","activeChip","onPress","disabled","readonly","id","getTestId","iconclass","iconsize","doneIcon","icon","color","activeChipLabel","_showSkeleton","imageStyles","picturesource","imgSrc","shape","root","width","chipLabel","clearIcon","onTap","selectedItems","componentDidMount","componentDidUpdate","prevProps","prevState","_this$searchRef2","computePosition","renderSkeleton","chipsWrapper","renderWidget","chips","searchContainer","flexDirection","inputposition","search","placeholder","maxSizeReached","listener","dataset","searchkey","minchars","autofocus","displayexpression","getDisplayExpression","displayimagesrc","onSubmit","bind","onChange","_this$props$listener","_this$props$listener2","onComponentChange","showSearchIcon","showclear","type","flexWrap"],"sources":["chips.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View, TouchableOpacity, Text, DimensionValue } from 'react-native';\nimport { LifecycleListener } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { clone, findIndex, get, isUndefined, pull, forEach, filter, find, isEqual, merge, isArray, isString } from 'lodash';\nimport WmChipsProps from './chips.props';\nimport { DEFAULT_CLASS, WmChipsStyles } from './chips.styles';\nimport WmSearch from '@wavemaker/app-rn-runtime/components/basic/search/search.component';\nimport {\n BaseDatasetComponent,\n BaseDatasetState\n} from '@wavemaker/app-rn-runtime/components/input/basedataset/basedataset.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport WmPicture from '@wavemaker/app-rn-runtime/components/basic/picture/picture.component';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility'; \nimport { createSkeleton } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.component';\nimport WmLabel from '../../basic/label/label.component';\nimport { isDefined } from '@wavemaker/app-rn-runtime/core/utils';\n\nexport class WmChipsState extends BaseDatasetState<WmChipsProps> {\n chipsList: any = [];\n saturate: any;\n}\n\nexport default class WmChips extends BaseDatasetComponent<WmChipsProps, WmChipsState, WmChipsStyles> {\n constructor(props: WmChipsProps) {\n super(props, DEFAULT_CLASS, new WmChipsProps(), new WmChipsState());\n }\n\n private searchRef: WmSearch = null as any;\n private maxSizeReached = 'Max size reached';\n private isDefaultQuery: boolean = true;\n private prevDatavalue: any;\n\n private listener: LifecycleListener = {\n onComponentInit: (c) => {\n if (c instanceof WmSearch) {\n this.searchRef = c;\n }\n }\n };\n\n onPropertyChange(name: string, $new: any, $old: any): void {\n super.onPropertyChange(name, $new, $old);\n switch (name) {\n case 'datavalue':\n if (!$new || $new.length === 0) {\n this.updateState({\n chipsList: [],\n } as WmChipsState);\n }\n break;\n case 'maxsize':\n let datavalue = this.state.props.datavalue;\n let dataValueItems: any;\n if (typeof datavalue === 'string') {\n dataValueItems = datavalue.split(',');\n } else if (isArray(datavalue)) {\n dataValueItems = datavalue;\n } else {\n if (isDefined(datavalue)) {\n dataValueItems = [datavalue];\n }\n }\n dataValueItems = dataValueItems.map((item: any) =>\n isString(item) ? item.trim() : item\n );\n if (dataValueItems.length >= $new) {\n dataValueItems = dataValueItems.slice(0, $new);\n let updatedItems = this.state.dataItems.map((item: any) => ({\n ...item,\n selected: dataValueItems.includes(item.datafield),\n }));\n this.updateState({ dataItems: updatedItems } as WmChipsState);\n }\n break;\n }\n }\n\n reset() {\n if (this.searchRef?.state.props.query) {\n this.searchRef.reset();\n }\n }\n\n onDataItemsUpdate() {\n super.onDataItemsUpdate();\n this.isDefaultQuery = true;\n this.updateDefaultQueryModel();\n }\n\n addItem($event: any, widget: any) {\n let newChipList = clone(this.state.chipsList),\n allowAdd;\n newChipList.push(widget.queryModel);\n const isFormFieldWidget = get(this.props, 'formfield');\n if (this.isDuplicate(widget.queryModel)) {\n this.resetSearchModel();\n return;\n }\n\n // @ts-ignore\n allowAdd = isFormFieldWidget ? this.props?.invokeEvent('onBeforeadd', [null, this, widget.queryModel]) : this.invokeEventCallback('onBeforeadd', [null, this, widget.queryModel]);\n\n if (!isUndefined(allowAdd) && !this.toBoolean(allowAdd)) {\n return;\n }\n\n this.updateState({\n chipsList: newChipList\n } as WmChipsState);\n\n this.setDatavalue(newChipList);\n\n // @ts-ignore\n isFormFieldWidget ? this.props?.invokeEvent('onAdd', [null, this, widget.queryModel]) : this.invokeEventCallback('onAdd', [null, this, widget.queryModel]);\n this.resetSearchModel();\n }\n\n computeDisplayValue() {\n this.updateState({\n props: {\n displayValue: ((this.state.dataItems || [] as any)\n .filter((item: any) => item.selected)\n .map((item: any) => item.displayexp || item.displayfield)) || ''\n }\n } as WmChipsState);\n }\n\n selectChip(chipItem: any) {\n if (!chipItem.selected && this.state.props.maxsize > 0 && (this.state.chipsList.length === this.state.props.maxsize)) {\n return;\n }\n chipItem.selected = !chipItem.selected;\n const newChipList: any = [];\n const selectedItem = find(this.state.dataItems, d => isEqual(d.key, chipItem.key));\n selectedItem.selected = chipItem.selected;\n forEach(this.state.dataItems, (item) => {\n if (item.selected) {\n newChipList.push(item);\n }\n });\n this.updateState({\n chipsList: newChipList\n } as WmChipsState);\n\n this.setDatavalue(newChipList);\n }\n\n setDatavalue(newChipList: any) {\n const dataValue = newChipList.map((item: any) => item.datafield);\n this.updateDatavalue(dataValue);\n this.updateMaxSize(newChipList.length);\n if (!this.props.invokeEvent) {\n this.invokeEventCallback('onChange', [null, this, dataValue, this.prevDatavalue])\n }\n this.prevDatavalue = dataValue;\n }\n\n toBoolean = (val: any) => ((val && val !== 'false') ? true : false);\n\n // Prepare datavalue object from a string(junk) value when datafield is allFields.\n createCustomDataModel(val: string) {\n return {\n key: `${this.state.props.name}_item${this.state.chipsList.length}`,\n dataObject: val,\n displayfield: val,\n datafield: val,\n isCustom: true\n }\n }\n\n resetSearchModel() {\n (this as any).searchRef.isDefaultQuery = false;\n this.searchRef.clearSearch();\n }\n\n isDuplicate(item: any) {\n return findIndex(this.state.chipsList, {datafield: item.datafield}) > -1;\n }\n\n // Check if max size is reached\n private updateMaxSize(chipListLength: number) {\n const saturate = this.state.props.maxsize > 0 && (chipListLength || this.state.chipsList.length) === this.state.props.maxsize;\n \n this.updateState({\n saturate: saturate\n } as WmChipsState);\n }\n\n removeItem(item: any, index: any) {\n let newChipList = clone(this.state.chipsList);\n const isFormFieldWidget = get(this.props, 'formfield');\n newChipList = pull(newChipList, item);\n // prevent deletion if the before-remove event callback returns false\n // @ts-ignore\n const allowRemove = isFormFieldWidget ? this.props.invokeEvent('onBeforeremove',[null, this, item]) : this.invokeEventCallback('onBeforeremove',[null, this, item]);\n if (!isUndefined(allowRemove) && !this.toBoolean(allowRemove)) {\n return;\n }\n\n this.updateState({\n chipsList: newChipList\n } as WmChipsState,()=>{\n this.setDatavalue(newChipList);\n });\n // @ts-ignore\n isFormFieldWidget ? this.props.invokeEvent('onRemove', [null, this, item]) : this.invokeEventCallback('onRemove', [null, this, item]);\n }\n\n private isDefaultView() {\n return !this.state.props.searchable && this.state.dataItems?.length <= 10;\n }\n\n renderChip(item: any, index: any) {\n const isSelected = this.isDefaultView() ? item.selected : true;\n return (\n <TouchableOpacity\n {...this.getTestPropsForAction('chip'+ index)}\n {...getAccessibilityProps(AccessibilityWidgetType.CHIPS, {...this.state.props, selected: isSelected})}\n style={[this.styles.chip, isSelected ? this.styles.activeChip : null]}\n key={'chipitem_'+ index}\n onPress={() => {\n if (this.state.props.disabled || this.state.props.readonly) {\n return;\n }\n if (this.isDefaultView()) {\n this.selectChip(item);\n }\n if (get(this.props, 'formfield')) {\n // @ts-ignore\n this.props.invokeEvent('onChipclick', [null, this, item]);\n // @ts-ignore\n this.props.invokeEvent('onChipselect', [null, this, item]);\n } else {\n this.invokeEventCallback('onChipclick', [null, this, item]);\n this.invokeEventCallback('onChipselect', [null, this, item]);\n }\n }}>\n {isSelected && this.isDefaultView() ? <WmIcon id={this.getTestId('checkicon')} iconclass={'wm-sl-l sl-check'} iconsize={16} styles={merge({}, this.styles.doneIcon, {icon: {color: isSelected ? this.styles.activeChipLabel.color : null}})}></WmIcon> : null}\n { this._showSkeleton ? null : <WmPicture id={this.getTestId('chip'+ index + 'picture')} styles={this.styles.imageStyles} picturesource={item.imgSrc} shape='circle'></WmPicture>}\n { this._showSkeleton ? <WmLabel styles={{root: {width: 50}}}/> : <Text {...this.getTestPropsForAction('chip'+ index+'label')}style={[this.styles.chipLabel, isSelected ? this.styles.activeChipLabel : null]}>{item.displayexp || item.displayfield}</Text>}\n {!this.isDefaultView() && !(this.state.props.disabled||this.state.props.readonly) ? <WmIcon id={this.getTestId('clearbtn')} iconclass={'wi wi-clear'} iconsize={16} styles={this.styles.clearIcon} onTap={() => this.removeItem(item, index)}></WmIcon> : null}\n </TouchableOpacity>\n )\n }\n\n updateDefaultQueryModel() {\n if (this.state.dataItems && this.state.dataItems.length && this.isDefaultQuery) {\n const selectedItems = filter(this.state.dataItems, (item) => item.selected);\n if (selectedItems.length) {\n this.updateState({\n chipsList: selectedItems\n } as WmChipsState);\n this.updateMaxSize(selectedItems.length);\n }\n this.isDefaultQuery = false;\n }\n }\n\n componentDidMount(): void {\n super.componentDidMount();\n this.updateDefaultQueryModel();\n }\n\n componentDidUpdate(prevProps: WmChipsProps, prevState: WmChipsState) {\n super.componentDidUpdate(prevProps, prevState);\n if (prevState.chipsList !== this.state.chipsList) {\n this.searchRef?.computePosition();\n }\n } \n renderSkeleton(): React.ReactNode {\n return (<View style={this.styles.root}>\n <View style={this.styles.chipsWrapper}>{ \n [{}, {}, {}].map((item: any, index: any) => this.renderChip(item, index)) }\n </View>\n </View>)\n }\n\n renderWidget(props: WmChipsProps) {\n const chips = this.state.chipsList;\n return (<View style={this.styles.root}>\n\n <View style={this.styles.chipsWrapper}>\n {\n this.isDefaultView() ? this.state.dataItems.map((item: any, index: any) => this.renderChip(item, index)) : null\n }\n { props.searchable || !this.isDefaultView() ?\n <View style={[this.styles.searchContainer, {flexDirection: props.inputposition === 'first' ? 'column' : 'column-reverse'}]}>\n <WmSearch\n id={this.getTestId('search')}\n name=\"app-chip-search\"\n styles={this.styles.search}\n placeholder={this.state.saturate ? this.maxSizeReached : props.placeholder}\n listener={this.listener}\n dataset={props.dataset}\n searchkey={props.searchkey}\n minchars={props.minchars}\n autofocus={props.autofocus}\n disabled={props.disabled || props.readonly || this.state.saturate}\n readonly={props.readonly}\n displayexpression={props.displayexpression}\n getDisplayExpression={props.getDisplayExpression}\n displayimagesrc={props.displayimagesrc}\n displayfield={props.displayfield}\n datafield={props.datafield}\n onSubmit={this.addItem.bind(this)}\n onChange={() => {\n this.isDefaultQuery = false;\n this.props.listener?.onComponentChange && this.props.listener?.onComponentChange(this)\n }}\n showSearchIcon={false}\n showclear={false}\n type={props.minchars === 0 ? 'autocomplete' : 'search'}/>\n <View style={{ flexDirection: 'row', flexWrap: 'wrap'}}>\n {chips && chips.length ?\n chips.map((item: any, index: any) => this.renderChip(item, index))\n : null}\n </View>\n </View>\n : null }\n </View>\n </View>);\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","View","TouchableOpacity","Text","clone","findIndex","get","isUndefined","pull","forEach","filter","find","isEqual","merge","WmChipsProps","DEFAULT_CLASS","WmSearch","BaseDatasetComponent","BaseDatasetState","WmIcon","WmPicture","AccessibilityWidgetType","getAccessibilityProps","WmLabel","WmChipsState","constructor","args","_defineProperty","WmChips","props","onComponentInit","c","searchRef","val","onPropertyChange","name","$new","$old","length","updateState","chipsList","reset","_this$searchRef","state","query","onDataItemsUpdate","isDefaultQuery","updateDefaultQueryModel","addItem","$event","widget","_this$props","_this$props2","newChipList","allowAdd","push","queryModel","isFormFieldWidget","isDuplicate","resetSearchModel","invokeEvent","invokeEventCallback","toBoolean","setDatavalue","computeDisplayValue","displayValue","dataItems","item","selected","map","displayexp","displayfield","selectChip","chipItem","maxsize","selectedItem","d","key","dataValue","datafield","updateDatavalue","updateMaxSize","prevDatavalue","createCustomDataModel","dataObject","isCustom","clearSearch","chipListLength","saturate","removeItem","index","allowRemove","isDefaultView","_this$state$dataItems","searchable","renderChip","isSelected","createElement","_extends","getTestPropsForAction","CHIPS","style","styles","chip","activeChip","onPress","disabled","readonly","id","getTestId","iconclass","iconsize","doneIcon","icon","color","activeChipLabel","_showSkeleton","imageStyles","picturesource","imgSrc","shape","root","width","chipLabel","clearIcon","onTap","selectedItems","componentDidMount","componentDidUpdate","prevProps","prevState","_this$searchRef2","computePosition","renderSkeleton","chipsWrapper","renderWidget","chips","searchContainer","flexDirection","inputposition","search","placeholder","maxSizeReached","listener","dataset","searchkey","minchars","autofocus","displayexpression","getDisplayExpression","displayimagesrc","onSubmit","bind","onChange","_this$props$listener","_this$props$listener2","onComponentChange","showSearchIcon","showclear","type","flexWrap"],"sources":["chips.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View, TouchableOpacity, Text, DimensionValue } from 'react-native';\nimport { LifecycleListener } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { clone, findIndex, get, isUndefined, pull, forEach, filter, find, isEqual, merge } from 'lodash';\nimport WmChipsProps from './chips.props';\nimport { DEFAULT_CLASS, WmChipsStyles } from './chips.styles';\nimport WmSearch from '@wavemaker/app-rn-runtime/components/basic/search/search.component';\nimport {\n BaseDatasetComponent,\n BaseDatasetState\n} from '@wavemaker/app-rn-runtime/components/input/basedataset/basedataset.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport WmPicture from '@wavemaker/app-rn-runtime/components/basic/picture/picture.component';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility'; \nimport { createSkeleton } from '@wavemaker/app-rn-runtime/components/basic/skeleton/skeleton.component';\nimport WmLabel from '../../basic/label/label.component';\n\nexport class WmChipsState extends BaseDatasetState<WmChipsProps> {\n chipsList: any = [];\n saturate: any;\n}\n\nexport default class WmChips extends BaseDatasetComponent<WmChipsProps, WmChipsState, WmChipsStyles> {\n constructor(props: WmChipsProps) {\n super(props, DEFAULT_CLASS, new WmChipsProps(), new WmChipsState());\n }\n\n private searchRef: WmSearch = null as any;\n private maxSizeReached = 'Max size reached';\n private isDefaultQuery: boolean = true;\n private prevDatavalue: any;\n\n private listener: LifecycleListener = {\n onComponentInit: (c) => {\n if (c instanceof WmSearch) {\n this.searchRef = c;\n }\n }\n };\n\n onPropertyChange(name: string, $new: any, $old: any): void {\n super.onPropertyChange(name, $new, $old);\n switch(name) {\n case 'datavalue':\n if (!$new || $new.length === 0) {\n this.updateState({\n chipsList : []\n } as WmChipsState);\n }\n }\n }\n\n reset() {\n if (this.searchRef?.state.props.query) {\n this.searchRef.reset();\n }\n }\n\n onDataItemsUpdate() {\n super.onDataItemsUpdate();\n this.isDefaultQuery = true;\n this.updateDefaultQueryModel();\n }\n\n addItem($event: any, widget: any) {\n let newChipList = clone(this.state.chipsList),\n allowAdd;\n newChipList.push(widget.queryModel);\n const isFormFieldWidget = get(this.props, 'formfield');\n if (this.isDuplicate(widget.queryModel)) {\n this.resetSearchModel();\n return;\n }\n\n // @ts-ignore\n allowAdd = isFormFieldWidget ? this.props?.invokeEvent('onBeforeadd', [null, this, widget.queryModel]) : this.invokeEventCallback('onBeforeadd', [null, this, widget.queryModel]);\n\n if (!isUndefined(allowAdd) && !this.toBoolean(allowAdd)) {\n return;\n }\n\n this.updateState({\n chipsList: newChipList\n } as WmChipsState);\n\n this.setDatavalue(newChipList);\n\n // @ts-ignore\n isFormFieldWidget ? this.props?.invokeEvent('onAdd', [null, this, widget.queryModel]) : this.invokeEventCallback('onAdd', [null, this, widget.queryModel]);\n this.resetSearchModel();\n }\n\n computeDisplayValue() {\n this.updateState({\n props: {\n displayValue: ((this.state.dataItems || [] as any)\n .filter((item: any) => item.selected)\n .map((item: any) => item.displayexp || item.displayfield)) || ''\n }\n } as WmChipsState);\n }\n\n selectChip(chipItem: any) {\n if (!chipItem.selected && this.state.props.maxsize > 0 && (this.state.chipsList.length === this.state.props.maxsize)) {\n return;\n }\n chipItem.selected = !chipItem.selected;\n const newChipList: any = [];\n const selectedItem = find(this.state.dataItems, d => isEqual(d.key, chipItem.key));\n selectedItem.selected = chipItem.selected;\n forEach(this.state.dataItems, (item) => {\n if (item.selected) {\n newChipList.push(item);\n }\n });\n this.updateState({\n chipsList: newChipList\n } as WmChipsState);\n\n this.setDatavalue(newChipList);\n }\n\n setDatavalue(newChipList: any) {\n const dataValue = newChipList.map((item: any) => item.datafield);\n this.updateDatavalue(dataValue);\n this.updateMaxSize(newChipList.length);\n if (!this.props.invokeEvent) {\n this.invokeEventCallback('onChange', [null, this, dataValue, this.prevDatavalue])\n }\n this.prevDatavalue = dataValue;\n }\n\n toBoolean = (val: any) => ((val && val !== 'false') ? true : false);\n\n // Prepare datavalue object from a string(junk) value when datafield is allFields.\n createCustomDataModel(val: string) {\n return {\n key: `${this.state.props.name}_item${this.state.chipsList.length}`,\n dataObject: val,\n displayfield: val,\n datafield: val,\n isCustom: true\n }\n }\n\n resetSearchModel() {\n (this as any).searchRef.isDefaultQuery = false;\n this.searchRef.clearSearch();\n }\n\n isDuplicate(item: any) {\n return findIndex(this.state.chipsList, {datafield: item.datafield}) > -1;\n }\n\n // Check if max size is reached\n private updateMaxSize(chipListLength: number) {\n const saturate = this.state.props.maxsize > 0 && (chipListLength || this.state.chipsList.length) === this.state.props.maxsize;\n this.updateState({\n saturate: saturate\n } as WmChipsState);\n }\n\n removeItem(item: any, index: any) {\n let newChipList = clone(this.state.chipsList);\n const isFormFieldWidget = get(this.props, 'formfield');\n newChipList = pull(newChipList, item);\n // prevent deletion if the before-remove event callback returns false\n // @ts-ignore\n const allowRemove = isFormFieldWidget ? this.props.invokeEvent('onBeforeremove',[null, this, item]) : this.invokeEventCallback('onBeforeremove',[null, this, item]);\n if (!isUndefined(allowRemove) && !this.toBoolean(allowRemove)) {\n return;\n }\n this.updateState({\n chipsList: newChipList\n } as WmChipsState);\n this.setDatavalue(newChipList);\n // @ts-ignore\n isFormFieldWidget ? this.props.invokeEvent('onRemove', [null, this, item]) : this.invokeEventCallback('onRemove', [null, this, item]);\n }\n\n private isDefaultView() {\n return !this.state.props.searchable && this.state.dataItems?.length <= 10;\n }\n\n renderChip(item: any, index: any) {\n const isSelected = this.isDefaultView() ? item.selected : true;\n return (\n <TouchableOpacity\n {...this.getTestPropsForAction('chip'+ index)}\n {...getAccessibilityProps(AccessibilityWidgetType.CHIPS, {...this.state.props, selected: isSelected})}\n style={[this.styles.chip, isSelected ? this.styles.activeChip : null]}\n key={'chipitem_'+ index}\n onPress={() => {\n if (this.state.props.disabled || this.state.props.readonly) {\n return;\n }\n if (this.isDefaultView()) {\n this.selectChip(item);\n }\n if (get(this.props, 'formfield')) {\n // @ts-ignore\n this.props.invokeEvent('onChipclick', [null, this, item]);\n // @ts-ignore\n this.props.invokeEvent('onChipselect', [null, this, item]);\n } else {\n this.invokeEventCallback('onChipclick', [null, this, item]);\n this.invokeEventCallback('onChipselect', [null, this, item]);\n }\n }}>\n {isSelected && this.isDefaultView() ? <WmIcon id={this.getTestId('checkicon')} iconclass={'wm-sl-l sl-check'} iconsize={16} styles={merge({}, this.styles.doneIcon, {icon: {color: isSelected ? this.styles.activeChipLabel.color : null}})}></WmIcon> : null}\n { this._showSkeleton ? null : <WmPicture id={this.getTestId('chip'+ index + 'picture')} styles={this.styles.imageStyles} picturesource={item.imgSrc} shape='circle'></WmPicture>}\n { this._showSkeleton ? <WmLabel styles={{root: {width: 50}}}/> : <Text {...this.getTestPropsForAction('chip'+ index+'label')}style={[this.styles.chipLabel, isSelected ? this.styles.activeChipLabel : null]}>{item.displayexp || item.displayfield}</Text>}\n {!this.isDefaultView() && !this.state.props.disabled ? <WmIcon id={this.getTestId('clearbtn')} iconclass={'wi wi-clear'} iconsize={16} styles={this.styles.clearIcon} onTap={() => this.removeItem(item, index)}></WmIcon> : null}\n </TouchableOpacity>\n )\n }\n\n updateDefaultQueryModel() {\n if (this.state.dataItems && this.state.dataItems.length && this.isDefaultQuery) {\n const selectedItems = filter(this.state.dataItems, (item) => item.selected);\n if (selectedItems.length) {\n this.updateState({\n chipsList: selectedItems\n } as WmChipsState);\n }\n this.isDefaultQuery = false;\n }\n }\n\n componentDidMount(): void {\n super.componentDidMount();\n this.updateDefaultQueryModel();\n }\n\n componentDidUpdate(prevProps: WmChipsProps, prevState: WmChipsState) {\n super.componentDidUpdate(prevProps, prevState);\n if (prevState.chipsList !== this.state.chipsList) {\n this.searchRef?.computePosition();\n }\n } \n renderSkeleton(): React.ReactNode {\n return (<View style={this.styles.root}>\n <View style={this.styles.chipsWrapper}>{ \n [{}, {}, {}].map((item: any, index: any) => this.renderChip(item, index)) }\n </View>\n </View>)\n }\n\n renderWidget(props: WmChipsProps) {\n const chips = this.state.chipsList;\n return (<View style={this.styles.root}>\n\n <View style={this.styles.chipsWrapper}>\n {\n this.isDefaultView() ? this.state.dataItems.map((item: any, index: any) => this.renderChip(item, index)) : null\n }\n { props.searchable || !this.isDefaultView() ?\n <View style={[this.styles.searchContainer, {flexDirection: props.inputposition === 'first' ? 'column' : 'column-reverse'}]}>\n <WmSearch\n id={this.getTestId('search')}\n name=\"app-chip-search\"\n styles={this.styles.search}\n placeholder={this.state.saturate ? this.maxSizeReached : props.placeholder}\n listener={this.listener}\n dataset={props.dataset}\n searchkey={props.searchkey}\n minchars={props.minchars}\n autofocus={props.autofocus}\n disabled={props.disabled || props.readonly || this.state.saturate}\n readonly={props.readonly}\n displayexpression={props.displayexpression}\n getDisplayExpression={props.getDisplayExpression}\n displayimagesrc={props.displayimagesrc}\n displayfield={props.displayfield}\n datafield={props.datafield}\n onSubmit={this.addItem.bind(this)}\n onChange={() => {\n this.isDefaultQuery = false;\n this.props.listener?.onComponentChange && this.props.listener?.onComponentChange(this)\n }}\n showSearchIcon={false}\n showclear={false}\n type={props.minchars === 0 ? 'autocomplete' : 'search'}/>\n <View style={{ flexDirection: 'row', flexWrap: 'wrap'}}>\n {chips && chips.length ?\n chips.map((item: any, index: any) => this.renderChip(item, index))\n : null}\n </View>\n </View>\n : null }\n </View>\n </View>);\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -4,7 +4,7 @@ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol"
4
4
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
5
5
  import React from 'react';
6
6
  import { View, Text, TouchableOpacity, Animated, Dimensions } from 'react-native';
7
- import { debounce, isNil, isArray, isString, last, isEqual } from 'lodash';
7
+ import { debounce, isNumber, isNil, isArray, isString, last } from 'lodash';
8
8
  import { Gesture, GestureDetector } from 'react-native-gesture-handler';
9
9
  import { BackgroundComponent } from '@wavemaker/app-rn-runtime/styles/background.component';
10
10
  import WmTooltip from '@wavemaker/app-rn-runtime/components/basic/tooltip/tooltip.component';
@@ -210,7 +210,7 @@ export default class WmSlider extends BaseDatasetComponent {
210
210
  this.initNumericSlider();
211
211
  }
212
212
  case 'datavalue':
213
- if (!isEqual($new, $old)) {
213
+ if (isNumber($new) && isNumber($old)) {
214
214
  this.invokeEventCallback('onChange', [null, this, $new, $old]);
215
215
  }
216
216
  break;
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","Text","TouchableOpacity","Animated","Dimensions","debounce","isNil","isArray","isString","last","isEqual","Gesture","GestureDetector","BackgroundComponent","WmTooltip","WmSliderProps","DEFAULT_CLASS","isDefined","isWebPreviewMode","BaseDatasetComponent","BaseDatasetState","AccessibilityWidgetType","getAccessibilityProps","SCREEN_WIDTH","get","width","WmSliderState","constructor","args","_defineProperty","Scale","getInstanceWithTicks","ticks","scale","getTickIndex","value","parseInt","markIndex","i","findIndex","v","markValue","length","getMinTick","getMaxTick","getTick","clamp","index","transform","min","max","_this$ticks$","_last","thisMin","thisMax","factor","forEach","Math","round","displayfield","datafield","dataitem","WmSlider","props","Value","Pan","gestureType","dataValue","getScaledDataValue","isRangeSlider","state","range","oldThumbValue","thumbDataValue","valueLowerThanHighThumb","valueGreaterThanLowThumb","dataset","map","updateState","datavalue","onFieldChange","e","layout","nativeEvent","track","top","y","left","x","height","initScale","computePosition","configureGesture","trackGesture","knobGesture","highKnobGesture","getValueFromGesture","positionX","_this$scale","uiScale","getPositionFromValue","_this$uiScale","gesture","maxPointers","minDistance","onChange","absoluteX","forceUpdate","onEnd","onSliderChange","getDataValue","d","_this$scale2","find","t","_this$scale$ticks","_this$scale$ticks$mid","mid","floor","_this$scale$getTick","initNumericSlider","minValue","minvalue","maxValue","maxvalue","step","nextMark","push","onPropertyChange","name","$new","$old","datatype","initialized","invokeEventCallback","onDataItemsUpdate","_this$getScaledDataVa","_this$state$dataItems","_state$track","dataItems","displayexp","from","_this$position","position","setValue","isNaN","_this$highPosition","highPosition","_this$position2","_this$scale$getMinTic","_this$position3","_this$scale$getMaxTic","_this$highPosition2","lowPosition","getTooltipLabel","initialValue","type","_this$scale3","tooltipValue","updatedPositionInPx","Number","JSON","stringify","tick","getToolTipExpression","_tick$dataitem","dataObject","componentDidMount","renderToolTips","_this$position4","sDataValue","createElement","Fragment","showTooltip","showtooltip","text","_value","tooltipStyle","translateX","styles","tooltip","tooltipLabelStyle","tooltipLabel","tooltipTriangleStyle","tooltipTriangle","direction","tooltipdirection","style","thumb","accessible","accessibilityLabel","size","backgroundSize","backgroundPosition","image","backgroundImage","repeat","backgroundRepeat","renderOldMarkerStyle","_this$scale4","_this$scale5","_last2","_this$scale6","flexDirection","justifyContent","_extends","getTestProps","minimumValue","maximumValue","renderMarkers","_this$state$track","markWidth","stepwiseLeft","labelText","key","markerWrapper","bottom","markerLabel","markerLabelStyle","mark","borderRadius","markerStyle","renderTracks","_this$state$track2","activeOpacity","trackStyle","onLayout","onLayoutChange","SLIDER","maximumTrack","minimumTrack","interpolate","inputRange","outputRange","minimumTrackStyle","activeTrackStyle","maximumTrackStyle","renderWidget","root","_background","showmarkers"],"sources":["slider.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View, Text, LayoutChangeEvent, TouchableOpacity, Animated, Easing, Dimensions } from 'react-native';\nimport { debounce, isNumber, isNil, isArray, isString, last, isEqual } from 'lodash';\nimport { Gesture, GestureDetector, PanGesture } from 'react-native-gesture-handler';\nimport { BackgroundComponent } from '@wavemaker/app-rn-runtime/styles/background.component';\nimport WmTooltip from '@wavemaker/app-rn-runtime/components/basic/tooltip/tooltip.component';\n\nimport WmSliderProps from './slider.props';\nimport { DEFAULT_CLASS, WmSliderStyles } from './slider.styles';\nimport { isDefined, isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\nimport { BaseDatasetComponent, BaseDatasetState } from '../basedataset/basedataset.component';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';\n\nexport type SliderGestureType = 'track' | 'lowThumb' | 'highThumb';\n\nconst SCREEN_WIDTH = Dimensions.get(\"screen\").width;\n\nexport class WmSliderState extends BaseDatasetState<WmSliderProps> {\n track?: {\n top: number,\n left: number,\n width: number,\n height: number\n };\n}\n\ninterface Tick {\n displayfield: string;\n markValue: number;\n datafield: any;\n dataitem: any;\n}\n\nclass Scale {\n\n public ticks = [] as Tick[];\n\n static getInstanceWithTicks(ticks: Tick[]) {\n const scale = new Scale();\n scale.ticks = [...ticks];\n return scale;\n }\n\n private constructor() {\n \n }\n\n public getTickIndex(value: number) {\n if (isString(value)) {\n value = parseInt(value);\n }\n let markIndex = 0;\n const i = this.ticks.findIndex((v, i) => v.markValue >= value);\n if (i === 0) {\n markIndex = 0;\n } else if (i < 0 || i === this.ticks.length - 1) {\n markIndex = this.ticks.length - 1;\n } else if ((value - this.ticks[i - 1].markValue) < (this.ticks[i].markValue - this.ticks[i - 1].markValue)/2) {\n markIndex = i - 1;\n } else {\n markIndex = i;\n }\n return markIndex;\n }\n\n public getMinTick() {\n return this.ticks[0];\n }\n\n public getMaxTick() {\n return last(this.ticks) || {} as Tick;\n }\n\n public getTick(value: number) {\n return this.ticks[this.getTickIndex(value)];\n}\n\n public clamp(value: number) {\n const index = this.getTickIndex(value);\n return this.ticks[index].markValue; \n }\n\n public transform(min: number, max: number) {\n const thisMin = (this.ticks ? this.ticks[0]?.markValue : 0) || 0;\n const thisMax = last(this.ticks)?.markValue;\n const factor = thisMax ? (max - min)/(thisMax - thisMin) : 1;\n const ticks = [] as Tick[];\n this.ticks.forEach((v, i) => {\n const markValue = Math.round(min + (v.markValue - this.ticks[0].markValue) * factor)\n ticks[i] = {\n displayfield: '' + markValue,\n markValue: markValue,\n datafield: markValue,\n dataitem: markValue\n };\n });\n return Scale.getInstanceWithTicks(ticks);\n }\n}\n\nexport default class WmSlider extends BaseDatasetComponent<WmSliderProps, WmSliderState, WmSliderStyles> {\n valueBeforeSlide: number = 0;\n private position: any = new Animated.Value(0);\n private highPosition: any = new Animated.Value(0);\n private trackGesture = Gesture.Pan();\n private knobGesture = Gesture.Pan();\n private highKnobGesture = Gesture.Pan();\n private scale: Scale = null as any;\n private uiScale: Scale = null as any;\n\n constructor(props: WmSliderProps) {\n super(props, DEFAULT_CLASS, new WmSliderProps());\n this.initScale();\n this.configureGesture(this.trackGesture, 'track');\n this.configureGesture(this.knobGesture, 'lowThumb');\n this.configureGesture(this.highKnobGesture, 'highThumb');\n }\n\n getValueFromGesture(positionX: number) {\n return this.scale?.ticks[this.uiScale.getTickIndex(positionX)].markValue || 0;\n }\n\n getPositionFromValue(value: number) {\n return this.uiScale?.ticks[this.scale.getTickIndex(value)]?.markValue;\n }\n\n configureGesture(gesture: PanGesture, gestureType: SliderGestureType) {\n gesture\n .maxPointers(1)\n .minDistance(0)\n .onChange(e => {\n const value = this.getValueFromGesture(e.absoluteX);\n this.computePosition(value, gestureType);\n this.forceUpdate();\n })\n .onEnd(e => {\n if (this.state.track) {\n const value = this.getValueFromGesture(e.absoluteX);\n this.onSliderChange(value, gestureType);\n this.forceUpdate();\n }\n })\n }\n\n getScaledDataValue() {\n let dataValue = this.state.props.datavalue || this.getDataValue();\n if (dataValue && this.scale) {\n dataValue = isArray(dataValue) ? dataValue: [dataValue];\n return dataValue.map((d: any) => this.scale?.ticks.find(t => t.datafield === d)?.markValue);\n }\n return dataValue;\n }\n\n getDataValue() {\n let dataValue = this.props.datavalue;\n if (isNil(this.props.datavalue)) {\n const mid = Math.floor(this.scale.ticks.length / 2);\n return mid > 0 ? \n [this.scale.ticks[mid - 1]?.datafield || 0,\n this.scale.ticks[mid]?.datafield || 100]\n : [];\n }\n dataValue = isArray(dataValue) ? dataValue: [dataValue];\n return dataValue.map((d: any) => this.scale.getTick(d)?.datafield);\n }\n\n initNumericSlider() {\n const dataset = [];\n const minValue = this.state.props.minvalue;\n const maxValue = this.state.props.maxvalue;\n const step = this.state.props.step;\n if (isDefined(minValue) \n && isDefined(maxValue)\n && isDefined(step)) {\n let nextMark = minValue;\n while (nextMark <= maxValue) {\n dataset.push(nextMark);\n nextMark += step || 1;\n }\n this.updateState({\n props: {\n dataset: dataset\n }\n } as WmSliderState);\n }\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n super.onPropertyChange(name, $new, $old);\n switch(name) {\n case 'maxvalue':\n case 'minvalue': \n case 'step': \n if (this.state.props.datatype === 'number' && this.initialized) {\n this.initNumericSlider();\n }\n case 'datavalue':\n if (!isEqual($new, $old)) {\n this.invokeEventCallback('onChange', [null, this, $new, $old]);\n }\n break;\n }\n }\n\n onDataItemsUpdate() {\n super.onDataItemsUpdate();\n this.initScale();\n this.computePosition(this.getScaledDataValue()?.[0] || 10, \"track\");\n }\n\n onSliderChange = debounce((value: number, gestureType: SliderGestureType) => {\n const dataValue = this.getScaledDataValue();\n const isRangeSlider = this.state.props.range && isArray(dataValue);\n\n // * thumb value for low or high\n const oldThumbValue =\n gestureType === 'lowThumb'\n ? dataValue || dataValue?.[0]\n : dataValue?.[1];\n\n let thumbDataValue = isRangeSlider\n ? [dataValue[0], dataValue[1]]\n : [value];\n if (isRangeSlider) {\n if (gestureType === 'lowThumb') {\n const valueLowerThanHighThumb =\n value > dataValue?.[1] ? dataValue?.[1] : value;\n\n thumbDataValue = [valueLowerThanHighThumb, dataValue[1]];\n } else if (gestureType === 'highThumb') {\n const valueGreaterThanLowThumb =\n value < dataValue[0] ? dataValue?.[0] : value;\n\n thumbDataValue = [dataValue[0], valueGreaterThanLowThumb];\n } else if (dataValue[1] && value > dataValue[1]) {\n thumbDataValue = [dataValue[0], value];\n } else {\n thumbDataValue = [value, dataValue[1]];\n }\n }\n\n // * new thumb value is different from old value\n const dataset = thumbDataValue.map(v => this.scale.getTick(v).datafield);\n this.updateState({\n props: {\n datavalue: dataset.length > 1 ? dataset : dataset[0]\n },\n } as WmSliderState);\n this.props.onFieldChange &&\n this.props.onFieldChange('datavalue', thumbDataValue, oldThumbValue);\n }, 200);\n\n initScale() {\n const props = this.state.props;\n const state = this.state;\n this.scale = Scale.getInstanceWithTicks(\n this.state.dataItems?.map((d: any, i: number) => ({\n displayfield: d.displayexp || d.displayfield,\n markValue: i + 1,\n datafield: d.datafield,\n dataitem: d \n }))\n );\n const width = state.track?.width || 0;\n this.uiScale = this.scale.transform(0, width);\n }\n\n computePosition(from: number, gestureType: SliderGestureType) {\n const state = this.state;\n const datavalue = this.getScaledDataValue();\n \n // * single thumb slider\n if (!state.props.range) {\n const value = this.getPositionFromValue(from);\n this.position?.setValue(isNaN(value) ? 0 : value);\n return;\n }\n\n if (gestureType === 'highThumb') {\n const value = this.getPositionFromValue(Math.max(datavalue[0], from));\n this.highPosition?.setValue(value);\n } else if (gestureType === 'lowThumb') {\n const value = this.getPositionFromValue(Math.min(from, datavalue[1]));\n this.position?.setValue(value);\n } else {\n /*\n * gestureType: track\n * initial position for low and high thumb\n */\n const lowPosition = this.getPositionFromValue(datavalue?.[0] || this.scale.getMinTick()?.datafield);\n this.position?.setValue(lowPosition || 0);\n const highPosition = this.getPositionFromValue(datavalue?.[1] || this.scale.getMaxTick()?.datafield);\n this.highPosition?.setValue(highPosition || 0);\n }\n }\n\n getTooltipLabel(value: any, initialValue: any, type: 'lowThumb' | 'highThumb') {\n const props = this.props;\n let tooltipValue = initialValue;\n const updatedPositionInPx = Number(JSON.stringify(value));\n\n if (updatedPositionInPx) {\n tooltipValue = this.scale.ticks[this.uiScale.getTickIndex(updatedPositionInPx)].markValue;\n }\n const tick = this.scale?.getTick(tooltipValue);\n // * getting custom tooltip label\n if (tick && props.getToolTipExpression && this.initialized) {\n return props.getToolTipExpression(tick.dataitem?.dataObject);\n }\n return tick?.displayfield;\n }\n\n onLayoutChange = (e: LayoutChangeEvent) => {\n const layout = e.nativeEvent.layout;\n this.updateState({\n track: {\n top: isWebPreviewMode() ? (layout as any).top : layout.y,\n left: isWebPreviewMode() ? (layout as any).left : layout.x,\n width: layout.width,\n height: layout.height\n }\n } as WmSliderState, () => {\n this.initScale();\n this.computePosition(this.getScaledDataValue()[0], 'track');\n });\n }\n\n componentDidMount(): void {\n super.componentDidMount();\n if (this.state.props.datatype === 'number') {\n this.initNumericSlider();\n }\n }\n\n renderToolTips(props: WmSliderProps) {\n const sDataValue = this.getScaledDataValue();\n const isRangeSlider = props.range && sDataValue.length > 1;\n return (\n <>\n <WmTooltip\n showTooltip={props.showtooltip}\n text={this.getTooltipLabel(\n this.position?._value,\n sDataValue[0],\n 'lowThumb'\n )}\n tooltipStyle={[\n {\n transform: [\n {\n translateX: this.position,\n },\n ],\n },\n this.styles.tooltip,\n ]}\n tooltipLabelStyle={this.styles.tooltipLabel}\n tooltipTriangleStyle={this.styles.tooltipTriangle}\n direction={props.tooltipdirection}\n >\n <GestureDetector gesture={this.knobGesture}>\n <Animated.View\n style={[\n this.styles.thumb,\n {\n transform: [\n {\n translateX: this.position,\n },\n ],\n },\n ]}\n accessible={true}\n accessibilityLabel={(isRangeSlider && this.highPosition) ? 'Low thumb' : 'Thumb'}\n >\n <BackgroundComponent\n size={(this.styles.thumb as any).backgroundSize}\n position={(this.styles.thumb as any).backgroundPosition}\n image={(this.styles.thumb as any).backgroundImage}\n repeat={(this.styles.thumb as any).backgroundRepeat || 'no-repeat'}\n ></BackgroundComponent>\n </Animated.View>\n </GestureDetector>\n </WmTooltip>\n {isRangeSlider && this.highPosition ? (\n <WmTooltip\n showTooltip={props.showtooltip}\n text={this.getTooltipLabel(\n this.highPosition._value,\n sDataValue[1],\n 'highThumb'\n )}\n tooltipStyle={[\n {\n transform: [\n {\n translateX: this.highPosition,\n },\n ],\n },\n this.styles.tooltip,\n ]}\n tooltipLabelStyle={this.styles.tooltipLabel}\n tooltipTriangleStyle={this.styles.tooltipTriangle}\n direction={props.tooltipdirection}\n >\n <GestureDetector gesture={this.highKnobGesture}>\n <Animated.View\n style={[\n this.styles.thumb,\n {\n transform: [\n {\n translateX: this.highPosition,\n },\n ],\n }\n ]}\n accessible={true}\n accessibilityLabel={'High thumb'}\n >\n <BackgroundComponent\n size={(this.styles.thumb as any).backgroundSize}\n position={(this.styles.thumb as any).backgroundPosition}\n image={(this.styles.thumb as any).backgroundImage}\n repeat={(this.styles.thumb as any).backgroundRepeat || 'no-repeat'}\n />\n </Animated.View>\n </GestureDetector>\n </WmTooltip>\n ) : null}\n </>\n );\n }\n\n renderOldMarkerStyle(props: WmSliderProps) {\n const sDataValue = this.getScaledDataValue();\n const isRangeSlider = props.range && sDataValue.length > 1;\n return (\n <View\n style={{ flexDirection: 'row', justifyContent: 'space-between' }}\n >\n <Text\n {...this.getTestProps('min')}\n style={[this.styles.text, this.styles.minimumValue]}\n >\n {this.scale?.ticks[0]?.displayfield}\n </Text>\n {isRangeSlider ? (\n <></>\n ) : (\n <Text\n {...this.getTestProps('value')}\n style={[this.styles.text, this.styles.value]}\n >\n {this.scale?.ticks.find(t => t.datafield === props.datavalue)?.displayfield}\n </Text>\n )}\n <Text\n {...this.getTestProps('max')}\n style={[this.styles.text, this.styles.maximumValue]}\n >\n {last(this.scale?.ticks)?.displayfield}\n </Text>\n </View>\n );\n }\n\n renderMarkers(props: WmSliderProps) {\n const width = this.state.track?.width || 0;\n return (<View style={{ flexDirection: 'row' }}>\n <View>\n {width ? this.scale.ticks.map((t, i) => {\n const markWidth = 10;\n const stepwiseLeft = this.getPositionFromValue(t.markValue);\n const labelText = t.displayfield;\n return (\n <View\n key={i}\n style={[\n this.styles.markerWrapper,\n {\n left: stepwiseLeft,\n bottom: markWidth / 2,\n },\n ]}\n >\n <Text\n style={[\n this.styles.markerLabel,\n {\n bottom: markWidth / 2 + 10,\n },\n this.styles.markerLabelStyle,\n i === 0 ? this.styles.minimumValue : null,\n i === this.scale.ticks.length - 1 ? this.styles.maximumValue : null,\n ]}\n >\n {labelText}\n </Text>\n <View\n style={[\n this.styles.mark,\n {\n width: markWidth,\n height: markWidth,\n borderRadius: markWidth,\n },\n this.styles.markerStyle,\n ]}\n />\n </View>\n );\n }) : null}\n </View>\n </View>);\n }\n\n renderTracks(props: WmSliderProps) {\n const width = this.state.track?.width || 0;\n const sDataValue = this.getScaledDataValue();\n const isRangeSlider = props.range && sDataValue.length > 1;\n return (\n <GestureDetector gesture={this.trackGesture}>\n <TouchableOpacity\n activeOpacity={1}\n style={[this.styles.track, this.styles.trackStyle]}\n onLayout={this.onLayoutChange}\n {...this.getTestProps()}\n {...getAccessibilityProps(AccessibilityWidgetType.SLIDER, props)}\n >\n <Animated.View\n style={[\n isRangeSlider && this.highPosition\n ? this.styles.maximumTrack\n : this.styles.minimumTrack,\n {\n width: width,\n transform: [\n {\n translateX: this.position.interpolate({\n inputRange: [0, width],\n outputRange: [-width, 0],\n }),\n },\n ],\n },\n this.styles.minimumTrackStyle,\n ]}\n ></Animated.View>\n <Animated.View\n style={[\n isRangeSlider && this.highPosition\n ? this.styles.minimumTrack\n : this.styles.maximumTrack,\n {\n width: width,\n transform: [\n {\n translateX: this.position,\n },\n ],\n },\n this.styles.activeTrackStyle,\n ]}\n ></Animated.View>\n {isRangeSlider && this.highPosition ? (\n <Animated.View\n style={[\n this.styles.maximumTrack,\n {\n width: width,\n transform: [\n {\n translateX: this.highPosition,\n },\n ],\n },\n this.styles.maximumTrackStyle,\n ]}\n />\n ) : null}\n </TouchableOpacity>\n </GestureDetector>\n );\n }\n\n renderWidget(props: WmSliderProps) {\n const sDataValue = this.getScaledDataValue();\n return (\n <View style={this.styles.root}>\n {this._background}\n {!props.showmarkers && !props.showtooltip? this.renderOldMarkerStyle(props) : null}\n {this.renderTracks(props)}\n <View style={{ flexDirection: 'row' }}>\n {props.showmarkers ? this.renderMarkers(props) : null}\n {this.renderToolTips(props)}\n </View>\n </View>\n );\n }\n}"],"mappings":";;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,IAAI,EAAqBC,gBAAgB,EAAEC,QAAQ,EAAUC,UAAU,QAAQ,cAAc;AAC5G,SAASC,QAAQ,EAAYC,KAAK,EAAEC,OAAO,EAAEC,QAAQ,EAAEC,IAAI,EAAEC,OAAO,QAAQ,QAAQ;AACpF,SAASC,OAAO,EAAEC,eAAe,QAAoB,8BAA8B;AACnF,SAASC,mBAAmB,QAAQ,uDAAuD;AAC3F,OAAOC,SAAS,MAAM,sEAAsE;AAE5F,OAAOC,aAAa,MAAM,gBAAgB;AAC1C,SAASC,aAAa,QAAwB,iBAAiB;AAC/D,SAASC,SAAS,EAAEC,gBAAgB,QAAQ,sCAAsC;AAClF,SAASC,oBAAoB,EAAEC,gBAAgB,QAAQ,sCAAsC;AAC7F,SAASC,uBAAuB,EAAEC,qBAAqB,QAAQ,8CAA8C;AAI7G,MAAMC,YAAY,GAAGnB,UAAU,CAACoB,GAAG,CAAC,QAAQ,CAAC,CAACC,KAAK;AAEnD,OAAO,MAAMC,aAAa,SAASN,gBAAgB,CAAgB;EAAAO,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA;EAAA;AAOnE;AASA,MAAMC,KAAK,CAAC;EAIV,OAAOC,oBAAoBA,CAACC,KAAa,EAAE;IACzC,MAAMC,KAAK,GAAG,IAAIH,KAAK,CAAC,CAAC;IACzBG,KAAK,CAACD,KAAK,GAAG,CAAC,GAAGA,KAAK,CAAC;IACxB,OAAOC,KAAK;EACd;EAEQN,WAAWA,CAAA,EAAG;IAAAE,eAAA,gBARP,EAAE;EAUjB;EAEOK,YAAYA,CAACC,KAAa,EAAE;IAC/B,IAAI3B,QAAQ,CAAC2B,KAAK,CAAC,EAAE;MACnBA,KAAK,GAAGC,QAAQ,CAACD,KAAK,CAAC;IACzB;IACA,IAAIE,SAAS,GAAG,CAAC;IACjB,MAAMC,CAAC,GAAG,IAAI,CAACN,KAAK,CAACO,SAAS,CAAC,CAACC,CAAC,EAAEF,CAAC,KAAKE,CAAC,CAACC,SAAS,IAAIN,KAAK,CAAC;IAC9D,IAAIG,CAAC,KAAK,CAAC,EAAE;MACTD,SAAS,GAAG,CAAC;IACjB,CAAC,MAAM,IAAIC,CAAC,GAAG,CAAC,IAAIA,CAAC,KAAK,IAAI,CAACN,KAAK,CAACU,MAAM,GAAG,CAAC,EAAE;MAC7CL,SAAS,GAAG,IAAI,CAACL,KAAK,CAACU,MAAM,GAAG,CAAC;IACrC,CAAC,MAAM,IAAKP,KAAK,GAAG,IAAI,CAACH,KAAK,CAACM,CAAC,GAAG,CAAC,CAAC,CAACG,SAAS,GAAI,CAAC,IAAI,CAACT,KAAK,CAACM,CAAC,CAAC,CAACG,SAAS,GAAG,IAAI,CAACT,KAAK,CAACM,CAAC,GAAG,CAAC,CAAC,CAACG,SAAS,IAAE,CAAC,EAAE;MAC1GJ,SAAS,GAAGC,CAAC,GAAG,CAAC;IACrB,CAAC,MAAM;MACHD,SAAS,GAAGC,CAAC;IACjB;IACA,OAAOD,SAAS;EACpB;EAEOM,UAAUA,CAAA,EAAG;IAClB,OAAO,IAAI,CAACX,KAAK,CAAC,CAAC,CAAC;EACtB;EAEOY,UAAUA,CAAA,EAAG;IAClB,OAAOnC,IAAI,CAAC,IAAI,CAACuB,KAAK,CAAC,IAAI,CAAC,CAAS;EACvC;EAEOa,OAAOA,CAACV,KAAa,EAAE;IAC5B,OAAO,IAAI,CAACH,KAAK,CAAC,IAAI,CAACE,YAAY,CAACC,KAAK,CAAC,CAAC;EAC/C;EAESW,KAAKA,CAACX,KAAa,EAAE;IAC1B,MAAMY,KAAK,GAAG,IAAI,CAACb,YAAY,CAACC,KAAK,CAAC;IACtC,OAAO,IAAI,CAACH,KAAK,CAACe,KAAK,CAAC,CAACN,SAAS;EACpC;EAEOO,SAASA,CAACC,GAAW,EAAEC,GAAW,EAAE;IAAA,IAAAC,YAAA,EAAAC,KAAA;IACvC,MAAMC,OAAO,GAAG,CAAC,IAAI,CAACrB,KAAK,IAAAmB,YAAA,GAAG,IAAI,CAACnB,KAAK,CAAC,CAAC,CAAC,cAAAmB,YAAA,uBAAbA,YAAA,CAAeV,SAAS,GAAG,CAAC,KAAK,CAAC;IAChE,MAAMa,OAAO,IAAAF,KAAA,GAAG3C,IAAI,CAAC,IAAI,CAACuB,KAAK,CAAC,cAAAoB,KAAA,uBAAhBA,KAAA,CAAkBX,SAAS;IAC3C,MAAMc,MAAM,GAAGD,OAAO,GAAG,CAACJ,GAAG,GAAGD,GAAG,KAAGK,OAAO,GAAGD,OAAO,CAAC,GAAG,CAAC;IAC5D,MAAMrB,KAAK,GAAG,EAAY;IAC1B,IAAI,CAACA,KAAK,CAACwB,OAAO,CAAC,CAAChB,CAAC,EAAEF,CAAC,KAAK;MAC3B,MAAMG,SAAS,GAAGgB,IAAI,CAACC,KAAK,CAACT,GAAG,GAAG,CAACT,CAAC,CAACC,SAAS,GAAG,IAAI,CAACT,KAAK,CAAC,CAAC,CAAC,CAACS,SAAS,IAAIc,MAAM,CAAC;MACpFvB,KAAK,CAACM,CAAC,CAAC,GAAG;QACTqB,YAAY,EAAE,EAAE,GAAGlB,SAAS;QAC5BA,SAAS,EAAEA,SAAS;QACpBmB,SAAS,EAAEnB,SAAS;QACpBoB,QAAQ,EAAEpB;MACZ,CAAC;IACH,CAAC,CAAC;IACF,OAAOX,KAAK,CAACC,oBAAoB,CAACC,KAAK,CAAC;EAC5C;AACF;AAEA,eAAe,MAAM8B,QAAQ,SAAS3C,oBAAoB,CAA+C;EAUvGQ,WAAWA,CAACoC,KAAoB,EAAE;IAChC,KAAK,CAACA,KAAK,EAAE/C,aAAa,EAAE,IAAID,aAAa,CAAC,CAAC,CAAC;IAACc,eAAA,2BAVxB,CAAC;IAAAA,eAAA,mBACJ,IAAI1B,QAAQ,CAAC6D,KAAK,CAAC,CAAC,CAAC;IAAAnC,eAAA,uBACjB,IAAI1B,QAAQ,CAAC6D,KAAK,CAAC,CAAC,CAAC;IAAAnC,eAAA,uBAC1BlB,OAAO,CAACsD,GAAG,CAAC,CAAC;IAAApC,eAAA,sBACdlB,OAAO,CAACsD,GAAG,CAAC,CAAC;IAAApC,eAAA,0BACTlB,OAAO,CAACsD,GAAG,CAAC,CAAC;IAAApC,eAAA,gBAChB,IAAI;IAAAA,eAAA,kBACF,IAAI;IAAAA,eAAA,yBAsGZxB,QAAQ,CAAC,CAAC8B,KAAa,EAAE+B,WAA8B,KAAK;MAC3E,MAAMC,SAAS,GAAG,IAAI,CAACC,kBAAkB,CAAC,CAAC;MAC3C,MAAMC,aAAa,GAAG,IAAI,CAACC,KAAK,CAACP,KAAK,CAACQ,KAAK,IAAIhE,OAAO,CAAC4D,SAAS,CAAC;;MAElE;MACA,MAAMK,aAAa,GACjBN,WAAW,KAAK,UAAU,GACtBC,SAAS,KAAIA,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAG,CAAC,CAAC,IAC3BA,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAG,CAAC,CAAC;MAEpB,IAAIM,cAAc,GAAGJ,aAAa,GAC9B,CAACF,SAAS,CAAC,CAAC,CAAC,EAAEA,SAAS,CAAC,CAAC,CAAC,CAAC,GAC5B,CAAChC,KAAK,CAAC;MACX,IAAIkC,aAAa,EAAE;QACjB,IAAIH,WAAW,KAAK,UAAU,EAAE;UAC9B,MAAMQ,uBAAuB,GAC3BvC,KAAK,IAAGgC,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAG,CAAC,CAAC,IAAGA,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAG,CAAC,CAAC,GAAGhC,KAAK;UAEjDsC,cAAc,GAAG,CAACC,uBAAuB,EAAEP,SAAS,CAAC,CAAC,CAAC,CAAC;QAC1D,CAAC,MAAM,IAAID,WAAW,KAAK,WAAW,EAAE;UACtC,MAAMS,wBAAwB,GAC5BxC,KAAK,GAAGgC,SAAS,CAAC,CAAC,CAAC,GAAGA,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAG,CAAC,CAAC,GAAGhC,KAAK;UAE/CsC,cAAc,GAAG,CAACN,SAAS,CAAC,CAAC,CAAC,EAAEQ,wBAAwB,CAAC;QAC3D,CAAC,MAAM,IAAIR,SAAS,CAAC,CAAC,CAAC,IAAIhC,KAAK,GAAGgC,SAAS,CAAC,CAAC,CAAC,EAAE;UAC/CM,cAAc,GAAG,CAACN,SAAS,CAAC,CAAC,CAAC,EAAEhC,KAAK,CAAC;QACxC,CAAC,MAAM;UACLsC,cAAc,GAAG,CAACtC,KAAK,EAAEgC,SAAS,CAAC,CAAC,CAAC,CAAC;QACxC;MACF;;MAEA;MACA,MAAMS,OAAO,GAAGH,cAAc,CAACI,GAAG,CAACrC,CAAC,IAAI,IAAI,CAACP,KAAK,CAACY,OAAO,CAACL,CAAC,CAAC,CAACoB,SAAS,CAAC;MACxE,IAAI,CAACkB,WAAW,CAAC;QACff,KAAK,EAAE;UACLgB,SAAS,EAAEH,OAAO,CAAClC,MAAM,GAAG,CAAC,GAAGkC,OAAO,GAAGA,OAAO,CAAC,CAAC;QACrD;MACF,CAAkB,CAAC;MACnB,IAAI,CAACb,KAAK,CAACiB,aAAa,IACtB,IAAI,CAACjB,KAAK,CAACiB,aAAa,CAAC,WAAW,EAAEP,cAAc,EAAED,aAAa,CAAC;IACxE,CAAC,EAAE,GAAG,CAAC;IAAA3C,eAAA,yBA8DWoD,CAAoB,IAAK;MACzC,MAAMC,MAAM,GAAGD,CAAC,CAACE,WAAW,CAACD,MAAM;MACnC,IAAI,CAACJ,WAAW,CAAC;QACfM,KAAK,EAAE;UACLC,GAAG,EAAEnE,gBAAgB,CAAC,CAAC,GAAIgE,MAAM,CAASG,GAAG,GAAGH,MAAM,CAACI,CAAC;UACxDC,IAAI,EAAErE,gBAAgB,CAAC,CAAC,GAAIgE,MAAM,CAASK,IAAI,GAAGL,MAAM,CAACM,CAAC;UAC1D/D,KAAK,EAAEyD,MAAM,CAACzD,KAAK;UACnBgE,MAAM,EAAEP,MAAM,CAACO;QACjB;MACF,CAAC,EAAmB,MAAM;QACxB,IAAI,CAACC,SAAS,CAAC,CAAC;QAChB,IAAI,CAACC,eAAe,CAAC,IAAI,CAACvB,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC;MAC7D,CAAC,CAAC;IACJ,CAAC;IArNC,IAAI,CAACsB,SAAS,CAAC,CAAC;IAChB,IAAI,CAACE,gBAAgB,CAAC,IAAI,CAACC,YAAY,EAAE,OAAO,CAAC;IACjD,IAAI,CAACD,gBAAgB,CAAC,IAAI,CAACE,WAAW,EAAE,UAAU,CAAC;IACnD,IAAI,CAACF,gBAAgB,CAAC,IAAI,CAACG,eAAe,EAAE,WAAW,CAAC;EAC1D;EAEAC,mBAAmBA,CAACC,SAAiB,EAAE;IAAA,IAAAC,WAAA;IACrC,OAAO,EAAAA,WAAA,OAAI,CAACjE,KAAK,cAAAiE,WAAA,uBAAVA,WAAA,CAAYlE,KAAK,CAAC,IAAI,CAACmE,OAAO,CAACjE,YAAY,CAAC+D,SAAS,CAAC,CAAC,CAACxD,SAAS,KAAI,CAAC;EAC/E;EAEA2D,oBAAoBA,CAACjE,KAAa,EAAE;IAAA,IAAAkE,aAAA;IAClC,QAAAA,aAAA,GAAO,IAAI,CAACF,OAAO,cAAAE,aAAA,gBAAAA,aAAA,GAAZA,aAAA,CAAcrE,KAAK,CAAC,IAAI,CAACC,KAAK,CAACC,YAAY,CAACC,KAAK,CAAC,CAAC,cAAAkE,aAAA,uBAAnDA,aAAA,CAAqD5D,SAAS;EACvE;EAEAmD,gBAAgBA,CAACU,OAAmB,EAAEpC,WAA8B,EAAE;IACpEoC,OAAO,CACJC,WAAW,CAAC,CAAC,CAAC,CACdC,WAAW,CAAC,CAAC,CAAC,CACdC,QAAQ,CAACxB,CAAC,IAAI;MACb,MAAM9C,KAAK,GAAG,IAAI,CAAC6D,mBAAmB,CAACf,CAAC,CAACyB,SAAS,CAAC;MACnD,IAAI,CAACf,eAAe,CAACxD,KAAK,EAAE+B,WAAW,CAAC;MACxC,IAAI,CAACyC,WAAW,CAAC,CAAC;IACpB,CAAC,CAAC,CACDC,KAAK,CAAC3B,CAAC,IAAI;MACV,IAAI,IAAI,CAACX,KAAK,CAACc,KAAK,EAAE;QACpB,MAAMjD,KAAK,GAAG,IAAI,CAAC6D,mBAAmB,CAACf,CAAC,CAACyB,SAAS,CAAC;QACnD,IAAI,CAACG,cAAc,CAAC1E,KAAK,EAAE+B,WAAW,CAAC;QACvC,IAAI,CAACyC,WAAW,CAAC,CAAC;MACpB;IACF,CAAC,CAAC;EACN;EAEAvC,kBAAkBA,CAAA,EAAG;IACnB,IAAID,SAAS,GAAG,IAAI,CAACG,KAAK,CAACP,KAAK,CAACgB,SAAS,IAAI,IAAI,CAAC+B,YAAY,CAAC,CAAC;IACjE,IAAI3C,SAAS,IAAI,IAAI,CAAClC,KAAK,EAAE;MAC3BkC,SAAS,GAAG5D,OAAO,CAAC4D,SAAS,CAAC,GAAGA,SAAS,GAAE,CAACA,SAAS,CAAC;MACvD,OAAOA,SAAS,CAACU,GAAG,CAAEkC,CAAM;QAAA,IAAAC,YAAA;QAAA,QAAAA,YAAA,GAAK,IAAI,CAAC/E,KAAK,cAAA+E,YAAA,gBAAAA,YAAA,GAAVA,YAAA,CAAYhF,KAAK,CAACiF,IAAI,CAACC,CAAC,IAAIA,CAAC,CAACtD,SAAS,KAAKmD,CAAC,CAAC,cAAAC,YAAA,uBAA9CA,YAAA,CAAgDvE,SAAS;MAAA,EAAC;IAC7F;IACA,OAAO0B,SAAS;EAClB;EAEA2C,YAAYA,CAAA,EAAG;IACb,IAAI3C,SAAS,GAAG,IAAI,CAACJ,KAAK,CAACgB,SAAS;IACpC,IAAIzE,KAAK,CAAC,IAAI,CAACyD,KAAK,CAACgB,SAAS,CAAC,EAAE;MAAA,IAAAoC,iBAAA,EAAAC,qBAAA;MAC/B,MAAMC,GAAG,GAAG5D,IAAI,CAAC6D,KAAK,CAAC,IAAI,CAACrF,KAAK,CAACD,KAAK,CAACU,MAAM,GAAG,CAAC,CAAC;MACnD,OAAO2E,GAAG,GAAG,CAAC,GACZ,CAAC,EAAAF,iBAAA,OAAI,CAAClF,KAAK,CAACD,KAAK,CAACqF,GAAG,GAAG,CAAC,CAAC,cAAAF,iBAAA,uBAAzBA,iBAAA,CAA2BvD,SAAS,KAAI,CAAC,EAC1C,EAAAwD,qBAAA,OAAI,CAACnF,KAAK,CAACD,KAAK,CAACqF,GAAG,CAAC,cAAAD,qBAAA,uBAArBA,qBAAA,CAAuBxD,SAAS,KAAI,GAAG,CAAC,GACtC,EAAE;IACR;IACAO,SAAS,GAAG5D,OAAO,CAAC4D,SAAS,CAAC,GAAGA,SAAS,GAAE,CAACA,SAAS,CAAC;IACvD,OAAOA,SAAS,CAACU,GAAG,CAAEkC,CAAM;MAAA,IAAAQ,mBAAA;MAAA,QAAAA,mBAAA,GAAK,IAAI,CAACtF,KAAK,CAACY,OAAO,CAACkE,CAAC,CAAC,cAAAQ,mBAAA,uBAArBA,mBAAA,CAAuB3D,SAAS;IAAA,EAAC;EACpE;EAEA4D,iBAAiBA,CAAA,EAAG;IAClB,MAAM5C,OAAO,GAAG,EAAE;IAClB,MAAM6C,QAAQ,GAAG,IAAI,CAACnD,KAAK,CAACP,KAAK,CAAC2D,QAAQ;IAC1C,MAAMC,QAAQ,GAAG,IAAI,CAACrD,KAAK,CAACP,KAAK,CAAC6D,QAAQ;IAC1C,MAAMC,IAAI,GAAG,IAAI,CAACvD,KAAK,CAACP,KAAK,CAAC8D,IAAI;IAClC,IAAI5G,SAAS,CAACwG,QAAQ,CAAC,IAClBxG,SAAS,CAAC0G,QAAQ,CAAC,IACnB1G,SAAS,CAAC4G,IAAI,CAAC,EAAE;MACpB,IAAIC,QAAQ,GAAGL,QAAQ;MACvB,OAAOK,QAAQ,IAAIH,QAAQ,EAAE;QAC3B/C,OAAO,CAACmD,IAAI,CAACD,QAAQ,CAAC;QACtBA,QAAQ,IAAID,IAAI,IAAI,CAAC;MACvB;MACA,IAAI,CAAC/C,WAAW,CAAC;QACff,KAAK,EAAE;UACLa,OAAO,EAAEA;QACX;MACF,CAAkB,CAAC;IACrB;EACF;EAEAoD,gBAAgBA,CAACC,IAAY,EAAEC,IAAS,EAAEC,IAAS,EAAE;IACnD,KAAK,CAACH,gBAAgB,CAACC,IAAI,EAAEC,IAAI,EAAEC,IAAI,CAAC;IACxC,QAAOF,IAAI;MACT,KAAK,UAAU;MACf,KAAK,UAAU;MACf,KAAK,MAAM;QACT,IAAI,IAAI,CAAC3D,KAAK,CAACP,KAAK,CAACqE,QAAQ,KAAK,QAAQ,IAAI,IAAI,CAACC,WAAW,EAAE;UAC9D,IAAI,CAACb,iBAAiB,CAAC,CAAC;QAC1B;MACF,KAAK,WAAW;QACd,IAAI,CAAC9G,OAAO,CAACwH,IAAI,EAAEC,IAAI,CAAC,EAAE;UACxB,IAAI,CAACG,mBAAmB,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,EAAEJ,IAAI,EAAEC,IAAI,CAAC,CAAC;QAChE;QACA;IACJ;EACF;EAEAI,iBAAiBA,CAAA,EAAG;IAAA,IAAAC,qBAAA;IAClB,KAAK,CAACD,iBAAiB,CAAC,CAAC;IACzB,IAAI,CAAC7C,SAAS,CAAC,CAAC;IAChB,IAAI,CAACC,eAAe,CAAC,EAAA6C,qBAAA,OAAI,CAACpE,kBAAkB,CAAC,CAAC,cAAAoE,qBAAA,uBAAzBA,qBAAA,CAA4B,CAAC,CAAC,KAAI,EAAE,EAAE,OAAO,CAAC;EACrE;EA4CA9C,SAASA,CAAA,EAAG;IAAA,IAAA+C,qBAAA,EAAAC,YAAA;IACV,MAAM3E,KAAK,GAAG,IAAI,CAACO,KAAK,CAACP,KAAK;IAC9B,MAAMO,KAAK,GAAG,IAAI,CAACA,KAAK;IACxB,IAAI,CAACrC,KAAK,GAAGH,KAAK,CAACC,oBAAoB,EAAA0G,qBAAA,GACrC,IAAI,CAACnE,KAAK,CAACqE,SAAS,cAAAF,qBAAA,uBAApBA,qBAAA,CAAsB5D,GAAG,CAAC,CAACkC,CAAM,EAAEzE,CAAS,MAAM;MAChDqB,YAAY,EAAEoD,CAAC,CAAC6B,UAAU,IAAI7B,CAAC,CAACpD,YAAY;MAC5ClB,SAAS,EAAEH,CAAC,GAAG,CAAC;MAChBsB,SAAS,EAAEmD,CAAC,CAACnD,SAAS;MACtBC,QAAQ,EAAEkD;IACZ,CAAC,CAAC,CACJ,CAAC;IACD,MAAMtF,KAAK,GAAG,EAAAiH,YAAA,GAAApE,KAAK,CAACc,KAAK,cAAAsD,YAAA,uBAAXA,YAAA,CAAajH,KAAK,KAAI,CAAC;IACrC,IAAI,CAAC0E,OAAO,GAAG,IAAI,CAAClE,KAAK,CAACe,SAAS,CAAC,CAAC,EAAEvB,KAAK,CAAC;EAC/C;EAEAkE,eAAeA,CAACkD,IAAY,EAAE3E,WAA8B,EAAE;IAC5D,MAAMI,KAAK,GAAG,IAAI,CAACA,KAAK;IACxB,MAAMS,SAAS,GAAG,IAAI,CAACX,kBAAkB,CAAC,CAAC;;IAE3C;IACA,IAAI,CAACE,KAAK,CAACP,KAAK,CAACQ,KAAK,EAAE;MAAA,IAAAuE,cAAA;MACtB,MAAM3G,KAAK,GAAG,IAAI,CAACiE,oBAAoB,CAACyC,IAAI,CAAC;MAC7C,CAAAC,cAAA,OAAI,CAACC,QAAQ,cAAAD,cAAA,eAAbA,cAAA,CAAeE,QAAQ,CAACC,KAAK,CAAC9G,KAAK,CAAC,GAAG,CAAC,GAAGA,KAAK,CAAC;MACjD;IACF;IAEA,IAAI+B,WAAW,KAAK,WAAW,EAAE;MAAA,IAAAgF,kBAAA;MAC/B,MAAM/G,KAAK,GAAG,IAAI,CAACiE,oBAAoB,CAAC3C,IAAI,CAACP,GAAG,CAAC6B,SAAS,CAAC,CAAC,CAAC,EAAE8D,IAAI,CAAC,CAAC;MACrE,CAAAK,kBAAA,OAAI,CAACC,YAAY,cAAAD,kBAAA,eAAjBA,kBAAA,CAAmBF,QAAQ,CAAC7G,KAAK,CAAC;IACpC,CAAC,MAAM,IAAI+B,WAAW,KAAK,UAAU,EAAE;MAAA,IAAAkF,eAAA;MACrC,MAAMjH,KAAK,GAAG,IAAI,CAACiE,oBAAoB,CAAC3C,IAAI,CAACR,GAAG,CAAC4F,IAAI,EAAE9D,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;MACrE,CAAAqE,eAAA,OAAI,CAACL,QAAQ,cAAAK,eAAA,eAAbA,eAAA,CAAeJ,QAAQ,CAAC7G,KAAK,CAAC;IAChC,CAAC,MAAM;MAAA,IAAAkH,qBAAA,EAAAC,eAAA,EAAAC,qBAAA,EAAAC,mBAAA;MACL;AACN;AACA;AACA;MACM,MAAMC,WAAW,GAAG,IAAI,CAACrD,oBAAoB,CAAC,CAAArB,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAG,CAAC,CAAC,OAAAsE,qBAAA,GAAI,IAAI,CAACpH,KAAK,CAACU,UAAU,CAAC,CAAC,cAAA0G,qBAAA,uBAAvBA,qBAAA,CAAyBzF,SAAS,EAAC;MACnG,CAAA0F,eAAA,OAAI,CAACP,QAAQ,cAAAO,eAAA,eAAbA,eAAA,CAAeN,QAAQ,CAACS,WAAW,IAAI,CAAC,CAAC;MACzC,MAAMN,YAAY,GAAG,IAAI,CAAC/C,oBAAoB,CAAC,CAAArB,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAG,CAAC,CAAC,OAAAwE,qBAAA,GAAI,IAAI,CAACtH,KAAK,CAACW,UAAU,CAAC,CAAC,cAAA2G,qBAAA,uBAAvBA,qBAAA,CAAyB3F,SAAS,EAAC;MACpG,CAAA4F,mBAAA,OAAI,CAACL,YAAY,cAAAK,mBAAA,eAAjBA,mBAAA,CAAmBR,QAAQ,CAACG,YAAY,IAAI,CAAC,CAAC;IAChD;EACF;EAEAO,eAAeA,CAACvH,KAAU,EAAEwH,YAAiB,EAAEC,IAA8B,EAAE;IAAA,IAAAC,YAAA;IAC7E,MAAM9F,KAAK,GAAG,IAAI,CAACA,KAAK;IACxB,IAAI+F,YAAY,GAAGH,YAAY;IAC/B,MAAMI,mBAAmB,GAAGC,MAAM,CAACC,IAAI,CAACC,SAAS,CAAC/H,KAAK,CAAC,CAAC;IAEzD,IAAI4H,mBAAmB,EAAE;MACvBD,YAAY,GAAG,IAAI,CAAC7H,KAAK,CAACD,KAAK,CAAC,IAAI,CAACmE,OAAO,CAACjE,YAAY,CAAC6H,mBAAmB,CAAC,CAAC,CAACtH,SAAS;IAC3F;IACA,MAAM0H,IAAI,IAAAN,YAAA,GAAG,IAAI,CAAC5H,KAAK,cAAA4H,YAAA,uBAAVA,YAAA,CAAYhH,OAAO,CAACiH,YAAY,CAAC;IAC9C;IACA,IAAIK,IAAI,IAAIpG,KAAK,CAACqG,oBAAoB,IAAI,IAAI,CAAC/B,WAAW,EAAE;MAAA,IAAAgC,cAAA;MAC1D,OAAOtG,KAAK,CAACqG,oBAAoB,EAAAC,cAAA,GAACF,IAAI,CAACtG,QAAQ,cAAAwG,cAAA,uBAAbA,cAAA,CAAeC,UAAU,CAAC;IAC9D;IACA,OAAOH,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAExG,YAAY;EAC3B;EAiBA4G,iBAAiBA,CAAA,EAAS;IACxB,KAAK,CAACA,iBAAiB,CAAC,CAAC;IACzB,IAAI,IAAI,CAACjG,KAAK,CAACP,KAAK,CAACqE,QAAQ,KAAK,QAAQ,EAAE;MAC1C,IAAI,CAACZ,iBAAiB,CAAC,CAAC;IAC1B;EACF;EAEAgD,cAAcA,CAACzG,KAAoB,EAAE;IAAA,IAAA0G,eAAA;IACnC,MAAMC,UAAU,GAAG,IAAI,CAACtG,kBAAkB,CAAC,CAAC;IAC5C,MAAMC,aAAa,GAAGN,KAAK,CAACQ,KAAK,IAAImG,UAAU,CAAChI,MAAM,GAAG,CAAC;IAC1D,oBACE3C,KAAA,CAAA4K,aAAA,CAAA5K,KAAA,CAAA6K,QAAA,qBACA7K,KAAA,CAAA4K,aAAA,CAAC7J,SAAS;MACR+J,WAAW,EAAE9G,KAAK,CAAC+G,WAAY;MAC/BC,IAAI,EAAE,IAAI,CAACrB,eAAe,EAAAe,eAAA,GACxB,IAAI,CAAC1B,QAAQ,cAAA0B,eAAA,uBAAbA,eAAA,CAAeO,MAAM,EACrBN,UAAU,CAAC,CAAC,CAAC,EACb,UACF,CAAE;MACFO,YAAY,EAAE,CACZ;QACEjI,SAAS,EAAE,CACT;UACEkI,UAAU,EAAE,IAAI,CAACnC;QACnB,CAAC;MAEL,CAAC,EACD,IAAI,CAACoC,MAAM,CAACC,OAAO,CACnB;MACFC,iBAAiB,EAAE,IAAI,CAACF,MAAM,CAACG,YAAa;MAC5CC,oBAAoB,EAAE,IAAI,CAACJ,MAAM,CAACK,eAAgB;MAClDC,SAAS,EAAE1H,KAAK,CAAC2H;IAAiB,gBAElC3L,KAAA,CAAA4K,aAAA,CAAC/J,eAAe;MAAC0F,OAAO,EAAE,IAAI,CAACR;IAAY,gBACzC/F,KAAA,CAAA4K,aAAA,CAACxK,QAAQ,CAACH,IAAI;MACZ2L,KAAK,EAAE,CACL,IAAI,CAACR,MAAM,CAACS,KAAK,EACjB;QACE5I,SAAS,EAAE,CACT;UACEkI,UAAU,EAAE,IAAI,CAACnC;QACnB,CAAC;MAEL,CAAC,CACD;MACF8C,UAAU,EAAE,IAAK;MACjBC,kBAAkB,EAAGzH,aAAa,IAAI,IAAI,CAAC8E,YAAY,GAAI,WAAW,GAAG;IAAQ,gBAEjFpJ,KAAA,CAAA4K,aAAA,CAAC9J,mBAAmB;MAClBkL,IAAI,EAAG,IAAI,CAACZ,MAAM,CAACS,KAAK,CAASI,cAAe;MAChDjD,QAAQ,EAAG,IAAI,CAACoC,MAAM,CAACS,KAAK,CAASK,kBAAmB;MACxDC,KAAK,EAAG,IAAI,CAACf,MAAM,CAACS,KAAK,CAASO,eAAgB;MAClDC,MAAM,EAAG,IAAI,CAACjB,MAAM,CAACS,KAAK,CAASS,gBAAgB,IAAI;IAAY,CAC/C,CACT,CACA,CACR,CAAC,EACXhI,aAAa,IAAI,IAAI,CAAC8E,YAAY,gBACjCpJ,KAAA,CAAA4K,aAAA,CAAC7J,SAAS;MACR+J,WAAW,EAAE9G,KAAK,CAAC+G,WAAY;MAC/BC,IAAI,EAAE,IAAI,CAACrB,eAAe,CACxB,IAAI,CAACP,YAAY,CAAC6B,MAAM,EACxBN,UAAU,CAAC,CAAC,CAAC,EACb,WACF,CAAE;MACFO,YAAY,EAAE,CACZ;QACEjI,SAAS,EAAE,CACT;UACEkI,UAAU,EAAE,IAAI,CAAC/B;QACnB,CAAC;MAEL,CAAC,EACD,IAAI,CAACgC,MAAM,CAACC,OAAO,CACnB;MACFC,iBAAiB,EAAE,IAAI,CAACF,MAAM,CAACG,YAAa;MAC5CC,oBAAoB,EAAE,IAAI,CAACJ,MAAM,CAACK,eAAgB;MAClDC,SAAS,EAAE1H,KAAK,CAAC2H;IAAiB,gBAElC3L,KAAA,CAAA4K,aAAA,CAAC/J,eAAe;MAAC0F,OAAO,EAAE,IAAI,CAACP;IAAgB,gBAC7ChG,KAAA,CAAA4K,aAAA,CAACxK,QAAQ,CAACH,IAAI;MACZ2L,KAAK,EAAE,CACL,IAAI,CAACR,MAAM,CAACS,KAAK,EACjB;QACE5I,SAAS,EAAE,CACT;UACEkI,UAAU,EAAE,IAAI,CAAC/B;QACnB,CAAC;MAEL,CAAC,CACD;MACF0C,UAAU,EAAE,IAAK;MACjBC,kBAAkB,EAAE;IAAa,gBAEjC/L,KAAA,CAAA4K,aAAA,CAAC9J,mBAAmB;MAClBkL,IAAI,EAAG,IAAI,CAACZ,MAAM,CAACS,KAAK,CAASI,cAAe;MAChDjD,QAAQ,EAAG,IAAI,CAACoC,MAAM,CAACS,KAAK,CAASK,kBAAmB;MACxDC,KAAK,EAAG,IAAI,CAACf,MAAM,CAACS,KAAK,CAASO,eAAgB;MAClDC,MAAM,EAAG,IAAI,CAACjB,MAAM,CAACS,KAAK,CAASS,gBAAgB,IAAI;IAAY,CACpE,CACY,CACA,CACR,CAAC,GACV,IACF,CAAC;EAEP;EAEAC,oBAAoBA,CAACvI,KAAoB,EAAE;IAAA,IAAAwI,YAAA,EAAAC,YAAA,EAAAC,MAAA,EAAAC,YAAA;IACzC,MAAMhC,UAAU,GAAG,IAAI,CAACtG,kBAAkB,CAAC,CAAC;IAC5C,MAAMC,aAAa,GAAGN,KAAK,CAACQ,KAAK,IAAImG,UAAU,CAAChI,MAAM,GAAG,CAAC;IAC1D,oBACI3C,KAAA,CAAA4K,aAAA,CAAC3K,IAAI;MACH2L,KAAK,EAAE;QAAEgB,aAAa,EAAE,KAAK;QAAEC,cAAc,EAAE;MAAgB;IAAE,gBAEjE7M,KAAA,CAAA4K,aAAA,CAAC1K,IAAI,EAAA4M,QAAA,KACC,IAAI,CAACC,YAAY,CAAC,KAAK,CAAC;MAC5BnB,KAAK,EAAE,CAAC,IAAI,CAACR,MAAM,CAACJ,IAAI,EAAE,IAAI,CAACI,MAAM,CAAC4B,YAAY;IAAE,KAAAR,YAAA,GAEnD,IAAI,CAACtK,KAAK,cAAAsK,YAAA,gBAAAA,YAAA,GAAVA,YAAA,CAAYvK,KAAK,CAAC,CAAC,CAAC,cAAAuK,YAAA,uBAApBA,YAAA,CAAsB5I,YACnB,CAAC,EACNU,aAAa,gBACZtE,KAAA,CAAA4K,aAAA,CAAA5K,KAAA,CAAA6K,QAAA,MAAI,CAAC,gBAEL7K,KAAA,CAAA4K,aAAA,CAAC1K,IAAI,EAAA4M,QAAA,KACC,IAAI,CAACC,YAAY,CAAC,OAAO,CAAC;MAC9BnB,KAAK,EAAE,CAAC,IAAI,CAACR,MAAM,CAACJ,IAAI,EAAE,IAAI,CAACI,MAAM,CAAChJ,KAAK;IAAE,KAAAqK,YAAA,GAE5C,IAAI,CAACvK,KAAK,cAAAuK,YAAA,gBAAAA,YAAA,GAAVA,YAAA,CAAYxK,KAAK,CAACiF,IAAI,CAACC,CAAC,IAAIA,CAAC,CAACtD,SAAS,KAAKG,KAAK,CAACgB,SAAS,CAAC,cAAAyH,YAAA,uBAA5DA,YAAA,CAA8D7I,YAC3D,CACP,eACD5D,KAAA,CAAA4K,aAAA,CAAC1K,IAAI,EAAA4M,QAAA,KACC,IAAI,CAACC,YAAY,CAAC,KAAK,CAAC;MAC5BnB,KAAK,EAAE,CAAC,IAAI,CAACR,MAAM,CAACJ,IAAI,EAAE,IAAI,CAACI,MAAM,CAAC6B,YAAY;IAAE,KAAAP,MAAA,GAEnDhM,IAAI,EAAAiM,YAAA,GAAC,IAAI,CAACzK,KAAK,cAAAyK,YAAA,uBAAVA,YAAA,CAAY1K,KAAK,CAAC,cAAAyK,MAAA,uBAAvBA,MAAA,CAAyB9I,YACtB,CACF,CAAC;EAEb;EAEAsJ,aAAaA,CAAClJ,KAAoB,EAAE;IAAA,IAAAmJ,iBAAA;IAClC,MAAMzL,KAAK,GAAG,EAAAyL,iBAAA,OAAI,CAAC5I,KAAK,CAACc,KAAK,cAAA8H,iBAAA,uBAAhBA,iBAAA,CAAkBzL,KAAK,KAAI,CAAC;IAC1C,oBAAQ1B,KAAA,CAAA4K,aAAA,CAAC3K,IAAI;MAAC2L,KAAK,EAAE;QAAEgB,aAAa,EAAE;MAAM;IAAE,gBAC5C5M,KAAA,CAAA4K,aAAA,CAAC3K,IAAI,QACFyB,KAAK,GAAG,IAAI,CAACQ,KAAK,CAACD,KAAK,CAAC6C,GAAG,CAAC,CAACqC,CAAC,EAAE5E,CAAC,KAAK;MACtC,MAAM6K,SAAS,GAAG,EAAE;MACpB,MAAMC,YAAY,GAAG,IAAI,CAAChH,oBAAoB,CAACc,CAAC,CAACzE,SAAS,CAAC;MAC3D,MAAM4K,SAAS,GAAGnG,CAAC,CAACvD,YAAY;MAChC,oBACE5D,KAAA,CAAA4K,aAAA,CAAC3K,IAAI;QACHsN,GAAG,EAAEhL,CAAE;QACPqJ,KAAK,EAAE,CACL,IAAI,CAACR,MAAM,CAACoC,aAAa,EACzB;UACEhI,IAAI,EAAE6H,YAAY;UAClBI,MAAM,EAAEL,SAAS,GAAG;QACtB,CAAC;MACD,gBAEFpN,KAAA,CAAA4K,aAAA,CAAC1K,IAAI;QACH0L,KAAK,EAAE,CACL,IAAI,CAACR,MAAM,CAACsC,WAAW,EACvB;UACED,MAAM,EAAEL,SAAS,GAAG,CAAC,GAAG;QAC1B,CAAC,EACD,IAAI,CAAChC,MAAM,CAACuC,gBAAgB,EAC5BpL,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC6I,MAAM,CAAC4B,YAAY,GAAG,IAAI,EACzCzK,CAAC,KAAK,IAAI,CAACL,KAAK,CAACD,KAAK,CAACU,MAAM,GAAG,CAAC,GAAG,IAAI,CAACyI,MAAM,CAAC6B,YAAY,GAAG,IAAI;MACnE,GAEDK,SACG,CAAC,eACPtN,KAAA,CAAA4K,aAAA,CAAC3K,IAAI;QACH2L,KAAK,EAAE,CACL,IAAI,CAACR,MAAM,CAACwC,IAAI,EAChB;UACElM,KAAK,EAAE0L,SAAS;UAChB1H,MAAM,EAAE0H,SAAS;UACjBS,YAAY,EAAET;QAChB,CAAC,EACD,IAAI,CAAChC,MAAM,CAAC0C,WAAW;MACvB,CACH,CACG,CAAC;IAEX,CAAC,CAAC,GAAG,IACD,CACF,CAAC;EACT;EAEAC,YAAYA,CAAC/J,KAAoB,EAAE;IAAA,IAAAgK,kBAAA;IACjC,MAAMtM,KAAK,GAAG,EAAAsM,kBAAA,OAAI,CAACzJ,KAAK,CAACc,KAAK,cAAA2I,kBAAA,uBAAhBA,kBAAA,CAAkBtM,KAAK,KAAI,CAAC;IAC1C,MAAMiJ,UAAU,GAAG,IAAI,CAACtG,kBAAkB,CAAC,CAAC;IAC5C,MAAMC,aAAa,GAAGN,KAAK,CAACQ,KAAK,IAAImG,UAAU,CAAChI,MAAM,GAAG,CAAC;IAC1D,oBACE3C,KAAA,CAAA4K,aAAA,CAAC/J,eAAe;MAAC0F,OAAO,EAAE,IAAI,CAACT;IAAa,gBAC1C9F,KAAA,CAAA4K,aAAA,CAACzK,gBAAgB,EAAA2M,QAAA;MACfmB,aAAa,EAAE,CAAE;MACjBrC,KAAK,EAAE,CAAC,IAAI,CAACR,MAAM,CAAC/F,KAAK,EAAE,IAAI,CAAC+F,MAAM,CAAC8C,UAAU,CAAE;MACnDC,QAAQ,EAAE,IAAI,CAACC;IAAe,GAC1B,IAAI,CAACrB,YAAY,CAAC,CAAC,EACnBxL,qBAAqB,CAACD,uBAAuB,CAAC+M,MAAM,EAAErK,KAAK,CAAC,gBAEhEhE,KAAA,CAAA4K,aAAA,CAACxK,QAAQ,CAACH,IAAI;MACZ2L,KAAK,EAAE,CACLtH,aAAa,IAAI,IAAI,CAAC8E,YAAY,GAC9B,IAAI,CAACgC,MAAM,CAACkD,YAAY,GACxB,IAAI,CAAClD,MAAM,CAACmD,YAAY,EAC5B;QACE7M,KAAK,EAAEA,KAAK;QACZuB,SAAS,EAAE,CACT;UACEkI,UAAU,EAAE,IAAI,CAACnC,QAAQ,CAACwF,WAAW,CAAC;YACpCC,UAAU,EAAE,CAAC,CAAC,EAAE/M,KAAK,CAAC;YACtBgN,WAAW,EAAE,CAAC,CAAChN,KAAK,EAAE,CAAC;UACzB,CAAC;QACH,CAAC;MAEL,CAAC,EACD,IAAI,CAAC0J,MAAM,CAACuD,iBAAiB;IAC7B,CACY,CAAC,eACjB3O,KAAA,CAAA4K,aAAA,CAACxK,QAAQ,CAACH,IAAI;MACZ2L,KAAK,EAAE,CACLtH,aAAa,IAAI,IAAI,CAAC8E,YAAY,GAC9B,IAAI,CAACgC,MAAM,CAACmD,YAAY,GACxB,IAAI,CAACnD,MAAM,CAACkD,YAAY,EAC5B;QACE5M,KAAK,EAAEA,KAAK;QACZuB,SAAS,EAAE,CACT;UACEkI,UAAU,EAAE,IAAI,CAACnC;QACnB,CAAC;MAEL,CAAC,EACD,IAAI,CAACoC,MAAM,CAACwD,gBAAgB;IAC5B,CACY,CAAC,EAChBtK,aAAa,IAAI,IAAI,CAAC8E,YAAY,gBACjCpJ,KAAA,CAAA4K,aAAA,CAACxK,QAAQ,CAACH,IAAI;MACZ2L,KAAK,EAAE,CACL,IAAI,CAACR,MAAM,CAACkD,YAAY,EACxB;QACE5M,KAAK,EAAEA,KAAK;QACZuB,SAAS,EAAE,CACT;UACEkI,UAAU,EAAE,IAAI,CAAC/B;QACnB,CAAC;MAEL,CAAC,EACD,IAAI,CAACgC,MAAM,CAACyD,iBAAiB;IAC7B,CACH,CAAC,GACA,IACY,CACH,CAAC;EAEtB;EAEAC,YAAYA,CAAC9K,KAAoB,EAAE;IACjC,MAAM2G,UAAU,GAAG,IAAI,CAACtG,kBAAkB,CAAC,CAAC;IAC5C,oBACErE,KAAA,CAAA4K,aAAA,CAAC3K,IAAI;MAAC2L,KAAK,EAAE,IAAI,CAACR,MAAM,CAAC2D;IAAK,GAC3B,IAAI,CAACC,WAAW,EAChB,CAAChL,KAAK,CAACiL,WAAW,IAAI,CAACjL,KAAK,CAAC+G,WAAW,GAAE,IAAI,CAACwB,oBAAoB,CAACvI,KAAK,CAAC,GAAG,IAAI,EACjF,IAAI,CAAC+J,YAAY,CAAC/J,KAAK,CAAC,eACzBhE,KAAA,CAAA4K,aAAA,CAAC3K,IAAI;MAAC2L,KAAK,EAAE;QAAEgB,aAAa,EAAE;MAAM;IAAE,GACnC5I,KAAK,CAACiL,WAAW,GAAG,IAAI,CAAC/B,aAAa,CAAClJ,KAAK,CAAC,GAAG,IAAI,EACpD,IAAI,CAACyG,cAAc,CAACzG,KAAK,CACtB,CACF,CAAC;EAEX;AACF","ignoreList":[]}
1
+ {"version":3,"names":["React","View","Text","TouchableOpacity","Animated","Dimensions","debounce","isNumber","isNil","isArray","isString","last","Gesture","GestureDetector","BackgroundComponent","WmTooltip","WmSliderProps","DEFAULT_CLASS","isDefined","isWebPreviewMode","BaseDatasetComponent","BaseDatasetState","AccessibilityWidgetType","getAccessibilityProps","SCREEN_WIDTH","get","width","WmSliderState","constructor","args","_defineProperty","Scale","getInstanceWithTicks","ticks","scale","getTickIndex","value","parseInt","markIndex","i","findIndex","v","markValue","length","getMinTick","getMaxTick","getTick","clamp","index","transform","min","max","_this$ticks$","_last","thisMin","thisMax","factor","forEach","Math","round","displayfield","datafield","dataitem","WmSlider","props","Value","Pan","gestureType","dataValue","getScaledDataValue","isRangeSlider","state","range","oldThumbValue","thumbDataValue","valueLowerThanHighThumb","valueGreaterThanLowThumb","dataset","map","updateState","datavalue","onFieldChange","e","layout","nativeEvent","track","top","y","left","x","height","initScale","computePosition","configureGesture","trackGesture","knobGesture","highKnobGesture","getValueFromGesture","positionX","_this$scale","uiScale","getPositionFromValue","_this$uiScale","gesture","maxPointers","minDistance","onChange","absoluteX","forceUpdate","onEnd","onSliderChange","getDataValue","d","_this$scale2","find","t","_this$scale$ticks","_this$scale$ticks$mid","mid","floor","_this$scale$getTick","initNumericSlider","minValue","minvalue","maxValue","maxvalue","step","nextMark","push","onPropertyChange","name","$new","$old","datatype","initialized","invokeEventCallback","onDataItemsUpdate","_this$getScaledDataVa","_this$state$dataItems","_state$track","dataItems","displayexp","from","_this$position","position","setValue","isNaN","_this$highPosition","highPosition","_this$position2","_this$scale$getMinTic","_this$position3","_this$scale$getMaxTic","_this$highPosition2","lowPosition","getTooltipLabel","initialValue","type","_this$scale3","tooltipValue","updatedPositionInPx","Number","JSON","stringify","tick","getToolTipExpression","_tick$dataitem","dataObject","componentDidMount","renderToolTips","_this$position4","sDataValue","createElement","Fragment","showTooltip","showtooltip","text","_value","tooltipStyle","translateX","styles","tooltip","tooltipLabelStyle","tooltipLabel","tooltipTriangleStyle","tooltipTriangle","direction","tooltipdirection","style","thumb","accessible","accessibilityLabel","size","backgroundSize","backgroundPosition","image","backgroundImage","repeat","backgroundRepeat","renderOldMarkerStyle","_this$scale4","_this$scale5","_last2","_this$scale6","flexDirection","justifyContent","_extends","getTestProps","minimumValue","maximumValue","renderMarkers","_this$state$track","markWidth","stepwiseLeft","labelText","key","markerWrapper","bottom","markerLabel","markerLabelStyle","mark","borderRadius","markerStyle","renderTracks","_this$state$track2","activeOpacity","trackStyle","onLayout","onLayoutChange","SLIDER","maximumTrack","minimumTrack","interpolate","inputRange","outputRange","minimumTrackStyle","activeTrackStyle","maximumTrackStyle","renderWidget","root","_background","showmarkers"],"sources":["slider.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View, Text, LayoutChangeEvent, TouchableOpacity, Animated, Easing, Dimensions } from 'react-native';\nimport { debounce, isNumber, isNil, isArray, isString, last, isEqual } from 'lodash';\nimport { Gesture, GestureDetector, PanGesture } from 'react-native-gesture-handler';\nimport { BackgroundComponent } from '@wavemaker/app-rn-runtime/styles/background.component';\nimport WmTooltip from '@wavemaker/app-rn-runtime/components/basic/tooltip/tooltip.component';\n\nimport WmSliderProps from './slider.props';\nimport { DEFAULT_CLASS, WmSliderStyles } from './slider.styles';\nimport { isDefined, isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\nimport { BaseDatasetComponent, BaseDatasetState } from '../basedataset/basedataset.component';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';\n\nexport type SliderGestureType = 'track' | 'lowThumb' | 'highThumb';\n\nconst SCREEN_WIDTH = Dimensions.get(\"screen\").width;\n\nexport class WmSliderState extends BaseDatasetState<WmSliderProps> {\n track?: {\n top: number,\n left: number,\n width: number,\n height: number\n };\n}\n\ninterface Tick {\n displayfield: string;\n markValue: number;\n datafield: any;\n dataitem: any;\n}\n\nclass Scale {\n\n public ticks = [] as Tick[];\n\n static getInstanceWithTicks(ticks: Tick[]) {\n const scale = new Scale();\n scale.ticks = [...ticks];\n return scale;\n }\n\n private constructor() {\n \n }\n\n public getTickIndex(value: number) {\n if (isString(value)) {\n value = parseInt(value);\n }\n let markIndex = 0;\n const i = this.ticks.findIndex((v, i) => v.markValue >= value);\n if (i === 0) {\n markIndex = 0;\n } else if (i < 0 || i === this.ticks.length - 1) {\n markIndex = this.ticks.length - 1;\n } else if ((value - this.ticks[i - 1].markValue) < (this.ticks[i].markValue - this.ticks[i - 1].markValue)/2) {\n markIndex = i - 1;\n } else {\n markIndex = i;\n }\n return markIndex;\n }\n\n public getMinTick() {\n return this.ticks[0];\n }\n\n public getMaxTick() {\n return last(this.ticks) || {} as Tick;\n }\n\n public getTick(value: number) {\n return this.ticks[this.getTickIndex(value)];\n}\n\n public clamp(value: number) {\n const index = this.getTickIndex(value);\n return this.ticks[index].markValue; \n }\n\n public transform(min: number, max: number) {\n const thisMin = (this.ticks ? this.ticks[0]?.markValue : 0) || 0;\n const thisMax = last(this.ticks)?.markValue;\n const factor = thisMax ? (max - min)/(thisMax - thisMin) : 1;\n const ticks = [] as Tick[];\n this.ticks.forEach((v, i) => {\n const markValue = Math.round(min + (v.markValue - this.ticks[0].markValue) * factor)\n ticks[i] = {\n displayfield: '' + markValue,\n markValue: markValue,\n datafield: markValue,\n dataitem: markValue\n };\n });\n return Scale.getInstanceWithTicks(ticks);\n }\n}\n\nexport default class WmSlider extends BaseDatasetComponent<WmSliderProps, WmSliderState, WmSliderStyles> {\n valueBeforeSlide: number = 0;\n private position: any = new Animated.Value(0);\n private highPosition: any = new Animated.Value(0);\n private trackGesture = Gesture.Pan();\n private knobGesture = Gesture.Pan();\n private highKnobGesture = Gesture.Pan();\n private scale: Scale = null as any;\n private uiScale: Scale = null as any;\n\n constructor(props: WmSliderProps) {\n super(props, DEFAULT_CLASS, new WmSliderProps());\n this.initScale();\n this.configureGesture(this.trackGesture, 'track');\n this.configureGesture(this.knobGesture, 'lowThumb');\n this.configureGesture(this.highKnobGesture, 'highThumb');\n }\n\n getValueFromGesture(positionX: number) {\n return this.scale?.ticks[this.uiScale.getTickIndex(positionX)].markValue || 0;\n }\n\n getPositionFromValue(value: number) {\n return this.uiScale?.ticks[this.scale.getTickIndex(value)]?.markValue;\n }\n\n configureGesture(gesture: PanGesture, gestureType: SliderGestureType) {\n gesture\n .maxPointers(1)\n .minDistance(0)\n .onChange(e => {\n const value = this.getValueFromGesture(e.absoluteX);\n this.computePosition(value, gestureType);\n this.forceUpdate();\n })\n .onEnd(e => {\n if (this.state.track) {\n const value = this.getValueFromGesture(e.absoluteX);\n this.onSliderChange(value, gestureType);\n this.forceUpdate();\n }\n })\n }\n\n getScaledDataValue() {\n let dataValue = this.state.props.datavalue || this.getDataValue();\n if (dataValue && this.scale) {\n dataValue = isArray(dataValue) ? dataValue: [dataValue];\n return dataValue.map((d: any) => this.scale?.ticks.find(t => t.datafield === d)?.markValue);\n }\n return dataValue;\n }\n\n getDataValue() {\n let dataValue = this.props.datavalue;\n if (isNil(this.props.datavalue)) {\n const mid = Math.floor(this.scale.ticks.length / 2);\n return mid > 0 ? \n [this.scale.ticks[mid - 1]?.datafield || 0,\n this.scale.ticks[mid]?.datafield || 100]\n : [];\n }\n dataValue = isArray(dataValue) ? dataValue: [dataValue];\n return dataValue.map((d: any) => this.scale.getTick(d)?.datafield);\n }\n\n initNumericSlider() {\n const dataset = [];\n const minValue = this.state.props.minvalue;\n const maxValue = this.state.props.maxvalue;\n const step = this.state.props.step;\n if (isDefined(minValue) \n && isDefined(maxValue)\n && isDefined(step)) {\n let nextMark = minValue;\n while (nextMark <= maxValue) {\n dataset.push(nextMark);\n nextMark += step || 1;\n }\n this.updateState({\n props: {\n dataset: dataset\n }\n } as WmSliderState);\n }\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n super.onPropertyChange(name, $new, $old);\n switch(name) {\n case 'maxvalue':\n case 'minvalue': \n case 'step': \n if (this.state.props.datatype === 'number' && this.initialized) {\n this.initNumericSlider();\n }\n case 'datavalue':\n if (isNumber($new) && isNumber($old)) {\n this.invokeEventCallback('onChange', [null, this, $new, $old]);\n }\n break;\n }\n }\n\n onDataItemsUpdate() {\n super.onDataItemsUpdate();\n this.initScale();\n this.computePosition(this.getScaledDataValue()?.[0] || 10, \"track\");\n }\n\n onSliderChange = debounce((value: number, gestureType: SliderGestureType) => {\n const dataValue = this.getScaledDataValue();\n const isRangeSlider = this.state.props.range && isArray(dataValue);\n\n // * thumb value for low or high\n const oldThumbValue =\n gestureType === 'lowThumb'\n ? dataValue || dataValue?.[0]\n : dataValue?.[1];\n\n let thumbDataValue = isRangeSlider\n ? [dataValue[0], dataValue[1]]\n : [value];\n if (isRangeSlider) {\n if (gestureType === 'lowThumb') {\n const valueLowerThanHighThumb =\n value > dataValue?.[1] ? dataValue?.[1] : value;\n\n thumbDataValue = [valueLowerThanHighThumb, dataValue[1]];\n } else if (gestureType === 'highThumb') {\n const valueGreaterThanLowThumb =\n value < dataValue[0] ? dataValue?.[0] : value;\n\n thumbDataValue = [dataValue[0], valueGreaterThanLowThumb];\n } else if (dataValue[1] && value > dataValue[1]) {\n thumbDataValue = [dataValue[0], value];\n } else {\n thumbDataValue = [value, dataValue[1]];\n }\n }\n\n // * new thumb value is different from old value\n const dataset = thumbDataValue.map(v => this.scale.getTick(v).datafield);\n this.updateState({\n props: {\n datavalue: dataset.length > 1 ? dataset : dataset[0]\n },\n } as WmSliderState);\n this.props.onFieldChange &&\n this.props.onFieldChange('datavalue', thumbDataValue, oldThumbValue);\n }, 200);\n\n initScale() {\n const props = this.state.props;\n const state = this.state;\n this.scale = Scale.getInstanceWithTicks(\n this.state.dataItems?.map((d: any, i: number) => ({\n displayfield: d.displayexp || d.displayfield,\n markValue: i + 1,\n datafield: d.datafield,\n dataitem: d \n }))\n );\n const width = state.track?.width || 0;\n this.uiScale = this.scale.transform(0, width);\n }\n\n computePosition(from: number, gestureType: SliderGestureType) {\n const state = this.state;\n const datavalue = this.getScaledDataValue();\n \n // * single thumb slider\n if (!state.props.range) {\n const value = this.getPositionFromValue(from);\n this.position?.setValue(isNaN(value) ? 0 : value);\n return;\n }\n\n if (gestureType === 'highThumb') {\n const value = this.getPositionFromValue(Math.max(datavalue[0], from));\n this.highPosition?.setValue(value);\n } else if (gestureType === 'lowThumb') {\n const value = this.getPositionFromValue(Math.min(from, datavalue[1]));\n this.position?.setValue(value);\n } else {\n /*\n * gestureType: track\n * initial position for low and high thumb\n */\n const lowPosition = this.getPositionFromValue(datavalue?.[0] || this.scale.getMinTick()?.datafield);\n this.position?.setValue(lowPosition || 0);\n const highPosition = this.getPositionFromValue(datavalue?.[1] || this.scale.getMaxTick()?.datafield);\n this.highPosition?.setValue(highPosition || 0);\n }\n }\n\n getTooltipLabel(value: any, initialValue: any, type: 'lowThumb' | 'highThumb') {\n const props = this.props;\n let tooltipValue = initialValue;\n const updatedPositionInPx = Number(JSON.stringify(value));\n\n if (updatedPositionInPx) {\n tooltipValue = this.scale.ticks[this.uiScale.getTickIndex(updatedPositionInPx)].markValue;\n }\n const tick = this.scale?.getTick(tooltipValue);\n // * getting custom tooltip label\n if (tick && props.getToolTipExpression && this.initialized) {\n return props.getToolTipExpression(tick.dataitem?.dataObject);\n }\n return tick?.displayfield;\n }\n\n onLayoutChange = (e: LayoutChangeEvent) => {\n const layout = e.nativeEvent.layout;\n this.updateState({\n track: {\n top: isWebPreviewMode() ? (layout as any).top : layout.y,\n left: isWebPreviewMode() ? (layout as any).left : layout.x,\n width: layout.width,\n height: layout.height\n }\n } as WmSliderState, () => {\n this.initScale();\n this.computePosition(this.getScaledDataValue()[0], 'track');\n });\n }\n\n componentDidMount(): void {\n super.componentDidMount();\n if (this.state.props.datatype === 'number') {\n this.initNumericSlider();\n }\n }\n\n renderToolTips(props: WmSliderProps) {\n const sDataValue = this.getScaledDataValue();\n const isRangeSlider = props.range && sDataValue.length > 1;\n return (\n <>\n <WmTooltip\n showTooltip={props.showtooltip}\n text={this.getTooltipLabel(\n this.position?._value,\n sDataValue[0],\n 'lowThumb'\n )}\n tooltipStyle={[\n {\n transform: [\n {\n translateX: this.position,\n },\n ],\n },\n this.styles.tooltip,\n ]}\n tooltipLabelStyle={this.styles.tooltipLabel}\n tooltipTriangleStyle={this.styles.tooltipTriangle}\n direction={props.tooltipdirection}\n >\n <GestureDetector gesture={this.knobGesture}>\n <Animated.View\n style={[\n this.styles.thumb,\n {\n transform: [\n {\n translateX: this.position,\n },\n ],\n },\n ]}\n accessible={true}\n accessibilityLabel={(isRangeSlider && this.highPosition) ? 'Low thumb' : 'Thumb'}\n >\n <BackgroundComponent\n size={(this.styles.thumb as any).backgroundSize}\n position={(this.styles.thumb as any).backgroundPosition}\n image={(this.styles.thumb as any).backgroundImage}\n repeat={(this.styles.thumb as any).backgroundRepeat || 'no-repeat'}\n ></BackgroundComponent>\n </Animated.View>\n </GestureDetector>\n </WmTooltip>\n {isRangeSlider && this.highPosition ? (\n <WmTooltip\n showTooltip={props.showtooltip}\n text={this.getTooltipLabel(\n this.highPosition._value,\n sDataValue[1],\n 'highThumb'\n )}\n tooltipStyle={[\n {\n transform: [\n {\n translateX: this.highPosition,\n },\n ],\n },\n this.styles.tooltip,\n ]}\n tooltipLabelStyle={this.styles.tooltipLabel}\n tooltipTriangleStyle={this.styles.tooltipTriangle}\n direction={props.tooltipdirection}\n >\n <GestureDetector gesture={this.highKnobGesture}>\n <Animated.View\n style={[\n this.styles.thumb,\n {\n transform: [\n {\n translateX: this.highPosition,\n },\n ],\n }\n ]}\n accessible={true}\n accessibilityLabel={'High thumb'}\n >\n <BackgroundComponent\n size={(this.styles.thumb as any).backgroundSize}\n position={(this.styles.thumb as any).backgroundPosition}\n image={(this.styles.thumb as any).backgroundImage}\n repeat={(this.styles.thumb as any).backgroundRepeat || 'no-repeat'}\n />\n </Animated.View>\n </GestureDetector>\n </WmTooltip>\n ) : null}\n </>\n );\n }\n\n renderOldMarkerStyle(props: WmSliderProps) {\n const sDataValue = this.getScaledDataValue();\n const isRangeSlider = props.range && sDataValue.length > 1;\n return (\n <View\n style={{ flexDirection: 'row', justifyContent: 'space-between' }}\n >\n <Text\n {...this.getTestProps('min')}\n style={[this.styles.text, this.styles.minimumValue]}\n >\n {this.scale?.ticks[0]?.displayfield}\n </Text>\n {isRangeSlider ? (\n <></>\n ) : (\n <Text\n {...this.getTestProps('value')}\n style={[this.styles.text, this.styles.value]}\n >\n {this.scale?.ticks.find(t => t.datafield === props.datavalue)?.displayfield}\n </Text>\n )}\n <Text\n {...this.getTestProps('max')}\n style={[this.styles.text, this.styles.maximumValue]}\n >\n {last(this.scale?.ticks)?.displayfield}\n </Text>\n </View>\n );\n }\n\n renderMarkers(props: WmSliderProps) {\n const width = this.state.track?.width || 0;\n return (<View style={{ flexDirection: 'row' }}>\n <View>\n {width ? this.scale.ticks.map((t, i) => {\n const markWidth = 10;\n const stepwiseLeft = this.getPositionFromValue(t.markValue);\n const labelText = t.displayfield;\n return (\n <View\n key={i}\n style={[\n this.styles.markerWrapper,\n {\n left: stepwiseLeft,\n bottom: markWidth / 2,\n },\n ]}\n >\n <Text\n style={[\n this.styles.markerLabel,\n {\n bottom: markWidth / 2 + 10,\n },\n this.styles.markerLabelStyle,\n i === 0 ? this.styles.minimumValue : null,\n i === this.scale.ticks.length - 1 ? this.styles.maximumValue : null,\n ]}\n >\n {labelText}\n </Text>\n <View\n style={[\n this.styles.mark,\n {\n width: markWidth,\n height: markWidth,\n borderRadius: markWidth,\n },\n this.styles.markerStyle,\n ]}\n />\n </View>\n );\n }) : null}\n </View>\n </View>);\n }\n\n renderTracks(props: WmSliderProps) {\n const width = this.state.track?.width || 0;\n const sDataValue = this.getScaledDataValue();\n const isRangeSlider = props.range && sDataValue.length > 1;\n return (\n <GestureDetector gesture={this.trackGesture}>\n <TouchableOpacity\n activeOpacity={1}\n style={[this.styles.track, this.styles.trackStyle]}\n onLayout={this.onLayoutChange}\n {...this.getTestProps()}\n {...getAccessibilityProps(AccessibilityWidgetType.SLIDER, props)}\n >\n <Animated.View\n style={[\n isRangeSlider && this.highPosition\n ? this.styles.maximumTrack\n : this.styles.minimumTrack,\n {\n width: width,\n transform: [\n {\n translateX: this.position.interpolate({\n inputRange: [0, width],\n outputRange: [-width, 0],\n }),\n },\n ],\n },\n this.styles.minimumTrackStyle,\n ]}\n ></Animated.View>\n <Animated.View\n style={[\n isRangeSlider && this.highPosition\n ? this.styles.minimumTrack\n : this.styles.maximumTrack,\n {\n width: width,\n transform: [\n {\n translateX: this.position,\n },\n ],\n },\n this.styles.activeTrackStyle,\n ]}\n ></Animated.View>\n {isRangeSlider && this.highPosition ? (\n <Animated.View\n style={[\n this.styles.maximumTrack,\n {\n width: width,\n transform: [\n {\n translateX: this.highPosition,\n },\n ],\n },\n this.styles.maximumTrackStyle,\n ]}\n />\n ) : null}\n </TouchableOpacity>\n </GestureDetector>\n );\n }\n\n renderWidget(props: WmSliderProps) {\n const sDataValue = this.getScaledDataValue();\n return (\n <View style={this.styles.root}>\n {this._background}\n {!props.showmarkers && !props.showtooltip? this.renderOldMarkerStyle(props) : null}\n {this.renderTracks(props)}\n <View style={{ flexDirection: 'row' }}>\n {props.showmarkers ? this.renderMarkers(props) : null}\n {this.renderToolTips(props)}\n </View>\n </View>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wavemaker/app-rn-runtime",
3
- "version": "11.10.0-next.47255",
3
+ "version": "11.10.0-next.NULL",
4
4
  "description": "''",
5
5
  "main": "index",
6
6
  "module": "index",
@@ -51,7 +51,7 @@
51
51
  "@react-navigation/drawer": "6.6.3",
52
52
  "@react-navigation/native": "6.1.7",
53
53
  "@react-navigation/stack": "6.3.29",
54
- "@wavemaker/variables": "11.10.0-next.47255",
54
+ "@wavemaker/variables": "11.10.0-next.NULL",
55
55
  "axios": "1.6.8",
56
56
  "color": "4.2.3",
57
57
  "cross-env": "7.0.3",
@@ -142,7 +142,7 @@
142
142
  "typescript": "5.1.3",
143
143
  "victory-native": "36.6.11",
144
144
  "yargs": "16.2.0",
145
- "@wavemaker/variables": "11.10.0-next.47255"
145
+ "@wavemaker/variables": "11.10.0-next.NULL"
146
146
  },
147
147
  "jest": {
148
148
  "preset": "jest-expo",