@paprika/time-picker 2.0.6-next.0 → 2.0.6

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 CHANGED
@@ -1,5 +1,45 @@
1
1
  # Changelog
2
2
 
3
+ ## 2.0.6
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 [0bf34d9]
10
+ - Updated dependencies [0dcf307]
11
+ - Updated dependencies [9ac6aca]
12
+ - @paprika/popover@2.0.4
13
+ - @paprika/helpers@2.3.0
14
+ - @paprika/tokens@2.0.0
15
+ - @paprika/icon@2.1.7
16
+ - @paprika/input@4.0.18
17
+ - @paprika/raw-button@1.0.12
18
+ - @paprika/stylers@1.1.6
19
+
20
+ ## 2.0.6-next.2
21
+
22
+ ### Patch Changes
23
+
24
+ - Updated dependencies [9ac6aca]
25
+ - @paprika/tokens@2.0.0-next.1
26
+ - @paprika/icon@2.1.7-next.1
27
+ - @paprika/input@4.0.18-next.2
28
+ - @paprika/popover@2.0.4-next.2
29
+ - @paprika/raw-button@1.0.12-next.1
30
+ - @paprika/stylers@1.1.6-next.1
31
+
32
+ ## 2.0.6-next.1
33
+
34
+ ### Patch Changes
35
+
36
+ - 0dcf307: Refactored to use `getActiveElement` from `@paprika/helpers` to support web components.
37
+ - Updated dependencies [0dcf307]
38
+ - Updated dependencies [0dcf307]
39
+ - @paprika/popover@2.0.4-next.1
40
+ - @paprika/helpers@2.3.0-next.0
41
+ - @paprika/input@4.0.18-next.1
42
+
3
43
  ## 2.0.6-next.0
4
44
 
5
45
  ### 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 = document.activeElement;
218
+ target = (0, _helpers.getActiveElement)();
217
219
  }
218
220
 
219
221
  if (timeinputDom && timeinputDom.contains(target)) {
@@ -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.0",
3
+ "version": "2.0.6",
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,13 +16,13 @@
16
16
  },
17
17
  "dependencies": {
18
18
  "@babel/runtime-corejs2": "^7.3.1",
19
- "@paprika/helpers": "^2.2.1",
20
- "@paprika/icon": "^2.1.7-next.0",
21
- "@paprika/input": "^4.0.18-next.0",
22
- "@paprika/popover": "^2.0.4-next.0",
23
- "@paprika/raw-button": "^1.0.12-next.0",
24
- "@paprika/stylers": "^1.1.6-next.0",
25
- "@paprika/tokens": "^1.1.5-next.0",
19
+ "@paprika/helpers": "^2.3.0",
20
+ "@paprika/icon": "^2.1.7",
21
+ "@paprika/input": "^4.0.18",
22
+ "@paprika/popover": "^2.0.4",
23
+ "@paprika/raw-button": "^1.0.12",
24
+ "@paprika/stylers": "^1.1.6",
25
+ "@paprika/tokens": "^2.0.0",
26
26
  "prop-types": "^15.7.2"
27
27
  },
28
28
  "peerDependencies": {