@igne-agency/react-web-ui 0.4.0 → 0.6.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 (257) hide show
  1. package/dist/base.css +3 -0
  2. package/dist/components/accordion/accordion.css +21 -21
  3. package/dist/components/accordion/accordion.d.ts +17 -4
  4. package/dist/components/accordion/accordion.js +83 -36
  5. package/dist/components/accordion/accordion.module.js +6 -6
  6. package/dist/components/attachment-tile/attachment-preview.d.ts +56 -13
  7. package/dist/components/attachment-tile/attachment-preview.js +388 -119
  8. package/dist/components/attachment-tile/attachment-tile.css +31 -25
  9. package/dist/components/attachment-tile/attachment-tile.d.ts +32 -10
  10. package/dist/components/attachment-tile/attachment-tile.js +160 -43
  11. package/dist/components/attachment-tile/attachment-tile.module.js +8 -8
  12. package/dist/components/attachment-tile/index.d.ts +1 -1
  13. package/dist/components/avatar/avatar.css +9 -9
  14. package/dist/components/avatar/avatar.d.ts +50 -5
  15. package/dist/components/avatar/avatar.js +178 -64
  16. package/dist/components/avatar/avatar.module.js +3 -3
  17. package/dist/components/avatar-group/avatar-group-context.d.ts +2 -4
  18. package/dist/components/avatar-group/avatar-group-context.js +2 -2
  19. package/dist/components/avatar-group/avatar-group.css +26 -20
  20. package/dist/components/avatar-group/avatar-group.d.ts +85 -27
  21. package/dist/components/avatar-group/avatar-group.js +400 -246
  22. package/dist/components/avatar-group/avatar-group.module.js +8 -8
  23. package/dist/components/breadcrumbs/breadcrumbs.css +12 -12
  24. package/dist/components/breadcrumbs/breadcrumbs.d.ts +69 -23
  25. package/dist/components/breadcrumbs/breadcrumbs.js +299 -248
  26. package/dist/components/breadcrumbs/breadcrumbs.module.js +8 -8
  27. package/dist/components/button/button.css +29 -31
  28. package/dist/components/button/button.d.ts +20 -16
  29. package/dist/components/button/button.js +140 -145
  30. package/dist/components/button/button.module.js +1 -1
  31. package/dist/components/button/index.js +1 -1
  32. package/dist/components/checkbox-field/checkbox-field.js +63 -49
  33. package/dist/components/checkbox-field/checkbox.css +105 -56
  34. package/dist/components/checkbox-field/checkbox.d.ts +3 -2
  35. package/dist/components/checkbox-field/checkbox.js +12 -9
  36. package/dist/components/checkbox-field/checkbox.module.js +4 -4
  37. package/dist/components/checkbox-group-field/checkbox-group-field.js +78 -72
  38. package/dist/components/checkbox-group-field/checkbox-group.css +14 -10
  39. package/dist/components/checkbox-group-field/checkbox-group.d.ts +2 -2
  40. package/dist/components/checkbox-group-field/checkbox-group.js +2 -2
  41. package/dist/components/checkbox-group-field/checkbox-group.module.js +2 -2
  42. package/dist/components/collapsible/collapsible.css +20 -20
  43. package/dist/components/collapsible/collapsible.d.ts +17 -4
  44. package/dist/components/collapsible/collapsible.js +83 -36
  45. package/dist/components/collapsible/collapsible.module.js +5 -5
  46. package/dist/components/combobox-field/combobox-field.js +206 -158
  47. package/dist/components/combobox-field/combobox.css +492 -277
  48. package/dist/components/combobox-field/combobox.d.ts +148 -39
  49. package/dist/components/combobox-field/combobox.js +506 -206
  50. package/dist/components/combobox-field/combobox.module.js +21 -21
  51. package/dist/components/combobox-field/value-state-view.css +5 -5
  52. package/dist/components/combobox-field/value-state-view.module.js +4 -4
  53. package/dist/components/composer/composer-attachments.d.ts +30 -11
  54. package/dist/components/composer/composer-attachments.js +45 -40
  55. package/dist/components/composer/composer-editor.css +40 -35
  56. package/dist/components/composer/composer-editor.d.ts +14 -4
  57. package/dist/components/composer/composer-editor.js +134 -44
  58. package/dist/components/composer/composer-editor.module.js +5 -5
  59. package/dist/components/composer/composer.css +22 -22
  60. package/dist/components/composer/composer.d.ts +13 -2
  61. package/dist/components/composer/composer.js +78 -63
  62. package/dist/components/composer/composer.module.js +5 -5
  63. package/dist/components/composer/index.d.ts +2 -2
  64. package/dist/components/composer/mention-text.css +5 -5
  65. package/dist/components/composer/mention-text.module.js +1 -1
  66. package/dist/components/confirm-dialog/confirm-dialog.css +29 -29
  67. package/dist/components/confirm-dialog/confirm-dialog.d.ts +57 -3
  68. package/dist/components/confirm-dialog/confirm-dialog.js +266 -108
  69. package/dist/components/confirm-dialog/confirm-dialog.module.js +5 -5
  70. package/dist/components/conversation/conversation.css +52 -52
  71. package/dist/components/conversation/conversation.d.ts +43 -18
  72. package/dist/components/conversation/conversation.js +120 -78
  73. package/dist/components/conversation/conversation.module.js +15 -15
  74. package/dist/components/date-field/date-field.d.ts +1 -1
  75. package/dist/components/date-field/date-field.js +202 -100
  76. package/dist/components/date-field/date-input.d.ts +73 -37
  77. package/dist/components/date-field/date-input.js +72 -45
  78. package/dist/components/date-field/index.d.ts +1 -1
  79. package/dist/components/date-range-field/date-range-field.d.ts +1 -1
  80. package/dist/components/date-range-field/date-range-field.js +219 -107
  81. package/dist/components/date-range-field/date-range-input.d.ts +84 -40
  82. package/dist/components/date-range-field/date-range-input.js +83 -48
  83. package/dist/components/dialog/dialog.css +32 -32
  84. package/dist/components/dialog/dialog.d.ts +8 -7
  85. package/dist/components/dialog/dialog.js +8 -26
  86. package/dist/components/dialog/dialog.module.js +6 -6
  87. package/dist/components/divider/divider.css +6 -6
  88. package/dist/components/divider/divider.d.ts +36 -2
  89. package/dist/components/divider/divider.js +195 -29
  90. package/dist/components/divider/divider.module.js +3 -3
  91. package/dist/components/drawer/drawer.css +55 -56
  92. package/dist/components/drawer/drawer.d.ts +8 -7
  93. package/dist/components/drawer/drawer.js +8 -26
  94. package/dist/components/drawer/drawer.module.js +6 -6
  95. package/dist/components/field/field.css +34 -24
  96. package/dist/components/field/field.d.ts +60 -37
  97. package/dist/components/field/field.js +242 -157
  98. package/dist/components/field/field.module.js +12 -10
  99. package/dist/components/field/input-parts.d.ts +11 -13
  100. package/dist/components/field/input-parts.js +23 -42
  101. package/dist/components/field-placeholder/field-placeholder.css +6 -6
  102. package/dist/components/field-placeholder/field-placeholder.module.js +4 -4
  103. package/dist/components/fieldset/field-group.d.ts +1 -1
  104. package/dist/components/fieldset/field-group.js +48 -42
  105. package/dist/components/fieldset/fieldset-root.d.ts +1 -1
  106. package/dist/components/fieldset/fieldset-root.js +19 -17
  107. package/dist/components/fieldset/fieldset.d.ts +2 -2
  108. package/dist/components/fieldset/fieldset.js +2 -2
  109. package/dist/components/file-field/file-field.css +126 -60
  110. package/dist/components/file-field/file-field.js +201 -109
  111. package/dist/components/file-field/file-field.module.js +4 -4
  112. package/dist/components/file-field/file-input.d.ts +66 -40
  113. package/dist/components/file-field/file-input.js +188 -132
  114. package/dist/components/filter-bar/filter-bar.css +8 -8
  115. package/dist/components/filter-bar/filter-bar.d.ts +12 -3
  116. package/dist/components/filter-bar/filter-bar.js +23 -25
  117. package/dist/components/filter-bar/filter-bar.module.js +5 -5
  118. package/dist/components/form/form.d.ts +19 -7
  119. package/dist/components/form/form.js +80 -29
  120. package/dist/components/icon/icon.css +2 -2
  121. package/dist/components/icon/icon.module.js +1 -1
  122. package/dist/components/link/link.css +6 -5
  123. package/dist/components/link/link.module.js +1 -1
  124. package/dist/components/menu/menu.css +52 -47
  125. package/dist/components/menu/menu.d.ts +32 -25
  126. package/dist/components/menu/menu.js +75 -124
  127. package/dist/components/menu/menu.module.js +8 -8
  128. package/dist/components/nav/nav-context.d.ts +1 -1
  129. package/dist/components/nav/nav-item-view.d.ts +10 -13
  130. package/dist/components/nav/nav-item-view.js +42 -54
  131. package/dist/components/nav/nav.css +150 -119
  132. package/dist/components/nav/nav.d.ts +61 -17
  133. package/dist/components/nav/nav.js +271 -176
  134. package/dist/components/nav/nav.module.js +17 -15
  135. package/dist/components/number-field/number-field.css +153 -64
  136. package/dist/components/number-field/number-field.d.ts +2 -2
  137. package/dist/components/number-field/number-field.js +112 -91
  138. package/dist/components/number-field/number-field.module.js +6 -6
  139. package/dist/components/number-field/number-input.d.ts +43 -23
  140. package/dist/components/number-field/number-input.js +179 -125
  141. package/dist/components/otp-field/otp-field.css +153 -60
  142. package/dist/components/otp-field/otp-field.d.ts +2 -2
  143. package/dist/components/otp-field/otp-field.js +62 -46
  144. package/dist/components/otp-field/otp-field.module.js +4 -4
  145. package/dist/components/otp-field/otp-input.d.ts +8 -6
  146. package/dist/components/otp-field/otp-input.js +92 -92
  147. package/dist/components/pagination/pagination.d.ts +46 -15
  148. package/dist/components/pagination/pagination.js +217 -224
  149. package/dist/components/password-field/password-field.css +23 -23
  150. package/dist/components/password-field/password-field.js +107 -85
  151. package/dist/components/password-field/password-field.module.js +8 -8
  152. package/dist/components/password-field/password-strength.d.ts +107 -3
  153. package/dist/components/password-field/password-strength.js +569 -92
  154. package/dist/components/photo-field/photo-field.js +137 -112
  155. package/dist/components/photo-field/photo-input.css +67 -44
  156. package/dist/components/photo-field/photo-input.d.ts +59 -15
  157. package/dist/components/photo-field/photo-input.js +173 -86
  158. package/dist/components/photo-field/photo-input.module.js +10 -8
  159. package/dist/components/popover/popover.css +41 -41
  160. package/dist/components/popover/popover.d.ts +66 -25
  161. package/dist/components/popover/popover.js +332 -217
  162. package/dist/components/popover/popover.module.js +15 -19
  163. package/dist/components/radio-group-field/radio-group-field.js +80 -71
  164. package/dist/components/radio-group-field/radio-group.css +112 -60
  165. package/dist/components/radio-group-field/radio-group.d.ts +19 -3
  166. package/dist/components/radio-group-field/radio-group.js +66 -23
  167. package/dist/components/radio-group-field/radio-group.module.js +4 -4
  168. package/dist/components/segmented-control-field/segmented-control-field.d.ts +1 -1
  169. package/dist/components/segmented-control-field/segmented-control-field.js +111 -96
  170. package/dist/components/segmented-control-field/segmented-control.css +132 -79
  171. package/dist/components/segmented-control-field/segmented-control.d.ts +39 -15
  172. package/dist/components/segmented-control-field/segmented-control.js +124 -41
  173. package/dist/components/segmented-control-field/segmented-control.module.js +4 -4
  174. package/dist/components/select-field/select.css +214 -101
  175. package/dist/components/select-field/select.d.ts +43 -11
  176. package/dist/components/select-field/select.js +194 -109
  177. package/dist/components/select-field/select.module.js +14 -14
  178. package/dist/components/skeleton/skeleton.css +4 -4
  179. package/dist/components/skeleton/skeleton.module.js +3 -3
  180. package/dist/components/stale/stale.css +15 -15
  181. package/dist/components/stale/stale.d.ts +27 -3
  182. package/dist/components/stale/stale.js +147 -66
  183. package/dist/components/stale/stale.module.js +6 -6
  184. package/dist/components/status-message/status-message.css +22 -22
  185. package/dist/components/status-message/status-message.module.js +6 -6
  186. package/dist/components/switch-field/switch-field.js +77 -57
  187. package/dist/components/switch-field/switch.css +112 -63
  188. package/dist/components/switch-field/switch.d.ts +20 -3
  189. package/dist/components/switch-field/switch.js +70 -27
  190. package/dist/components/switch-field/switch.module.js +4 -4
  191. package/dist/components/tabs/tabs.css +32 -32
  192. package/dist/components/tabs/tabs.d.ts +21 -7
  193. package/dist/components/tabs/tabs.js +73 -14
  194. package/dist/components/tabs/tabs.module.js +7 -7
  195. package/dist/components/tag/tag.css +84 -84
  196. package/dist/components/tag/tag.module.js +3 -3
  197. package/dist/components/tag-group/tag-group.css +94 -94
  198. package/dist/components/tag-group/tag-group.module.js +4 -4
  199. package/dist/components/text-field/text-field.css +159 -82
  200. package/dist/components/text-field/text-field.d.ts +1 -1
  201. package/dist/components/text-field/text-field.js +139 -110
  202. package/dist/components/text-field/text-field.module.js +9 -9
  203. package/dist/components/text-field/text-input.d.ts +81 -45
  204. package/dist/components/text-field/text-input.js +366 -217
  205. package/dist/components/textarea-field/textarea-field.css +7 -2
  206. package/dist/components/textarea-field/textarea-field.js +72 -56
  207. package/dist/components/textarea-field/textarea-field.module.js +2 -2
  208. package/dist/components/time-field/time-field.js +153 -60
  209. package/dist/components/time-field/time-input.d.ts +21 -10
  210. package/dist/components/time-field/time-input.js +22 -11
  211. package/dist/components/toast/toast-provider.css +34 -31
  212. package/dist/components/toast/toast-provider.d.ts +63 -14
  213. package/dist/components/toast/toast-provider.js +174 -111
  214. package/dist/components/toast/toast-provider.module.js +7 -7
  215. package/dist/components/toggle-group-field/toggle-group-field.d.ts +1 -1
  216. package/dist/components/toggle-group-field/toggle-group-field.js +95 -89
  217. package/dist/components/toggle-group-field/toggle-group.css +117 -67
  218. package/dist/components/toggle-group-field/toggle-group.d.ts +2 -2
  219. package/dist/components/toggle-group-field/toggle-group.js +2 -2
  220. package/dist/components/toggle-group-field/toggle-group.module.js +2 -2
  221. package/dist/components/tooltip/tooltip.css +4 -4
  222. package/dist/components/tooltip/tooltip.module.js +1 -1
  223. package/dist/data-table/data-table-content.js +6 -5
  224. package/dist/data-table/data-table-parts.d.ts +41 -13
  225. package/dist/data-table/data-table-parts.js +213 -172
  226. package/dist/data-table/data-table-selection.d.ts +105 -3
  227. package/dist/data-table/data-table-selection.js +654 -145
  228. package/dist/data-table/data-table.css +125 -128
  229. package/dist/data-table/data-table.d.ts +21 -26
  230. package/dist/data-table/data-table.js +20 -23
  231. package/dist/data-table/data-table.module.js +32 -34
  232. package/dist/data-table/index.d.ts +2 -2
  233. package/dist/index.js +3 -3
  234. package/dist/lib/calendar/calendar-navigation.d.ts +39 -5
  235. package/dist/lib/calendar/calendar-navigation.js +185 -118
  236. package/dist/lib/calendar/calendar-parts.d.ts +143 -0
  237. package/dist/lib/calendar/calendar-parts.js +540 -0
  238. package/dist/lib/calendar/calendar-prefab.d.ts +52 -0
  239. package/dist/lib/calendar/calendar-prefab.js +311 -0
  240. package/dist/lib/calendar/calendar-year.d.ts +3 -1
  241. package/dist/lib/calendar/calendar-year.js +139 -131
  242. package/dist/lib/calendar/temporal.css +325 -232
  243. package/dist/lib/calendar/temporal.d.ts +67 -82
  244. package/dist/lib/calendar/temporal.js +258 -569
  245. package/dist/lib/calendar/temporal.module.js +38 -38
  246. package/dist/lib/forms/use-connected-field.d.ts +1 -1
  247. package/dist/lib/forms/use-connected-field.js +1 -1
  248. package/dist/lib/render-as.d.ts +13 -0
  249. package/dist/lib/render-as.js +46 -0
  250. package/dist/terrazzo/index.d.ts +4 -3
  251. package/dist/terrazzo/index.js +17 -6
  252. package/dist/tokens.css +28 -4
  253. package/package.json +2 -2
  254. package/tokens/dark.tokens.json +6 -0
  255. package/tokens/sys.tokens.json +7 -0
  256. package/dist/components/button/close-button.d.ts +0 -16
  257. package/dist/components/button/close-button.js +0 -30
package/dist/base.css CHANGED
@@ -112,6 +112,9 @@
112
112
  transition: background-color var(--sys-motion-medium) var(--sys-motion-standard), color var(--sys-motion-medium) var(--sys-motion-standard);
113
113
  }
114
114
  }
115
+ [data-theme] {
116
+ color: var(--sys-color-text);
117
+ }
115
118
  button,
116
119
  select,
117
120
  summary,
@@ -1,15 +1,15 @@
1
1
  @layer kit.reset, kit.base, kit.components;
2
2
  @layer kit.components {
3
- ._root_1qlrq_3 {
3
+ ._root_1c9ng_3 {
4
4
  display: flex;
5
5
  flex-direction: column;
6
6
  gap: var(--accordion-gap, var(--sys-unit-2));
7
7
  }
8
- ._item_1qlrq_8 {
8
+ ._item_1c9ng_8 {
9
9
  display: flex;
10
10
  flex-direction: column;
11
11
  }
12
- ._trigger_1qlrq_12 {
12
+ ._trigger_1c9ng_12 {
13
13
  display: flex;
14
14
  align-items: center;
15
15
  justify-content: space-between;
@@ -25,18 +25,18 @@
25
25
  text-align: start;
26
26
  cursor: pointer;
27
27
  }
28
- ._trigger_1qlrq_12 {
28
+ ._trigger_1c9ng_12 {
29
29
  outline: 0 solid var(--sys-color-focus-ring);
30
30
  outline-offset: var(--sys-focus-ring-offset);
31
31
  }
32
- ._trigger_1qlrq_12:focus-visible {
32
+ ._trigger_1c9ng_12:focus-visible {
33
33
  outline-width: var(--sys-focus-ring-width);
34
34
  }
35
- ._trigger_1qlrq_12 {
35
+ ._trigger_1c9ng_12 {
36
36
  position: relative;
37
37
  isolation: isolate;
38
38
  }
39
- ._trigger_1qlrq_12::after {
39
+ ._trigger_1c9ng_12::after {
40
40
  content: "";
41
41
  position: absolute;
42
42
  z-index: -1;
@@ -47,52 +47,52 @@
47
47
  pointer-events: none;
48
48
  }
49
49
  @media not (prefers-reduced-motion) {
50
- ._trigger_1qlrq_12::after {
50
+ ._trigger_1c9ng_12::after {
51
51
  transition: opacity var(--sys-motion-instant) var(--sys-motion-standard);
52
52
  }
53
53
  }
54
- ._trigger_1qlrq_12:hover:not(:disabled, [data-disabled])::after {
54
+ ._trigger_1c9ng_12:hover:not(:disabled, [data-disabled])::after {
55
55
  opacity: var(--sys-state-hover);
56
56
  }
57
- ._trigger_1qlrq_12:active:not(:disabled, [data-disabled])::after {
57
+ ._trigger_1c9ng_12:active:not(:disabled, [data-disabled])::after {
58
58
  opacity: var(--sys-state-pressed);
59
59
  }
60
- ._trigger_1qlrq_12[data-disabled] {
61
- color: var(--sys-color-disabled-fg);
60
+ ._trigger_1c9ng_12[data-disabled] {
61
+ color: var(--accordion-trigger-disabled-fg, var(--sys-color-disabled-fg));
62
62
  cursor: not-allowed;
63
63
  }
64
- ._indicator_1qlrq_64 {
64
+ ._indicator_1c9ng_64 {
65
65
  flex-shrink: 0;
66
66
  }
67
67
  @media not (prefers-reduced-motion) {
68
- ._indicator_1qlrq_64 {
68
+ ._indicator_1c9ng_64 {
69
69
  transition: rotate var(--sys-motion-short) var(--sys-motion-standard);
70
70
  }
71
71
  }
72
- [data-panel-open] > ._indicator_1qlrq_64 {
72
+ [data-panel-open] > ._indicator_1c9ng_64 {
73
73
  rotate: 180deg;
74
74
  }
75
- ._indicator_1qlrq_64 {
75
+ ._indicator_1c9ng_64 {
76
76
  display: inline-flex;
77
77
  color: var(--accordion-indicator-fg, currentcolor);
78
78
  font-size: var(--accordion-indicator-size, 1.5em);
79
79
  }
80
- ._panel_1qlrq_80 {
80
+ ._panel_1c9ng_80 {
81
81
  overflow: hidden;
82
82
  }
83
- ._panel_1qlrq_80[hidden]:not([hidden=until-found]) {
83
+ ._panel_1c9ng_80[hidden]:not([hidden=until-found]) {
84
84
  display: none;
85
85
  }
86
86
  @media not (prefers-reduced-motion) {
87
- ._panel_1qlrq_80 {
87
+ ._panel_1c9ng_80 {
88
88
  block-size: var(--accordion-panel-height);
89
89
  transition: block-size var(--sys-motion-short) var(--sys-motion-standard);
90
90
  }
91
- ._panel_1qlrq_80[data-starting-style], ._panel_1qlrq_80[data-ending-style] {
91
+ ._panel_1c9ng_80[data-starting-style], ._panel_1c9ng_80[data-ending-style] {
92
92
  block-size: 0;
93
93
  }
94
94
  }
95
- ._content_1qlrq_95 {
95
+ ._content_1c9ng_95 {
96
96
  padding: var(--accordion-pad-y, var(--sys-unit-4)) var(--accordion-pad-x, var(--sys-unit-6));
97
97
  }
98
98
  }
@@ -1,6 +1,6 @@
1
1
  import { Accordion as BaseAccordion } from "@base-ui/react/accordion";
2
2
  import { useRender } from "@base-ui/react/use-render";
3
- import type { ReactNode } from "react";
3
+ import type { ReactElement, ReactNode } from "react";
4
4
  export type AccordionRootProps = Omit<BaseAccordion.Root.Props<string>, "className"> & Readonly<{
5
5
  className?: string;
6
6
  }>;
@@ -18,6 +18,7 @@ export type AccordionIndicatorProps = useRender.ComponentProps<"span">;
18
18
  export type AccordionPanelProps = Omit<BaseAccordion.Panel.Props, "className"> & Readonly<{
19
19
  className?: string;
20
20
  }>;
21
+ export type AccordionContentProps = useRender.ComponentProps<"div">;
21
22
  /** The stack of items. */
22
23
  declare const Root: ({ className, ...props }: AccordionRootProps) => ReactNode;
23
24
  /** One item: its header and its panel. */
@@ -30,8 +31,17 @@ declare const Trigger: ({ className, ...props }: AccordionTriggerProps) => React
30
31
  * nothing.
31
32
  */
32
33
  declare const Indicator: ({ render, className, children, ref, ...props }: AccordionIndicatorProps) => ReactNode;
33
- /** What the item holds, folding along its height. */
34
- declare const Panel: ({ className, children, ...props }: AccordionPanelProps) => ReactNode;
34
+ /** What the item holds, folding along its height; its `Content` pads it. */
35
+ declare const Panel: ({ className, ...props }: AccordionPanelProps) => ReactNode;
36
+ /**
37
+ * The padded content inside the `Panel`.
38
+ *
39
+ * @example
40
+ * <Accordion.Panel>
41
+ * <Accordion.Content>{settings}</Accordion.Content>
42
+ * </Accordion.Panel>
43
+ */
44
+ declare const Content: ({ render, className, ref, ...props }: AccordionContentProps) => ReactElement;
35
45
  type AccordionNamespace = Readonly<{
36
46
  Root: typeof Root;
37
47
  Item: typeof Item;
@@ -39,6 +49,7 @@ type AccordionNamespace = Readonly<{
39
49
  Trigger: typeof Trigger;
40
50
  Indicator: typeof Indicator;
41
51
  Panel: typeof Panel;
52
+ Content: typeof Content;
42
53
  }>;
43
54
  /**
44
55
  * A stack of panels that fold open and shut, each under a heading whose
@@ -54,7 +65,9 @@ type AccordionNamespace = Readonly<{
54
65
  * <Accordion.Indicator><ChevronIcon /></Accordion.Indicator>
55
66
  * </Accordion.Trigger>
56
67
  * </Accordion.Header>
57
- * <Accordion.Panel>{fees}</Accordion.Panel>
68
+ * <Accordion.Panel>
69
+ * <Accordion.Content>{fees}</Accordion.Content>
70
+ * </Accordion.Panel>
58
71
  * </Accordion.Item>
59
72
  * </Accordion.Root>
60
73
  */
@@ -163,51 +163,95 @@ var Indicator = (t0) => {
163
163
  const element = useRender(t3);
164
164
  return children === void 0 || children === null ? null : element;
165
165
  };
166
- /** What the item holds, folding along its height. */
166
+ /** What the item holds, folding along its height; its `Content` pads it. */
167
167
  var Panel = (t0) => {
168
- const $ = c(12);
169
- let children;
168
+ const $ = c(8);
170
169
  let className;
171
170
  let props;
172
171
  if ($[0] !== t0) {
173
- ({className, children, ...props} = t0);
172
+ ({className, ...props} = t0);
174
173
  $[0] = t0;
175
- $[1] = children;
176
- $[2] = className;
177
- $[3] = props;
174
+ $[1] = className;
175
+ $[2] = props;
178
176
  } else {
179
- children = $[1];
180
- className = $[2];
181
- props = $[3];
177
+ className = $[1];
178
+ props = $[2];
182
179
  }
183
180
  let t1;
184
- if ($[4] !== className) {
185
- t1 = clsx(accordion_module_default.content, className);
186
- $[4] = className;
187
- $[5] = t1;
188
- } else t1 = $[5];
181
+ if ($[3] !== className) {
182
+ t1 = clsx(accordion_module_default.panel, className);
183
+ $[3] = className;
184
+ $[4] = t1;
185
+ } else t1 = $[4];
189
186
  let t2;
190
- if ($[6] !== children || $[7] !== t1) {
191
- t2 = /* @__PURE__ */ jsx("div", {
192
- className: t1,
193
- children
194
- });
195
- $[6] = children;
196
- $[7] = t1;
197
- $[8] = t2;
198
- } else t2 = $[8];
199
- let t3;
200
- if ($[9] !== props || $[10] !== t2) {
201
- t3 = /* @__PURE__ */ jsx(Accordion.Panel, {
202
- className: accordion_module_default.panel,
187
+ if ($[5] !== props || $[6] !== t1) {
188
+ t2 = /* @__PURE__ */ jsx(Accordion.Panel, {
203
189
  ...props,
204
- children: t2
190
+ className: t1
205
191
  });
206
- $[9] = props;
207
- $[10] = t2;
208
- $[11] = t3;
209
- } else t3 = $[11];
210
- return t3;
192
+ $[5] = props;
193
+ $[6] = t1;
194
+ $[7] = t2;
195
+ } else t2 = $[7];
196
+ return t2;
197
+ };
198
+ /**
199
+ * The padded content inside the `Panel`.
200
+ *
201
+ * @example
202
+ * <Accordion.Panel>
203
+ * <Accordion.Content>{settings}</Accordion.Content>
204
+ * </Accordion.Panel>
205
+ */
206
+ var Content = (t0) => {
207
+ const $ = c(14);
208
+ let className;
209
+ let props;
210
+ let ref;
211
+ let render;
212
+ if ($[0] !== t0) {
213
+ ({render, className, ref, ...props} = t0);
214
+ $[0] = t0;
215
+ $[1] = className;
216
+ $[2] = props;
217
+ $[3] = ref;
218
+ $[4] = render;
219
+ } else {
220
+ className = $[1];
221
+ props = $[2];
222
+ ref = $[3];
223
+ render = $[4];
224
+ }
225
+ let t1;
226
+ if ($[5] !== className) {
227
+ t1 = clsx(accordion_module_default.content, className);
228
+ $[5] = className;
229
+ $[6] = t1;
230
+ } else t1 = $[6];
231
+ let t2;
232
+ if ($[7] !== props || $[8] !== t1) {
233
+ t2 = {
234
+ ...props,
235
+ className: t1
236
+ };
237
+ $[7] = props;
238
+ $[8] = t1;
239
+ $[9] = t2;
240
+ } else t2 = $[9];
241
+ let t3;
242
+ if ($[10] !== ref || $[11] !== render || $[12] !== t2) {
243
+ t3 = {
244
+ defaultTagName: "div",
245
+ render,
246
+ ref,
247
+ props: t2
248
+ };
249
+ $[10] = ref;
250
+ $[11] = render;
251
+ $[12] = t2;
252
+ $[13] = t3;
253
+ } else t3 = $[13];
254
+ return useRender(t3);
211
255
  };
212
256
  /**
213
257
  * A stack of panels that fold open and shut, each under a heading whose
@@ -223,7 +267,9 @@ var Panel = (t0) => {
223
267
  * <Accordion.Indicator><ChevronIcon /></Accordion.Indicator>
224
268
  * </Accordion.Trigger>
225
269
  * </Accordion.Header>
226
- * <Accordion.Panel>{fees}</Accordion.Panel>
270
+ * <Accordion.Panel>
271
+ * <Accordion.Content>{fees}</Accordion.Content>
272
+ * </Accordion.Panel>
227
273
  * </Accordion.Item>
228
274
  * </Accordion.Root>
229
275
  */
@@ -233,6 +279,7 @@ var Accordion$1 = {
233
279
  Header: Accordion.Header,
234
280
  Trigger,
235
281
  Indicator,
236
- Panel
282
+ Panel,
283
+ Content
237
284
  };
238
285
  export { Accordion$1 as Accordion };
@@ -1,10 +1,10 @@
1
1
  import './accordion.css';// src/components/accordion/accordion.module.scss
2
- var root = "_root_1qlrq_3";
3
- var item = "_item_1qlrq_8";
4
- var trigger = "_trigger_1qlrq_12";
5
- var indicator = "_indicator_1qlrq_64";
6
- var panel = "_panel_1qlrq_80";
7
- var content = "_content_1qlrq_95";
2
+ var root = "_root_1c9ng_3";
3
+ var item = "_item_1c9ng_8";
4
+ var trigger = "_trigger_1c9ng_12";
5
+ var indicator = "_indicator_1c9ng_64";
6
+ var panel = "_panel_1c9ng_80";
7
+ var content = "_content_1c9ng_95";
8
8
  var accordion_module_default = {
9
9
  root,
10
10
  item,
@@ -1,4 +1,5 @@
1
- import { type ComponentPropsWithRef, type ReactNode } from "react";
1
+ import { useRender } from "@base-ui/react/use-render";
2
+ import { type ComponentPropsWithRef, type ReactElement, type ReactNode } from "react";
2
3
  /** An image source for a preview, and whether one is still on its way. */
3
4
  export type AttachmentPreviewSource = Readonly<{
4
5
  src: string | undefined;
@@ -12,24 +13,66 @@ export type AttachmentPreviewSource = Readonly<{
12
13
  * useAttachmentPreview(file); // -> { src: "data:image/png;base64,…", pending: false }
13
14
  */
14
15
  export declare const useAttachmentPreview: (blob: Blob | undefined) => AttachmentPreviewSource;
15
- export type AttachmentPreviewProps = Omit<ComponentPropsWithRef<"span">, "children"> & Readonly<{
16
+ export type AttachmentPreviewProps = ComponentPropsWithRef<"span"> & Readonly<{
16
17
  name: string;
17
- /** Tooltip text for the preview. */
18
- hint: string;
19
- /** Image source; without one the tile shows its `icon` and the file's extension. */
18
+ /** Image source; without one the tile shows its `Icon` and `Extension`. */
20
19
  src: string | undefined;
21
20
  /** Whether an image source is still being produced. */
22
21
  pending?: boolean;
23
- /** A file-type glyph above the extension, where there is no image. */
24
- icon?: ReactNode;
25
22
  }>;
26
23
  /**
27
- * The inside of an attachment tile: an image preview where there is one, the
28
- * `icon` and the file's extension otherwise, plus the file name for assistive
29
- * tech. A source that is still arriving shows a skeleton; one that fails to
30
- * load falls back to the extension.
24
+ * The inside of an attachment tile, holding the `Image`, `Icon`, `Extension`,
25
+ * `Skeleton` and `Name` that read its file. A source that fails to load falls
26
+ * back to the icon and the extension.
31
27
  *
32
28
  * @example
33
- * <AttachmentTile.Preview name="nota.pdf" hint="nota.pdf (12 kB)" src={undefined} />
29
+ * <AttachmentTile.Preview name="nota.pdf" src={undefined}>
30
+ * <AttachmentTile.Image />
31
+ * <AttachmentTile.Extension />
32
+ * <AttachmentTile.Name />
33
+ * </AttachmentTile.Preview>
34
34
  */
35
- export declare const AttachmentPreview: ({ name, hint, src, pending, icon, className, ...props }: AttachmentPreviewProps) => ReactNode;
35
+ export declare const AttachmentPreview: ({ name, src, pending, className, ...props }: AttachmentPreviewProps) => ReactNode;
36
+ export type AttachmentImageProps = Omit<useRender.ComponentProps<"img">, "src">;
37
+ /**
38
+ * The image, once there is a source that loads. Renders nothing otherwise.
39
+ *
40
+ * @example
41
+ * <AttachmentTile.Image />
42
+ */
43
+ export declare const AttachmentImage: ({ className, render, ref, ...props }: AttachmentImageProps) => ReactElement | null;
44
+ /**
45
+ * A file-type glyph where there is no image, such as a document icon. Renders
46
+ * nothing without children.
47
+ *
48
+ * @example
49
+ * <AttachmentTile.Icon><DescriptionIcon /></AttachmentTile.Icon>
50
+ */
51
+ export declare const AttachmentIcon: ({ className, render, ref, children, ...props }: useRender.ComponentProps<"span">) => ReactElement | null;
52
+ export type AttachmentTextProps = Omit<useRender.ComponentProps<"span">, "children">;
53
+ /**
54
+ * The file's extension where there is no image, such as "pdf". Renders
55
+ * nothing for a name without one.
56
+ *
57
+ * @example
58
+ * <AttachmentTile.Extension />
59
+ */
60
+ export declare const AttachmentExtension: ({ className, render, ref, ...props }: AttachmentTextProps) => ReactElement | null;
61
+ export type AttachmentSkeletonProps = Readonly<{
62
+ className?: string;
63
+ }>;
64
+ /**
65
+ * The placeholder while the image is still on its way. Renders nothing once it
66
+ * has arrived.
67
+ *
68
+ * @example
69
+ * <AttachmentTile.Skeleton />
70
+ */
71
+ export declare const AttachmentSkeleton: ({ className, }: AttachmentSkeletonProps) => ReactNode;
72
+ /**
73
+ * The file's name, for assistive tech only.
74
+ *
75
+ * @example
76
+ * <AttachmentTile.Name />
77
+ */
78
+ export declare const AttachmentName: ({ className, render, ref, ...props }: AttachmentTextProps) => ReactElement;