@bbl-digital/snorre 3.0.61 → 3.0.63

Sign up to get free protection for your applications and to get access to all the features.
package/dist/bundle.js CHANGED
@@ -30662,7 +30662,10 @@
30662
30662
  */
30663
30663
 
30664
30664
  const validateTimeAndCursor = (showSeconds = false, value = '', defaultValue = '', divider = DEFAULT_DIVIDER, cursorPosition = 0) => {
30665
- const [oldHH, oldMM, oldSS] = defaultValue.split(divider);
30665
+ const _default = defaultValue.replaceAll('-', '0');
30666
+
30667
+ const [oldHH, oldMM, oldSS] = _default.split(divider);
30668
+
30666
30669
  let newCursorPosition = Number(cursorPosition);
30667
30670
  let [HH, MM, SS] = String(value).split(divider);
30668
30671
  HH = formatTimeItem(HH);
@@ -30806,14 +30809,13 @@
30806
30809
 
30807
30810
  const _isDate = type === 'date';
30808
30811
 
30809
- let valueToUse = _isDate ? handleDateToStringConvertion(value, showSeconds) : value;
30812
+ let valueToUse = isNull ? _defaultNullableValue : _isDate ? handleDateToStringConvertion(value, showSeconds) : value;
30810
30813
  const [validatedTime] = validateTimeAndCursor(showSeconds, valueToUse, _defaultValue, _divider);
30811
30814
  const [inputStateValue, setInputStateValue] = React.useState(validatedTime); // Loads of logic to handle string input with divider
30812
30815
 
30813
30816
  const onInputChange = async (event, callback) => {
30814
- const _maxLength = _defaultValue.length; // Replace --:-- with 00:00 if that gets sent in.
30815
-
30816
- const inputValue = event.target.value.replace(_defaultNullableValue, _defaultFilledValue);
30817
+ const _maxLength = _defaultValue.length;
30818
+ const inputValue = event.target.value;
30817
30819
  const position = event.target.selectionEnd || 0;
30818
30820
  const isTyped = inputValue.length > inputStateValue.length;
30819
30821
  const cursorCharacter = inputValue[position - 1];
@@ -30871,7 +30873,8 @@
30871
30873
  }
30872
30874
  }
30873
30875
 
30874
- const [validatedTime, validatedCursorPosition] = validateTimeAndCursor(showSeconds, updatedValue, inputStateValue, _divider, currentPosition); // Needs to be awaited, for it to work
30876
+ const [validatedTime, validatedCursorPosition] = validateTimeAndCursor(showSeconds, updatedValue, inputStateValue, _divider, currentPosition);
30877
+ console.log(validatedTime, validatedCursorPosition); // Needs to be awaited, for it to work
30875
30878
 
30876
30879
  await setInputStateValue(validatedTime);
30877
30880
  event.target.selectionStart = validatedCursorPosition;
@@ -30889,8 +30892,10 @@
30889
30892
  children: [label && jsxRuntime$1.jsx(Label$1, {
30890
30893
  children: label
30891
30894
  }), jsxRuntime$1.jsx("input", {
30895
+ "data-testid": "snorre-timepicker-input",
30892
30896
  type: "text",
30893
- value: isNull ? _defaultNullableValue : inputStateValue,
30897
+ value: isNull ? undefined : inputStateValue,
30898
+ placeholder: _defaultNullableValue,
30894
30899
  disabled: disabled,
30895
30900
  autoFocus: autoFocus,
30896
30901
  css: theme => [css && css, disabled && styles$7.disabled(theme), isNull && styles$7.nullable],
@@ -36,14 +36,13 @@ const TimePicker = ({
36
36
 
37
37
  const _isDate = type === 'date';
38
38
 
39
- let valueToUse = _isDate ? handleDateToStringConvertion(value, showSeconds) : value;
39
+ let valueToUse = isNull ? _defaultNullableValue : _isDate ? handleDateToStringConvertion(value, showSeconds) : value;
40
40
  const [validatedTime] = validateTimeAndCursor(showSeconds, valueToUse, _defaultValue, _divider);
41
41
  const [inputStateValue, setInputStateValue] = useState(validatedTime); // Loads of logic to handle string input with divider
42
42
 
43
43
  const onInputChange = async (event, callback) => {
44
- const _maxLength = _defaultValue.length; // Replace --:-- with 00:00 if that gets sent in.
45
-
46
- const inputValue = event.target.value.replace(_defaultNullableValue, _defaultFilledValue);
44
+ const _maxLength = _defaultValue.length;
45
+ const inputValue = event.target.value;
47
46
  const position = event.target.selectionEnd || 0;
48
47
  const isTyped = inputValue.length > inputStateValue.length;
49
48
  const cursorCharacter = inputValue[position - 1];
@@ -101,7 +100,8 @@ const TimePicker = ({
101
100
  }
102
101
  }
103
102
 
104
- const [validatedTime, validatedCursorPosition] = validateTimeAndCursor(showSeconds, updatedValue, inputStateValue, _divider, currentPosition); // Needs to be awaited, for it to work
103
+ const [validatedTime, validatedCursorPosition] = validateTimeAndCursor(showSeconds, updatedValue, inputStateValue, _divider, currentPosition);
104
+ console.log(validatedTime, validatedCursorPosition); // Needs to be awaited, for it to work
105
105
 
106
106
  await setInputStateValue(validatedTime);
107
107
  event.target.selectionStart = validatedCursorPosition;
@@ -119,8 +119,10 @@ const TimePicker = ({
119
119
  children: [label && _jsx(Label, {
120
120
  children: label
121
121
  }), _jsx("input", {
122
+ "data-testid": "snorre-timepicker-input",
122
123
  type: "text",
123
- value: isNull ? _defaultNullableValue : inputStateValue,
124
+ value: isNull ? undefined : inputStateValue,
125
+ placeholder: _defaultNullableValue,
124
126
  disabled: disabled,
125
127
  autoFocus: autoFocus,
126
128
  css: theme => [css && css, disabled && styles.disabled(theme), isNull && styles.nullable],
package/esm/utils/time.js CHANGED
@@ -24,7 +24,10 @@ export function isNumber(value) {
24
24
  */
25
25
 
26
26
  export const validateTimeAndCursor = (showSeconds = false, value = '', defaultValue = '', divider = DEFAULT_DIVIDER, cursorPosition = 0) => {
27
- const [oldHH, oldMM, oldSS] = defaultValue.split(divider);
27
+ const _default = defaultValue.replaceAll('-', '0');
28
+
29
+ const [oldHH, oldMM, oldSS] = _default.split(divider);
30
+
28
31
  let newCursorPosition = Number(cursorPosition);
29
32
  let [HH, MM, SS] = String(value).split(divider);
30
33
  HH = formatTimeItem(HH);
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/packages/core/Timepicker/index.tsx"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,KAAgC,MAAM,OAAO,CAAA;AAepD,aAAK,YAAY,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAA;AAElD,UAAU,MAAM;IACd,kBAAkB;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,qBAAqB;IACrB,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAA;IAC3B,6CAA6C;IAC7C,QAAQ,EAAE,YAAY,CAAA;IACtB,oCAAoC;IACpC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;IACnB,0CAA0C;IAC1C,IAAI,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAA;IACxB,wCAAwC;IACxC,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,2CAA2C;IAC3C,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,uEAAuE;IACvE,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,+FAA+F;IAC/F,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,gBAAgB;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,qCAAqC;IACrC,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,+BAA+B;IAC/B,GAAG,CAAC,EAAE,gBAAgB,CAAA;IACtB,0BAA0B;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,sBAAsB;IACtB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,4CAA4C;IAC5C,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAED,QAAA,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,MAAM,CA2MhC,CAAA;AAED,eAAe,UAAU,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/packages/core/Timepicker/index.tsx"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,KAAgC,MAAM,OAAO,CAAA;AAepD,aAAK,YAAY,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAA;AAElD,UAAU,MAAM;IACd,kBAAkB;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,qBAAqB;IACrB,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAA;IAC3B,6CAA6C;IAC7C,QAAQ,EAAE,YAAY,CAAA;IACtB,oCAAoC;IACpC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAA;IACnB,0CAA0C;IAC1C,IAAI,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAA;IACxB,wCAAwC;IACxC,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,2CAA2C;IAC3C,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,uEAAuE;IACvE,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,+FAA+F;IAC/F,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,gBAAgB;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,qCAAqC;IACrC,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,+BAA+B;IAC/B,GAAG,CAAC,EAAE,gBAAgB,CAAA;IACtB,0BAA0B;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,sBAAsB;IACtB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,4CAA4C;IAC5C,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAED,QAAA,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,MAAM,CA6MhC,CAAA;AAED,eAAe,UAAU,CAAA"}
@@ -36,14 +36,13 @@ const TimePicker = ({
36
36
 
37
37
  const _isDate = type === 'date';
38
38
 
39
- let valueToUse = _isDate ? handleDateToStringConvertion(value, showSeconds) : value;
39
+ let valueToUse = isNull ? _defaultNullableValue : _isDate ? handleDateToStringConvertion(value, showSeconds) : value;
40
40
  const [validatedTime] = validateTimeAndCursor(showSeconds, valueToUse, _defaultValue, _divider);
41
41
  const [inputStateValue, setInputStateValue] = useState(validatedTime); // Loads of logic to handle string input with divider
42
42
 
43
43
  const onInputChange = async (event, callback) => {
44
- const _maxLength = _defaultValue.length; // Replace --:-- with 00:00 if that gets sent in.
45
-
46
- const inputValue = event.target.value.replace(_defaultNullableValue, _defaultFilledValue);
44
+ const _maxLength = _defaultValue.length;
45
+ const inputValue = event.target.value;
47
46
  const position = event.target.selectionEnd || 0;
48
47
  const isTyped = inputValue.length > inputStateValue.length;
49
48
  const cursorCharacter = inputValue[position - 1];
@@ -101,7 +100,8 @@ const TimePicker = ({
101
100
  }
102
101
  }
103
102
 
104
- const [validatedTime, validatedCursorPosition] = validateTimeAndCursor(showSeconds, updatedValue, inputStateValue, _divider, currentPosition); // Needs to be awaited, for it to work
103
+ const [validatedTime, validatedCursorPosition] = validateTimeAndCursor(showSeconds, updatedValue, inputStateValue, _divider, currentPosition);
104
+ console.log(validatedTime, validatedCursorPosition); // Needs to be awaited, for it to work
105
105
 
106
106
  await setInputStateValue(validatedTime);
107
107
  event.target.selectionStart = validatedCursorPosition;
@@ -119,8 +119,10 @@ const TimePicker = ({
119
119
  children: [label && _jsx(Label, {
120
120
  children: label
121
121
  }), _jsx("input", {
122
+ "data-testid": "snorre-timepicker-input",
122
123
  type: "text",
123
- value: isNull ? _defaultNullableValue : inputStateValue,
124
+ value: isNull ? undefined : inputStateValue,
125
+ placeholder: _defaultNullableValue,
124
126
  disabled: disabled,
125
127
  autoFocus: autoFocus,
126
128
  css: theme => [css && css, disabled && styles.disabled(theme), isNull && styles.nullable],
@@ -1 +1 @@
1
- {"version":3,"file":"time.d.ts","sourceRoot":"","sources":["../../src/packages/utils/time.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,MAAM,CAAA;AAClC,eAAO,MAAM,mBAAmB,QAA2B,CAAA;AAC3D,eAAO,MAAM,4BAA4B,QAA2B,CAAA;AACpE,eAAO,MAAM,kBAAkB,QAA+C,CAAA;AAC9E,eAAO,MAAM,2BAA2B,QAA+C,CAAA;AAMvF;;GAEG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAG7C;AAED;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,+GAM/B,CAAC,MAAM,EAAE,MAAM,CAwCjB,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,4BAA4B,SACjC,IAAI,wCAET,MAUF,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,UAChC,MAAM,sCAEZ,IASF,CAAA"}
1
+ {"version":3,"file":"time.d.ts","sourceRoot":"","sources":["../../src/packages/utils/time.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,MAAM,CAAA;AAClC,eAAO,MAAM,mBAAmB,QAA2B,CAAA;AAC3D,eAAO,MAAM,4BAA4B,QAA2B,CAAA;AACpE,eAAO,MAAM,kBAAkB,QAA+C,CAAA;AAC9E,eAAO,MAAM,2BAA2B,QAA+C,CAAA;AAMvF;;GAEG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAG7C;AAED;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,+GAM/B,CAAC,MAAM,EAAE,MAAM,CAyCjB,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,4BAA4B,SACjC,IAAI,wCAET,MAUF,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,UAChC,MAAM,sCAEZ,IASF,CAAA"}
package/lib/utils/time.js CHANGED
@@ -24,7 +24,10 @@ export function isNumber(value) {
24
24
  */
25
25
 
26
26
  export const validateTimeAndCursor = (showSeconds = false, value = '', defaultValue = '', divider = DEFAULT_DIVIDER, cursorPosition = 0) => {
27
- const [oldHH, oldMM, oldSS] = defaultValue.split(divider);
27
+ const _default = defaultValue.replaceAll('-', '0');
28
+
29
+ const [oldHH, oldMM, oldSS] = _default.split(divider);
30
+
28
31
  let newCursorPosition = Number(cursorPosition);
29
32
  let [HH, MM, SS] = String(value).split(divider);
30
33
  HH = formatTimeItem(HH);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bbl-digital/snorre",
3
- "version": "3.0.61",
3
+ "version": "3.0.63",
4
4
  "description": "Design library for BBL Digital",
5
5
  "license": "MIT",
6
6
  "main": "./lib/index.js",