@hero-design/rn-work-uikit 1.3.0 → 1.4.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.
Files changed (49) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/lib/index.js +48742 -29649
  3. package/package.json +5 -4
  4. package/src/__tests__/index-export.spec.ts +64 -0
  5. package/src/components/DatePicker/__tests__/__snapshots__/index.spec.tsx.snap +1602 -0
  6. package/src/components/DatePicker/__tests__/index.spec.tsx +56 -0
  7. package/src/components/DatePicker/index.tsx +12 -0
  8. package/src/components/FormGroup/__tests__/__snapshots__/index.spec.tsx.snap +880 -0
  9. package/src/components/FormGroup/__tests__/index.spec.tsx +179 -0
  10. package/src/components/FormGroup/__tests__/utils.spec.ts +73 -0
  11. package/src/components/FormGroup/index.tsx +97 -0
  12. package/src/components/FormGroup/utils.ts +67 -0
  13. package/src/components/RichTextEditor/EditorEvent.ts +7 -0
  14. package/src/components/RichTextEditor/EditorToolbar.tsx +216 -0
  15. package/src/components/RichTextEditor/MentionList.tsx +99 -0
  16. package/src/components/RichTextEditor/RichTextEditor.tsx +88 -0
  17. package/src/components/RichTextEditor/RichTextEditorInput.tsx +286 -0
  18. package/src/components/RichTextEditor/StyledRichTextEditor.tsx +18 -0
  19. package/src/components/RichTextEditor/StyledToolbar.ts +32 -0
  20. package/src/components/RichTextEditor/__mocks__/hero-editor.js +3 -0
  21. package/src/components/RichTextEditor/__mocks__/heroEditorApp.ts +2 -0
  22. package/src/components/RichTextEditor/__tests__/EditorToolbar.spec.tsx +144 -0
  23. package/src/components/RichTextEditor/__tests__/MentionList.spec.tsx +105 -0
  24. package/src/components/RichTextEditor/__tests__/RichTextEditorInput.spec.tsx +136 -0
  25. package/src/components/RichTextEditor/__tests__/__snapshots__/EditorToolbar.spec.tsx.snap +414 -0
  26. package/src/components/RichTextEditor/__tests__/__snapshots__/MentionList.spec.tsx.snap +13 -0
  27. package/src/components/RichTextEditor/constants.ts +9 -0
  28. package/src/{hero-editor.d.ts → components/RichTextEditor/hero-editor.d.ts} +6 -0
  29. package/src/components/RichTextEditor/heroEditorApp.ts +3 -0
  30. package/src/components/RichTextEditor/index.tsx +20 -0
  31. package/src/components/RichTextEditor/types.ts +87 -0
  32. package/src/components/RichTextEditor/utils/events.ts +31 -0
  33. package/src/components/RichTextEditor/utils/rnWebView.tsx +30 -0
  34. package/src/components/Select/__tests__/__snapshots__/index.spec.tsx.snap +1293 -0
  35. package/src/components/Select/__tests__/index.spec.tsx +43 -0
  36. package/src/components/TextInput/Group/__tests__/__snapshots__/index.spec.tsx.snap +0 -3
  37. package/src/components/TextInput/InputComponent.tsx +59 -18
  38. package/src/components/TextInput/InputRow.tsx +13 -7
  39. package/src/components/TextInput/StyledTextInput.tsx +0 -1
  40. package/src/components/TextInput/__tests__/__snapshots__/index.spec.tsx.snap +0 -17
  41. package/src/components/TextInput/index.tsx +20 -11
  42. package/src/components/TextInput/types.ts +29 -4
  43. package/src/components/TimePicker/__tests__/index.spec.tsx +34 -0
  44. package/src/components/TimePicker/index.tsx +12 -0
  45. package/src/index.ts +4 -1
  46. package/src/utils/functions.ts +2 -0
  47. package/stats/1.3.0/rn-work-uikit-stats.html +1 -1
  48. package/stats/1.4.0/rn-work-uikit-stats.html +4844 -0
  49. package/src/__tests__/theme-export-override.spec.ts +0 -96
@@ -1,96 +0,0 @@
1
- // Mock the entire theme module to avoid import resolution issues
2
- jest.mock('../theme', () => {
3
- const mockWorkTheme = {
4
- colors: { text: 'work-color' },
5
- fonts: { base: 'work-font' },
6
- space: { base: 'work-space' },
7
- __hd__: {
8
- textInput: {
9
- colors: {
10
- text: '#WORK_THEME_COLOR',
11
- background: '#WORK_BACKGROUND',
12
- },
13
- space: { containerPadding: 'WORK_PADDING' },
14
- fonts: { text: 'WORK_FONT' },
15
- },
16
- button: { base: 'button' },
17
- accordion: { base: 'accordion' },
18
- },
19
- };
20
-
21
- const mockGetTheme = jest.fn(() => mockWorkTheme);
22
-
23
- return {
24
- __esModule: true,
25
- default: mockWorkTheme,
26
- getTheme: mockGetTheme,
27
- Theme: {},
28
- CustomTheme: {},
29
- ThemeProvider: jest.fn(),
30
- ThemeSwitcher: jest.fn(),
31
- useTheme: jest.fn(),
32
- withTheme: jest.fn(),
33
- };
34
- });
35
-
36
- // Mock the base @hero-design/rn
37
- jest.mock('@hero-design/rn', () => ({
38
- getTheme: jest.fn(() => ({
39
- colors: { text: 'base-color' },
40
- __hd__: {
41
- textInput: {
42
- colors: { text: 'BASE_THEME_COLOR' },
43
- space: { containerPadding: 'BASE_PADDING' },
44
- },
45
- },
46
- })),
47
- // Mock styled function
48
- styled: jest.fn(() => jest.fn(() => 'MockStyledComponent')),
49
- // Mock Typography component
50
- Typography: {
51
- Caption: 'MockCaption',
52
- },
53
- // Re-export everything else as is
54
- Button: 'MockButton',
55
- TextInput: 'MockTextInput',
56
- ThemeProvider: 'MockBaseThemeProvider',
57
- useTheme: jest.fn(),
58
- }));
59
-
60
- describe('Theme Export Override', () => {
61
- beforeEach(() => {
62
- // Clear module cache to ensure fresh imports
63
- jest.resetModules();
64
- });
65
-
66
- it('should export work-specific theme with overridden textInput from index', () => {
67
- // Re-import to get the mocked version
68
- // eslint-disable-next-line global-require, @typescript-eslint/no-var-requires
69
- const { theme: workTheme } = require('../index');
70
-
71
- // Verify that the theme has the work-specific textInput overrides
72
- expect(workTheme.__hd__.textInput.colors.text).toBe('#WORK_THEME_COLOR');
73
- expect(workTheme.__hd__.textInput.colors.background).toBe(
74
- '#WORK_BACKGROUND'
75
- );
76
- expect(workTheme.__hd__.textInput.space.containerPadding).toBe(
77
- 'WORK_PADDING'
78
- );
79
- expect(workTheme.__hd__.textInput.fonts.text).toBe('WORK_FONT');
80
- });
81
-
82
- it('should export work-specific getTheme function with overridden textInput', () => {
83
- // Re-import to get the mocked version
84
- // eslint-disable-next-line global-require, @typescript-eslint/no-var-requires
85
- const { getTheme: workGetTheme } = require('../index');
86
-
87
- const workTheme = workGetTheme();
88
-
89
- // Verify that getTheme returns work-specific textInput theme
90
- expect(workTheme.__hd__.textInput.colors.text).toBe('#WORK_THEME_COLOR');
91
- expect(workTheme.__hd__.textInput.space.containerPadding).toBe(
92
- 'WORK_PADDING'
93
- );
94
- expect(workTheme.__hd__.textInput.fonts.text).toBe('WORK_FONT');
95
- });
96
- });