@eifi1/ui-kit 0.26.0 → 0.27.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 (158) hide show
  1. package/README.md +15 -4
  2. package/dist/chart.d.ts +13 -9
  3. package/dist/components/account-chips.d.ts +1 -1
  4. package/dist/components/amount-input.d.ts +13 -9
  5. package/dist/components/button-group.d.ts +13 -9
  6. package/dist/components/calculator.d.ts +13 -9
  7. package/dist/components/confirm-dialog.d.ts +13 -9
  8. package/dist/components/copy-button.d.ts +10 -6
  9. package/dist/components/danger-confirm.d.ts +13 -9
  10. package/dist/components/data-table-cells.d.ts +1 -1
  11. package/dist/components/data-table-filter-popover.d.ts +1 -1
  12. package/dist/components/data-table-filters.d.ts +1 -1
  13. package/dist/components/data-table-labels.d.ts +1 -1
  14. package/dist/components/data-table-pagination.d.ts +1 -1
  15. package/dist/components/data-table.d.ts +1 -1
  16. package/dist/components/data-table.js.map +1 -1
  17. package/dist/components/facing-pair.d.ts +13 -9
  18. package/dist/components/file-button.d.ts +13 -9
  19. package/dist/components/file-dropzone.d.ts +13 -9
  20. package/dist/components/form-actions.d.ts +13 -9
  21. package/dist/components/iban-input.d.ts +13 -9
  22. package/dist/components/language-select.d.ts +13 -9
  23. package/dist/components/money-field.d.ts +13 -9
  24. package/dist/components/number-field.d.ts +13 -9
  25. package/dist/components/number-input.d.ts +13 -9
  26. package/dist/components/numpad-sheet.d.ts +13 -9
  27. package/dist/components/phone-input.d.ts +13 -9
  28. package/dist/components/series-chart.d.ts +13 -9
  29. package/dist/components/settings-fields.d.ts +13 -9
  30. package/dist/components/share-card.d.ts +13 -9
  31. package/dist/components/text-link.d.ts +13 -9
  32. package/dist/components/time-input.d.ts +13 -9
  33. package/dist/components/ui.d.ts +10 -6
  34. package/dist/components/use-table-state.d.ts +1 -1
  35. package/dist/{data-table-labels-Cdn1QS2k.d.ts → data-table-labels-DUELeXpa.d.ts} +5 -0
  36. package/dist/data-table.d.ts +1 -1
  37. package/dist/feedback/feedback-attachment.d.ts +13 -9
  38. package/dist/feedback/feedback-attachment.js +3 -3
  39. package/dist/feedback/feedback-attachment.js.map +1 -1
  40. package/dist/feedback/feedback-capture.d.ts +71 -0
  41. package/dist/feedback/feedback-capture.js +194 -0
  42. package/dist/feedback/feedback-capture.js.map +1 -0
  43. package/dist/feedback/feedback-context.d.ts +71 -0
  44. package/dist/feedback/feedback-context.js +96 -0
  45. package/dist/feedback/feedback-context.js.map +1 -0
  46. package/dist/feedback/feedback-crash.d.ts +276 -0
  47. package/dist/feedback/feedback-crash.js +225 -0
  48. package/dist/feedback/feedback-crash.js.map +1 -0
  49. package/dist/feedback/feedback-dialog.d.ts +13 -9
  50. package/dist/feedback/feedback-dialog.js +5 -3
  51. package/dist/feedback/feedback-dialog.js.map +1 -1
  52. package/dist/feedback/feedback-inbox.d.ts +13 -9
  53. package/dist/feedback/feedback-inbox.js +89 -49
  54. package/dist/feedback/feedback-inbox.js.map +1 -1
  55. package/dist/feedback/feedback-labels.d.ts +71 -0
  56. package/dist/feedback/feedback-labels.js +48 -0
  57. package/dist/feedback/feedback-labels.js.map +1 -0
  58. package/dist/feedback/feedback-menu.d.ts +71 -0
  59. package/dist/feedback/feedback-menu.js +61 -0
  60. package/dist/feedback/feedback-menu.js.map +1 -0
  61. package/dist/feedback/feedback-record.d.ts +71 -0
  62. package/dist/feedback/feedback-record.js +104 -0
  63. package/dist/feedback/feedback-record.js.map +1 -0
  64. package/dist/feedback/feedback-row-detail.d.ts +71 -0
  65. package/dist/feedback/feedback-row-detail.js +437 -0
  66. package/dist/feedback/feedback-row-detail.js.map +1 -0
  67. package/dist/feedback/feedback-status-undo.d.ts +71 -0
  68. package/dist/feedback/feedback-status-undo.js +40 -0
  69. package/dist/feedback/feedback-status-undo.js.map +1 -0
  70. package/dist/feedback/feedback-submit.d.ts +182 -0
  71. package/dist/feedback/feedback-submit.js +101 -0
  72. package/dist/feedback/feedback-submit.js.map +1 -0
  73. package/dist/feedback/feedback-swipe.d.ts +152 -0
  74. package/dist/feedback/feedback-swipe.js +73 -0
  75. package/dist/feedback/feedback-swipe.js.map +1 -0
  76. package/dist/feedback/feedback-table.d.ts +71 -0
  77. package/dist/feedback/feedback-table.js +357 -0
  78. package/dist/feedback/feedback-table.js.map +1 -0
  79. package/dist/feedback/feedback-thread.d.ts +13 -9
  80. package/dist/feedback.d.ts +17 -9
  81. package/dist/feedback.js +11 -0
  82. package/dist/feedback.js.map +1 -1
  83. package/dist/hooks/use-file-drop.d.ts +13 -9
  84. package/dist/i18n/defaults.d.ts +13 -9
  85. package/dist/i18n/defaults.js +16 -0
  86. package/dist/i18n/defaults.js.map +1 -1
  87. package/dist/i18n/german.d.ts +13 -9
  88. package/dist/i18n/german.js +91 -5
  89. package/dist/i18n/german.js.map +1 -1
  90. package/dist/i18n/kit-labels.d.ts +7 -3
  91. package/dist/i18n/kit-labels.js.map +1 -1
  92. package/dist/i18n/languages.d.ts +13 -9
  93. package/dist/i18n/locales/de-CH.d.ts +13 -9
  94. package/dist/i18n/locales/en.d.ts +13 -9
  95. package/dist/i18n/locales/en.js +10 -1
  96. package/dist/i18n/locales/en.js.map +1 -1
  97. package/dist/i18n/locales/es.d.ts +13 -9
  98. package/dist/i18n/locales/es.js +89 -5
  99. package/dist/i18n/locales/es.js.map +1 -1
  100. package/dist/i18n/locales/fr.d.ts +13 -9
  101. package/dist/i18n/locales/fr.js +89 -5
  102. package/dist/i18n/locales/fr.js.map +1 -1
  103. package/dist/i18n/locales/hu.d.ts +13 -9
  104. package/dist/i18n/locales/hu.js +90 -5
  105. package/dist/i18n/locales/hu.js.map +1 -1
  106. package/dist/i18n/locales/it.d.ts +13 -9
  107. package/dist/i18n/locales/it.js +89 -5
  108. package/dist/i18n/locales/it.js.map +1 -1
  109. package/dist/i18n/locales/zh.d.ts +13 -9
  110. package/dist/i18n/locales/zh.js +89 -5
  111. package/dist/i18n/locales/zh.js.map +1 -1
  112. package/dist/i18n/review.d.ts +16 -11
  113. package/dist/i18n/review.js +11 -0
  114. package/dist/i18n/review.js.map +1 -1
  115. package/dist/i18n/swiss.js +3 -1
  116. package/dist/i18n/swiss.js.map +1 -1
  117. package/dist/index.d.ts +6 -2
  118. package/dist/index.js +11 -0
  119. package/dist/index.js.map +1 -1
  120. package/dist/{feedback-BXKH-ToU.d.ts → kit-labels-DQg82eHB.d.ts} +1275 -25
  121. package/dist/rhf/fields.d.ts +13 -9
  122. package/dist/rhf/form.d.ts +13 -9
  123. package/dist/rhf.d.ts +13 -9
  124. package/dist/shell/app-shell.d.ts +13 -9
  125. package/dist/shell/top-bar-brand.d.ts +13 -9
  126. package/dist/shell.d.ts +11 -11
  127. package/dist/wizard/stepper-nav.d.ts +13 -9
  128. package/dist/wizard.d.ts +13 -9
  129. package/package.json +6 -1
  130. package/src/components/data-table.tsx +5 -0
  131. package/src/feedback/feedback-attachment.tsx +19 -3
  132. package/src/feedback/feedback-capture.ts +285 -0
  133. package/src/feedback/feedback-context.tsx +217 -0
  134. package/src/feedback/feedback-crash.ts +547 -0
  135. package/src/feedback/feedback-dialog.tsx +29 -6
  136. package/src/feedback/feedback-inbox.tsx +131 -27
  137. package/src/feedback/feedback-labels.ts +127 -0
  138. package/src/feedback/feedback-menu.tsx +132 -0
  139. package/src/feedback/feedback-record.ts +345 -0
  140. package/src/feedback/feedback-row-detail.tsx +825 -0
  141. package/src/feedback/feedback-status-undo.ts +111 -0
  142. package/src/feedback/feedback-submit.tsx +224 -0
  143. package/src/feedback/feedback-swipe.tsx +170 -0
  144. package/src/feedback/feedback-table.tsx +757 -0
  145. package/src/feedback.ts +13 -0
  146. package/src/i18n/defaults.ts +16 -0
  147. package/src/i18n/german.ts +98 -5
  148. package/src/i18n/kit-labels.tsx +20 -0
  149. package/src/i18n/locales/en.ts +15 -1
  150. package/src/i18n/locales/es.ts +96 -5
  151. package/src/i18n/locales/fr.ts +95 -5
  152. package/src/i18n/locales/hu.ts +94 -5
  153. package/src/i18n/locales/it.ts +97 -5
  154. package/src/i18n/locales/zh.ts +90 -5
  155. package/src/i18n/review.ts +14 -2
  156. package/src/i18n/swiss.ts +5 -1
  157. package/src/index.ts +13 -0
  158. package/tokens.css +4 -0
@@ -1,7 +1,7 @@
1
1
  import * as react from 'react';
2
2
  import { ReactNode, ReactElement } from 'react';
3
3
  import { FieldValues, FieldPath, ControllerProps, ControllerRenderProps, ControllerFieldState } from 'react-hook-form';
4
- import { bK as IbanInputProps, c5 as PhoneInputProps, c9 as SelectProps, bU as InputProps, cu as TextareaProps } from '../feedback-BXKH-ToU.js';
4
+ import { d6 as IbanInputProps, du as PhoneInputProps, dy as SelectProps, dg as InputProps, dT as TextareaProps } from '../kit-labels-DQg82eHB.js';
5
5
  import { NumberFieldProps } from '../components/number-field.js';
6
6
  import { DatePickerProps, DateRangePickerProps } from '../components/date-picker.js';
7
7
  import { TimeInputProps } from '../components/time-input.js';
@@ -12,10 +12,7 @@ import { CheckboxProps } from '../components/checkbox.js';
12
12
  import { EntityComboboxProps } from '../components/entity-combobox.js';
13
13
  import { InlineEntityComboboxProps, ComboboxProps } from '../components/combobox.js';
14
14
  import { ComboClearValue } from '../components/combobox-core.js';
15
- import '../components/tooltip.js';
16
- import '../hooks/use-anchored-rect.js';
17
- import '../lib/clipping.js';
18
- import '../data-table-labels-Cdn1QS2k.js';
15
+ import '../data-table-labels-DUELeXpa.js';
19
16
  import '../components/data-table-sort.js';
20
17
  import '../components/swipeable-row.js';
21
18
  import '../components/mini-calendar.js';
@@ -24,6 +21,9 @@ import '../components/popover.js';
24
21
  import '../components/chip.js';
25
22
  import 'lucide-react';
26
23
  import '../components/field-sync.js';
24
+ import '../components/tooltip.js';
25
+ import '../hooks/use-anchored-rect.js';
26
+ import '../lib/clipping.js';
27
27
  import '../wizard/types.js';
28
28
  import '../tour/tour.js';
29
29
  import '../search/command-palette.js';
@@ -43,19 +43,23 @@ import '../components/dialog-frame.js';
43
43
  import '../components/modal.js';
44
44
  import '../hooks/use-search-param-state.js';
45
45
  import '../components/measured-grid.js';
46
- import '../components/account-settings-labels.js';
46
+ import '../components/user-avatar.js';
47
+ import '../components/status-dot.js';
48
+ import '../components/progress-bar.js';
49
+ import '../components/signed-amount.js';
50
+ import '../shell/topbar-action-menu.js';
51
+ import '../components/menu-item.js';
47
52
  import '../components/floating-panel.js';
53
+ import '../hooks/use-authed-src.js';
54
+ import '../components/account-settings-labels.js';
48
55
  import '../components/bulk-action-bar.js';
49
56
  import '../components/list.js';
50
- import '../components/signed-amount.js';
51
57
  import '../components/breadcrumbs.js';
52
58
  import '../components/toast.js';
53
59
  import '../components/description-list.js';
54
60
  import '../components/line-items.js';
55
- import '../components/progress-bar.js';
56
61
  import '../components/error-boundary.js';
57
62
  import '../components/authed-image.js';
58
- import '../hooks/use-authed-src.js';
59
63
  import '../components/image-grid.js';
60
64
  import '../components/lightbox.js';
61
65
  import '../components/write-lock.js';
@@ -2,11 +2,8 @@ import * as react from 'react';
2
2
  import { ReactElement, ComponentProps } from 'react';
3
3
  import * as react_hook_form from 'react-hook-form';
4
4
  import { FieldValues, FieldPath, ControllerProps } from 'react-hook-form';
5
- import { b$ as LabelProps } from '../feedback-BXKH-ToU.js';
6
- import '../components/tooltip.js';
7
- import '../hooks/use-anchored-rect.js';
8
- import '../lib/clipping.js';
9
- import '../data-table-labels-Cdn1QS2k.js';
5
+ import { dn as LabelProps } from '../kit-labels-DQg82eHB.js';
6
+ import '../data-table-labels-DUELeXpa.js';
10
7
  import '../components/data-table-sort.js';
11
8
  import '../components/swipeable-row.js';
12
9
  import '../components/mini-calendar.js';
@@ -15,6 +12,9 @@ import '../components/popover.js';
15
12
  import '../components/chip.js';
16
13
  import 'lucide-react';
17
14
  import '../components/field-sync.js';
15
+ import '../components/tooltip.js';
16
+ import '../hooks/use-anchored-rect.js';
17
+ import '../lib/clipping.js';
18
18
  import '../wizard/types.js';
19
19
  import '../tour/tour.js';
20
20
  import '../search/command-palette.js';
@@ -35,19 +35,23 @@ import '../components/dialog-frame.js';
35
35
  import '../components/modal.js';
36
36
  import '../hooks/use-search-param-state.js';
37
37
  import '../components/measured-grid.js';
38
- import '../components/account-settings-labels.js';
38
+ import '../components/user-avatar.js';
39
+ import '../components/status-dot.js';
40
+ import '../components/progress-bar.js';
41
+ import '../components/signed-amount.js';
42
+ import '../shell/topbar-action-menu.js';
43
+ import '../components/menu-item.js';
39
44
  import '../components/floating-panel.js';
45
+ import '../hooks/use-authed-src.js';
46
+ import '../components/account-settings-labels.js';
40
47
  import '../components/bulk-action-bar.js';
41
48
  import '../components/list.js';
42
- import '../components/signed-amount.js';
43
49
  import '../components/breadcrumbs.js';
44
50
  import '../components/toast.js';
45
51
  import '../components/description-list.js';
46
52
  import '../components/line-items.js';
47
- import '../components/progress-bar.js';
48
53
  import '../components/error-boundary.js';
49
54
  import '../components/authed-image.js';
50
- import '../hooks/use-authed-src.js';
51
55
  import '../components/image-grid.js';
52
56
  import '../components/lightbox.js';
53
57
  import '../components/write-lock.js';
package/dist/rhf.d.ts CHANGED
@@ -4,11 +4,8 @@ export { RhfCheckbox, RhfCheckboxProps, RhfCombobox, RhfComboboxProps, RhfCountr
4
4
  export { RhfLineItemCellContext, RhfLineItems, RhfLineItemsColumn, RhfLineItemsProps } from './rhf/line-items.js';
5
5
  import 'react';
6
6
  import 'react-hook-form';
7
- import './feedback-BXKH-ToU.js';
8
- import './components/tooltip.js';
9
- import './hooks/use-anchored-rect.js';
10
- import './lib/clipping.js';
11
- import './data-table-labels-Cdn1QS2k.js';
7
+ import './kit-labels-DQg82eHB.js';
8
+ import './data-table-labels-DUELeXpa.js';
12
9
  import './components/data-table-sort.js';
13
10
  import './components/swipeable-row.js';
14
11
  import './components/mini-calendar.js';
@@ -17,6 +14,9 @@ import './components/popover.js';
17
14
  import './components/chip.js';
18
15
  import 'lucide-react';
19
16
  import './components/field-sync.js';
17
+ import './components/tooltip.js';
18
+ import './hooks/use-anchored-rect.js';
19
+ import './lib/clipping.js';
20
20
  import './wizard/types.js';
21
21
  import './tour/tour.js';
22
22
  import './search/command-palette.js';
@@ -37,19 +37,23 @@ import './components/dialog-frame.js';
37
37
  import './components/modal.js';
38
38
  import './hooks/use-search-param-state.js';
39
39
  import './components/measured-grid.js';
40
- import './components/account-settings-labels.js';
40
+ import './components/user-avatar.js';
41
+ import './components/status-dot.js';
42
+ import './components/progress-bar.js';
43
+ import './components/signed-amount.js';
44
+ import './shell/topbar-action-menu.js';
45
+ import './components/menu-item.js';
41
46
  import './components/floating-panel.js';
47
+ import './hooks/use-authed-src.js';
48
+ import './components/account-settings-labels.js';
42
49
  import './components/bulk-action-bar.js';
43
50
  import './components/list.js';
44
- import './components/signed-amount.js';
45
51
  import './components/breadcrumbs.js';
46
52
  import './components/toast.js';
47
53
  import './components/description-list.js';
48
54
  import './components/line-items.js';
49
- import './components/progress-bar.js';
50
55
  import './components/error-boundary.js';
51
56
  import './components/authed-image.js';
52
- import './hooks/use-authed-src.js';
53
57
  import './components/image-grid.js';
54
58
  import './components/lightbox.js';
55
59
  import './components/write-lock.js';
@@ -1,11 +1,8 @@
1
1
  import * as react from 'react';
2
2
  import { ComponentPropsWithoutRef, ReactNode } from 'react';
3
3
  import { LucideIcon } from 'lucide-react';
4
- import { bX as KitLinkComponent } from '../feedback-BXKH-ToU.js';
5
- import '../components/tooltip.js';
6
- import '../hooks/use-anchored-rect.js';
7
- import '../lib/clipping.js';
8
- import '../data-table-labels-Cdn1QS2k.js';
4
+ import { dj as KitLinkComponent } from '../kit-labels-DQg82eHB.js';
5
+ import '../data-table-labels-DUELeXpa.js';
9
6
  import '../components/data-table-sort.js';
10
7
  import '../components/swipeable-row.js';
11
8
  import '../components/mini-calendar.js';
@@ -13,6 +10,9 @@ import '../components/calendar-heatmap.js';
13
10
  import '../components/popover.js';
14
11
  import '../components/chip.js';
15
12
  import '../components/field-sync.js';
13
+ import '../components/tooltip.js';
14
+ import '../hooks/use-anchored-rect.js';
15
+ import '../lib/clipping.js';
16
16
  import '../wizard/types.js';
17
17
  import '../tour/tour.js';
18
18
  import '../search/command-palette.js';
@@ -33,19 +33,23 @@ import '../components/dialog-frame.js';
33
33
  import '../components/modal.js';
34
34
  import '../hooks/use-search-param-state.js';
35
35
  import '../components/measured-grid.js';
36
- import '../components/account-settings-labels.js';
36
+ import '../components/user-avatar.js';
37
+ import '../components/status-dot.js';
38
+ import '../components/progress-bar.js';
39
+ import '../components/signed-amount.js';
40
+ import './topbar-action-menu.js';
41
+ import '../components/menu-item.js';
37
42
  import '../components/floating-panel.js';
43
+ import '../hooks/use-authed-src.js';
44
+ import '../components/account-settings-labels.js';
38
45
  import '../components/bulk-action-bar.js';
39
46
  import '../components/list.js';
40
- import '../components/signed-amount.js';
41
47
  import '../components/breadcrumbs.js';
42
48
  import '../components/toast.js';
43
49
  import '../components/description-list.js';
44
50
  import '../components/line-items.js';
45
- import '../components/progress-bar.js';
46
51
  import '../components/error-boundary.js';
47
52
  import '../components/authed-image.js';
48
- import '../hooks/use-authed-src.js';
49
53
  import '../components/image-grid.js';
50
54
  import '../components/lightbox.js';
51
55
  import '../components/write-lock.js';
@@ -1,10 +1,7 @@
1
1
  import * as react from 'react';
2
2
  import { ReactNode } from 'react';
3
- import { bY as KitLinkProps, bX as KitLinkComponent } from '../feedback-BXKH-ToU.js';
4
- import '../components/tooltip.js';
5
- import '../hooks/use-anchored-rect.js';
6
- import '../lib/clipping.js';
7
- import '../data-table-labels-Cdn1QS2k.js';
3
+ import { dk as KitLinkProps, dj as KitLinkComponent } from '../kit-labels-DQg82eHB.js';
4
+ import '../data-table-labels-DUELeXpa.js';
8
5
  import '../components/data-table-sort.js';
9
6
  import '../components/swipeable-row.js';
10
7
  import '../components/mini-calendar.js';
@@ -13,6 +10,9 @@ import '../components/popover.js';
13
10
  import '../components/chip.js';
14
11
  import 'lucide-react';
15
12
  import '../components/field-sync.js';
13
+ import '../components/tooltip.js';
14
+ import '../hooks/use-anchored-rect.js';
15
+ import '../lib/clipping.js';
16
16
  import '../wizard/types.js';
17
17
  import '../tour/tour.js';
18
18
  import '../search/command-palette.js';
@@ -33,19 +33,23 @@ import '../components/dialog-frame.js';
33
33
  import '../components/modal.js';
34
34
  import '../hooks/use-search-param-state.js';
35
35
  import '../components/measured-grid.js';
36
- import '../components/account-settings-labels.js';
36
+ import '../components/user-avatar.js';
37
+ import '../components/status-dot.js';
38
+ import '../components/progress-bar.js';
39
+ import '../components/signed-amount.js';
40
+ import './topbar-action-menu.js';
41
+ import '../components/menu-item.js';
37
42
  import '../components/floating-panel.js';
43
+ import '../hooks/use-authed-src.js';
44
+ import '../components/account-settings-labels.js';
38
45
  import '../components/bulk-action-bar.js';
39
46
  import '../components/list.js';
40
- import '../components/signed-amount.js';
41
47
  import '../components/breadcrumbs.js';
42
48
  import '../components/toast.js';
43
49
  import '../components/description-list.js';
44
50
  import '../components/line-items.js';
45
- import '../components/progress-bar.js';
46
51
  import '../components/error-boundary.js';
47
52
  import '../components/authed-image.js';
48
- import '../hooks/use-authed-src.js';
49
53
  import '../components/image-grid.js';
50
54
  import '../components/lightbox.js';
51
55
  import '../components/write-lock.js';
package/dist/shell.d.ts CHANGED
@@ -13,11 +13,8 @@ import './theme/theme-store.js';
13
13
  import 'zustand/middleware';
14
14
  import 'zustand';
15
15
  import 'lucide-react';
16
- import './feedback-BXKH-ToU.js';
17
- import './components/tooltip.js';
18
- import './hooks/use-anchored-rect.js';
19
- import './lib/clipping.js';
20
- import './data-table-labels-Cdn1QS2k.js';
16
+ import './kit-labels-DQg82eHB.js';
17
+ import './data-table-labels-DUELeXpa.js';
21
18
  import './components/data-table-sort.js';
22
19
  import './components/swipeable-row.js';
23
20
  import './components/mini-calendar.js';
@@ -25,6 +22,9 @@ import './components/calendar-heatmap.js';
25
22
  import './components/popover.js';
26
23
  import './components/chip.js';
27
24
  import './components/field-sync.js';
25
+ import './components/tooltip.js';
26
+ import './hooks/use-anchored-rect.js';
27
+ import './lib/clipping.js';
28
28
  import './wizard/types.js';
29
29
  import './tour/tour.js';
30
30
  import './search/command-palette.js';
@@ -45,19 +45,21 @@ import './components/dialog-frame.js';
45
45
  import './components/modal.js';
46
46
  import './hooks/use-search-param-state.js';
47
47
  import './components/measured-grid.js';
48
- import './components/account-settings-labels.js';
48
+ import './components/user-avatar.js';
49
+ import './components/status-dot.js';
50
+ import './components/progress-bar.js';
51
+ import './components/signed-amount.js';
49
52
  import './components/floating-panel.js';
53
+ import './hooks/use-authed-src.js';
54
+ import './components/account-settings-labels.js';
50
55
  import './components/bulk-action-bar.js';
51
56
  import './components/list.js';
52
- import './components/signed-amount.js';
53
57
  import './components/breadcrumbs.js';
54
58
  import './components/toast.js';
55
59
  import './components/description-list.js';
56
60
  import './components/line-items.js';
57
- import './components/progress-bar.js';
58
61
  import './components/error-boundary.js';
59
62
  import './components/authed-image.js';
60
- import './hooks/use-authed-src.js';
61
63
  import './components/image-grid.js';
62
64
  import './components/lightbox.js';
63
65
  import './components/write-lock.js';
@@ -79,5 +81,3 @@ import './lib/column-mapping.js';
79
81
  import './lib/table-text.js';
80
82
  import './components/field-parts.js';
81
83
  import './components/menu-item.js';
82
- import './components/user-avatar.js';
83
- import './components/status-dot.js';
@@ -1,11 +1,8 @@
1
1
  import * as react from 'react';
2
2
  import { ReactNode, ReactElement } from 'react';
3
- import { f as ButtonVariant } from '../feedback-BXKH-ToU.js';
3
+ import { bA as ButtonVariant } from '../kit-labels-DQg82eHB.js';
4
4
  import { UseWizardReturn, WizardLabels } from './types.js';
5
- import '../components/tooltip.js';
6
- import '../hooks/use-anchored-rect.js';
7
- import '../lib/clipping.js';
8
- import '../data-table-labels-Cdn1QS2k.js';
5
+ import '../data-table-labels-DUELeXpa.js';
9
6
  import '../components/data-table-sort.js';
10
7
  import '../components/swipeable-row.js';
11
8
  import '../components/mini-calendar.js';
@@ -14,6 +11,9 @@ import '../components/popover.js';
14
11
  import '../components/chip.js';
15
12
  import 'lucide-react';
16
13
  import '../components/field-sync.js';
14
+ import '../components/tooltip.js';
15
+ import '../hooks/use-anchored-rect.js';
16
+ import '../lib/clipping.js';
17
17
  import '../tour/tour.js';
18
18
  import '../search/command-palette.js';
19
19
  import '../search/global-search.js';
@@ -33,19 +33,23 @@ import '../components/dialog-frame.js';
33
33
  import '../components/modal.js';
34
34
  import '../hooks/use-search-param-state.js';
35
35
  import '../components/measured-grid.js';
36
- import '../components/account-settings-labels.js';
36
+ import '../components/user-avatar.js';
37
+ import '../components/status-dot.js';
38
+ import '../components/progress-bar.js';
39
+ import '../components/signed-amount.js';
40
+ import '../shell/topbar-action-menu.js';
41
+ import '../components/menu-item.js';
37
42
  import '../components/floating-panel.js';
43
+ import '../hooks/use-authed-src.js';
44
+ import '../components/account-settings-labels.js';
38
45
  import '../components/bulk-action-bar.js';
39
46
  import '../components/list.js';
40
- import '../components/signed-amount.js';
41
47
  import '../components/breadcrumbs.js';
42
48
  import '../components/toast.js';
43
49
  import '../components/description-list.js';
44
50
  import '../components/line-items.js';
45
- import '../components/progress-bar.js';
46
51
  import '../components/error-boundary.js';
47
52
  import '../components/authed-image.js';
48
- import '../hooks/use-authed-src.js';
49
53
  import '../components/image-grid.js';
50
54
  import '../components/lightbox.js';
51
55
  import '../components/write-lock.js';
package/dist/wizard.d.ts CHANGED
@@ -6,11 +6,8 @@ export { WizardStep, WizardStepProps } from './wizard/wizard-step.js';
6
6
  export { WizardSummary } from './wizard/wizard-summary.js';
7
7
  export { StepperNav } from './wizard/stepper-nav.js';
8
8
  import 'react';
9
- import './feedback-BXKH-ToU.js';
10
- import './components/tooltip.js';
11
- import './hooks/use-anchored-rect.js';
12
- import './lib/clipping.js';
13
- import './data-table-labels-Cdn1QS2k.js';
9
+ import './kit-labels-DQg82eHB.js';
10
+ import './data-table-labels-DUELeXpa.js';
14
11
  import './components/data-table-sort.js';
15
12
  import './components/swipeable-row.js';
16
13
  import './components/mini-calendar.js';
@@ -19,6 +16,9 @@ import './components/popover.js';
19
16
  import './components/chip.js';
20
17
  import 'lucide-react';
21
18
  import './components/field-sync.js';
19
+ import './components/tooltip.js';
20
+ import './hooks/use-anchored-rect.js';
21
+ import './lib/clipping.js';
22
22
  import './tour/tour.js';
23
23
  import './search/command-palette.js';
24
24
  import './search/global-search.js';
@@ -38,19 +38,23 @@ import './components/dialog-frame.js';
38
38
  import './components/modal.js';
39
39
  import './hooks/use-search-param-state.js';
40
40
  import './components/measured-grid.js';
41
- import './components/account-settings-labels.js';
41
+ import './components/user-avatar.js';
42
+ import './components/status-dot.js';
43
+ import './components/progress-bar.js';
44
+ import './components/signed-amount.js';
45
+ import './shell/topbar-action-menu.js';
46
+ import './components/menu-item.js';
42
47
  import './components/floating-panel.js';
48
+ import './hooks/use-authed-src.js';
49
+ import './components/account-settings-labels.js';
43
50
  import './components/bulk-action-bar.js';
44
51
  import './components/list.js';
45
- import './components/signed-amount.js';
46
52
  import './components/breadcrumbs.js';
47
53
  import './components/toast.js';
48
54
  import './components/description-list.js';
49
55
  import './components/line-items.js';
50
- import './components/progress-bar.js';
51
56
  import './components/error-boundary.js';
52
57
  import './components/authed-image.js';
53
- import './hooks/use-authed-src.js';
54
58
  import './components/image-grid.js';
55
59
  import './components/lightbox.js';
56
60
  import './components/write-lock.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eifi1/ui-kit",
3
- "version": "0.26.0",
3
+ "version": "0.27.0",
4
4
  "type": "module",
5
5
  "description": "App-agnostic shared design system: domain-free React components, theme and tokens.",
6
6
  "_sideEffects": "The barrel (src/index.ts) re-exports EVERY component, including components/chart, which statically imports recharts. Without this field a bundler must assume each of those modules has side effects, so it cannot drop the unused ones: importing a Button from '@eifi1/ui-kit' dragged all 433KB of recharts into the consumer's ENTRY chunk, and Keksdose was preloading it on every page load, login included. Nothing in src/ imports for side effects (no bare imports, no CSS imports from JS, no module-level global writes) — the token stylesheet is its own './tokens.css' export — so this is safe. CSS is still listed so any future stylesheet survives. Re-checked when `flag-icons` left `dependencies` and tsup started emitting a `\"use client\"` banner: neither touches this. The flag stylesheet was never imported from JS in the first place (that was the finding), and a directive prologue is a string literal every bundler lifts out before it decides whether a module is inert.",
@@ -99,6 +99,7 @@
99
99
  },
100
100
  "peerDependencies": {
101
101
  "lucide-react": ">=0.400.0 <2",
102
+ "modern-screenshot": "^4.7.0",
102
103
  "react": ">=19",
103
104
  "react-dom": ">=19",
104
105
  "react-hook-form": "^7.55.0",
@@ -107,6 +108,9 @@
107
108
  "sonner": ">=2"
108
109
  },
109
110
  "peerDependenciesMeta": {
111
+ "modern-screenshot": {
112
+ "optional": true
113
+ },
110
114
  "react-hook-form": {
111
115
  "optional": true
112
116
  },
@@ -142,6 +146,7 @@
142
146
  "husky": "^9.1.7",
143
147
  "jsdom": "^30.0.1",
144
148
  "lucide-react": "^1.47.0",
149
+ "modern-screenshot": "^4.7.0",
145
150
  "react-hook-form": "^7.88.0",
146
151
  "react-router": "^8.3.0",
147
152
  "recharts": "^3.8.1",
@@ -399,6 +399,11 @@ export interface DataTableProps<T> {
399
399
  * key/value rows) with a compact custom layout, while keeping the shared
400
400
  * clickable/expandable row wrapper. Use when the stacked label/value grid
401
401
  * wastes space (feedback #317). Desktop is unaffected.
402
+ *
403
+ * It replaces the WHOLE body, `mobilePrimary` included: a column's
404
+ * `mobilePrimary` cell is not drawn when `mobileCard` is set, so anything that
405
+ * cell carried (keksdose's environment and rework chips, 0.27) must be drawn by
406
+ * the card itself — as `FeedbackMobileCard` does.
402
407
  */
403
408
  mobileCard?: (row: T) => ReactNode;
404
409
  /**
@@ -65,16 +65,32 @@ export interface FeedbackAttachmentFieldLabels {
65
65
  attachmentUploadFailed?: (name: string) => string;
66
66
  }
67
67
 
68
+ /**
69
+ * English, in the feedback contract's wording since 0.27.0 (docs/feedback-harmonization.md
70
+ * §4.2: keksdose's `feedback.*` keys are the canon, and the kit owns them now). Three
71
+ * strings moved with it:
72
+ *
73
+ * - `attachmentAdd` "Attach image" → **"Add attachment"**: the field takes a PDF or a text
74
+ * log as well wherever the app passes `FEEDBACK_ATTACHMENT_ACCEPT` (keksdose feedback
75
+ * #87), and a button that says "image" over a picker that offers a PDF is wrong in one
76
+ * of the two places.
77
+ * - `attachmentPaste` → keksdose's longer line, which says WHY one would paste — a region
78
+ * snip shows one corner rather than the whole page (Steering Design feedback #39).
79
+ * - `attachmentLimit` for one: "remove **it**", as keksdose's `attachments_full_one`;
80
+ * "remove one" of a single file read oddly.
81
+ */
68
82
  export const DEFAULT_FEEDBACK_ATTACHMENT_LABELS: FeedbackAttachmentFieldLabels = {
69
- attachmentAdd: "Attach image",
83
+ attachmentAdd: "Add attachment",
70
84
  attachmentCapture: "Capture screenshot",
71
- attachmentPaste: "…or paste a screenshot from the clipboard.",
85
+ attachmentPaste: "…or paste a screenshot straight from the clipboard, so you can show one corner rather than the whole page.",
72
86
  attachmentRemove: "Remove attachment",
73
87
  attachmentList: "Attachments",
74
88
  attachmentScreenshot: "Screenshot",
75
89
  attachmentRemoveFile: (name) => `Remove ${name}`,
76
90
  attachmentLimit: (max) =>
77
- `Up to ${max} ${max === 1 ? "attachment" : "attachments"} — remove one to add another.`,
91
+ max === 1
92
+ ? "Up to 1 attachment — remove it to add another."
93
+ : `Up to ${max} attachments — remove one to add another.`,
78
94
  attachmentUploading: "Uploading…",
79
95
  attachmentUploadFailed: (name) => `“${name}” could not be uploaded`,
80
96
  };