@studiolxd/brand 49.28.0 → 50.0.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 (279) hide show
  1. package/LICENSE +61 -0
  2. package/README.md +26 -4
  3. package/dist/_shared/assign-ref.js +6 -0
  4. package/dist/_shared/calendargrid.js +57 -57
  5. package/dist/_shared/datepicker.js +67 -65
  6. package/dist/_shared/default-render-link.js +7 -0
  7. package/dist/_shared/dialogsurface.js +1 -1
  8. package/dist/_shared/dropdownitems.js +14 -20
  9. package/dist/_shared/imagecropdialog.js +38 -441
  10. package/dist/_shared/overflow-focusable.js +15 -0
  11. package/dist/_shared/side-offset.js +13 -0
  12. package/dist/_shared/tokens.js +31 -129
  13. package/dist/_shared/useasyncoptions.js +30 -0
  14. package/dist/_types/atoms/Accordion/Accordion.d.ts +7 -1
  15. package/dist/_types/atoms/AsyncMultiSelect/AsyncMultiSelect.d.ts +8 -4
  16. package/dist/_types/atoms/AsyncSelect/AsyncSelect.d.ts +8 -4
  17. package/dist/_types/atoms/Autocomplete/Autocomplete.d.ts +10 -6
  18. package/dist/_types/atoms/CloseButton/CloseButton.d.ts +13 -3
  19. package/dist/_types/atoms/Fieldset/Fieldset.d.ts +1 -1
  20. package/dist/_types/atoms/InputPhone/InputPhone.d.ts +2 -0
  21. package/dist/_types/atoms/MultiSelect/MultiSelect.d.ts +11 -10
  22. package/dist/_types/atoms/Select/Select.d.ts +6 -0
  23. package/dist/_types/atoms/Skeleton/Skeleton.d.ts +1 -1
  24. package/dist/_types/atoms/Spinner/Spinner.d.ts +3 -1
  25. package/dist/_types/atoms/TypingIndicator/TypingIndicator.d.ts +3 -1
  26. package/dist/_types/atoms/_shared/useAsyncOptions.d.ts +36 -0
  27. package/dist/_types/constants/assign-ref.d.ts +12 -0
  28. package/dist/_types/constants/default-render-link.d.ts +13 -0
  29. package/dist/_types/constants/overflow-focusable.d.ts +15 -0
  30. package/dist/_types/constants/side-offset.d.ts +18 -0
  31. package/dist/_types/email/EmailLayout.d.ts +38 -21
  32. package/dist/_types/messages/BrandMessages.d.ts +8 -2
  33. package/dist/_types/messages/index.d.ts +1 -1
  34. package/dist/_types/molecules/AppLauncher/AppLauncher.d.ts +9 -3
  35. package/dist/_types/molecules/Calendar/Calendar.d.ts +10 -1
  36. package/dist/_types/molecules/CalendarPlanner/CalendarPlanner.d.ts +43 -13
  37. package/dist/_types/molecules/CalendarRoster/CalendarRoster.d.ts +10 -2
  38. package/dist/_types/molecules/ContextMenu/ContextMenu.d.ts +8 -1
  39. package/dist/_types/molecules/DatePicker/DatePicker.d.ts +6 -0
  40. package/dist/_types/molecules/DateTimeField/DateTimeField.d.ts +2 -0
  41. package/dist/_types/molecules/DocsSearch/DocsSearch.d.ts +2 -2
  42. package/dist/_types/molecules/FloatingToolbar/FloatingToolbar.d.ts +83 -0
  43. package/dist/_types/molecules/FormField/FormField.d.ts +5 -6
  44. package/dist/_types/molecules/LanguageSwitcher/LanguageSwitcher.d.ts +7 -3
  45. package/dist/_types/molecules/LoadingRegion/LoadingRegion.d.ts +12 -4
  46. package/dist/_types/molecules/Modal/Modal.d.ts +10 -4
  47. package/dist/_types/molecules/OrgSwitcher/OrgSwitcher.d.ts +7 -1
  48. package/dist/_types/molecules/PasswordField/PasswordField.d.ts +9 -2
  49. package/dist/_types/molecules/PrevNextNav/PrevNextNav.d.ts +3 -1
  50. package/dist/_types/molecules/RecurrenceField/RecurrenceField.d.ts +6 -1
  51. package/dist/_types/molecules/SidebarNav/SidebarNav.d.ts +18 -2
  52. package/dist/_types/molecules/SiteNav/SiteNav.d.ts +4 -1
  53. package/dist/_types/molecules/StatTile/StatTile.d.ts +15 -1
  54. package/dist/_types/molecules/Table/Table.d.ts +1 -1
  55. package/dist/_types/molecules/ThemeSwitcher/ThemeSwitcher.d.ts +38 -3
  56. package/dist/_types/molecules/Toast/Toaster.d.ts +8 -0
  57. package/dist/_types/molecules/UserMenu/UserMenu.d.ts +7 -1
  58. package/dist/_types/molecules/_shared/calendarGrid.d.ts +15 -2
  59. package/dist/_types/molecules/_shared/dialogSurface.d.ts +6 -1
  60. package/dist/_types/molecules/_shared/dropdownItems.d.ts +0 -2
  61. package/dist/_types/sections/AppHeader/AppHeader.d.ts +3 -1
  62. package/dist/_types/sections/AppShell/AppShell.d.ts +6 -1
  63. package/dist/_types/sections/LegalFooter/LegalFooter.d.ts +7 -1
  64. package/dist/_types/sections/Sidebar/Sidebar.d.ts +3 -1
  65. package/dist/_types/sections/SiteFooter/SiteFooter.d.ts +6 -2
  66. package/dist/_types/sections/SiteHeader/SiteHeader.d.ts +2 -2
  67. package/dist/_types/templates/ConnectorAuth/ConnectorAuthShell.d.ts +5 -2
  68. package/dist/_types/templates/ConnectorAuth/ConnectorConsentPage.d.ts +1 -1
  69. package/dist/_types/templates/ConnectorAuth/ConnectorExternalSignInPage.d.ts +1 -1
  70. package/dist/_types/templates/ConnectorAuth/ConnectorRejectionPage.d.ts +1 -1
  71. package/dist/_types/templates/ConnectorAuth/ConnectorSignInPage.d.ts +1 -1
  72. package/dist/_types/templates/ErrorPage/ErrorPage.d.ts +7 -1
  73. package/dist/_types/templates/NotFoundPage/NotFoundPage.d.ts +7 -1
  74. package/dist/_types/templates/PublicPageShell/PublicPageShell.d.ts +6 -0
  75. package/dist/accordion.css +1 -1
  76. package/dist/accordion.js +6 -5
  77. package/dist/alert.css +1 -1
  78. package/dist/app-header.js +16 -21
  79. package/dist/app-launcher.css +1 -1
  80. package/dist/app-launcher.js +29 -21
  81. package/dist/app-shell.js +43 -43
  82. package/dist/async-multi-select.css +1 -1
  83. package/dist/async-multi-select.js +104 -173
  84. package/dist/async-select.css +1 -1
  85. package/dist/async-select.js +81 -137
  86. package/dist/autocomplete.css +1 -1
  87. package/dist/autocomplete.js +76 -115
  88. package/dist/brand.css +77 -987
  89. package/dist/breadcrumb.js +11 -16
  90. package/dist/button.css +1 -1
  91. package/dist/calendar-planner.css +1 -1
  92. package/dist/calendar-planner.js +100 -95
  93. package/dist/calendar-roster.css +1 -1
  94. package/dist/calendar-roster.js +69 -61
  95. package/dist/calendar.css +1 -1
  96. package/dist/calendar.js +86 -85
  97. package/dist/card.css +1 -1
  98. package/dist/card.js +42 -41
  99. package/dist/chart.css +1 -1
  100. package/dist/chat-shell.js +48 -47
  101. package/dist/checkbox.css +1 -1
  102. package/dist/close-button.js +14 -12
  103. package/dist/command-palette.css +1 -1
  104. package/dist/connector-consent-page.js +19 -18
  105. package/dist/connector-external-sign-in-page.js +6 -5
  106. package/dist/connector-rejection-page.js +5 -4
  107. package/dist/connector-sign-in-page.js +10 -9
  108. package/dist/consent.css +1 -1
  109. package/dist/context-menu.js +3 -2
  110. package/dist/conversation-list.css +1 -1
  111. package/dist/conversation-thread.css +1 -1
  112. package/dist/conversation-thread.js +1 -0
  113. package/dist/data-table.js +74 -1625
  114. package/dist/date-time-field.js +7 -6
  115. package/dist/docs-search.js +36 -38
  116. package/dist/email.js +10 -7
  117. package/dist/error-page.js +2 -2
  118. package/dist/fieldset.css +1 -1
  119. package/dist/figure.js +1 -0
  120. package/dist/file-upload.css +1 -1
  121. package/dist/file-upload.js +48 -50
  122. package/dist/floating-toolbar.css +1 -0
  123. package/dist/floating-toolbar.js +64 -0
  124. package/dist/form-field.js +55 -53
  125. package/dist/imagecropdialog.css +1 -1
  126. package/dist/input-phone.css +1 -1
  127. package/dist/input-phone.js +30 -31
  128. package/dist/input.css +1 -1
  129. package/dist/label.css +1 -1
  130. package/dist/language-switcher.js +37 -44
  131. package/dist/legal-footer.js +12 -17
  132. package/dist/loading-region.css +1 -1
  133. package/dist/loading-region.js +8 -8
  134. package/dist/menu.css +1 -1
  135. package/dist/menu.js +4 -3
  136. package/dist/message-bubble.css +1 -1
  137. package/dist/message-composer.css +1 -1
  138. package/dist/modal.css +1 -1
  139. package/dist/modal.js +9 -9
  140. package/dist/multi-select.css +1 -1
  141. package/dist/multi-select.js +104 -172
  142. package/dist/not-found-page.js +8 -5
  143. package/dist/notification-list.js +16 -21
  144. package/dist/notification-panel.js +34 -46
  145. package/dist/number-badge.css +1 -1
  146. package/dist/number-input.css +1 -1
  147. package/dist/org-switcher.css +1 -1
  148. package/dist/org-switcher.js +13 -11
  149. package/dist/password-field.js +40 -39
  150. package/dist/popover.css +1 -1
  151. package/dist/popover.js +9 -15
  152. package/dist/prev-next-nav.js +8 -7
  153. package/dist/public-page-shell.js +7 -6
  154. package/dist/radio.css +1 -1
  155. package/dist/recurrence-field.css +1 -1
  156. package/dist/recurrence-field.js +38 -37
  157. package/dist/select.css +1 -1
  158. package/dist/select.js +3 -2
  159. package/dist/sheet.css +1 -1
  160. package/dist/sidebar-nav.css +1 -1
  161. package/dist/sidebar-nav.js +75 -70
  162. package/dist/sidebar.css +1 -1
  163. package/dist/sidebar.js +46 -42
  164. package/dist/site-footer.js +28 -28
  165. package/dist/site-header.js +39 -44
  166. package/dist/site-nav.js +10 -19
  167. package/dist/site-search.js +34 -36
  168. package/dist/site-shell.js +17 -16
  169. package/dist/skeleton.js +8 -6
  170. package/dist/sortable.js +20 -19
  171. package/dist/spinner.js +11 -7
  172. package/dist/stat-tile.js +24 -26
  173. package/dist/switcher.css +1 -1
  174. package/dist/table.css +1 -1
  175. package/dist/table.js +57 -45
  176. package/dist/textarea.css +1 -1
  177. package/dist/theme-switcher.js +57 -56
  178. package/dist/toaster.css +1 -1
  179. package/dist/toggle.css +1 -1
  180. package/dist/tokens.css +75 -986
  181. package/dist/tooltip.css +1 -1
  182. package/dist/tooltip.js +20 -27
  183. package/dist/typing-indicator.css +1 -1
  184. package/dist/typing-indicator.js +4 -4
  185. package/dist/user-menu.css +1 -1
  186. package/dist/user-menu.js +38 -45
  187. package/dist/visuallyhidden.css +1 -1
  188. package/package.json +26 -14
  189. package/src/tokens/components/async-multi-select.css +4 -0
  190. package/src/tokens/components/async-select.css +3 -0
  191. package/src/tokens/components/autocomplete.css +1 -0
  192. package/src/tokens/components/breadcrumb.css +0 -2
  193. package/src/tokens/components/button.css +0 -23
  194. package/src/tokens/components/control.css +0 -4
  195. package/src/tokens/components/file-upload.css +0 -4
  196. package/src/tokens/components/radio.css +2 -0
  197. package/src/tokens/components/site-header.css +0 -1
  198. package/src/tokens/index.css +5 -7
  199. package/src/tokens/molecules/async-multi-select-field.css +0 -6
  200. package/src/tokens/molecules/async-select-field.css +0 -6
  201. package/src/tokens/molecules/autocomplete-field.css +0 -5
  202. package/src/tokens/molecules/avatar-upload.css +0 -6
  203. package/src/tokens/molecules/calendar-roster.css +5 -0
  204. package/src/tokens/molecules/chart.css +0 -3
  205. package/src/tokens/molecules/checkbox-field.css +0 -6
  206. package/src/tokens/molecules/consent.css +1 -0
  207. package/src/tokens/molecules/conversation-thread.css +10 -0
  208. package/src/tokens/molecules/date-picker-field.css +0 -6
  209. package/src/tokens/molecules/date-time-field.css +0 -6
  210. package/src/tokens/molecules/dropdown-field.css +0 -6
  211. package/src/tokens/molecules/file-upload-field.css +0 -6
  212. package/src/tokens/molecules/floating-toolbar.css +18 -0
  213. package/src/tokens/molecules/floating-toolbar.ts +4 -0
  214. package/src/tokens/molecules/input-field.css +0 -1
  215. package/src/tokens/molecules/input-phone-field.css +0 -6
  216. package/src/tokens/molecules/modal.css +1 -0
  217. package/src/tokens/molecules/multi-select-field.css +0 -6
  218. package/src/tokens/molecules/number-input-field.css +0 -6
  219. package/src/tokens/molecules/otp-field.css +0 -6
  220. package/src/tokens/molecules/radio-field.css +0 -6
  221. package/src/tokens/molecules/recurrence-field.css +1 -0
  222. package/src/tokens/molecules/select-field.css +0 -6
  223. package/src/tokens/molecules/sidebar-nav.css +0 -6
  224. package/src/tokens/molecules/site-search.css +0 -2
  225. package/src/tokens/molecules/switcher-field.css +0 -1
  226. package/src/tokens/molecules/table.css +1 -0
  227. package/src/tokens/molecules/textarea-field.css +0 -6
  228. package/src/tokens/molecules/time-field.css +0 -6
  229. package/src/tokens/scss/_index.legacy.scss +1 -0
  230. package/src/tokens/scss/_index.scss +1 -0
  231. package/src/tokens/scss/components/_async-multi-select.scss +4 -0
  232. package/src/tokens/scss/components/_async-select.scss +3 -0
  233. package/src/tokens/scss/components/_autocomplete.scss +1 -0
  234. package/src/tokens/scss/components/_breadcrumb.scss +0 -2
  235. package/src/tokens/scss/components/_button.scss +0 -23
  236. package/src/tokens/scss/components/_control.scss +0 -4
  237. package/src/tokens/scss/components/_file-upload.scss +0 -4
  238. package/src/tokens/scss/components/_site-header.scss +0 -1
  239. package/src/tokens/scss/molecules/_async-multi-select-field.scss +0 -5
  240. package/src/tokens/scss/molecules/_async-select-field.scss +0 -5
  241. package/src/tokens/scss/molecules/_autocomplete-field.scss +0 -5
  242. package/src/tokens/scss/molecules/_avatar-upload.scss +0 -5
  243. package/src/tokens/scss/molecules/_calendar-roster.scss +4 -0
  244. package/src/tokens/scss/molecules/_chart.scss +0 -2
  245. package/src/tokens/scss/molecules/_checkbox-field.scss +0 -5
  246. package/src/tokens/scss/molecules/_consent.scss +1 -0
  247. package/src/tokens/scss/molecules/_conversation-thread.scss +3 -0
  248. package/src/tokens/scss/molecules/_date-picker-field.scss +0 -5
  249. package/src/tokens/scss/molecules/_date-time-field.scss +0 -5
  250. package/src/tokens/scss/molecules/_dropdown-field.scss +0 -5
  251. package/src/tokens/scss/molecules/_file-upload-field.scss +0 -5
  252. package/src/tokens/scss/molecules/_floating-toolbar.scss +15 -0
  253. package/src/tokens/scss/molecules/_input-field.scss +0 -1
  254. package/src/tokens/scss/molecules/_input-phone-field.scss +0 -5
  255. package/src/tokens/scss/molecules/_modal.scss +1 -0
  256. package/src/tokens/scss/molecules/_multi-select-field.scss +0 -5
  257. package/src/tokens/scss/molecules/_number-input-field.scss +0 -5
  258. package/src/tokens/scss/molecules/_otp-field.scss +0 -5
  259. package/src/tokens/scss/molecules/_radio-field.scss +0 -5
  260. package/src/tokens/scss/molecules/_recurrence-field.scss +1 -0
  261. package/src/tokens/scss/molecules/_select-field.scss +0 -5
  262. package/src/tokens/scss/molecules/_sidebar-nav.scss +0 -4
  263. package/src/tokens/scss/molecules/_site-search.scss +0 -2
  264. package/src/tokens/scss/molecules/_switcher-field.scss +0 -1
  265. package/src/tokens/scss/molecules/_table.scss +1 -0
  266. package/src/tokens/scss/molecules/_textarea-field.scss +0 -5
  267. package/src/tokens/scss/molecules/_time-field.scss +0 -5
  268. package/src/tokens/surface-dark-derived.css +2 -1
  269. package/src/tokens/surface-invert.css +15 -21
  270. package/src/tokens/surface-public.css +0 -19
  271. package/src/tokens/tokens.json +31 -129
  272. package/CHANGELOG.md +0 -8154
  273. package/dist/_types/data/home.d.ts +0 -83
  274. package/dist/_types/pages/Auth/AuthPage.d.ts +0 -24
  275. package/dist/_types/pages/Onboarding/OnboardingPage.d.ts +0 -37
  276. package/dist/_types/pages/Status/StatusPage.d.ts +0 -37
  277. package/dist/_types/pages/Status/_datos.d.ts +0 -47
  278. package/src/tokens/surface-light.css +0 -782
  279. package/src/tokens/utils.test.ts +0 -86
@@ -1 +1 @@
1
- .message-bubble{--_tail:var(--message-bubble-tail-size);--_border:var(--message-bubble-border-width);--_diagonal:calc(var(--_border) * 1.41421);padding-block:var(--message-bubble-padding-block);padding-inline:var(--message-bubble-padding-inline);border-radius:var(--message-bubble-border-radius);border-width:var(--message-bubble-border-width);border-style:var(--message-bubble-border-style);border-color:var(--message-bubble-border-color);color:var(--message-bubble-color);max-width:var(--message-bubble-max-width);overflow-wrap:anywhere;font-family:var(--message-bubble-font-family);font-size:var(--message-bubble-font-size);font-weight:var(--message-bubble-font-weight);line-height:var(--message-bubble-line-height);position:relative}.message-bubble:before,.message-bubble:after{content:"";block-size:0;inline-size:0;position:absolute}.message-bubble--assistant{margin-inline-end:auto}.message-bubble--assistant:before{border-block-start:var(--_tail) solid transparent;border-inline-end:var(--_tail) solid var(--message-bubble-border-color);inset-block-end:calc(-1 * var(--_border));inset-inline-start:calc(-1 * (var(--_tail) + var(--_border)))}.message-bubble--assistant:after{border-block-start:calc(var(--_tail) - var(--_diagonal)) solid transparent;border-inline-end:calc(var(--_tail) - var(--_diagonal)) solid var(--message-bubble-tail-fill);inset-block-end:0;inset-inline-start:calc(var(--_diagonal) - var(--_tail))}.message-bubble--user{margin-inline-start:auto}.message-bubble--user:before{border-block-start:var(--_tail) solid transparent;border-inline-start:var(--_tail) solid var(--message-bubble-border-color);inset-block-end:calc(-1 * var(--_border));inset-inline-end:calc(-1 * (var(--_tail) + var(--_border)))}.message-bubble--user:after{border-block-start:calc(var(--_tail) - var(--_diagonal)) solid transparent;border-inline-start:calc(var(--_tail) - var(--_diagonal)) solid var(--message-bubble-tail-fill);inset-block-end:0;inset-inline-end:calc(var(--_diagonal) - var(--_tail))}
1
+ .message-bubble{--_tail:var(--message-bubble-tail-size);--_border:var(--message-bubble-border-width);--_diagonal:calc(var(--_border) * 1.41421);padding-block:var(--message-bubble-padding-block);padding-inline:var(--message-bubble-padding-inline);border-radius:var(--message-bubble-border-radius);border-width:var(--message-bubble-border-width);border-style:var(--message-bubble-border-style);border-color:var(--message-bubble-border-color);color:var(--message-bubble-color);max-inline-size:var(--message-bubble-max-width);overflow-wrap:anywhere;font-family:var(--message-bubble-font-family);font-size:var(--message-bubble-font-size);font-weight:var(--message-bubble-font-weight);line-height:var(--message-bubble-line-height);position:relative}.message-bubble:before,.message-bubble:after{content:"";block-size:0;inline-size:0;position:absolute}.message-bubble--assistant{margin-inline-end:auto}.message-bubble--assistant:before{border-block-start:var(--_tail) solid transparent;border-inline-end:var(--_tail) solid var(--message-bubble-border-color);inset-block-end:calc(-1 * var(--_border));inset-inline-start:calc(-1 * (var(--_tail) + var(--_border)))}.message-bubble--assistant:after{border-block-start:calc(var(--_tail) - var(--_diagonal)) solid transparent;border-inline-end:calc(var(--_tail) - var(--_diagonal)) solid var(--message-bubble-tail-fill);inset-block-end:0;inset-inline-start:calc(var(--_diagonal) - var(--_tail))}.message-bubble--user{margin-inline-start:auto}.message-bubble--user:before{border-block-start:var(--_tail) solid transparent;border-inline-start:var(--_tail) solid var(--message-bubble-border-color);inset-block-end:calc(-1 * var(--_border));inset-inline-end:calc(-1 * (var(--_tail) + var(--_border)))}.message-bubble--user:after{border-block-start:calc(var(--_tail) - var(--_diagonal)) solid transparent;border-inline-start:calc(var(--_tail) - var(--_diagonal)) solid var(--message-bubble-tail-fill);inset-block-end:0;inset-inline-end:calc(var(--_diagonal) - var(--_tail))}
@@ -1 +1 @@
1
- .message-composer{gap:var(--message-composer-helper-gap);flex-direction:column;display:flex}.message-composer__box{align-items:flex-end;gap:var(--message-composer-gap);padding-block:var(--message-composer-padding-block);padding-inline:var(--message-composer-padding-inline);border-radius:var(--message-composer-border-radius);border-width:var(--message-composer-border-width);border-style:var(--message-composer-border-style);border-color:var(--message-composer-border-color);background-color:var(--message-composer-bg);display:flex}.message-composer__box:focus-within{border-color:var(--message-composer-focus-border-color);box-shadow:inset 0 0 0 calc(var(--message-composer-focus-ring-width) + var(--message-composer-focus-ring-inset-offset)) var(--message-composer-focus-ring-color), inset 0 0 0 var(--message-composer-focus-ring-inset-offset) var(--message-composer-bg)}.message-composer.message-composer--disabled .message-composer__box{background-color:var(--message-composer-disabled-bg);border-color:var(--message-composer-disabled-border-color)}.message-composer__input{flex:1;min-width:0}.message-composer__actions{align-items:center;gap:var(--message-composer-gap);flex-shrink:0;display:flex}.message-composer__helper{font-size:var(--message-composer-helper-font-size);color:var(--message-composer-helper-color);line-height:var(--message-composer-helper-line-height);margin:0}
1
+ .message-composer{gap:var(--message-composer-helper-gap);flex-direction:column;display:flex}.message-composer__box{align-items:flex-end;gap:var(--message-composer-gap);padding-block:var(--message-composer-padding-block);padding-inline:var(--message-composer-padding-inline);border-radius:var(--message-composer-border-radius);border-width:var(--message-composer-border-width);border-style:var(--message-composer-border-style);border-color:var(--message-composer-border-color);background-color:var(--message-composer-bg);display:flex}.message-composer__box:focus-within{border-color:var(--message-composer-focus-border-color);box-shadow:inset 0 0 0 calc(var(--message-composer-focus-ring-width) + var(--message-composer-focus-ring-inset-offset)) var(--message-composer-focus-ring-color), inset 0 0 0 var(--message-composer-focus-ring-inset-offset) var(--message-composer-bg)}.message-composer.message-composer--disabled .message-composer__box{background-color:var(--message-composer-disabled-bg);border-color:var(--message-composer-disabled-border-color)}.message-composer__input{flex:1;min-inline-size:0}.message-composer__actions{align-items:center;gap:var(--message-composer-gap);flex-shrink:0;display:flex}.message-composer__helper{font-size:var(--message-composer-helper-font-size);color:var(--message-composer-helper-color);line-height:var(--message-composer-helper-line-height);margin:0}
package/dist/modal.css CHANGED
@@ -1 +1 @@
1
- @keyframes modal-content-in{0%{opacity:0;transform:translate(-50%, calc(-50% - var(--modal-content-enter-offset)))}to{opacity:1;transform:translate(-50%,-50%)}}@keyframes modal-content-out{0%{opacity:1;transform:translate(-50%,-50%)}to{opacity:0;transform:translate(-50%, calc(-50% - var(--modal-content-enter-offset)))}}.modal__overlay{--dialog-overlay-bg:var(--modal-backdrop-bg);--dialog-overlay-opacity:var(--modal-backdrop-opacity);--dialog-overlay-z-index:var(--modal-backdrop-z-index);--dialog-transition-duration:var(--modal-transition-duration);--dialog-transition-easing:var(--modal-transition-easing)}.modal__content{z-index:var(--modal-z-index);width:90vw;max-width:var(--modal-width-max);max-height:var(--modal-max-height);background-color:var(--modal-bg);border:var(--modal-border-width) solid var(--modal-border-color);border-radius:var(--modal-border-radius);box-shadow:var(--modal-shadow);padding-block:var(--modal-padding-block);padding-inline:var(--modal-padding-inline);flex-direction:column;display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);container:dialog/inline-size}.modal__content[data-open]{animation:modal-content-in var(--modal-transition-duration) var(--modal-transition-easing) forwards}.modal__content[data-closed]{animation:modal-content-out var(--modal-transition-duration) var(--modal-transition-easing) forwards}.modal__header{--dialog-header-gap:var(--modal-header-gap)}.modal__title{font-size:var(--modal-title-font-size);font-weight:var(--modal-title-font-weight);color:var(--modal-title-color);line-height:var(--modal-title-line-height);flex:1;margin:0}.modal__close.close-button{--close-button-size:var(--modal-close-size);--close-button-icon-size:var(--modal-close-icon-size);--close-button-color:var(--modal-close-color);--close-button-focus-ring-width:var(--modal-close-focus-ring-width);--close-button-focus-ring-offset:var(--modal-close-focus-ring-offset);--close-button-focus-ring-color:var(--modal-close-focus-ring-color)}.modal__header:not(.modal__header--no-title) .modal__close.close-button{margin-block-start:calc((var(--modal-title-font-size) * var(--modal-title-line-height) - var(--modal-close-size)) / 2)}.modal__description{font-size:var(--modal-description-font-size);color:var(--modal-description-color);margin-block-start:0;margin-block-end:var(--modal-description-margin-block-end)}.modal__body{flex:1;min-height:0;overflow-y:auto}.modal__footer{--dialog-footer-gap:var(--modal-footer-gap);margin-block-start:var(--modal-footer-margin-block-start)}
1
+ @keyframes modal-content-in{0%{opacity:0;transform:translate(-50%, calc(-50% - var(--modal-content-enter-offset)))}to{opacity:1;transform:translate(-50%,-50%)}}@keyframes modal-content-out{0%{opacity:1;transform:translate(-50%,-50%)}to{opacity:0;transform:translate(-50%, calc(-50% - var(--modal-content-enter-offset)))}}.modal__overlay{--dialog-overlay-bg:var(--modal-backdrop-bg);--dialog-overlay-opacity:var(--modal-backdrop-opacity);--dialog-overlay-z-index:var(--modal-backdrop-z-index);--dialog-transition-duration:var(--modal-transition-duration);--dialog-transition-easing:var(--modal-transition-easing)}.modal__content{inset-block-start:50%;z-index:var(--modal-z-index);inline-size:var(--modal-inline-size);max-inline-size:var(--modal-width-max);max-block-size:var(--modal-max-height);background-color:var(--modal-bg);border:var(--modal-border-width) solid var(--modal-border-color);border-radius:var(--modal-border-radius);box-shadow:var(--modal-shadow);padding-block:var(--modal-padding-block);padding-inline:var(--modal-padding-inline);flex-direction:column;display:flex;position:fixed;left:50%;transform:translate(-50%,-50%);container:dialog/inline-size}.modal__content[data-open]{animation:modal-content-in var(--modal-transition-duration) var(--modal-transition-easing) forwards}.modal__content[data-closed]{animation:modal-content-out var(--modal-transition-duration) var(--modal-transition-easing) forwards}.modal__header{--dialog-header-gap:var(--modal-header-gap)}.modal__title{font-size:var(--modal-title-font-size);font-weight:var(--modal-title-font-weight);color:var(--modal-title-color);line-height:var(--modal-title-line-height);flex:1;margin:0}.modal__close.close-button{--close-button-size:var(--modal-close-size);--close-button-icon-size:var(--modal-close-icon-size);--close-button-color:var(--modal-close-color);--close-button-focus-ring-width:var(--modal-close-focus-ring-width);--close-button-focus-ring-offset:var(--modal-close-focus-ring-offset);--close-button-focus-ring-color:var(--modal-close-focus-ring-color)}.modal__header:not(.modal__header--no-title) .modal__close.close-button{margin-block-start:calc((var(--modal-title-font-size) * var(--modal-title-line-height) - var(--modal-close-size)) / 2)}.modal__description{font-size:var(--modal-description-font-size);color:var(--modal-description-color);margin-block-start:0;margin-block-end:var(--modal-description-margin-block-end)}.modal__body{flex:1;min-block-size:0;overflow-y:auto}.modal__footer{--dialog-footer-gap:var(--modal-footer-gap);margin-block-start:var(--modal-footer-margin-block-start)}
package/dist/modal.js CHANGED
@@ -8,20 +8,20 @@ import { n as i, r as a, t as o } from "./_shared/dialogsurface.js";
8
8
  import { Fragment as s, jsx as c, jsxs as l } from "react/jsx-runtime";
9
9
  import { Dialog as u } from "@base-ui/react/dialog";
10
10
  //#region src/stories/molecules/Modal/Modal.tsx
11
- function d({ open: d, onClose: f, title: p, children: m, closeLabel: h, fallbackTitle: g, container: _, description: v, "aria-describedby": y, initialFocus: b, footer: x, footerClassName: S, ...C }) {
12
- let w = e("modal"), T = n(_), E = y === void 0 ? {} : { "aria-describedby": y }, D = b === void 0 ? {} : { initialFocus: b };
11
+ function d({ open: d, onClose: f, title: p, children: m, closeLabel: h, fallbackTitle: g, container: _, description: v, "aria-describedby": y, initialFocus: b, footer: x, footerClassName: S, className: C, ...w }) {
12
+ let T = e("modal"), E = n(_), D = y === void 0 ? {} : { "aria-describedby": y }, O = b === void 0 ? {} : { initialFocus: b };
13
13
  return /* @__PURE__ */ c(u.Root, {
14
14
  open: d,
15
15
  onOpenChange: (e) => {
16
16
  e || f();
17
17
  },
18
18
  children: /* @__PURE__ */ l(u.Portal, {
19
- container: T,
19
+ container: E,
20
20
  children: [/* @__PURE__ */ c(a, { className: "modal__overlay" }), /* @__PURE__ */ l(u.Popup, {
21
- className: "modal__content",
22
- ...E,
21
+ className: ["modal__content", C].filter(Boolean).join(" "),
23
22
  ...D,
24
- ...C,
23
+ ...O,
24
+ ...w,
25
25
  children: [
26
26
  p ? /* @__PURE__ */ l(i, {
27
27
  layout: "inline",
@@ -31,15 +31,15 @@ function d({ open: d, onClose: f, title: p, children: m, closeLabel: h, fallback
31
31
  children: p
32
32
  }), /* @__PURE__ */ c(u.Close, {
33
33
  className: "modal__close",
34
- render: /* @__PURE__ */ c(r, { label: w("close", h) })
34
+ render: /* @__PURE__ */ c(r, { label: T("close", h) })
35
35
  })]
36
- }) : /* @__PURE__ */ l(s, { children: [/* @__PURE__ */ c(u.Title, { render: /* @__PURE__ */ c(t, { children: w("fallbackTitle", g) }) }), /* @__PURE__ */ c(i, {
36
+ }) : /* @__PURE__ */ l(s, { children: [/* @__PURE__ */ c(u.Title, { render: /* @__PURE__ */ c(t, { children: T("fallbackTitle", g) }) }), /* @__PURE__ */ c(i, {
37
37
  layout: "inline",
38
38
  noTitle: !0,
39
39
  className: "modal__header modal__header--no-title",
40
40
  children: /* @__PURE__ */ c(u.Close, {
41
41
  className: "modal__close",
42
- render: /* @__PURE__ */ c(r, { label: w("close", h) })
42
+ render: /* @__PURE__ */ c(r, { label: T("close", h) })
43
43
  })
44
44
  })] }),
45
45
  v != null && /* @__PURE__ */ c(u.Description, {
@@ -1 +1 @@
1
- .multi-select{justify-content:space-between;align-items:center;gap:var(--multi-select-content-gap);min-block-size:var(--multi-select-height);padding-block:0;padding-inline:var(--multi-select-padding-inline);font-family:var(--multi-select-font-family);font-size:var(--multi-select-font-size);line-height:var(--multi-select-line-height);font-weight:var(--multi-select-font-weight);color:var(--multi-select-color);background-color:var(--multi-select-bg);border-width:var(--multi-select-border-width);border-style:var(--multi-select-border-style);border-color:var(--multi-select-border-color);border-radius:var(--multi-select-border-radius);box-sizing:border-box;cursor:pointer;width:100%;display:inline-flex}.multi-select:focus,.multi-select[data-popup-open]{outline:none}.multi-select:has(.multi-select__combobox:focus-visible){outline:var(--multi-select-focus-ring-width) solid var(--multi-select-focus-ring-color);outline-offset:calc(-1 * (var(--multi-select-focus-ring-width) + var(--multi-select-border-width)))}.multi-select__combobox{outline:none;flex:auto;align-items:center;min-width:0;display:inline-flex}.multi-select.multi-select--disabled{opacity:var(--multi-select-disabled-opacity);cursor:var(--multi-select-disabled-cursor);pointer-events:none}.multi-select__values{align-items:center;gap:var(--multi-select-selection-gap);flex-wrap:wrap;flex:1;min-width:0;display:flex}.multi-select__placeholder{color:var(--multi-select-placeholder-color)}.multi-select__pill{align-items:center;gap:var(--multi-select-pill-gap);padding-block:var(--multi-select-pill-padding-block);padding-inline:var(--multi-select-pill-padding-inline);background-color:var(--multi-select-pill-bg);color:var(--multi-select-pill-color);border-radius:var(--multi-select-pill-border-radius);font-size:var(--multi-select-pill-font-size);line-height:var(--multi-select-pill-line-height);white-space:nowrap;display:inline-flex}.multi-select__pill-label{line-height:var(--multi-select-pill-line-height)}.multi-select__pill-remove{all:unset;cursor:pointer;line-height:var(--multi-select-pill-line-height);font-size:var(--multi-select-pill-font-size);opacity:var(--multi-select-pill-remove-opacity);justify-content:center;align-items:center;display:inline-flex}.multi-select__pill-remove:hover{opacity:var(--multi-select-pill-remove-hover-opacity)}.multi-select .multi-select__icon{--icon-size:var(--multi-select-icon-size)}.multi-select__icon{transition:transform var(--multi-select-icon-transition) var(--multi-select-icon-transition-easing);flex-shrink:0;transform:rotate(90deg)}[data-popup-open] .multi-select__icon{transform:rotate(-90deg)}.multi-select__content{background-color:var(--multi-select-content-bg);border-width:var(--multi-select-border-width);border-style:var(--multi-select-border-style);border-color:var(--multi-select-content-border-color);min-width:var(--anchor-width);max-height:var(--multi-select-content-max-height,var(--available-height));overscroll-behavior:contain;overflow-y:auto}.multi-select__content[data-side=bottom]{border-top:none}.multi-select__content[data-side=top]{border-bottom:none}.multi-select__item{all:unset;box-sizing:border-box;align-items:center;gap:var(--multi-select-padding-inline);width:100%;padding-block:var(--multi-select-item-padding-block);padding-inline:var(--multi-select-padding-inline);font-size:var(--multi-select-font-size);font-family:var(--multi-select-font-family);color:var(--multi-select-color);cursor:pointer;display:flex}.multi-select__item.multi-select__item--active,.multi-select__item:hover{background-color:var(--multi-select-item-highlighted-bg);color:var(--multi-select-item-highlighted-color)}.multi-select__item.multi-select__item--selected{font-weight:var(--multi-select-item-selected-font-weight)}.multi-select__content .multi-select__item+.multi-select__item,.multi-select__content[data-side=bottom] .multi-select__item:first-child{border-top:var(--multi-select-border-width) var(--multi-select-border-style) var(--multi-select-content-border-color)}.multi-select__content[data-side=top] .multi-select__item:last-child{border-bottom:var(--multi-select-border-width) var(--multi-select-border-style) var(--multi-select-content-border-color)}.multi-select__item-check{width:var(--checkbox-size);height:var(--checkbox-size);border-width:var(--checkbox-border-width);border-style:var(--checkbox-border-style);transition:background-color var(--checkbox-transition-duration) var(--checkbox-transition-easing);background-color:#0000;border-color:currentColor;flex-shrink:0;place-content:center;display:grid}.multi-select__item--selected .multi-select__item-check{background-color:currentColor}.multi-select__item-check-mark{width:var(--checkbox-check-size);height:var(--checkbox-check-size);background-color:var(--multi-select-content-bg);clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0%,43% 62%);transition:transform var(--checkbox-transition-duration) var(--checkbox-transition-easing);transform:scale(0)}.multi-select__item--selected .multi-select__item-check-mark{transform:scale(1)}.multi-select__item--active .multi-select__item-check-mark,.multi-select__item:hover .multi-select__item-check-mark{background-color:var(--multi-select-item-highlighted-bg)}.multi-select.multi-select--sm{font-size:var(--multi-select-sm-font-size);--multi-select-height:var(--multi-select-sm-height);padding-inline:var(--multi-select-sm-padding-inline);--multi-select-icon-size:var(--multi-select-sm-icon-size)}.multi-select__content--sm .multi-select__item{font-size:var(--multi-select-sm-font-size);padding-block:var(--multi-select-sm-item-padding-block)}.multi-select.multi-select--lg{font-size:var(--multi-select-lg-font-size);--multi-select-height:var(--multi-select-lg-height);padding-inline:var(--multi-select-lg-padding-inline);--multi-select-icon-size:var(--multi-select-lg-icon-size)}.multi-select__content--lg .multi-select__item{font-size:var(--multi-select-lg-font-size);padding-block:var(--multi-select-lg-item-padding-block)}.multi-select__positioner{z-index:var(--multi-select-content-z-index)}.multi-select.multi-select--error{border-color:var(--multi-select-error-border-color)}
1
+ .multi-select{justify-content:space-between;align-items:center;gap:var(--multi-select-content-gap);min-block-size:var(--multi-select-height);padding-block:0;padding-inline:var(--multi-select-padding-inline);font-family:var(--multi-select-font-family);font-size:var(--multi-select-font-size);line-height:var(--multi-select-line-height);font-weight:var(--multi-select-font-weight);color:var(--multi-select-color);background-color:var(--multi-select-bg);border-width:var(--multi-select-border-width);border-style:var(--multi-select-border-style);border-color:var(--multi-select-border-color);border-radius:var(--multi-select-border-radius);box-sizing:border-box;cursor:pointer;inline-size:100%;display:inline-flex}.multi-select:focus,.multi-select[data-popup-open]{outline:none}.multi-select:has(.multi-select__combobox:focus-visible){outline:var(--multi-select-focus-ring-width) solid var(--multi-select-focus-ring-color);outline-offset:calc(-1 * (var(--multi-select-focus-ring-width) + var(--multi-select-border-width)))}.multi-select__combobox{outline:none;flex:auto;align-items:center;min-inline-size:0;display:inline-flex}.multi-select.multi-select--disabled{opacity:var(--multi-select-disabled-opacity);cursor:var(--multi-select-disabled-cursor);pointer-events:none}.multi-select__values{align-items:center;gap:var(--multi-select-selection-gap);flex-wrap:wrap;flex:1;min-inline-size:0;display:flex}.multi-select__placeholder{color:var(--multi-select-placeholder-color)}.multi-select__pill{align-items:center;gap:var(--multi-select-pill-gap);padding-block:var(--multi-select-pill-padding-block);padding-inline:var(--multi-select-pill-padding-inline);background-color:var(--multi-select-pill-bg);color:var(--multi-select-pill-color);border-radius:var(--multi-select-pill-border-radius);font-size:var(--multi-select-pill-font-size);line-height:var(--multi-select-pill-line-height);white-space:nowrap;display:inline-flex}.multi-select__pill-label{line-height:var(--multi-select-pill-line-height)}.multi-select__pill-remove{all:unset;cursor:pointer;line-height:var(--multi-select-pill-line-height);font-size:var(--multi-select-pill-font-size);opacity:var(--multi-select-pill-remove-opacity);justify-content:center;align-items:center;display:inline-flex}.multi-select__pill-remove:hover{opacity:var(--multi-select-pill-remove-hover-opacity)}.multi-select .multi-select__icon{--icon-size:var(--multi-select-icon-size)}.multi-select__icon{transition:transform var(--multi-select-icon-transition) var(--multi-select-icon-transition-easing);flex-shrink:0;transform:rotate(90deg)}[data-popup-open] .multi-select__icon{transform:rotate(-90deg)}.multi-select__content{background-color:var(--multi-select-content-bg);border-width:var(--multi-select-border-width);border-style:var(--multi-select-border-style);border-color:var(--multi-select-content-border-color);min-inline-size:var(--anchor-width);max-block-size:var(--multi-select-content-max-height,var(--available-height));overscroll-behavior:contain;overflow-y:auto}.multi-select__content[data-side=bottom]{border-block-start:none}.multi-select__content[data-side=top]{border-block-end:none}.multi-select__item{all:unset;box-sizing:border-box;align-items:center;gap:var(--multi-select-padding-inline);inline-size:100%;padding-block:var(--multi-select-item-padding-block);padding-inline:var(--multi-select-padding-inline);font-size:var(--multi-select-font-size);font-family:var(--multi-select-font-family);color:var(--multi-select-color);cursor:pointer;display:flex}.multi-select__item[data-highlighted],.multi-select__item:hover{background-color:var(--multi-select-item-highlighted-bg);color:var(--multi-select-item-highlighted-color)}.multi-select__item[data-selected]{font-weight:var(--multi-select-item-selected-font-weight)}.multi-select__content .multi-select__item+.multi-select__item,.multi-select__content[data-side=bottom] .multi-select__item:first-child{border-block-start:var(--multi-select-border-width) var(--multi-select-border-style) var(--multi-select-content-border-color)}.multi-select__content[data-side=top] .multi-select__item:last-child{border-block-end:var(--multi-select-border-width) var(--multi-select-border-style) var(--multi-select-content-border-color)}.multi-select__item-check{inline-size:var(--checkbox-size);block-size:var(--checkbox-size);border-width:var(--checkbox-border-width);border-style:var(--checkbox-border-style);transition:background-color var(--checkbox-transition-duration) var(--checkbox-transition-easing);background-color:#0000;border-color:currentColor;flex-shrink:0;place-content:center;display:grid}.multi-select__item[data-selected] .multi-select__item-check{background-color:currentColor}.multi-select__item-check-mark{inline-size:var(--checkbox-check-size);block-size:var(--checkbox-check-size);background-color:var(--multi-select-content-bg);clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0%,43% 62%);transition:transform var(--checkbox-transition-duration) var(--checkbox-transition-easing);transform:scale(0)}.multi-select__item[data-selected] .multi-select__item-check-mark{transform:scale(1)}.multi-select__item[data-highlighted] .multi-select__item-check-mark,.multi-select__item:hover .multi-select__item-check-mark{background-color:var(--multi-select-item-highlighted-bg)}.multi-select.multi-select--sm{font-size:var(--multi-select-sm-font-size);--multi-select-height:var(--multi-select-sm-height);padding-inline:var(--multi-select-sm-padding-inline);--multi-select-icon-size:var(--multi-select-sm-icon-size)}.multi-select__content--sm .multi-select__item{font-size:var(--multi-select-sm-font-size);padding-block:var(--multi-select-sm-item-padding-block)}.multi-select.multi-select--lg{font-size:var(--multi-select-lg-font-size);--multi-select-height:var(--multi-select-lg-height);padding-inline:var(--multi-select-lg-padding-inline);--multi-select-icon-size:var(--multi-select-lg-icon-size)}.multi-select__content--lg .multi-select__item{font-size:var(--multi-select-lg-font-size);padding-block:var(--multi-select-lg-item-padding-block)}.multi-select__positioner{z-index:var(--multi-select-content-z-index)}.multi-select.multi-select--error{border-color:var(--multi-select-error-border-color)}
@@ -3,191 +3,123 @@ import './multi-select.css';
3
3
  import { n as e } from "./_shared/brandmessagescontext.js";
4
4
  import { Icon as t } from "./icon.js";
5
5
  import { n } from "./_shared/portal-container.js";
6
- import { forwardRef as r, useEffect as i, useId as a, useRef as o, useState as s } from "react";
7
- import { jsx as c, jsxs as l } from "react/jsx-runtime";
8
- import { Popover as u } from "@base-ui/react/popover";
6
+ import { t as r } from "./_shared/assign-ref.js";
7
+ import { forwardRef as i, useRef as a, useState as o } from "react";
8
+ import { jsx as s, jsxs as c } from "react/jsx-runtime";
9
+ import { Select as l } from "@base-ui/react/select";
9
10
  //#region src/stories/atoms/MultiSelect/MultiSelect.tsx
10
- function d(e, t) {
11
- typeof e == "function" ? e(t) : e && (e.current = t);
12
- }
13
- var f = 500, p = r(function({ options: r, value: p, defaultValue: m = [], placeholder: h, disabled: g, readOnly: _, size: v = "md", onValueChange: y, id: b, name: x, error: S = !1, onBlur: C, className: w, "aria-label": T, "aria-labelledby": E, "aria-describedby": D, removeLabel: O, container: k }, A) {
14
- let j = e("multiSelect"), M = n(k), [N, P] = s(!1), [F, I] = s(m), [L, R] = s(-1), z = o(null), B = o(null), V = a(), H = a(), U = o(""), W = o(0), G = p === void 0 ? F : p, K = (e) => `${H}-opt-${e}`;
15
- function q(e) {
16
- let t = G.includes(e) ? G.filter((t) => t !== e) : [...G, e];
17
- p === void 0 && I(t), y?.(t);
11
+ var u = i(function({ options: i, value: u, defaultValue: d = [], placeholder: f, disabled: p, readOnly: m, size: h = "md", onValueChange: g, id: _, name: v, error: y = !1, onBlur: b, className: x, "aria-label": S, "aria-labelledby": C, "aria-describedby": w, removeLabel: T, container: E }, D) {
12
+ let O = e("multiSelect"), k = n(E), [A, j] = o(!1), [M, N] = o(d), P = a(null), F = a(null), I = a(null), L = u === void 0 ? M : u;
13
+ function R(e) {
14
+ u === void 0 && N(e), g?.(e);
18
15
  }
19
- function J(e) {
20
- g || _ || (P(!0), R(r.length === 0 ? -1 : e));
16
+ function z(e) {
17
+ R(L.filter((t) => t !== e));
21
18
  }
22
- function Y() {
23
- P(!1), R(-1), U.current = "";
19
+ function B(e) {
20
+ p || m || e.target instanceof Element && (e.target.closest(".multi-select__pill-remove") || F.current?.contains(e.target) || (e.preventDefault(), F.current?.focus(), j(!A)));
24
21
  }
25
- function X(e, t) {
26
- if (!e) {
27
- if (t.reason === "outside-press") {
28
- let e = t.event?.target;
29
- if (e instanceof Node && z.current?.contains(e)) return;
30
- }
31
- Y();
32
- }
22
+ function V(e) {
23
+ return e instanceof Node && (!!F.current?.contains(e) || !!I.current?.contains(e));
33
24
  }
34
- function Z(e) {
35
- if (r.length === 0) return;
36
- let t = Date.now(), n = t - W.current > f ? e : U.current + e;
37
- U.current = n, W.current = t;
38
- let i = n.length === 1 ? L + 1 : Math.max(L, 0), a = n.toLowerCase();
39
- for (let e = 0; e < r.length; e++) {
40
- let t = (i + e) % r.length;
41
- if (r[t].label.toLowerCase().startsWith(a)) {
42
- R(t), N || P(!0);
43
- return;
44
- }
45
- }
25
+ function H(e) {
26
+ V(e.relatedTarget) || b?.(e);
46
27
  }
47
- function Q(e) {
48
- if (g || _) return;
49
- let t = r.length - 1;
50
- if (e.key === "ArrowDown") e.preventDefault(), N ? R((e) => Math.min(e + 1, t)) : J(0);
51
- else if (e.key === "ArrowUp") e.preventDefault(), N ? R((e) => Math.max(e - 1, 0)) : J(t);
52
- else if (e.key === "Home") e.preventDefault(), N ? R(r.length === 0 ? -1 : 0) : J(0);
53
- else if (e.key === "End") e.preventDefault(), N ? R(t) : J(t);
54
- else if (e.key === "Enter" || e.key === " ") e.preventDefault(), N ? L >= 0 && L < r.length && q(r[L].value) : J(0);
55
- else if (e.key === "Escape") {
56
- if (!N) return;
57
- e.preventDefault(), Y();
58
- } else e.key === "Tab" ? N && Y() : e.key.length === 1 && !e.ctrlKey && !e.metaKey && !e.altKey && (e.preventDefault(), Z(e.key));
59
- }
60
- function $(e) {
61
- g || _ || e.target instanceof Element && e.target.closest(".multi-select__pill-remove") || (e.preventDefault(), B.current?.focus(), N ? Y() : J(0));
62
- }
63
- i(() => {
64
- !N || L < 0 || document.getElementById(K(L))?.scrollIntoView({ block: "nearest" });
65
- }, [
66
- N,
67
- L,
68
- H
69
- ]);
70
- let ee = [
28
+ let U = [
71
29
  "multi-select",
72
- v === "md" ? "" : `multi-select--${v}`,
73
- g ? "multi-select--disabled" : "",
74
- S ? "multi-select--error" : "",
75
- w ?? ""
76
- ].filter(Boolean).join(" "), te = ["multi-select__content", v === "md" ? "" : `multi-select__content--${v}`].filter(Boolean).join(" ");
77
- return /* @__PURE__ */ l(u.Root, {
78
- open: N,
79
- onOpenChange: X,
80
- children: [/* @__PURE__ */ l("div", {
81
- ref: z,
82
- className: ee,
83
- "data-popup-open": N || void 0,
84
- onPointerDown: $,
85
- children: [
86
- /* @__PURE__ */ l("div", {
87
- className: "multi-select__values",
88
- children: [G.map((e) => {
89
- let n = r.find((t) => t.value === e);
90
- return n ? /* @__PURE__ */ l("span", {
91
- className: "multi-select__pill",
92
- children: [/* @__PURE__ */ c("span", {
93
- className: "multi-select__pill-label",
94
- children: n.label
95
- }), !g && !_ && /* @__PURE__ */ c("button", {
96
- type: "button",
97
- className: "multi-select__pill-remove",
98
- "aria-label": j("remove", O)(n.label),
99
- tabIndex: -1,
100
- onClick: (t) => {
101
- t.stopPropagation(), q(e), B.current?.focus();
102
- },
103
- children: /* @__PURE__ */ c(t, {
104
- name: "close",
105
- size: "xs"
106
- })
107
- })]
108
- }, e) : null;
109
- }), /* @__PURE__ */ c("div", {
110
- ref: (e) => {
111
- B.current = e, d(A, e);
112
- },
113
- className: "multi-select__combobox",
114
- tabIndex: g ? -1 : 0,
115
- role: "combobox",
116
- "aria-expanded": N,
117
- "aria-haspopup": "listbox",
118
- "aria-controls": N ? V : void 0,
119
- "aria-activedescendant": N && L >= 0 ? K(L) : void 0,
120
- "aria-label": E ? void 0 : T ?? j("placeholder", h),
121
- "aria-labelledby": E,
122
- "aria-describedby": D,
123
- "aria-invalid": S || void 0,
124
- "aria-disabled": g || void 0,
125
- "aria-readonly": _ || void 0,
126
- id: b,
127
- onKeyDown: Q,
128
- onBlur: C,
129
- children: G.length === 0 && /* @__PURE__ */ c("span", {
130
- className: "multi-select__placeholder",
131
- children: j("placeholder", h)
132
- })
133
- })]
134
- }),
135
- /* @__PURE__ */ c(t, {
136
- name: "chevron",
137
- className: "multi-select__icon"
138
- }),
139
- x && G.map((e) => /* @__PURE__ */ c("input", {
140
- type: "hidden",
141
- name: x,
142
- value: e
143
- }, e))
144
- ]
145
- }), /* @__PURE__ */ c(u.Portal, {
146
- container: M,
147
- children: /* @__PURE__ */ c(u.Positioner, {
30
+ h === "md" ? "" : `multi-select--${h}`,
31
+ p ? "multi-select--disabled" : "",
32
+ y ? "multi-select--error" : "",
33
+ x ?? ""
34
+ ].filter(Boolean).join(" "), W = ["multi-select__content", h === "md" ? "" : `multi-select__content--${h}`].filter(Boolean).join(" ");
35
+ return /* @__PURE__ */ c(l.Root, {
36
+ multiple: !0,
37
+ value: L,
38
+ onValueChange: R,
39
+ open: A,
40
+ onOpenChange: j,
41
+ name: v,
42
+ disabled: p,
43
+ readOnly: m,
44
+ modal: !1,
45
+ children: [/* @__PURE__ */ c("div", {
46
+ ref: P,
47
+ className: U,
48
+ "data-popup-open": A || void 0,
49
+ onPointerDown: B,
50
+ children: [/* @__PURE__ */ c("div", {
51
+ className: "multi-select__values",
52
+ children: [L.map((e) => {
53
+ let n = i.find((t) => t.value === e);
54
+ return n ? /* @__PURE__ */ c("span", {
55
+ className: "multi-select__pill",
56
+ children: [/* @__PURE__ */ s("span", {
57
+ className: "multi-select__pill-label",
58
+ children: n.label
59
+ }), !p && !m && /* @__PURE__ */ s("button", {
60
+ type: "button",
61
+ className: "multi-select__pill-remove",
62
+ "aria-label": O("remove", T)(n.label),
63
+ tabIndex: -1,
64
+ onClick: (t) => {
65
+ t.stopPropagation(), z(e), F.current?.focus();
66
+ },
67
+ children: /* @__PURE__ */ s(t, {
68
+ name: "close",
69
+ size: "xs"
70
+ })
71
+ })]
72
+ }, e) : null;
73
+ }), /* @__PURE__ */ s(l.Trigger, {
74
+ ref: (e) => {
75
+ F.current = e, r(D, e);
76
+ },
77
+ render: /* @__PURE__ */ s("div", {}),
78
+ nativeButton: !1,
79
+ className: "multi-select__combobox",
80
+ id: _,
81
+ "aria-label": C ? void 0 : S ?? O("placeholder", f),
82
+ "aria-labelledby": C,
83
+ "aria-describedby": w,
84
+ "aria-invalid": y || void 0,
85
+ "aria-readonly": m || void 0,
86
+ onBlur: H,
87
+ children: L.length === 0 && /* @__PURE__ */ s("span", {
88
+ className: "multi-select__placeholder",
89
+ children: O("placeholder", f)
90
+ })
91
+ })]
92
+ }), /* @__PURE__ */ s(t, {
93
+ name: "chevron",
94
+ className: "multi-select__icon"
95
+ })]
96
+ }), /* @__PURE__ */ s(l.Portal, {
97
+ container: k,
98
+ children: /* @__PURE__ */ s(l.Positioner, {
148
99
  className: "multi-select__positioner",
149
- anchor: z,
100
+ anchor: P,
150
101
  align: "start",
151
102
  sideOffset: -1,
152
- children: /* @__PURE__ */ c(u.Popup, {
153
- className: te,
154
- initialFocus: !1,
155
- finalFocus: !1,
156
- children: /* @__PURE__ */ c("div", {
157
- role: "listbox",
158
- "aria-multiselectable": "true",
159
- "aria-label": T ?? h,
160
- id: V,
161
- children: r.map((e, t) => {
162
- let n = G.includes(e.value), r = L === t;
163
- return /* @__PURE__ */ l("div", {
164
- id: K(t),
165
- role: "option",
166
- "aria-selected": n,
167
- "aria-label": e["aria-label"] ?? e.label,
168
- className: [
169
- "multi-select__item",
170
- n ? "multi-select__item--selected" : "",
171
- r ? "multi-select__item--active" : ""
172
- ].filter(Boolean).join(" "),
173
- onPointerDown: (e) => {
174
- e.preventDefault(), e.stopPropagation();
175
- },
176
- onClick: () => {
177
- q(e.value), R(t), B.current?.focus();
178
- },
179
- children: [/* @__PURE__ */ c("span", {
180
- className: "multi-select__item-check",
181
- "aria-hidden": "true",
182
- children: /* @__PURE__ */ c("span", { className: "multi-select__item-check-mark" })
183
- }), /* @__PURE__ */ c("span", { children: e.label })]
184
- }, e.value);
185
- })
186
- })
103
+ alignItemWithTrigger: !1,
104
+ children: /* @__PURE__ */ s(l.Popup, {
105
+ ref: I,
106
+ className: W,
107
+ "aria-label": S ?? f,
108
+ onBlur: H,
109
+ children: i.map((e) => /* @__PURE__ */ c(l.Item, {
110
+ value: e.value,
111
+ "aria-label": e["aria-label"] ?? e.label,
112
+ className: "multi-select__item",
113
+ children: [/* @__PURE__ */ s("span", {
114
+ className: "multi-select__item-check",
115
+ "aria-hidden": "true",
116
+ children: /* @__PURE__ */ s("span", { className: "multi-select__item-check-mark" })
117
+ }), /* @__PURE__ */ s(l.ItemText, { children: e.label })]
118
+ }, e.value))
187
119
  })
188
120
  })
189
121
  })]
190
122
  });
191
123
  });
192
124
  //#endregion
193
- export { p as MultiSelect };
125
+ export { u as MultiSelect };
@@ -4,16 +4,19 @@ import { PageIntro as t } from "./page-intro.js";
4
4
  import { PublicPageShell as n } from "./public-page-shell.js";
5
5
  import { jsx as r, jsxs as i } from "react/jsx-runtime";
6
6
  //#region src/stories/templates/NotFoundPage/NotFoundPage.tsx
7
- function a({ title: a, description: o, homeLink: s, header: c, footer: l, id: u = "main-content", shell: d = !0 }) {
7
+ function a({ title: a, description: o, homeLink: s, header: c, footer: l, id: u = "main-content", shell: d = !0, className: f }) {
8
8
  return /* @__PURE__ */ r(n, {
9
9
  header: c,
10
10
  footer: l,
11
11
  id: u,
12
12
  shell: d,
13
- children: /* @__PURE__ */ i(e, { children: [/* @__PURE__ */ r(t, {
14
- title: a,
15
- description: o
16
- }), s] })
13
+ children: /* @__PURE__ */ i(e, {
14
+ className: f,
15
+ children: [/* @__PURE__ */ r(t, {
16
+ title: a,
17
+ description: o
18
+ }), s]
19
+ })
17
20
  });
18
21
  }
19
22
  //#endregion
@@ -5,62 +5,57 @@ import { Icon as t } from "./icon.js";
5
5
  import { VisuallyHidden as n } from "./visually-hidden.js";
6
6
  import { Button as r } from "./button.js";
7
7
  import { Text as i } from "./text.js";
8
- import { Fragment as a, jsx as o, jsxs as s } from "react/jsx-runtime";
8
+ import { t as a } from "./_shared/default-render-link.js";
9
+ import { Fragment as o, jsx as s, jsxs as c } from "react/jsx-runtime";
9
10
  //#region src/stories/molecules/NotificationList/NotificationList.tsx
10
- function c({ children: e, ...t }) {
11
- return /* @__PURE__ */ o("a", {
12
- ...t,
13
- children: e
14
- });
15
- }
16
- function l({ items: l, renderLink: u = c, renderActions: d, onItemClick: f, onMarkRead: p, label: m, unreadLabel: h, markReadLabel: g, className: _ }) {
11
+ function l({ items: l, renderLink: u = a, renderActions: d, onItemClick: f, onMarkRead: p, label: m, unreadLabel: h, markReadLabel: g, className: _ }) {
17
12
  let v = e("notificationList");
18
- return l.length === 0 ? null : /* @__PURE__ */ o("ul", {
13
+ return l.length === 0 ? null : /* @__PURE__ */ s("ul", {
19
14
  className: ["notification-list", _].filter(Boolean).join(" "),
20
15
  "aria-label": v("label", m),
21
16
  children: l.map((e) => {
22
- let c = e.unread, l = d?.(e);
23
- return /* @__PURE__ */ s("li", {
17
+ let a = e.unread, l = d?.(e);
18
+ return /* @__PURE__ */ c("li", {
24
19
  className: "notification-list__item",
25
20
  children: [
26
- /* @__PURE__ */ o("span", {
21
+ /* @__PURE__ */ s("span", {
27
22
  className: "notification-list__indicator",
28
- children: c && /* @__PURE__ */ s(a, { children: [/* @__PURE__ */ o(t, {
23
+ children: a && /* @__PURE__ */ c(o, { children: [/* @__PURE__ */ s(t, {
29
24
  name: "dot",
30
25
  size: "sm",
31
26
  className: "notification-list__dot"
32
- }), /* @__PURE__ */ o(n, { children: e.unreadLabel ?? v("unread", h) })] })
27
+ }), /* @__PURE__ */ s(n, { children: e.unreadLabel ?? v("unread", h) })] })
33
28
  }),
34
- /* @__PURE__ */ s("div", {
29
+ /* @__PURE__ */ c("div", {
35
30
  className: "notification-list__text",
36
31
  children: [e.href ? u({
37
32
  href: e.href,
38
33
  className: "notification-list__title",
39
34
  onClick: f ? () => f(e) : void 0,
40
35
  children: e.title
41
- }) : /* @__PURE__ */ o(i, {
36
+ }) : /* @__PURE__ */ s(i, {
42
37
  className: "notification-list__title",
43
38
  children: e.title
44
- }), e.body && /* @__PURE__ */ o(i, {
39
+ }), e.body && /* @__PURE__ */ s(i, {
45
40
  tone: "muted",
46
41
  className: "notification-list__body",
47
42
  children: e.body
48
43
  })]
49
44
  }),
50
- (p || l) && /* @__PURE__ */ s("div", {
45
+ (p || l) && /* @__PURE__ */ c("div", {
51
46
  className: "notification-list__actions",
52
- children: [p && c && /* @__PURE__ */ o(r, {
47
+ children: [p && a && /* @__PURE__ */ s(r, {
53
48
  variant: "text",
54
49
  size: "sm",
55
50
  onClick: () => p(e.id),
56
51
  children: v("markRead", g)
57
52
  }), l]
58
53
  }),
59
- e.timeDateTime ? /* @__PURE__ */ o("time", {
54
+ e.timeDateTime ? /* @__PURE__ */ s("time", {
60
55
  className: "notification-list__time",
61
56
  dateTime: e.timeDateTime,
62
57
  children: e.time
63
- }) : /* @__PURE__ */ o("span", {
58
+ }) : /* @__PURE__ */ s("span", {
64
59
  className: "notification-list__time",
65
60
  children: e.time
66
61
  })