@charcoal-ui/react 4.1.0 → 4.2.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.
Files changed (50) hide show
  1. package/dist/_lib/createDivComponent.d.ts +2 -2
  2. package/dist/_lib/createDivComponent.d.ts.map +1 -1
  3. package/dist/components/Button/index.d.ts +1 -1
  4. package/dist/components/Clickable/index.d.ts +1 -1
  5. package/dist/components/Clickable/index.d.ts.map +1 -1
  6. package/dist/components/DropdownSelector/Divider/index.d.ts +1 -1
  7. package/dist/components/DropdownSelector/Divider/index.d.ts.map +1 -1
  8. package/dist/components/DropdownSelector/DropdownMenuItem/index.d.ts +1 -1
  9. package/dist/components/DropdownSelector/DropdownMenuItem/index.d.ts.map +1 -1
  10. package/dist/components/DropdownSelector/DropdownPopover.d.ts +1 -1
  11. package/dist/components/DropdownSelector/DropdownPopover.d.ts.map +1 -1
  12. package/dist/components/DropdownSelector/ListItem/index.d.ts +1 -1
  13. package/dist/components/DropdownSelector/ListItem/index.d.ts.map +1 -1
  14. package/dist/components/DropdownSelector/MenuItem/index.d.ts +1 -7
  15. package/dist/components/DropdownSelector/MenuItem/index.d.ts.map +1 -1
  16. package/dist/components/DropdownSelector/MenuItemGroup/index.d.ts +1 -1
  17. package/dist/components/DropdownSelector/MenuItemGroup/index.d.ts.map +1 -1
  18. package/dist/components/DropdownSelector/MenuList/index.d.ts +1 -1
  19. package/dist/components/DropdownSelector/MenuList/index.d.ts.map +1 -1
  20. package/dist/components/DropdownSelector/Popover/index.d.ts +1 -1
  21. package/dist/components/DropdownSelector/Popover/index.d.ts.map +1 -1
  22. package/dist/components/DropdownSelector/index.d.ts +1 -1
  23. package/dist/components/DropdownSelector/index.d.ts.map +1 -1
  24. package/dist/components/IconButton/index.d.ts +1 -1
  25. package/dist/components/IconButton/index.d.ts.map +1 -1
  26. package/dist/components/Modal/Dialog/index.d.ts +1 -1
  27. package/dist/components/Modal/ModalPlumbing.d.ts +7 -7
  28. package/dist/components/Modal/ModalPlumbing.d.ts.map +1 -1
  29. package/dist/components/Modal/index.d.ts +2 -2
  30. package/dist/components/Modal/index.d.ts.map +1 -1
  31. package/dist/components/Switch/SwitchInput/index.d.ts.map +1 -1
  32. package/dist/components/TagItem/index.d.ts +1 -1
  33. package/dist/components/TextArea/index.d.ts +1 -1
  34. package/dist/components/TextArea/index.d.ts.map +1 -1
  35. package/dist/components/TextField/AssistiveText/index.d.ts +2 -2
  36. package/dist/components/TextField/AssistiveText/index.d.ts.map +1 -1
  37. package/dist/components/TextField/index.d.ts +1 -1
  38. package/dist/components/TextField/index.d.ts.map +1 -1
  39. package/dist/core/CharcoalProvider.d.ts +1 -1
  40. package/dist/core/CharcoalProvider.d.ts.map +1 -1
  41. package/dist/core/SSRProvider.d.ts +3 -1
  42. package/dist/core/SSRProvider.d.ts.map +1 -1
  43. package/dist/index.cjs.js +0 -1
  44. package/dist/index.cjs.js.map +1 -1
  45. package/dist/index.esm.js +0 -1
  46. package/dist/index.esm.js.map +1 -1
  47. package/package.json +11 -14
  48. package/src/components/Switch/SwitchInput/index.tsx +0 -1
  49. package/src/components/TextField/__snapshots__/TextField.story.storyshot +1 -3
  50. package/src/components/TextField/text-field.test.tsx +72 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@charcoal-ui/react",
3
- "version": "4.1.0",
3
+ "version": "4.2.1",
4
4
  "license": "Apache-2.0",
5
5
  "main": "./dist/index.cjs.js",
6
6
  "module": "./dist/index.esm.js",
@@ -33,7 +33,7 @@
33
33
  "test": "vitest run --passWithNoTests"
34
34
  },
35
35
  "devDependencies": {
36
- "@charcoal-ui/esbuild-plugin-styled-components": "^4.1.0",
36
+ "@charcoal-ui/esbuild-plugin-styled-components": "^4.2.1",
37
37
  "@react-types/switch": "^3.1.2",
38
38
  "@storybook/addon-actions": "^8.0.5",
39
39
  "@storybook/react": "^8.0.5",
@@ -41,20 +41,17 @@
41
41
  "@testing-library/react": "^12.1.2",
42
42
  "@testing-library/user-event": "^13.5.0",
43
43
  "@types/glob": "^8.1.0",
44
- "@types/jest": "^27.4.0",
45
- "@types/jest-axe": "^3.5.3",
46
- "@types/react": "^17.0.38",
47
- "@types/react-dom": "^17.0.11",
44
+ "@types/react": "^18.3.3",
45
+ "@types/react-dom": "^18.3.0",
48
46
  "@types/react-router-dom": "^5.3.3",
49
47
  "@types/react-test-renderer": "^18.3.0",
50
48
  "@types/warning": "^3.0.0",
51
49
  "@vitejs/plugin-react": "^4.3.1",
52
50
  "autoprefixer": "^10.4.19",
53
- "jest-axe": "^5.0.1",
54
51
  "jsdom": "^24.1.0",
55
52
  "npm-run-all": "^4.1.5",
56
- "react": "^17.0.2",
57
- "react-dom": "^17.0.2",
53
+ "react": "^18.3.1",
54
+ "react-dom": "^18.3.1",
58
55
  "react-router-dom": "^6.2.1",
59
56
  "rimraf": "^3.0.2",
60
57
  "tsup": "^6.5.0",
@@ -62,10 +59,10 @@
62
59
  "vitest": "^2.0.1"
63
60
  },
64
61
  "dependencies": {
65
- "@charcoal-ui/foundation": "^4.1.0",
66
- "@charcoal-ui/icons": "^4.1.0",
67
- "@charcoal-ui/theme": "^4.1.0",
68
- "@charcoal-ui/utils": "^4.1.0",
62
+ "@charcoal-ui/foundation": "^4.2.1",
63
+ "@charcoal-ui/icons": "^4.2.1",
64
+ "@charcoal-ui/theme": "^4.2.1",
65
+ "@charcoal-ui/utils": "^4.2.1",
69
66
  "@react-aria/button": "^3.9.1",
70
67
  "@react-aria/checkbox": "^3.13.0",
71
68
  "@react-aria/dialog": "^3.5.10",
@@ -98,5 +95,5 @@
98
95
  "url": "https://github.com/pixiv/charcoal.git",
99
96
  "directory": "packages/react"
100
97
  },
101
- "gitHead": "e1d401460774c73120434d8be3bca5698d519493"
98
+ "gitHead": "9a017d7e402dfcf371a5ca9a2b61bcd095467d89"
102
99
  }
@@ -23,7 +23,6 @@ const SwitchInput = forwardRef<
23
23
  },
24
24
  [onChange]
25
25
  )
26
- props.children
27
26
 
28
27
  const classNames = useClassNames('charcoal-switch-input', className)
29
28
  return (
@@ -388,9 +388,7 @@ exports[`Storybook Tests > react/TextField > Number 1`] = `
388
388
  className="charcoal-field-label"
389
389
  htmlFor="test-id"
390
390
  id="test-id"
391
- >
392
-
393
- </label>
391
+ />
394
392
  <div
395
393
  className="charcoal-field-label-sub-label"
396
394
  >
@@ -0,0 +1,72 @@
1
+ import { render } from '@testing-library/react'
2
+ import TextField from '.'
3
+
4
+ import '@testing-library/jest-dom'
5
+
6
+ describe('TextField component', () => {
7
+ it('should not render prefix and suffix when not provided', () => {
8
+ const { container } = render(<TextField />)
9
+
10
+ // prefix and suffix elements should not be rendered
11
+ const prefixElement = container.querySelector('.charcoal-text-field-prefix')
12
+ const suffixElement = container.querySelector('.charcoal-text-field-suffix')
13
+
14
+ expect(prefixElement).toBeNull()
15
+ expect(suffixElement).toBeNull()
16
+ })
17
+
18
+ test.each([
19
+ [null, 'null'],
20
+ [undefined, 'undefined'],
21
+ ['', 'empty string'],
22
+ [false, 'boolean false'],
23
+ [0, 'zero'],
24
+ ])(
25
+ 'should not render prefix when value is falsy (%s: %s)',
26
+ (prefixValue, _desc) => {
27
+ const { container } = render(<TextField prefix={prefixValue} />)
28
+ const prefixElement = container.querySelector('.charcoal-text-prefix')
29
+ expect(prefixElement).toBeNull()
30
+ }
31
+ )
32
+
33
+ test.each([
34
+ [null, 'null'],
35
+ [undefined, 'undefined'],
36
+ ['', 'empty string'],
37
+ [false, 'boolean false'],
38
+ [0, 'zero'],
39
+ ])(
40
+ 'should not render suffix when value is falsy (%s: %s) and showCount is false',
41
+ (suffixValue, _desc) => {
42
+ const { container } = render(
43
+ <TextField suffix={suffixValue} showCount={false} />
44
+ )
45
+ const suffixElement = container.querySelector(
46
+ '.charcoal-text-field-suffix'
47
+ )
48
+ expect(suffixElement).toBeNull()
49
+ }
50
+ )
51
+
52
+ it('should render prefix and suffix when provided as truthy values', () => {
53
+ const prefixContent = 'Test Prefix'
54
+ const suffixContent = 'Test Suffix'
55
+ const { container, getByText } = render(
56
+ <TextField
57
+ prefix={<span>{prefixContent}</span>}
58
+ suffix={<span>{suffixContent}</span>}
59
+ />
60
+ )
61
+
62
+ const prefixElement = container.querySelector('.charcoal-text-field-prefix')
63
+ const suffixElement = container.querySelector('.charcoal-text-field-suffix')
64
+
65
+ expect(prefixElement).not.toBeNull()
66
+ expect(suffixElement).not.toBeNull()
67
+
68
+ // Verify text content
69
+ expect(getByText(prefixContent)).toBeInTheDocument()
70
+ expect(getByText(suffixContent)).toBeInTheDocument()
71
+ })
72
+ })