@atlaskit/form 15.1.2 → 15.2.0

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,14 @@
1
1
  # @atlaskit/form
2
2
 
3
+ ## 15.2.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [`c6332d9f5e6de`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/c6332d9f5e6de) -
8
+ Introduces standalone CharacterCounter component for more customised cases of character counting
9
+ on input fields. Use this component in cases where CharacterCounterField is not appropriate such
10
+ as non-form contexts or customised experiences
11
+
3
12
  ## 15.1.2
4
13
 
5
14
  ### Patch Changes
@@ -12,7 +12,7 @@ var _react = _interopRequireWildcard(require("react"));
12
12
  var React = _react;
13
13
  var _runtime = require("@compiled/react/runtime");
14
14
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
- var _characterCounter = require("./character-counter");
15
+ var _characterCounter = _interopRequireDefault(require("./character-counter"));
16
16
  var _field = _interopRequireDefault(require("./field"));
17
17
  var _messages = require("./messages");
18
18
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
@@ -128,7 +128,7 @@ function CharacterCounterField(_ref) {
128
128
  meta: meta
129
129
  }), /*#__PURE__*/React.createElement(_messages.MessageWrapper, null, showExternalError && /*#__PURE__*/React.createElement(_messages.ErrorMessage, {
130
130
  testId: "".concat(testId, "-error")
131
- }, error)), showCharacterCounter && /*#__PURE__*/React.createElement(_characterCounter.CharacterCounter, {
131
+ }, error)), showCharacterCounter && /*#__PURE__*/React.createElement(_characterCounter.default, {
132
132
  maxCharacters: maxCharacters,
133
133
  minCharacters: minCharacters,
134
134
  currentValue: String(extendedFieldProps.value || ''),
@@ -1,6 +1,4 @@
1
1
  ._11c8dcr7{font:var(--ds-font-body-UNSAFE_small,normal 400 9pt/1pc ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Ubuntu,"Helvetica Neue",sans-serif)}
2
- ._zulp12x7{gap:var(--ds-space-075,6px)}
3
- ._1bah1q9y{justify-content:baseline}
4
2
  ._1e0c1txw{display:flex}
5
3
  ._1pfh1b66{margin-block-start:var(--ds-space-050,4px)}
6
4
  ._4cvr1h6o{align-items:center}
@@ -6,7 +6,7 @@ var _typeof = require("@babel/runtime/helpers/typeof");
6
6
  Object.defineProperty(exports, "__esModule", {
7
7
  value: true
8
8
  });
9
- exports.CharacterCounter = void 0;
9
+ exports.default = void 0;
10
10
  require("./character-counter.compiled.css");
11
11
  var _react = _interopRequireWildcard(require("react"));
12
12
  var React = _react;
@@ -18,9 +18,11 @@ var _visuallyHidden = _interopRequireDefault(require("@atlaskit/visually-hidden"
18
18
  var _fieldIdContext = require("./field-id-context");
19
19
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
20
20
  // Extracted styles for character counter message container
21
- var messageContainerStyles = null;
21
+ var messageContainerStyles = {
22
+ root: "_11c8dcr7 _syaze6sf _1pfh1b66"
23
+ };
22
24
 
23
- // Extracted styles for error icon wrapper
25
+ // Extracted styles for error icon wrapper, need to use css to override the default height
24
26
  var errorIconWrapperStyles = null;
25
27
 
26
28
  // Error icon with wrapper for character count violations
@@ -45,7 +47,7 @@ var pluralize = function pluralize(count) {
45
47
  * A character counter component that displays remaining characters for text input.
46
48
  * Displays messages for over or under the maximum or minimum character limits.
47
49
  */
48
- var CharacterCounter = exports.CharacterCounter = function CharacterCounter(_ref) {
50
+ var CharacterCounter = function CharacterCounter(_ref) {
49
51
  var maxCharacters = _ref.maxCharacters,
50
52
  minCharacters = _ref.minCharacters,
51
53
  currentValue = _ref.currentValue,
@@ -116,10 +118,11 @@ var CharacterCounter = exports.CharacterCounter = function CharacterCounter(_ref
116
118
  if (!displayText) {
117
119
  return null;
118
120
  }
119
- return /*#__PURE__*/React.createElement("div", {
120
- "data-testid": testId
121
- }, /*#__PURE__*/React.createElement("div", {
122
- className: (0, _runtime.ax)(["_zulp12x7 _11c8dcr7 _1e0c1txw _1bah1q9y _syaze6sf _1pfh1b66"])
121
+ return /*#__PURE__*/React.createElement(_compiled.Flex, {
122
+ testId: testId
123
+ }, /*#__PURE__*/React.createElement(_compiled.Flex, {
124
+ gap: "space.075",
125
+ xcss: messageContainerStyles.root
123
126
  }, displayAsError && /*#__PURE__*/React.createElement(ErrorIconWithWrapper, null), /*#__PURE__*/React.createElement(_compiled.Text, {
124
127
  color: displayAsError ? 'color.text.danger' : 'color.text.subtlest',
125
128
  size: "small",
@@ -127,4 +130,5 @@ var CharacterCounter = exports.CharacterCounter = function CharacterCounter(_ref
127
130
  }, displayText)), /*#__PURE__*/React.createElement(_visuallyHidden.default, null, /*#__PURE__*/React.createElement("div", {
128
131
  "aria-live": "polite"
129
132
  }, announcementText)));
130
- };
133
+ };
134
+ var _default = exports.default = CharacterCounter;
package/dist/cjs/index.js CHANGED
@@ -4,6 +4,12 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
+ Object.defineProperty(exports, "CharacterCounter", {
8
+ enumerable: true,
9
+ get: function get() {
10
+ return _characterCounter.default;
11
+ }
12
+ });
7
13
  Object.defineProperty(exports, "CharacterCounterField", {
8
14
  enumerable: true,
9
15
  get: function get() {
@@ -118,4 +124,5 @@ var _messages = require("./messages");
118
124
  var _fieldset = _interopRequireDefault(require("./fieldset"));
119
125
  var _requiredAsterisk = _interopRequireDefault(require("./required-asterisk"));
120
126
  var _useFormState = require("./use-form-state");
121
- var _characterCounterField = _interopRequireDefault(require("./character-counter-field"));
127
+ var _characterCounterField = _interopRequireDefault(require("./character-counter-field"));
128
+ var _characterCounter = _interopRequireDefault(require("./character-counter"));
@@ -3,7 +3,7 @@ import "./character-counter-field.compiled.css";
3
3
  import * as React from 'react';
4
4
  import { ax, ix } from "@compiled/react/runtime";
5
5
  import { Fragment } from 'react';
6
- import { CharacterCounter } from './character-counter';
6
+ import CharacterCounter from './character-counter';
7
7
  import Field from './field';
8
8
  import { ErrorMessage, HelperMessage, MessageWrapper } from './messages';
9
9
  // Override label specific margin block end to fix double spacing issue
@@ -1,6 +1,4 @@
1
1
  ._11c8dcr7{font:var(--ds-font-body-UNSAFE_small,normal 400 9pt/1pc ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Ubuntu,"Helvetica Neue",sans-serif)}
2
- ._zulp12x7{gap:var(--ds-space-075,6px)}
3
- ._1bah1q9y{justify-content:baseline}
4
2
  ._1e0c1txw{display:flex}
5
3
  ._1pfh1b66{margin-block-start:var(--ds-space-050,4px)}
6
4
  ._4cvr1h6o{align-items:center}
@@ -4,14 +4,16 @@ import * as React from 'react';
4
4
  import { ax, ix } from "@compiled/react/runtime";
5
5
  import { useContext, useEffect, useRef, useState } from 'react';
6
6
  import ErrorIcon from '@atlaskit/icon/core/status-error';
7
- import { Text } from '@atlaskit/primitives/compiled';
7
+ import { Flex, Text } from '@atlaskit/primitives/compiled';
8
8
  import VisuallyHidden from '@atlaskit/visually-hidden';
9
9
  import { FieldId } from './field-id-context';
10
10
 
11
11
  // Extracted styles for character counter message container
12
- const messageContainerStyles = null;
12
+ const messageContainerStyles = {
13
+ root: "_11c8dcr7 _syaze6sf _1pfh1b66"
14
+ };
13
15
 
14
- // Extracted styles for error icon wrapper
16
+ // Extracted styles for error icon wrapper, need to use css to override the default height
15
17
  const errorIconWrapperStyles = null;
16
18
 
17
19
  // Error icon with wrapper for character count violations
@@ -32,7 +34,7 @@ const pluralize = count => `character${count !== 1 ? 's' : ''}`;
32
34
  * A character counter component that displays remaining characters for text input.
33
35
  * Displays messages for over or under the maximum or minimum character limits.
34
36
  */
35
- export const CharacterCounter = ({
37
+ const CharacterCounter = ({
36
38
  maxCharacters,
37
39
  minCharacters,
38
40
  currentValue,
@@ -100,10 +102,11 @@ export const CharacterCounter = ({
100
102
  if (!displayText) {
101
103
  return null;
102
104
  }
103
- return /*#__PURE__*/React.createElement("div", {
104
- "data-testid": testId
105
- }, /*#__PURE__*/React.createElement("div", {
106
- className: ax(["_zulp12x7 _11c8dcr7 _1e0c1txw _1bah1q9y _syaze6sf _1pfh1b66"])
105
+ return /*#__PURE__*/React.createElement(Flex, {
106
+ testId: testId
107
+ }, /*#__PURE__*/React.createElement(Flex, {
108
+ gap: "space.075",
109
+ xcss: messageContainerStyles.root
107
110
  }, displayAsError && /*#__PURE__*/React.createElement(ErrorIconWithWrapper, null), /*#__PURE__*/React.createElement(Text, {
108
111
  color: displayAsError ? 'color.text.danger' : 'color.text.subtlest',
109
112
  size: "small",
@@ -111,4 +114,5 @@ export const CharacterCounter = ({
111
114
  }, displayText)), /*#__PURE__*/React.createElement(VisuallyHidden, null, /*#__PURE__*/React.createElement("div", {
112
115
  "aria-live": "polite"
113
116
  }, announcementText)));
114
- };
117
+ };
118
+ export default CharacterCounter;
@@ -10,4 +10,5 @@ export { HelperMessage, ErrorMessage, MessageWrapper, ValidMessage } from './mes
10
10
  export { default as Fieldset } from './fieldset';
11
11
  export { default as RequiredAsterisk } from './required-asterisk';
12
12
  export { useFormState } from './use-form-state';
13
- export { default as CharacterCounterField } from './character-counter-field';
13
+ export { default as CharacterCounterField } from './character-counter-field';
14
+ export { default as CharacterCounter } from './character-counter';
@@ -6,7 +6,7 @@ import { ax, ix } from "@compiled/react/runtime";
6
6
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
7
7
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
8
8
  import { Fragment } from 'react';
9
- import { CharacterCounter } from './character-counter';
9
+ import CharacterCounter from './character-counter';
10
10
  import Field from './field';
11
11
  import { ErrorMessage, HelperMessage, MessageWrapper } from './messages';
12
12
  // Override label specific margin block end to fix double spacing issue
@@ -1,6 +1,4 @@
1
1
  ._11c8dcr7{font:var(--ds-font-body-UNSAFE_small,normal 400 9pt/1pc ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Ubuntu,"Helvetica Neue",sans-serif)}
2
- ._zulp12x7{gap:var(--ds-space-075,6px)}
3
- ._1bah1q9y{justify-content:baseline}
4
2
  ._1e0c1txw{display:flex}
5
3
  ._1pfh1b66{margin-block-start:var(--ds-space-050,4px)}
6
4
  ._4cvr1h6o{align-items:center}
@@ -5,14 +5,16 @@ import * as React from 'react';
5
5
  import { ax, ix } from "@compiled/react/runtime";
6
6
  import { useContext, useEffect, useRef, useState } from 'react';
7
7
  import ErrorIcon from '@atlaskit/icon/core/status-error';
8
- import { Text } from '@atlaskit/primitives/compiled';
8
+ import { Flex, Text } from '@atlaskit/primitives/compiled';
9
9
  import VisuallyHidden from '@atlaskit/visually-hidden';
10
10
  import { FieldId } from './field-id-context';
11
11
 
12
12
  // Extracted styles for character counter message container
13
- var messageContainerStyles = null;
13
+ var messageContainerStyles = {
14
+ root: "_11c8dcr7 _syaze6sf _1pfh1b66"
15
+ };
14
16
 
15
- // Extracted styles for error icon wrapper
17
+ // Extracted styles for error icon wrapper, need to use css to override the default height
16
18
  var errorIconWrapperStyles = null;
17
19
 
18
20
  // Error icon with wrapper for character count violations
@@ -37,7 +39,7 @@ var pluralize = function pluralize(count) {
37
39
  * A character counter component that displays remaining characters for text input.
38
40
  * Displays messages for over or under the maximum or minimum character limits.
39
41
  */
40
- export var CharacterCounter = function CharacterCounter(_ref) {
42
+ var CharacterCounter = function CharacterCounter(_ref) {
41
43
  var maxCharacters = _ref.maxCharacters,
42
44
  minCharacters = _ref.minCharacters,
43
45
  currentValue = _ref.currentValue,
@@ -108,10 +110,11 @@ export var CharacterCounter = function CharacterCounter(_ref) {
108
110
  if (!displayText) {
109
111
  return null;
110
112
  }
111
- return /*#__PURE__*/React.createElement("div", {
112
- "data-testid": testId
113
- }, /*#__PURE__*/React.createElement("div", {
114
- className: ax(["_zulp12x7 _11c8dcr7 _1e0c1txw _1bah1q9y _syaze6sf _1pfh1b66"])
113
+ return /*#__PURE__*/React.createElement(Flex, {
114
+ testId: testId
115
+ }, /*#__PURE__*/React.createElement(Flex, {
116
+ gap: "space.075",
117
+ xcss: messageContainerStyles.root
115
118
  }, displayAsError && /*#__PURE__*/React.createElement(ErrorIconWithWrapper, null), /*#__PURE__*/React.createElement(Text, {
116
119
  color: displayAsError ? 'color.text.danger' : 'color.text.subtlest',
117
120
  size: "small",
@@ -119,4 +122,5 @@ export var CharacterCounter = function CharacterCounter(_ref) {
119
122
  }, displayText)), /*#__PURE__*/React.createElement(VisuallyHidden, null, /*#__PURE__*/React.createElement("div", {
120
123
  "aria-live": "polite"
121
124
  }, announcementText)));
122
- };
125
+ };
126
+ export default CharacterCounter;
package/dist/esm/index.js CHANGED
@@ -10,4 +10,5 @@ export { HelperMessage, ErrorMessage, MessageWrapper, ValidMessage } from './mes
10
10
  export { default as Fieldset } from './fieldset';
11
11
  export { default as RequiredAsterisk } from './required-asterisk';
12
12
  export { useFormState } from './use-form-state';
13
- export { default as CharacterCounterField } from './character-counter-field';
13
+ export { default as CharacterCounterField } from './character-counter-field';
14
+ export { default as CharacterCounter } from './character-counter';
@@ -66,4 +66,5 @@ export interface CharacterCounterProps {
66
66
  * A character counter component that displays remaining characters for text input.
67
67
  * Displays messages for over or under the maximum or minimum character limits.
68
68
  */
69
- export declare const CharacterCounter: ({ maxCharacters, minCharacters, currentValue, overMaximumMessage, underMaximumMessage, underMinimumMessage, shouldShowAsError, inputId, testId, }: CharacterCounterProps) => JSX.Element | null;
69
+ declare const CharacterCounter: ({ maxCharacters, minCharacters, currentValue, overMaximumMessage, underMaximumMessage, underMinimumMessage, shouldShowAsError, inputId, testId, }: CharacterCounterProps) => JSX.Element | null;
70
+ export default CharacterCounter;
@@ -18,3 +18,5 @@ export type { OnSubmitHandler, FormApi } from './types';
18
18
  export { useFormState } from './use-form-state';
19
19
  export { default as CharacterCounterField } from './character-counter-field';
20
20
  export type { CharacterCounterFieldProps } from './character-counter-field';
21
+ export { default as CharacterCounter } from './character-counter';
22
+ export type { CharacterCounterProps } from './character-counter';
@@ -66,4 +66,5 @@ export interface CharacterCounterProps {
66
66
  * A character counter component that displays remaining characters for text input.
67
67
  * Displays messages for over or under the maximum or minimum character limits.
68
68
  */
69
- export declare const CharacterCounter: ({ maxCharacters, minCharacters, currentValue, overMaximumMessage, underMaximumMessage, underMinimumMessage, shouldShowAsError, inputId, testId, }: CharacterCounterProps) => JSX.Element | null;
69
+ declare const CharacterCounter: ({ maxCharacters, minCharacters, currentValue, overMaximumMessage, underMaximumMessage, underMinimumMessage, shouldShowAsError, inputId, testId, }: CharacterCounterProps) => JSX.Element | null;
70
+ export default CharacterCounter;
@@ -18,3 +18,5 @@ export type { OnSubmitHandler, FormApi } from './types';
18
18
  export { useFormState } from './use-form-state';
19
19
  export { default as CharacterCounterField } from './character-counter-field';
20
20
  export type { CharacterCounterFieldProps } from './character-counter-field';
21
+ export { default as CharacterCounter } from './character-counter';
22
+ export type { CharacterCounterProps } from './character-counter';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/form",
3
- "version": "15.1.2",
3
+ "version": "15.2.0",
4
4
  "description": "A form allows people to input information.",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -45,6 +45,7 @@
45
45
  "devDependencies": {
46
46
  "@af/accessibility-testing": "workspace:^",
47
47
  "@af/integration-testing": "workspace:^",
48
+ "@af/suppress-react-warnings": "workspace:^",
48
49
  "@af/visual-regression": "workspace:^",
49
50
  "@atlaskit/banner": "^14.0.0",
50
51
  "@atlaskit/button": "^23.9.0",