@hero-design/rn-work-uikit 1.8.1 → 1.9.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.
@@ -142,6 +142,7 @@ exports[`TextInput when user applies custom styling should respect user-provided
142
142
  testID="input-label-text"
143
143
  themeFontWeight="regular"
144
144
  themeIntent="body"
145
+ themeIsItalic={false}
145
146
  themeState="filled"
146
147
  >
147
148
  Amount (AUD)
@@ -211,7 +212,7 @@ exports[`TextInput when user applies custom styling should respect user-provided
211
212
  themeIntent="text"
212
213
  themeSize="xsmall"
213
214
  >
214
-
215
+
215
216
  </Text>
216
217
  </View>
217
218
  </View>
@@ -300,6 +301,7 @@ exports[`TextInput when user applies custom styling should respect user-provided
300
301
  }
301
302
  themeFontWeight="regular"
302
303
  themeIntent="body"
304
+ themeIsItalic={false}
303
305
  >
304
306
  This is helper text
305
307
  </Text>
@@ -331,6 +333,7 @@ exports[`TextInput when user applies custom styling should respect user-provided
331
333
  }
332
334
  themeFontWeight="regular"
333
335
  themeIntent="body"
336
+ themeIsItalic={false}
334
337
  themeState="filled"
335
338
  >
336
339
  4
@@ -498,6 +501,7 @@ exports[`TextInput when user chooses textarea variant should provide multiline t
498
501
  testID="input-label-text"
499
502
  themeFontWeight="regular"
500
503
  themeIntent="body"
504
+ themeIsItalic={false}
501
505
  themeState="filled"
502
506
  >
503
507
  Amount (AUD)
@@ -527,6 +531,7 @@ exports[`TextInput when user chooses textarea variant should provide multiline t
527
531
  }
528
532
  themeFontWeight="regular"
529
533
  themeIntent="body"
534
+ themeIsItalic={false}
530
535
  themeState="filled"
531
536
  >
532
537
  (Optional)
@@ -777,6 +782,7 @@ exports[`TextInput when user encounters a disabled field should display content
777
782
  testID="input-label-text"
778
783
  themeFontWeight="regular"
779
784
  themeIntent="body"
785
+ themeIsItalic={false}
780
786
  themeState="disabled"
781
787
  >
782
788
  Amount (AUD)
@@ -806,6 +812,7 @@ exports[`TextInput when user encounters a disabled field should display content
806
812
  }
807
813
  themeFontWeight="regular"
808
814
  themeIntent="body"
815
+ themeIsItalic={false}
809
816
  themeState="disabled"
810
817
  >
811
818
  (Optional)
@@ -1055,6 +1062,7 @@ exports[`TextInput when user encounters a read-only field should display content
1055
1062
  testID="input-label-text"
1056
1063
  themeFontWeight="regular"
1057
1064
  themeIntent="body"
1065
+ themeIsItalic={false}
1058
1066
  themeState="readonly"
1059
1067
  >
1060
1068
  Amount (AUD)
@@ -1084,6 +1092,7 @@ exports[`TextInput when user encounters a read-only field should display content
1084
1092
  }
1085
1093
  themeFontWeight="regular"
1086
1094
  themeIntent="body"
1095
+ themeIsItalic={false}
1087
1096
  themeState="readonly"
1088
1097
  >
1089
1098
  (Optional)
@@ -1153,7 +1162,7 @@ exports[`TextInput when user encounters a read-only field should display content
1153
1162
  themeIntent="text"
1154
1163
  themeSize="xsmall"
1155
1164
  >
1156
-
1165
+
1157
1166
  </Text>
1158
1167
  </View>
1159
1168
  </View>
@@ -1269,7 +1278,7 @@ exports[`TextInput when user encounters a read-only field should display content
1269
1278
  themeIntent="text"
1270
1279
  themeSize="medium"
1271
1280
  >
1272
-
1281
+
1273
1282
  </Text>
1274
1283
  </View>
1275
1284
  </Pressable>
@@ -1417,6 +1426,7 @@ exports[`TextInput when user has entered text should show the input content and
1417
1426
  testID="input-label-text"
1418
1427
  themeFontWeight="regular"
1419
1428
  themeIntent="body"
1429
+ themeIsItalic={false}
1420
1430
  themeState="filled"
1421
1431
  >
1422
1432
  Amount (AUD)
@@ -1446,6 +1456,7 @@ exports[`TextInput when user has entered text should show the input content and
1446
1456
  }
1447
1457
  themeFontWeight="regular"
1448
1458
  themeIntent="body"
1459
+ themeIsItalic={false}
1449
1460
  themeState="filled"
1450
1461
  >
1451
1462
  (Optional)
@@ -1515,7 +1526,7 @@ exports[`TextInput when user has entered text should show the input content and
1515
1526
  themeIntent="text"
1516
1527
  themeSize="xsmall"
1517
1528
  >
1518
-
1529
+
1519
1530
  </Text>
1520
1531
  </View>
1521
1532
  </View>
@@ -1631,7 +1642,7 @@ exports[`TextInput when user has entered text should show the input content and
1631
1642
  themeIntent="text"
1632
1643
  themeSize="medium"
1633
1644
  >
1634
-
1645
+
1635
1646
  </Text>
1636
1647
  </View>
1637
1648
  </Pressable>
@@ -1779,6 +1790,7 @@ exports[`TextInput when user interacts with placeholder text starting from empty
1779
1790
  testID="input-label-text"
1780
1791
  themeFontWeight="regular"
1781
1792
  themeIntent="body"
1793
+ themeIsItalic={false}
1782
1794
  themeState="default"
1783
1795
  >
1784
1796
  Amount (AUD)
@@ -1848,7 +1860,7 @@ exports[`TextInput when user interacts with placeholder text starting from empty
1848
1860
  themeIntent="text"
1849
1861
  themeSize="xsmall"
1850
1862
  >
1851
-
1863
+
1852
1864
  </Text>
1853
1865
  </View>
1854
1866
  </View>
@@ -1934,6 +1946,7 @@ exports[`TextInput when user interacts with placeholder text starting from empty
1934
1946
  }
1935
1947
  themeFontWeight="regular"
1936
1948
  themeIntent="body"
1949
+ themeIsItalic={false}
1937
1950
  >
1938
1951
  This is helper text
1939
1952
  </Text>
@@ -2098,6 +2111,7 @@ exports[`TextInput when user needs programmatic control should provide ref metho
2098
2111
  testID="input-label-text"
2099
2112
  themeFontWeight="regular"
2100
2113
  themeIntent="body"
2114
+ themeIsItalic={false}
2101
2115
  themeState="filled"
2102
2116
  >
2103
2117
  Amount (AUD)
@@ -2127,6 +2141,7 @@ exports[`TextInput when user needs programmatic control should provide ref metho
2127
2141
  }
2128
2142
  themeFontWeight="regular"
2129
2143
  themeIntent="body"
2144
+ themeIsItalic={false}
2130
2145
  themeState="filled"
2131
2146
  >
2132
2147
  (Optional)
@@ -2376,6 +2391,7 @@ exports[`TextInput when user provides default values starting with pre-filled co
2376
2391
  testID="input-label-text"
2377
2392
  themeFontWeight="regular"
2378
2393
  themeIntent="body"
2394
+ themeIsItalic={false}
2379
2395
  themeState="filled"
2380
2396
  >
2381
2397
  Amount (AUD)
@@ -2445,7 +2461,7 @@ exports[`TextInput when user provides default values starting with pre-filled co
2445
2461
  themeIntent="text"
2446
2462
  themeSize="xsmall"
2447
2463
  >
2448
-
2464
+
2449
2465
  </Text>
2450
2466
  </View>
2451
2467
  </View>
@@ -2533,6 +2549,7 @@ exports[`TextInput when user provides default values starting with pre-filled co
2533
2549
  }
2534
2550
  themeFontWeight="regular"
2535
2551
  themeIntent="body"
2552
+ themeIsItalic={false}
2536
2553
  >
2537
2554
  This is helper text
2538
2555
  </Text>
@@ -2564,6 +2581,7 @@ exports[`TextInput when user provides default values starting with pre-filled co
2564
2581
  }
2565
2582
  themeFontWeight="regular"
2566
2583
  themeIntent="body"
2584
+ themeIsItalic={false}
2567
2585
  themeState="filled"
2568
2586
  >
2569
2587
  4
@@ -2731,6 +2749,7 @@ exports[`TextInput when user provides default values when both default and contr
2731
2749
  testID="input-label-text"
2732
2750
  themeFontWeight="regular"
2733
2751
  themeIntent="body"
2752
+ themeIsItalic={false}
2734
2753
  themeState="filled"
2735
2754
  >
2736
2755
  Amount (AUD)
@@ -2800,7 +2819,7 @@ exports[`TextInput when user provides default values when both default and contr
2800
2819
  themeIntent="text"
2801
2820
  themeSize="xsmall"
2802
2821
  >
2803
-
2822
+
2804
2823
  </Text>
2805
2824
  </View>
2806
2825
  </View>
@@ -2889,6 +2908,7 @@ exports[`TextInput when user provides default values when both default and contr
2889
2908
  }
2890
2909
  themeFontWeight="regular"
2891
2910
  themeIntent="body"
2911
+ themeIsItalic={false}
2892
2912
  >
2893
2913
  This is helper text
2894
2914
  </Text>
@@ -2920,6 +2940,7 @@ exports[`TextInput when user provides default values when both default and contr
2920
2940
  }
2921
2941
  themeFontWeight="regular"
2922
2942
  themeIntent="body"
2943
+ themeIsItalic={false}
2923
2944
  themeState="filled"
2924
2945
  >
2925
2946
  4
@@ -3087,6 +3108,7 @@ exports[`TextInput when user sees a loading state should show loading indicator
3087
3108
  testID="input-label-text"
3088
3109
  themeFontWeight="regular"
3089
3110
  themeIntent="body"
3111
+ themeIsItalic={false}
3090
3112
  themeState="readonly"
3091
3113
  >
3092
3114
  Amount (AUD)
@@ -3116,6 +3138,7 @@ exports[`TextInput when user sees a loading state should show loading indicator
3116
3138
  }
3117
3139
  themeFontWeight="regular"
3118
3140
  themeIntent="body"
3141
+ themeIsItalic={false}
3119
3142
  themeState="readonly"
3120
3143
  >
3121
3144
  (Optional)
@@ -3185,7 +3208,7 @@ exports[`TextInput when user sees a loading state should show loading indicator
3185
3208
  themeIntent="text"
3186
3209
  themeSize="xsmall"
3187
3210
  >
3188
-
3211
+
3189
3212
  </Text>
3190
3213
  </View>
3191
3214
  </View>
@@ -3319,7 +3342,7 @@ exports[`TextInput when user sees a loading state should show loading indicator
3319
3342
  themeIntent="text"
3320
3343
  themeSize="medium"
3321
3344
  >
3322
-
3345
+
3323
3346
  </Text>
3324
3347
  </AnimatedView>
3325
3348
  </View>
@@ -3468,6 +3491,7 @@ exports[`TextInput when user sees a required field should indicate the field is
3468
3491
  testID="input-label-text"
3469
3492
  themeFontWeight="regular"
3470
3493
  themeIntent="body"
3494
+ themeIsItalic={false}
3471
3495
  themeState="default"
3472
3496
  >
3473
3497
  Amount (AUD)
@@ -3537,7 +3561,7 @@ exports[`TextInput when user sees a required field should indicate the field is
3537
3561
  themeIntent="text"
3538
3562
  themeSize="xsmall"
3539
3563
  >
3540
-
3564
+
3541
3565
  </Text>
3542
3566
  </View>
3543
3567
  </View>
@@ -3652,7 +3676,7 @@ exports[`TextInput when user sees a required field should indicate the field is
3652
3676
  themeIntent="text"
3653
3677
  themeSize="medium"
3654
3678
  >
3655
-
3679
+
3656
3680
  </Text>
3657
3681
  </View>
3658
3682
  </Pressable>
@@ -3800,6 +3824,7 @@ exports[`TextInput when user sees a textarea with character count should display
3800
3824
  testID="input-label-text"
3801
3825
  themeFontWeight="regular"
3802
3826
  themeIntent="body"
3827
+ themeIsItalic={false}
3803
3828
  themeState="filled"
3804
3829
  >
3805
3830
  Amount (AUD)
@@ -3829,6 +3854,7 @@ exports[`TextInput when user sees a textarea with character count should display
3829
3854
  }
3830
3855
  themeFontWeight="regular"
3831
3856
  themeIntent="body"
3857
+ themeIsItalic={false}
3832
3858
  themeState="filled"
3833
3859
  >
3834
3860
  (Optional)
@@ -3898,7 +3924,7 @@ exports[`TextInput when user sees a textarea with character count should display
3898
3924
  themeIntent="text"
3899
3925
  themeSize="xsmall"
3900
3926
  >
3901
-
3927
+
3902
3928
  </Text>
3903
3929
  </View>
3904
3930
  </View>
@@ -3997,6 +4023,7 @@ exports[`TextInput when user sees a textarea with character count should display
3997
4023
  }
3998
4024
  themeFontWeight="regular"
3999
4025
  themeIntent="body"
4026
+ themeIsItalic={false}
4000
4027
  themeState="filled"
4001
4028
  >
4002
4029
  3
@@ -4051,7 +4078,7 @@ exports[`TextInput when user sees a textarea with character count should display
4051
4078
  themeIntent="text"
4052
4079
  themeSize="medium"
4053
4080
  >
4054
-
4081
+
4055
4082
  </Text>
4056
4083
  </View>
4057
4084
  </Pressable>
@@ -4199,6 +4226,7 @@ exports[`TextInput when user sees a textarea with character count should hide ch
4199
4226
  testID="input-label-text"
4200
4227
  themeFontWeight="regular"
4201
4228
  themeIntent="body"
4229
+ themeIsItalic={false}
4202
4230
  themeState="filled"
4203
4231
  >
4204
4232
  Amount (AUD)
@@ -4228,6 +4256,7 @@ exports[`TextInput when user sees a textarea with character count should hide ch
4228
4256
  }
4229
4257
  themeFontWeight="regular"
4230
4258
  themeIntent="body"
4259
+ themeIsItalic={false}
4231
4260
  themeState="filled"
4232
4261
  >
4233
4262
  (Optional)
@@ -4297,7 +4326,7 @@ exports[`TextInput when user sees a textarea with character count should hide ch
4297
4326
  themeIntent="text"
4298
4327
  themeSize="xsmall"
4299
4328
  >
4300
-
4329
+
4301
4330
  </Text>
4302
4331
  </View>
4303
4332
  </View>
@@ -4415,7 +4444,7 @@ exports[`TextInput when user sees a textarea with character count should hide ch
4415
4444
  themeIntent="text"
4416
4445
  themeSize="medium"
4417
4446
  >
4418
-
4447
+
4419
4448
  </Text>
4420
4449
  </View>
4421
4450
  </Pressable>
@@ -4565,6 +4594,7 @@ exports[`TextInput when user sees an empty input field should display label and
4565
4594
  testID="input-label-text"
4566
4595
  themeFontWeight="regular"
4567
4596
  themeIntent="body"
4597
+ themeIsItalic={false}
4568
4598
  themeState="default"
4569
4599
  >
4570
4600
  Amount (AUD)
@@ -4594,6 +4624,7 @@ exports[`TextInput when user sees an empty input field should display label and
4594
4624
  }
4595
4625
  themeFontWeight="regular"
4596
4626
  themeIntent="body"
4627
+ themeIsItalic={false}
4597
4628
  themeState="default"
4598
4629
  >
4599
4630
  (Optional)
@@ -4663,7 +4694,7 @@ exports[`TextInput when user sees an empty input field should display label and
4663
4694
  themeIntent="text"
4664
4695
  themeSize="xsmall"
4665
4696
  >
4666
-
4697
+
4667
4698
  </Text>
4668
4699
  </View>
4669
4700
  </View>
@@ -4778,7 +4809,7 @@ exports[`TextInput when user sees an empty input field should display label and
4778
4809
  themeIntent="text"
4779
4810
  themeSize="medium"
4780
4811
  >
4781
-
4812
+
4782
4813
  </Text>
4783
4814
  </View>
4784
4815
  </Pressable>
@@ -4926,6 +4957,7 @@ exports[`TextInput when user sees an error state should display error message to
4926
4957
  testID="input-label-text"
4927
4958
  themeFontWeight="regular"
4928
4959
  themeIntent="body"
4960
+ themeIsItalic={false}
4929
4961
  themeState="error"
4930
4962
  >
4931
4963
  Amount (AUD)
@@ -4995,7 +5027,7 @@ exports[`TextInput when user sees an error state should display error message to
4995
5027
  themeIntent="text"
4996
5028
  themeSize="xsmall"
4997
5029
  >
4998
-
5030
+
4999
5031
  </Text>
5000
5032
  </View>
5001
5033
  </View>
@@ -5138,6 +5170,7 @@ exports[`TextInput when user sees an error state should display error message to
5138
5170
  testID="input-error-message"
5139
5171
  themeFontWeight="regular"
5140
5172
  themeIntent="body"
5173
+ themeIsItalic={false}
5141
5174
  >
5142
5175
  This field is required
5143
5176
  </Text>
@@ -5303,6 +5336,7 @@ exports[`TextInput when user sees helper text should display guidance text to as
5303
5336
  testID="input-label-text"
5304
5337
  themeFontWeight="regular"
5305
5338
  themeIntent="body"
5339
+ themeIsItalic={false}
5306
5340
  themeState="default"
5307
5341
  >
5308
5342
  Amount (AUD)
@@ -5372,7 +5406,7 @@ exports[`TextInput when user sees helper text should display guidance text to as
5372
5406
  themeIntent="text"
5373
5407
  themeSize="xsmall"
5374
5408
  >
5375
-
5409
+
5376
5410
  </Text>
5377
5411
  </View>
5378
5412
  </View>
@@ -5458,6 +5492,7 @@ exports[`TextInput when user sees helper text should display guidance text to as
5458
5492
  }
5459
5493
  themeFontWeight="regular"
5460
5494
  themeIntent="body"
5495
+ themeIsItalic={false}
5461
5496
  >
5462
5497
  This is helper text
5463
5498
  </Text>
@@ -5622,6 +5657,7 @@ exports[`TextInput when user sees input with custom prefix and suffix elements s
5622
5657
  testID="input-label-text"
5623
5658
  themeFontWeight="regular"
5624
5659
  themeIntent="body"
5660
+ themeIsItalic={false}
5625
5661
  themeState="default"
5626
5662
  >
5627
5663
  Amount (AUD)
@@ -1742,45 +1742,53 @@ exports[`theme returns correct theme object 1`] = `
1742
1742
  "xxxxxlarge": 31.384615384615387,
1743
1743
  },
1744
1744
  "fontWeights": {
1745
- "body": {
1746
- "neutral": {
1747
- "regular": "BeVietnamPro-Regular",
1748
- "semiBold": "BeVietnamPro-SemiBold",
1749
- },
1750
- "playful": {
1751
- "regular": "Saiga-Regular",
1752
- "semiBold": "Saiga-Medium",
1753
- },
1754
- },
1755
1745
  "titles": {
1756
1746
  "neutral": {
1757
1747
  "h1": "BeVietnamPro-Regular",
1748
+ "h1Italic": "BeVietnamPro-RegularItalic",
1758
1749
  "h2": "BeVietnamPro-SemiBold",
1750
+ "h2Italic": "BeVietnamPro-SemiBoldItalic",
1759
1751
  "h3": "BeVietnamPro-SemiBold",
1752
+ "h3Italic": "BeVietnamPro-SemiBoldItalic",
1760
1753
  "h4": "BeVietnamPro-SemiBold",
1754
+ "h4Italic": "BeVietnamPro-SemiBoldItalic",
1761
1755
  "h5": "BeVietnamPro-SemiBold",
1756
+ "h5Italic": "BeVietnamPro-SemiBoldItalic",
1762
1757
  "h6": "BeVietnamPro-Regular",
1758
+ "h6Italic": "BeVietnamPro-RegularItalic",
1763
1759
  },
1764
1760
  "playful": {
1765
1761
  "h1": "Saiga-Medium",
1762
+ "h1Italic": "Saiga-MediumItalic",
1766
1763
  "h2": "Saiga-Medium",
1764
+ "h2Italic": "Saiga-MediumItalic",
1767
1765
  "h3": "Saiga-Medium",
1766
+ "h3Italic": "Saiga-MediumItalic",
1768
1767
  "h4": "Saiga-Medium",
1768
+ "h4Italic": "Saiga-MediumItalic",
1769
1769
  "h5": "Saiga-Medium",
1770
+ "h5Italic": "Saiga-MediumItalic",
1770
1771
  "h6": "Saiga-Regular",
1772
+ "h6Italic": "Saiga-RegularItalic",
1771
1773
  },
1772
1774
  },
1773
1775
  },
1774
1776
  "fonts": {
1775
1777
  "neutral": {
1776
1778
  "light": "BeVietnamPro-Light",
1779
+ "lightItalic": "BeVietnamPro-LightItalic",
1777
1780
  "regular": "BeVietnamPro-Regular",
1781
+ "regularItalic": "BeVietnamPro-RegularItalic",
1778
1782
  "semiBold": "BeVietnamPro-SemiBold",
1783
+ "semiBoldItalic": "BeVietnamPro-SemiBoldItalic",
1779
1784
  },
1780
1785
  "playful": {
1781
1786
  "light": "Saiga-Light",
1787
+ "lightItalic": "Saiga-LightItalic",
1782
1788
  "regular": "Saiga-Regular",
1789
+ "regularItalic": "Saiga-RegularItalic",
1783
1790
  "semiBold": "Saiga-Medium",
1791
+ "semiBoldItalic": "Saiga-MediumItalic",
1784
1792
  },
1785
1793
  },
1786
1794
  "letterSpacings": {
@@ -1925,13 +1933,19 @@ exports[`theme returns correct theme object 1`] = `
1925
1933
  "fonts": {
1926
1934
  "neutral": {
1927
1935
  "light": "BeVietnamPro-Light",
1936
+ "lightItalic": "BeVietnamPro-LightItalic",
1928
1937
  "regular": "BeVietnamPro-Regular",
1938
+ "regularItalic": "BeVietnamPro-RegularItalic",
1929
1939
  "semiBold": "BeVietnamPro-SemiBold",
1940
+ "semiBoldItalic": "BeVietnamPro-SemiBoldItalic",
1930
1941
  },
1931
1942
  "playful": {
1932
1943
  "light": "Saiga-Light",
1944
+ "lightItalic": "Saiga-LightItalic",
1933
1945
  "regular": "Saiga-Regular",
1946
+ "regularItalic": "Saiga-RegularItalic",
1934
1947
  "semiBold": "Saiga-Medium",
1948
+ "semiBoldItalic": "Saiga-MediumItalic",
1935
1949
  },
1936
1950
  },
1937
1951
  "lineHeights": {
package/.cursorrules DELETED
@@ -1,57 +0,0 @@
1
- # RN Work UIKit Specific Rules
2
-
3
- ## Package Context
4
- This is the work-specific React Native component library that extends @hero-design/rn with work-focused components like TextInput, specialized themes, and work-specific patterns.
5
-
6
- ## Testing Rules for RN Work UIKit
7
- - Write user-behavior focused tests that describe what users see and experience
8
- - Use descriptive test names like "when user sees an empty input field" instead of "idle state"
9
- - Group related assertions with explanatory comments about user expectations
10
- - Focus on user interactions and outcomes rather than implementation details
11
- - Use `@testing-library/react-native` for all component testing
12
- - Use `renderWithTheme()` from `../../../../testUtils/renderWithTheme` for components that need theme context
13
- - Use semantic matchers like `toBeDisabled()`, `toHaveProp()` when available
14
- - For complex React Native styles, use manual checking when `toHaveStyle()` doesn't work
15
- - Handle React Native's nested style arrays with `StyleSheet.flatten()` or custom helpers
16
- - Aim for 100% line coverage on main component files
17
- - Create dedicated test files for each component (not just integration tests)
18
- - Test edge cases: undefined props, complex styles, error states
19
- - Test imperative APIs: ref methods, focus/blur behavior
20
- - Test accessibility: screen reader support, keyboard navigation
21
-
22
- ## Component Development Rules
23
- - Import `styled` from `@hero-design/rn` for consistency with base theme
24
- - Use `useTheme()` hook instead of prop drilling theme
25
- - Extend base components from `@hero-design/rn` when possible
26
- - Follow work-specific design patterns and accessibility requirements
27
- - Use TypeScript strictly - no `any` types without good reason
28
- - Fix linting errors immediately
29
- - Use proper React Native components (`Text`, `View`) instead of HTML elements
30
-
31
- ## Documentation Rules
32
- - Document Props interfaces with JSDoc comments directly on each property: `/** Description */`
33
- - Use simplified @param comments: `@param props - The component props (see [ComponentName]Props interface for details)`
34
- - Avoid mentioning implementation details like "memoized component" in JSDoc comments
35
- - Focus JSDoc comments on what the component does, not how it's implemented
36
- - Keep type information in the Props interface, not duplicated in @param comments
37
-
38
- ## File Organization
39
- - Separate large test files by component responsibility
40
- - Use consistent naming: `ComponentName.spec.tsx`
41
- - Keep test utilities in `testUtils/` directory at package root
42
- - Use snapshot testing for visual regression prevention
43
- - Create README.md files in test directories explaining testing approach
44
-
45
- ## Work-Specific Patterns
46
- - Components should work with work theme overrides
47
- - Test with work-specific color palettes and spacing
48
- - Ensure compatibility with work app requirements
49
- - Follow work accessibility guidelines
50
- - Test performance with work-typical data sizes
51
-
52
- ## Quality Gates
53
- - All tests must pass with 100% coverage on main components
54
- - No linting errors
55
- - No TypeScript errors
56
- - Components must work with both base and work themes
57
- - Accessibility compliance for work environment
@@ -1,10 +0,0 @@
1
- import { useEffect } from 'react';
2
-
3
- export const useDeprecation = (message: string, cond = true) => {
4
- useEffect(() => {
5
- // eslint-disable-next-line no-console
6
- if (cond) {
7
- console.warn(message);
8
- }
9
- }, [message, cond]);
10
- };