@dvcol/neo-svelte 1.1.2 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +90 -0
- package/README.md +15 -7
- package/dist/badge/neo-badge.model.d.ts +1 -1
- package/dist/buttons/NeoArrowButton.svelte +4 -4
- package/dist/buttons/NeoButton.svelte +110 -24
- package/dist/buttons/NeoButtonGroup.svelte +18 -9
- package/dist/buttons/NeoButtonGroup.svelte.d.ts +1 -1
- package/dist/buttons/NeoButtonRow.svelte +137 -0
- package/dist/buttons/NeoButtonRow.svelte.d.ts +4 -0
- package/dist/buttons/NeoCancelButton.svelte +2 -2
- package/dist/buttons/NeoCheckboxButton.svelte +6 -4
- package/dist/buttons/NeoCheckboxButton.svelte.d.ts +1 -1
- package/dist/buttons/NeoCloseButton.svelte +37 -6
- package/dist/buttons/NeoCloseButton.svelte.d.ts +2 -2
- package/dist/buttons/NeoRadioButton.svelte +6 -4
- package/dist/buttons/NeoSwitchButton.svelte +5 -3
- package/dist/buttons/index.d.ts +2 -0
- package/dist/buttons/index.js +1 -0
- package/dist/buttons/neo-arrow-button.model.d.ts +3 -3
- package/dist/buttons/neo-button-group.model.d.ts +12 -3
- package/dist/buttons/neo-button-row.model.d.ts +33 -0
- package/dist/buttons/neo-button-row.model.js +1 -0
- package/dist/buttons/neo-button.model.d.ts +11 -4
- package/dist/buttons/neo-close-button.model.d.ts +13 -0
- package/dist/buttons/neo-close-button.model.js +5 -0
- package/dist/buttons/neo-icon-button.model.d.ts +2 -2
- package/dist/cards/NeoCard.svelte +22 -20
- package/dist/cards/neo-card.model.d.ts +3 -2
- package/dist/collapse/NeoAccordion.svelte +3 -1
- package/dist/collapse/NeoCollapse.svelte +2 -2
- package/dist/collapse/NeoCollapse.svelte.d.ts +3 -1
- package/dist/collapse/neo-accordion.model.d.ts +2 -1
- package/dist/containers/NeoTransitionContainer.svelte +10 -0
- package/dist/containers/neo-transition-container.model.d.ts +9 -0
- package/dist/cursor/NeoCursor.svelte.d.ts +1 -1
- package/dist/divider/NeoDivider.svelte +4 -2
- package/dist/divider/neo-divider.model.d.ts +2 -1
- package/dist/floating/common/NeoConfirm.svelte +5 -5
- package/dist/floating/common/NeoConfirm.svelte.d.ts +1 -1
- package/dist/floating/common/NeoFloatingStepper.svelte +1 -1
- package/dist/floating/common/NeoFloatingStepper.svelte.d.ts +1 -1
- package/dist/floating/common/NeoHandle.svelte +2 -1
- package/dist/floating/common/neo-confirm.model.d.ts +2 -1
- package/dist/floating/common/neo-floating-stepper.model.d.ts +1 -1
- package/dist/floating/common/neo-placement.model.d.ts +56 -4
- package/dist/floating/common/neo-placement.model.js +22 -0
- package/dist/floating/dialog/NeoDialog.svelte +23 -21
- package/dist/floating/dialog/NeoDialog.svelte.d.ts +1 -1
- package/dist/floating/dialog/NeoDialogConfirm.svelte.d.ts +1 -1
- package/dist/floating/dialog/NeoDialogStepper.svelte.d.ts +1 -1
- package/dist/floating/dialog/neo-dialog-confirm.model.d.ts +5 -5
- package/dist/floating/dialog/neo-dialog-stepper.model.d.ts +4 -4
- package/dist/floating/dialog/neo-dialog.model.d.ts +2 -1
- package/dist/floating/dialog/use-movable.svelte.js +2 -1
- package/dist/floating/drawer/NeoDrawer.svelte +9 -9
- package/dist/floating/drawer/NeoDrawer.svelte.d.ts +2 -2
- package/dist/floating/drawer/NeoDrawerConfirm.svelte +2 -4
- package/dist/floating/drawer/NeoDrawerConfirm.svelte.d.ts +2 -2
- package/dist/floating/drawer/NeoDrawerStepper.svelte +2 -4
- package/dist/floating/drawer/NeoDrawerStepper.svelte.d.ts +2 -2
- package/dist/floating/drawer/neo-drawer.model.d.ts +6 -0
- package/dist/floating/drawer/neo-drawer.model.js +1 -0
- package/dist/floating/index.d.ts +1 -0
- package/dist/floating/index.js +1 -0
- package/dist/floating/menu/NeoMenu.svelte +55 -17
- package/dist/floating/menu/NeoMenu.svelte.d.ts +1 -1
- package/dist/floating/menu/NeoMenuList.svelte +60 -67
- package/dist/floating/menu/NeoMenuListItem.svelte +157 -24
- package/dist/floating/menu/NeoMenuListItem.svelte.d.ts +1 -0
- package/dist/floating/menu/index.d.ts +1 -0
- package/dist/floating/menu/neo-menu-list-item.model.d.ts +48 -11
- package/dist/floating/menu/neo-menu-list.model.d.ts +24 -4
- package/dist/floating/menu/neo-menu.model.d.ts +3 -3
- package/dist/floating/notification/NeoNotificationItem.svelte +459 -0
- package/dist/floating/notification/NeoNotificationItem.svelte.d.ts +4 -0
- package/dist/floating/notification/NeoNotificationProvider.svelte +49 -0
- package/dist/floating/notification/NeoNotificationProvider.svelte.d.ts +4 -0
- package/dist/floating/notification/NeoNotificationStack.svelte +345 -0
- package/dist/floating/notification/NeoNotificationStack.svelte.d.ts +16 -0
- package/dist/floating/notification/NeoSimpleNotification.svelte +304 -0
- package/dist/floating/notification/NeoSimpleNotification.svelte.d.ts +4 -0
- package/dist/floating/notification/index.d.ts +8 -0
- package/dist/floating/notification/index.js +7 -0
- package/dist/floating/notification/neo-notification-item.model.d.ts +54 -0
- package/dist/floating/notification/neo-notification-item.model.js +1 -0
- package/dist/floating/notification/neo-notification-provider.model.d.ts +78 -0
- package/dist/floating/notification/neo-notification-provider.model.js +18 -0
- package/dist/floating/notification/neo-notification-stack.model.d.ts +48 -0
- package/dist/floating/notification/neo-notification-stack.model.js +1 -0
- package/dist/floating/notification/neo-notification.model.d.ts +271 -0
- package/dist/floating/notification/neo-notification.model.js +70 -0
- package/dist/floating/notification/neo-simple-notification.model.d.ts +14 -0
- package/dist/floating/notification/neo-simple-notification.model.js +1 -0
- package/dist/floating/portal/NeoPortal.svelte +11 -8
- package/dist/floating/portal/NeoPortalTarget.svelte +7 -0
- package/dist/floating/portal/NeoPortalTarget.svelte.d.ts +7 -0
- package/dist/floating/portal/neo-portal-context.svelte.d.ts +1 -1
- package/dist/floating/portal/neo-portal.model.d.ts +4 -5
- package/dist/floating/tooltips/NeoPopConfirm.svelte +2 -0
- package/dist/floating/tooltips/NeoPopConfirm.svelte.d.ts +1 -1
- package/dist/floating/tooltips/NeoPopSelect.svelte +5 -3
- package/dist/floating/tooltips/NeoPopSelect.svelte.d.ts +1 -1
- package/dist/floating/tooltips/NeoPopStepper.svelte +2 -0
- package/dist/floating/tooltips/NeoPopStepper.svelte.d.ts +1 -1
- package/dist/floating/tooltips/NeoTooltip.svelte +43 -23
- package/dist/floating/tooltips/NeoTooltip.svelte.d.ts +5 -1
- package/dist/floating/tooltips/neo-pop-confirm.model.d.ts +1 -1
- package/dist/floating/tooltips/neo-pop-select.model.d.ts +1 -3
- package/dist/floating/tooltips/neo-pop-stepper.model.d.ts +2 -2
- package/dist/floating/tooltips/neo-tooltip.model.d.ts +7 -2
- package/dist/form/NeoForm.svelte +1 -1
- package/dist/form/NeoForm.svelte.d.ts +3 -1
- package/dist/form/neo-form-context.svelte.d.ts +2 -0
- package/dist/icons/{IconAccount.svelte → NeoIconAccount.svelte} +2 -2
- package/dist/icons/NeoIconAccount.svelte.d.ts +4 -0
- package/dist/icons/{IconAdd.svelte → NeoIconAdd.svelte} +11 -6
- package/dist/icons/NeoIconAdd.svelte.d.ts +4 -0
- package/dist/icons/{IconAddress.svelte → NeoIconAddress.svelte} +2 -2
- package/dist/icons/NeoIconAddress.svelte.d.ts +4 -0
- package/dist/icons/{IconAlert.svelte → NeoIconAlert.svelte} +11 -6
- package/dist/icons/NeoIconAlert.svelte.d.ts +4 -0
- package/dist/icons/{IconAlignBottom.svelte → NeoIconAlignBottom.svelte} +11 -6
- package/dist/icons/NeoIconAlignBottom.svelte.d.ts +4 -0
- package/dist/icons/{IconAlignMiddle.svelte → NeoIconAlignMiddle.svelte} +11 -6
- package/dist/icons/NeoIconAlignMiddle.svelte.d.ts +4 -0
- package/dist/icons/{IconAlignTop.svelte → NeoIconAlignTop.svelte} +11 -6
- package/dist/icons/NeoIconAlignTop.svelte.d.ts +4 -0
- package/dist/icons/{IconArrow.svelte → NeoIconArrow.svelte} +9 -9
- package/dist/icons/NeoIconArrow.svelte.d.ts +4 -0
- package/dist/icons/NeoIconAudio.svelte +83 -0
- package/dist/icons/NeoIconAudio.svelte.d.ts +4 -0
- package/dist/icons/NeoIconBouncingDots.svelte +82 -0
- package/dist/icons/NeoIconBouncingDots.svelte.d.ts +4 -0
- package/dist/icons/{IconCalendar.svelte → NeoIconCalendar.svelte} +11 -6
- package/dist/icons/NeoIconCalendar.svelte.d.ts +4 -0
- package/dist/icons/{IconCancel.svelte → NeoIconCancel.svelte} +2 -2
- package/dist/icons/NeoIconCancel.svelte.d.ts +4 -0
- package/dist/icons/{IconCheckbox.svelte → NeoIconCheckbox.svelte} +2 -2
- package/dist/icons/NeoIconCheckbox.svelte.d.ts +4 -0
- package/dist/icons/NeoIconCircle.svelte +18 -0
- package/dist/icons/NeoIconCircle.svelte.d.ts +4 -0
- package/dist/icons/{IconCircleLoading.svelte → NeoIconCircleLoading.svelte} +2 -2
- package/dist/icons/{IconCircleLoading.svelte.d.ts → NeoIconCircleLoading.svelte.d.ts} +55 -39
- package/dist/icons/{IconClear.svelte → NeoIconClear.svelte} +11 -6
- package/dist/icons/NeoIconClear.svelte.d.ts +4 -0
- package/dist/icons/{IconClose.svelte → NeoIconClose.svelte} +2 -2
- package/dist/icons/NeoIconClose.svelte.d.ts +4 -0
- package/dist/icons/NeoIconCog.svelte +36 -0
- package/dist/icons/NeoIconCog.svelte.d.ts +4 -0
- package/dist/icons/{IconConfirm.svelte → NeoIconConfirm.svelte} +11 -6
- package/dist/icons/NeoIconConfirm.svelte.d.ts +4 -0
- package/dist/icons/NeoIconCube.svelte +31 -0
- package/dist/icons/NeoIconCube.svelte.d.ts +4 -0
- package/dist/icons/{IconDoubleChevron.svelte → NeoIconDoubleChevron.svelte} +11 -5
- package/dist/icons/NeoIconDoubleChevron.svelte.d.ts +4 -0
- package/dist/icons/{IconDoubleChevronLeft.svelte → NeoIconDoubleChevronLeft.svelte} +11 -6
- package/dist/icons/NeoIconDoubleChevronLeft.svelte.d.ts +4 -0
- package/dist/icons/{IconDoubleChevronRight.svelte → NeoIconDoubleChevronRight.svelte} +11 -6
- package/dist/icons/NeoIconDoubleChevronRight.svelte.d.ts +4 -0
- package/dist/icons/{IconDownload.svelte → NeoIconDownload.svelte} +11 -6
- package/dist/icons/NeoIconDownload.svelte.d.ts +4 -0
- package/dist/icons/NeoIconEmpty.svelte +26 -0
- package/dist/icons/NeoIconEmpty.svelte.d.ts +4 -0
- package/dist/icons/NeoIconError.svelte +30 -0
- package/dist/icons/NeoIconError.svelte.d.ts +4 -0
- package/dist/icons/{IconFileUpload.svelte → NeoIconFileUpload.svelte} +11 -6
- package/dist/icons/NeoIconFileUpload.svelte.d.ts +4 -0
- package/dist/icons/NeoIconFire.svelte +33 -0
- package/dist/icons/NeoIconFire.svelte.d.ts +4 -0
- package/dist/icons/{IconGithub.svelte → NeoIconGithub.svelte} +11 -6
- package/dist/icons/NeoIconGithub.svelte.d.ts +4 -0
- package/dist/icons/NeoIconImage.svelte +39 -0
- package/dist/icons/NeoIconImage.svelte.d.ts +4 -0
- package/dist/icons/NeoIconInfo.svelte +30 -0
- package/dist/icons/NeoIconInfo.svelte.d.ts +4 -0
- package/dist/icons/{IconList.svelte → NeoIconList.svelte} +11 -6
- package/dist/icons/NeoIconList.svelte.d.ts +4 -0
- package/dist/icons/{IconListSmall.svelte → NeoIconListSmall.svelte} +2 -2
- package/dist/icons/NeoIconListSmall.svelte.d.ts +4 -0
- package/dist/icons/{IconLoadingMatrix.svelte → NeoIconLoadingMatrix.svelte} +2 -2
- package/dist/icons/NeoIconLoadingMatrix.svelte.d.ts +4 -0
- package/dist/icons/{IconMail.svelte → NeoIconMail.svelte} +11 -6
- package/dist/icons/NeoIconMail.svelte.d.ts +4 -0
- package/dist/icons/{IconMinus.svelte → NeoIconMinus.svelte} +11 -6
- package/dist/icons/NeoIconMinus.svelte.d.ts +4 -0
- package/dist/icons/{IconPaint.svelte → NeoIconPaint.svelte} +11 -6
- package/dist/icons/NeoIconPaint.svelte.d.ts +4 -0
- package/dist/icons/{IconPencil.svelte → NeoIconPencil.svelte} +11 -6
- package/dist/icons/NeoIconPencil.svelte.d.ts +4 -0
- package/dist/icons/{IconPlayPause.svelte → NeoIconPlayPause.svelte} +2 -2
- package/dist/icons/NeoIconPlayPause.svelte.d.ts +4 -0
- package/dist/icons/{IconQuestionMark.svelte → NeoIconQuestionMark.svelte} +11 -6
- package/dist/icons/NeoIconQuestionMark.svelte.d.ts +4 -0
- package/dist/icons/{IconRadio.svelte → NeoIconRadio.svelte} +2 -2
- package/dist/icons/NeoIconRadio.svelte.d.ts +4 -0
- package/dist/icons/NeoIconRefresh.svelte +38 -0
- package/dist/icons/NeoIconRefresh.svelte.d.ts +4 -0
- package/dist/icons/NeoIconRestore.svelte +20 -0
- package/dist/icons/NeoIconRestore.svelte.d.ts +4 -0
- package/dist/icons/NeoIconSave.svelte +35 -0
- package/dist/icons/NeoIconSave.svelte.d.ts +4 -0
- package/dist/icons/NeoIconSaveOff.svelte +42 -0
- package/dist/icons/NeoIconSaveOff.svelte.d.ts +4 -0
- package/dist/icons/{IconSearch.svelte → NeoIconSearch.svelte} +11 -6
- package/dist/icons/NeoIconSearch.svelte.d.ts +4 -0
- package/dist/icons/NeoIconSuccess.svelte +26 -0
- package/dist/icons/NeoIconSuccess.svelte.d.ts +4 -0
- package/dist/icons/{IconSun.svelte → NeoIconSun.svelte} +11 -6
- package/dist/icons/NeoIconSun.svelte.d.ts +4 -0
- package/dist/icons/{IconSunMoon.svelte → NeoIconSunMoon.svelte} +11 -64
- package/dist/icons/NeoIconSunMoon.svelte.d.ts +4 -0
- package/dist/icons/{IconTextHighlight.svelte → NeoIconTextHighlight.svelte} +11 -6
- package/dist/icons/NeoIconTextHighlight.svelte.d.ts +4 -0
- package/dist/icons/NeoIconTheme.svelte +14 -0
- package/dist/icons/NeoIconTheme.svelte.d.ts +3 -0
- package/dist/icons/NeoIconTrend.svelte +39 -0
- package/dist/icons/NeoIconTrend.svelte.d.ts +4 -0
- package/dist/icons/NeoIconUnplug.svelte +63 -0
- package/dist/icons/NeoIconUnplug.svelte.d.ts +4 -0
- package/dist/icons/{IconVideo.svelte → NeoIconVideo.svelte} +11 -6
- package/dist/icons/NeoIconVideo.svelte.d.ts +4 -0
- package/dist/icons/NeoIconWarning.svelte +30 -0
- package/dist/icons/NeoIconWarning.svelte.d.ts +4 -0
- package/dist/icons/NeoIconWatch.svelte +41 -0
- package/dist/icons/NeoIconWatch.svelte.d.ts +4 -0
- package/dist/icons/NeoIconWatchOff.svelte +50 -0
- package/dist/icons/NeoIconWatchOff.svelte.d.ts +4 -0
- package/dist/icons/NeoIconWave.svelte +31 -0
- package/dist/icons/NeoIconWave.svelte.d.ts +4 -0
- package/dist/icons/index.d.ts +54 -0
- package/dist/icons/index.js +54 -0
- package/dist/icons/{icon.model.d.ts → neo-icon.model.d.ts} +41 -13
- package/dist/icons/{icon.model.js → neo-icon.model.js} +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.js +2 -0
- package/dist/inputs/NeoCheckbox.svelte +6 -4
- package/dist/inputs/NeoCheckbox.svelte.d.ts +1 -1
- package/dist/inputs/NeoColorPicker.svelte +6 -3
- package/dist/inputs/NeoColorPicker.svelte.d.ts +1 -1
- package/dist/inputs/NeoColorPickerSelector.svelte +2 -2
- package/dist/inputs/NeoColorPickerSelector.svelte.d.ts +1 -1
- package/dist/inputs/NeoDateTime.svelte +6 -3
- package/dist/inputs/NeoDateTime.svelte.d.ts +1 -1
- package/dist/inputs/NeoFilePicker.svelte +11 -6
- package/dist/inputs/NeoFilePicker.svelte.d.ts +1 -1
- package/dist/inputs/NeoFilePickerCard.svelte +20 -14
- package/dist/inputs/NeoNativeSelect.svelte +6 -3
- package/dist/inputs/NeoNativeSelect.svelte.d.ts +1 -1
- package/dist/inputs/NeoNumberStep.svelte +13 -8
- package/dist/inputs/NeoNumberStep.svelte.d.ts +1 -1
- package/dist/inputs/NeoPassword.svelte +4 -4
- package/dist/inputs/NeoPassword.svelte.d.ts +1 -1
- package/dist/inputs/NeoPin.svelte +10 -10
- package/dist/inputs/NeoPin.svelte.d.ts +10 -1
- package/dist/inputs/NeoRadio.svelte +3 -3
- package/dist/inputs/NeoRadio.svelte.d.ts +1 -1
- package/dist/inputs/NeoRange.svelte +29 -27
- package/dist/inputs/NeoRange.svelte.d.ts +5 -2
- package/dist/inputs/NeoSelect.svelte +17 -8
- package/dist/inputs/NeoSelect.svelte.d.ts +1 -1
- package/dist/inputs/NeoSwitch.svelte +2 -2
- package/dist/inputs/NeoSwitch.svelte.d.ts +1 -1
- package/dist/inputs/common/NeoAffix.svelte +10 -10
- package/dist/inputs/common/NeoBaseInput.svelte +16 -2
- package/dist/inputs/common/NeoBaseInput.svelte.d.ts +1 -1
- package/dist/inputs/common/NeoInput.svelte +12 -4
- package/dist/inputs/common/NeoInput.svelte.d.ts +1 -1
- package/dist/inputs/common/NeoTextarea.svelte +18 -6
- package/dist/inputs/common/NeoTextarea.svelte.d.ts +2 -1
- package/dist/inputs/common/NeoValidation.svelte +6 -4
- package/dist/inputs/common/neo-input.model.d.ts +8 -1
- package/dist/inputs/common/neo-validation.model.d.ts +2 -1
- package/dist/inputs/neo-range.model.d.ts +2 -1
- package/dist/inputs/neo-select.model.d.ts +8 -4
- package/dist/list/NeoList.svelte +100 -62
- package/dist/list/NeoList.svelte.d.ts +5 -2
- package/dist/list/NeoListBaseItem.svelte +222 -92
- package/dist/list/NeoListBaseItem.svelte.d.ts +1 -1
- package/dist/list/NeoListBaseLoader.svelte +28 -4
- package/dist/list/NeoListBaseSection.svelte +18 -15
- package/dist/list/NeoListSearch.svelte +36 -20
- package/dist/list/NeoListSearch.svelte.d.ts +1 -1
- package/dist/list/NeoSimpleList.svelte +391 -0
- package/dist/list/NeoSimpleList.svelte.d.ts +8 -0
- package/dist/list/NeoVirtualList.svelte +388 -0
- package/dist/list/NeoVirtualList.svelte.d.ts +22 -0
- package/dist/list/index.d.ts +4 -0
- package/dist/list/index.js +2 -0
- package/dist/list/neo-list-base-item.model.d.ts +36 -7
- package/dist/list/neo-list-base-item.model.js +1 -0
- package/dist/list/neo-list-base-loader.model.d.ts +18 -1
- package/dist/list/neo-list-base-section.model.d.ts +8 -5
- package/dist/list/neo-list-search.model.d.ts +2 -2
- package/dist/list/neo-list.model.d.ts +120 -51
- package/dist/list/neo-list.model.js +18 -0
- package/dist/list/neo-simple-list.model.d.ts +124 -0
- package/dist/list/neo-simple-list.model.js +1 -0
- package/dist/list/neo-virtual-list.model.d.ts +69 -0
- package/dist/list/neo-virtual-list.model.js +6 -0
- package/dist/loading/NeoLoadingMatrix.svelte +2 -2
- package/dist/loading/neo-lazy.model.d.ts +2 -2
- package/dist/loading/neo-suspense.model.d.ts +1 -1
- package/dist/media/NeoImage.svelte +204 -0
- package/dist/media/NeoImage.svelte.d.ts +4 -0
- package/dist/media/NeoMedia.svelte +204 -0
- package/dist/media/NeoMedia.svelte.d.ts +4 -0
- package/dist/media/index.d.ts +2 -0
- package/dist/media/index.js +1 -0
- package/dist/media/neo-image.model.d.ts +67 -0
- package/dist/media/neo-image.model.js +1 -0
- package/dist/media/neo-media.model.d.ts +120 -0
- package/dist/media/neo-media.model.js +5 -0
- package/dist/nav/NeoTab.svelte +20 -15
- package/dist/nav/NeoTab.svelte.d.ts +17 -2
- package/dist/nav/NeoTabPanel.svelte +7 -5
- package/dist/nav/NeoTabPanel.svelte.d.ts +17 -2
- package/dist/nav/NeoTabs.svelte +21 -17
- package/dist/nav/NeoTabs.svelte.d.ts +19 -3
- package/dist/nav/NeoTabsCard.svelte +5 -3
- package/dist/nav/NeoTabsCard.svelte.d.ts +17 -2
- package/dist/nav/NeoTabsRow.svelte +225 -0
- package/dist/nav/NeoTabsRow.svelte.d.ts +19 -0
- package/dist/nav/index.d.ts +2 -0
- package/dist/nav/index.js +1 -0
- package/dist/nav/neo-tab-panel.model.d.ts +3 -3
- package/dist/nav/neo-tab.model.d.ts +15 -5
- package/dist/nav/neo-tabs-card.model.d.ts +3 -2
- package/dist/nav/neo-tabs-context.svelte.d.ts +35 -29
- package/dist/nav/neo-tabs-context.svelte.js +17 -3
- package/dist/nav/neo-tabs-row.model.d.ts +85 -0
- package/dist/nav/neo-tabs-row.model.js +1 -0
- package/dist/nav/neo-tabs.model.d.ts +12 -11
- package/dist/pill/NeoPill.svelte +73 -14
- package/dist/pill/neo-pill.model.d.ts +25 -1
- package/dist/progress/NeoProgress.svelte +203 -42
- package/dist/progress/NeoProgress.svelte.d.ts +8 -8
- package/dist/progress/NeoProgressBar.svelte +37 -6
- package/dist/progress/NeoProgressBar.svelte.d.ts +9 -1
- package/dist/progress/index.d.ts +1 -0
- package/dist/progress/index.js +1 -0
- package/dist/progress/neo-progress-bar.model.d.ts +11 -6
- package/dist/progress/neo-progress-service.svelte.d.ts +47 -0
- package/dist/progress/neo-progress-service.svelte.js +157 -0
- package/dist/progress/neo-progress.model.d.ts +98 -41
- package/dist/progress/neo-progress.model.js +6 -1
- package/dist/providers/NeoRememberSelector.svelte +43 -0
- package/dist/providers/NeoRememberSelector.svelte.d.ts +4 -0
- package/dist/providers/NeoResetSelector.svelte +40 -0
- package/dist/providers/NeoResetSelector.svelte.d.ts +4 -0
- package/dist/providers/NeoSourceSelector.svelte +63 -0
- package/dist/providers/NeoSourceSelector.svelte.d.ts +4 -0
- package/dist/providers/NeoThemeProvider.svelte +25 -10
- package/dist/providers/NeoThemeProvider.svelte.d.ts +1 -2
- package/dist/providers/NeoThemeSelector.svelte +26 -108
- package/dist/providers/NeoThemeSelector.svelte.d.ts +1 -1
- package/dist/providers/NeoThemeSelectors.svelte +57 -0
- package/dist/providers/NeoThemeSelectors.svelte.d.ts +4 -0
- package/dist/providers/NeoTransitionSelector.svelte +57 -0
- package/dist/providers/NeoTransitionSelector.svelte.d.ts +4 -0
- package/dist/providers/index.d.ts +10 -0
- package/dist/providers/index.js +5 -0
- package/dist/providers/neo-remember-selector.model.d.ts +9 -0
- package/dist/providers/neo-remember-selector.model.js +2 -0
- package/dist/providers/neo-reset-selector.model.d.ts +9 -0
- package/dist/providers/neo-reset-selector.model.js +1 -0
- package/dist/providers/neo-source-selector.model.d.ts +9 -0
- package/dist/providers/neo-source-selector.model.js +2 -0
- package/dist/providers/neo-theme-provider-context.svelte.d.ts +14 -3
- package/dist/providers/neo-theme-provider-context.svelte.js +94 -11
- package/dist/providers/neo-theme-provider.model.d.ts +31 -3
- package/dist/providers/neo-theme-provider.model.js +9 -0
- package/dist/providers/neo-theme-selector.model.d.ts +3 -48
- package/dist/providers/neo-theme-selector.model.js +1 -0
- package/dist/providers/neo-theme-selectors.model.d.ts +84 -0
- package/dist/providers/neo-theme-selectors.model.js +1 -0
- package/dist/providers/neo-transition-selector.model.d.ts +9 -0
- package/dist/providers/neo-transition-selector.model.js +2 -0
- package/dist/skeletons/NeoSkeletonContainer.svelte +3 -1
- package/dist/skeletons/NeoSkeletonMedia.svelte +26 -18
- package/dist/skeletons/NeoSkeletonText.svelte +5 -3
- package/dist/skeletons/neo-skeleton-container.model.d.ts +9 -0
- package/dist/skeletons/neo-skeleton-media.model.d.ts +20 -10
- package/dist/skeletons/neo-skeleton-media.model.js +7 -1
- package/dist/skeletons/neo-skeleton-text.model.d.ts +5 -0
- package/dist/stepper/NeoStepper.svelte +20 -20
- package/dist/stepper/NeoStepper.svelte.d.ts +9 -2
- package/dist/stepper/neo-stepper.model.d.ts +5 -5
- package/dist/styles/animation.scss +76 -0
- package/dist/styles/common/colors.scss +15 -9
- package/dist/styles/common/properties.css +18 -0
- package/dist/styles/common/spacing.scss +8 -4
- package/dist/styles/common/typography.scss +13 -3
- package/dist/styles/common/utils.scss +2 -2
- package/dist/styles/mixin.scss +125 -11
- package/dist/styles/theme.scss +20 -0
- package/dist/styles/transition.scss +101 -0
- package/dist/text/NeoEllipsis.svelte +1 -0
- package/dist/text/NeoHtml.svelte +26 -0
- package/dist/text/NeoHtml.svelte.d.ts +7 -0
- package/dist/text/NeoMark.svelte +18 -5
- package/dist/text/NeoTypewriter.svelte +5 -4
- package/dist/text/NeoTypewriter.svelte.d.ts +5 -1
- package/dist/text/index.d.ts +2 -0
- package/dist/text/index.js +1 -0
- package/dist/text/neo-html.model.d.ts +4 -0
- package/dist/text/neo-html.model.js +1 -0
- package/dist/text/neo-mark.model.d.ts +8 -0
- package/dist/text/typewriter.utils.d.ts +2 -2
- package/dist/text/typewriter.utils.js +8 -9
- package/dist/utils/action.utils.d.ts +1 -21
- package/dist/utils/border.utils.d.ts +13 -0
- package/dist/utils/border.utils.js +18 -0
- package/dist/utils/colors.utils.d.ts +1 -1
- package/dist/utils/error.utils.d.ts +22 -0
- package/dist/utils/error.utils.js +36 -0
- package/dist/utils/style.utils.d.ts +1 -1
- package/package.json +55 -39
- package/dist/icons/IconAccount.svelte.d.ts +0 -4
- package/dist/icons/IconAdd.svelte.d.ts +0 -26
- package/dist/icons/IconAddress.svelte.d.ts +0 -4
- package/dist/icons/IconAlert.svelte.d.ts +0 -26
- package/dist/icons/IconAlignBottom.svelte.d.ts +0 -26
- package/dist/icons/IconAlignMiddle.svelte.d.ts +0 -26
- package/dist/icons/IconAlignTop.svelte.d.ts +0 -26
- package/dist/icons/IconArrow.svelte.d.ts +0 -4
- package/dist/icons/IconBouncingDots.svelte +0 -63
- package/dist/icons/IconBouncingDots.svelte.d.ts +0 -4
- package/dist/icons/IconCalendar.svelte.d.ts +0 -26
- package/dist/icons/IconCancel.svelte.d.ts +0 -4
- package/dist/icons/IconCheckbox.svelte.d.ts +0 -4
- package/dist/icons/IconClear.svelte.d.ts +0 -26
- package/dist/icons/IconClose.svelte.d.ts +0 -4
- package/dist/icons/IconConfirm.svelte.d.ts +0 -26
- package/dist/icons/IconDoubleChevron.svelte.d.ts +0 -26
- package/dist/icons/IconDoubleChevronLeft.svelte.d.ts +0 -26
- package/dist/icons/IconDoubleChevronRight.svelte.d.ts +0 -26
- package/dist/icons/IconDownload.svelte.d.ts +0 -26
- package/dist/icons/IconEmpty.svelte +0 -18
- package/dist/icons/IconEmpty.svelte.d.ts +0 -26
- package/dist/icons/IconFileUpload.svelte.d.ts +0 -26
- package/dist/icons/IconGithub.svelte.d.ts +0 -26
- package/dist/icons/IconImage.svelte +0 -26
- package/dist/icons/IconImage.svelte.d.ts +0 -26
- package/dist/icons/IconList.svelte.d.ts +0 -26
- package/dist/icons/IconListSmall.svelte.d.ts +0 -4
- package/dist/icons/IconLoadingMatrix.svelte.d.ts +0 -4
- package/dist/icons/IconMail.svelte.d.ts +0 -26
- package/dist/icons/IconMinus.svelte.d.ts +0 -26
- package/dist/icons/IconPaint.svelte.d.ts +0 -26
- package/dist/icons/IconPencil.svelte.d.ts +0 -26
- package/dist/icons/IconPlayPause.svelte.d.ts +0 -4
- package/dist/icons/IconQuestionMark.svelte.d.ts +0 -26
- package/dist/icons/IconRadio.svelte.d.ts +0 -4
- package/dist/icons/IconSave.svelte +0 -25
- package/dist/icons/IconSave.svelte.d.ts +0 -26
- package/dist/icons/IconSaveOff.svelte +0 -32
- package/dist/icons/IconSaveOff.svelte.d.ts +0 -26
- package/dist/icons/IconSearch.svelte.d.ts +0 -26
- package/dist/icons/IconSun.svelte.d.ts +0 -26
- package/dist/icons/IconSunMoon.svelte.d.ts +0 -4
- package/dist/icons/IconTextHighlight.svelte.d.ts +0 -26
- package/dist/icons/IconVideo.svelte.d.ts +0 -26
- package/dist/icons/IconWatch.svelte +0 -29
- package/dist/icons/IconWatch.svelte.d.ts +0 -26
- package/dist/icons/IconWatchOff.svelte +0 -34
- package/dist/icons/IconWatchOff.svelte.d.ts +0 -26
|
@@ -1,15 +1,20 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
|
-
import type {
|
|
2
|
+
import type {
|
|
3
|
+
NeoProgressChange,
|
|
4
|
+
NeoProgressComplete,
|
|
5
|
+
NeoProgressContext,
|
|
6
|
+
NeoProgressMethods,
|
|
7
|
+
NeoProgressProps,
|
|
8
|
+
NeoProgressStart,
|
|
9
|
+
NeoProgressStatuses,
|
|
10
|
+
} from './neo-progress.model.js';
|
|
3
11
|
|
|
4
12
|
import { percent } from '@dvcol/common-utils';
|
|
5
13
|
import { clamp } from '@dvcol/common-utils/common/math';
|
|
14
|
+
import { onDestroy, onMount } from 'svelte';
|
|
6
15
|
|
|
7
|
-
import {
|
|
8
|
-
|
|
9
|
-
NeoProgressDirection,
|
|
10
|
-
|
|
11
|
-
NeoProgressStatus,
|
|
12
|
-
} from './neo-progress.model.js';
|
|
16
|
+
import { setProgressContext } from './neo-progress-service.svelte.js';
|
|
17
|
+
import { NeoProgressDirection, NeoProgressStatus } from './neo-progress.model.js';
|
|
13
18
|
import { getColorVariable } from '../utils/colors.utils.js';
|
|
14
19
|
import { toSize } from '../utils/style.utils.js';
|
|
15
20
|
|
|
@@ -31,6 +36,8 @@
|
|
|
31
36
|
step = 1,
|
|
32
37
|
tick = 500,
|
|
33
38
|
timeout,
|
|
39
|
+
autoStart,
|
|
40
|
+
autoComplete,
|
|
34
41
|
|
|
35
42
|
// Styles
|
|
36
43
|
low, // threshold for tinting
|
|
@@ -41,17 +48,25 @@
|
|
|
41
48
|
track = true,
|
|
42
49
|
color,
|
|
43
50
|
direction = NeoProgressDirection.Right,
|
|
51
|
+
immediate = $bindable(false),
|
|
44
52
|
|
|
45
53
|
// Other Props
|
|
46
54
|
...rest
|
|
47
55
|
}: NeoProgressProps = $props();
|
|
48
56
|
|
|
49
57
|
// TODO: circular progress
|
|
58
|
+
const isIndeterminate = $derived(indeterminate || status === NeoProgressStatus.Indeterminate);
|
|
50
59
|
|
|
51
60
|
const buffered = $derived((buffer ?? 0) > value ? buffer : value);
|
|
52
61
|
|
|
53
|
-
const valueProgress = $derived(
|
|
54
|
-
|
|
62
|
+
const valueProgress = $derived.by(() => {
|
|
63
|
+
if (isIndeterminate) return '100%';
|
|
64
|
+
return value ? `${percent(clamp(value, min, max), 100)}%` : '-0.125rem';
|
|
65
|
+
});
|
|
66
|
+
const bufferProgress = $derived.by(() => {
|
|
67
|
+
if (isIndeterminate) return '100%';
|
|
68
|
+
return buffered ? `${percent(clamp(buffered, min, max), 100)}%` : '-0.125rem';
|
|
69
|
+
});
|
|
55
70
|
|
|
56
71
|
const colorArray = $derived(Array.isArray(color) ? color.map(getColorVariable) : [getColorVariable(color)]);
|
|
57
72
|
const background = $derived.by(() => {
|
|
@@ -71,7 +86,23 @@
|
|
|
71
86
|
}
|
|
72
87
|
});
|
|
73
88
|
|
|
74
|
-
const controlled = $derived(status
|
|
89
|
+
const controlled = $derived(status === NeoProgressStatus.Active || status === NeoProgressStatus.Indeterminate);
|
|
90
|
+
|
|
91
|
+
/** Method to execute on the next animation iteration. */
|
|
92
|
+
let nextIteration = $state<() => void>();
|
|
93
|
+
/** Deferred function to be called on the next animation iteration. */
|
|
94
|
+
async function deferIteration<T extends () => Promise<undefined | NeoProgressStatuses>>(fn: T, defer = true) {
|
|
95
|
+
if (!defer || nextIteration) return fn();
|
|
96
|
+
const { promise, resolve } = Promise.withResolvers<undefined | NeoProgressStatuses>();
|
|
97
|
+
nextIteration = async () => resolve(await fn());
|
|
98
|
+
return promise;
|
|
99
|
+
};
|
|
100
|
+
/** Triggered when the animation iteration ends to gracefully transition the progress bar out of the indeterminate state. */
|
|
101
|
+
async function onIteration() {
|
|
102
|
+
if (!nextIteration) return;
|
|
103
|
+
await nextIteration();
|
|
104
|
+
nextIteration = undefined;
|
|
105
|
+
};
|
|
75
106
|
|
|
76
107
|
let intervalId: ReturnType<typeof setTimeout>;
|
|
77
108
|
let timeoutId: ReturnType<typeof setTimeout>;
|
|
@@ -80,49 +111,87 @@
|
|
|
80
111
|
clearTimeout(timeoutId);
|
|
81
112
|
};
|
|
82
113
|
|
|
83
|
-
export
|
|
84
|
-
if (newValue === undefined && newBuffer === undefined) return;
|
|
114
|
+
export function change({ value: newValue, buffer: newBuffer, state }: NeoProgressChange = {}): undefined | NeoProgressStatuses {
|
|
115
|
+
if (newValue === undefined && newBuffer === undefined) return status;
|
|
85
116
|
clear();
|
|
86
117
|
if (newValue !== undefined) value = newValue;
|
|
87
118
|
if (newBuffer !== undefined) buffer = newBuffer;
|
|
88
|
-
status = NeoProgressStatus.Idle;
|
|
89
|
-
|
|
119
|
+
status = state ?? (value >= (min ?? 0) ? NeoProgressStatus.Paused : NeoProgressStatus.Idle);
|
|
120
|
+
return status;
|
|
121
|
+
}
|
|
90
122
|
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
123
|
+
function deferComplete(opts: NeoProgressComplete) {
|
|
124
|
+
const _immediate = immediate;
|
|
125
|
+
immediate = true;
|
|
126
|
+
change({ value: min, buffer: min });
|
|
127
|
+
const { promise, resolve } = Promise.withResolvers<undefined | NeoProgressStatuses>();
|
|
128
|
+
setTimeout(async () => {
|
|
129
|
+
immediate = _immediate;
|
|
130
|
+
const status = await complete({ ...opts, defer: false });
|
|
131
|
+
resolve(status);
|
|
132
|
+
}, 0);
|
|
133
|
+
return promise;
|
|
134
|
+
}
|
|
95
135
|
|
|
96
|
-
export
|
|
136
|
+
export function complete({ pending = indeterminate, state, defer = true }: NeoProgressComplete = {}): undefined | NeoProgressStatuses | Promise<undefined | NeoProgressStatuses> {
|
|
137
|
+
if (status === NeoProgressStatus.Indeterminate) return deferIteration(() => deferComplete({ pending, state }), defer);
|
|
97
138
|
clear();
|
|
98
139
|
value = max ?? 100;
|
|
99
140
|
buffer = max ?? 100;
|
|
100
|
-
status = pending ? NeoProgressStatus.Indeterminate : NeoProgressStatus.Completed;
|
|
101
|
-
|
|
141
|
+
status = state ?? (pending ? NeoProgressStatus.Indeterminate : NeoProgressStatus.Completed);
|
|
142
|
+
return status;
|
|
143
|
+
}
|
|
102
144
|
|
|
103
|
-
|
|
104
|
-
|
|
145
|
+
function deferCancel() {
|
|
146
|
+
const _immediate = immediate;
|
|
147
|
+
immediate = true;
|
|
105
148
|
clear();
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
149
|
+
change({ value: min, buffer: min, state: NeoProgressStatus.Cancelled });
|
|
150
|
+
const { promise, resolve } = Promise.withResolvers<undefined | NeoProgressStatuses>();
|
|
151
|
+
setTimeout(() => {
|
|
152
|
+
immediate = _immediate;
|
|
153
|
+
resolve(status);
|
|
154
|
+
}, 0);
|
|
155
|
+
return promise;
|
|
156
|
+
}
|
|
112
157
|
|
|
113
|
-
export
|
|
158
|
+
export function cancel(defer = true): undefined | NeoProgressStatuses | Promise<undefined | NeoProgressStatuses> {
|
|
159
|
+
if (status === NeoProgressStatus.Indeterminate) return deferIteration(deferCancel, defer);
|
|
114
160
|
clear();
|
|
115
|
-
value
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
}
|
|
161
|
+
change({ value: min, buffer: min, state: NeoProgressStatus.Cancelled });
|
|
162
|
+
return status;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
function stepUp({ pending = indeterminate } = {}) {
|
|
166
|
+
if (value < max) value += step;
|
|
167
|
+
else complete({ pending });
|
|
168
|
+
}
|
|
120
169
|
|
|
121
|
-
export
|
|
170
|
+
export function start({ pending = indeterminate, expire = timeout, indeterminate: startIndeterminate, ...seed }: NeoProgressStart = {}): undefined | NeoProgressStatuses {
|
|
122
171
|
clear();
|
|
123
|
-
|
|
172
|
+
if (startIndeterminate) {
|
|
173
|
+
change({ value: min, buffer: min, state: NeoProgressStatus.Indeterminate });
|
|
174
|
+
} else {
|
|
175
|
+
change(seed);
|
|
176
|
+
status = NeoProgressStatus.Active;
|
|
177
|
+
intervalId = setInterval(stepUp, tick, { pending });
|
|
178
|
+
}
|
|
179
|
+
if (expire) timeoutId = setTimeout(complete, expire);
|
|
180
|
+
return status;
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
export function stop(): undefined | NeoProgressStatuses {
|
|
184
|
+
clear();
|
|
185
|
+
status = NeoProgressStatus.Paused;
|
|
186
|
+
return status;
|
|
124
187
|
};
|
|
125
188
|
|
|
189
|
+
export function reset(restart = status === NeoProgressStatus.Active, _start?: NeoProgressStart): undefined | NeoProgressStatuses {
|
|
190
|
+
clear();
|
|
191
|
+
if (restart) return start({ value: min, buffer: min, ..._start });
|
|
192
|
+
return change({ value: min, buffer: min });
|
|
193
|
+
}
|
|
194
|
+
|
|
126
195
|
const width = $derived(toSize(_width));
|
|
127
196
|
const height = $derived(toSize(_height));
|
|
128
197
|
|
|
@@ -141,6 +210,58 @@
|
|
|
141
210
|
|
|
142
211
|
color,
|
|
143
212
|
direction,
|
|
213
|
+
|
|
214
|
+
start,
|
|
215
|
+
stop,
|
|
216
|
+
reset,
|
|
217
|
+
cancel,
|
|
218
|
+
change,
|
|
219
|
+
complete,
|
|
220
|
+
});
|
|
221
|
+
|
|
222
|
+
setProgressContext({
|
|
223
|
+
get status() {
|
|
224
|
+
return status;
|
|
225
|
+
},
|
|
226
|
+
get value() {
|
|
227
|
+
return value;
|
|
228
|
+
},
|
|
229
|
+
get buffer() {
|
|
230
|
+
return buffer;
|
|
231
|
+
},
|
|
232
|
+
get min() {
|
|
233
|
+
return min;
|
|
234
|
+
},
|
|
235
|
+
get max() {
|
|
236
|
+
return max;
|
|
237
|
+
},
|
|
238
|
+
get indeterminate() {
|
|
239
|
+
return indeterminate;
|
|
240
|
+
},
|
|
241
|
+
|
|
242
|
+
get step() {
|
|
243
|
+
return step;
|
|
244
|
+
},
|
|
245
|
+
get tick() {
|
|
246
|
+
return tick;
|
|
247
|
+
},
|
|
248
|
+
get timeout() {
|
|
249
|
+
return timeout;
|
|
250
|
+
},
|
|
251
|
+
|
|
252
|
+
get color() {
|
|
253
|
+
return color;
|
|
254
|
+
},
|
|
255
|
+
get direction() {
|
|
256
|
+
return direction;
|
|
257
|
+
},
|
|
258
|
+
|
|
259
|
+
start,
|
|
260
|
+
stop,
|
|
261
|
+
reset,
|
|
262
|
+
cancel,
|
|
263
|
+
change,
|
|
264
|
+
complete,
|
|
144
265
|
});
|
|
145
266
|
|
|
146
267
|
$effect(() => {
|
|
@@ -152,7 +273,18 @@
|
|
|
152
273
|
cancel,
|
|
153
274
|
change,
|
|
154
275
|
complete,
|
|
155
|
-
});
|
|
276
|
+
} satisfies NeoProgressMethods);
|
|
277
|
+
});
|
|
278
|
+
|
|
279
|
+
onMount(() => {
|
|
280
|
+
if (!autoStart) return;
|
|
281
|
+
stepUp(typeof autoStart === 'boolean' ? {} : autoStart);
|
|
282
|
+
start(typeof autoStart === 'boolean' ? {} : autoStart);
|
|
283
|
+
});
|
|
284
|
+
|
|
285
|
+
onDestroy(() => {
|
|
286
|
+
if (!autoComplete) return;
|
|
287
|
+
complete(typeof autoComplete === 'boolean' ? {} : autoComplete);
|
|
156
288
|
});
|
|
157
289
|
</script>
|
|
158
290
|
|
|
@@ -161,9 +293,10 @@
|
|
|
161
293
|
role="progressbar"
|
|
162
294
|
bind:this={ref}
|
|
163
295
|
class:neo-progress={true}
|
|
164
|
-
class:neo-indeterminate={
|
|
296
|
+
class:neo-indeterminate={isIndeterminate}
|
|
165
297
|
class:neo-controlled={controlled}
|
|
166
298
|
class:neo-track={track}
|
|
299
|
+
class:neo-immediate={immediate}
|
|
167
300
|
data-direction={direction}
|
|
168
301
|
data-indeterminate={indeterminate}
|
|
169
302
|
data-status={status}
|
|
@@ -182,8 +315,8 @@
|
|
|
182
315
|
style:--neo-progress-background={background}
|
|
183
316
|
{...rest}
|
|
184
317
|
>
|
|
185
|
-
<span class="neo-progress-value" style:--neo-progress-value={valueProgress}></span>
|
|
186
|
-
<span class="neo-progress-buffer" style:--neo-progress-buffer={bufferProgress}></span>
|
|
318
|
+
<span class="neo-progress-value" style:--neo-progress-value={valueProgress} onanimationiteration={onIteration}></span>
|
|
319
|
+
<span class="neo-progress-buffer" style:--neo-progress-buffer={bufferProgress} onanimationiteration={onIteration}></span>
|
|
187
320
|
{@render children?.(context)}
|
|
188
321
|
</svelte:element>
|
|
189
322
|
|
|
@@ -215,6 +348,35 @@
|
|
|
215
348
|
.neo-progress.neo-controlled .neo-progress-value {
|
|
216
349
|
transition: translate 1s linear, background-color 1.5s ease;
|
|
217
350
|
}
|
|
351
|
+
.neo-progress.neo-immediate .neo-progress-buffer,
|
|
352
|
+
.neo-progress.neo-immediate .neo-progress-value {
|
|
353
|
+
transition: none;
|
|
354
|
+
}
|
|
355
|
+
.neo-progress[data-status=completed] .neo-progress-value,
|
|
356
|
+
.neo-progress[data-status=completed] .neo-progress-buffer, .neo-progress[data-status=error] .neo-progress-value,
|
|
357
|
+
.neo-progress[data-status=error] .neo-progress-buffer, .neo-progress[data-status=success] .neo-progress-value,
|
|
358
|
+
.neo-progress[data-status=success] .neo-progress-buffer, .neo-progress[data-status=warning] .neo-progress-value,
|
|
359
|
+
.neo-progress[data-status=warning] .neo-progress-buffer {
|
|
360
|
+
transition: translate 0.5s linear, background-color 0.1s ease;
|
|
361
|
+
}
|
|
362
|
+
.neo-progress[data-status=error] .neo-progress-value {
|
|
363
|
+
background: var(--neo-progress-background, var(--neo-color-error));
|
|
364
|
+
}
|
|
365
|
+
.neo-progress[data-status=error] .neo-progress-buffer {
|
|
366
|
+
background: var(--neo-progress-buffer-background, color-mix(in srgb, var(--neo-progress-background, var(--neo-color-error)), transparent 85%));
|
|
367
|
+
}
|
|
368
|
+
.neo-progress[data-status=success] .neo-progress-value {
|
|
369
|
+
background: var(--neo-progress-background, var(--neo-color-success));
|
|
370
|
+
}
|
|
371
|
+
.neo-progress[data-status=success] .neo-progress-buffer {
|
|
372
|
+
background: var(--neo-progress-buffer-background, color-mix(in srgb, var(--neo-progress-background, var(--neo-color-success)), transparent 85%));
|
|
373
|
+
}
|
|
374
|
+
.neo-progress[data-status=warning] .neo-progress-value {
|
|
375
|
+
background: var(--neo-progress-background, var(--neo-color-warning));
|
|
376
|
+
}
|
|
377
|
+
.neo-progress[data-status=warning] .neo-progress-buffer {
|
|
378
|
+
background: var(--neo-progress-buffer-background, color-mix(in srgb, var(--neo-progress-background, var(--neo-color-warning)), transparent 85%));
|
|
379
|
+
}
|
|
218
380
|
.neo-progress[data-direction=right], .neo-progress[data-direction=left] {
|
|
219
381
|
width: 100%;
|
|
220
382
|
height: 0.375rem;
|
|
@@ -269,7 +431,6 @@
|
|
|
269
431
|
animation-duration: var(--neo-progress-indeterminate-duration, 3s);
|
|
270
432
|
animation-timing-function: var(--neo-progress-indeterminate-timing, linear);
|
|
271
433
|
animation-iteration-count: var(--neo-progress-indeterminate-iteration, infinite);
|
|
272
|
-
translate: 0;
|
|
273
434
|
}
|
|
274
435
|
.neo-progress.neo-indeterminate[data-direction=right] .neo-progress-buffer {
|
|
275
436
|
animation-name: indeterminate-fast-right;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { NeoProgressChange, NeoProgressComplete, NeoProgressProps, NeoProgressStart, NeoProgressStatuses } from './neo-progress.model.js';
|
|
2
2
|
declare const NeoProgress: import("svelte").Component<NeoProgressProps, {
|
|
3
|
-
change:
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
start:
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
}, "
|
|
3
|
+
change: ({ value: newValue, buffer: newBuffer, state }?: NeoProgressChange) => undefined | NeoProgressStatuses;
|
|
4
|
+
complete: ({ pending, state, defer }?: NeoProgressComplete) => undefined | NeoProgressStatuses | Promise<undefined | NeoProgressStatuses>;
|
|
5
|
+
cancel: (defer?: boolean) => undefined | NeoProgressStatuses | Promise<undefined | NeoProgressStatuses>;
|
|
6
|
+
start: ({ pending, expire, indeterminate: startIndeterminate, ...seed }?: NeoProgressStart) => undefined | NeoProgressStatuses;
|
|
7
|
+
stop: () => undefined | NeoProgressStatuses;
|
|
8
|
+
reset: (restart?: boolean, _start?: NeoProgressStart) => undefined | NeoProgressStatuses;
|
|
9
|
+
}, "value" | "status" | "ref" | "buffer" | "immediate">;
|
|
10
10
|
type NeoProgress = ReturnType<typeof NeoProgress>;
|
|
11
11
|
export default NeoProgress;
|
|
@@ -1,17 +1,20 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import type { NeoProgressBarContext, NeoProgressBarProps } from './neo-progress-bar.model.js';
|
|
3
|
+
import type { NeoProgressChange, NeoProgressComplete, NeoProgressStart, NeoProgressStatuses } from './neo-progress.model.js';
|
|
3
4
|
|
|
4
5
|
import { watch } from '@dvcol/svelte-utils/watch';
|
|
5
6
|
import { innerHeight, innerWidth } from 'svelte/reactivity/window';
|
|
6
7
|
|
|
7
|
-
import { NeoProgressDirection } from './neo-progress.model.js';
|
|
8
|
+
import { NeoProgressDirection, NeoProgressStatus } from './neo-progress.model.js';
|
|
8
9
|
import NeoProgress from './NeoProgress.svelte';
|
|
10
|
+
import { computeBorderRadius } from '../utils/border.utils.js';
|
|
9
11
|
import { coerce, computeGlassFilter, computeShadowElevation, DefaultShallowMinMaxElevation, parseBlur } from '../utils/shadow.utils.js';
|
|
10
12
|
import { toPixel, toSize } from '../utils/style.utils.js';
|
|
11
13
|
|
|
12
14
|
let {
|
|
13
15
|
// Snippets
|
|
14
16
|
children,
|
|
17
|
+
progress,
|
|
15
18
|
before,
|
|
16
19
|
after,
|
|
17
20
|
mark,
|
|
@@ -35,8 +38,9 @@
|
|
|
35
38
|
rounded,
|
|
36
39
|
pressed,
|
|
37
40
|
glass,
|
|
38
|
-
start,
|
|
41
|
+
start: startOnEnter,
|
|
39
42
|
track = true,
|
|
43
|
+
immediate = $bindable(false),
|
|
40
44
|
|
|
41
45
|
// Shadow
|
|
42
46
|
elevation: _elevation = pressed ? -1 : 1,
|
|
@@ -105,13 +109,39 @@
|
|
|
105
109
|
rounded,
|
|
106
110
|
pressed,
|
|
107
111
|
glass,
|
|
108
|
-
start,
|
|
112
|
+
start: startOnEnter,
|
|
109
113
|
track,
|
|
110
114
|
|
|
111
115
|
// Shadow
|
|
112
116
|
elevation,
|
|
113
117
|
blur,
|
|
114
118
|
});
|
|
119
|
+
|
|
120
|
+
let instance = $state<NeoProgress>();
|
|
121
|
+
|
|
122
|
+
export function change(payload: NeoProgressChange = {}): undefined | NeoProgressStatuses {
|
|
123
|
+
return instance!.change(payload);
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
export function complete(payload: NeoProgressComplete = {}): undefined | NeoProgressStatuses | Promise<undefined | NeoProgressStatuses> {
|
|
127
|
+
return instance!.complete(payload);
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
export function cancel(defer = true): undefined | NeoProgressStatuses | Promise<undefined | NeoProgressStatuses> {
|
|
131
|
+
return instance!.cancel(defer);
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
export function start(payload: NeoProgressStart = {}): undefined | NeoProgressStatuses {
|
|
135
|
+
return instance!.start(payload);
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
export function stop(): undefined | NeoProgressStatuses {
|
|
139
|
+
return instance!.stop();
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
export function reset(restart = status === NeoProgressStatus.Active, _start?: NeoProgressStart): undefined | NeoProgressStatuses {
|
|
143
|
+
return instance!.reset(restart, _start);
|
|
144
|
+
}
|
|
115
145
|
</script>
|
|
116
146
|
|
|
117
147
|
{#if typeof before === 'function'}
|
|
@@ -126,7 +156,7 @@
|
|
|
126
156
|
class:neo-progress-bar={true}
|
|
127
157
|
class:neo-borderless={borderless || !track}
|
|
128
158
|
class:neo-flat={!elevation}
|
|
129
|
-
class:neo-start={
|
|
159
|
+
class:neo-start={startOnEnter}
|
|
130
160
|
class:neo-glass={glass}
|
|
131
161
|
class:neo-inset={elevation < 0}
|
|
132
162
|
class:neo-rounded={rounded}
|
|
@@ -142,9 +172,10 @@
|
|
|
142
172
|
style:--neo-progress-mark-margin-inline={margin?.width}
|
|
143
173
|
style:--neo-progress-bar-glass-blur={filter}
|
|
144
174
|
style:--neo-progress-bar-box-shadow={boxShadow}
|
|
175
|
+
style:--neo-progress-bar-border-radius={computeBorderRadius(rounded)}
|
|
145
176
|
{...containerRest}
|
|
146
177
|
>
|
|
147
|
-
<NeoProgress bind:ref bind:status bind:value bind:buffer {direction} {width} {height} {track} {...rest} />
|
|
178
|
+
<NeoProgress bind:this={instance} bind:ref bind:status bind:value bind:buffer {direction} {width} {height} {track} {immediate} children={progress} {...rest} />
|
|
148
179
|
{#each marks as position, index (index)}
|
|
149
180
|
{#if position !== undefined}
|
|
150
181
|
<span bind:this={refs[index]} class="neo-progress-bar-mark" style:--neo-progress-bar-mark-position="{position}%">
|
|
@@ -225,7 +256,7 @@
|
|
|
225
256
|
border-color: var(--neo-progress-bar-border-color-hover, var(--neo-border-color-highlight));
|
|
226
257
|
}
|
|
227
258
|
.neo-progress-bar.neo-rounded {
|
|
228
|
-
border-radius: var(--neo-
|
|
259
|
+
border-radius: var(--neo-progress-bar-border-radius, var(--neo-border-radius-xxl));
|
|
229
260
|
}
|
|
230
261
|
.neo-progress-bar.neo-glass {
|
|
231
262
|
--neo-border-color: var(--neo-glass-border-color);
|
|
@@ -1,4 +1,12 @@
|
|
|
1
1
|
import type { NeoProgressBarProps } from './neo-progress-bar.model.js';
|
|
2
|
-
|
|
2
|
+
import type { NeoProgressChange, NeoProgressComplete, NeoProgressStart, NeoProgressStatuses } from './neo-progress.model.js';
|
|
3
|
+
declare const NeoProgressBar: import("svelte").Component<NeoProgressBarProps, {
|
|
4
|
+
change: (payload?: NeoProgressChange) => undefined | NeoProgressStatuses;
|
|
5
|
+
complete: (payload?: NeoProgressComplete) => undefined | NeoProgressStatuses | Promise<undefined | NeoProgressStatuses>;
|
|
6
|
+
cancel: (defer?: boolean) => undefined | NeoProgressStatuses | Promise<undefined | NeoProgressStatuses>;
|
|
7
|
+
start: (payload?: NeoProgressStart) => undefined | NeoProgressStatuses;
|
|
8
|
+
stop: () => undefined | NeoProgressStatuses;
|
|
9
|
+
reset: (restart?: boolean, _start?: NeoProgressStart) => undefined | NeoProgressStatuses;
|
|
10
|
+
}, "value" | "status" | "ref" | "refs" | "buffer" | "immediate">;
|
|
3
11
|
type NeoProgressBar = ReturnType<typeof NeoProgressBar>;
|
|
4
12
|
export default NeoProgressBar;
|
package/dist/progress/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export { default as NeoProgress } from './NeoProgress.svelte';
|
|
2
2
|
export { default as NeoProgressBar } from './NeoProgressBar.svelte';
|
|
3
|
+
export { NeoProgressService, useNeoProgressService } from './neo-progress-service.svelte.js';
|
|
3
4
|
export { NeoProgressDirection, NeoProgressStatus } from './neo-progress.model.js';
|
|
4
5
|
export type * from './neo-progress-bar.model.js';
|
|
5
6
|
export type * from './neo-progress.model.js';
|
package/dist/progress/index.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export { default as NeoProgress } from './NeoProgress.svelte';
|
|
2
2
|
export { default as NeoProgressBar } from './NeoProgressBar.svelte';
|
|
3
|
+
export { NeoProgressService, useNeoProgressService } from './neo-progress-service.svelte.js';
|
|
3
4
|
export { NeoProgressDirection, NeoProgressStatus } from './neo-progress.model.js';
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { Snippet } from 'svelte';
|
|
2
|
-
import type {
|
|
2
|
+
import type { NeoProgressProps, NeoProgressState } from './neo-progress.model.js';
|
|
3
|
+
import type { BorderRadiusInput } from '../utils/border.utils.js';
|
|
3
4
|
import type { HTMLNeoBaseElement, HTMLTagProps } from '../utils/html-element.utils.js';
|
|
4
5
|
import type { BlurElevation, BlurElevationString, ShadowShallowElevation, ShadowShallowElevationString } from '../utils/shadow.utils.js';
|
|
5
6
|
export type NeoProgressBlur = BlurElevation | BlurElevationString;
|
|
@@ -23,7 +24,7 @@ interface NeoProgressBarStyle {
|
|
|
23
24
|
/**
|
|
24
25
|
* Rounds border radius.
|
|
25
26
|
*/
|
|
26
|
-
rounded?:
|
|
27
|
+
rounded?: BorderRadiusInput;
|
|
27
28
|
/**
|
|
28
29
|
* Recess the content of the progress if elevation is inset (< 0).
|
|
29
30
|
*/
|
|
@@ -41,7 +42,7 @@ interface NeoProgressBarStyle {
|
|
|
41
42
|
*/
|
|
42
43
|
track?: boolean;
|
|
43
44
|
}
|
|
44
|
-
export type NeoProgressBarContext =
|
|
45
|
+
export type NeoProgressBarContext = NeoProgressState & NeoProgressBarStyle;
|
|
45
46
|
export interface NeoProgressBarMarkContext {
|
|
46
47
|
index: number;
|
|
47
48
|
position: number;
|
|
@@ -49,15 +50,19 @@ export interface NeoProgressBarMarkContext {
|
|
|
49
50
|
}
|
|
50
51
|
export type NeoProgressBarProps<Tag extends keyof HTMLElementTagNameMap = 'div', ContainerTag extends keyof HTMLElementTagNameMap = 'div'> = {
|
|
51
52
|
/**
|
|
52
|
-
* Optional content to display inside the progress.
|
|
53
|
+
* Optional content to display inside the progress bar.
|
|
53
54
|
*/
|
|
54
55
|
children?: Snippet<[NeoProgressBarContext]>;
|
|
55
56
|
/**
|
|
56
|
-
* Optional content to display
|
|
57
|
+
* Optional content to display inside the inner progress component.
|
|
58
|
+
*/
|
|
59
|
+
progress?: NeoProgressProps<Tag>['children'];
|
|
60
|
+
/**
|
|
61
|
+
* Optional content to display before the progress bar.
|
|
57
62
|
*/
|
|
58
63
|
before?: Snippet<[NeoProgressBarContext]> | string;
|
|
59
64
|
/**
|
|
60
|
-
* Optional content to display after the progress.
|
|
65
|
+
* Optional content to display after the progress bar.
|
|
61
66
|
*/
|
|
62
67
|
after?: Snippet<[NeoProgressBarContext]> | string;
|
|
63
68
|
/**
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import type { NeoProgressContext, NeoProgressStart } from './neo-progress.model.js';
|
|
2
|
+
export interface NeoProgressServiceOptions {
|
|
3
|
+
/**
|
|
4
|
+
* Delay in milliseconds before the progress bar starts.
|
|
5
|
+
* This is useful to debounce multiple calls to the progress bar.
|
|
6
|
+
*/
|
|
7
|
+
delay?: number;
|
|
8
|
+
/**
|
|
9
|
+
* Function to generate a unique ID for the progress bar.
|
|
10
|
+
* If not provided, a UUID will be generated.
|
|
11
|
+
*/
|
|
12
|
+
uuid?: () => string;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Queuing service to keep track of concurrent call to progress bar
|
|
16
|
+
*/
|
|
17
|
+
export declare class NeoProgressService {
|
|
18
|
+
#private;
|
|
19
|
+
get context(): NeoProgressContext;
|
|
20
|
+
get value(): number | undefined;
|
|
21
|
+
get buffer(): number | undefined;
|
|
22
|
+
get status(): import("./neo-progress.model.js").NeoProgressStatuses | undefined;
|
|
23
|
+
get active(): Set<string>;
|
|
24
|
+
constructor(context: NeoProgressContext, options?: NeoProgressServiceOptions);
|
|
25
|
+
/**
|
|
26
|
+
* Synchronizes the progress state working with the current active IDs set.
|
|
27
|
+
*/
|
|
28
|
+
sync(): Set<string> | undefined;
|
|
29
|
+
/**
|
|
30
|
+
* Starts a new progress bar with the given options.
|
|
31
|
+
* If an ID is provided, it will be used to track the progress bar.
|
|
32
|
+
* If no ID is provided, a new UUID will be generated.
|
|
33
|
+
* If a delay is provided, the progress bar will start after the specified delay.
|
|
34
|
+
*/
|
|
35
|
+
start(opts?: NeoProgressStart, { id, delay }?: {
|
|
36
|
+
id?: string;
|
|
37
|
+
delay?: number;
|
|
38
|
+
}): string | undefined;
|
|
39
|
+
cancel(id?: string, force?: boolean): string | undefined;
|
|
40
|
+
complete(id?: string, force?: boolean): string | undefined;
|
|
41
|
+
error(id?: string, force?: boolean): string | undefined;
|
|
42
|
+
success(id?: string, force?: boolean): string | undefined;
|
|
43
|
+
warning(id?: string, force?: boolean): string | undefined;
|
|
44
|
+
}
|
|
45
|
+
export declare function getProgressContext(): NeoProgressContext;
|
|
46
|
+
export declare function setProgressContext(context: NeoProgressContext): NeoProgressContext | undefined;
|
|
47
|
+
export declare function useNeoProgressService(): NeoProgressService;
|