origam 2.5.0 → 2.6.2

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 (532) hide show
  1. package/dist/src/assets/css/tokens/dark.css +3788 -3768
  2. package/dist/src/assets/css/tokens/light.css +1894 -1884
  3. package/dist/src/assets/css/tokens/primitive.css +2 -0
  4. package/dist/src/assets/css/tokens/themes-all.css +44226 -0
  5. package/dist/src/assets/locales/en.json +34 -2
  6. package/dist/src/assets/locales/fr.json +34 -2
  7. package/dist/src/assets/scss/tokens/_dark.scss +1894 -1884
  8. package/dist/src/assets/scss/tokens/_light.scss +1894 -1884
  9. package/dist/src/assets/scss/tokens/_primitive.scss +2 -0
  10. package/dist/src/assets/scss/tokens/_themes-all.scss +44241 -0
  11. package/dist/src/components/Alert/OrigamAlert.vue +16 -21
  12. package/dist/src/components/App/OrigamApp.vue +7 -38
  13. package/dist/src/components/App/OrigamAppBar.vue +35 -17
  14. package/dist/src/components/Audio/OrigamAudio.vue +77 -6
  15. package/dist/src/components/Avatar/OrigamAvatar.vue +11 -9
  16. package/dist/src/components/Avatar/OrigamAvatarGroup.vue +26 -8
  17. package/dist/src/components/Badge/OrigamBadge.vue +13 -3
  18. package/dist/src/components/Blockquote/OrigamBlockquote.vue +137 -13
  19. package/dist/src/components/BottomNav/OrigamBottomNav.vue +34 -4
  20. package/dist/src/components/Bracket/OrigamBracket.vue +386 -64
  21. package/dist/src/components/Bracket/OrigamBracketCompetitor.vue +190 -13
  22. package/dist/src/components/Bracket/OrigamBracketMatch.vue +197 -42
  23. package/dist/src/components/Bracket/OrigamBracketRound.vue +11 -3
  24. package/dist/src/components/Breadcrumb/OrigamBreadcrumb.vue +14 -12
  25. package/dist/src/components/Breadcrumb/OrigamBreadcrumbDivider.vue +4 -1
  26. package/dist/src/components/Breadcrumb/OrigamBreadcrumbItem.vue +3 -5
  27. package/dist/src/components/Btn/OrigamBtn.vue +69 -30
  28. package/dist/src/components/Btn/OrigamBtnGroup.vue +33 -7
  29. package/dist/src/components/Btn/OrigamBtnToggle.vue +4 -7
  30. package/dist/src/components/Calendar/OrigamCalendar.vue +785 -658
  31. package/dist/src/components/Card/OrigamCard.vue +24 -3
  32. package/dist/src/components/Card/OrigamCardHeader.vue +17 -3
  33. package/dist/src/components/Card/OrigamCardText.vue +29 -7
  34. package/dist/src/components/Carousel/OrigamCarousel.vue +29 -9
  35. package/dist/src/components/Carousel/OrigamCarouselItem.vue +2 -2
  36. package/dist/src/components/Chart/OrigamChart.vue +3 -1
  37. package/dist/src/components/Chart/OrigamChartAxis.vue +1 -1
  38. package/dist/src/components/Chart/OrigamChartBoxPlot.vue +7 -3
  39. package/dist/src/components/Chart/OrigamChartBullet.vue +7 -3
  40. package/dist/src/components/Chart/OrigamChartCandlestick.vue +7 -3
  41. package/dist/src/components/Chart/OrigamChartCartesian.vue +14 -10
  42. package/dist/src/components/Chart/OrigamChartGauge.vue +7 -3
  43. package/dist/src/components/Chart/OrigamChartHeatmap.vue +7 -3
  44. package/dist/src/components/Chart/OrigamChartHoneycomb.vue +7 -3
  45. package/dist/src/components/Chart/OrigamChartLegend.vue +1 -2
  46. package/dist/src/components/Chart/OrigamChartMap.vue +7 -3
  47. package/dist/src/components/Chart/OrigamChartPareto.vue +7 -3
  48. package/dist/src/components/Chart/OrigamChartPictorial.vue +9 -6
  49. package/dist/src/components/Chart/OrigamChartPolar.vue +13 -6
  50. package/dist/src/components/Chart/OrigamChartPolarBar.vue +7 -3
  51. package/dist/src/components/Chart/OrigamChartPyramid.vue +7 -3
  52. package/dist/src/components/Chart/OrigamChartRadar.vue +7 -5
  53. package/dist/src/components/Chart/OrigamChartRangeSelector.vue +3 -4
  54. package/dist/src/components/Chart/OrigamChartSankey.vue +7 -3
  55. package/dist/src/components/Chart/OrigamChartSparkline.vue +5 -3
  56. package/dist/src/components/Chart/OrigamChartStreamgraph.vue +9 -5
  57. package/dist/src/components/Chart/OrigamChartSunburst.vue +7 -3
  58. package/dist/src/components/Chart/OrigamChartTooltip.vue +1 -1
  59. package/dist/src/components/Chart/OrigamChartTreemap.vue +7 -3
  60. package/dist/src/components/Chart/OrigamChartVariwide.vue +7 -3
  61. package/dist/src/components/Chart/OrigamChartWordCloud.vue +3 -2
  62. package/dist/src/components/Checkbox/OrigamCheckbox.vue +18 -3
  63. package/dist/src/components/Checkbox/OrigamCheckboxBtn.vue +4 -2
  64. package/dist/src/components/Chip/OrigamChip.vue +25 -12
  65. package/dist/src/components/Chip/OrigamChipGroup.vue +5 -5
  66. package/dist/src/components/ClientOnly/OrigamClientOnly.vue +1 -1
  67. package/dist/src/components/Clipboard/OrigamClipboard.vue +12 -4
  68. package/dist/src/components/Code/OrigamCode.vue +144 -39
  69. package/dist/src/components/ColorPicker/OrigamColorPicker.vue +7 -2
  70. package/dist/src/components/ColorPicker/OrigamColorPickerCanvas.vue +3 -2
  71. package/dist/src/components/ColorPicker/OrigamColorPickerEdit.vue +2 -2
  72. package/dist/src/components/ColorPicker/OrigamColorPickerPreview.vue +1 -1
  73. package/dist/src/components/ColorPicker/OrigamColorPickerSwatches.vue +1 -1
  74. package/dist/src/components/ColorPickerField/OrigamColorPickerField.vue +15 -5
  75. package/dist/src/components/CommandPalette/OrigamCommandPalette.vue +13 -3
  76. package/dist/src/components/ConfirmWrapper/OrigamConfirmWrapper.vue +1 -1
  77. package/dist/src/components/ContextualMenu/OrigamContextualMenu.vue +7 -2
  78. package/dist/src/components/Counter/OrigamCounter.vue +2 -1
  79. package/dist/src/components/DataList/OrigamDataList.vue +21 -5
  80. package/dist/src/components/DataList/OrigamDataText.vue +5 -1
  81. package/dist/src/components/DataList/OrigamDataTitle.vue +5 -1
  82. package/dist/src/components/DataTable/OrigamDataTable.vue +15 -7
  83. package/dist/src/components/DataTable/OrigamDataTableColumnCell.vue +1 -1
  84. package/dist/src/components/DataTable/OrigamDataTableFooter.vue +1 -1
  85. package/dist/src/components/DataTable/OrigamDataTableGroupHeaderRow.vue +1 -1
  86. package/dist/src/components/DataTable/OrigamDataTableHeaderCell.vue +3 -2
  87. package/dist/src/components/DataTable/OrigamDataTableHeaders.vue +2 -1
  88. package/dist/src/components/DataTable/OrigamDataTableHeadersCell.vue +1 -1
  89. package/dist/src/components/DataTable/OrigamDataTableHeadersCellMobile.vue +1 -1
  90. package/dist/src/components/DataTable/OrigamDataTableRow.vue +5 -3
  91. package/dist/src/components/DataTable/OrigamDataTableRows.vue +3 -3
  92. package/dist/src/components/DatePicker/OrigamDatePicker.vue +21 -30
  93. package/dist/src/components/DatePicker/OrigamDatePickerControls.vue +2 -2
  94. package/dist/src/components/DatePicker/OrigamDatePickerHeader.vue +1 -1
  95. package/dist/src/components/DatePicker/OrigamDatePickerMonth.vue +16 -28
  96. package/dist/src/components/DatePicker/OrigamDatePickerMonths.vue +3 -3
  97. package/dist/src/components/DatePicker/OrigamDatePickerYears.vue +3 -3
  98. package/dist/src/components/DatePickerField/OrigamDatePickerField.vue +27 -16
  99. package/dist/src/components/DefaultsProvider/OrigamDefaultsProvider.vue +1 -1
  100. package/dist/src/components/Dialog/OrigamDialog.vue +1 -1
  101. package/dist/src/components/Dialog/OrigamDialogConfirmation.vue +1 -1
  102. package/dist/src/components/Divider/OrigamDivider.vue +2 -2
  103. package/dist/src/components/Drawer/OrigamDrawer.vue +5 -11
  104. package/dist/src/components/EmptyState/OrigamEmptyState.vue +14 -4
  105. package/dist/src/components/ExpansionPanel/OrigamExpansionPanel.vue +12 -2
  106. package/dist/src/components/ExpansionPanel/OrigamExpansionPanelContent.vue +4 -2
  107. package/dist/src/components/ExpansionPanel/OrigamExpansionPanelHeader.vue +14 -5
  108. package/dist/src/components/ExpansionPanel/OrigamExpansionPanels.vue +2 -1
  109. package/dist/src/components/Field/OrigamField.vue +26 -9
  110. package/dist/src/components/FileField/OrigamFileField.vue +8 -3
  111. package/dist/src/components/FileField/OrigamFileFieldDragNDropItem.vue +14 -4
  112. package/dist/src/components/FileField/OrigamFileFieldListItem.vue +14 -4
  113. package/dist/src/components/Form/OrigamForm.vue +10 -2
  114. package/dist/src/components/Grid/OrigamGrid.vue +1 -1
  115. package/dist/src/components/Grid/OrigamGridItem.vue +1 -1
  116. package/dist/src/components/Grids/OrigamCol.vue +1 -1
  117. package/dist/src/components/Grids/OrigamContainer.vue +1 -1
  118. package/dist/src/components/Grids/OrigamRow.vue +6 -2
  119. package/dist/src/components/Grids/OrigamSpacer.vue +1 -1
  120. package/dist/src/components/Icon/OrigamClassIcon.vue +1 -1
  121. package/dist/src/components/Icon/OrigamComponentIcon.vue +1 -1
  122. package/dist/src/components/Icon/OrigamIcon.vue +1 -1
  123. package/dist/src/components/Icon/OrigamLigatureIcon.vue +1 -1
  124. package/dist/src/components/Icon/OrigamSvgIcon.vue +2 -2
  125. package/dist/src/components/Img/OrigamImg.vue +10 -9
  126. package/dist/src/components/InfiniteScroll/OrigamInfiniteScroll.vue +14 -7
  127. package/dist/src/components/InfiniteScroll/OrigamInfiniteScrollIntersect.vue +3 -2
  128. package/dist/src/components/InlineEdit/OrigamInlineEdit.vue +13 -4
  129. package/dist/src/components/Input/OrigamInput.vue +17 -3
  130. package/dist/src/components/ItemGroup/OrigamItem.vue +1 -1
  131. package/dist/src/components/ItemGroup/OrigamItemGroup.vue +1 -1
  132. package/dist/src/components/Kbd/OrigamKbd.vue +18 -8
  133. package/dist/src/components/Label/OrigamLabel.vue +14 -3
  134. package/dist/src/components/Layout/OrigamLayout.vue +1 -1
  135. package/dist/src/components/Lazy/OrigamLazy.vue +1 -1
  136. package/dist/src/components/List/OrigamList.vue +1 -1
  137. package/dist/src/components/List/OrigamListChildren.vue +1 -1
  138. package/dist/src/components/List/OrigamListGroup.vue +4 -1
  139. package/dist/src/components/List/OrigamListGroupActivator.vue +1 -1
  140. package/dist/src/components/List/OrigamListItem.vue +14 -4
  141. package/dist/src/components/List/OrigamListSubheader.vue +13 -3
  142. package/dist/src/components/Loader/OrigamLoader.vue +1 -1
  143. package/dist/src/components/Main/OrigamMain.vue +1 -1
  144. package/dist/src/components/Masonry/OrigamMasonry.vue +2 -2
  145. package/dist/src/components/Media/OrigamMediaController.vue +1 -1
  146. package/dist/src/components/Media/OrigamMediaScrubber.vue +3 -2
  147. package/dist/src/components/Media/OrigamMediaVolumeControl.vue +3 -2
  148. package/dist/src/components/Menu/OrigamMenu.vue +9 -2
  149. package/dist/src/components/Messages/OrigamMessages.vue +13 -4
  150. package/dist/src/components/NumberField/OrigamNumberField.vue +80 -40
  151. package/dist/src/components/NumberFormat/OrigamNumberFormat.vue +1 -1
  152. package/dist/src/components/OtpInputField/OrigamOtpInputField.vue +107 -11
  153. package/dist/src/components/Overlay/OrigamOverlay.vue +1 -1
  154. package/dist/src/components/Overlay/OrigamOverlayScrim.vue +1 -1
  155. package/dist/src/components/Pagination/OrigamPagination.vue +16 -4
  156. package/dist/src/components/Parallax/OrigamParallax.vue +9 -2
  157. package/dist/src/components/Parallax/OrigamParallaxElement.vue +1 -1
  158. package/dist/src/components/Parallax/OrigamParallaxLayer.vue +2 -2
  159. package/dist/src/components/PasswordField/OrigamPasswordField.vue +9 -2
  160. package/dist/src/components/Picker/OrigamPicker.vue +8 -3
  161. package/dist/src/components/Picker/OrigamPickerTitle.vue +10 -3
  162. package/dist/src/components/Progress/OrigamProgress.vue +6 -3
  163. package/dist/src/components/Progress/OrigamProgressCircular.vue +3 -1
  164. package/dist/src/components/Progress/OrigamProgressLinear.vue +5 -6
  165. package/dist/src/components/{QRCode → QrCode}/OrigamQrCode.vue +1 -1
  166. package/dist/src/components/QrCode/index.d.ts +1 -0
  167. package/dist/src/components/Radio/OrigamRadio.vue +20 -11
  168. package/dist/src/components/Radio/OrigamRadioBtn.vue +4 -2
  169. package/dist/src/components/Radio/OrigamRadioGroup.vue +48 -41
  170. package/dist/src/components/RatingField/OrigamRatingField.vue +9 -13
  171. package/dist/src/components/RatingField/OrigamRatingFieldItem.vue +3 -6
  172. package/dist/src/components/Responsive/OrigamResponsive.vue +1 -1
  173. package/dist/src/components/Section/OrigamSection.vue +1 -1
  174. package/dist/src/components/Select/OrigamSelect.vue +19 -10
  175. package/dist/src/components/SelectionControl/OrigamSelectionControl.vue +12 -6
  176. package/dist/src/components/SelectionControl/OrigamSelectionControlGroup.vue +2 -2
  177. package/dist/src/components/Sheet/OrigamSheet.vue +11 -3
  178. package/dist/src/components/Skeleton/OrigamSkeleton.vue +2 -4
  179. package/dist/src/components/Slide/OrigamSlideGroup.vue +1 -1
  180. package/dist/src/components/SliderField/OrigamSliderField.vue +7 -6
  181. package/dist/src/components/SliderField/OrigamSliderFieldTrack.vue +1 -1
  182. package/dist/src/components/Snackbar/OrigamSnackbar.vue +5 -4
  183. package/dist/src/components/Snackbar/OrigamSnackbarGroup.vue +1 -1
  184. package/dist/src/components/Snackbar/OrigamSnackbarItem.vue +27 -26
  185. package/dist/src/components/Stepper/OrigamStepper.vue +6 -2
  186. package/dist/src/components/Stepper/OrigamStepperItem.vue +10 -3
  187. package/dist/src/components/Switch/OrigamSwitch.vue +35 -37
  188. package/dist/src/components/Switch/OrigamSwitchTrack.vue +9 -15
  189. package/dist/src/components/SystemBar/OrigamSystemBar.vue +14 -4
  190. package/dist/src/components/Table/OrigamTable.vue +15 -3
  191. package/dist/src/components/Tabs/OrigamTab.vue +13 -3
  192. package/dist/src/components/Tabs/OrigamTabPanel.vue +1 -1
  193. package/dist/src/components/Tabs/OrigamTabPanels.vue +1 -1
  194. package/dist/src/components/Tabs/OrigamTabs.vue +1 -1
  195. package/dist/src/components/TextField/OrigamTextField.vue +8 -1
  196. package/dist/src/components/TextMask/OrigamTextMask.vue +17 -27
  197. package/dist/src/components/TextareaField/OrigamRichToolbar.vue +15 -11
  198. package/dist/src/components/TextareaField/OrigamTextareaField.vue +11 -1
  199. package/dist/src/components/ThemeProvider/OrigamThemeProvider.vue +4 -1
  200. package/dist/src/components/Timeline/OrigamTimeline.vue +3 -3
  201. package/dist/src/components/Timeline/OrigamTimelineItem.vue +3 -1
  202. package/dist/src/components/Title/OrigamTitle.vue +20 -8
  203. package/dist/src/components/Toolbar/OrigamToolbar.vue +17 -5
  204. package/dist/src/components/Tooltip/OrigamTooltip.vue +12 -3
  205. package/dist/src/components/Transition/OrigamExpandX.vue +1 -1
  206. package/dist/src/components/Transition/OrigamExpandY.vue +1 -1
  207. package/dist/src/components/Transition/OrigamFade.vue +1 -1
  208. package/dist/src/components/Transition/OrigamReverseTranslatePicker.vue +1 -1
  209. package/dist/src/components/Transition/OrigamScaleRotate.vue +1 -1
  210. package/dist/src/components/Transition/OrigamSlideX.vue +1 -1
  211. package/dist/src/components/Transition/OrigamSlideY.vue +1 -1
  212. package/dist/src/components/Transition/OrigamSnack.vue +1 -1
  213. package/dist/src/components/Transition/OrigamTransition.vue +1 -1
  214. package/dist/src/components/Transition/OrigamTranslateBottom.vue +1 -1
  215. package/dist/src/components/Transition/OrigamTranslatePicker.vue +1 -1
  216. package/dist/src/components/Transition/OrigamTranslateScale.vue +1 -1
  217. package/dist/src/components/Transition/OrigamWindowXReverseTranslate.vue +1 -1
  218. package/dist/src/components/Transition/OrigamWindowXTranslate.vue +1 -1
  219. package/dist/src/components/Transition/OrigamWindowYReverseTranslate.vue +1 -1
  220. package/dist/src/components/Transition/OrigamWindowYTranslate.vue +1 -1
  221. package/dist/src/components/Treeview/OrigamTreeview.vue +1 -1
  222. package/dist/src/components/Treeview/OrigamTreeviewNode.vue +7 -5
  223. package/dist/src/components/Video/OrigamVideo.vue +56 -63
  224. package/dist/src/components/VirtualScroll/OrigamVirtualScroll.vue +1 -1
  225. package/dist/src/components/VirtualScroll/OrigamVirtualScrollItem.vue +1 -6
  226. package/dist/src/components/Watermark/OrigamWatermark.vue +1 -1
  227. package/dist/src/components/Window/OrigamWindow.vue +32 -2
  228. package/dist/src/components/Window/OrigamWindowItem.vue +1 -1
  229. package/dist/src/components/index.cjs +1 -1
  230. package/dist/src/components/index.js +1 -1
  231. package/dist/src/composables/Chart/chart-gauge.composable.cjs +1 -1
  232. package/dist/src/composables/Chart/chart-gauge.composable.js +1 -1
  233. package/dist/src/composables/Chart/chart-header-typography.composable.cjs +20 -0
  234. package/dist/src/composables/Chart/chart-header-typography.composable.d.ts +27 -0
  235. package/dist/src/composables/Chart/chart-header-typography.composable.js +11 -0
  236. package/dist/src/composables/Chart/chart-zoom.composable.cjs +0 -1
  237. package/dist/src/composables/Chart/chart-zoom.composable.js +0 -1
  238. package/dist/src/composables/Chart/chart.composable.cjs +0 -11
  239. package/dist/src/composables/Chart/chart.composable.js +0 -11
  240. package/dist/src/composables/Code/code.composable.js +4 -1
  241. package/dist/src/composables/Commons/audio.composable.d.ts +97 -31
  242. package/dist/src/composables/Commons/border.composable.cjs +10 -0
  243. package/dist/src/composables/Commons/border.composable.js +7 -0
  244. package/dist/src/composables/Commons/color.composable.cjs +42 -42
  245. package/dist/src/composables/Commons/color.composable.d.ts +8 -3
  246. package/dist/src/composables/Commons/color.composable.js +2 -2
  247. package/dist/src/composables/Commons/date-picker-calendar.composable.cjs +1 -1
  248. package/dist/src/composables/Commons/date-picker-calendar.composable.d.ts +1 -1
  249. package/dist/src/composables/Commons/date-picker-calendar.composable.js +1 -1
  250. package/dist/src/composables/Commons/defaults.composable.cjs +10 -9
  251. package/dist/src/composables/Commons/defaults.composable.js +10 -9
  252. package/dist/src/composables/Commons/delay.composable.cjs +8 -3
  253. package/dist/src/composables/Commons/delay.composable.js +7 -4
  254. package/dist/src/composables/Commons/density.composable.cjs +1 -1
  255. package/dist/src/composables/Commons/density.composable.js +2 -2
  256. package/dist/src/composables/Commons/dragResizer.composable.cjs +7 -9
  257. package/dist/src/composables/Commons/dragResizer.composable.js +8 -9
  258. package/dist/src/composables/Commons/focus.composable.cjs +1 -1
  259. package/dist/src/composables/Commons/focus.composable.js +1 -1
  260. package/dist/src/composables/Commons/layout.composable.cjs +12 -0
  261. package/dist/src/composables/Commons/layout.composable.js +14 -0
  262. package/dist/src/composables/Commons/message.composable.cjs +1 -1
  263. package/dist/src/composables/Commons/message.composable.d.ts +1 -1
  264. package/dist/src/composables/Commons/message.composable.js +1 -1
  265. package/dist/src/composables/Commons/rounded.composable.cjs +15 -4
  266. package/dist/src/composables/Commons/rounded.composable.d.ts +1 -1
  267. package/dist/src/composables/Commons/rounded.composable.js +17 -6
  268. package/dist/src/composables/Commons/scroll.composable.cjs +2 -2
  269. package/dist/src/composables/Commons/scroll.composable.js +2 -2
  270. package/dist/src/composables/Commons/size.composable.d.ts +1 -1
  271. package/dist/src/composables/Commons/stateEffect.composable.cjs +36 -14
  272. package/dist/src/composables/Commons/stateEffect.composable.js +38 -14
  273. package/dist/src/composables/Commons/status.composable.cjs +11 -1
  274. package/dist/src/composables/Commons/status.composable.d.ts +2 -0
  275. package/dist/src/composables/Commons/status.composable.js +10 -1
  276. package/dist/src/composables/Commons/sticky.composable.d.ts +2 -14
  277. package/dist/src/composables/Commons/style.composable.cjs +5 -3
  278. package/dist/src/composables/Commons/style.composable.js +5 -3
  279. package/dist/src/composables/Commons/typography.composable.cjs +23 -0
  280. package/dist/src/composables/Commons/typography.composable.d.ts +7 -0
  281. package/dist/src/composables/Commons/typography.composable.js +21 -0
  282. package/dist/src/composables/DataTable/headers.composable.d.ts +4 -364
  283. package/dist/src/composables/Icon/icon.composable.cjs +6 -1
  284. package/dist/src/composables/Icon/icon.composable.js +4 -1
  285. package/dist/src/composables/InlineEdit/inline-edit.composable.cjs +16 -2
  286. package/dist/src/composables/InlineEdit/inline-edit.composable.js +16 -2
  287. package/dist/src/composables/Masonry/masonry.composable.d.ts +2 -1
  288. package/dist/src/composables/Parallax/transform.composable.d.ts +1 -1
  289. package/dist/src/composables/Responsive/aspect.composable.cjs +9 -1
  290. package/dist/src/composables/Responsive/aspect.composable.d.ts +1 -1
  291. package/dist/src/composables/Responsive/aspect.composable.js +9 -1
  292. package/dist/src/composables/Theme/installed-themes.composable.cjs +11 -0
  293. package/dist/src/composables/Theme/installed-themes.composable.d.ts +19 -0
  294. package/dist/src/composables/Theme/installed-themes.composable.js +5 -0
  295. package/dist/src/composables/Theme/theme.composable.cjs +86 -15
  296. package/dist/src/composables/Theme/theme.composable.d.ts +55 -10
  297. package/dist/src/composables/Theme/theme.composable.js +88 -17
  298. package/dist/src/composables/index.cjs +36 -0
  299. package/dist/src/composables/index.d.ts +3 -0
  300. package/dist/src/composables/index.js +3 -0
  301. package/dist/src/consts/Bracket/bracket.const.cjs +4 -2
  302. package/dist/src/consts/Bracket/bracket.const.d.ts +12 -0
  303. package/dist/src/consts/Bracket/bracket.const.js +2 -0
  304. package/dist/src/consts/Commons/density.const.cjs +2 -2
  305. package/dist/src/consts/Commons/density.const.d.ts +1 -1
  306. package/dist/src/consts/Commons/density.const.js +1 -1
  307. package/dist/src/consts/Commons/rounded.const.cjs +4 -2
  308. package/dist/src/consts/Commons/rounded.const.d.ts +22 -2
  309. package/dist/src/consts/Commons/rounded.const.js +3 -1
  310. package/dist/src/consts/DataTable/select.const.cjs +1 -1
  311. package/dist/src/consts/DataTable/select.const.js +1 -1
  312. package/dist/src/consts/Icon/mdi.const.cjs +6 -1
  313. package/dist/src/consts/Icon/mdi.const.js +10 -2
  314. package/dist/src/consts/Theme/theme.const.cjs +11 -1
  315. package/dist/src/consts/Theme/theme.const.d.ts +16 -0
  316. package/dist/src/consts/Theme/theme.const.js +10 -0
  317. package/dist/src/directives/Contrast/contrast.directive.cjs +150 -0
  318. package/dist/src/directives/Contrast/contrast.directive.d.ts +5 -0
  319. package/dist/src/directives/Contrast/contrast.directive.js +131 -0
  320. package/dist/src/directives/index.cjs +7 -0
  321. package/dist/src/directives/index.d.ts +1 -0
  322. package/dist/src/directives/index.js +1 -0
  323. package/dist/src/enums/BottomNav/bottom-nav-position.enum.cjs +12 -0
  324. package/dist/src/enums/BottomNav/bottom-nav-position.enum.d.ts +10 -0
  325. package/dist/src/enums/BottomNav/bottom-nav-position.enum.js +6 -0
  326. package/dist/src/enums/Toolbar/toolbar.enum.cjs +1 -0
  327. package/dist/src/enums/Toolbar/toolbar.enum.d.ts +2 -1
  328. package/dist/src/enums/Toolbar/toolbar.enum.js +1 -0
  329. package/dist/src/enums/index.cjs +22 -0
  330. package/dist/src/enums/index.d.ts +2 -0
  331. package/dist/src/enums/index.js +2 -0
  332. package/dist/src/interfaces/Alert/alert.interface.d.ts +2 -3
  333. package/dist/src/interfaces/App/app-bar.interface.d.ts +19 -1
  334. package/dist/src/interfaces/App/app.interface.cjs +1 -0
  335. package/dist/src/interfaces/App/app.interface.d.ts +24 -0
  336. package/dist/src/interfaces/Audio/audio-player.interface.d.ts +23 -2
  337. package/dist/src/interfaces/Avatar/avatar.interface.d.ts +2 -4
  338. package/dist/src/interfaces/Badge/badge.interface.d.ts +2 -2
  339. package/dist/src/interfaces/Blockquote/blockquote.interface.d.ts +23 -21
  340. package/dist/src/interfaces/BottomNav/bottom-nav.interface.d.ts +12 -4
  341. package/dist/src/interfaces/Bracket/bracket-competitor-component.interface.d.ts +17 -6
  342. package/dist/src/interfaces/Bracket/bracket-match-component.interface.d.ts +13 -6
  343. package/dist/src/interfaces/Bracket/bracket-match.interface.d.ts +22 -0
  344. package/dist/src/interfaces/Bracket/bracket-round-component.interface.d.ts +2 -2
  345. package/dist/src/interfaces/Bracket/bracket.interface.d.ts +17 -2
  346. package/dist/src/interfaces/Breadcrumb/breadcrumb-divider.interface.d.ts +2 -2
  347. package/dist/src/interfaces/Breadcrumb/breadcrumb.interface.d.ts +2 -3
  348. package/dist/src/interfaces/Btn/btn-group.interface.d.ts +2 -2
  349. package/dist/src/interfaces/Btn/btn.interface.d.ts +11 -3
  350. package/dist/src/interfaces/Calendar/calendar.interface.d.ts +7 -2
  351. package/dist/src/interfaces/Card/card-header.interface.d.ts +2 -2
  352. package/dist/src/interfaces/Card/card-text.interface.d.ts +2 -2
  353. package/dist/src/interfaces/Carousel/carousel.interface.d.ts +2 -2
  354. package/dist/src/interfaces/Chart/chart-base.interface.d.ts +9 -8
  355. package/dist/src/interfaces/Chart/chart-word-cloud.interface.d.ts +1 -1
  356. package/dist/src/interfaces/Chart/chart.interface.d.ts +12 -1
  357. package/dist/src/interfaces/Checkbox/checkbox-btn.interface.d.ts +3 -3
  358. package/dist/src/interfaces/Checkbox/checkbox.interface.d.ts +10 -9
  359. package/dist/src/interfaces/Chip/chip-group.interface.d.ts +3 -1
  360. package/dist/src/interfaces/Chip/chip.interface.d.ts +2 -2
  361. package/dist/src/interfaces/Clipboard/clipboard.interface.d.ts +2 -2
  362. package/dist/src/interfaces/Code/code.interface.d.ts +19 -2
  363. package/dist/src/interfaces/ColorPickerField/color-picker-field.interface.d.ts +2 -2
  364. package/dist/src/interfaces/CommandPalette/command-palette.interface.d.ts +2 -1
  365. package/dist/src/interfaces/Commons/calendar.interface.d.ts +3 -3
  366. package/dist/src/interfaces/Commons/commons.interface.d.ts +34 -1
  367. package/dist/src/interfaces/Commons/filters.interface.d.ts +2 -2
  368. package/dist/src/interfaces/Commons/hover.interface.d.ts +18 -3
  369. package/dist/src/interfaces/Commons/scroll.interface.d.ts +8 -1
  370. package/dist/src/interfaces/Commons/typography.interface.cjs +1 -0
  371. package/dist/src/interfaces/Commons/typography.interface.d.ts +52 -0
  372. package/dist/src/interfaces/Commons/typography.interface.js +0 -0
  373. package/dist/src/interfaces/Commons/validation.interface.d.ts +3 -1
  374. package/dist/src/interfaces/Counter/counter.interface.d.ts +2 -2
  375. package/dist/src/interfaces/DataList/data-list.interface.d.ts +2 -2
  376. package/dist/src/interfaces/DataList/data-text.interface.d.ts +5 -0
  377. package/dist/src/interfaces/DataList/data-title.interface.d.ts +5 -0
  378. package/dist/src/interfaces/DataTable/headers.interface.d.ts +5 -5
  379. package/dist/src/interfaces/DataTable/row.interface.d.ts +2 -2
  380. package/dist/src/interfaces/DatePicker/date-picker-controls.interface.d.ts +16 -8
  381. package/dist/src/interfaces/DatePicker/date-picker-header.interface.d.ts +6 -3
  382. package/dist/src/interfaces/DatePicker/date-picker-months.interface.d.ts +2 -2
  383. package/dist/src/interfaces/DatePicker/date-picker-years.interface.d.ts +1 -1
  384. package/dist/src/interfaces/DatePicker/date-picker.interface.d.ts +1 -1
  385. package/dist/src/interfaces/Dialog/dialog-confirmation.interface.d.ts +2 -2
  386. package/dist/src/interfaces/EmptyState/empty-state.interface.d.ts +9 -2
  387. package/dist/src/interfaces/ExpensionPanel/expansion-panel-header.interface.d.ts +2 -2
  388. package/dist/src/interfaces/Field/field.interface.d.ts +7 -2
  389. package/dist/src/interfaces/FileField/file-field-dragndrop-item.interface.d.ts +2 -2
  390. package/dist/src/interfaces/FileField/file-field-list-item.interface.d.ts +2 -2
  391. package/dist/src/interfaces/FileField/file-field.interface.d.ts +1 -1
  392. package/dist/src/interfaces/Form/form.interface.d.ts +2 -2
  393. package/dist/src/interfaces/Grids/row.interface.d.ts +2 -2
  394. package/dist/src/interfaces/InfiniteScroll/infinite-scroll.interface.d.ts +2 -2
  395. package/dist/src/interfaces/InlineEdit/inline-edit.interface.d.ts +31 -2
  396. package/dist/src/interfaces/Input/input.interface.d.ts +4 -3
  397. package/dist/src/interfaces/Kbd/kbd.interface.d.ts +2 -2
  398. package/dist/src/interfaces/Label/label.interface.d.ts +2 -2
  399. package/dist/src/interfaces/List/list-group.interface.d.ts +4 -1
  400. package/dist/src/interfaces/List/list-item.interface.d.ts +2 -2
  401. package/dist/src/interfaces/List/list-subheader.interface.d.ts +2 -2
  402. package/dist/src/interfaces/Media/media-scrubber.interface.d.ts +10 -2
  403. package/dist/src/interfaces/Messages/messages.interface.d.ts +2 -2
  404. package/dist/src/interfaces/NumberField/number-field.interface.d.ts +1 -1
  405. package/dist/src/interfaces/Nuxt/nuxt-module.interface.d.ts +55 -15
  406. package/dist/src/interfaces/OtpInputField/otp-input-field.interface.d.ts +4 -2
  407. package/dist/src/interfaces/Pagination/pagination.interface.d.ts +18 -3
  408. package/dist/src/interfaces/Parallax/parallax.interface.d.ts +2 -2
  409. package/dist/src/interfaces/PasswordField/password-field.interface.d.ts +1 -1
  410. package/dist/src/interfaces/Picker/picker-title.interface.d.ts +2 -2
  411. package/dist/src/interfaces/Progress/progress.interface.d.ts +8 -2
  412. package/dist/src/interfaces/RatingField/rating-field-item.interface.d.ts +2 -1
  413. package/dist/src/interfaces/SelectionControl/selection-control-group.interface.d.ts +2 -1
  414. package/dist/src/interfaces/SelectionControl/selection-control.interface.d.ts +23 -5
  415. package/dist/src/interfaces/Sheet/sheet.interface.d.ts +2 -2
  416. package/dist/src/interfaces/Snackbar/snackbar-item.interface.d.ts +2 -2
  417. package/dist/src/interfaces/SystemBar/system-bar.interface.d.ts +2 -2
  418. package/dist/src/interfaces/Table/table.interface.d.ts +2 -2
  419. package/dist/src/interfaces/Tabs/tab.interface.d.ts +7 -2
  420. package/dist/src/interfaces/TextField/text-field.interface.d.ts +1 -1
  421. package/dist/src/interfaces/TextMask/text-mask.interface.d.ts +7 -33
  422. package/dist/src/interfaces/TextareaField/textarea-field.interface.d.ts +3 -3
  423. package/dist/src/interfaces/Theme/origam-theme.interface.cjs +1 -0
  424. package/dist/src/interfaces/Theme/origam-theme.interface.d.ts +114 -0
  425. package/dist/src/interfaces/Theme/origam-theme.interface.js +0 -0
  426. package/dist/src/interfaces/Timeline/timeline.interface.d.ts +1 -1
  427. package/dist/src/interfaces/Title/title.interface.d.ts +2 -2
  428. package/dist/src/interfaces/Toolbar/toolbar.interface.d.ts +2 -2
  429. package/dist/src/interfaces/Tooltip/tooltip.interface.d.ts +2 -2
  430. package/dist/src/interfaces/Video/video.interface.d.ts +2 -2
  431. package/dist/src/interfaces/Window/window.interface.d.ts +2 -2
  432. package/dist/src/interfaces/index.cjs +33 -0
  433. package/dist/src/interfaces/index.d.ts +3 -0
  434. package/dist/src/interfaces/index.js +3 -0
  435. package/dist/src/nuxt/module.cjs +78 -8
  436. package/dist/src/nuxt/module.js +81 -9
  437. package/dist/src/nuxt/plugin.client.cjs +28 -10
  438. package/dist/src/nuxt/plugin.client.js +28 -10
  439. package/dist/src/nuxt/plugin.server.cjs +52 -12
  440. package/dist/src/nuxt/plugin.server.js +55 -13
  441. package/dist/src/origam.cjs +39 -2
  442. package/dist/src/origam.d.ts +19 -1
  443. package/dist/src/origam.js +46 -5
  444. package/dist/src/services/Commons/date-adapter.service.d.ts +1 -1
  445. package/dist/src/themes/index.cjs +24 -0
  446. package/dist/src/themes/index.d.ts +1 -0
  447. package/dist/src/themes/index.js +1 -0
  448. package/dist/src/themes/origam.theme.cjs +906 -0
  449. package/dist/src/themes/origam.theme.d.ts +4 -0
  450. package/dist/src/themes/origam.theme.js +379 -0
  451. package/dist/src/types/BottomNav/bottom-nav.type.d.ts +2 -0
  452. package/dist/src/types/Commons/font-family.type.cjs +1 -0
  453. package/dist/src/types/Commons/font-family.type.d.ts +5 -0
  454. package/dist/src/types/Commons/font-family.type.js +0 -0
  455. package/dist/src/types/Commons/font-size.type.cjs +1 -0
  456. package/dist/src/types/Commons/font-size.type.d.ts +6 -0
  457. package/dist/src/types/Commons/font-size.type.js +0 -0
  458. package/dist/src/types/Commons/font-weight.type.cjs +1 -0
  459. package/dist/src/types/Commons/font-weight.type.d.ts +5 -0
  460. package/dist/src/types/Commons/font-weight.type.js +0 -0
  461. package/dist/src/types/Commons/letter-spacing.type.cjs +1 -0
  462. package/dist/src/types/Commons/letter-spacing.type.d.ts +5 -0
  463. package/dist/src/types/Commons/letter-spacing.type.js +0 -0
  464. package/dist/src/types/Commons/line-height.type.cjs +1 -0
  465. package/dist/src/types/Commons/line-height.type.d.ts +5 -0
  466. package/dist/src/types/Commons/line-height.type.js +0 -0
  467. package/dist/src/types/Commons/mode.type.d.ts +1 -1
  468. package/dist/src/types/Theme/installed-theme.type.cjs +1 -0
  469. package/dist/src/types/Theme/installed-theme.type.d.ts +31 -0
  470. package/dist/src/types/Theme/installed-theme.type.js +0 -0
  471. package/dist/src/types/Theme/semantic-tree.type.cjs +1 -0
  472. package/dist/src/types/Theme/semantic-tree.type.d.ts +48 -0
  473. package/dist/src/types/Theme/semantic-tree.type.js +0 -0
  474. package/dist/src/types/Theme/theme.type.d.ts +27 -6
  475. package/dist/src/types/Theme/token-tree.type.cjs +1 -0
  476. package/dist/src/types/Theme/token-tree.type.d.ts +10 -0
  477. package/dist/src/types/Theme/token-tree.type.js +0 -0
  478. package/dist/src/types/index.cjs +88 -0
  479. package/dist/src/types/index.d.ts +8 -0
  480. package/dist/src/types/index.js +8 -0
  481. package/dist/src/types/tokens.type.d.ts +1 -1
  482. package/dist/src/utils/Bracket/bracket-surface.util.cjs +106 -0
  483. package/dist/src/utils/Bracket/bracket-surface.util.d.ts +47 -0
  484. package/dist/src/utils/Bracket/bracket-surface.util.js +88 -0
  485. package/dist/src/utils/Commons/border.util.d.ts +1 -1
  486. package/dist/src/utils/Commons/color.util.cjs +4 -2
  487. package/dist/src/utils/Commons/color.util.js +4 -2
  488. package/dist/src/utils/Commons/commons.util.cjs +3 -2
  489. package/dist/src/utils/Commons/commons.util.d.ts +1 -1
  490. package/dist/src/utils/Commons/commons.util.js +3 -2
  491. package/dist/src/utils/Commons/date.util.d.ts +1 -1
  492. package/dist/src/utils/Commons/dom.util.d.ts +1 -1
  493. package/dist/src/utils/Commons/elevation.util.cjs +1 -1
  494. package/dist/src/utils/Commons/elevation.util.js +1 -1
  495. package/dist/src/utils/Commons/forwardRefs.util.cjs +1 -1
  496. package/dist/src/utils/Commons/forwardRefs.util.js +1 -1
  497. package/dist/src/utils/Commons/gradient.util.cjs +3 -3
  498. package/dist/src/utils/Commons/gradient.util.js +1 -1
  499. package/dist/src/utils/Commons/hover.util.cjs +5 -1
  500. package/dist/src/utils/Commons/hover.util.js +5 -1
  501. package/dist/src/utils/Commons/margin.util.d.ts +1 -1
  502. package/dist/src/utils/Commons/padding.util.d.ts +1 -1
  503. package/dist/src/utils/Commons/ripple.util.cjs +1 -2
  504. package/dist/src/utils/Commons/ripple.util.js +2 -3
  505. package/dist/src/utils/Commons/rounded.util.cjs +5 -0
  506. package/dist/src/utils/Commons/rounded.util.d.ts +10 -1
  507. package/dist/src/utils/Commons/rounded.util.js +4 -0
  508. package/dist/src/utils/DataTable/headers.util.cjs +1 -1
  509. package/dist/src/utils/DataTable/headers.util.js +1 -1
  510. package/dist/src/utils/DataTable/sort.util.cjs +2 -2
  511. package/dist/src/utils/DataTable/sort.util.js +2 -2
  512. package/dist/src/utils/List/list-item.util.d.ts +7 -0
  513. package/dist/src/utils/Theme/apply-theme.util.cjs +148 -0
  514. package/dist/src/utils/Theme/apply-theme.util.d.ts +65 -0
  515. package/dist/src/utils/Theme/apply-theme.util.js +125 -0
  516. package/dist/src/utils/Theme/token-name.util.cjs +47 -0
  517. package/dist/src/utils/Theme/token-name.util.d.ts +54 -0
  518. package/dist/src/utils/Theme/token-name.util.js +55 -0
  519. package/dist/src/utils/Transition/transition.util.d.ts +1 -1
  520. package/dist/src/utils/index.cjs +22 -0
  521. package/dist/src/utils/index.d.ts +2 -0
  522. package/dist/src/utils/index.js +2 -0
  523. package/package.json +22 -63
  524. package/CHANGELOG.md +0 -807
  525. package/README.md +0 -275
  526. package/dist/src/App.vue +0 -25
  527. package/dist/src/main.cjs +0 -7
  528. package/dist/src/main.d.ts +0 -1
  529. package/dist/src/main.js +0 -4
  530. /package/dist/src/components/{QRCode → QrCode}/index.cjs +0 -0
  531. /package/dist/src/components/{QRCode → QrCode}/index.js +0 -0
  532. /package/dist/src/{components/QRCode/index.d.ts → interfaces/App/app.interface.js} +0 -0
@@ -2,9 +2,10 @@
2
2
  <component
3
3
  :is="tag"
4
4
  :id="id"
5
+ v-contrast
5
6
  :class="alertClasses"
6
- :role="props.status === 'warning' || props.status === 'error' ? 'alert' : 'status'"
7
- :aria-live="props.status === 'warning' || props.status === 'error' ? 'assertive' : 'polite'"
7
+ :role="status === 'warning' || status === 'error' ? 'alert' : 'status'"
8
+ :aria-live="status === 'warning' || status === 'error' ? 'assertive' : 'polite'"
8
9
  @mouseenter="handleMouseenter"
9
10
  @mouseleave="handleMouseleave"
10
11
  >
@@ -52,7 +53,7 @@
52
53
  />
53
54
  </template>
54
55
  <template v-if="hasTitle">
55
- <span class="origam-alert__title">
56
+ <span class="origam-alert__title" :style="typographyStyles">
56
57
  <slot name="title">{{ title }}</slot>
57
58
  </span>
58
59
  </template>
@@ -110,9 +111,10 @@
110
111
  </component>
111
112
  </template>
112
113
 
113
- <script setup>
114
+ <script lang="ts" setup>
114
115
  import { computed, useSlots } from "vue";
115
116
  import { OrigamAvatar, OrigamBtn, OrigamIcon } from "../../components";
117
+ import { vContrast } from "../../directives";
116
118
  import {
117
119
  useActive,
118
120
  useAdjacent,
@@ -125,7 +127,8 @@ import {
125
127
  useProps,
126
128
  useStateEffect,
127
129
  useStatus,
128
- useStyle
130
+ useStyle,
131
+ useTypography
129
132
  } from "../../composables";
130
133
  import { DENSITY, MDI_ICONS } from "../../enums";
131
134
  const props = defineProps({
@@ -133,7 +136,6 @@ const props = defineProps({
133
136
  closeIcon: { type: null, required: false, default: MDI_ICONS.CLOSE },
134
137
  closeLabel: { type: String, required: false, default: "origam.close" },
135
138
  modelValue: { type: Boolean, required: false, default: true },
136
- prominent: { type: Boolean, required: false },
137
139
  title: { type: String, required: false },
138
140
  text: { type: String, required: false },
139
141
  id: { type: String, required: false },
@@ -191,11 +193,17 @@ const props = defineProps({
191
193
  appendAvatar: { type: String, required: false },
192
194
  appendIcon: { type: null, required: false },
193
195
  prependAvatar: { type: String, required: false },
194
- prependIcon: { type: null, required: false }
196
+ prependIcon: { type: null, required: false },
197
+ fontFamily: { type: String, required: false },
198
+ fontSize: { type: String, required: false },
199
+ fontWeight: { type: String, required: false },
200
+ lineHeight: { type: String, required: false },
201
+ letterSpacing: { type: String, required: false }
195
202
  });
196
203
  const emits = defineEmits(["update:modelValue", "click:close", "update:hover"]);
197
204
  const { filterProps } = useProps(props);
198
205
  const { t } = useLocale();
206
+ const { typographyStyles } = useTypography(props, "alert__title");
199
207
  const slots = useSlots();
200
208
  const { activeClasses, isActive, activeState, onActive } = useActive(props, "modelValue");
201
209
  const { isHover, hoverState, onMouseenter: handleMouseenter, onMouseleave: handleMouseleave, hoverClasses } = useHover(props);
@@ -211,9 +219,7 @@ const handleClose = (e) => {
211
219
  onActive();
212
220
  emits("click:close", e);
213
221
  };
214
- const size = computed(() => {
215
- return props.prominent ? 44 : 28;
216
- });
222
+ const size = 28;
217
223
  const hasIcon = computed(() => {
218
224
  return !!icon.value;
219
225
  });
@@ -247,9 +253,6 @@ const alertStyles = computed(() => {
247
253
  const alertClasses = computed(() => {
248
254
  return [
249
255
  "origam-alert",
250
- {
251
- "origam-alert--prominent": props.prominent
252
- },
253
256
  hoverClasses.value,
254
257
  activeClasses.value,
255
258
  statusClasses.value,
@@ -424,14 +427,6 @@ defineExpose({
424
427
  --origam-alert---position: relative;
425
428
  }
426
429
 
427
- &--prominent {
428
- grid-template-areas: "prepend content append close" "prepend content . .";
429
-
430
- #{$this}__prepend {
431
- --origam-alert__prepend---align-self: center;
432
- }
433
- }
434
-
435
430
  &__close {
436
431
  align-self: flex-start;
437
432
  flex: 0 1 auto;
@@ -4,6 +4,10 @@
4
4
  ref="origamAppRef"
5
5
  :class="appClasses"
6
6
  :style="appStyles"
7
+ :color="color"
8
+ :bg-color="bgColor"
9
+ :full-height="fullHeight"
10
+ :overlaps="overlaps"
7
11
  >
8
12
  <template #default>
9
13
  <slot name="default"/>
@@ -11,53 +15,18 @@
11
15
  </origam-layout>
12
16
  </template>
13
17
 
14
- <script setup>
18
+ <script lang="ts" setup>
15
19
  import { OrigamLayout } from "../../components";
16
20
  import { useProps, useRtl, useStyle } from "../../composables";
17
21
  import { computed, ref, StyleValue } from "vue";
18
22
  const props = defineProps({
19
- overlaps: { type: Array, required: false },
20
23
  fullHeight: { type: Boolean, required: false, default: true },
24
+ overlaps: { type: Array, required: false },
21
25
  id: { type: String, required: false },
22
26
  class: { type: [String, Array, Object], required: false },
23
27
  style: { type: [String, Array, Object, Boolean, null], required: false, skipCheck: true },
24
- height: { type: [Number, String], required: false },
25
- maxHeight: { type: [Number, String], required: false },
26
- maxWidth: { type: [Number, String], required: false },
27
- minHeight: { type: [Number, String], required: false },
28
- minWidth: { type: [Number, String], required: false },
29
- width: { type: [Number, String], required: false },
30
- margin: { type: [Boolean, Number, String], required: false },
31
- marginTop: { type: [Boolean, Number, String], required: false },
32
- marginLeft: { type: [Boolean, Number, String], required: false },
33
- marginBottom: { type: [Boolean, Number, String], required: false },
34
- marginRight: { type: [Boolean, Number, String], required: false },
35
- marginBlock: { type: [Boolean, Number, String], required: false },
36
- marginInline: { type: [Boolean, Number, String], required: false },
37
- padding: { type: [Boolean, Number, String], required: false },
38
- paddingTop: { type: [Boolean, Number, String], required: false },
39
- paddingLeft: { type: [Boolean, Number, String], required: false },
40
- paddingBottom: { type: [Boolean, Number, String], required: false },
41
- paddingRight: { type: [Boolean, Number, String], required: false },
42
- paddingBlock: { type: [Boolean, Number, String], required: false },
43
- paddingInline: { type: [Boolean, Number, String], required: false },
44
- rounded: { type: [Boolean, Number, String, null], required: false, skipCheck: true },
45
- roundedTopRight: { type: [Boolean, Number, String], required: false },
46
- roundedTopLeft: { type: [Boolean, Number, String], required: false },
47
- roundedBottomLeft: { type: [Boolean, Number, String], required: false },
48
- roundedBottomRight: { type: [Boolean, Number, String], required: false },
49
- elevation: { type: [Number, String], required: false },
50
- bgColor: { type: [String, Object, Boolean, null], required: false, skipCheck: true },
51
28
  color: { type: [String, Object, Boolean, null], required: false, skipCheck: true },
52
- border: { type: [Boolean, Number, String, Array], required: false, skipCheck: true },
53
- borderTop: { type: [Boolean, Number, String], required: false },
54
- borderLeft: { type: [Boolean, Number, String], required: false },
55
- borderBottom: { type: [Boolean, Number, String], required: false },
56
- borderRight: { type: [Boolean, Number, String], required: false },
57
- borderBlock: { type: [Boolean, Number, String], required: false },
58
- borderInline: { type: [Boolean, Number, String], required: false },
59
- borderColor: { type: String, required: false },
60
- borderStyle: { type: String, required: false }
29
+ bgColor: { type: [String, Object, Boolean, null], required: false, skipCheck: true }
61
30
  });
62
31
  const { filterProps } = useProps(props);
63
32
  const { rtlClasses } = useRtl();
@@ -4,6 +4,7 @@
4
4
  :class="appBarClasses"
5
5
  :collapse="isCollapsed"
6
6
  :flat="isFlat"
7
+ :active="toolbarActive"
7
8
  :style="appBarStyles"
8
9
  v-bind="toolbarProps"
9
10
  >
@@ -45,16 +46,16 @@
45
46
  </origam-toolbar>
46
47
  </template>
47
48
 
48
- <script setup>
49
+ <script lang="ts" setup>
49
50
  import { OrigamImg, OrigamToolbar } from "../../components";
50
51
  import {
51
- useActive,
52
52
  useLayoutItem,
53
53
  useProps,
54
54
  useScroll,
55
55
  useSsrBoot,
56
56
  useStyle,
57
- useToggleScope
57
+ useToggleScope,
58
+ useVModel
58
59
  } from "../../composables";
59
60
  import { BLOCK, DENSITY } from "../../enums";
60
61
  import { forwardRefs, int } from "../../utils";
@@ -64,7 +65,6 @@ const props = defineProps({
64
65
  image: { type: Object, required: false },
65
66
  collapse: { type: Boolean, required: false },
66
67
  flat: { type: Boolean, required: false },
67
- floating: { type: Boolean, required: false },
68
68
  title: { type: String, required: false },
69
69
  modelValue: { type: Boolean, required: false, default: true },
70
70
  tag: { type: String, required: false, default: "header" },
@@ -110,16 +110,17 @@ const props = defineProps({
110
110
  right: { type: [Number, String], required: false },
111
111
  height: { type: [Number, String], required: false },
112
112
  maxHeight: { type: [Number, String], required: false },
113
- maxWidth: { type: [Number, String], required: false },
114
113
  minHeight: { type: [Number, String], required: false },
115
- minWidth: { type: [Number, String], required: false },
116
- width: { type: [Number, String], required: false },
117
114
  active: { type: [Boolean, Object], required: false },
118
115
  activeClass: { type: String, required: false },
119
116
  hover: { type: [Boolean, Object], required: false },
117
+ fontFamily: { type: String, required: false },
118
+ fontSize: { type: String, required: false },
119
+ fontWeight: { type: String, required: false },
120
+ lineHeight: { type: String, required: false },
121
+ letterSpacing: { type: String, required: false },
120
122
  name: { type: String, required: false },
121
123
  order: { type: [String, Number], required: false },
122
- absolute: { type: Boolean, required: false },
123
124
  scrollBehavior: { type: null, required: false },
124
125
  scrollTarget: { type: String, required: false },
125
126
  scrollThreshold: { type: [String, Number], required: false, default: 300 }
@@ -130,7 +131,7 @@ const { ssrBootStyles } = useSsrBoot();
130
131
  const slots = useSlots();
131
132
  const origamToolbarRef = ref();
132
133
  const toolbarProps = computed(() => {
133
- return origamToolbarRef.value?.filterProps(props, ["class", "style", "collapse", "flat"]);
134
+ return origamToolbarRef.value?.filterProps(props, ["class", "style", "collapse", "flat", "floating", "active", "width", "minWidth", "maxWidth"]);
134
135
  });
135
136
  const hasImage = computed(() => {
136
137
  return !!(props.image || slots.img);
@@ -144,7 +145,7 @@ const hasContent = computed(() => {
144
145
  const hasAppend = computed(() => {
145
146
  return slots.append;
146
147
  });
147
- const { isActive, activeClasses } = useActive(props, "modelValue");
148
+ const visible = useVModel(props, "modelValue");
148
149
  const scrollBehavior = computed(() => {
149
150
  const behavior = new Set(props.scrollBehavior?.split(" ") ?? []);
150
151
  return {
@@ -153,13 +154,17 @@ const scrollBehavior = computed(() => {
153
154
  inverted: behavior.has("inverted"),
154
155
  collapse: behavior.has("collapse"),
155
156
  elevate: behavior.has("elevate"),
157
+ // Engage the bar's `active` design-state once the page is scrolled
158
+ // (transparent at the top → painted/`--active` on scroll). Opt-in,
159
+ // like every other behaviour token.
160
+ active: behavior.has("active"),
156
161
  fadeImage: behavior.has("fade-image")
157
162
  // shrink: behavior.has('shrink'),
158
163
  };
159
164
  });
160
165
  const canScroll = computed(() => {
161
166
  const behavior = scrollBehavior.value;
162
- return behavior.hide || behavior.inverted || behavior.collapse || behavior.elevate || behavior.fadeImage || !isActive.value;
167
+ return behavior.hide || behavior.inverted || behavior.collapse || behavior.elevate || behavior.active || behavior.fadeImage || !visible.value;
163
168
  });
164
169
  const {
165
170
  currentScroll,
@@ -171,15 +176,25 @@ useToggleScope(computed(() => !!props.scrollBehavior), () => {
171
176
  watchEffect(() => {
172
177
  if (scrollBehavior.value.hide) {
173
178
  if (scrollBehavior.value.inverted) {
174
- isActive.value = currentScroll.value > scrollThreshold.value;
179
+ visible.value = currentScroll.value > scrollThreshold.value;
175
180
  } else {
176
- isActive.value = isScrollingUp.value || currentScroll.value < scrollThreshold.value;
181
+ visible.value = isScrollingUp.value || currentScroll.value < scrollThreshold.value;
177
182
  }
178
183
  } else {
179
- isActive.value = true;
184
+ visible.value = true;
180
185
  }
181
186
  });
182
187
  });
188
+ const isScrolled = computed(() => currentScroll.value > 0);
189
+ const isScrollActive = computed(() => scrollBehavior.value.active && isScrolled.value);
190
+ const barActiveClasses = computed(() => {
191
+ return isScrollActive.value ? ["origam-app-bar--active"] : [];
192
+ });
193
+ const toolbarActive = computed(() => {
194
+ const override = props.active && typeof props.active === "object" ? props.active : void 0;
195
+ if (!scrollBehavior.value.active || !override) return props.active;
196
+ return isScrollActive.value ? { ...override, enabled: true } : false;
197
+ });
183
198
  const isCollapsed = computed(() => props.collapse || scrollBehavior.value.collapse && (scrollBehavior.value.inverted ? scrollRatio.value > 0 : scrollRatio.value === 0));
184
199
  const isFlat = computed(() => props.flat || scrollBehavior.value.elevate && (scrollBehavior.value.inverted ? currentScroll.value > 0 : currentScroll.value === 0));
185
200
  const height = computed(() => {
@@ -202,8 +217,11 @@ const { layoutItemStyles } = useLayoutItem({
202
217
  position: toRef(props, "location"),
203
218
  layoutSize: height,
204
219
  elementSize: shallowRef(void 0),
205
- active: isActive,
206
- absolute: toRef(props, "absolute")
220
+ active: visible,
221
+ // `absolute` is not part of the AppBar surface (it only toggles
222
+ // absolute↔fixed and never scrolls the bar away). The layout defaults
223
+ // to fixed for the root bar.
224
+ absolute: shallowRef(void 0)
207
225
  });
208
226
  const appBarStyles = computed(() => {
209
227
  return [
@@ -216,7 +234,7 @@ const appBarClasses = computed(() => {
216
234
  return [
217
235
  "origam-app-bar",
218
236
  `origam-app-bar--${props.location}`,
219
- activeClasses.value,
237
+ barActiveClasses.value,
220
238
  props.class
221
239
  ];
222
240
  });
@@ -99,11 +99,13 @@
99
99
  v-if="resolvedTitle"
100
100
  class="origam-audio__title"
101
101
  data-cy="origam-audio-title"
102
+ :style="typographyTitleStyles"
102
103
  >{{ resolvedTitle }}</strong>
103
104
  </slot>
104
105
  <span
105
106
  v-if="hasMetaLine"
106
107
  class="origam-audio__meta"
108
+ :style="typographyMetaStyles"
107
109
  >
108
110
  <span
109
111
  v-if="resolvedArtist"
@@ -196,6 +198,7 @@
196
198
  role="status"
197
199
  :aria-label="loadingLabel"
198
200
  data-cy="origam-audio-loading"
201
+ :style="typographyLoadingStyles"
199
202
  >
200
203
  <slot name="loading">
201
204
  <origam-icon
@@ -211,6 +214,7 @@
211
214
  class="origam-audio__error"
212
215
  role="alert"
213
216
  data-cy="origam-audio-error"
217
+ :style="typographyErrorStyles"
214
218
  >
215
219
  <slot
216
220
  name="error"
@@ -227,7 +231,7 @@
227
231
  </article>
228
232
  </template>
229
233
 
230
- <script setup>
234
+ <script lang="ts" setup>
231
235
  import {
232
236
  computed,
233
237
  nextTick,
@@ -241,12 +245,14 @@ import { OrigamSliderField } from "../SliderField";
241
245
  import {
242
246
  useBorder,
243
247
  useColorEffect,
248
+ useDimension,
244
249
  useElevation,
245
250
  useLocale,
246
251
  useMargin,
247
252
  usePadding,
248
253
  usePosition,
249
- useRounded
254
+ useRounded,
255
+ useTypography
250
256
  } from "../../composables";
251
257
  import { useAudioPlayer } from "../../composables/Audio/use-audio-player.composable";
252
258
  import { useWaveform } from "../../composables/Audio/use-waveform.composable";
@@ -298,6 +304,12 @@ const props = defineProps({
298
304
  borderInline: { type: [Boolean, Number, String], required: false },
299
305
  borderColor: { type: String, required: false },
300
306
  borderStyle: { type: String, required: false },
307
+ height: { type: [Number, String], required: false },
308
+ maxHeight: { type: [Number, String], required: false },
309
+ maxWidth: { type: [Number, String], required: false },
310
+ minHeight: { type: [Number, String], required: false },
311
+ minWidth: { type: [Number, String], required: false },
312
+ width: { type: [Number, String], required: false },
301
313
  margin: { type: [Boolean, Number, String], required: false },
302
314
  marginTop: { type: [Boolean, Number, String], required: false },
303
315
  marginLeft: { type: [Boolean, Number, String], required: false },
@@ -319,7 +331,12 @@ const props = defineProps({
319
331
  left: { type: [Number, String], required: false, default: void 0 },
320
332
  right: { type: [Number, String], required: false, default: void 0 },
321
333
  color: { type: [String, Object, Boolean, null], required: false, skipCheck: true, default: void 0 },
322
- bgColor: { type: [String, Object, Boolean, null], required: false, skipCheck: true, default: void 0 }
334
+ bgColor: { type: [String, Object, Boolean, null], required: false, skipCheck: true, default: void 0 },
335
+ fontFamily: { type: String, required: false },
336
+ fontSize: { type: String, required: false },
337
+ fontWeight: { type: String, required: false },
338
+ lineHeight: { type: String, required: false },
339
+ letterSpacing: { type: String, required: false }
323
340
  });
324
341
  const emit = defineEmits(["play", "pause", "ended", "timeupdate", "volumechange", "loadedmetadata", "error", "update:playbackRate", "download", "waveform", "previous", "next", "update:currentTrackIndex", "update:loopMode", "update:shuffle", "track-change"]);
325
342
  const ICONS = {
@@ -438,7 +455,7 @@ const { audioRef, state, methods } = useAudioPlayer({
438
455
  loop: props.loop,
439
456
  preload: props.preload
440
457
  });
441
- watch(audioRef, (el, prev, onCleanup) => {
458
+ watch(audioRef, (el, _prev, onCleanup) => {
442
459
  if (!el) return;
443
460
  const onLoadedData = () => {
444
461
  if (!pendingResumeOnLoad.value) return;
@@ -448,6 +465,9 @@ watch(audioRef, (el, prev, onCleanup) => {
448
465
  el.addEventListener("loadeddata", onLoadedData);
449
466
  onCleanup(() => el.removeEventListener("loadeddata", onLoadedData));
450
467
  }, { immediate: true });
468
+ watch(resolvedAutoplay, (on) => {
469
+ if (on) void methods.play();
470
+ });
451
471
  function onTimeUpdate(event) {
452
472
  emit("timeupdate", event);
453
473
  }
@@ -623,6 +643,11 @@ const { paddingClasses, paddingStyles } = usePadding(props);
623
643
  const { marginClasses, marginStyles } = useMargin(props);
624
644
  const { elevationClasses, elevationStyles } = useElevation(props);
625
645
  const { positionClasses, positionStyles } = usePosition(props);
646
+ const { dimensionStyles } = useDimension(props);
647
+ const { typographyStyles: typographyTitleStyles } = useTypography(props, "audio__title");
648
+ const { typographyStyles: typographyMetaStyles } = useTypography(props, "audio__meta");
649
+ const { typographyStyles: typographyLoadingStyles } = useTypography(props, "audio__loading");
650
+ const { typographyStyles: typographyErrorStyles } = useTypography(props, "audio--error");
626
651
  const variantClassName = computed(() => `origam-audio--${isCompactVariant.value ? "compact" : "expanded"}`);
627
652
  const rootClasses = computed(() => [
628
653
  variantClassName.value,
@@ -659,6 +684,7 @@ const rootStyles = computed(() => [
659
684
  paddingStyles.value,
660
685
  marginStyles.value,
661
686
  elevationStyles.value,
687
+ dimensionStyles.value,
662
688
  props.style
663
689
  ]);
664
690
  defineExpose({
@@ -681,7 +707,8 @@ defineExpose({
681
707
  .origam-audio {
682
708
  $this: &;
683
709
 
684
- display: block;
710
+ display: flex;
711
+ flex-direction: column;
685
712
  position: var(--origam-audio---position, static);
686
713
  padding: var(--origam-audio---padding, 16px);
687
714
  border-radius: var(--origam-audio---border-radius, var(--origam-radius---lg, 12px));
@@ -691,6 +718,36 @@ defineExpose({
691
718
  border: var(--origam-audio---border-width, 1px) solid var(--origam-audio---border-color, var(--origam-color__border---subtle));
692
719
  box-shadow: var(--origam-audio---box-shadow, 0px 1px 3px 0px rgba(0, 0, 0, 0.06), 0px 1px 2px -1px rgba(0, 0, 0, 0.06));
693
720
 
721
+ &--rounded-shaped {
722
+ border-start-start-radius: var(--origam-audio---border-radius, var(--origam-radius---lg, 12px));
723
+ border-start-end-radius: 0;
724
+ border-end-start-radius: 0;
725
+ border-end-end-radius: var(--origam-audio---border-radius, var(--origam-radius---lg, 12px));
726
+ }
727
+
728
+ &--rounded-shaped-invert {
729
+ border-start-start-radius: 0;
730
+ border-start-end-radius: var(--origam-audio---border-radius, var(--origam-radius---lg, 12px));
731
+ border-end-start-radius: var(--origam-audio---border-radius, var(--origam-radius---lg, 12px));
732
+ border-end-end-radius: 0;
733
+ }
734
+
735
+ &__controller {
736
+ flex: 1 1 auto;
737
+ min-height: 0;
738
+
739
+ :deep(.origam-media-controller__progress-row) {
740
+ flex: 1 1 auto;
741
+ display: flex;
742
+ flex-direction: column;
743
+ justify-content: center;
744
+ }
745
+
746
+ :deep(.origam-media-controller__buttons-row) {
747
+ margin-block-start: auto;
748
+ }
749
+ }
750
+
694
751
  :deep(.origam-slider-field--bare) {
695
752
  color: inherit !important;
696
753
  }
@@ -727,6 +784,13 @@ defineExpose({
727
784
  0 4px 12px rgba(0, 0, 0, 0.28),
728
785
  inset 0 0 0 1px rgba(0, 0, 0, 0.4);
729
786
 
787
+ /*
788
+ * Vinyl body fallback — a fixed dark disc behind the album art so a
789
+ * transparent / not-yet-loaded image never lets the surface colour
790
+ * bleed through the record.
791
+ */
792
+ background: var(--origam-audio__cover---background, #18181b);
793
+
730
794
  /*
731
795
  * Spindle hole — a real transparent dot punched THROUGH the
732
796
  * whole disc (image + grooves + label) so the audio shell
@@ -1275,7 +1339,14 @@ defineExpose({
1275
1339
  --origam-audio---position: relative;
1276
1340
  overflow: hidden;
1277
1341
 
1278
- #{$this}__cover-img {
1342
+ /*
1343
+ * Size the DISC (not the inner image) for compact. Sizing only
1344
+ * `__cover-img` left the disc at its base 96px with a 48px image
1345
+ * centred inside, so the exposed outer ring rendered as a large
1346
+ * "floating grooves" disc (and bled the surface colour through).
1347
+ * The image fills the disc via its base `width/height: 100%`.
1348
+ */
1349
+ #{$this}__cover {
1279
1350
  width: var(--origam-audio--compact__cover---size, 48px);
1280
1351
  height: var(--origam-audio--compact__cover---size, 48px);
1281
1352
  }
@@ -45,7 +45,7 @@
45
45
  </component>
46
46
  </template>
47
47
 
48
- <script setup>
48
+ <script lang="ts" setup>
49
49
  import { OrigamIcon, OrigamImg } from "../../components";
50
50
  import {
51
51
  useActive,
@@ -55,13 +55,12 @@ import {
55
55
  useProps,
56
56
  useSize,
57
57
  useStateEffect,
58
- useStyle
58
+ useStyle,
59
+ useTypography
59
60
  } from "../../composables";
60
61
  import { isEmpty } from "../../utils";
61
62
  import { computed, useSlots } from "vue";
62
63
  const _props = defineProps({
63
- start: { type: Boolean, required: false },
64
- end: { type: Boolean, required: false },
65
64
  icon: { type: null, required: false },
66
65
  image: { type: [String, Object], required: false },
67
66
  text: { type: String, required: false },
@@ -104,7 +103,12 @@ const _props = defineProps({
104
103
  elevation: { type: [Number, String], required: false },
105
104
  hover: { type: [Boolean, Object], required: false },
106
105
  active: { type: [Boolean, Object], required: false },
107
- activeClass: { type: String, required: false }
106
+ activeClass: { type: String, required: false },
107
+ fontFamily: { type: String, required: false },
108
+ fontSize: { type: String, required: false },
109
+ fontWeight: { type: String, required: false },
110
+ lineHeight: { type: String, required: false },
111
+ letterSpacing: { type: String, required: false }
108
112
  });
109
113
  const props = useDefaults(_props);
110
114
  defineEmits(["update:active", "update:hover"]);
@@ -112,6 +116,7 @@ const { filterProps } = useProps(props);
112
116
  const { hoverClasses, isHover, hoverState, onMouseleave: handleMouseleave, onMouseenter: handleMouseenter } = useHover(props);
113
117
  const { activeClasses, isActive, activeState, onActive: handleClick } = useActive(props);
114
118
  const { colorClasses, colorStyles, borderClasses, borderStyles, roundedClasses, roundedStyles, elevationClasses, elevationStyles, paddingClasses, paddingStyles, marginClasses, marginStyles } = useStateEffect(props, isHover, isActive, hoverState, activeState);
119
+ const { typographyStyles } = useTypography(props, "avatar");
115
120
  const slots = useSlots();
116
121
  const hasImage = computed(() => {
117
122
  return !isEmpty(props.image) || slots.image;
@@ -145,16 +150,13 @@ const avatarStyles = computed(() => {
145
150
  sizeStyles.value,
146
151
  colorStyles.value,
147
152
  elevationStyles.value,
153
+ typographyStyles.value,
148
154
  props.style
149
155
  ];
150
156
  });
151
157
  const avatarClasses = computed(() => {
152
158
  return [
153
159
  "origam-avatar",
154
- {
155
- "origam-avatar--start": props.start,
156
- "origam-avatar--end": props.end
157
- },
158
160
  colorClasses.value,
159
161
  densityClasses.value,
160
162
  roundedClasses.value,
@@ -1,6 +1,7 @@
1
1
  <template>
2
2
  <component
3
3
  :is="tag"
4
+ v-click-outside="clickOutsideArgs"
4
5
  :class="avatarGroupClasses"
5
6
  :style="avatarGroupStyles"
6
7
  role="group"
@@ -19,7 +20,6 @@
19
20
  >
20
21
  <origam-avatar
21
22
  :id="`avatar-${index}`"
22
- ref="origamAvatarRef"
23
23
  class="origam-avatar-group__item"
24
24
  v-bind="avatarProps(item)"
25
25
  />
@@ -32,7 +32,6 @@
32
32
  v-bind="{rest: restItems, length: restItems.length}"
33
33
  >
34
34
  <origam-avatar
35
- ref="origamAvatarRef"
36
35
  class="origam-avatar-group__rest"
37
36
  v-bind="avatarProps()"
38
37
  >
@@ -48,9 +47,10 @@
48
47
  </component>
49
48
  </template>
50
49
 
51
- <script setup>
50
+ <script lang="ts" setup>
52
51
  import { OrigamAvatar, OrigamDefaultsProvider } from "../../components";
53
52
  import { useActive, useDensity, useHover, useProps, useRtl, useStateEffect, useStyle } from "../../composables";
53
+ import { vClickOutside } from "../../directives";
54
54
  import { DIRECTION } from "../../enums";
55
55
  import { computed, mergeProps, ref } from "vue";
56
56
  const props = defineProps({
@@ -105,7 +105,12 @@ const slotDefaults = computed(() => ({
105
105
  density: props.density,
106
106
  size: props.size,
107
107
  color: props.color,
108
- bgColor: props.bgColor
108
+ bgColor: props.bgColor,
109
+ rounded: props.rounded,
110
+ elevation: props.elevation,
111
+ border: props.border,
112
+ borderColor: props.borderColor,
113
+ borderStyle: props.borderStyle
109
114
  }
110
115
  }));
111
116
  defineEmits(["update:active", "update:hover"]);
@@ -132,11 +137,14 @@ const displayItems = computed(() => {
132
137
  });
133
138
  const { hoverClasses, hoverState, isHover, onMouseleave, onMouseenter } = useHover(props);
134
139
  const { activeClasses, activeState, isActive, onActive } = useActive(props);
135
- const origamAvatarRef = ref();
140
+ const forwardState = (state, isOn) => {
141
+ return state && typeof state === "object" ? { ...state, enabled: isOn } : isOn;
142
+ };
136
143
  const avatarProps = (item = {}) => {
137
- const ignoreProps = ["margin", "marginLeft", "marginTop", "marginRight", "marginBottom", "padding", "paddingLeft", "paddingTop", "paddingRight", "paddingBottom"];
138
- const avatarDefaultProps = origamAvatarRef.value?.[0]?.filterProps(props, ignoreProps) || origamAvatarRef.value?.filterProps(props, ignoreProps);
139
- return mergeProps(item, avatarDefaultProps, { hover: isHover.value, active: isActive.value });
144
+ return mergeProps(item, {
145
+ hover: forwardState(props.hover, isHover.value),
146
+ active: forwardState(props.active, isActive.value)
147
+ });
140
148
  };
141
149
  const handleMouseEnter = () => {
142
150
  if (props.expandOnHover) {
@@ -156,6 +164,16 @@ const handleClick = () => {
156
164
  }
157
165
  onActive();
158
166
  };
167
+ const handleClickOutside = () => {
168
+ isExpanded.value = false;
169
+ if (isActive.value) {
170
+ onActive();
171
+ }
172
+ };
173
+ const clickOutsideArgs = {
174
+ handler: handleClickOutside,
175
+ closeConditional: () => Boolean(props.expandOnClick) && isActive.value
176
+ };
159
177
  const {
160
178
  marginClasses,
161
179
  marginStyles,