@skbkontur/react-ui 5.4.2 → 5.4.4

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.
Files changed (46) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/cjs/components/DateRangePicker/DateRangePicker.d.ts +6 -0
  3. package/cjs/components/DateRangePicker/DateRangePicker.js +24 -1
  4. package/cjs/components/DateRangePicker/DateRangePicker.js.map +1 -1
  5. package/cjs/components/DateRangePicker/DateRangePickerInput.js +2 -2
  6. package/cjs/components/DateRangePicker/DateRangePickerInput.js.map +1 -1
  7. package/cjs/components/Textarea/Textarea.d.ts +1 -0
  8. package/cjs/components/Textarea/Textarea.js +14 -2
  9. package/cjs/components/Textarea/Textarea.js.map +1 -1
  10. package/cjs/components/TokenInput/TokenInput.d.ts +6 -3
  11. package/cjs/components/TokenInput/TokenInput.js +43 -28
  12. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  13. package/cjs/internal/ResizeDetector/ResizeDetector.d.ts +1 -0
  14. package/cjs/internal/ResizeDetector/ResizeDetector.js +8 -1
  15. package/cjs/internal/ResizeDetector/ResizeDetector.js.map +1 -1
  16. package/cjs/internal/ResizeDetector/ResizeDetector.styles.d.ts +1 -0
  17. package/cjs/internal/ResizeDetector/ResizeDetector.styles.js +7 -1
  18. package/cjs/internal/ResizeDetector/ResizeDetector.styles.js.map +1 -1
  19. package/cjs/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +1 -0
  20. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +1 -0
  21. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js +3 -1
  22. package/cjs/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
  23. package/components/DateRangePicker/DateRangePicker/DateRangePicker.js +14 -1
  24. package/components/DateRangePicker/DateRangePicker/DateRangePicker.js.map +1 -1
  25. package/components/DateRangePicker/DateRangePicker.d.ts +6 -0
  26. package/components/DateRangePicker/DateRangePickerInput/DateRangePickerInput.js +2 -2
  27. package/components/DateRangePicker/DateRangePickerInput/DateRangePickerInput.js.map +1 -1
  28. package/components/Textarea/Textarea/Textarea.js +12 -6
  29. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  30. package/components/Textarea/Textarea.d.ts +1 -0
  31. package/components/TokenInput/TokenInput/TokenInput.js +64 -48
  32. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  33. package/components/TokenInput/TokenInput.d.ts +6 -3
  34. package/internal/ResizeDetector/ResizeDetector/ResizeDetector.js +1 -1
  35. package/internal/ResizeDetector/ResizeDetector/ResizeDetector.js.map +1 -1
  36. package/internal/ResizeDetector/ResizeDetector.d.ts +1 -0
  37. package/internal/ResizeDetector/ResizeDetector.styles/ResizeDetector.styles.js +4 -1
  38. package/internal/ResizeDetector/ResizeDetector.styles/ResizeDetector.styles.js.map +1 -1
  39. package/internal/ResizeDetector/ResizeDetector.styles.d.ts +1 -0
  40. package/lib/featureFlagsContext/FeatureFlagsHelpers.d.ts +1 -0
  41. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js +2 -1
  42. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
  43. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +1 -0
  44. package/package.json +6 -4
  45. package/cjs/lib/__stories__/Blink.creevey.mts +0 -90
  46. package/lib/__stories__/Blink.creevey.mts +0 -90
@@ -1 +1 @@
1
- {"version":3,"names":["React","reactUIFeatureFlagsDefault","dateInputFixSameNumberTypingOnRefocus","dateInputAllowInvalidValuesInDays","comboBoxAllowValueChangeInEditingState","stickyReduceLayoutEvents","radioGroupRemoveBaselineSpacer","groupAddHintAndTooltipSupport","popupFixPinTearing","autocompleteUseMaskedInput","fxInputUseMaskedInput","sidePageDisableHeaderShrink","sidePageNotCutTitleOnStuckByDefault","tokenInputCreateTokenOnBlurInWithoutReferenceMode","ReactUIFeatureFlagsContext","createContext","displayName","__KONTUR_REACT_UI__"],"sources":["ReactUIFeatureFlagsContext.tsx"],"sourcesContent":["import React from 'react';\n\nexport interface ReactUIFeatureFlags {\n dateInputFixSameNumberTypingOnRefocus?: boolean;\n dateInputAllowInvalidValuesInDays?: boolean;\n comboBoxAllowValueChangeInEditingState?: boolean;\n stickyReduceLayoutEvents?: boolean;\n radioGroupRemoveBaselineSpacer?: boolean;\n groupAddHintAndTooltipSupport?: boolean;\n popupFixPinTearing?: boolean;\n autocompleteUseMaskedInput?: boolean;\n fxInputUseMaskedInput?: boolean;\n sidePageDisableHeaderShrink?: boolean;\n sidePageNotCutTitleOnStuckByDefault?: boolean;\n tokenInputCreateTokenOnBlurInWithoutReferenceMode?: boolean;\n}\n\nexport const reactUIFeatureFlagsDefault: ReactUIFeatureFlags = {\n dateInputFixSameNumberTypingOnRefocus: false,\n dateInputAllowInvalidValuesInDays: false,\n comboBoxAllowValueChangeInEditingState: false,\n stickyReduceLayoutEvents: false,\n radioGroupRemoveBaselineSpacer: false,\n groupAddHintAndTooltipSupport: false,\n popupFixPinTearing: false,\n autocompleteUseMaskedInput: false,\n fxInputUseMaskedInput: false,\n sidePageDisableHeaderShrink: false,\n sidePageNotCutTitleOnStuckByDefault: false,\n tokenInputCreateTokenOnBlurInWithoutReferenceMode: false,\n};\n\nexport const ReactUIFeatureFlagsContext = React.createContext<ReactUIFeatureFlags>(reactUIFeatureFlagsDefault);\n\nReactUIFeatureFlagsContext.displayName = 'ReactUIFeatureFlagsContext';\nReactUIFeatureFlagsContext.__KONTUR_REACT_UI__ = 'ReactUIFeatureFlagsContext';\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;;;;;;;;;;;;;;;;;AAiBzB,OAAO,IAAMC,0BAA+C,GAAG;EAC7DC,qCAAqC,EAAE,KAAK;EAC5CC,iCAAiC,EAAE,KAAK;EACxCC,sCAAsC,EAAE,KAAK;EAC7CC,wBAAwB,EAAE,KAAK;EAC/BC,8BAA8B,EAAE,KAAK;EACrCC,6BAA6B,EAAE,KAAK;EACpCC,kBAAkB,EAAE,KAAK;EACzBC,0BAA0B,EAAE,KAAK;EACjCC,qBAAqB,EAAE,KAAK;EAC5BC,2BAA2B,EAAE,KAAK;EAClCC,mCAAmC,EAAE,KAAK;EAC1CC,iDAAiD,EAAE;AACrD,CAAC;;AAED,OAAO,IAAMC,0BAA0B,gBAAGd,KAAK,CAACe,aAAa,CAAsBd,0BAA0B,CAAC;;AAE9Ga,0BAA0B,CAACE,WAAW,GAAG,4BAA4B;AACrEF,0BAA0B,CAACG,mBAAmB,GAAG,4BAA4B","ignoreList":[]}
1
+ {"version":3,"names":["React","reactUIFeatureFlagsDefault","dateInputFixSameNumberTypingOnRefocus","dateInputAllowInvalidValuesInDays","comboBoxAllowValueChangeInEditingState","stickyReduceLayoutEvents","radioGroupRemoveBaselineSpacer","groupAddHintAndTooltipSupport","popupFixPinTearing","autocompleteUseMaskedInput","fxInputUseMaskedInput","sidePageDisableHeaderShrink","sidePageNotCutTitleOnStuckByDefault","tokenInputCreateTokenOnBlurInWithoutReferenceMode","textareaBaselineAlign","ReactUIFeatureFlagsContext","createContext","displayName","__KONTUR_REACT_UI__"],"sources":["ReactUIFeatureFlagsContext.tsx"],"sourcesContent":["import React from 'react';\n\nexport interface ReactUIFeatureFlags {\n dateInputFixSameNumberTypingOnRefocus?: boolean;\n dateInputAllowInvalidValuesInDays?: boolean;\n comboBoxAllowValueChangeInEditingState?: boolean;\n stickyReduceLayoutEvents?: boolean;\n radioGroupRemoveBaselineSpacer?: boolean;\n groupAddHintAndTooltipSupport?: boolean;\n popupFixPinTearing?: boolean;\n autocompleteUseMaskedInput?: boolean;\n fxInputUseMaskedInput?: boolean;\n sidePageDisableHeaderShrink?: boolean;\n sidePageNotCutTitleOnStuckByDefault?: boolean;\n tokenInputCreateTokenOnBlurInWithoutReferenceMode?: boolean;\n textareaBaselineAlign?: boolean;\n}\n\nexport const reactUIFeatureFlagsDefault: ReactUIFeatureFlags = {\n dateInputFixSameNumberTypingOnRefocus: false,\n dateInputAllowInvalidValuesInDays: false,\n comboBoxAllowValueChangeInEditingState: false,\n stickyReduceLayoutEvents: false,\n radioGroupRemoveBaselineSpacer: false,\n groupAddHintAndTooltipSupport: false,\n popupFixPinTearing: false,\n autocompleteUseMaskedInput: false,\n fxInputUseMaskedInput: false,\n sidePageDisableHeaderShrink: false,\n sidePageNotCutTitleOnStuckByDefault: false,\n tokenInputCreateTokenOnBlurInWithoutReferenceMode: false,\n textareaBaselineAlign: false,\n};\n\nexport const ReactUIFeatureFlagsContext = React.createContext<ReactUIFeatureFlags>(reactUIFeatureFlagsDefault);\n\nReactUIFeatureFlagsContext.displayName = 'ReactUIFeatureFlagsContext';\nReactUIFeatureFlagsContext.__KONTUR_REACT_UI__ = 'ReactUIFeatureFlagsContext';\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;;;;;;;;;;;;;;;;;;AAkBzB,OAAO,IAAMC,0BAA+C,GAAG;EAC7DC,qCAAqC,EAAE,KAAK;EAC5CC,iCAAiC,EAAE,KAAK;EACxCC,sCAAsC,EAAE,KAAK;EAC7CC,wBAAwB,EAAE,KAAK;EAC/BC,8BAA8B,EAAE,KAAK;EACrCC,6BAA6B,EAAE,KAAK;EACpCC,kBAAkB,EAAE,KAAK;EACzBC,0BAA0B,EAAE,KAAK;EACjCC,qBAAqB,EAAE,KAAK;EAC5BC,2BAA2B,EAAE,KAAK;EAClCC,mCAAmC,EAAE,KAAK;EAC1CC,iDAAiD,EAAE,KAAK;EACxDC,qBAAqB,EAAE;AACzB,CAAC;;AAED,OAAO,IAAMC,0BAA0B,gBAAGf,KAAK,CAACgB,aAAa,CAAsBf,0BAA0B,CAAC;;AAE9Gc,0BAA0B,CAACE,WAAW,GAAG,4BAA4B;AACrEF,0BAA0B,CAACG,mBAAmB,GAAG,4BAA4B","ignoreList":[]}
@@ -12,6 +12,7 @@ export interface ReactUIFeatureFlags {
12
12
  sidePageDisableHeaderShrink?: boolean;
13
13
  sidePageNotCutTitleOnStuckByDefault?: boolean;
14
14
  tokenInputCreateTokenOnBlurInWithoutReferenceMode?: boolean;
15
+ textareaBaselineAlign?: boolean;
15
16
  }
16
17
  export declare const reactUIFeatureFlagsDefault: ReactUIFeatureFlags;
17
18
  export declare const ReactUIFeatureFlagsContext: React.Context<ReactUIFeatureFlags>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skbkontur/react-ui",
3
- "version": "5.4.2",
3
+ "version": "5.4.4",
4
4
  "description": "UI Components",
5
5
  "main": "cjs/index.js",
6
6
  "module": "index.js",
@@ -37,8 +37,8 @@
37
37
  "fix:prettier": "yarn prettier --write .",
38
38
  "test": "vitest run",
39
39
  "test:watch": "vitest",
40
- "creevey": "node ../../scripts/creevey-prepare.js .creevey/config.mts && cross-env BABEL_ENV=cjs creevey -c .creevey/config.mts",
41
- "creevey:ci": "start-server-and-test storybook:serve http://localhost:6060 creevey",
40
+ "creevey": "cross-env BABEL_ENV=cjs creevey test -c .creevey/config.mts --storybook-port=6060",
41
+ "creevey:ci": "npx playwright install --with-deps chromium firefox && start-server-and-test storybook:serve http://localhost:6060 creevey",
42
42
  "creevey:update": "cross-env BABEL_ENV=cjs creevey -c .creevey/config.mts --update",
43
43
  "creevey:ui": "yarn creevey --ui",
44
44
  "report:eslint": "yarn eslint -f eslint-html-reporter/reporter.js -o reports/eslint/index.html"
@@ -74,6 +74,7 @@
74
74
  "@babel/preset-react": "^7.24.6",
75
75
  "@babel/preset-typescript": "^7.24.6",
76
76
  "@babel/register": "^7.24.6",
77
+ "@playwright/test": "^1.54.2",
77
78
  "@skbkontur/icons": "1.10.0",
78
79
  "@skbkontur/storybook-addon-live-examples": "0.0.17",
79
80
  "@storybook/addon-a11y": "7.6.18",
@@ -106,7 +107,7 @@
106
107
  "chalk": "4.1.0",
107
108
  "copyfiles": "^2.4.1",
108
109
  "core-js": "^3.37.1",
109
- "creevey": "0.10.0-beta.47",
110
+ "creevey": "0.10.31",
110
111
  "cross-env": "^7.0.3",
111
112
  "css-loader": "^7.1.2",
112
113
  "dotenv": "^16.4.5",
@@ -125,6 +126,7 @@
125
126
  "jsdom": "^26.1.0",
126
127
  "npm-run-all": "^4.1.5",
127
128
  "output-file-sync": "^2.0.1",
129
+ "playwright-core": "^1.54.2",
128
130
  "react": "18.3.1",
129
131
  "react-docgen-typescript": "^2.2.2",
130
132
  "react-dom": "^18.3.1",
@@ -1,90 +0,0 @@
1
- import { story, kind, test } from 'creevey';
2
- import type { CreeveyTestContext } from 'creevey';
3
-
4
- const startBlink = async (context: CreeveyTestContext) => {
5
- await context.webdriver
6
- .actions({
7
- bridge: true,
8
- })
9
- .click(
10
- context.webdriver.findElement({
11
- css: 'input',
12
- }),
13
- )
14
- .sendKeys('1')
15
- .perform();
16
- };
17
- const finishBlink = async (context: CreeveyTestContext) => {
18
- await context.webdriver
19
- .actions({
20
- bridge: true,
21
- })
22
- .click(
23
- context.webdriver.findElement({
24
- css: 'input',
25
- }),
26
- )
27
- .sendKeys('2')
28
- .perform();
29
- };
30
- const interruptBlink = async (context: CreeveyTestContext) => {
31
- await context.webdriver
32
- .actions({
33
- bridge: true,
34
- })
35
- .click(
36
- context.webdriver.findElement({
37
- css: '[data-tid="update-input"]',
38
- }),
39
- )
40
- .perform();
41
- };
42
-
43
- const pressedTest = () => {
44
- test('blinking', async (context) => {
45
- await startBlink(context);
46
- const start = await context.takeScreenshot();
47
-
48
- await finishBlink(context);
49
- const finish = await context.takeScreenshot();
50
-
51
- await context.matchImages({ start, finish });
52
- });
53
-
54
- test('interrupting', async (context) => {
55
- await startBlink(context);
56
- const start = await context.takeScreenshot();
57
-
58
- await interruptBlink(context);
59
- const interrupt = await context.takeScreenshot();
60
-
61
- await context.matchImages({ start, interrupt });
62
- });
63
-
64
- test('blinking after interruption', async (context) => {
65
- await startBlink(context);
66
- const start = await context.takeScreenshot();
67
-
68
- await interruptBlink(context);
69
- const interrupt = await context.takeScreenshot();
70
-
71
- await startBlink(context);
72
- const restart = await context.takeScreenshot();
73
-
74
- await finishBlink(context);
75
- const finish = await context.takeScreenshot();
76
-
77
- await context.matchImages({ start, interrupt, restart, finish });
78
- });
79
- };
80
-
81
- const defaultStoryParameters = {
82
- skip: { 'enough basic themes': { in: /^(?!\bchrome2022\b|\bfirefox2022\b)/ } },
83
- };
84
-
85
- kind('Lib/blink', () => {
86
- story('Animate', ({ setStoryParameters }) => {
87
- setStoryParameters(defaultStoryParameters);
88
- pressedTest();
89
- });
90
- });
@@ -1,90 +0,0 @@
1
- import { story, kind, test } from 'creevey';
2
- import type { CreeveyTestContext } from 'creevey';
3
-
4
- const startBlink = async (context: CreeveyTestContext) => {
5
- await context.webdriver
6
- .actions({
7
- bridge: true,
8
- })
9
- .click(
10
- context.webdriver.findElement({
11
- css: 'input',
12
- }),
13
- )
14
- .sendKeys('1')
15
- .perform();
16
- };
17
- const finishBlink = async (context: CreeveyTestContext) => {
18
- await context.webdriver
19
- .actions({
20
- bridge: true,
21
- })
22
- .click(
23
- context.webdriver.findElement({
24
- css: 'input',
25
- }),
26
- )
27
- .sendKeys('2')
28
- .perform();
29
- };
30
- const interruptBlink = async (context: CreeveyTestContext) => {
31
- await context.webdriver
32
- .actions({
33
- bridge: true,
34
- })
35
- .click(
36
- context.webdriver.findElement({
37
- css: '[data-tid="update-input"]',
38
- }),
39
- )
40
- .perform();
41
- };
42
-
43
- const pressedTest = () => {
44
- test('blinking', async (context) => {
45
- await startBlink(context);
46
- const start = await context.takeScreenshot();
47
-
48
- await finishBlink(context);
49
- const finish = await context.takeScreenshot();
50
-
51
- await context.matchImages({ start, finish });
52
- });
53
-
54
- test('interrupting', async (context) => {
55
- await startBlink(context);
56
- const start = await context.takeScreenshot();
57
-
58
- await interruptBlink(context);
59
- const interrupt = await context.takeScreenshot();
60
-
61
- await context.matchImages({ start, interrupt });
62
- });
63
-
64
- test('blinking after interruption', async (context) => {
65
- await startBlink(context);
66
- const start = await context.takeScreenshot();
67
-
68
- await interruptBlink(context);
69
- const interrupt = await context.takeScreenshot();
70
-
71
- await startBlink(context);
72
- const restart = await context.takeScreenshot();
73
-
74
- await finishBlink(context);
75
- const finish = await context.takeScreenshot();
76
-
77
- await context.matchImages({ start, interrupt, restart, finish });
78
- });
79
- };
80
-
81
- const defaultStoryParameters = {
82
- skip: { 'enough basic themes': { in: /^(?!\bchrome2022\b|\bfirefox2022\b)/ } },
83
- };
84
-
85
- kind('Lib/blink', () => {
86
- story('Animate', ({ setStoryParameters }) => {
87
- setStoryParameters(defaultStoryParameters);
88
- pressedTest();
89
- });
90
- });