@paprika/time-picker 2.0.6-next.0 → 2.0.6-next.1
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/CHANGELOG.md +11 -0
- package/lib/TimePicker.js +3 -1
- package/lib/TimePicker.js.map +1 -1
- package/package.json +4 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 2.0.6-next.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 0dcf307: Refactored to use `getActiveElement` from `@paprika/helpers` to support web components.
|
|
8
|
+
- Updated dependencies [0dcf307]
|
|
9
|
+
- Updated dependencies [0dcf307]
|
|
10
|
+
- @paprika/popover@2.0.4-next.1
|
|
11
|
+
- @paprika/helpers@2.3.0-next.0
|
|
12
|
+
- @paprika/input@4.0.18-next.1
|
|
13
|
+
|
|
3
14
|
## 2.0.6-next.0
|
|
4
15
|
|
|
5
16
|
### Patch Changes
|
package/lib/TimePicker.js
CHANGED
|
@@ -30,6 +30,8 @@ var _Clock = _interopRequireDefault(require("@paprika/icon/lib/Clock"));
|
|
|
30
30
|
|
|
31
31
|
var _input = _interopRequireDefault(require("@paprika/input"));
|
|
32
32
|
|
|
33
|
+
var _helpers = require("@paprika/helpers");
|
|
34
|
+
|
|
33
35
|
var _useI18n2 = _interopRequireDefault(require("@paprika/l10n/lib/useI18n"));
|
|
34
36
|
|
|
35
37
|
var _popover = _interopRequireDefault(require("@paprika/popover"));
|
|
@@ -213,7 +215,7 @@ function TimePicker(props) {
|
|
|
213
215
|
|
|
214
216
|
if (target === null) {
|
|
215
217
|
// IE11 fix https://stackoverflow.com/a/49325196/196038
|
|
216
|
-
target =
|
|
218
|
+
target = (0, _helpers.getActiveElement)();
|
|
217
219
|
}
|
|
218
220
|
|
|
219
221
|
if (timeinputDom && timeinputDom.contains(target)) {
|
package/lib/TimePicker.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/TimePicker.js"],"names":["getExplodeTime","TimeInterpreter","parse","propTypes","a11yText","PropTypes","string","defaultIsOpen","bool","defaultValue","isDisabled","isReadOnly","onChange","func","onError","defaultProps","TimePicker","props","moreProps","React","useState","isOpen","setIsOpen","defaultTime","hh","mm","period","time","setTime","timeStr","setTimeStr","value","setValue","useEffect","error","newTimeStr","newValue","console","handleClick","newTime","newTimeParsed","handleChange","event","target","handleFocus","handleBlur","timeinputDom","document","querySelector","relatedTarget","activeElement","contains","finish","handleKeyUp","key","t","width","displayName"],"mappings":"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","sourcesContent":["import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport ClockIcon from \"@paprika/icon/lib/Clock\";\nimport Input from \"@paprika/input\";\nimport useI18n from \"@paprika/l10n/lib/useI18n\";\nimport Popover from \"@paprika/popover\";\nimport Picker from \"./components/Picker/Picker\";\nimport TimeInterpreter from \"./TimeInterpreter\";\nimport * as sc from \"./TimePicker.styles\";\n\nconst getExplodeTime = TimeInterpreter.parse;\n\nconst propTypes = {\n /** Descriptive a11y text for assistive technologies. */\n a11yText: PropTypes.string,\n\n /** If the TimePicker is set to visible. */\n defaultIsOpen: PropTypes.bool,\n\n /** Sets the default value for the TimePicker */\n defaultValue: PropTypes.string,\n\n /** If the TimePicker is disabled. */\n isDisabled: PropTypes.bool,\n\n /** Should be read-only or not, default is false. */\n isReadOnly: PropTypes.bool,\n\n /** Callback to be executed when the value is changed. */\n onChange: PropTypes.func,\n\n /** Callback to be executed when there is an error. */\n onError: PropTypes.func,\n};\n\nconst defaultProps = {\n a11yText: \"Time (hh:mm)\",\n defaultIsOpen: false,\n defaultValue: null,\n isDisabled: false,\n isReadOnly: false,\n onChange: () => {},\n onError: () => {},\n};\n\nfunction TimePicker(props) {\n const { a11yText, defaultIsOpen, defaultValue, isDisabled, isReadOnly, onChange, onError, ...moreProps } = props;\n\n const [isOpen, setIsOpen] = React.useState(defaultIsOpen);\n const [time, setTime] = React.useState(() => {\n if (defaultValue) {\n const defaultTime = getExplodeTime(defaultValue);\n return {\n hh: defaultTime.hh,\n mm: defaultTime.mm,\n period: defaultTime.period,\n };\n }\n return {\n hh: null,\n mm: null,\n period: null,\n };\n });\n const [timeStr, setTimeStr] = React.useState(null);\n const [value, setValue] = React.useState(defaultValue);\n\n React.useEffect(() => {\n if (defaultValue) {\n const { hh, mm, period, error, timeStr: newTimeStr, value: newValue } = getExplodeTime(defaultValue);\n\n if (error) {\n setIsOpen(false);\n console.error(\"TimePicker - invalid defaultValue, please check your defaultValue passed in\");\n return;\n }\n\n setTime({ hh, mm, period });\n setTimeStr(newTimeStr);\n setValue(newValue);\n }\n }, [defaultValue]);\n\n function handleClick(newTime) {\n const newTimeParsed = getExplodeTime(newTime);\n const { hh, mm, period, timeStr: newTimeStr, value: newValue } = newTimeParsed;\n\n onChange(newTimeParsed);\n\n setTime({ hh, mm, period });\n setTimeStr(newTimeStr);\n setValue(newValue);\n }\n\n const handleChange = event => {\n setValue(event.target.value);\n\n if (!event.target.value) {\n setTime({ hh: null, mm: null, period: null });\n return;\n }\n\n const newTimeParsed = getExplodeTime(event.target.value);\n const { hh, mm, period, timeStr: newTimeStr, error } = newTimeParsed;\n onChange(newTimeParsed);\n\n if (error) {\n setIsOpen(false);\n onError(error);\n return;\n }\n\n setTime({ hh, mm, period });\n setTimeStr(newTimeStr);\n };\n\n const handleFocus = () => {\n if (!isDisabled && !isReadOnly) {\n setIsOpen(true);\n }\n };\n\n const handleBlur = event => {\n const timeinputDom = document.querySelector(\".timeinput-picker\");\n\n let target = event.relatedTarget;\n if (target === null) {\n // IE11 fix https://stackoverflow.com/a/49325196/196038\n target = document.activeElement;\n }\n\n if (timeinputDom && timeinputDom.contains(target)) {\n return;\n }\n\n setIsOpen(false);\n };\n\n function finish() {\n setIsOpen(false);\n setValue(timeStr);\n }\n\n const handleKeyUp = event => {\n if (event.key === \"Enter\") {\n finish();\n }\n\n if (event.key === \"Escape\") {\n finish();\n }\n };\n\n const { t } = useI18n();\n\n return (\n <sc.TimePicker onFocus={handleFocus} onBlur={handleBlur}>\n <Popover style={{ width: \"100%\" }} isOpen={isOpen} edge=\"left\" offset={0} align=\"bottom\" shouldKeepFocus>\n <sc.PopoverTrigger isReadOnly={isReadOnly} isDisabled={isDisabled}>\n <Input\n aria-label={a11yText}\n hasClearButton={false}\n icon={<ClockIcon />}\n isDisabled={isDisabled}\n isReadOnly={isReadOnly}\n onChange={handleChange}\n onKeyUp={handleKeyUp}\n onFocus={handleFocus}\n value={value}\n data-pka-anchor=\"timePicker-Input\"\n {...moreProps}\n />\n </sc.PopoverTrigger>\n <Popover.Content>\n <Picker\n hh={time.hh}\n isOpen={isOpen}\n labelCustom={t(\"timePicker.custom\")}\n labelHours={t(\"timePicker.hours\")}\n labelMinutes={t(\"timePicker.minutes\")}\n labelPeriod={t(\"timePicker.period\")}\n labelAM={t(\"timePicker.am\")}\n labelPM={t(\"timePicker.pm\")}\n mm={time.mm}\n onClick={handleClick}\n period={time.period}\n {...moreProps}\n />\n </Popover.Content>\n </Popover>\n </sc.TimePicker>\n );\n}\n\nTimePicker.displayName = \"TimePicker\";\nTimePicker.propTypes = propTypes;\nTimePicker.defaultProps = defaultProps;\n\nexport default TimePicker;\n"],"file":"TimePicker.js"}
|
|
1
|
+
{"version":3,"sources":["../src/TimePicker.js"],"names":["getExplodeTime","TimeInterpreter","parse","propTypes","a11yText","PropTypes","string","defaultIsOpen","bool","defaultValue","isDisabled","isReadOnly","onChange","func","onError","defaultProps","TimePicker","props","moreProps","React","useState","isOpen","setIsOpen","defaultTime","hh","mm","period","time","setTime","timeStr","setTimeStr","value","setValue","useEffect","error","newTimeStr","newValue","console","handleClick","newTime","newTimeParsed","handleChange","event","target","handleFocus","handleBlur","timeinputDom","document","querySelector","relatedTarget","contains","finish","handleKeyUp","key","t","width","displayName"],"mappings":"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","sourcesContent":["import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport ClockIcon from \"@paprika/icon/lib/Clock\";\nimport Input from \"@paprika/input\";\nimport { getActiveElement } from \"@paprika/helpers\";\nimport useI18n from \"@paprika/l10n/lib/useI18n\";\nimport Popover from \"@paprika/popover\";\nimport Picker from \"./components/Picker/Picker\";\nimport TimeInterpreter from \"./TimeInterpreter\";\nimport * as sc from \"./TimePicker.styles\";\n\nconst getExplodeTime = TimeInterpreter.parse;\n\nconst propTypes = {\n /** Descriptive a11y text for assistive technologies. */\n a11yText: PropTypes.string,\n\n /** If the TimePicker is set to visible. */\n defaultIsOpen: PropTypes.bool,\n\n /** Sets the default value for the TimePicker */\n defaultValue: PropTypes.string,\n\n /** If the TimePicker is disabled. */\n isDisabled: PropTypes.bool,\n\n /** Should be read-only or not, default is false. */\n isReadOnly: PropTypes.bool,\n\n /** Callback to be executed when the value is changed. */\n onChange: PropTypes.func,\n\n /** Callback to be executed when there is an error. */\n onError: PropTypes.func,\n};\n\nconst defaultProps = {\n a11yText: \"Time (hh:mm)\",\n defaultIsOpen: false,\n defaultValue: null,\n isDisabled: false,\n isReadOnly: false,\n onChange: () => {},\n onError: () => {},\n};\n\nfunction TimePicker(props) {\n const { a11yText, defaultIsOpen, defaultValue, isDisabled, isReadOnly, onChange, onError, ...moreProps } = props;\n\n const [isOpen, setIsOpen] = React.useState(defaultIsOpen);\n const [time, setTime] = React.useState(() => {\n if (defaultValue) {\n const defaultTime = getExplodeTime(defaultValue);\n return {\n hh: defaultTime.hh,\n mm: defaultTime.mm,\n period: defaultTime.period,\n };\n }\n return {\n hh: null,\n mm: null,\n period: null,\n };\n });\n const [timeStr, setTimeStr] = React.useState(null);\n const [value, setValue] = React.useState(defaultValue);\n\n React.useEffect(() => {\n if (defaultValue) {\n const { hh, mm, period, error, timeStr: newTimeStr, value: newValue } = getExplodeTime(defaultValue);\n\n if (error) {\n setIsOpen(false);\n console.error(\"TimePicker - invalid defaultValue, please check your defaultValue passed in\");\n return;\n }\n\n setTime({ hh, mm, period });\n setTimeStr(newTimeStr);\n setValue(newValue);\n }\n }, [defaultValue]);\n\n function handleClick(newTime) {\n const newTimeParsed = getExplodeTime(newTime);\n const { hh, mm, period, timeStr: newTimeStr, value: newValue } = newTimeParsed;\n\n onChange(newTimeParsed);\n\n setTime({ hh, mm, period });\n setTimeStr(newTimeStr);\n setValue(newValue);\n }\n\n const handleChange = event => {\n setValue(event.target.value);\n\n if (!event.target.value) {\n setTime({ hh: null, mm: null, period: null });\n return;\n }\n\n const newTimeParsed = getExplodeTime(event.target.value);\n const { hh, mm, period, timeStr: newTimeStr, error } = newTimeParsed;\n onChange(newTimeParsed);\n\n if (error) {\n setIsOpen(false);\n onError(error);\n return;\n }\n\n setTime({ hh, mm, period });\n setTimeStr(newTimeStr);\n };\n\n const handleFocus = () => {\n if (!isDisabled && !isReadOnly) {\n setIsOpen(true);\n }\n };\n\n const handleBlur = event => {\n const timeinputDom = document.querySelector(\".timeinput-picker\");\n\n let target = event.relatedTarget;\n if (target === null) {\n // IE11 fix https://stackoverflow.com/a/49325196/196038\n target = getActiveElement();\n }\n\n if (timeinputDom && timeinputDom.contains(target)) {\n return;\n }\n\n setIsOpen(false);\n };\n\n function finish() {\n setIsOpen(false);\n setValue(timeStr);\n }\n\n const handleKeyUp = event => {\n if (event.key === \"Enter\") {\n finish();\n }\n\n if (event.key === \"Escape\") {\n finish();\n }\n };\n\n const { t } = useI18n();\n\n return (\n <sc.TimePicker onFocus={handleFocus} onBlur={handleBlur}>\n <Popover style={{ width: \"100%\" }} isOpen={isOpen} edge=\"left\" offset={0} align=\"bottom\" shouldKeepFocus>\n <sc.PopoverTrigger isReadOnly={isReadOnly} isDisabled={isDisabled}>\n <Input\n aria-label={a11yText}\n hasClearButton={false}\n icon={<ClockIcon />}\n isDisabled={isDisabled}\n isReadOnly={isReadOnly}\n onChange={handleChange}\n onKeyUp={handleKeyUp}\n onFocus={handleFocus}\n value={value}\n data-pka-anchor=\"timePicker-Input\"\n {...moreProps}\n />\n </sc.PopoverTrigger>\n <Popover.Content>\n <Picker\n hh={time.hh}\n isOpen={isOpen}\n labelCustom={t(\"timePicker.custom\")}\n labelHours={t(\"timePicker.hours\")}\n labelMinutes={t(\"timePicker.minutes\")}\n labelPeriod={t(\"timePicker.period\")}\n labelAM={t(\"timePicker.am\")}\n labelPM={t(\"timePicker.pm\")}\n mm={time.mm}\n onClick={handleClick}\n period={time.period}\n {...moreProps}\n />\n </Popover.Content>\n </Popover>\n </sc.TimePicker>\n );\n}\n\nTimePicker.displayName = \"TimePicker\";\nTimePicker.propTypes = propTypes;\nTimePicker.defaultProps = defaultProps;\n\nexport default TimePicker;\n"],"file":"TimePicker.js"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@paprika/time-picker",
|
|
3
|
-
"version": "2.0.6-next.
|
|
3
|
+
"version": "2.0.6-next.1",
|
|
4
4
|
"description": "The TimePicker component gives users the ability to select a specific time from a popover.",
|
|
5
5
|
"author": "@paprika",
|
|
6
6
|
"main": "lib/index.js",
|
|
@@ -16,10 +16,10 @@
|
|
|
16
16
|
},
|
|
17
17
|
"dependencies": {
|
|
18
18
|
"@babel/runtime-corejs2": "^7.3.1",
|
|
19
|
-
"@paprika/helpers": "^2.
|
|
19
|
+
"@paprika/helpers": "^2.3.0-next.0",
|
|
20
20
|
"@paprika/icon": "^2.1.7-next.0",
|
|
21
|
-
"@paprika/input": "^4.0.18-next.
|
|
22
|
-
"@paprika/popover": "^2.0.4-next.
|
|
21
|
+
"@paprika/input": "^4.0.18-next.1",
|
|
22
|
+
"@paprika/popover": "^2.0.4-next.1",
|
|
23
23
|
"@paprika/raw-button": "^1.0.12-next.0",
|
|
24
24
|
"@paprika/stylers": "^1.1.6-next.0",
|
|
25
25
|
"@paprika/tokens": "^1.1.5-next.0",
|