@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
|
@@ -2,13 +2,16 @@
|
|
|
2
2
|
import type { NeoListBaseItemProps } from './neo-list-base-item.model.js';
|
|
3
3
|
import type { NeoListItem } from './neo-list.model.js';
|
|
4
4
|
|
|
5
|
-
import { getFocusableElement } from '@dvcol/common-utils/common/element';
|
|
5
|
+
import { getFocusableElement, getLastFocusableElement } from '@dvcol/common-utils/common/element';
|
|
6
6
|
import { getUUID } from '@dvcol/common-utils/common/string';
|
|
7
7
|
|
|
8
8
|
import NeoButton from '../buttons/NeoButton.svelte';
|
|
9
|
-
import
|
|
10
|
-
import
|
|
11
|
-
import
|
|
9
|
+
import { NeoIconArrowDirection } from '../icons/index.js';
|
|
10
|
+
import NeoIconArrow from '../icons/NeoIconArrow.svelte';
|
|
11
|
+
import NeoIconCheckbox from '../icons/NeoIconCheckbox.svelte';
|
|
12
|
+
import { isButtonTag } from './neo-list.model.js';
|
|
13
|
+
import NeoMedia from '../media/NeoMedia.svelte';
|
|
14
|
+
import NeoPill from '../pill/NeoPill.svelte';
|
|
12
15
|
import NeoMark from '../text/NeoMark.svelte';
|
|
13
16
|
|
|
14
17
|
let {
|
|
@@ -22,27 +25,36 @@
|
|
|
22
25
|
context,
|
|
23
26
|
|
|
24
27
|
// List State
|
|
28
|
+
tag = 'div',
|
|
29
|
+
buttonRef = $bindable(),
|
|
25
30
|
select,
|
|
26
31
|
checked,
|
|
27
32
|
touched = $bindable(false),
|
|
28
33
|
disabled: _disabled,
|
|
29
34
|
readonly: _readonly,
|
|
30
|
-
skeleton,
|
|
31
35
|
highlight,
|
|
32
|
-
selector = '.neo-list-item
|
|
36
|
+
selector = '.neo-list-item',
|
|
37
|
+
flip,
|
|
33
38
|
arrow,
|
|
34
39
|
toggle,
|
|
35
40
|
rounded,
|
|
41
|
+
reverse,
|
|
42
|
+
ellipsis,
|
|
36
43
|
|
|
37
44
|
// Buttons Props
|
|
38
45
|
hovered = $bindable(false),
|
|
39
46
|
focused = $bindable(false),
|
|
47
|
+
glass,
|
|
48
|
+
tinted,
|
|
49
|
+
filled,
|
|
40
50
|
|
|
41
51
|
// Actions
|
|
42
52
|
onclick,
|
|
43
53
|
|
|
44
54
|
// Other props
|
|
45
55
|
buttonProps,
|
|
56
|
+
mediaProps,
|
|
57
|
+
markProps,
|
|
46
58
|
...rest
|
|
47
59
|
}: NeoListBaseItemProps = $props();
|
|
48
60
|
|
|
@@ -51,70 +63,158 @@
|
|
|
51
63
|
touched = true;
|
|
52
64
|
});
|
|
53
65
|
|
|
66
|
+
const getFocusable = (action: 'next' | 'previous', ...args: Parameters<typeof getFocusableElement>) => {
|
|
67
|
+
if (action === 'previous') return getLastFocusableElement(...args);
|
|
68
|
+
return getFocusableElement(...args);
|
|
69
|
+
};
|
|
70
|
+
|
|
54
71
|
const getNextTarget = (element: EventTarget | HTMLElement | null, action: 'next' | 'previous') => {
|
|
55
72
|
const sibling: keyof HTMLElement = `${action}ElementSibling`;
|
|
56
73
|
if (!(element instanceof HTMLElement)) return;
|
|
57
74
|
let li = element?.closest<HTMLElement>(selector);
|
|
58
75
|
let next = li?.[sibling];
|
|
59
|
-
let target =
|
|
76
|
+
let target = getFocusable(action, next);
|
|
60
77
|
if (target) return target.focus();
|
|
61
78
|
while (next?.[sibling]) {
|
|
62
79
|
if (target) return target.focus();
|
|
63
80
|
next = next?.[sibling];
|
|
64
|
-
target =
|
|
81
|
+
target = getFocusable(action, next);
|
|
65
82
|
}
|
|
66
83
|
if (!li?.parentElement || li?.dataset?.section === undefined) return;
|
|
67
84
|
li = li.parentElement.closest<HTMLElement>(selector);
|
|
68
|
-
return
|
|
85
|
+
return getFocusable(action, li?.[sibling])?.focus();
|
|
69
86
|
};
|
|
70
87
|
|
|
88
|
+
const lines = $derived.by(() => {
|
|
89
|
+
const _lines = {
|
|
90
|
+
label: typeof ellipsis === 'number' ? ellipsis : ellipsis?.label,
|
|
91
|
+
description: typeof ellipsis === 'number' ? ellipsis : ellipsis?.description,
|
|
92
|
+
};
|
|
93
|
+
return {
|
|
94
|
+
..._lines,
|
|
95
|
+
total: ((_lines?.label ?? 0) + (_lines?.description ?? 0)),
|
|
96
|
+
};
|
|
97
|
+
});
|
|
98
|
+
|
|
71
99
|
const button = $derived(item?.href || item?.onclick || onclick || select);
|
|
72
100
|
const labelId = $derived(button ? `neo-list-item-label-${getUUID()}` : undefined);
|
|
73
101
|
const disabled = $derived(_disabled || item?.disabled);
|
|
74
102
|
const readonly = $derived(_readonly || item?.readonly);
|
|
75
103
|
</script>
|
|
76
104
|
|
|
77
|
-
{#snippet
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
105
|
+
{#snippet beforeItem()}
|
|
106
|
+
{#if item.before ?? before}
|
|
107
|
+
<div class="neo-list-item-before">
|
|
108
|
+
{@render (item.before ?? before)?.({ item, index, checked, context })}
|
|
109
|
+
</div>
|
|
110
|
+
{/if}
|
|
111
|
+
{/snippet}
|
|
112
|
+
|
|
113
|
+
{#snippet afterItem()}
|
|
114
|
+
{#if item.after ?? after}
|
|
115
|
+
<div class="neo-list-item-after">
|
|
116
|
+
{@render (item.after ?? after)?.({ item, index, checked, context })}
|
|
117
|
+
</div>
|
|
118
|
+
{/if}
|
|
119
|
+
{/snippet}
|
|
120
|
+
|
|
121
|
+
{#snippet listItem({ label, value, description, tags }: NeoListItem)}
|
|
122
|
+
<svelte:element
|
|
123
|
+
this={tag}
|
|
124
|
+
class:neo-list-item-content={true}
|
|
125
|
+
class:neo-button={button}
|
|
126
|
+
class:neo-rounded={rounded}
|
|
127
|
+
class:neo-disabled={disabled}
|
|
128
|
+
class:neo-description={description}
|
|
129
|
+
class:neo-reverse={reverse || item.reverse}
|
|
130
|
+
style:--neo-list-item-label-lines={lines?.label}
|
|
131
|
+
style:--neo-list-item-description-lines={lines?.description}
|
|
132
|
+
{...rest}
|
|
133
|
+
>
|
|
134
|
+
|
|
135
|
+
{#if !reverse}
|
|
136
|
+
{@render beforeItem()}
|
|
137
|
+
{:else}
|
|
138
|
+
{@render afterItem()}
|
|
83
139
|
{/if}
|
|
84
140
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
{
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
<
|
|
96
|
-
|
|
141
|
+
{#if item.media}
|
|
142
|
+
{@const { image, ...media } = item.media}
|
|
143
|
+
<NeoMedia class="neo-list-item-media" elevation={(hovered || focused) ? 2 : 1} {rounded} {...mediaProps} {...media} image={{ ...mediaProps?.image, ...image }} />
|
|
144
|
+
{/if}
|
|
145
|
+
|
|
146
|
+
<div class="neo-list-item-text">
|
|
147
|
+
<span id={labelId} class="neo-list-item-label" class:neo-header={(tags?.length && description) || ((lines?.description ?? 0) > 3)}>
|
|
148
|
+
<NeoMark {...markProps} value={label ?? value?.toString()} filter={highlight} />
|
|
149
|
+
</span>
|
|
150
|
+
{#if tags?.length}
|
|
151
|
+
<div class="neo-list-item-tags">
|
|
152
|
+
{#each tags as tag, i (i)}
|
|
153
|
+
{#if typeof tag === 'string'}
|
|
154
|
+
<span class="neo-list-item-tag">{tag}</span>
|
|
155
|
+
{:else if isButtonTag(tag)}
|
|
156
|
+
<NeoButton
|
|
157
|
+
elevation={0}
|
|
158
|
+
text
|
|
159
|
+
{rounded}
|
|
160
|
+
{disabled}
|
|
161
|
+
propagation={false}
|
|
162
|
+
{...tag}
|
|
163
|
+
class={['neo-list-item-tag', tag?.class]}
|
|
164
|
+
onkeydown={(e) => {
|
|
165
|
+
if (e.key === 'ArrowDown' || e.key === 'ArrowUp') {
|
|
166
|
+
if (e.key === 'ArrowDown') getNextTarget(e.target, 'next');
|
|
167
|
+
else buttonRef?.focus();
|
|
168
|
+
e.preventDefault();
|
|
169
|
+
}
|
|
170
|
+
tag?.onkeydown?.(e);
|
|
171
|
+
}}
|
|
172
|
+
/>
|
|
173
|
+
{:else}
|
|
174
|
+
<NeoPill
|
|
175
|
+
elevation={0}
|
|
176
|
+
text
|
|
177
|
+
{rounded}
|
|
178
|
+
{disabled}
|
|
179
|
+
{...tag}
|
|
180
|
+
class={['neo-list-item-tag', tag?.class]}
|
|
181
|
+
/>
|
|
182
|
+
{/if}
|
|
183
|
+
{/each}
|
|
184
|
+
</div>
|
|
185
|
+
{/if}
|
|
186
|
+
{#if description}
|
|
187
|
+
<span class="neo-list-item-description">
|
|
188
|
+
<NeoMark {...markProps} value={description} filter={highlight} />
|
|
97
189
|
</span>
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
<NeoMark value={description} filter={highlight} />
|
|
101
|
-
</span>
|
|
102
|
-
{/if}
|
|
103
|
-
</div>
|
|
104
|
-
</NeoSkeletonText>
|
|
190
|
+
{/if}
|
|
191
|
+
</div>
|
|
105
192
|
|
|
106
|
-
{#if
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
193
|
+
{#if !reverse}
|
|
194
|
+
{@render afterItem()}
|
|
195
|
+
{:else}
|
|
196
|
+
{@render beforeItem()}
|
|
110
197
|
{/if}
|
|
111
|
-
</
|
|
198
|
+
</svelte:element>
|
|
199
|
+
{/snippet}
|
|
200
|
+
|
|
201
|
+
{#snippet affix()}
|
|
202
|
+
{#if select}
|
|
203
|
+
<div class="neo-list-item-checkmark" class:neo-reverse={reverse}>
|
|
204
|
+
<NeoIconCheckbox {checked} enter={touched} />
|
|
205
|
+
</div>
|
|
206
|
+
{:else if arrow}
|
|
207
|
+
<div class="neo-list-item-arrow">
|
|
208
|
+
<NeoIconArrow expanded={checked && !disabled && !readonly} chevron direction={reverse ? NeoIconArrowDirection.Left : NeoIconArrowDirection.Right} />
|
|
209
|
+
</div>
|
|
210
|
+
{/if}
|
|
112
211
|
{/snippet}
|
|
113
212
|
|
|
114
213
|
{#if item?.render}
|
|
115
214
|
{@render item?.render({ item, index, checked, context })}
|
|
116
215
|
{:else if button}
|
|
117
216
|
<NeoButton
|
|
217
|
+
bind:ref={buttonRef}
|
|
118
218
|
bind:hovered
|
|
119
219
|
bind:focused
|
|
120
220
|
data-select={checked}
|
|
@@ -128,6 +228,9 @@
|
|
|
128
228
|
{readonly}
|
|
129
229
|
{disabled}
|
|
130
230
|
{rounded}
|
|
231
|
+
{glass}
|
|
232
|
+
{tinted}
|
|
233
|
+
{filled}
|
|
131
234
|
href={item?.href}
|
|
132
235
|
onclick={(e) => {
|
|
133
236
|
if (disabled) return;
|
|
@@ -139,7 +242,9 @@
|
|
|
139
242
|
onkeydown={(e) => {
|
|
140
243
|
if (disabled) return;
|
|
141
244
|
if (e.key === 'ArrowDown' || e.key === 'ArrowUp') {
|
|
142
|
-
|
|
245
|
+
let action: 'next' | 'previous' = e.key === 'ArrowDown' ? 'next' : 'previous';
|
|
246
|
+
if (flip) action = action === 'next' ? 'previous' : 'next';
|
|
247
|
+
getNextTarget(e.target, action);
|
|
143
248
|
e.preventDefault();
|
|
144
249
|
}
|
|
145
250
|
buttonProps?.onkeydown?.(e);
|
|
@@ -148,67 +253,117 @@
|
|
|
148
253
|
{...item?.buttonProps}
|
|
149
254
|
class={['neo-list-item-button', buttonProps?.class, item?.buttonProps?.class]}
|
|
150
255
|
>
|
|
256
|
+
{#if reverse}
|
|
257
|
+
{@render affix()}
|
|
258
|
+
{/if}
|
|
259
|
+
|
|
151
260
|
{@render listItem(item)}
|
|
152
261
|
|
|
153
|
-
{#if
|
|
154
|
-
|
|
155
|
-
<IconCheckbox {checked} enter={touched} />
|
|
156
|
-
</div>
|
|
157
|
-
{:else if arrow}
|
|
158
|
-
<div class="neo-list-item-arrow" class:neo-skeleton={skeleton}>
|
|
159
|
-
<IconArrow expanded={checked && !disabled && !readonly} chevron />
|
|
160
|
-
</div>
|
|
262
|
+
{#if !reverse}
|
|
263
|
+
{@render affix()}
|
|
161
264
|
{/if}
|
|
162
265
|
</NeoButton>
|
|
163
266
|
{:else}
|
|
164
267
|
{@render listItem(item)}
|
|
165
268
|
{/if}
|
|
166
269
|
|
|
167
|
-
<style>.neo-list-item-label
|
|
270
|
+
<style>.neo-list-item-label {
|
|
168
271
|
display: -webkit-box;
|
|
169
|
-
-webkit-line-clamp: var(--neo-
|
|
272
|
+
-webkit-line-clamp: var(--neo-list-item-label-lines, 1);
|
|
170
273
|
-webkit-box-orient: vertical;
|
|
171
274
|
overflow: hidden;
|
|
172
275
|
text-overflow: ellipsis;
|
|
173
276
|
word-break: break-word;
|
|
174
|
-
|
|
175
|
-
.neo-list-item-label {
|
|
277
|
+
overflow-wrap: anywhere;
|
|
176
278
|
line-height: var(--neo-line-height-sm, 1.25rem);
|
|
177
279
|
}
|
|
280
|
+
.neo-list-item-label.neo-header {
|
|
281
|
+
font-weight: var(--neo-font-weight-md, 500);
|
|
282
|
+
}
|
|
178
283
|
.neo-list-item-description {
|
|
179
|
-
|
|
284
|
+
display: -webkit-box;
|
|
285
|
+
-webkit-line-clamp: var(--neo-list-item-description-lines, 2);
|
|
286
|
+
-webkit-box-orient: vertical;
|
|
287
|
+
overflow: hidden;
|
|
288
|
+
text-overflow: ellipsis;
|
|
289
|
+
word-break: break-word;
|
|
290
|
+
overflow-wrap: anywhere;
|
|
180
291
|
color: var(--neo-text-color-secondary);
|
|
181
292
|
font-size: var(--neo-font-size-sm, 0.875rem);
|
|
182
293
|
line-height: var(--neo-line-height-sm, 1.25rem);
|
|
183
294
|
transition: color 0.15s ease;
|
|
184
295
|
}
|
|
296
|
+
.neo-list-item-text {
|
|
297
|
+
display: flex;
|
|
298
|
+
flex: 1 1 auto;
|
|
299
|
+
flex-direction: column;
|
|
300
|
+
}
|
|
301
|
+
.neo-list-item-text:has(> .neo-list-item-label.neo-header) {
|
|
302
|
+
gap: var(--neo-list-item-text-gap, var(--neo-gap-5xs, 0.125rem));
|
|
303
|
+
}
|
|
304
|
+
.neo-list-item-tags {
|
|
305
|
+
--neo-btn-padding: var(--neo-gap-5xs, 0.125rem) var(--neo-gap-3xs, 0.3125rem);
|
|
306
|
+
--neo-btn-margin: 0;
|
|
307
|
+
--neo-pill-padding: var(--neo-gap-5xs, 0.125rem) var(--neo-gap-3xs, 0.3125rem);
|
|
308
|
+
--neo-pill-margin: 0;
|
|
309
|
+
display: inline-flex;
|
|
310
|
+
flex-wrap: wrap;
|
|
311
|
+
gap: 0 var(--neo-gap-xxs, 0.5rem);
|
|
312
|
+
align-items: center;
|
|
313
|
+
color: var(--neo-text-color-secondary);
|
|
314
|
+
font-weight: var(--neo-font-weight-sm, 300);
|
|
315
|
+
font-size: var(--neo-font-size-sm, 0.875rem);
|
|
316
|
+
line-height: var(--neo-line-height-sm, 1.25rem);
|
|
317
|
+
transition: color 0.15s ease;
|
|
318
|
+
}
|
|
319
|
+
.neo-list-item-tags :global(.neo-list-item-tag.neo-pill.neo-borderless.neo-flat) {
|
|
320
|
+
--neo-pill-margin: 0 calc(0% - var(--neo-gap-3xs, 0.312 ));
|
|
321
|
+
}
|
|
322
|
+
.neo-list-item-tags :global(.neo-list-item-tag.neo-button.neo-borderless.neo-flat) {
|
|
323
|
+
--neo-btn-margin: 0 calc(0% - var(--neo-gap-3xs, 0.3125rem ));
|
|
324
|
+
}
|
|
325
|
+
.neo-list-item-tags :global(.neo-list-item-tag.neo-pill.neo-borderless.neo-flat:first-child) {
|
|
326
|
+
margin-inline-start: calc(-0.0625rem - var(--neo-gap-3xs, 0.3125rem));
|
|
327
|
+
}
|
|
328
|
+
.neo-list-item-tags :global(.neo-list-item-tag.neo-button.neo-borderless.neo-flat:first-child) {
|
|
329
|
+
margin-inline-start: calc(-0.0625rem - var(--neo-gap-3xs, 0.3125rem));
|
|
330
|
+
}
|
|
185
331
|
.neo-list-item-content {
|
|
186
332
|
display: inline-flex;
|
|
187
333
|
flex: 1 1 auto;
|
|
188
334
|
gap: var(--neo-gap-xxs, 0.5rem);
|
|
189
335
|
align-items: center;
|
|
190
|
-
padding: 0.125rem 0.5rem;
|
|
191
|
-
transition: color 0.15s ease;
|
|
336
|
+
padding: var(--neo-gap-5xs, 0.125rem) var(--neo-gap-xxs, 0.5rem);
|
|
337
|
+
transition: color 0.15s ease, gap 0.3s ease;
|
|
338
|
+
}
|
|
339
|
+
.neo-list-item-content :global(> .neo-list-item-media) {
|
|
340
|
+
--neo-media-margin: var(--neo-list-item-media-margin, var(--neo-gap-4xs));
|
|
341
|
+
--neo-media-padding:var(--neo-list-item-media-padding, var(--neo-gap-4xs));
|
|
342
|
+
--neo-media-flex: var(--neo-list-item-media-flex, 0 0 30%);
|
|
192
343
|
}
|
|
193
344
|
.neo-list-item-content.neo-disabled {
|
|
194
345
|
color: var(--neo-text-color-disabled);
|
|
195
346
|
}
|
|
196
347
|
.neo-list-item-content.neo-button {
|
|
197
|
-
padding: 0.
|
|
348
|
+
padding: var(--neo-list-item-button-padding, 0.4375rem 0.625rem);
|
|
349
|
+
}
|
|
350
|
+
.neo-list-item-content.neo-button.neo-rounded {
|
|
351
|
+
padding: var(--neo-list-item-button-padding, 0.5rem 0.75rem);
|
|
352
|
+
}
|
|
353
|
+
.neo-list-item-content.neo-reverse {
|
|
354
|
+
justify-content: flex-end;
|
|
355
|
+
text-align: end;
|
|
356
|
+
}
|
|
357
|
+
.neo-list-item-content.neo-reverse .neo-list-item-tags {
|
|
358
|
+
justify-content: flex-end;
|
|
359
|
+
text-align: end;
|
|
198
360
|
}
|
|
199
361
|
.neo-list-item-content:hover:not(.neo-disabled, .neo-button) {
|
|
200
362
|
color: var(--neo-text-color-highlight);
|
|
201
363
|
}
|
|
202
|
-
.neo-list-item-content :global(.neo-list-item-skeleton .neo-skeleton-text-line) {
|
|
203
|
-
--neo-skeleton-text-line-height: var(--neo-line-height-sm, 1.25rem);
|
|
204
|
-
}
|
|
205
364
|
.neo-list-item-content.neo-description {
|
|
206
365
|
gap: var(--neo-gap-xs, 0.625rem);
|
|
207
366
|
}
|
|
208
|
-
.neo-list-item-content.neo-description :global(.neo-list-item-skeleton .neo-skeleton-text-line:nth-child(2n)) {
|
|
209
|
-
--neo-skeleton-text-font-size: var(--neo-font-size-sm, 0.875rem);
|
|
210
|
-
--neo-skeleton-text-line-height: var(--neo-line-height-sm, 1.25rem);
|
|
211
|
-
}
|
|
212
367
|
.neo-list-item-checkmark, .neo-list-item-arrow {
|
|
213
368
|
aspect-ratio: 1/1;
|
|
214
369
|
}
|
|
@@ -217,9 +372,6 @@
|
|
|
217
372
|
--neo-arrow-offset-end: 40%;
|
|
218
373
|
--neo-arrow-delay: 0s;
|
|
219
374
|
}
|
|
220
|
-
.neo-list-item-checkmark {
|
|
221
|
-
margin-inline-end: 0.4375rem;
|
|
222
|
-
}
|
|
223
375
|
.neo-list-item-before, .neo-list-item-after, .neo-list-item-arrow, .neo-list-item-checkmark {
|
|
224
376
|
display: inline-flex;
|
|
225
377
|
flex: 0 0 auto;
|
|
@@ -231,31 +383,9 @@
|
|
|
231
383
|
border-radius: 50%;
|
|
232
384
|
transition: background-color 0.3s ease-out;
|
|
233
385
|
}
|
|
234
|
-
.neo-list-item-
|
|
235
|
-
|
|
236
|
-
transition: opacity 0.15s ease-out 0.15s;
|
|
237
|
-
}
|
|
238
|
-
.neo-list-item-before.neo-skeleton, .neo-list-item-after.neo-skeleton, .neo-list-item-arrow.neo-skeleton, .neo-list-item-checkmark.neo-skeleton {
|
|
239
|
-
--neo-skeleton-start: 1;
|
|
240
|
-
--neo-skeleton-end: calc(1 + var(--neo-skeleton-step, -0.3));
|
|
241
|
-
color: var(--neo-skeleton-color);
|
|
242
|
-
background-color: var(--neo-skeleton-color);
|
|
243
|
-
background-clip: padding-box;
|
|
244
|
-
border-color: var(--neo-skeleton-color);
|
|
245
|
-
opacity: 1;
|
|
246
|
-
transition: background-color 1s ease, color 0.3333333333s ease, border-color 1s ease, opacity 1s ease;
|
|
247
|
-
animation: skeleton 3s var(--neo-transition-skeleton) infinite;
|
|
248
|
-
animation-delay: 1s;
|
|
249
|
-
}
|
|
250
|
-
@keyframes skeleton {
|
|
251
|
-
0%, 80%, 100% {
|
|
252
|
-
opacity: var(--neo-skeleton-start);
|
|
253
|
-
}
|
|
254
|
-
40% {
|
|
255
|
-
opacity: var(--neo-skeleton-end);
|
|
256
|
-
}
|
|
386
|
+
.neo-list-item-checkmark:not(.neo-reverse) {
|
|
387
|
+
margin-inline-end: 0.4375rem;
|
|
257
388
|
}
|
|
258
|
-
.neo-list-item-
|
|
259
|
-
|
|
260
|
-
transition-delay: 0s;
|
|
389
|
+
.neo-list-item-checkmark.neo-reverse {
|
|
390
|
+
margin-inline-start: 0.4375rem;
|
|
261
391
|
}</style>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { NeoListBaseItemProps } from './neo-list-base-item.model.js';
|
|
2
|
-
declare const NeoListBaseItem: import("svelte").Component<NeoListBaseItemProps, {}, "hovered" | "focused" | "touched">;
|
|
2
|
+
declare const NeoListBaseItem: import("svelte").Component<NeoListBaseItemProps<unknown, any, "li", import("./neo-list.model.js").NeoBaseListItem<unknown, "li", any>>, {}, "hovered" | "focused" | "buttonRef" | "touched">;
|
|
3
3
|
type NeoListBaseItem = ReturnType<typeof NeoListBaseItem>;
|
|
4
4
|
export default NeoListBaseItem;
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
import { circIn, circOut } from 'svelte/easing';
|
|
6
6
|
import { fade } from 'svelte/transition';
|
|
7
7
|
|
|
8
|
+
import NeoMedia from '../media/NeoMedia.svelte';
|
|
8
9
|
import NeoSkeletonText from '../skeletons/NeoSkeletonText.svelte';
|
|
9
10
|
import { toTransition, toTransitionProps } from '../utils/action.utils.js';
|
|
10
11
|
import { quickScaleDelayProps, quickScaleProps } from '../utils/transition.utils.js';
|
|
@@ -16,16 +17,19 @@
|
|
|
16
17
|
after,
|
|
17
18
|
checkmark = select,
|
|
18
19
|
description,
|
|
20
|
+
header,
|
|
21
|
+
media,
|
|
19
22
|
|
|
20
23
|
lines = description ? 2 : 1,
|
|
21
24
|
items = 3,
|
|
22
|
-
flex = items > 1 ? undefined : '0 0 70%',
|
|
23
25
|
|
|
24
26
|
in: inAction = { use: fade, props: quickScaleProps },
|
|
25
27
|
out: outAction = { use: fade, props: quickScaleDelayProps },
|
|
26
28
|
|
|
27
29
|
beforeProps,
|
|
28
30
|
afterProps,
|
|
31
|
+
mediaProps,
|
|
32
|
+
headerProps,
|
|
29
33
|
...rest
|
|
30
34
|
}: NeoListBaseLoaderProps = $props();
|
|
31
35
|
|
|
@@ -51,7 +55,16 @@
|
|
|
51
55
|
</div>
|
|
52
56
|
{/if}
|
|
53
57
|
|
|
54
|
-
|
|
58
|
+
{#if media}
|
|
59
|
+
<NeoMedia class="neo-list-base-loader-media" elevation="1" loading {...mediaProps} />
|
|
60
|
+
{/if}
|
|
61
|
+
|
|
62
|
+
<div class="neo-list-base-loader-text">
|
|
63
|
+
{#if header}
|
|
64
|
+
<NeoSkeletonText width={`${randomInt(90, 100)}%`} lines={header} {...headerProps} class={['neo-list-loader-header-skeleton', headerProps?.class]} />
|
|
65
|
+
{/if}
|
|
66
|
+
<NeoSkeletonText width={`${randomInt(60, 90)}%`} {lines} {...rest} class={['neo-list-loader-skeleton', rest?.class]} />
|
|
67
|
+
</div>
|
|
55
68
|
|
|
56
69
|
{#if after}
|
|
57
70
|
{@const { width, height, ...aProps } = afterProps ?? {}}
|
|
@@ -75,6 +88,12 @@
|
|
|
75
88
|
align-items: center;
|
|
76
89
|
justify-content: space-between;
|
|
77
90
|
}
|
|
91
|
+
.neo-list-base-loader-text {
|
|
92
|
+
display: flex;
|
|
93
|
+
flex: 1 1 auto;
|
|
94
|
+
flex-direction: column;
|
|
95
|
+
gap: var(--neo-list-loader-text-gap, 0);
|
|
96
|
+
}
|
|
78
97
|
.neo-list-base-loader-content {
|
|
79
98
|
display: inline-flex;
|
|
80
99
|
flex: 1 1 auto;
|
|
@@ -82,13 +101,18 @@
|
|
|
82
101
|
align-items: center;
|
|
83
102
|
padding: 0.125rem 0.5rem;
|
|
84
103
|
}
|
|
104
|
+
.neo-list-base-loader-content :global(> .neo-list-base-loader-media) {
|
|
105
|
+
--neo-media-margin: var(--neo-list-loader-media-margin, var(--neo-gap-4xs));
|
|
106
|
+
--neo-media-padding:var(--neo-list-loader-media-padding, var(--neo-gap-4xs));
|
|
107
|
+
--neo-media-flex: var(--neo-list-loader-media-flex, 0 0 30%);
|
|
108
|
+
}
|
|
85
109
|
.neo-list-base-loader-content :global(.neo-list-loader-skeleton .neo-skeleton-text-line) {
|
|
86
110
|
--neo-skeleton-text-line-height: var(--neo-line-height-sm, 1.25rem);
|
|
87
111
|
}
|
|
88
112
|
.neo-list-base-loader-content.neo-description {
|
|
89
113
|
gap: var(--neo-gap-xs, 0.625rem);
|
|
90
114
|
}
|
|
91
|
-
.neo-list-base-loader-content.neo-description :global(.neo-list-loader-skeleton .neo-skeleton-text-line:nth-child(
|
|
115
|
+
.neo-list-base-loader-content.neo-description :global(.neo-list-loader-skeleton .neo-skeleton-text-line:nth-child(n + 2)) {
|
|
92
116
|
--neo-skeleton-text-font-size: var(--neo-font-size-sm, 0.875rem);
|
|
93
117
|
--neo-skeleton-text-line-height: var(--neo-line-height-sm, 1.25rem);
|
|
94
118
|
}
|
|
@@ -104,7 +128,7 @@
|
|
|
104
128
|
background-clip: padding-box;
|
|
105
129
|
border-color: var(--neo-skeleton-color);
|
|
106
130
|
opacity: 1;
|
|
107
|
-
transition: background-color 1s ease, color 0.3333333333s ease, border-color 1s ease, opacity 1s ease;
|
|
131
|
+
transition: border-radius 0.3333333333s ease, background-color 1s ease, color 0.3333333333s ease, border-color 1s ease, opacity 1s ease;
|
|
108
132
|
animation: skeleton 3s var(--neo-transition-skeleton) infinite;
|
|
109
133
|
animation-delay: 1s;
|
|
110
134
|
}
|
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
|
|
4
4
|
import { getUUID } from '@dvcol/common-utils/common/string';
|
|
5
5
|
|
|
6
|
-
import NeoSkeletonText from '../skeletons/NeoSkeletonText.svelte';
|
|
7
6
|
import NeoMark from '../text/NeoMark.svelte';
|
|
8
7
|
|
|
9
8
|
const {
|
|
@@ -16,11 +15,11 @@
|
|
|
16
15
|
context,
|
|
17
16
|
|
|
18
17
|
select,
|
|
19
|
-
skeleton,
|
|
20
18
|
highlight,
|
|
19
|
+
reverse,
|
|
20
|
+
flip,
|
|
21
21
|
|
|
22
22
|
// Other props
|
|
23
|
-
skeletonProps,
|
|
24
23
|
...rest
|
|
25
24
|
}: NeoListBaseSectionProps = $props();
|
|
26
25
|
|
|
@@ -31,17 +30,8 @@
|
|
|
31
30
|
{@render section?.render(list, { items: section.items, section, index, context })}
|
|
32
31
|
{:else}
|
|
33
32
|
{#if section.label}
|
|
34
|
-
<div id={labelId} class="neo-list-section-title" class:neo-sticky={section.sticky}>
|
|
35
|
-
<
|
|
36
|
-
loading={!!skeleton}
|
|
37
|
-
disabled={skeleton === undefined}
|
|
38
|
-
lines={1}
|
|
39
|
-
align="center"
|
|
40
|
-
{...skeletonProps}
|
|
41
|
-
class={['neo-list-section-skeleton', skeletonProps?.class]}
|
|
42
|
-
>
|
|
43
|
-
<NeoMark value={section.label} filter={highlight} />
|
|
44
|
-
</NeoSkeletonText>
|
|
33
|
+
<div id={labelId} class="neo-list-section-title" class:neo-sticky={section.sticky} class:neo-reverse={reverse}>
|
|
34
|
+
<NeoMark class="neo-list-section-title-mark" value={section.label} filter={highlight} />
|
|
45
35
|
</div>
|
|
46
36
|
{/if}
|
|
47
37
|
<svelte:element
|
|
@@ -49,6 +39,7 @@
|
|
|
49
39
|
role={select ? 'listbox' : 'list'}
|
|
50
40
|
aria-labelledby={labelId}
|
|
51
41
|
class:neo-list-section-list={true}
|
|
42
|
+
class:neo-flip={flip}
|
|
52
43
|
{...rest}
|
|
53
44
|
{...section.sectionProps}
|
|
54
45
|
>
|
|
@@ -56,12 +47,24 @@
|
|
|
56
47
|
</svelte:element>
|
|
57
48
|
{/if}
|
|
58
49
|
|
|
59
|
-
<style>.neo-list-section-
|
|
50
|
+
<style>.neo-list-section-list {
|
|
51
|
+
display: flex;
|
|
52
|
+
flex-direction: column;
|
|
53
|
+
}
|
|
54
|
+
.neo-list-section-list.neo-flip {
|
|
55
|
+
flex-direction: column-reverse;
|
|
56
|
+
justify-content: end;
|
|
57
|
+
}
|
|
58
|
+
.neo-list-section-title {
|
|
60
59
|
display: inline-flex;
|
|
61
60
|
padding: 0.25rem 0.6125rem;
|
|
62
61
|
transition: color 0.3s ease;
|
|
63
62
|
margin-block-end: 0.125rem;
|
|
64
63
|
}
|
|
64
|
+
.neo-list-section-title.neo-reverse {
|
|
65
|
+
justify-content: flex-end;
|
|
66
|
+
text-align: end;
|
|
67
|
+
}
|
|
65
68
|
.neo-list-section-title.neo-sticky {
|
|
66
69
|
position: sticky;
|
|
67
70
|
top: -0.75rem;
|