@tecsinapse/react-core 1.21.7 → 1.21.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/atoms/BoxContent/BoxContent.js +4 -31
- package/dist/cjs/components/atoms/BoxContent/BoxContent.js.map +1 -1
- package/dist/cjs/components/atoms/BoxContent/styled.js +1 -1
- package/dist/cjs/components/atoms/BoxContent/styled.js.map +1 -1
- package/dist/cjs/components/atoms/Button/Button.js +18 -61
- package/dist/cjs/components/atoms/Button/Button.js.map +1 -1
- package/dist/cjs/components/atoms/Button/States/Error.js +5 -23
- package/dist/cjs/components/atoms/Button/States/Error.js.map +1 -1
- package/dist/cjs/components/atoms/Button/States/Success.js +3 -21
- package/dist/cjs/components/atoms/Button/States/Success.js.map +1 -1
- package/dist/cjs/components/atoms/Card/Card.js +12 -45
- package/dist/cjs/components/atoms/Card/Card.js.map +1 -1
- package/dist/cjs/components/atoms/Checkbox/Checkbox.js +13 -51
- package/dist/cjs/components/atoms/Checkbox/Checkbox.js.map +1 -1
- package/dist/cjs/components/atoms/Divider/Divider.js +4 -31
- package/dist/cjs/components/atoms/Divider/Divider.js.map +1 -1
- package/dist/cjs/components/atoms/GroupButton/GroupButton.js +19 -57
- package/dist/cjs/components/atoms/GroupButton/GroupButton.js.map +1 -1
- package/dist/cjs/components/atoms/GroupButton/styled.js +11 -11
- package/dist/cjs/components/atoms/GroupButton/styled.js.map +1 -1
- package/dist/cjs/components/atoms/Icon/AntDesign.js +4 -35
- package/dist/cjs/components/atoms/Icon/AntDesign.js.map +1 -1
- package/dist/cjs/components/atoms/Icon/Entypo.js +4 -35
- package/dist/cjs/components/atoms/Icon/Entypo.js.map +1 -1
- package/dist/cjs/components/atoms/Icon/Evil.js +4 -35
- package/dist/cjs/components/atoms/Icon/Evil.js.map +1 -1
- package/dist/cjs/components/atoms/Icon/Feather.js +4 -35
- package/dist/cjs/components/atoms/Icon/Feather.js.map +1 -1
- package/dist/cjs/components/atoms/Icon/FontAwesome.js +4 -35
- package/dist/cjs/components/atoms/Icon/FontAwesome.js.map +1 -1
- package/dist/cjs/components/atoms/Icon/FontAwesomeFive.js +4 -35
- package/dist/cjs/components/atoms/Icon/FontAwesomeFive.js.map +1 -1
- package/dist/cjs/components/atoms/Icon/Fontisto.js +4 -35
- package/dist/cjs/components/atoms/Icon/Fontisto.js.map +1 -1
- package/dist/cjs/components/atoms/Icon/Foundation.js +4 -35
- package/dist/cjs/components/atoms/Icon/Foundation.js.map +1 -1
- package/dist/cjs/components/atoms/Icon/Icon.js +13 -51
- package/dist/cjs/components/atoms/Icon/Icon.js.map +1 -1
- package/dist/cjs/components/atoms/Icon/Ionicon.js +4 -35
- package/dist/cjs/components/atoms/Icon/Ionicon.js.map +1 -1
- package/dist/cjs/components/atoms/Icon/Material.js +4 -35
- package/dist/cjs/components/atoms/Icon/Material.js.map +1 -1
- package/dist/cjs/components/atoms/Icon/MaterialCommunity.js +9 -43
- package/dist/cjs/components/atoms/Icon/MaterialCommunity.js.map +1 -1
- package/dist/cjs/components/atoms/Icon/Octicon.js +4 -35
- package/dist/cjs/components/atoms/Icon/Octicon.js.map +1 -1
- package/dist/cjs/components/atoms/Icon/SimpleLine.js +4 -35
- package/dist/cjs/components/atoms/Icon/SimpleLine.js.map +1 -1
- package/dist/cjs/components/atoms/Icon/Zocial.js +4 -35
- package/dist/cjs/components/atoms/Icon/Zocial.js.map +1 -1
- package/dist/cjs/components/atoms/Icon/functions.js +1 -1
- package/dist/cjs/components/atoms/Icon/functions.js.map +1 -1
- package/dist/cjs/components/atoms/Input/InputContainer/InputContainer.js +21 -67
- package/dist/cjs/components/atoms/Input/InputContainer/InputContainer.js.map +1 -1
- package/dist/cjs/components/atoms/Input/InputElement/InputElement.js +11 -47
- package/dist/cjs/components/atoms/Input/InputElement/InputElement.js.map +1 -1
- package/dist/cjs/components/atoms/Input/InputMaskElement/InputMaskElement.js +15 -52
- package/dist/cjs/components/atoms/Input/InputMaskElement/InputMaskElement.js.map +1 -1
- package/dist/cjs/components/atoms/Input/PressableInputContainer/PressableInputContainer.js +11 -43
- package/dist/cjs/components/atoms/Input/PressableInputContainer/PressableInputContainer.js.map +1 -1
- package/dist/cjs/components/atoms/Input/hooks/useNumberMask.js +1 -17
- package/dist/cjs/components/atoms/Input/hooks/useNumberMask.js.map +1 -1
- package/dist/cjs/components/atoms/Input/hooks/useStringMask.js +2 -2
- package/dist/cjs/components/atoms/Input/hooks/useStringMask.js.map +1 -1
- package/dist/cjs/components/atoms/Input/styled.js +1 -1
- package/dist/cjs/components/atoms/Input/styled.js.map +1 -1
- package/dist/cjs/components/atoms/Paper/Paper.js +8 -43
- package/dist/cjs/components/atoms/Paper/Paper.js.map +1 -1
- package/dist/cjs/components/atoms/PressableSurface/PressableSurface.js +12 -49
- package/dist/cjs/components/atoms/PressableSurface/PressableSurface.js.map +1 -1
- package/dist/cjs/components/atoms/ProgressBar/ProgressBar.js +16 -52
- package/dist/cjs/components/atoms/ProgressBar/ProgressBar.js.map +1 -1
- package/dist/cjs/components/atoms/RadioButton/RadioButton.js +13 -51
- package/dist/cjs/components/atoms/RadioButton/RadioButton.js.map +1 -1
- package/dist/cjs/components/atoms/Switch/Switch.js +14 -53
- package/dist/cjs/components/atoms/Switch/Switch.js.map +1 -1
- package/dist/cjs/components/atoms/Tag/Tag.js +16 -52
- package/dist/cjs/components/atoms/Tag/Tag.js.map +1 -1
- package/dist/cjs/components/atoms/Text/Text.js +17 -59
- package/dist/cjs/components/atoms/Text/Text.js.map +1 -1
- package/dist/cjs/components/molecules/Calendar/Calendar.js +20 -60
- package/dist/cjs/components/molecules/Calendar/Calendar.js.map +1 -1
- package/dist/cjs/components/molecules/Calendar/components/MonthWeek.js +3 -3
- package/dist/cjs/components/molecules/Calendar/components/MonthWeek.js.map +1 -1
- package/dist/cjs/components/molecules/Calendar/styled.js +5 -8
- package/dist/cjs/components/molecules/Calendar/styled.js.map +1 -1
- package/dist/cjs/components/molecules/DatePicker/DatePicker.js +30 -81
- package/dist/cjs/components/molecules/DatePicker/DatePicker.js.map +1 -1
- package/dist/cjs/components/molecules/DatePicker/styled.js +3 -6
- package/dist/cjs/components/molecules/DatePicker/styled.js.map +1 -1
- package/dist/cjs/components/molecules/DateTimePicker/DateTimePicker.js +42 -104
- package/dist/cjs/components/molecules/DateTimePicker/DateTimePicker.js.map +1 -1
- package/dist/cjs/components/molecules/DateTimeSelector/DateTimeSelector.js +26 -72
- package/dist/cjs/components/molecules/DateTimeSelector/DateTimeSelector.js.map +1 -1
- package/dist/cjs/components/molecules/DateTimeSelector/Selector.js +15 -51
- package/dist/cjs/components/molecules/DateTimeSelector/Selector.js.map +1 -1
- package/dist/cjs/components/molecules/Grid/functions.js +1 -2
- package/dist/cjs/components/molecules/Grid/functions.js.map +1 -1
- package/dist/cjs/components/molecules/HintInputContainer/HintInputContainer.js +17 -55
- package/dist/cjs/components/molecules/HintInputContainer/HintInputContainer.js.map +1 -1
- package/dist/cjs/components/molecules/IconTextButton/IconComponent.js +5 -21
- package/dist/cjs/components/molecules/IconTextButton/IconComponent.js.map +1 -1
- package/dist/cjs/components/molecules/InputPassword/InputPasswordIcon.js +8 -41
- package/dist/cjs/components/molecules/InputPassword/InputPasswordIcon.js.map +1 -1
- package/dist/cjs/components/molecules/Snackbar/Snackbar.js +8 -25
- package/dist/cjs/components/molecules/Snackbar/Snackbar.js.map +1 -1
- package/dist/cjs/styles/light.js +7 -20
- package/dist/cjs/styles/light.js.map +1 -1
- package/dist/cjs/utils/masks.js +2 -2
- package/dist/cjs/utils/masks.js.map +1 -1
- package/dist/esm/components/atoms/BoxContent/BoxContent.js +4 -31
- package/dist/esm/components/atoms/BoxContent/BoxContent.js.map +1 -1
- package/dist/esm/components/atoms/BoxContent/styled.js +1 -1
- package/dist/esm/components/atoms/BoxContent/styled.js.map +1 -1
- package/dist/esm/components/atoms/Button/Button.js +18 -61
- package/dist/esm/components/atoms/Button/Button.js.map +1 -1
- package/dist/esm/components/atoms/Button/States/Error.js +5 -23
- package/dist/esm/components/atoms/Button/States/Error.js.map +1 -1
- package/dist/esm/components/atoms/Button/States/Success.js +3 -21
- package/dist/esm/components/atoms/Button/States/Success.js.map +1 -1
- package/dist/esm/components/atoms/Card/Card.js +12 -45
- package/dist/esm/components/atoms/Card/Card.js.map +1 -1
- package/dist/esm/components/atoms/Checkbox/Checkbox.js +13 -51
- package/dist/esm/components/atoms/Checkbox/Checkbox.js.map +1 -1
- package/dist/esm/components/atoms/Divider/Divider.js +4 -31
- package/dist/esm/components/atoms/Divider/Divider.js.map +1 -1
- package/dist/esm/components/atoms/GroupButton/GroupButton.js +19 -57
- package/dist/esm/components/atoms/GroupButton/GroupButton.js.map +1 -1
- package/dist/esm/components/atoms/GroupButton/styled.js +11 -11
- package/dist/esm/components/atoms/GroupButton/styled.js.map +1 -1
- package/dist/esm/components/atoms/Icon/AntDesign.js +4 -35
- package/dist/esm/components/atoms/Icon/AntDesign.js.map +1 -1
- package/dist/esm/components/atoms/Icon/Entypo.js +4 -35
- package/dist/esm/components/atoms/Icon/Entypo.js.map +1 -1
- package/dist/esm/components/atoms/Icon/Evil.js +4 -35
- package/dist/esm/components/atoms/Icon/Evil.js.map +1 -1
- package/dist/esm/components/atoms/Icon/Feather.js +4 -35
- package/dist/esm/components/atoms/Icon/Feather.js.map +1 -1
- package/dist/esm/components/atoms/Icon/FontAwesome.js +4 -35
- package/dist/esm/components/atoms/Icon/FontAwesome.js.map +1 -1
- package/dist/esm/components/atoms/Icon/FontAwesomeFive.js +4 -35
- package/dist/esm/components/atoms/Icon/FontAwesomeFive.js.map +1 -1
- package/dist/esm/components/atoms/Icon/Fontisto.js +4 -35
- package/dist/esm/components/atoms/Icon/Fontisto.js.map +1 -1
- package/dist/esm/components/atoms/Icon/Foundation.js +4 -35
- package/dist/esm/components/atoms/Icon/Foundation.js.map +1 -1
- package/dist/esm/components/atoms/Icon/Icon.js +13 -51
- package/dist/esm/components/atoms/Icon/Icon.js.map +1 -1
- package/dist/esm/components/atoms/Icon/Ionicon.js +4 -35
- package/dist/esm/components/atoms/Icon/Ionicon.js.map +1 -1
- package/dist/esm/components/atoms/Icon/Material.js +4 -35
- package/dist/esm/components/atoms/Icon/Material.js.map +1 -1
- package/dist/esm/components/atoms/Icon/MaterialCommunity.js +9 -43
- package/dist/esm/components/atoms/Icon/MaterialCommunity.js.map +1 -1
- package/dist/esm/components/atoms/Icon/Octicon.js +4 -35
- package/dist/esm/components/atoms/Icon/Octicon.js.map +1 -1
- package/dist/esm/components/atoms/Icon/SimpleLine.js +4 -35
- package/dist/esm/components/atoms/Icon/SimpleLine.js.map +1 -1
- package/dist/esm/components/atoms/Icon/Zocial.js +4 -35
- package/dist/esm/components/atoms/Icon/Zocial.js.map +1 -1
- package/dist/esm/components/atoms/Icon/functions.js +1 -1
- package/dist/esm/components/atoms/Icon/functions.js.map +1 -1
- package/dist/esm/components/atoms/Input/InputContainer/InputContainer.js +21 -67
- package/dist/esm/components/atoms/Input/InputContainer/InputContainer.js.map +1 -1
- package/dist/esm/components/atoms/Input/InputElement/InputElement.js +11 -47
- package/dist/esm/components/atoms/Input/InputElement/InputElement.js.map +1 -1
- package/dist/esm/components/atoms/Input/InputMaskElement/InputMaskElement.js +15 -52
- package/dist/esm/components/atoms/Input/InputMaskElement/InputMaskElement.js.map +1 -1
- package/dist/esm/components/atoms/Input/PressableInputContainer/PressableInputContainer.js +11 -43
- package/dist/esm/components/atoms/Input/PressableInputContainer/PressableInputContainer.js.map +1 -1
- package/dist/esm/components/atoms/Input/hooks/useNumberMask.js +1 -17
- package/dist/esm/components/atoms/Input/hooks/useNumberMask.js.map +1 -1
- package/dist/esm/components/atoms/Input/hooks/useStringMask.js +2 -2
- package/dist/esm/components/atoms/Input/hooks/useStringMask.js.map +1 -1
- package/dist/esm/components/atoms/Input/styled.js +1 -1
- package/dist/esm/components/atoms/Input/styled.js.map +1 -1
- package/dist/esm/components/atoms/Paper/Paper.js +8 -43
- package/dist/esm/components/atoms/Paper/Paper.js.map +1 -1
- package/dist/esm/components/atoms/PressableSurface/PressableSurface.js +12 -49
- package/dist/esm/components/atoms/PressableSurface/PressableSurface.js.map +1 -1
- package/dist/esm/components/atoms/ProgressBar/ProgressBar.js +16 -52
- package/dist/esm/components/atoms/ProgressBar/ProgressBar.js.map +1 -1
- package/dist/esm/components/atoms/RadioButton/RadioButton.js +13 -51
- package/dist/esm/components/atoms/RadioButton/RadioButton.js.map +1 -1
- package/dist/esm/components/atoms/Switch/Switch.js +14 -53
- package/dist/esm/components/atoms/Switch/Switch.js.map +1 -1
- package/dist/esm/components/atoms/Tag/Tag.js +16 -52
- package/dist/esm/components/atoms/Tag/Tag.js.map +1 -1
- package/dist/esm/components/atoms/Text/Text.js +17 -59
- package/dist/esm/components/atoms/Text/Text.js.map +1 -1
- package/dist/esm/components/molecules/Calendar/Calendar.js +20 -60
- package/dist/esm/components/molecules/Calendar/Calendar.js.map +1 -1
- package/dist/esm/components/molecules/Calendar/components/MonthWeek.js +3 -3
- package/dist/esm/components/molecules/Calendar/components/MonthWeek.js.map +1 -1
- package/dist/esm/components/molecules/Calendar/styled.js +5 -8
- package/dist/esm/components/molecules/Calendar/styled.js.map +1 -1
- package/dist/esm/components/molecules/DatePicker/DatePicker.js +30 -81
- package/dist/esm/components/molecules/DatePicker/DatePicker.js.map +1 -1
- package/dist/esm/components/molecules/DatePicker/styled.js +3 -6
- package/dist/esm/components/molecules/DatePicker/styled.js.map +1 -1
- package/dist/esm/components/molecules/DateTimePicker/DateTimePicker.js +42 -104
- package/dist/esm/components/molecules/DateTimePicker/DateTimePicker.js.map +1 -1
- package/dist/esm/components/molecules/DateTimeSelector/DateTimeSelector.js +26 -72
- package/dist/esm/components/molecules/DateTimeSelector/DateTimeSelector.js.map +1 -1
- package/dist/esm/components/molecules/DateTimeSelector/Selector.js +15 -51
- package/dist/esm/components/molecules/DateTimeSelector/Selector.js.map +1 -1
- package/dist/esm/components/molecules/Grid/functions.js +1 -2
- package/dist/esm/components/molecules/Grid/functions.js.map +1 -1
- package/dist/esm/components/molecules/HintInputContainer/HintInputContainer.js +17 -55
- package/dist/esm/components/molecules/HintInputContainer/HintInputContainer.js.map +1 -1
- package/dist/esm/components/molecules/IconTextButton/IconComponent.js +5 -21
- package/dist/esm/components/molecules/IconTextButton/IconComponent.js.map +1 -1
- package/dist/esm/components/molecules/InputPassword/InputPasswordIcon.js +8 -41
- package/dist/esm/components/molecules/InputPassword/InputPasswordIcon.js.map +1 -1
- package/dist/esm/components/molecules/Snackbar/Snackbar.js +8 -25
- package/dist/esm/components/molecules/Snackbar/Snackbar.js.map +1 -1
- package/dist/esm/styles/light.js +8 -21
- package/dist/esm/styles/light.js.map +1 -1
- package/dist/esm/utils/masks.js +2 -2
- package/dist/esm/utils/masks.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateTimePicker.js","sources":["../../../../../src/components/molecules/DateTimePicker/DateTimePicker.tsx"],"sourcesContent":["import { format as formatDate } from 'date-fns';\nimport * as React from 'react';\nimport { InputContainerProps, useInputFocus } from '../../atoms/Input';\nimport { Text, TextProps } from '../../atoms/Text';\nimport { CalendarIcon, getStyledTextComponent } from '../DatePicker/styled';\nimport { DateTimeSelector, DateTimeSelectorProps } from '../DateTimeSelector';\nimport { HintInputContainer } from '../HintInputContainer';\nimport { getStyledDateTimeSelector } from './styled';\n\nexport interface DateTimePickerProps\n extends InputContainerProps,\n Omit<DateTimeSelectorProps, 'style'> {\n controlComponent?: (\n onPress: () => void,\n displayValue?: string\n ) => JSX.Element;\n TextComponent?: React.FC<TextProps>;\n DateTimeSelectorComponent: React.FC<DateTimeSelectorProps>;\n placeholder?: string;\n onFocus?: () => void | never;\n onBlur?: () => void | never;\n renderSelector: (\n selector: React.ReactElement,\n blur?: () => void\n ) => JSX.Element | null;\n requestShowSelector: () => void;\n requestCloseSelector: () => void;\n}\n\nconst DateTimePicker: React.FC<DateTimePickerProps> = ({\n onChange,\n value,\n mode = 'date',\n format = 'yyyy-MM-dd hh:mm:ss',\n locale,\n upperDateThreshold,\n lowerDateThreshold,\n offsetThreshold,\n upperOffsetThreshold,\n lowerOffsetThreshold,\n dateModalTitle,\n timeModalTitle,\n dateConfirmButtonText,\n timeConfirmButtonText,\n dayLabel,\n monthLabel,\n yearLabel,\n hourLabel,\n minuteLabel,\n placeholder,\n onFocus,\n onBlur,\n disabled,\n controlComponent,\n hintComponent,\n hint,\n variant = 'default',\n TextComponent = Text,\n DateTimeSelectorComponent = DateTimeSelector,\n rightComponent,\n style,\n renderSelector,\n requestShowSelector,\n requestCloseSelector,\n ...rest\n}) => {\n const { focused, handleBlur, handleFocus } = useInputFocus(\n onFocus,\n onBlur,\n !disabled\n );\n\n const handleShowSelector = () => {\n requestShowSelector();\n handleFocus();\n };\n\n const handleChoosing = (value: Date) => {\n onChange?.(value);\n requestCloseSelector();\n };\n\n const StyledText = getStyledTextComponent(TextComponent);\n const displayValue =\n (value ? formatDate(value, format, { locale: locale }) : placeholder) ||\n ' ';\n const StyledDateTimeSelector = getStyledDateTimeSelector(\n DateTimeSelectorComponent\n );\n\n const dateTimeSelector = (\n <StyledDateTimeSelector\n value={value}\n mode={mode}\n format={format}\n locale={locale}\n upperDateThreshold={upperDateThreshold}\n lowerDateThreshold={lowerDateThreshold}\n offsetThreshold={offsetThreshold}\n upperOffsetThreshold={upperOffsetThreshold}\n lowerOffsetThreshold={lowerOffsetThreshold}\n dateModalTitle={dateModalTitle}\n timeModalTitle={timeModalTitle}\n dateConfirmButtonText={dateConfirmButtonText}\n timeConfirmButtonText={timeConfirmButtonText}\n dayLabel={dayLabel}\n monthLabel={monthLabel}\n yearLabel={yearLabel}\n hourLabel={hourLabel}\n minuteLabel={minuteLabel}\n onChange={handleChoosing}\n />\n );\n\n return (\n <>\n {controlComponent ? (\n controlComponent(handleShowSelector, displayValue)\n ) : (\n <HintInputContainer\n focused={focused}\n viewStyle={style}\n onPress={handleShowSelector}\n disabled={disabled}\n LabelComponent={TextComponent}\n variant={variant}\n hint={hint}\n hintComponent={hintComponent}\n rightComponent={\n <>\n <CalendarIcon name=\"calendar-sharp\" type=\"ionicon\" size=\"centi\" />\n {rightComponent}\n </>\n }\n {...rest}\n >\n <StyledText fontWeight=\"bold\" disabled={disabled}>\n {displayValue}\n </StyledText>\n </HintInputContainer>\n )}\n {renderSelector(dateTimeSelector, handleBlur)}\n </>\n );\n};\n\nexport default DateTimePicker;\n"],"names":["useInputFocus","value","getStyledTextComponent","formatDate","getStyledDateTimeSelector","React","CalendarIcon"],"mappings":"
|
|
1
|
+
{"version":3,"file":"DateTimePicker.js","sources":["../../../../../src/components/molecules/DateTimePicker/DateTimePicker.tsx"],"sourcesContent":["import { format as formatDate } from 'date-fns';\nimport * as React from 'react';\nimport { InputContainerProps, useInputFocus } from '../../atoms/Input';\nimport { Text, TextProps } from '../../atoms/Text';\nimport { CalendarIcon, getStyledTextComponent } from '../DatePicker/styled';\nimport { DateTimeSelector, DateTimeSelectorProps } from '../DateTimeSelector';\nimport { HintInputContainer } from '../HintInputContainer';\nimport { getStyledDateTimeSelector } from './styled';\n\nexport interface DateTimePickerProps\n extends InputContainerProps,\n Omit<DateTimeSelectorProps, 'style'> {\n controlComponent?: (\n onPress: () => void,\n displayValue?: string\n ) => JSX.Element;\n TextComponent?: React.FC<TextProps>;\n DateTimeSelectorComponent: React.FC<DateTimeSelectorProps>;\n placeholder?: string;\n onFocus?: () => void | never;\n onBlur?: () => void | never;\n renderSelector: (\n selector: React.ReactElement,\n blur?: () => void\n ) => JSX.Element | null;\n requestShowSelector: () => void;\n requestCloseSelector: () => void;\n}\n\nconst DateTimePicker: React.FC<DateTimePickerProps> = ({\n onChange,\n value,\n mode = 'date',\n format = 'yyyy-MM-dd hh:mm:ss',\n locale,\n upperDateThreshold,\n lowerDateThreshold,\n offsetThreshold,\n upperOffsetThreshold,\n lowerOffsetThreshold,\n dateModalTitle,\n timeModalTitle,\n dateConfirmButtonText,\n timeConfirmButtonText,\n dayLabel,\n monthLabel,\n yearLabel,\n hourLabel,\n minuteLabel,\n placeholder,\n onFocus,\n onBlur,\n disabled,\n controlComponent,\n hintComponent,\n hint,\n variant = 'default',\n TextComponent = Text,\n DateTimeSelectorComponent = DateTimeSelector,\n rightComponent,\n style,\n renderSelector,\n requestShowSelector,\n requestCloseSelector,\n ...rest\n}) => {\n const { focused, handleBlur, handleFocus } = useInputFocus(\n onFocus,\n onBlur,\n !disabled\n );\n\n const handleShowSelector = () => {\n requestShowSelector();\n handleFocus();\n };\n\n const handleChoosing = (value: Date) => {\n onChange?.(value);\n requestCloseSelector();\n };\n\n const StyledText = getStyledTextComponent(TextComponent);\n const displayValue =\n (value ? formatDate(value, format, { locale: locale }) : placeholder) ||\n ' ';\n const StyledDateTimeSelector = getStyledDateTimeSelector(\n DateTimeSelectorComponent\n );\n\n const dateTimeSelector = (\n <StyledDateTimeSelector\n value={value}\n mode={mode}\n format={format}\n locale={locale}\n upperDateThreshold={upperDateThreshold}\n lowerDateThreshold={lowerDateThreshold}\n offsetThreshold={offsetThreshold}\n upperOffsetThreshold={upperOffsetThreshold}\n lowerOffsetThreshold={lowerOffsetThreshold}\n dateModalTitle={dateModalTitle}\n timeModalTitle={timeModalTitle}\n dateConfirmButtonText={dateConfirmButtonText}\n timeConfirmButtonText={timeConfirmButtonText}\n dayLabel={dayLabel}\n monthLabel={monthLabel}\n yearLabel={yearLabel}\n hourLabel={hourLabel}\n minuteLabel={minuteLabel}\n onChange={handleChoosing}\n />\n );\n\n return (\n <>\n {controlComponent ? (\n controlComponent(handleShowSelector, displayValue)\n ) : (\n <HintInputContainer\n focused={focused}\n viewStyle={style}\n onPress={handleShowSelector}\n disabled={disabled}\n LabelComponent={TextComponent}\n variant={variant}\n hint={hint}\n hintComponent={hintComponent}\n rightComponent={\n <>\n <CalendarIcon name=\"calendar-sharp\" type=\"ionicon\" size=\"centi\" />\n {rightComponent}\n </>\n }\n {...rest}\n >\n <StyledText fontWeight=\"bold\" disabled={disabled}>\n {displayValue}\n </StyledText>\n </HintInputContainer>\n )}\n {renderSelector(dateTimeSelector, handleBlur)}\n </>\n );\n};\n\nexport default DateTimePicker;\n"],"names":["useInputFocus","value","getStyledTextComponent","formatDate","getStyledDateTimeSelector","React","CalendarIcon"],"mappings":"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"}
|
|
@@ -30,34 +30,6 @@ function _interopNamespace(e) {
|
|
|
30
30
|
|
|
31
31
|
var React__namespace = /*#__PURE__*/_interopNamespace(React);
|
|
32
32
|
|
|
33
|
-
var __defProp = Object.defineProperty;
|
|
34
|
-
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
35
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
36
|
-
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
37
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
38
|
-
var __spreadValues = (a, b) => {
|
|
39
|
-
for (var prop in b || (b = {}))
|
|
40
|
-
if (__hasOwnProp.call(b, prop))
|
|
41
|
-
__defNormalProp(a, prop, b[prop]);
|
|
42
|
-
if (__getOwnPropSymbols)
|
|
43
|
-
for (var prop of __getOwnPropSymbols(b)) {
|
|
44
|
-
if (__propIsEnum.call(b, prop))
|
|
45
|
-
__defNormalProp(a, prop, b[prop]);
|
|
46
|
-
}
|
|
47
|
-
return a;
|
|
48
|
-
};
|
|
49
|
-
var __objRest = (source, exclude) => {
|
|
50
|
-
var target = {};
|
|
51
|
-
for (var prop in source)
|
|
52
|
-
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
53
|
-
target[prop] = source[prop];
|
|
54
|
-
if (source != null && __getOwnPropSymbols)
|
|
55
|
-
for (var prop of __getOwnPropSymbols(source)) {
|
|
56
|
-
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
|
|
57
|
-
target[prop] = source[prop];
|
|
58
|
-
}
|
|
59
|
-
return target;
|
|
60
|
-
};
|
|
61
33
|
function getThresholdUnit(mode, threshold) {
|
|
62
34
|
if (!threshold)
|
|
63
35
|
return {};
|
|
@@ -69,48 +41,28 @@ function getThresholdUnit(mode, threshold) {
|
|
|
69
41
|
return { hours: threshold };
|
|
70
42
|
}
|
|
71
43
|
}
|
|
72
|
-
const DateTimeSelector = (
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
"TextComponent",
|
|
95
|
-
"value",
|
|
96
|
-
"onChange",
|
|
97
|
-
"mode",
|
|
98
|
-
"locale",
|
|
99
|
-
"upperDateThreshold",
|
|
100
|
-
"lowerDateThreshold",
|
|
101
|
-
"offsetThreshold",
|
|
102
|
-
"upperOffsetThreshold",
|
|
103
|
-
"lowerOffsetThreshold",
|
|
104
|
-
"dateModalTitle",
|
|
105
|
-
"timeModalTitle",
|
|
106
|
-
"dateConfirmButtonText",
|
|
107
|
-
"timeConfirmButtonText",
|
|
108
|
-
"dayLabel",
|
|
109
|
-
"monthLabel",
|
|
110
|
-
"yearLabel",
|
|
111
|
-
"hourLabel",
|
|
112
|
-
"minuteLabel"
|
|
113
|
-
]);
|
|
44
|
+
const DateTimeSelector = ({
|
|
45
|
+
TextComponent = Text,
|
|
46
|
+
value,
|
|
47
|
+
onChange,
|
|
48
|
+
mode = "date",
|
|
49
|
+
locale,
|
|
50
|
+
upperDateThreshold: _upperDateThreshold,
|
|
51
|
+
lowerDateThreshold: _lowerDateThreshold,
|
|
52
|
+
offsetThreshold,
|
|
53
|
+
upperOffsetThreshold,
|
|
54
|
+
lowerOffsetThreshold,
|
|
55
|
+
dateModalTitle,
|
|
56
|
+
timeModalTitle,
|
|
57
|
+
dateConfirmButtonText,
|
|
58
|
+
timeConfirmButtonText,
|
|
59
|
+
dayLabel,
|
|
60
|
+
monthLabel,
|
|
61
|
+
yearLabel,
|
|
62
|
+
hourLabel,
|
|
63
|
+
minuteLabel,
|
|
64
|
+
...rest
|
|
65
|
+
}) => {
|
|
114
66
|
const lowerDateThreshold = _lowerDateThreshold || (offsetThreshold || lowerOffsetThreshold) && dateFns.sub(
|
|
115
67
|
new Date(),
|
|
116
68
|
getThresholdUnit(mode, offsetThreshold || lowerOffsetThreshold)
|
|
@@ -154,13 +106,15 @@ const DateTimeSelector = (_a) => {
|
|
|
154
106
|
if (mode === "datetime" && currentMode === 0) {
|
|
155
107
|
setCurrentMode(1);
|
|
156
108
|
} else {
|
|
157
|
-
onChange
|
|
109
|
+
onChange?.(date);
|
|
158
110
|
}
|
|
159
111
|
};
|
|
160
112
|
const handlePressBack = () => {
|
|
161
113
|
setCurrentMode(0);
|
|
162
114
|
};
|
|
163
|
-
return /* @__PURE__ */ React__namespace.createElement(styled.Root,
|
|
115
|
+
return /* @__PURE__ */ React__namespace.createElement(styled.Root, {
|
|
116
|
+
...rest
|
|
117
|
+
}, /* @__PURE__ */ React__namespace.createElement(styled.Header, null, currentMode === 1 && /* @__PURE__ */ React__namespace.createElement(styled.BackButton, {
|
|
164
118
|
onPress: handlePressBack
|
|
165
119
|
}, /* @__PURE__ */ React__namespace.createElement(Icon, {
|
|
166
120
|
type: "material-community",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateTimeSelector.js","sources":["../../../../../src/components/molecules/DateTimeSelector/DateTimeSelector.tsx"],"sourcesContent":["import {\n add,\n compareAsc,\n format as formatDate,\n getDaysInMonth,\n isSameDay,\n isSameMonth,\n isSameYear,\n set,\n sub,\n} from 'date-fns';\nimport * as React from 'react';\nimport { ViewProps } from 'react-native';\nimport { Button } from '../../atoms/Button';\nimport { Icon } from '../../atoms/Icon';\nimport { Text, TextProps } from '../../atoms/Text';\nimport { Granularity, Selector } from './Selector';\nimport { BackButton, Content, Header, Root, SelectorContainer } from './styled';\n\nexport type DateTimeSelectorMode = 'date' | 'time' | 'datetime' | 'month';\n\nexport interface DateTimeSelectorProps extends ViewProps {\n TextComponent?: React.FC<TextProps>;\n value?: Date;\n onChange?: (value: Date) => void | never;\n\n /**\n * Defines the Picker behavior\n * Must be one of ['date', 'time', 'datetime', 'month']\n */\n mode?: DateTimeSelectorMode;\n format?: string;\n locale?: Locale;\n\n /**\n * Maximum date from today\n */\n upperDateThreshold?: Date;\n\n /**\n * Minimum date from today\n */\n lowerDateThreshold?: Date;\n\n /**\n * Minimum and maximum date in distance units from today.\n * The distance unit used depends on the picker mode\n * If mode is date, the unit is day\n * If mode is time, the unit is hour\n * If mode is datetime, the unit is day\n * If mode is month, the unit is month\n */\n offsetThreshold?: number;\n\n /**\n * Maximum date in distance units from today.\n * The distance unit used depends on the picker mode\n * If mode is date, the unit is day\n * If mode is time, the unit is hour\n * If mode is datetime, the unit is day\n * If mode is month, the unit is month\n */\n upperOffsetThreshold?: number;\n\n /**\n * Minimum date in distance units from today.\n * The distance unit used depends on the picker mode\n * If mode is date, the unit is day\n * If mode is time, the unit is hour\n * If mode is datetime, the unit is day\n * If mode is month, the unit is month\n */\n lowerOffsetThreshold?: number;\n\n dateModalTitle?: string;\n timeModalTitle?: string;\n dateConfirmButtonText?: string;\n timeConfirmButtonText?: string;\n dayLabel?: string;\n monthLabel?: string;\n yearLabel?: string;\n hourLabel?: string;\n minuteLabel?: string;\n}\n\nfunction getThresholdUnit(mode: DateTimeSelectorMode, threshold?: number) {\n if (!threshold) return {};\n if (mode === 'month') {\n return { months: threshold };\n } else if (['date', 'datetime'].includes(mode)) {\n return { days: threshold };\n } else {\n return { hours: threshold };\n }\n}\n\nconst DateTimeSelector: React.FC<DateTimeSelectorProps> = ({\n TextComponent = Text,\n value,\n onChange,\n mode = 'date',\n locale,\n upperDateThreshold: _upperDateThreshold,\n lowerDateThreshold: _lowerDateThreshold,\n offsetThreshold,\n upperOffsetThreshold,\n lowerOffsetThreshold,\n dateModalTitle,\n timeModalTitle,\n dateConfirmButtonText,\n timeConfirmButtonText,\n dayLabel,\n monthLabel,\n yearLabel,\n hourLabel,\n minuteLabel,\n ...rest\n}) => {\n const lowerDateThreshold =\n _lowerDateThreshold ||\n ((offsetThreshold || lowerOffsetThreshold) &&\n sub(\n new Date(),\n getThresholdUnit(mode, offsetThreshold || lowerOffsetThreshold)\n ));\n\n const upperDateThreshold =\n _upperDateThreshold ||\n ((offsetThreshold || upperOffsetThreshold) &&\n add(\n new Date(),\n getThresholdUnit(mode, offsetThreshold || upperOffsetThreshold)\n ));\n\n const [date, setDate] = React.useState<Date>(value || new Date());\n const [currentMode, setCurrentMode] = React.useState<0 | 1>(0);\n\n const isDate =\n ['date', 'month'].includes(mode) ||\n (mode === 'datetime' && currentMode === 0);\n\n const modalTitle = isDate ? dateModalTitle : timeModalTitle;\n const confirmButtonText = isDate\n ? dateConfirmButtonText\n : timeConfirmButtonText;\n\n const handleChange = (granularity: Granularity) => (newValue: number) => {\n setDate(date => {\n let newState: Date;\n // Months and years must have a different handling for being\n // the only date units that may interfere another unit.\n if (['month', 'year'].includes(granularity)) {\n let newDate = set(date, { [granularity]: newValue });\n const daysInMonth = getDaysInMonth(newDate);\n if (granularity === 'year' && date.getMonth() != newDate.getMonth()) {\n newDate = set(newDate, { month: date.getMonth() });\n newState = set(newDate, { date: getDaysInMonth(newDate) });\n }\n newState =\n daysInMonth < date.getDate()\n ? set(newDate, { date: daysInMonth })\n : newDate;\n } else {\n newState = set(date, { [granularity]: newValue });\n }\n\n if (upperDateThreshold && compareAsc(newState, upperDateThreshold) > 0) {\n return upperDateThreshold;\n } else if (\n lowerDateThreshold &&\n compareAsc(newState, lowerDateThreshold) < 0\n ) {\n return lowerDateThreshold;\n } else {\n return newState;\n }\n });\n };\n\n const getDisplayedValue = (granularity: Granularity) => (value: number) => {\n return granularity === 'month'\n ? formatDate(date, 'MMM', { locale: locale }).slice(0, 3)\n : value.toString().padStart(2, '0');\n };\n\n const handlePressConfirm = () => {\n if (mode === 'datetime' && currentMode === 0) {\n setCurrentMode(1);\n } else {\n onChange?.(date);\n }\n };\n\n const handlePressBack = () => {\n setCurrentMode(0);\n };\n\n return (\n <Root {...rest}>\n <Header>\n {currentMode === 1 && (\n <BackButton onPress={handlePressBack}>\n <Icon\n type={'material-community'}\n name={'chevron-left'}\n size={'mega'}\n colorVariant={'secondary'}\n />\n </BackButton>\n )}\n <TextComponent typography={'base'} colorVariant={'secondary'}>\n {modalTitle}\n </TextComponent>\n </Header>\n\n {isDate ? (\n <Content>\n {mode !== 'month' && (\n <SelectorContainer isFirst>\n <Selector\n TextComponent={TextComponent}\n onChange={handleChange('date')}\n referenceDate={date}\n value={date.getDate()}\n label={dayLabel || 'Day'}\n granularity={'date'}\n getDisplayValue={getDisplayedValue('date')}\n preventUpper={\n upperDateThreshold\n ? isSameDay(upperDateThreshold, date)\n : false\n }\n preventLower={\n lowerDateThreshold\n ? isSameDay(lowerDateThreshold, date)\n : false\n }\n />\n </SelectorContainer>\n )}\n <SelectorContainer>\n <Selector\n TextComponent={TextComponent}\n onChange={handleChange('month')}\n referenceDate={date}\n value={date.getMonth()}\n label={monthLabel || 'Month'}\n granularity={'month'}\n getDisplayValue={getDisplayedValue('month')}\n preventUpper={\n upperDateThreshold\n ? isSameMonth(upperDateThreshold, date)\n : false\n }\n preventLower={\n lowerDateThreshold\n ? isSameMonth(lowerDateThreshold, date)\n : false\n }\n />\n </SelectorContainer>\n <SelectorContainer isLast>\n <Selector\n TextComponent={TextComponent}\n onChange={handleChange('year')}\n referenceDate={date}\n value={date.getFullYear()}\n label={yearLabel || 'Year'}\n granularity={'year'}\n getDisplayValue={getDisplayedValue('year')}\n preventUpper={\n upperDateThreshold\n ? isSameYear(upperDateThreshold, date)\n : false\n }\n preventLower={\n lowerDateThreshold\n ? isSameYear(lowerDateThreshold, date)\n : false\n }\n />\n </SelectorContainer>\n </Content>\n ) : (\n <Content>\n <SelectorContainer isFirst>\n <Selector\n TextComponent={TextComponent}\n onChange={handleChange('hours')}\n referenceDate={date}\n value={date.getHours()}\n label={hourLabel || 'Hour'}\n granularity={'hours'}\n getDisplayValue={getDisplayedValue('hours')}\n />\n </SelectorContainer>\n <SelectorContainer isLast>\n <Selector\n TextComponent={TextComponent}\n onChange={handleChange('minutes')}\n referenceDate={date}\n value={date.getMinutes()}\n label={minuteLabel || 'Minute'}\n granularity={'minutes'}\n getDisplayValue={getDisplayedValue('minutes')}\n />\n </SelectorContainer>\n </Content>\n )}\n <Button color={'primary'} onPress={handlePressConfirm}>\n <TextComponent fontWeight=\"bold\" fontColor=\"light\">\n {confirmButtonText || 'OK'}\n </TextComponent>\n </Button>\n </Root>\n );\n};\n\nexport default DateTimeSelector;\n"],"names":["sub","add","React","date","set","getDaysInMonth","compareAsc","value","formatDate","Root","Header","BackButton","Content","SelectorContainer","Selector","isSameDay","isSameMonth","isSameYear"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DateTimeSelector.js","sources":["../../../../../src/components/molecules/DateTimeSelector/DateTimeSelector.tsx"],"sourcesContent":["import {\n add,\n compareAsc,\n format as formatDate,\n getDaysInMonth,\n isSameDay,\n isSameMonth,\n isSameYear,\n set,\n sub,\n} from 'date-fns';\nimport * as React from 'react';\nimport { ViewProps } from 'react-native';\nimport { Button } from '../../atoms/Button';\nimport { Icon } from '../../atoms/Icon';\nimport { Text, TextProps } from '../../atoms/Text';\nimport { Granularity, Selector } from './Selector';\nimport { BackButton, Content, Header, Root, SelectorContainer } from './styled';\n\nexport type DateTimeSelectorMode = 'date' | 'time' | 'datetime' | 'month';\n\nexport interface DateTimeSelectorProps extends ViewProps {\n TextComponent?: React.FC<TextProps>;\n value?: Date;\n onChange?: (value: Date) => void | never;\n\n /**\n * Defines the Picker behavior\n * Must be one of ['date', 'time', 'datetime', 'month']\n */\n mode?: DateTimeSelectorMode;\n format?: string;\n locale?: Locale;\n\n /**\n * Maximum date from today\n */\n upperDateThreshold?: Date;\n\n /**\n * Minimum date from today\n */\n lowerDateThreshold?: Date;\n\n /**\n * Minimum and maximum date in distance units from today.\n * The distance unit used depends on the picker mode\n * If mode is date, the unit is day\n * If mode is time, the unit is hour\n * If mode is datetime, the unit is day\n * If mode is month, the unit is month\n */\n offsetThreshold?: number;\n\n /**\n * Maximum date in distance units from today.\n * The distance unit used depends on the picker mode\n * If mode is date, the unit is day\n * If mode is time, the unit is hour\n * If mode is datetime, the unit is day\n * If mode is month, the unit is month\n */\n upperOffsetThreshold?: number;\n\n /**\n * Minimum date in distance units from today.\n * The distance unit used depends on the picker mode\n * If mode is date, the unit is day\n * If mode is time, the unit is hour\n * If mode is datetime, the unit is day\n * If mode is month, the unit is month\n */\n lowerOffsetThreshold?: number;\n\n dateModalTitle?: string;\n timeModalTitle?: string;\n dateConfirmButtonText?: string;\n timeConfirmButtonText?: string;\n dayLabel?: string;\n monthLabel?: string;\n yearLabel?: string;\n hourLabel?: string;\n minuteLabel?: string;\n}\n\nfunction getThresholdUnit(mode: DateTimeSelectorMode, threshold?: number) {\n if (!threshold) return {};\n if (mode === 'month') {\n return { months: threshold };\n } else if (['date', 'datetime'].includes(mode)) {\n return { days: threshold };\n } else {\n return { hours: threshold };\n }\n}\n\nconst DateTimeSelector: React.FC<DateTimeSelectorProps> = ({\n TextComponent = Text,\n value,\n onChange,\n mode = 'date',\n locale,\n upperDateThreshold: _upperDateThreshold,\n lowerDateThreshold: _lowerDateThreshold,\n offsetThreshold,\n upperOffsetThreshold,\n lowerOffsetThreshold,\n dateModalTitle,\n timeModalTitle,\n dateConfirmButtonText,\n timeConfirmButtonText,\n dayLabel,\n monthLabel,\n yearLabel,\n hourLabel,\n minuteLabel,\n ...rest\n}) => {\n const lowerDateThreshold =\n _lowerDateThreshold ||\n ((offsetThreshold || lowerOffsetThreshold) &&\n sub(\n new Date(),\n getThresholdUnit(mode, offsetThreshold || lowerOffsetThreshold)\n ));\n\n const upperDateThreshold =\n _upperDateThreshold ||\n ((offsetThreshold || upperOffsetThreshold) &&\n add(\n new Date(),\n getThresholdUnit(mode, offsetThreshold || upperOffsetThreshold)\n ));\n\n const [date, setDate] = React.useState<Date>(value || new Date());\n const [currentMode, setCurrentMode] = React.useState<0 | 1>(0);\n\n const isDate =\n ['date', 'month'].includes(mode) ||\n (mode === 'datetime' && currentMode === 0);\n\n const modalTitle = isDate ? dateModalTitle : timeModalTitle;\n const confirmButtonText = isDate\n ? dateConfirmButtonText\n : timeConfirmButtonText;\n\n const handleChange = (granularity: Granularity) => (newValue: number) => {\n setDate(date => {\n let newState: Date;\n // Months and years must have a different handling for being\n // the only date units that may interfere another unit.\n if (['month', 'year'].includes(granularity)) {\n let newDate = set(date, { [granularity]: newValue });\n const daysInMonth = getDaysInMonth(newDate);\n if (granularity === 'year' && date.getMonth() != newDate.getMonth()) {\n newDate = set(newDate, { month: date.getMonth() });\n newState = set(newDate, { date: getDaysInMonth(newDate) });\n }\n newState =\n daysInMonth < date.getDate()\n ? set(newDate, { date: daysInMonth })\n : newDate;\n } else {\n newState = set(date, { [granularity]: newValue });\n }\n\n if (upperDateThreshold && compareAsc(newState, upperDateThreshold) > 0) {\n return upperDateThreshold;\n } else if (\n lowerDateThreshold &&\n compareAsc(newState, lowerDateThreshold) < 0\n ) {\n return lowerDateThreshold;\n } else {\n return newState;\n }\n });\n };\n\n const getDisplayedValue = (granularity: Granularity) => (value: number) => {\n return granularity === 'month'\n ? formatDate(date, 'MMM', { locale: locale }).slice(0, 3)\n : value.toString().padStart(2, '0');\n };\n\n const handlePressConfirm = () => {\n if (mode === 'datetime' && currentMode === 0) {\n setCurrentMode(1);\n } else {\n onChange?.(date);\n }\n };\n\n const handlePressBack = () => {\n setCurrentMode(0);\n };\n\n return (\n <Root {...rest}>\n <Header>\n {currentMode === 1 && (\n <BackButton onPress={handlePressBack}>\n <Icon\n type={'material-community'}\n name={'chevron-left'}\n size={'mega'}\n colorVariant={'secondary'}\n />\n </BackButton>\n )}\n <TextComponent typography={'base'} colorVariant={'secondary'}>\n {modalTitle}\n </TextComponent>\n </Header>\n\n {isDate ? (\n <Content>\n {mode !== 'month' && (\n <SelectorContainer isFirst>\n <Selector\n TextComponent={TextComponent}\n onChange={handleChange('date')}\n referenceDate={date}\n value={date.getDate()}\n label={dayLabel || 'Day'}\n granularity={'date'}\n getDisplayValue={getDisplayedValue('date')}\n preventUpper={\n upperDateThreshold\n ? isSameDay(upperDateThreshold, date)\n : false\n }\n preventLower={\n lowerDateThreshold\n ? isSameDay(lowerDateThreshold, date)\n : false\n }\n />\n </SelectorContainer>\n )}\n <SelectorContainer>\n <Selector\n TextComponent={TextComponent}\n onChange={handleChange('month')}\n referenceDate={date}\n value={date.getMonth()}\n label={monthLabel || 'Month'}\n granularity={'month'}\n getDisplayValue={getDisplayedValue('month')}\n preventUpper={\n upperDateThreshold\n ? isSameMonth(upperDateThreshold, date)\n : false\n }\n preventLower={\n lowerDateThreshold\n ? isSameMonth(lowerDateThreshold, date)\n : false\n }\n />\n </SelectorContainer>\n <SelectorContainer isLast>\n <Selector\n TextComponent={TextComponent}\n onChange={handleChange('year')}\n referenceDate={date}\n value={date.getFullYear()}\n label={yearLabel || 'Year'}\n granularity={'year'}\n getDisplayValue={getDisplayedValue('year')}\n preventUpper={\n upperDateThreshold\n ? isSameYear(upperDateThreshold, date)\n : false\n }\n preventLower={\n lowerDateThreshold\n ? isSameYear(lowerDateThreshold, date)\n : false\n }\n />\n </SelectorContainer>\n </Content>\n ) : (\n <Content>\n <SelectorContainer isFirst>\n <Selector\n TextComponent={TextComponent}\n onChange={handleChange('hours')}\n referenceDate={date}\n value={date.getHours()}\n label={hourLabel || 'Hour'}\n granularity={'hours'}\n getDisplayValue={getDisplayedValue('hours')}\n />\n </SelectorContainer>\n <SelectorContainer isLast>\n <Selector\n TextComponent={TextComponent}\n onChange={handleChange('minutes')}\n referenceDate={date}\n value={date.getMinutes()}\n label={minuteLabel || 'Minute'}\n granularity={'minutes'}\n getDisplayValue={getDisplayedValue('minutes')}\n />\n </SelectorContainer>\n </Content>\n )}\n <Button color={'primary'} onPress={handlePressConfirm}>\n <TextComponent fontWeight=\"bold\" fontColor=\"light\">\n {confirmButtonText || 'OK'}\n </TextComponent>\n </Button>\n </Root>\n );\n};\n\nexport default DateTimeSelector;\n"],"names":["sub","add","React","date","set","getDaysInMonth","compareAsc","value","formatDate","Root","Header","BackButton","Content","SelectorContainer","Selector","isSameDay","isSameMonth","isSameYear"],"mappings":"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"}
|
|
@@ -27,34 +27,6 @@ function _interopNamespace(e) {
|
|
|
27
27
|
|
|
28
28
|
var React__namespace = /*#__PURE__*/_interopNamespace(React);
|
|
29
29
|
|
|
30
|
-
var __defProp = Object.defineProperty;
|
|
31
|
-
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
32
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
33
|
-
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
34
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
35
|
-
var __spreadValues = (a, b) => {
|
|
36
|
-
for (var prop in b || (b = {}))
|
|
37
|
-
if (__hasOwnProp.call(b, prop))
|
|
38
|
-
__defNormalProp(a, prop, b[prop]);
|
|
39
|
-
if (__getOwnPropSymbols)
|
|
40
|
-
for (var prop of __getOwnPropSymbols(b)) {
|
|
41
|
-
if (__propIsEnum.call(b, prop))
|
|
42
|
-
__defNormalProp(a, prop, b[prop]);
|
|
43
|
-
}
|
|
44
|
-
return a;
|
|
45
|
-
};
|
|
46
|
-
var __objRest = (source, exclude) => {
|
|
47
|
-
var target = {};
|
|
48
|
-
for (var prop in source)
|
|
49
|
-
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
50
|
-
target[prop] = source[prop];
|
|
51
|
-
if (source != null && __getOwnPropSymbols)
|
|
52
|
-
for (var prop of __getOwnPropSymbols(source)) {
|
|
53
|
-
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
|
|
54
|
-
target[prop] = source[prop];
|
|
55
|
-
}
|
|
56
|
-
return target;
|
|
57
|
-
};
|
|
58
30
|
function getPrevAndNext(value, granularity, daysInMonth, multiplier = 1) {
|
|
59
31
|
let next = value + multiplier, prev = value - multiplier;
|
|
60
32
|
if (granularity === "date") {
|
|
@@ -72,28 +44,18 @@ function getPrevAndNext(value, granularity, daysInMonth, multiplier = 1) {
|
|
|
72
44
|
}
|
|
73
45
|
return [prev, next];
|
|
74
46
|
}
|
|
75
|
-
const Selector = (
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
"granularity",
|
|
88
|
-
"label",
|
|
89
|
-
"value",
|
|
90
|
-
"onChange",
|
|
91
|
-
"getDisplayValue",
|
|
92
|
-
"referenceDate",
|
|
93
|
-
"preventUpper",
|
|
94
|
-
"preventLower",
|
|
95
|
-
"TextComponent"
|
|
96
|
-
]);
|
|
47
|
+
const Selector = ({
|
|
48
|
+
granularity,
|
|
49
|
+
label,
|
|
50
|
+
value,
|
|
51
|
+
onChange,
|
|
52
|
+
getDisplayValue,
|
|
53
|
+
referenceDate,
|
|
54
|
+
preventUpper,
|
|
55
|
+
preventLower,
|
|
56
|
+
TextComponent,
|
|
57
|
+
...rest
|
|
58
|
+
}) => {
|
|
97
59
|
const pressInTimeoutRef = React__namespace.useRef();
|
|
98
60
|
const handlePressInNext = (_next) => {
|
|
99
61
|
const daysInMonth = dateFns.getDaysInMonth(referenceDate);
|
|
@@ -116,7 +78,9 @@ const Selector = (_a) => {
|
|
|
116
78
|
const handlePressOut = () => {
|
|
117
79
|
pressInTimeoutRef.current && clearTimeout(pressInTimeoutRef.current);
|
|
118
80
|
};
|
|
119
|
-
return /* @__PURE__ */ React__namespace.createElement(styled.SelectorRoot,
|
|
81
|
+
return /* @__PURE__ */ React__namespace.createElement(styled.SelectorRoot, {
|
|
82
|
+
...rest
|
|
83
|
+
}, /* @__PURE__ */ React__namespace.createElement(styled.Control, {
|
|
120
84
|
onPressIn: () => requestAnimationFrame(() => handlePressInNext()),
|
|
121
85
|
onPressOut: handlePressOut,
|
|
122
86
|
disabled: preventUpper
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Selector.js","sources":["../../../../../src/components/molecules/DateTimeSelector/Selector.tsx"],"sourcesContent":["import { getDaysInMonth } from 'date-fns';\nimport * as React from 'react';\nimport { ViewProps } from 'react-native';\nimport { Icon } from '../../atoms/Icon';\nimport { TextProps } from '../../atoms/Text';\nimport { Control, SelectorRoot, SelectorValue } from './styled';\n\nexport type Granularity = 'date' | 'month' | 'year' | 'hours' | 'minutes';\n\ninterface SelectorProps extends ViewProps {\n TextComponent: React.FC<TextProps>;\n granularity: Granularity;\n referenceDate: Date;\n label: string;\n value: number;\n getDisplayValue: (value: number) => string;\n onChange: (value: number) => void | never;\n preventUpper?: boolean;\n preventLower?: boolean;\n}\n\nfunction getPrevAndNext(\n value: number,\n granularity: Granularity,\n daysInMonth: number,\n multiplier = 1\n): [number, number] {\n let next = value + multiplier,\n prev = value - multiplier;\n\n if (granularity === 'date') {\n next = next > daysInMonth ? 1 : next;\n prev = prev < 1 ? daysInMonth : prev;\n } else if (granularity === 'month') {\n next = next > 11 ? 0 : next;\n prev = prev < 0 ? 11 : prev;\n } else if (granularity === 'hours') {\n next = next > 23 ? 0 : next;\n prev = prev < 0 ? 23 : prev;\n } else if (granularity === 'minutes') {\n next = next > 59 ? 0 : next;\n prev = prev < 0 ? 59 : prev;\n }\n\n return [prev, next];\n}\nexport const Selector: React.FC<SelectorProps> = ({\n granularity,\n label,\n value,\n onChange,\n getDisplayValue,\n referenceDate,\n preventUpper,\n preventLower,\n TextComponent,\n ...rest\n}) => {\n const pressInTimeoutRef = React.useRef<number>();\n\n const handlePressInNext = (_next?: number) => {\n const daysInMonth = getDaysInMonth(referenceDate);\n const next = _next || getPrevAndNext(value, granularity, daysInMonth)[1];\n clearTimeout(pressInTimeoutRef.current);\n pressInTimeoutRef.current = setTimeout(() => {\n handlePressInNext(getPrevAndNext(next, granularity, daysInMonth, 3)[1]);\n }, 500);\n onChange(next);\n };\n\n const handlePressInPrev = (_prev?: number) => {\n const daysInMonth = getDaysInMonth(referenceDate);\n const prev = _prev || getPrevAndNext(value, granularity, daysInMonth)[0];\n clearTimeout(pressInTimeoutRef.current);\n pressInTimeoutRef.current = setTimeout(() => {\n handlePressInPrev(getPrevAndNext(prev, granularity, daysInMonth, 3)[0]);\n }, 500);\n onChange(prev);\n };\n\n const handlePressOut = () => {\n pressInTimeoutRef.current && clearTimeout(pressInTimeoutRef.current);\n };\n\n return (\n <SelectorRoot {...rest}>\n <Control\n onPressIn={() => requestAnimationFrame(() => handlePressInNext())}\n onPressOut={handlePressOut}\n disabled={preventUpper}\n >\n <Icon\n name={'chevron-up'}\n type={'material-community'}\n size={'mega'}\n colorVariant={'primary'}\n />\n </Control>\n <SelectorValue>\n <TextComponent colorVariant={'secondary'} typography={'sub'}>\n {label}\n </TextComponent>\n <TextComponent fontWeight={'bold'} typography={'h5'}>\n {getDisplayValue(value)}\n </TextComponent>\n </SelectorValue>\n <Control\n onPressIn={() => requestAnimationFrame(() => handlePressInPrev())}\n onPressOut={handlePressOut}\n disabled={preventLower}\n style={{ opacity: preventLower ? 0 : 1 }}\n >\n <Icon\n name={'chevron-down'}\n type={'material-community'}\n size={'mega'}\n colorVariant={'primary'}\n />\n </Control>\n </SelectorRoot>\n );\n};\n"],"names":["React","getDaysInMonth","SelectorRoot","Control","SelectorValue"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Selector.js","sources":["../../../../../src/components/molecules/DateTimeSelector/Selector.tsx"],"sourcesContent":["import { getDaysInMonth } from 'date-fns';\nimport * as React from 'react';\nimport { ViewProps } from 'react-native';\nimport { Icon } from '../../atoms/Icon';\nimport { TextProps } from '../../atoms/Text';\nimport { Control, SelectorRoot, SelectorValue } from './styled';\n\nexport type Granularity = 'date' | 'month' | 'year' | 'hours' | 'minutes';\n\ninterface SelectorProps extends ViewProps {\n TextComponent: React.FC<TextProps>;\n granularity: Granularity;\n referenceDate: Date;\n label: string;\n value: number;\n getDisplayValue: (value: number) => string;\n onChange: (value: number) => void | never;\n preventUpper?: boolean;\n preventLower?: boolean;\n}\n\nfunction getPrevAndNext(\n value: number,\n granularity: Granularity,\n daysInMonth: number,\n multiplier = 1\n): [number, number] {\n let next = value + multiplier,\n prev = value - multiplier;\n\n if (granularity === 'date') {\n next = next > daysInMonth ? 1 : next;\n prev = prev < 1 ? daysInMonth : prev;\n } else if (granularity === 'month') {\n next = next > 11 ? 0 : next;\n prev = prev < 0 ? 11 : prev;\n } else if (granularity === 'hours') {\n next = next > 23 ? 0 : next;\n prev = prev < 0 ? 23 : prev;\n } else if (granularity === 'minutes') {\n next = next > 59 ? 0 : next;\n prev = prev < 0 ? 59 : prev;\n }\n\n return [prev, next];\n}\nexport const Selector: React.FC<SelectorProps> = ({\n granularity,\n label,\n value,\n onChange,\n getDisplayValue,\n referenceDate,\n preventUpper,\n preventLower,\n TextComponent,\n ...rest\n}) => {\n const pressInTimeoutRef = React.useRef<number>();\n\n const handlePressInNext = (_next?: number) => {\n const daysInMonth = getDaysInMonth(referenceDate);\n const next = _next || getPrevAndNext(value, granularity, daysInMonth)[1];\n clearTimeout(pressInTimeoutRef.current);\n pressInTimeoutRef.current = setTimeout(() => {\n handlePressInNext(getPrevAndNext(next, granularity, daysInMonth, 3)[1]);\n }, 500);\n onChange(next);\n };\n\n const handlePressInPrev = (_prev?: number) => {\n const daysInMonth = getDaysInMonth(referenceDate);\n const prev = _prev || getPrevAndNext(value, granularity, daysInMonth)[0];\n clearTimeout(pressInTimeoutRef.current);\n pressInTimeoutRef.current = setTimeout(() => {\n handlePressInPrev(getPrevAndNext(prev, granularity, daysInMonth, 3)[0]);\n }, 500);\n onChange(prev);\n };\n\n const handlePressOut = () => {\n pressInTimeoutRef.current && clearTimeout(pressInTimeoutRef.current);\n };\n\n return (\n <SelectorRoot {...rest}>\n <Control\n onPressIn={() => requestAnimationFrame(() => handlePressInNext())}\n onPressOut={handlePressOut}\n disabled={preventUpper}\n >\n <Icon\n name={'chevron-up'}\n type={'material-community'}\n size={'mega'}\n colorVariant={'primary'}\n />\n </Control>\n <SelectorValue>\n <TextComponent colorVariant={'secondary'} typography={'sub'}>\n {label}\n </TextComponent>\n <TextComponent fontWeight={'bold'} typography={'h5'}>\n {getDisplayValue(value)}\n </TextComponent>\n </SelectorValue>\n <Control\n onPressIn={() => requestAnimationFrame(() => handlePressInPrev())}\n onPressOut={handlePressOut}\n disabled={preventLower}\n style={{ opacity: preventLower ? 0 : 1 }}\n >\n <Icon\n name={'chevron-down'}\n type={'material-community'}\n size={'mega'}\n colorVariant={'primary'}\n />\n </Control>\n </SelectorRoot>\n );\n};\n"],"names":["React","getDaysInMonth","SelectorRoot","Control","SelectorValue"],"mappings":"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"}
|
|
@@ -13,12 +13,11 @@ require('../../atoms/Input/PressableInputContainer/styled.js');
|
|
|
13
13
|
require('react-native');
|
|
14
14
|
|
|
15
15
|
const getGridItemPadding = (pos, _spacing, themeSpacing) => {
|
|
16
|
-
var _a;
|
|
17
16
|
if (_spacing) {
|
|
18
17
|
if (typeof _spacing === "string")
|
|
19
18
|
return extractNumbersFromString.extractNumbersFromString(themeSpacing[_spacing]);
|
|
20
19
|
else if (typeof _spacing === "object" && _spacing[pos]) {
|
|
21
|
-
return extractNumbersFromString.extractNumbersFromString(themeSpacing[
|
|
20
|
+
return extractNumbersFromString.extractNumbersFromString(themeSpacing[_spacing[pos] ?? "0"]);
|
|
22
21
|
} else
|
|
23
22
|
return void 0;
|
|
24
23
|
} else
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"functions.js","sources":["../../../../../src/components/molecules/Grid/functions.ts"],"sourcesContent":["import { GridSpacing, PaddingPosition, Spacing } from '@tecsinapse/react-core';\nimport { extractNumbersFromString } from '../../../utils';\n\nexport const getGridItemPadding = (\n pos: PaddingPosition,\n _spacing: GridSpacing | undefined,\n themeSpacing: Spacing\n): number | undefined => {\n if (_spacing) {\n if (typeof _spacing === 'string')\n return extractNumbersFromString(themeSpacing[_spacing]);\n else if (typeof _spacing === 'object' && _spacing[pos]) {\n return extractNumbersFromString(themeSpacing[_spacing[pos] ?? '0']);\n } else return undefined;\n } else return undefined;\n};\n\n/**\n * Calc the basis width percentage for a given item\n * @param columns - number of grid columns\n * @param span - number of columns to merge\n * @returns {number} - value in %\n */\nexport const getGridItemColumSpan = (columns: number, span: number): number =>\n 100 / (columns / span);\n"],"names":["extractNumbersFromString"],"mappings":";;;;;;;;;;;;;;AAGO,MAAM,kBAAqB,GAAA,CAChC,GACA,EAAA,QAAA,EACA,YACuB,KAAA;
|
|
1
|
+
{"version":3,"file":"functions.js","sources":["../../../../../src/components/molecules/Grid/functions.ts"],"sourcesContent":["import { GridSpacing, PaddingPosition, Spacing } from '@tecsinapse/react-core';\nimport { extractNumbersFromString } from '../../../utils';\n\nexport const getGridItemPadding = (\n pos: PaddingPosition,\n _spacing: GridSpacing | undefined,\n themeSpacing: Spacing\n): number | undefined => {\n if (_spacing) {\n if (typeof _spacing === 'string')\n return extractNumbersFromString(themeSpacing[_spacing]);\n else if (typeof _spacing === 'object' && _spacing[pos]) {\n return extractNumbersFromString(themeSpacing[_spacing[pos] ?? '0']);\n } else return undefined;\n } else return undefined;\n};\n\n/**\n * Calc the basis width percentage for a given item\n * @param columns - number of grid columns\n * @param span - number of columns to merge\n * @returns {number} - value in %\n */\nexport const getGridItemColumSpan = (columns: number, span: number): number =>\n 100 / (columns / span);\n"],"names":["extractNumbersFromString"],"mappings":";;;;;;;;;;;;;;AAGO,MAAM,kBAAqB,GAAA,CAChC,GACA,EAAA,QAAA,EACA,YACuB,KAAA;AACvB,EAAA,IAAI,QAAU,EAAA;AACZ,IAAA,IAAI,OAAO,QAAa,KAAA,QAAA;AACtB,MAAO,OAAAA,iDAAA,CAAyB,aAAa,QAAS,CAAA,CAAA,CAAA;AAAA,SAAA,IAC/C,OAAO,QAAA,KAAa,QAAY,IAAA,QAAA,CAAS,GAAM,CAAA,EAAA;AACtD,MAAA,OAAOA,iDAAyB,CAAA,YAAA,CAAa,QAAS,CAAA,GAAA,CAAA,IAAQ,GAAI,CAAA,CAAA,CAAA;AAAA,KACpE;AAAO,MAAO,OAAA,KAAA,CAAA,CAAA;AAAA,GAChB;AAAO,IAAO,OAAA,KAAA,CAAA,CAAA;AAChB,EAAA;AAQO,MAAM,oBAAuB,GAAA,CAAC,OAAiB,EAAA,IAAA,KACpD,OAAO,OAAU,GAAA,IAAA;;;;;"}
|
|
@@ -30,58 +30,19 @@ function _interopNamespace(e) {
|
|
|
30
30
|
|
|
31
31
|
var React__namespace = /*#__PURE__*/_interopNamespace(React);
|
|
32
32
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
}
|
|
47
|
-
return a;
|
|
48
|
-
};
|
|
49
|
-
var __objRest = (source, exclude) => {
|
|
50
|
-
var target = {};
|
|
51
|
-
for (var prop in source)
|
|
52
|
-
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
53
|
-
target[prop] = source[prop];
|
|
54
|
-
if (source != null && __getOwnPropSymbols)
|
|
55
|
-
for (var prop of __getOwnPropSymbols(source)) {
|
|
56
|
-
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
|
|
57
|
-
target[prop] = source[prop];
|
|
58
|
-
}
|
|
59
|
-
return target;
|
|
60
|
-
};
|
|
61
|
-
const HintInputContainer = (_a) => {
|
|
62
|
-
var _b = _a, {
|
|
63
|
-
viewStyle,
|
|
64
|
-
onPress,
|
|
65
|
-
focused,
|
|
66
|
-
disabled,
|
|
67
|
-
LabelComponent,
|
|
68
|
-
variant = "default",
|
|
69
|
-
rightComponent,
|
|
70
|
-
children,
|
|
71
|
-
hint,
|
|
72
|
-
hintComponent
|
|
73
|
-
} = _b, rest = __objRest(_b, [
|
|
74
|
-
"viewStyle",
|
|
75
|
-
"onPress",
|
|
76
|
-
"focused",
|
|
77
|
-
"disabled",
|
|
78
|
-
"LabelComponent",
|
|
79
|
-
"variant",
|
|
80
|
-
"rightComponent",
|
|
81
|
-
"children",
|
|
82
|
-
"hint",
|
|
83
|
-
"hintComponent"
|
|
84
|
-
]);
|
|
33
|
+
const HintInputContainer = ({
|
|
34
|
+
viewStyle,
|
|
35
|
+
onPress,
|
|
36
|
+
focused,
|
|
37
|
+
disabled,
|
|
38
|
+
LabelComponent,
|
|
39
|
+
variant = "default",
|
|
40
|
+
rightComponent,
|
|
41
|
+
children,
|
|
42
|
+
hint,
|
|
43
|
+
hintComponent,
|
|
44
|
+
...rest
|
|
45
|
+
}) => {
|
|
85
46
|
const _hint = hintComponent || /* @__PURE__ */ React__namespace.createElement(Hint, {
|
|
86
47
|
TextComponent: LabelComponent,
|
|
87
48
|
text: hint,
|
|
@@ -89,14 +50,15 @@ const HintInputContainer = (_a) => {
|
|
|
89
50
|
});
|
|
90
51
|
return /* @__PURE__ */ React__namespace.createElement(reactNative.View, {
|
|
91
52
|
style: viewStyle
|
|
92
|
-
}, /* @__PURE__ */ React__namespace.createElement(PressableInputContainer,
|
|
53
|
+
}, /* @__PURE__ */ React__namespace.createElement(PressableInputContainer, {
|
|
93
54
|
onPress,
|
|
94
55
|
focused,
|
|
95
56
|
disabled,
|
|
96
57
|
LabelComponent,
|
|
97
58
|
variant,
|
|
98
|
-
rightComponent
|
|
99
|
-
|
|
59
|
+
rightComponent,
|
|
60
|
+
...rest
|
|
61
|
+
}, children), hint && _hint);
|
|
100
62
|
};
|
|
101
63
|
|
|
102
64
|
module.exports = HintInputContainer;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HintInputContainer.js","sources":["../../../../../src/components/molecules/HintInputContainer/HintInputContainer.tsx"],"sourcesContent":["import * as React from 'react';\nimport { StyleProp, View, ViewStyle } from 'react-native';\nimport {\n Hint,\n InputVariantType,\n PressableInputContainer,\n PressableInputContainerProps,\n} from '../../atoms/Input';\nimport { TextProps } from '../../atoms/Text';\n\nexport interface HintInputContainerProps extends PressableInputContainerProps {\n viewStyle?: StyleProp<ViewStyle>;\n focused: boolean;\n LabelComponent?: React.FC<TextProps>;\n onPress?: () => void | never;\n disabled?: boolean;\n hint?: string;\n hintComponent?: JSX.Element;\n variant?: InputVariantType;\n rightComponent?: JSX.Element;\n}\n\nconst HintInputContainer: React.FC<HintInputContainerProps> = ({\n viewStyle,\n onPress,\n focused,\n disabled,\n LabelComponent,\n variant = 'default',\n rightComponent,\n children,\n hint,\n hintComponent,\n ...rest\n}) => {\n const _hint = hintComponent || (\n <Hint TextComponent={LabelComponent} text={hint} variant={variant} />\n );\n\n return (\n <View style={viewStyle}>\n <PressableInputContainer\n onPress={onPress}\n focused={focused}\n disabled={disabled}\n LabelComponent={LabelComponent}\n variant={variant}\n rightComponent={rightComponent}\n {...rest}\n >\n {children}\n </PressableInputContainer>\n {hint && _hint}\n </View>\n );\n};\n\nexport default HintInputContainer;\n"],"names":["React","View"],"mappings":"
|
|
1
|
+
{"version":3,"file":"HintInputContainer.js","sources":["../../../../../src/components/molecules/HintInputContainer/HintInputContainer.tsx"],"sourcesContent":["import * as React from 'react';\nimport { StyleProp, View, ViewStyle } from 'react-native';\nimport {\n Hint,\n InputVariantType,\n PressableInputContainer,\n PressableInputContainerProps,\n} from '../../atoms/Input';\nimport { TextProps } from '../../atoms/Text';\n\nexport interface HintInputContainerProps extends PressableInputContainerProps {\n viewStyle?: StyleProp<ViewStyle>;\n focused: boolean;\n LabelComponent?: React.FC<TextProps>;\n onPress?: () => void | never;\n disabled?: boolean;\n hint?: string;\n hintComponent?: JSX.Element;\n variant?: InputVariantType;\n rightComponent?: JSX.Element;\n}\n\nconst HintInputContainer: React.FC<HintInputContainerProps> = ({\n viewStyle,\n onPress,\n focused,\n disabled,\n LabelComponent,\n variant = 'default',\n rightComponent,\n children,\n hint,\n hintComponent,\n ...rest\n}) => {\n const _hint = hintComponent || (\n <Hint TextComponent={LabelComponent} text={hint} variant={variant} />\n );\n\n return (\n <View style={viewStyle}>\n <PressableInputContainer\n onPress={onPress}\n focused={focused}\n disabled={disabled}\n LabelComponent={LabelComponent}\n variant={variant}\n rightComponent={rightComponent}\n {...rest}\n >\n {children}\n </PressableInputContainer>\n {hint && _hint}\n </View>\n );\n};\n\nexport default HintInputContainer;\n"],"names":["React","View"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsBA,MAAM,qBAAwD,CAAC;AAAA,EAC7D,SAAA;AAAA,EACA,OAAA;AAAA,EACA,OAAA;AAAA,EACA,QAAA;AAAA,EACA,cAAA;AAAA,EACA,OAAU,GAAA,SAAA;AAAA,EACV,cAAA;AAAA,EACA,QAAA;AAAA,EACA,IAAA;AAAA,EACA,aAAA;AAAA,EACG,GAAA,IAAA;AACL,CAAM,KAAA;AACJ,EAAM,MAAA,KAAA,GAAQ,iCACXA,gBAAA,CAAA,aAAA,CAAA,IAAA,EAAA;AAAA,IAAK,aAAe,EAAA,cAAA;AAAA,IAAgB,IAAM,EAAA,IAAA;AAAA,IAAM,OAAA;AAAA,GAAkB,CAAA,CAAA;AAGrE,EAAA,uBACGA,gBAAA,CAAA,aAAA,CAAAC,gBAAA,EAAA;AAAA,IAAK,KAAO,EAAA,SAAA;AAAA,GAAA,kBACVD,gBAAA,CAAA,aAAA,CAAA,uBAAA,EAAA;AAAA,IACC,OAAA;AAAA,IACA,OAAA;AAAA,IACA,QAAA;AAAA,IACA,cAAA;AAAA,IACA,OAAA;AAAA,IACA,cAAA;AAAA,IACC,GAAG,IAAA;AAAA,GAEH,EAAA,QACH,CACC,EAAA,IAAA,IAAQ,KACX,CAAA,CAAA;AAEJ;;;;"}
|
|
@@ -7,32 +7,16 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
|
|
|
7
7
|
|
|
8
8
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
9
9
|
|
|
10
|
-
var __defProp = Object.defineProperty;
|
|
11
|
-
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
12
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
13
|
-
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
14
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
15
|
-
var __spreadValues = (a, b) => {
|
|
16
|
-
for (var prop in b || (b = {}))
|
|
17
|
-
if (__hasOwnProp.call(b, prop))
|
|
18
|
-
__defNormalProp(a, prop, b[prop]);
|
|
19
|
-
if (__getOwnPropSymbols)
|
|
20
|
-
for (var prop of __getOwnPropSymbols(b)) {
|
|
21
|
-
if (__propIsEnum.call(b, prop))
|
|
22
|
-
__defNormalProp(a, prop, b[prop]);
|
|
23
|
-
}
|
|
24
|
-
return a;
|
|
25
|
-
};
|
|
26
10
|
const IconComponent = ({
|
|
27
11
|
iconProps,
|
|
28
12
|
size = "default",
|
|
29
13
|
defaultFontColor
|
|
30
14
|
}) => {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
}
|
|
15
|
+
return iconProps ? /* @__PURE__ */ React__default["default"].createElement(Icon, {
|
|
16
|
+
size: iconProps.size ?? size === "small" ? "deca" : "kilo",
|
|
17
|
+
fontColor: iconProps.fontColor ?? defaultFontColor,
|
|
18
|
+
...iconProps
|
|
19
|
+
}) : /* @__PURE__ */ React__default["default"].createElement(React__default["default"].Fragment, null);
|
|
36
20
|
};
|
|
37
21
|
var IconComponent$1 = React__default["default"].memo(IconComponent);
|
|
38
22
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IconComponent.js","sources":["../../../../../src/components/molecules/IconTextButton/IconComponent.tsx"],"sourcesContent":["import { ButtonSizeType, FontColor, IconProps } from '@tecsinapse/react-core';\nimport React, { FC } from 'react';\nimport { Icon } from '../../atoms/Icon';\n\ninterface IconComponentProps {\n iconProps?: IconProps;\n size?: ButtonSizeType;\n defaultFontColor: keyof FontColor;\n}\n\nconst IconComponent: FC<IconComponentProps> = ({\n iconProps,\n size = 'default',\n defaultFontColor,\n}) => {\n return iconProps ? (\n <Icon\n size={iconProps.size ?? size === 'small' ? 'deca' : 'kilo'}\n fontColor={iconProps.fontColor ?? defaultFontColor}\n {...iconProps}\n />\n ) : (\n <></>\n );\n};\n\nexport default React.memo(IconComponent);\n"],"names":["React"],"mappings":"
|
|
1
|
+
{"version":3,"file":"IconComponent.js","sources":["../../../../../src/components/molecules/IconTextButton/IconComponent.tsx"],"sourcesContent":["import { ButtonSizeType, FontColor, IconProps } from '@tecsinapse/react-core';\nimport React, { FC } from 'react';\nimport { Icon } from '../../atoms/Icon';\n\ninterface IconComponentProps {\n iconProps?: IconProps;\n size?: ButtonSizeType;\n defaultFontColor: keyof FontColor;\n}\n\nconst IconComponent: FC<IconComponentProps> = ({\n iconProps,\n size = 'default',\n defaultFontColor,\n}) => {\n return iconProps ? (\n <Icon\n size={iconProps.size ?? size === 'small' ? 'deca' : 'kilo'}\n fontColor={iconProps.fontColor ?? defaultFontColor}\n {...iconProps}\n />\n ) : (\n <></>\n );\n};\n\nexport default React.memo(IconComponent);\n"],"names":["React"],"mappings":";;;;;;;;;AAUA,MAAM,gBAAwC,CAAC;AAAA,EAC7C,SAAA;AAAA,EACA,IAAO,GAAA,SAAA;AAAA,EACP,gBAAA;AACF,CAAM,KAAA;AACJ,EAAA,OAAO,4BACJA,yBAAA,CAAA,aAAA,CAAA,IAAA,EAAA;AAAA,IACC,IAAM,EAAA,SAAA,CAAU,IAAQ,IAAA,IAAA,KAAS,UAAU,MAAS,GAAA,MAAA;AAAA,IACpD,SAAA,EAAW,UAAU,SAAa,IAAA,gBAAA;AAAA,IACjC,GAAG,SAAA;AAAA,GACN,oBAEEA,yBAAA,CAAA,aAAA,CAAAA,yBAAA,CAAA,QAAA,EAAA,IAAA,CAAA,CAAA;AAEN,CAAA,CAAA;AAEA,sBAAeA,yBAAA,CAAM,KAAK,aAAa,CAAA;;;;"}
|
|
@@ -8,51 +8,18 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
|
|
|
8
8
|
|
|
9
9
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
17
|
-
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
18
|
-
var __spreadValues = (a, b) => {
|
|
19
|
-
for (var prop in b || (b = {}))
|
|
20
|
-
if (__hasOwnProp.call(b, prop))
|
|
21
|
-
__defNormalProp(a, prop, b[prop]);
|
|
22
|
-
if (__getOwnPropSymbols)
|
|
23
|
-
for (var prop of __getOwnPropSymbols(b)) {
|
|
24
|
-
if (__propIsEnum.call(b, prop))
|
|
25
|
-
__defNormalProp(a, prop, b[prop]);
|
|
26
|
-
}
|
|
27
|
-
return a;
|
|
28
|
-
};
|
|
29
|
-
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
30
|
-
var __objRest = (source, exclude) => {
|
|
31
|
-
var target = {};
|
|
32
|
-
for (var prop in source)
|
|
33
|
-
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
34
|
-
target[prop] = source[prop];
|
|
35
|
-
if (source != null && __getOwnPropSymbols)
|
|
36
|
-
for (var prop of __getOwnPropSymbols(source)) {
|
|
37
|
-
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
|
|
38
|
-
target[prop] = source[prop];
|
|
39
|
-
}
|
|
40
|
-
return target;
|
|
41
|
-
};
|
|
42
|
-
const InputPasswordIcon = (_a) => {
|
|
43
|
-
var _b = _a, {
|
|
44
|
-
revealed,
|
|
45
|
-
onChangeState
|
|
46
|
-
} = _b, rest = __objRest(_b, [
|
|
47
|
-
"revealed",
|
|
48
|
-
"onChangeState"
|
|
49
|
-
]);
|
|
11
|
+
const InputPasswordIcon = ({
|
|
12
|
+
revealed,
|
|
13
|
+
onChangeState,
|
|
14
|
+
...rest
|
|
15
|
+
}) => {
|
|
50
16
|
const icon = revealed ? "eye-outline" : "eye-off-outline";
|
|
51
|
-
return /* @__PURE__ */ React__default["default"].createElement(styled.StyledPasswordButtonIcon,
|
|
17
|
+
return /* @__PURE__ */ React__default["default"].createElement(styled.StyledPasswordButtonIcon, {
|
|
18
|
+
...rest,
|
|
52
19
|
variant: "text",
|
|
53
20
|
size: "small",
|
|
54
21
|
onPress: () => onChangeState(!revealed)
|
|
55
|
-
}
|
|
22
|
+
}, /* @__PURE__ */ React__default["default"].createElement(Icon, {
|
|
56
23
|
name: icon,
|
|
57
24
|
type: "ionicon",
|
|
58
25
|
size: "centi"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InputPasswordIcon.js","sources":["../../../../../src/components/molecules/InputPassword/InputPasswordIcon.tsx"],"sourcesContent":["import React, { FC } from 'react';\nimport { ButtonProps } from '../../atoms/Button';\nimport { Icon } from '../../atoms/Icon';\nimport { StyledPasswordButtonIcon } from './styled';\n\ninterface InputPasswordIconProps extends ButtonProps {\n revealed: boolean;\n onChangeState: (revealed: boolean) => void;\n}\n\nconst InputPasswordIcon: FC<InputPasswordIconProps> = ({\n revealed,\n onChangeState,\n ...rest\n}) => {\n const icon = revealed ? 'eye-outline' : 'eye-off-outline';\n return (\n <StyledPasswordButtonIcon\n {...rest}\n variant=\"text\"\n size=\"small\"\n onPress={() => onChangeState(!revealed)}\n >\n <Icon name={icon} type=\"ionicon\" size=\"centi\" />\n </StyledPasswordButtonIcon>\n );\n};\n\nexport default InputPasswordIcon;\n"],"names":["React","StyledPasswordButtonIcon"],"mappings":"
|
|
1
|
+
{"version":3,"file":"InputPasswordIcon.js","sources":["../../../../../src/components/molecules/InputPassword/InputPasswordIcon.tsx"],"sourcesContent":["import React, { FC } from 'react';\nimport { ButtonProps } from '../../atoms/Button';\nimport { Icon } from '../../atoms/Icon';\nimport { StyledPasswordButtonIcon } from './styled';\n\ninterface InputPasswordIconProps extends ButtonProps {\n revealed: boolean;\n onChangeState: (revealed: boolean) => void;\n}\n\nconst InputPasswordIcon: FC<InputPasswordIconProps> = ({\n revealed,\n onChangeState,\n ...rest\n}) => {\n const icon = revealed ? 'eye-outline' : 'eye-off-outline';\n return (\n <StyledPasswordButtonIcon\n {...rest}\n variant=\"text\"\n size=\"small\"\n onPress={() => onChangeState(!revealed)}\n >\n <Icon name={icon} type=\"ionicon\" size=\"centi\" />\n </StyledPasswordButtonIcon>\n );\n};\n\nexport default InputPasswordIcon;\n"],"names":["React","StyledPasswordButtonIcon"],"mappings":";;;;;;;;;;AAUA,MAAM,oBAAgD,CAAC;AAAA,EACrD,QAAA;AAAA,EACA,aAAA;AAAA,EACG,GAAA,IAAA;AACL,CAAM,KAAA;AACJ,EAAM,MAAA,IAAA,GAAO,WAAW,aAAgB,GAAA,iBAAA,CAAA;AACxC,EAAA,uBACGA,yBAAA,CAAA,aAAA,CAAAC,+BAAA,EAAA;AAAA,IACE,GAAG,IAAA;AAAA,IACJ,OAAQ,EAAA,MAAA;AAAA,IACR,IAAK,EAAA,OAAA;AAAA,IACL,OAAS,EAAA,MAAM,aAAc,CAAA,CAAC,QAAQ,CAAA;AAAA,GAAA,kBAErCD,yBAAA,CAAA,aAAA,CAAA,IAAA,EAAA;AAAA,IAAK,IAAM,EAAA,IAAA;AAAA,IAAM,IAAK,EAAA,SAAA;AAAA,IAAU,IAAK,EAAA,OAAA;AAAA,GAAQ,CAChD,CAAA,CAAA;AAEJ;;;;"}
|