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.
- package/dist/src/assets/css/tokens/dark.css +3788 -3768
- package/dist/src/assets/css/tokens/light.css +1894 -1884
- package/dist/src/assets/css/tokens/primitive.css +2 -0
- package/dist/src/assets/css/tokens/themes-all.css +44226 -0
- package/dist/src/assets/locales/en.json +34 -2
- package/dist/src/assets/locales/fr.json +34 -2
- package/dist/src/assets/scss/tokens/_dark.scss +1894 -1884
- package/dist/src/assets/scss/tokens/_light.scss +1894 -1884
- package/dist/src/assets/scss/tokens/_primitive.scss +2 -0
- package/dist/src/assets/scss/tokens/_themes-all.scss +44241 -0
- package/dist/src/components/Alert/OrigamAlert.vue +16 -21
- package/dist/src/components/App/OrigamApp.vue +7 -38
- package/dist/src/components/App/OrigamAppBar.vue +35 -17
- package/dist/src/components/Audio/OrigamAudio.vue +77 -6
- package/dist/src/components/Avatar/OrigamAvatar.vue +11 -9
- package/dist/src/components/Avatar/OrigamAvatarGroup.vue +26 -8
- package/dist/src/components/Badge/OrigamBadge.vue +13 -3
- package/dist/src/components/Blockquote/OrigamBlockquote.vue +137 -13
- package/dist/src/components/BottomNav/OrigamBottomNav.vue +34 -4
- package/dist/src/components/Bracket/OrigamBracket.vue +386 -64
- package/dist/src/components/Bracket/OrigamBracketCompetitor.vue +190 -13
- package/dist/src/components/Bracket/OrigamBracketMatch.vue +197 -42
- package/dist/src/components/Bracket/OrigamBracketRound.vue +11 -3
- package/dist/src/components/Breadcrumb/OrigamBreadcrumb.vue +14 -12
- package/dist/src/components/Breadcrumb/OrigamBreadcrumbDivider.vue +4 -1
- package/dist/src/components/Breadcrumb/OrigamBreadcrumbItem.vue +3 -5
- package/dist/src/components/Btn/OrigamBtn.vue +69 -30
- package/dist/src/components/Btn/OrigamBtnGroup.vue +33 -7
- package/dist/src/components/Btn/OrigamBtnToggle.vue +4 -7
- package/dist/src/components/Calendar/OrigamCalendar.vue +785 -658
- package/dist/src/components/Card/OrigamCard.vue +24 -3
- package/dist/src/components/Card/OrigamCardHeader.vue +17 -3
- package/dist/src/components/Card/OrigamCardText.vue +29 -7
- package/dist/src/components/Carousel/OrigamCarousel.vue +29 -9
- package/dist/src/components/Carousel/OrigamCarouselItem.vue +2 -2
- package/dist/src/components/Chart/OrigamChart.vue +3 -1
- package/dist/src/components/Chart/OrigamChartAxis.vue +1 -1
- package/dist/src/components/Chart/OrigamChartBoxPlot.vue +7 -3
- package/dist/src/components/Chart/OrigamChartBullet.vue +7 -3
- package/dist/src/components/Chart/OrigamChartCandlestick.vue +7 -3
- package/dist/src/components/Chart/OrigamChartCartesian.vue +14 -10
- package/dist/src/components/Chart/OrigamChartGauge.vue +7 -3
- package/dist/src/components/Chart/OrigamChartHeatmap.vue +7 -3
- package/dist/src/components/Chart/OrigamChartHoneycomb.vue +7 -3
- package/dist/src/components/Chart/OrigamChartLegend.vue +1 -2
- package/dist/src/components/Chart/OrigamChartMap.vue +7 -3
- package/dist/src/components/Chart/OrigamChartPareto.vue +7 -3
- package/dist/src/components/Chart/OrigamChartPictorial.vue +9 -6
- package/dist/src/components/Chart/OrigamChartPolar.vue +13 -6
- package/dist/src/components/Chart/OrigamChartPolarBar.vue +7 -3
- package/dist/src/components/Chart/OrigamChartPyramid.vue +7 -3
- package/dist/src/components/Chart/OrigamChartRadar.vue +7 -5
- package/dist/src/components/Chart/OrigamChartRangeSelector.vue +3 -4
- package/dist/src/components/Chart/OrigamChartSankey.vue +7 -3
- package/dist/src/components/Chart/OrigamChartSparkline.vue +5 -3
- package/dist/src/components/Chart/OrigamChartStreamgraph.vue +9 -5
- package/dist/src/components/Chart/OrigamChartSunburst.vue +7 -3
- package/dist/src/components/Chart/OrigamChartTooltip.vue +1 -1
- package/dist/src/components/Chart/OrigamChartTreemap.vue +7 -3
- package/dist/src/components/Chart/OrigamChartVariwide.vue +7 -3
- package/dist/src/components/Chart/OrigamChartWordCloud.vue +3 -2
- package/dist/src/components/Checkbox/OrigamCheckbox.vue +18 -3
- package/dist/src/components/Checkbox/OrigamCheckboxBtn.vue +4 -2
- package/dist/src/components/Chip/OrigamChip.vue +25 -12
- package/dist/src/components/Chip/OrigamChipGroup.vue +5 -5
- package/dist/src/components/ClientOnly/OrigamClientOnly.vue +1 -1
- package/dist/src/components/Clipboard/OrigamClipboard.vue +12 -4
- package/dist/src/components/Code/OrigamCode.vue +144 -39
- package/dist/src/components/ColorPicker/OrigamColorPicker.vue +7 -2
- package/dist/src/components/ColorPicker/OrigamColorPickerCanvas.vue +3 -2
- package/dist/src/components/ColorPicker/OrigamColorPickerEdit.vue +2 -2
- package/dist/src/components/ColorPicker/OrigamColorPickerPreview.vue +1 -1
- package/dist/src/components/ColorPicker/OrigamColorPickerSwatches.vue +1 -1
- package/dist/src/components/ColorPickerField/OrigamColorPickerField.vue +15 -5
- package/dist/src/components/CommandPalette/OrigamCommandPalette.vue +13 -3
- package/dist/src/components/ConfirmWrapper/OrigamConfirmWrapper.vue +1 -1
- package/dist/src/components/ContextualMenu/OrigamContextualMenu.vue +7 -2
- package/dist/src/components/Counter/OrigamCounter.vue +2 -1
- package/dist/src/components/DataList/OrigamDataList.vue +21 -5
- package/dist/src/components/DataList/OrigamDataText.vue +5 -1
- package/dist/src/components/DataList/OrigamDataTitle.vue +5 -1
- package/dist/src/components/DataTable/OrigamDataTable.vue +15 -7
- package/dist/src/components/DataTable/OrigamDataTableColumnCell.vue +1 -1
- package/dist/src/components/DataTable/OrigamDataTableFooter.vue +1 -1
- package/dist/src/components/DataTable/OrigamDataTableGroupHeaderRow.vue +1 -1
- package/dist/src/components/DataTable/OrigamDataTableHeaderCell.vue +3 -2
- package/dist/src/components/DataTable/OrigamDataTableHeaders.vue +2 -1
- package/dist/src/components/DataTable/OrigamDataTableHeadersCell.vue +1 -1
- package/dist/src/components/DataTable/OrigamDataTableHeadersCellMobile.vue +1 -1
- package/dist/src/components/DataTable/OrigamDataTableRow.vue +5 -3
- package/dist/src/components/DataTable/OrigamDataTableRows.vue +3 -3
- package/dist/src/components/DatePicker/OrigamDatePicker.vue +21 -30
- package/dist/src/components/DatePicker/OrigamDatePickerControls.vue +2 -2
- package/dist/src/components/DatePicker/OrigamDatePickerHeader.vue +1 -1
- package/dist/src/components/DatePicker/OrigamDatePickerMonth.vue +16 -28
- package/dist/src/components/DatePicker/OrigamDatePickerMonths.vue +3 -3
- package/dist/src/components/DatePicker/OrigamDatePickerYears.vue +3 -3
- package/dist/src/components/DatePickerField/OrigamDatePickerField.vue +27 -16
- package/dist/src/components/DefaultsProvider/OrigamDefaultsProvider.vue +1 -1
- package/dist/src/components/Dialog/OrigamDialog.vue +1 -1
- package/dist/src/components/Dialog/OrigamDialogConfirmation.vue +1 -1
- package/dist/src/components/Divider/OrigamDivider.vue +2 -2
- package/dist/src/components/Drawer/OrigamDrawer.vue +5 -11
- package/dist/src/components/EmptyState/OrigamEmptyState.vue +14 -4
- package/dist/src/components/ExpansionPanel/OrigamExpansionPanel.vue +12 -2
- package/dist/src/components/ExpansionPanel/OrigamExpansionPanelContent.vue +4 -2
- package/dist/src/components/ExpansionPanel/OrigamExpansionPanelHeader.vue +14 -5
- package/dist/src/components/ExpansionPanel/OrigamExpansionPanels.vue +2 -1
- package/dist/src/components/Field/OrigamField.vue +26 -9
- package/dist/src/components/FileField/OrigamFileField.vue +8 -3
- package/dist/src/components/FileField/OrigamFileFieldDragNDropItem.vue +14 -4
- package/dist/src/components/FileField/OrigamFileFieldListItem.vue +14 -4
- package/dist/src/components/Form/OrigamForm.vue +10 -2
- package/dist/src/components/Grid/OrigamGrid.vue +1 -1
- package/dist/src/components/Grid/OrigamGridItem.vue +1 -1
- package/dist/src/components/Grids/OrigamCol.vue +1 -1
- package/dist/src/components/Grids/OrigamContainer.vue +1 -1
- package/dist/src/components/Grids/OrigamRow.vue +6 -2
- package/dist/src/components/Grids/OrigamSpacer.vue +1 -1
- package/dist/src/components/Icon/OrigamClassIcon.vue +1 -1
- package/dist/src/components/Icon/OrigamComponentIcon.vue +1 -1
- package/dist/src/components/Icon/OrigamIcon.vue +1 -1
- package/dist/src/components/Icon/OrigamLigatureIcon.vue +1 -1
- package/dist/src/components/Icon/OrigamSvgIcon.vue +2 -2
- package/dist/src/components/Img/OrigamImg.vue +10 -9
- package/dist/src/components/InfiniteScroll/OrigamInfiniteScroll.vue +14 -7
- package/dist/src/components/InfiniteScroll/OrigamInfiniteScrollIntersect.vue +3 -2
- package/dist/src/components/InlineEdit/OrigamInlineEdit.vue +13 -4
- package/dist/src/components/Input/OrigamInput.vue +17 -3
- package/dist/src/components/ItemGroup/OrigamItem.vue +1 -1
- package/dist/src/components/ItemGroup/OrigamItemGroup.vue +1 -1
- package/dist/src/components/Kbd/OrigamKbd.vue +18 -8
- package/dist/src/components/Label/OrigamLabel.vue +14 -3
- package/dist/src/components/Layout/OrigamLayout.vue +1 -1
- package/dist/src/components/Lazy/OrigamLazy.vue +1 -1
- package/dist/src/components/List/OrigamList.vue +1 -1
- package/dist/src/components/List/OrigamListChildren.vue +1 -1
- package/dist/src/components/List/OrigamListGroup.vue +4 -1
- package/dist/src/components/List/OrigamListGroupActivator.vue +1 -1
- package/dist/src/components/List/OrigamListItem.vue +14 -4
- package/dist/src/components/List/OrigamListSubheader.vue +13 -3
- package/dist/src/components/Loader/OrigamLoader.vue +1 -1
- package/dist/src/components/Main/OrigamMain.vue +1 -1
- package/dist/src/components/Masonry/OrigamMasonry.vue +2 -2
- package/dist/src/components/Media/OrigamMediaController.vue +1 -1
- package/dist/src/components/Media/OrigamMediaScrubber.vue +3 -2
- package/dist/src/components/Media/OrigamMediaVolumeControl.vue +3 -2
- package/dist/src/components/Menu/OrigamMenu.vue +9 -2
- package/dist/src/components/Messages/OrigamMessages.vue +13 -4
- package/dist/src/components/NumberField/OrigamNumberField.vue +80 -40
- package/dist/src/components/NumberFormat/OrigamNumberFormat.vue +1 -1
- package/dist/src/components/OtpInputField/OrigamOtpInputField.vue +107 -11
- package/dist/src/components/Overlay/OrigamOverlay.vue +1 -1
- package/dist/src/components/Overlay/OrigamOverlayScrim.vue +1 -1
- package/dist/src/components/Pagination/OrigamPagination.vue +16 -4
- package/dist/src/components/Parallax/OrigamParallax.vue +9 -2
- package/dist/src/components/Parallax/OrigamParallaxElement.vue +1 -1
- package/dist/src/components/Parallax/OrigamParallaxLayer.vue +2 -2
- package/dist/src/components/PasswordField/OrigamPasswordField.vue +9 -2
- package/dist/src/components/Picker/OrigamPicker.vue +8 -3
- package/dist/src/components/Picker/OrigamPickerTitle.vue +10 -3
- package/dist/src/components/Progress/OrigamProgress.vue +6 -3
- package/dist/src/components/Progress/OrigamProgressCircular.vue +3 -1
- package/dist/src/components/Progress/OrigamProgressLinear.vue +5 -6
- package/dist/src/components/{QRCode → QrCode}/OrigamQrCode.vue +1 -1
- package/dist/src/components/QrCode/index.d.ts +1 -0
- package/dist/src/components/Radio/OrigamRadio.vue +20 -11
- package/dist/src/components/Radio/OrigamRadioBtn.vue +4 -2
- package/dist/src/components/Radio/OrigamRadioGroup.vue +48 -41
- package/dist/src/components/RatingField/OrigamRatingField.vue +9 -13
- package/dist/src/components/RatingField/OrigamRatingFieldItem.vue +3 -6
- package/dist/src/components/Responsive/OrigamResponsive.vue +1 -1
- package/dist/src/components/Section/OrigamSection.vue +1 -1
- package/dist/src/components/Select/OrigamSelect.vue +19 -10
- package/dist/src/components/SelectionControl/OrigamSelectionControl.vue +12 -6
- package/dist/src/components/SelectionControl/OrigamSelectionControlGroup.vue +2 -2
- package/dist/src/components/Sheet/OrigamSheet.vue +11 -3
- package/dist/src/components/Skeleton/OrigamSkeleton.vue +2 -4
- package/dist/src/components/Slide/OrigamSlideGroup.vue +1 -1
- package/dist/src/components/SliderField/OrigamSliderField.vue +7 -6
- package/dist/src/components/SliderField/OrigamSliderFieldTrack.vue +1 -1
- package/dist/src/components/Snackbar/OrigamSnackbar.vue +5 -4
- package/dist/src/components/Snackbar/OrigamSnackbarGroup.vue +1 -1
- package/dist/src/components/Snackbar/OrigamSnackbarItem.vue +27 -26
- package/dist/src/components/Stepper/OrigamStepper.vue +6 -2
- package/dist/src/components/Stepper/OrigamStepperItem.vue +10 -3
- package/dist/src/components/Switch/OrigamSwitch.vue +35 -37
- package/dist/src/components/Switch/OrigamSwitchTrack.vue +9 -15
- package/dist/src/components/SystemBar/OrigamSystemBar.vue +14 -4
- package/dist/src/components/Table/OrigamTable.vue +15 -3
- package/dist/src/components/Tabs/OrigamTab.vue +13 -3
- package/dist/src/components/Tabs/OrigamTabPanel.vue +1 -1
- package/dist/src/components/Tabs/OrigamTabPanels.vue +1 -1
- package/dist/src/components/Tabs/OrigamTabs.vue +1 -1
- package/dist/src/components/TextField/OrigamTextField.vue +8 -1
- package/dist/src/components/TextMask/OrigamTextMask.vue +17 -27
- package/dist/src/components/TextareaField/OrigamRichToolbar.vue +15 -11
- package/dist/src/components/TextareaField/OrigamTextareaField.vue +11 -1
- package/dist/src/components/ThemeProvider/OrigamThemeProvider.vue +4 -1
- package/dist/src/components/Timeline/OrigamTimeline.vue +3 -3
- package/dist/src/components/Timeline/OrigamTimelineItem.vue +3 -1
- package/dist/src/components/Title/OrigamTitle.vue +20 -8
- package/dist/src/components/Toolbar/OrigamToolbar.vue +17 -5
- package/dist/src/components/Tooltip/OrigamTooltip.vue +12 -3
- package/dist/src/components/Transition/OrigamExpandX.vue +1 -1
- package/dist/src/components/Transition/OrigamExpandY.vue +1 -1
- package/dist/src/components/Transition/OrigamFade.vue +1 -1
- package/dist/src/components/Transition/OrigamReverseTranslatePicker.vue +1 -1
- package/dist/src/components/Transition/OrigamScaleRotate.vue +1 -1
- package/dist/src/components/Transition/OrigamSlideX.vue +1 -1
- package/dist/src/components/Transition/OrigamSlideY.vue +1 -1
- package/dist/src/components/Transition/OrigamSnack.vue +1 -1
- package/dist/src/components/Transition/OrigamTransition.vue +1 -1
- package/dist/src/components/Transition/OrigamTranslateBottom.vue +1 -1
- package/dist/src/components/Transition/OrigamTranslatePicker.vue +1 -1
- package/dist/src/components/Transition/OrigamTranslateScale.vue +1 -1
- package/dist/src/components/Transition/OrigamWindowXReverseTranslate.vue +1 -1
- package/dist/src/components/Transition/OrigamWindowXTranslate.vue +1 -1
- package/dist/src/components/Transition/OrigamWindowYReverseTranslate.vue +1 -1
- package/dist/src/components/Transition/OrigamWindowYTranslate.vue +1 -1
- package/dist/src/components/Treeview/OrigamTreeview.vue +1 -1
- package/dist/src/components/Treeview/OrigamTreeviewNode.vue +7 -5
- package/dist/src/components/Video/OrigamVideo.vue +56 -63
- package/dist/src/components/VirtualScroll/OrigamVirtualScroll.vue +1 -1
- package/dist/src/components/VirtualScroll/OrigamVirtualScrollItem.vue +1 -6
- package/dist/src/components/Watermark/OrigamWatermark.vue +1 -1
- package/dist/src/components/Window/OrigamWindow.vue +32 -2
- package/dist/src/components/Window/OrigamWindowItem.vue +1 -1
- package/dist/src/components/index.cjs +1 -1
- package/dist/src/components/index.js +1 -1
- package/dist/src/composables/Chart/chart-gauge.composable.cjs +1 -1
- package/dist/src/composables/Chart/chart-gauge.composable.js +1 -1
- package/dist/src/composables/Chart/chart-header-typography.composable.cjs +20 -0
- package/dist/src/composables/Chart/chart-header-typography.composable.d.ts +27 -0
- package/dist/src/composables/Chart/chart-header-typography.composable.js +11 -0
- package/dist/src/composables/Chart/chart-zoom.composable.cjs +0 -1
- package/dist/src/composables/Chart/chart-zoom.composable.js +0 -1
- package/dist/src/composables/Chart/chart.composable.cjs +0 -11
- package/dist/src/composables/Chart/chart.composable.js +0 -11
- package/dist/src/composables/Code/code.composable.js +4 -1
- package/dist/src/composables/Commons/audio.composable.d.ts +97 -31
- package/dist/src/composables/Commons/border.composable.cjs +10 -0
- package/dist/src/composables/Commons/border.composable.js +7 -0
- package/dist/src/composables/Commons/color.composable.cjs +42 -42
- package/dist/src/composables/Commons/color.composable.d.ts +8 -3
- package/dist/src/composables/Commons/color.composable.js +2 -2
- package/dist/src/composables/Commons/date-picker-calendar.composable.cjs +1 -1
- package/dist/src/composables/Commons/date-picker-calendar.composable.d.ts +1 -1
- package/dist/src/composables/Commons/date-picker-calendar.composable.js +1 -1
- package/dist/src/composables/Commons/defaults.composable.cjs +10 -9
- package/dist/src/composables/Commons/defaults.composable.js +10 -9
- package/dist/src/composables/Commons/delay.composable.cjs +8 -3
- package/dist/src/composables/Commons/delay.composable.js +7 -4
- package/dist/src/composables/Commons/density.composable.cjs +1 -1
- package/dist/src/composables/Commons/density.composable.js +2 -2
- package/dist/src/composables/Commons/dragResizer.composable.cjs +7 -9
- package/dist/src/composables/Commons/dragResizer.composable.js +8 -9
- package/dist/src/composables/Commons/focus.composable.cjs +1 -1
- package/dist/src/composables/Commons/focus.composable.js +1 -1
- package/dist/src/composables/Commons/layout.composable.cjs +12 -0
- package/dist/src/composables/Commons/layout.composable.js +14 -0
- package/dist/src/composables/Commons/message.composable.cjs +1 -1
- package/dist/src/composables/Commons/message.composable.d.ts +1 -1
- package/dist/src/composables/Commons/message.composable.js +1 -1
- package/dist/src/composables/Commons/rounded.composable.cjs +15 -4
- package/dist/src/composables/Commons/rounded.composable.d.ts +1 -1
- package/dist/src/composables/Commons/rounded.composable.js +17 -6
- package/dist/src/composables/Commons/scroll.composable.cjs +2 -2
- package/dist/src/composables/Commons/scroll.composable.js +2 -2
- package/dist/src/composables/Commons/size.composable.d.ts +1 -1
- package/dist/src/composables/Commons/stateEffect.composable.cjs +36 -14
- package/dist/src/composables/Commons/stateEffect.composable.js +38 -14
- package/dist/src/composables/Commons/status.composable.cjs +11 -1
- package/dist/src/composables/Commons/status.composable.d.ts +2 -0
- package/dist/src/composables/Commons/status.composable.js +10 -1
- package/dist/src/composables/Commons/sticky.composable.d.ts +2 -14
- package/dist/src/composables/Commons/style.composable.cjs +5 -3
- package/dist/src/composables/Commons/style.composable.js +5 -3
- package/dist/src/composables/Commons/typography.composable.cjs +23 -0
- package/dist/src/composables/Commons/typography.composable.d.ts +7 -0
- package/dist/src/composables/Commons/typography.composable.js +21 -0
- package/dist/src/composables/DataTable/headers.composable.d.ts +4 -364
- package/dist/src/composables/Icon/icon.composable.cjs +6 -1
- package/dist/src/composables/Icon/icon.composable.js +4 -1
- package/dist/src/composables/InlineEdit/inline-edit.composable.cjs +16 -2
- package/dist/src/composables/InlineEdit/inline-edit.composable.js +16 -2
- package/dist/src/composables/Masonry/masonry.composable.d.ts +2 -1
- package/dist/src/composables/Parallax/transform.composable.d.ts +1 -1
- package/dist/src/composables/Responsive/aspect.composable.cjs +9 -1
- package/dist/src/composables/Responsive/aspect.composable.d.ts +1 -1
- package/dist/src/composables/Responsive/aspect.composable.js +9 -1
- package/dist/src/composables/Theme/installed-themes.composable.cjs +11 -0
- package/dist/src/composables/Theme/installed-themes.composable.d.ts +19 -0
- package/dist/src/composables/Theme/installed-themes.composable.js +5 -0
- package/dist/src/composables/Theme/theme.composable.cjs +86 -15
- package/dist/src/composables/Theme/theme.composable.d.ts +55 -10
- package/dist/src/composables/Theme/theme.composable.js +88 -17
- package/dist/src/composables/index.cjs +36 -0
- package/dist/src/composables/index.d.ts +3 -0
- package/dist/src/composables/index.js +3 -0
- package/dist/src/consts/Bracket/bracket.const.cjs +4 -2
- package/dist/src/consts/Bracket/bracket.const.d.ts +12 -0
- package/dist/src/consts/Bracket/bracket.const.js +2 -0
- package/dist/src/consts/Commons/density.const.cjs +2 -2
- package/dist/src/consts/Commons/density.const.d.ts +1 -1
- package/dist/src/consts/Commons/density.const.js +1 -1
- package/dist/src/consts/Commons/rounded.const.cjs +4 -2
- package/dist/src/consts/Commons/rounded.const.d.ts +22 -2
- package/dist/src/consts/Commons/rounded.const.js +3 -1
- package/dist/src/consts/DataTable/select.const.cjs +1 -1
- package/dist/src/consts/DataTable/select.const.js +1 -1
- package/dist/src/consts/Icon/mdi.const.cjs +6 -1
- package/dist/src/consts/Icon/mdi.const.js +10 -2
- package/dist/src/consts/Theme/theme.const.cjs +11 -1
- package/dist/src/consts/Theme/theme.const.d.ts +16 -0
- package/dist/src/consts/Theme/theme.const.js +10 -0
- package/dist/src/directives/Contrast/contrast.directive.cjs +150 -0
- package/dist/src/directives/Contrast/contrast.directive.d.ts +5 -0
- package/dist/src/directives/Contrast/contrast.directive.js +131 -0
- package/dist/src/directives/index.cjs +7 -0
- package/dist/src/directives/index.d.ts +1 -0
- package/dist/src/directives/index.js +1 -0
- package/dist/src/enums/BottomNav/bottom-nav-position.enum.cjs +12 -0
- package/dist/src/enums/BottomNav/bottom-nav-position.enum.d.ts +10 -0
- package/dist/src/enums/BottomNav/bottom-nav-position.enum.js +6 -0
- package/dist/src/enums/Toolbar/toolbar.enum.cjs +1 -0
- package/dist/src/enums/Toolbar/toolbar.enum.d.ts +2 -1
- package/dist/src/enums/Toolbar/toolbar.enum.js +1 -0
- package/dist/src/enums/index.cjs +22 -0
- package/dist/src/enums/index.d.ts +2 -0
- package/dist/src/enums/index.js +2 -0
- package/dist/src/interfaces/Alert/alert.interface.d.ts +2 -3
- package/dist/src/interfaces/App/app-bar.interface.d.ts +19 -1
- package/dist/src/interfaces/App/app.interface.cjs +1 -0
- package/dist/src/interfaces/App/app.interface.d.ts +24 -0
- package/dist/src/interfaces/Audio/audio-player.interface.d.ts +23 -2
- package/dist/src/interfaces/Avatar/avatar.interface.d.ts +2 -4
- package/dist/src/interfaces/Badge/badge.interface.d.ts +2 -2
- package/dist/src/interfaces/Blockquote/blockquote.interface.d.ts +23 -21
- package/dist/src/interfaces/BottomNav/bottom-nav.interface.d.ts +12 -4
- package/dist/src/interfaces/Bracket/bracket-competitor-component.interface.d.ts +17 -6
- package/dist/src/interfaces/Bracket/bracket-match-component.interface.d.ts +13 -6
- package/dist/src/interfaces/Bracket/bracket-match.interface.d.ts +22 -0
- package/dist/src/interfaces/Bracket/bracket-round-component.interface.d.ts +2 -2
- package/dist/src/interfaces/Bracket/bracket.interface.d.ts +17 -2
- package/dist/src/interfaces/Breadcrumb/breadcrumb-divider.interface.d.ts +2 -2
- package/dist/src/interfaces/Breadcrumb/breadcrumb.interface.d.ts +2 -3
- package/dist/src/interfaces/Btn/btn-group.interface.d.ts +2 -2
- package/dist/src/interfaces/Btn/btn.interface.d.ts +11 -3
- package/dist/src/interfaces/Calendar/calendar.interface.d.ts +7 -2
- package/dist/src/interfaces/Card/card-header.interface.d.ts +2 -2
- package/dist/src/interfaces/Card/card-text.interface.d.ts +2 -2
- package/dist/src/interfaces/Carousel/carousel.interface.d.ts +2 -2
- package/dist/src/interfaces/Chart/chart-base.interface.d.ts +9 -8
- package/dist/src/interfaces/Chart/chart-word-cloud.interface.d.ts +1 -1
- package/dist/src/interfaces/Chart/chart.interface.d.ts +12 -1
- package/dist/src/interfaces/Checkbox/checkbox-btn.interface.d.ts +3 -3
- package/dist/src/interfaces/Checkbox/checkbox.interface.d.ts +10 -9
- package/dist/src/interfaces/Chip/chip-group.interface.d.ts +3 -1
- package/dist/src/interfaces/Chip/chip.interface.d.ts +2 -2
- package/dist/src/interfaces/Clipboard/clipboard.interface.d.ts +2 -2
- package/dist/src/interfaces/Code/code.interface.d.ts +19 -2
- package/dist/src/interfaces/ColorPickerField/color-picker-field.interface.d.ts +2 -2
- package/dist/src/interfaces/CommandPalette/command-palette.interface.d.ts +2 -1
- package/dist/src/interfaces/Commons/calendar.interface.d.ts +3 -3
- package/dist/src/interfaces/Commons/commons.interface.d.ts +34 -1
- package/dist/src/interfaces/Commons/filters.interface.d.ts +2 -2
- package/dist/src/interfaces/Commons/hover.interface.d.ts +18 -3
- package/dist/src/interfaces/Commons/scroll.interface.d.ts +8 -1
- package/dist/src/interfaces/Commons/typography.interface.cjs +1 -0
- package/dist/src/interfaces/Commons/typography.interface.d.ts +52 -0
- package/dist/src/interfaces/Commons/typography.interface.js +0 -0
- package/dist/src/interfaces/Commons/validation.interface.d.ts +3 -1
- package/dist/src/interfaces/Counter/counter.interface.d.ts +2 -2
- package/dist/src/interfaces/DataList/data-list.interface.d.ts +2 -2
- package/dist/src/interfaces/DataList/data-text.interface.d.ts +5 -0
- package/dist/src/interfaces/DataList/data-title.interface.d.ts +5 -0
- package/dist/src/interfaces/DataTable/headers.interface.d.ts +5 -5
- package/dist/src/interfaces/DataTable/row.interface.d.ts +2 -2
- package/dist/src/interfaces/DatePicker/date-picker-controls.interface.d.ts +16 -8
- package/dist/src/interfaces/DatePicker/date-picker-header.interface.d.ts +6 -3
- package/dist/src/interfaces/DatePicker/date-picker-months.interface.d.ts +2 -2
- package/dist/src/interfaces/DatePicker/date-picker-years.interface.d.ts +1 -1
- package/dist/src/interfaces/DatePicker/date-picker.interface.d.ts +1 -1
- package/dist/src/interfaces/Dialog/dialog-confirmation.interface.d.ts +2 -2
- package/dist/src/interfaces/EmptyState/empty-state.interface.d.ts +9 -2
- package/dist/src/interfaces/ExpensionPanel/expansion-panel-header.interface.d.ts +2 -2
- package/dist/src/interfaces/Field/field.interface.d.ts +7 -2
- package/dist/src/interfaces/FileField/file-field-dragndrop-item.interface.d.ts +2 -2
- package/dist/src/interfaces/FileField/file-field-list-item.interface.d.ts +2 -2
- package/dist/src/interfaces/FileField/file-field.interface.d.ts +1 -1
- package/dist/src/interfaces/Form/form.interface.d.ts +2 -2
- package/dist/src/interfaces/Grids/row.interface.d.ts +2 -2
- package/dist/src/interfaces/InfiniteScroll/infinite-scroll.interface.d.ts +2 -2
- package/dist/src/interfaces/InlineEdit/inline-edit.interface.d.ts +31 -2
- package/dist/src/interfaces/Input/input.interface.d.ts +4 -3
- package/dist/src/interfaces/Kbd/kbd.interface.d.ts +2 -2
- package/dist/src/interfaces/Label/label.interface.d.ts +2 -2
- package/dist/src/interfaces/List/list-group.interface.d.ts +4 -1
- package/dist/src/interfaces/List/list-item.interface.d.ts +2 -2
- package/dist/src/interfaces/List/list-subheader.interface.d.ts +2 -2
- package/dist/src/interfaces/Media/media-scrubber.interface.d.ts +10 -2
- package/dist/src/interfaces/Messages/messages.interface.d.ts +2 -2
- package/dist/src/interfaces/NumberField/number-field.interface.d.ts +1 -1
- package/dist/src/interfaces/Nuxt/nuxt-module.interface.d.ts +55 -15
- package/dist/src/interfaces/OtpInputField/otp-input-field.interface.d.ts +4 -2
- package/dist/src/interfaces/Pagination/pagination.interface.d.ts +18 -3
- package/dist/src/interfaces/Parallax/parallax.interface.d.ts +2 -2
- package/dist/src/interfaces/PasswordField/password-field.interface.d.ts +1 -1
- package/dist/src/interfaces/Picker/picker-title.interface.d.ts +2 -2
- package/dist/src/interfaces/Progress/progress.interface.d.ts +8 -2
- package/dist/src/interfaces/RatingField/rating-field-item.interface.d.ts +2 -1
- package/dist/src/interfaces/SelectionControl/selection-control-group.interface.d.ts +2 -1
- package/dist/src/interfaces/SelectionControl/selection-control.interface.d.ts +23 -5
- package/dist/src/interfaces/Sheet/sheet.interface.d.ts +2 -2
- package/dist/src/interfaces/Snackbar/snackbar-item.interface.d.ts +2 -2
- package/dist/src/interfaces/SystemBar/system-bar.interface.d.ts +2 -2
- package/dist/src/interfaces/Table/table.interface.d.ts +2 -2
- package/dist/src/interfaces/Tabs/tab.interface.d.ts +7 -2
- package/dist/src/interfaces/TextField/text-field.interface.d.ts +1 -1
- package/dist/src/interfaces/TextMask/text-mask.interface.d.ts +7 -33
- package/dist/src/interfaces/TextareaField/textarea-field.interface.d.ts +3 -3
- package/dist/src/interfaces/Theme/origam-theme.interface.cjs +1 -0
- package/dist/src/interfaces/Theme/origam-theme.interface.d.ts +114 -0
- package/dist/src/interfaces/Theme/origam-theme.interface.js +0 -0
- package/dist/src/interfaces/Timeline/timeline.interface.d.ts +1 -1
- package/dist/src/interfaces/Title/title.interface.d.ts +2 -2
- package/dist/src/interfaces/Toolbar/toolbar.interface.d.ts +2 -2
- package/dist/src/interfaces/Tooltip/tooltip.interface.d.ts +2 -2
- package/dist/src/interfaces/Video/video.interface.d.ts +2 -2
- package/dist/src/interfaces/Window/window.interface.d.ts +2 -2
- package/dist/src/interfaces/index.cjs +33 -0
- package/dist/src/interfaces/index.d.ts +3 -0
- package/dist/src/interfaces/index.js +3 -0
- package/dist/src/nuxt/module.cjs +78 -8
- package/dist/src/nuxt/module.js +81 -9
- package/dist/src/nuxt/plugin.client.cjs +28 -10
- package/dist/src/nuxt/plugin.client.js +28 -10
- package/dist/src/nuxt/plugin.server.cjs +52 -12
- package/dist/src/nuxt/plugin.server.js +55 -13
- package/dist/src/origam.cjs +39 -2
- package/dist/src/origam.d.ts +19 -1
- package/dist/src/origam.js +46 -5
- package/dist/src/services/Commons/date-adapter.service.d.ts +1 -1
- package/dist/src/themes/index.cjs +24 -0
- package/dist/src/themes/index.d.ts +1 -0
- package/dist/src/themes/index.js +1 -0
- package/dist/src/themes/origam.theme.cjs +906 -0
- package/dist/src/themes/origam.theme.d.ts +4 -0
- package/dist/src/themes/origam.theme.js +379 -0
- package/dist/src/types/BottomNav/bottom-nav.type.d.ts +2 -0
- package/dist/src/types/Commons/font-family.type.cjs +1 -0
- package/dist/src/types/Commons/font-family.type.d.ts +5 -0
- package/dist/src/types/Commons/font-family.type.js +0 -0
- package/dist/src/types/Commons/font-size.type.cjs +1 -0
- package/dist/src/types/Commons/font-size.type.d.ts +6 -0
- package/dist/src/types/Commons/font-size.type.js +0 -0
- package/dist/src/types/Commons/font-weight.type.cjs +1 -0
- package/dist/src/types/Commons/font-weight.type.d.ts +5 -0
- package/dist/src/types/Commons/font-weight.type.js +0 -0
- package/dist/src/types/Commons/letter-spacing.type.cjs +1 -0
- package/dist/src/types/Commons/letter-spacing.type.d.ts +5 -0
- package/dist/src/types/Commons/letter-spacing.type.js +0 -0
- package/dist/src/types/Commons/line-height.type.cjs +1 -0
- package/dist/src/types/Commons/line-height.type.d.ts +5 -0
- package/dist/src/types/Commons/line-height.type.js +0 -0
- package/dist/src/types/Commons/mode.type.d.ts +1 -1
- package/dist/src/types/Theme/installed-theme.type.cjs +1 -0
- package/dist/src/types/Theme/installed-theme.type.d.ts +31 -0
- package/dist/src/types/Theme/installed-theme.type.js +0 -0
- package/dist/src/types/Theme/semantic-tree.type.cjs +1 -0
- package/dist/src/types/Theme/semantic-tree.type.d.ts +48 -0
- package/dist/src/types/Theme/semantic-tree.type.js +0 -0
- package/dist/src/types/Theme/theme.type.d.ts +27 -6
- package/dist/src/types/Theme/token-tree.type.cjs +1 -0
- package/dist/src/types/Theme/token-tree.type.d.ts +10 -0
- package/dist/src/types/Theme/token-tree.type.js +0 -0
- package/dist/src/types/index.cjs +88 -0
- package/dist/src/types/index.d.ts +8 -0
- package/dist/src/types/index.js +8 -0
- package/dist/src/types/tokens.type.d.ts +1 -1
- package/dist/src/utils/Bracket/bracket-surface.util.cjs +106 -0
- package/dist/src/utils/Bracket/bracket-surface.util.d.ts +47 -0
- package/dist/src/utils/Bracket/bracket-surface.util.js +88 -0
- package/dist/src/utils/Commons/border.util.d.ts +1 -1
- package/dist/src/utils/Commons/color.util.cjs +4 -2
- package/dist/src/utils/Commons/color.util.js +4 -2
- package/dist/src/utils/Commons/commons.util.cjs +3 -2
- package/dist/src/utils/Commons/commons.util.d.ts +1 -1
- package/dist/src/utils/Commons/commons.util.js +3 -2
- package/dist/src/utils/Commons/date.util.d.ts +1 -1
- package/dist/src/utils/Commons/dom.util.d.ts +1 -1
- package/dist/src/utils/Commons/elevation.util.cjs +1 -1
- package/dist/src/utils/Commons/elevation.util.js +1 -1
- package/dist/src/utils/Commons/forwardRefs.util.cjs +1 -1
- package/dist/src/utils/Commons/forwardRefs.util.js +1 -1
- package/dist/src/utils/Commons/gradient.util.cjs +3 -3
- package/dist/src/utils/Commons/gradient.util.js +1 -1
- package/dist/src/utils/Commons/hover.util.cjs +5 -1
- package/dist/src/utils/Commons/hover.util.js +5 -1
- package/dist/src/utils/Commons/margin.util.d.ts +1 -1
- package/dist/src/utils/Commons/padding.util.d.ts +1 -1
- package/dist/src/utils/Commons/ripple.util.cjs +1 -2
- package/dist/src/utils/Commons/ripple.util.js +2 -3
- package/dist/src/utils/Commons/rounded.util.cjs +5 -0
- package/dist/src/utils/Commons/rounded.util.d.ts +10 -1
- package/dist/src/utils/Commons/rounded.util.js +4 -0
- package/dist/src/utils/DataTable/headers.util.cjs +1 -1
- package/dist/src/utils/DataTable/headers.util.js +1 -1
- package/dist/src/utils/DataTable/sort.util.cjs +2 -2
- package/dist/src/utils/DataTable/sort.util.js +2 -2
- package/dist/src/utils/List/list-item.util.d.ts +7 -0
- package/dist/src/utils/Theme/apply-theme.util.cjs +148 -0
- package/dist/src/utils/Theme/apply-theme.util.d.ts +65 -0
- package/dist/src/utils/Theme/apply-theme.util.js +125 -0
- package/dist/src/utils/Theme/token-name.util.cjs +47 -0
- package/dist/src/utils/Theme/token-name.util.d.ts +54 -0
- package/dist/src/utils/Theme/token-name.util.js +55 -0
- package/dist/src/utils/Transition/transition.util.d.ts +1 -1
- package/dist/src/utils/index.cjs +22 -0
- package/dist/src/utils/index.d.ts +2 -0
- package/dist/src/utils/index.js +2 -0
- package/package.json +22 -63
- package/CHANGELOG.md +0 -807
- package/README.md +0 -275
- package/dist/src/App.vue +0 -25
- package/dist/src/main.cjs +0 -7
- package/dist/src/main.d.ts +0 -1
- package/dist/src/main.js +0 -4
- /package/dist/src/components/{QRCode → QrCode}/index.cjs +0 -0
- /package/dist/src/components/{QRCode → QrCode}/index.js +0 -0
- /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="
|
|
7
|
-
:aria-live="
|
|
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 =
|
|
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
|
-
|
|
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
|
|
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 || !
|
|
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
|
-
|
|
179
|
+
visible.value = currentScroll.value > scrollThreshold.value;
|
|
175
180
|
} else {
|
|
176
|
-
|
|
181
|
+
visible.value = isScrollingUp.value || currentScroll.value < scrollThreshold.value;
|
|
177
182
|
}
|
|
178
183
|
} else {
|
|
179
|
-
|
|
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:
|
|
206
|
-
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
|
-
|
|
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,
|
|
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:
|
|
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
|
-
|
|
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
|
|
140
|
+
const forwardState = (state, isOn) => {
|
|
141
|
+
return state && typeof state === "object" ? { ...state, enabled: isOn } : isOn;
|
|
142
|
+
};
|
|
136
143
|
const avatarProps = (item = {}) => {
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
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,
|