@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.
Files changed (466) hide show
  1. package/CHANGELOG.md +90 -0
  2. package/README.md +15 -7
  3. package/dist/badge/neo-badge.model.d.ts +1 -1
  4. package/dist/buttons/NeoArrowButton.svelte +4 -4
  5. package/dist/buttons/NeoButton.svelte +110 -24
  6. package/dist/buttons/NeoButtonGroup.svelte +18 -9
  7. package/dist/buttons/NeoButtonGroup.svelte.d.ts +1 -1
  8. package/dist/buttons/NeoButtonRow.svelte +137 -0
  9. package/dist/buttons/NeoButtonRow.svelte.d.ts +4 -0
  10. package/dist/buttons/NeoCancelButton.svelte +2 -2
  11. package/dist/buttons/NeoCheckboxButton.svelte +6 -4
  12. package/dist/buttons/NeoCheckboxButton.svelte.d.ts +1 -1
  13. package/dist/buttons/NeoCloseButton.svelte +37 -6
  14. package/dist/buttons/NeoCloseButton.svelte.d.ts +2 -2
  15. package/dist/buttons/NeoRadioButton.svelte +6 -4
  16. package/dist/buttons/NeoSwitchButton.svelte +5 -3
  17. package/dist/buttons/index.d.ts +2 -0
  18. package/dist/buttons/index.js +1 -0
  19. package/dist/buttons/neo-arrow-button.model.d.ts +3 -3
  20. package/dist/buttons/neo-button-group.model.d.ts +12 -3
  21. package/dist/buttons/neo-button-row.model.d.ts +33 -0
  22. package/dist/buttons/neo-button-row.model.js +1 -0
  23. package/dist/buttons/neo-button.model.d.ts +11 -4
  24. package/dist/buttons/neo-close-button.model.d.ts +13 -0
  25. package/dist/buttons/neo-close-button.model.js +5 -0
  26. package/dist/buttons/neo-icon-button.model.d.ts +2 -2
  27. package/dist/cards/NeoCard.svelte +22 -20
  28. package/dist/cards/neo-card.model.d.ts +3 -2
  29. package/dist/collapse/NeoAccordion.svelte +3 -1
  30. package/dist/collapse/NeoCollapse.svelte +2 -2
  31. package/dist/collapse/NeoCollapse.svelte.d.ts +3 -1
  32. package/dist/collapse/neo-accordion.model.d.ts +2 -1
  33. package/dist/containers/NeoTransitionContainer.svelte +10 -0
  34. package/dist/containers/neo-transition-container.model.d.ts +9 -0
  35. package/dist/cursor/NeoCursor.svelte.d.ts +1 -1
  36. package/dist/divider/NeoDivider.svelte +4 -2
  37. package/dist/divider/neo-divider.model.d.ts +2 -1
  38. package/dist/floating/common/NeoConfirm.svelte +5 -5
  39. package/dist/floating/common/NeoConfirm.svelte.d.ts +1 -1
  40. package/dist/floating/common/NeoFloatingStepper.svelte +1 -1
  41. package/dist/floating/common/NeoFloatingStepper.svelte.d.ts +1 -1
  42. package/dist/floating/common/NeoHandle.svelte +2 -1
  43. package/dist/floating/common/neo-confirm.model.d.ts +2 -1
  44. package/dist/floating/common/neo-floating-stepper.model.d.ts +1 -1
  45. package/dist/floating/common/neo-placement.model.d.ts +56 -4
  46. package/dist/floating/common/neo-placement.model.js +22 -0
  47. package/dist/floating/dialog/NeoDialog.svelte +23 -21
  48. package/dist/floating/dialog/NeoDialog.svelte.d.ts +1 -1
  49. package/dist/floating/dialog/NeoDialogConfirm.svelte.d.ts +1 -1
  50. package/dist/floating/dialog/NeoDialogStepper.svelte.d.ts +1 -1
  51. package/dist/floating/dialog/neo-dialog-confirm.model.d.ts +5 -5
  52. package/dist/floating/dialog/neo-dialog-stepper.model.d.ts +4 -4
  53. package/dist/floating/dialog/neo-dialog.model.d.ts +2 -1
  54. package/dist/floating/dialog/use-movable.svelte.js +2 -1
  55. package/dist/floating/drawer/NeoDrawer.svelte +9 -9
  56. package/dist/floating/drawer/NeoDrawer.svelte.d.ts +2 -2
  57. package/dist/floating/drawer/NeoDrawerConfirm.svelte +2 -4
  58. package/dist/floating/drawer/NeoDrawerConfirm.svelte.d.ts +2 -2
  59. package/dist/floating/drawer/NeoDrawerStepper.svelte +2 -4
  60. package/dist/floating/drawer/NeoDrawerStepper.svelte.d.ts +2 -2
  61. package/dist/floating/drawer/neo-drawer.model.d.ts +6 -0
  62. package/dist/floating/drawer/neo-drawer.model.js +1 -0
  63. package/dist/floating/index.d.ts +1 -0
  64. package/dist/floating/index.js +1 -0
  65. package/dist/floating/menu/NeoMenu.svelte +55 -17
  66. package/dist/floating/menu/NeoMenu.svelte.d.ts +1 -1
  67. package/dist/floating/menu/NeoMenuList.svelte +60 -67
  68. package/dist/floating/menu/NeoMenuListItem.svelte +157 -24
  69. package/dist/floating/menu/NeoMenuListItem.svelte.d.ts +1 -0
  70. package/dist/floating/menu/index.d.ts +1 -0
  71. package/dist/floating/menu/neo-menu-list-item.model.d.ts +48 -11
  72. package/dist/floating/menu/neo-menu-list.model.d.ts +24 -4
  73. package/dist/floating/menu/neo-menu.model.d.ts +3 -3
  74. package/dist/floating/notification/NeoNotificationItem.svelte +459 -0
  75. package/dist/floating/notification/NeoNotificationItem.svelte.d.ts +4 -0
  76. package/dist/floating/notification/NeoNotificationProvider.svelte +49 -0
  77. package/dist/floating/notification/NeoNotificationProvider.svelte.d.ts +4 -0
  78. package/dist/floating/notification/NeoNotificationStack.svelte +345 -0
  79. package/dist/floating/notification/NeoNotificationStack.svelte.d.ts +16 -0
  80. package/dist/floating/notification/NeoSimpleNotification.svelte +304 -0
  81. package/dist/floating/notification/NeoSimpleNotification.svelte.d.ts +4 -0
  82. package/dist/floating/notification/index.d.ts +8 -0
  83. package/dist/floating/notification/index.js +7 -0
  84. package/dist/floating/notification/neo-notification-item.model.d.ts +54 -0
  85. package/dist/floating/notification/neo-notification-item.model.js +1 -0
  86. package/dist/floating/notification/neo-notification-provider.model.d.ts +78 -0
  87. package/dist/floating/notification/neo-notification-provider.model.js +18 -0
  88. package/dist/floating/notification/neo-notification-stack.model.d.ts +48 -0
  89. package/dist/floating/notification/neo-notification-stack.model.js +1 -0
  90. package/dist/floating/notification/neo-notification.model.d.ts +271 -0
  91. package/dist/floating/notification/neo-notification.model.js +70 -0
  92. package/dist/floating/notification/neo-simple-notification.model.d.ts +14 -0
  93. package/dist/floating/notification/neo-simple-notification.model.js +1 -0
  94. package/dist/floating/portal/NeoPortal.svelte +11 -8
  95. package/dist/floating/portal/NeoPortalTarget.svelte +7 -0
  96. package/dist/floating/portal/NeoPortalTarget.svelte.d.ts +7 -0
  97. package/dist/floating/portal/neo-portal-context.svelte.d.ts +1 -1
  98. package/dist/floating/portal/neo-portal.model.d.ts +4 -5
  99. package/dist/floating/tooltips/NeoPopConfirm.svelte +2 -0
  100. package/dist/floating/tooltips/NeoPopConfirm.svelte.d.ts +1 -1
  101. package/dist/floating/tooltips/NeoPopSelect.svelte +5 -3
  102. package/dist/floating/tooltips/NeoPopSelect.svelte.d.ts +1 -1
  103. package/dist/floating/tooltips/NeoPopStepper.svelte +2 -0
  104. package/dist/floating/tooltips/NeoPopStepper.svelte.d.ts +1 -1
  105. package/dist/floating/tooltips/NeoTooltip.svelte +43 -23
  106. package/dist/floating/tooltips/NeoTooltip.svelte.d.ts +5 -1
  107. package/dist/floating/tooltips/neo-pop-confirm.model.d.ts +1 -1
  108. package/dist/floating/tooltips/neo-pop-select.model.d.ts +1 -3
  109. package/dist/floating/tooltips/neo-pop-stepper.model.d.ts +2 -2
  110. package/dist/floating/tooltips/neo-tooltip.model.d.ts +7 -2
  111. package/dist/form/NeoForm.svelte +1 -1
  112. package/dist/form/NeoForm.svelte.d.ts +3 -1
  113. package/dist/form/neo-form-context.svelte.d.ts +2 -0
  114. package/dist/icons/{IconAccount.svelte → NeoIconAccount.svelte} +2 -2
  115. package/dist/icons/NeoIconAccount.svelte.d.ts +4 -0
  116. package/dist/icons/{IconAdd.svelte → NeoIconAdd.svelte} +11 -6
  117. package/dist/icons/NeoIconAdd.svelte.d.ts +4 -0
  118. package/dist/icons/{IconAddress.svelte → NeoIconAddress.svelte} +2 -2
  119. package/dist/icons/NeoIconAddress.svelte.d.ts +4 -0
  120. package/dist/icons/{IconAlert.svelte → NeoIconAlert.svelte} +11 -6
  121. package/dist/icons/NeoIconAlert.svelte.d.ts +4 -0
  122. package/dist/icons/{IconAlignBottom.svelte → NeoIconAlignBottom.svelte} +11 -6
  123. package/dist/icons/NeoIconAlignBottom.svelte.d.ts +4 -0
  124. package/dist/icons/{IconAlignMiddle.svelte → NeoIconAlignMiddle.svelte} +11 -6
  125. package/dist/icons/NeoIconAlignMiddle.svelte.d.ts +4 -0
  126. package/dist/icons/{IconAlignTop.svelte → NeoIconAlignTop.svelte} +11 -6
  127. package/dist/icons/NeoIconAlignTop.svelte.d.ts +4 -0
  128. package/dist/icons/{IconArrow.svelte → NeoIconArrow.svelte} +9 -9
  129. package/dist/icons/NeoIconArrow.svelte.d.ts +4 -0
  130. package/dist/icons/NeoIconAudio.svelte +83 -0
  131. package/dist/icons/NeoIconAudio.svelte.d.ts +4 -0
  132. package/dist/icons/NeoIconBouncingDots.svelte +82 -0
  133. package/dist/icons/NeoIconBouncingDots.svelte.d.ts +4 -0
  134. package/dist/icons/{IconCalendar.svelte → NeoIconCalendar.svelte} +11 -6
  135. package/dist/icons/NeoIconCalendar.svelte.d.ts +4 -0
  136. package/dist/icons/{IconCancel.svelte → NeoIconCancel.svelte} +2 -2
  137. package/dist/icons/NeoIconCancel.svelte.d.ts +4 -0
  138. package/dist/icons/{IconCheckbox.svelte → NeoIconCheckbox.svelte} +2 -2
  139. package/dist/icons/NeoIconCheckbox.svelte.d.ts +4 -0
  140. package/dist/icons/NeoIconCircle.svelte +18 -0
  141. package/dist/icons/NeoIconCircle.svelte.d.ts +4 -0
  142. package/dist/icons/{IconCircleLoading.svelte → NeoIconCircleLoading.svelte} +2 -2
  143. package/dist/icons/{IconCircleLoading.svelte.d.ts → NeoIconCircleLoading.svelte.d.ts} +55 -39
  144. package/dist/icons/{IconClear.svelte → NeoIconClear.svelte} +11 -6
  145. package/dist/icons/NeoIconClear.svelte.d.ts +4 -0
  146. package/dist/icons/{IconClose.svelte → NeoIconClose.svelte} +2 -2
  147. package/dist/icons/NeoIconClose.svelte.d.ts +4 -0
  148. package/dist/icons/NeoIconCog.svelte +36 -0
  149. package/dist/icons/NeoIconCog.svelte.d.ts +4 -0
  150. package/dist/icons/{IconConfirm.svelte → NeoIconConfirm.svelte} +11 -6
  151. package/dist/icons/NeoIconConfirm.svelte.d.ts +4 -0
  152. package/dist/icons/NeoIconCube.svelte +31 -0
  153. package/dist/icons/NeoIconCube.svelte.d.ts +4 -0
  154. package/dist/icons/{IconDoubleChevron.svelte → NeoIconDoubleChevron.svelte} +11 -5
  155. package/dist/icons/NeoIconDoubleChevron.svelte.d.ts +4 -0
  156. package/dist/icons/{IconDoubleChevronLeft.svelte → NeoIconDoubleChevronLeft.svelte} +11 -6
  157. package/dist/icons/NeoIconDoubleChevronLeft.svelte.d.ts +4 -0
  158. package/dist/icons/{IconDoubleChevronRight.svelte → NeoIconDoubleChevronRight.svelte} +11 -6
  159. package/dist/icons/NeoIconDoubleChevronRight.svelte.d.ts +4 -0
  160. package/dist/icons/{IconDownload.svelte → NeoIconDownload.svelte} +11 -6
  161. package/dist/icons/NeoIconDownload.svelte.d.ts +4 -0
  162. package/dist/icons/NeoIconEmpty.svelte +26 -0
  163. package/dist/icons/NeoIconEmpty.svelte.d.ts +4 -0
  164. package/dist/icons/NeoIconError.svelte +30 -0
  165. package/dist/icons/NeoIconError.svelte.d.ts +4 -0
  166. package/dist/icons/{IconFileUpload.svelte → NeoIconFileUpload.svelte} +11 -6
  167. package/dist/icons/NeoIconFileUpload.svelte.d.ts +4 -0
  168. package/dist/icons/NeoIconFire.svelte +33 -0
  169. package/dist/icons/NeoIconFire.svelte.d.ts +4 -0
  170. package/dist/icons/{IconGithub.svelte → NeoIconGithub.svelte} +11 -6
  171. package/dist/icons/NeoIconGithub.svelte.d.ts +4 -0
  172. package/dist/icons/NeoIconImage.svelte +39 -0
  173. package/dist/icons/NeoIconImage.svelte.d.ts +4 -0
  174. package/dist/icons/NeoIconInfo.svelte +30 -0
  175. package/dist/icons/NeoIconInfo.svelte.d.ts +4 -0
  176. package/dist/icons/{IconList.svelte → NeoIconList.svelte} +11 -6
  177. package/dist/icons/NeoIconList.svelte.d.ts +4 -0
  178. package/dist/icons/{IconListSmall.svelte → NeoIconListSmall.svelte} +2 -2
  179. package/dist/icons/NeoIconListSmall.svelte.d.ts +4 -0
  180. package/dist/icons/{IconLoadingMatrix.svelte → NeoIconLoadingMatrix.svelte} +2 -2
  181. package/dist/icons/NeoIconLoadingMatrix.svelte.d.ts +4 -0
  182. package/dist/icons/{IconMail.svelte → NeoIconMail.svelte} +11 -6
  183. package/dist/icons/NeoIconMail.svelte.d.ts +4 -0
  184. package/dist/icons/{IconMinus.svelte → NeoIconMinus.svelte} +11 -6
  185. package/dist/icons/NeoIconMinus.svelte.d.ts +4 -0
  186. package/dist/icons/{IconPaint.svelte → NeoIconPaint.svelte} +11 -6
  187. package/dist/icons/NeoIconPaint.svelte.d.ts +4 -0
  188. package/dist/icons/{IconPencil.svelte → NeoIconPencil.svelte} +11 -6
  189. package/dist/icons/NeoIconPencil.svelte.d.ts +4 -0
  190. package/dist/icons/{IconPlayPause.svelte → NeoIconPlayPause.svelte} +2 -2
  191. package/dist/icons/NeoIconPlayPause.svelte.d.ts +4 -0
  192. package/dist/icons/{IconQuestionMark.svelte → NeoIconQuestionMark.svelte} +11 -6
  193. package/dist/icons/NeoIconQuestionMark.svelte.d.ts +4 -0
  194. package/dist/icons/{IconRadio.svelte → NeoIconRadio.svelte} +2 -2
  195. package/dist/icons/NeoIconRadio.svelte.d.ts +4 -0
  196. package/dist/icons/NeoIconRefresh.svelte +38 -0
  197. package/dist/icons/NeoIconRefresh.svelte.d.ts +4 -0
  198. package/dist/icons/NeoIconRestore.svelte +20 -0
  199. package/dist/icons/NeoIconRestore.svelte.d.ts +4 -0
  200. package/dist/icons/NeoIconSave.svelte +35 -0
  201. package/dist/icons/NeoIconSave.svelte.d.ts +4 -0
  202. package/dist/icons/NeoIconSaveOff.svelte +42 -0
  203. package/dist/icons/NeoIconSaveOff.svelte.d.ts +4 -0
  204. package/dist/icons/{IconSearch.svelte → NeoIconSearch.svelte} +11 -6
  205. package/dist/icons/NeoIconSearch.svelte.d.ts +4 -0
  206. package/dist/icons/NeoIconSuccess.svelte +26 -0
  207. package/dist/icons/NeoIconSuccess.svelte.d.ts +4 -0
  208. package/dist/icons/{IconSun.svelte → NeoIconSun.svelte} +11 -6
  209. package/dist/icons/NeoIconSun.svelte.d.ts +4 -0
  210. package/dist/icons/{IconSunMoon.svelte → NeoIconSunMoon.svelte} +11 -64
  211. package/dist/icons/NeoIconSunMoon.svelte.d.ts +4 -0
  212. package/dist/icons/{IconTextHighlight.svelte → NeoIconTextHighlight.svelte} +11 -6
  213. package/dist/icons/NeoIconTextHighlight.svelte.d.ts +4 -0
  214. package/dist/icons/NeoIconTheme.svelte +14 -0
  215. package/dist/icons/NeoIconTheme.svelte.d.ts +3 -0
  216. package/dist/icons/NeoIconTrend.svelte +39 -0
  217. package/dist/icons/NeoIconTrend.svelte.d.ts +4 -0
  218. package/dist/icons/NeoIconUnplug.svelte +63 -0
  219. package/dist/icons/NeoIconUnplug.svelte.d.ts +4 -0
  220. package/dist/icons/{IconVideo.svelte → NeoIconVideo.svelte} +11 -6
  221. package/dist/icons/NeoIconVideo.svelte.d.ts +4 -0
  222. package/dist/icons/NeoIconWarning.svelte +30 -0
  223. package/dist/icons/NeoIconWarning.svelte.d.ts +4 -0
  224. package/dist/icons/NeoIconWatch.svelte +41 -0
  225. package/dist/icons/NeoIconWatch.svelte.d.ts +4 -0
  226. package/dist/icons/NeoIconWatchOff.svelte +50 -0
  227. package/dist/icons/NeoIconWatchOff.svelte.d.ts +4 -0
  228. package/dist/icons/NeoIconWave.svelte +31 -0
  229. package/dist/icons/NeoIconWave.svelte.d.ts +4 -0
  230. package/dist/icons/index.d.ts +54 -0
  231. package/dist/icons/index.js +54 -0
  232. package/dist/icons/{icon.model.d.ts → neo-icon.model.d.ts} +41 -13
  233. package/dist/icons/{icon.model.js → neo-icon.model.js} +1 -1
  234. package/dist/index.d.ts +2 -0
  235. package/dist/index.js +2 -0
  236. package/dist/inputs/NeoCheckbox.svelte +6 -4
  237. package/dist/inputs/NeoCheckbox.svelte.d.ts +1 -1
  238. package/dist/inputs/NeoColorPicker.svelte +6 -3
  239. package/dist/inputs/NeoColorPicker.svelte.d.ts +1 -1
  240. package/dist/inputs/NeoColorPickerSelector.svelte +2 -2
  241. package/dist/inputs/NeoColorPickerSelector.svelte.d.ts +1 -1
  242. package/dist/inputs/NeoDateTime.svelte +6 -3
  243. package/dist/inputs/NeoDateTime.svelte.d.ts +1 -1
  244. package/dist/inputs/NeoFilePicker.svelte +11 -6
  245. package/dist/inputs/NeoFilePicker.svelte.d.ts +1 -1
  246. package/dist/inputs/NeoFilePickerCard.svelte +20 -14
  247. package/dist/inputs/NeoNativeSelect.svelte +6 -3
  248. package/dist/inputs/NeoNativeSelect.svelte.d.ts +1 -1
  249. package/dist/inputs/NeoNumberStep.svelte +13 -8
  250. package/dist/inputs/NeoNumberStep.svelte.d.ts +1 -1
  251. package/dist/inputs/NeoPassword.svelte +4 -4
  252. package/dist/inputs/NeoPassword.svelte.d.ts +1 -1
  253. package/dist/inputs/NeoPin.svelte +10 -10
  254. package/dist/inputs/NeoPin.svelte.d.ts +10 -1
  255. package/dist/inputs/NeoRadio.svelte +3 -3
  256. package/dist/inputs/NeoRadio.svelte.d.ts +1 -1
  257. package/dist/inputs/NeoRange.svelte +29 -27
  258. package/dist/inputs/NeoRange.svelte.d.ts +5 -2
  259. package/dist/inputs/NeoSelect.svelte +17 -8
  260. package/dist/inputs/NeoSelect.svelte.d.ts +1 -1
  261. package/dist/inputs/NeoSwitch.svelte +2 -2
  262. package/dist/inputs/NeoSwitch.svelte.d.ts +1 -1
  263. package/dist/inputs/common/NeoAffix.svelte +10 -10
  264. package/dist/inputs/common/NeoBaseInput.svelte +16 -2
  265. package/dist/inputs/common/NeoBaseInput.svelte.d.ts +1 -1
  266. package/dist/inputs/common/NeoInput.svelte +12 -4
  267. package/dist/inputs/common/NeoInput.svelte.d.ts +1 -1
  268. package/dist/inputs/common/NeoTextarea.svelte +18 -6
  269. package/dist/inputs/common/NeoTextarea.svelte.d.ts +2 -1
  270. package/dist/inputs/common/NeoValidation.svelte +6 -4
  271. package/dist/inputs/common/neo-input.model.d.ts +8 -1
  272. package/dist/inputs/common/neo-validation.model.d.ts +2 -1
  273. package/dist/inputs/neo-range.model.d.ts +2 -1
  274. package/dist/inputs/neo-select.model.d.ts +8 -4
  275. package/dist/list/NeoList.svelte +100 -62
  276. package/dist/list/NeoList.svelte.d.ts +5 -2
  277. package/dist/list/NeoListBaseItem.svelte +222 -92
  278. package/dist/list/NeoListBaseItem.svelte.d.ts +1 -1
  279. package/dist/list/NeoListBaseLoader.svelte +28 -4
  280. package/dist/list/NeoListBaseSection.svelte +18 -15
  281. package/dist/list/NeoListSearch.svelte +36 -20
  282. package/dist/list/NeoListSearch.svelte.d.ts +1 -1
  283. package/dist/list/NeoSimpleList.svelte +391 -0
  284. package/dist/list/NeoSimpleList.svelte.d.ts +8 -0
  285. package/dist/list/NeoVirtualList.svelte +388 -0
  286. package/dist/list/NeoVirtualList.svelte.d.ts +22 -0
  287. package/dist/list/index.d.ts +4 -0
  288. package/dist/list/index.js +2 -0
  289. package/dist/list/neo-list-base-item.model.d.ts +36 -7
  290. package/dist/list/neo-list-base-item.model.js +1 -0
  291. package/dist/list/neo-list-base-loader.model.d.ts +18 -1
  292. package/dist/list/neo-list-base-section.model.d.ts +8 -5
  293. package/dist/list/neo-list-search.model.d.ts +2 -2
  294. package/dist/list/neo-list.model.d.ts +120 -51
  295. package/dist/list/neo-list.model.js +18 -0
  296. package/dist/list/neo-simple-list.model.d.ts +124 -0
  297. package/dist/list/neo-simple-list.model.js +1 -0
  298. package/dist/list/neo-virtual-list.model.d.ts +69 -0
  299. package/dist/list/neo-virtual-list.model.js +6 -0
  300. package/dist/loading/NeoLoadingMatrix.svelte +2 -2
  301. package/dist/loading/neo-lazy.model.d.ts +2 -2
  302. package/dist/loading/neo-suspense.model.d.ts +1 -1
  303. package/dist/media/NeoImage.svelte +204 -0
  304. package/dist/media/NeoImage.svelte.d.ts +4 -0
  305. package/dist/media/NeoMedia.svelte +204 -0
  306. package/dist/media/NeoMedia.svelte.d.ts +4 -0
  307. package/dist/media/index.d.ts +2 -0
  308. package/dist/media/index.js +1 -0
  309. package/dist/media/neo-image.model.d.ts +67 -0
  310. package/dist/media/neo-image.model.js +1 -0
  311. package/dist/media/neo-media.model.d.ts +120 -0
  312. package/dist/media/neo-media.model.js +5 -0
  313. package/dist/nav/NeoTab.svelte +20 -15
  314. package/dist/nav/NeoTab.svelte.d.ts +17 -2
  315. package/dist/nav/NeoTabPanel.svelte +7 -5
  316. package/dist/nav/NeoTabPanel.svelte.d.ts +17 -2
  317. package/dist/nav/NeoTabs.svelte +21 -17
  318. package/dist/nav/NeoTabs.svelte.d.ts +19 -3
  319. package/dist/nav/NeoTabsCard.svelte +5 -3
  320. package/dist/nav/NeoTabsCard.svelte.d.ts +17 -2
  321. package/dist/nav/NeoTabsRow.svelte +225 -0
  322. package/dist/nav/NeoTabsRow.svelte.d.ts +19 -0
  323. package/dist/nav/index.d.ts +2 -0
  324. package/dist/nav/index.js +1 -0
  325. package/dist/nav/neo-tab-panel.model.d.ts +3 -3
  326. package/dist/nav/neo-tab.model.d.ts +15 -5
  327. package/dist/nav/neo-tabs-card.model.d.ts +3 -2
  328. package/dist/nav/neo-tabs-context.svelte.d.ts +35 -29
  329. package/dist/nav/neo-tabs-context.svelte.js +17 -3
  330. package/dist/nav/neo-tabs-row.model.d.ts +85 -0
  331. package/dist/nav/neo-tabs-row.model.js +1 -0
  332. package/dist/nav/neo-tabs.model.d.ts +12 -11
  333. package/dist/pill/NeoPill.svelte +73 -14
  334. package/dist/pill/neo-pill.model.d.ts +25 -1
  335. package/dist/progress/NeoProgress.svelte +203 -42
  336. package/dist/progress/NeoProgress.svelte.d.ts +8 -8
  337. package/dist/progress/NeoProgressBar.svelte +37 -6
  338. package/dist/progress/NeoProgressBar.svelte.d.ts +9 -1
  339. package/dist/progress/index.d.ts +1 -0
  340. package/dist/progress/index.js +1 -0
  341. package/dist/progress/neo-progress-bar.model.d.ts +11 -6
  342. package/dist/progress/neo-progress-service.svelte.d.ts +47 -0
  343. package/dist/progress/neo-progress-service.svelte.js +157 -0
  344. package/dist/progress/neo-progress.model.d.ts +98 -41
  345. package/dist/progress/neo-progress.model.js +6 -1
  346. package/dist/providers/NeoRememberSelector.svelte +43 -0
  347. package/dist/providers/NeoRememberSelector.svelte.d.ts +4 -0
  348. package/dist/providers/NeoResetSelector.svelte +40 -0
  349. package/dist/providers/NeoResetSelector.svelte.d.ts +4 -0
  350. package/dist/providers/NeoSourceSelector.svelte +63 -0
  351. package/dist/providers/NeoSourceSelector.svelte.d.ts +4 -0
  352. package/dist/providers/NeoThemeProvider.svelte +25 -10
  353. package/dist/providers/NeoThemeProvider.svelte.d.ts +1 -2
  354. package/dist/providers/NeoThemeSelector.svelte +26 -108
  355. package/dist/providers/NeoThemeSelector.svelte.d.ts +1 -1
  356. package/dist/providers/NeoThemeSelectors.svelte +57 -0
  357. package/dist/providers/NeoThemeSelectors.svelte.d.ts +4 -0
  358. package/dist/providers/NeoTransitionSelector.svelte +57 -0
  359. package/dist/providers/NeoTransitionSelector.svelte.d.ts +4 -0
  360. package/dist/providers/index.d.ts +10 -0
  361. package/dist/providers/index.js +5 -0
  362. package/dist/providers/neo-remember-selector.model.d.ts +9 -0
  363. package/dist/providers/neo-remember-selector.model.js +2 -0
  364. package/dist/providers/neo-reset-selector.model.d.ts +9 -0
  365. package/dist/providers/neo-reset-selector.model.js +1 -0
  366. package/dist/providers/neo-source-selector.model.d.ts +9 -0
  367. package/dist/providers/neo-source-selector.model.js +2 -0
  368. package/dist/providers/neo-theme-provider-context.svelte.d.ts +14 -3
  369. package/dist/providers/neo-theme-provider-context.svelte.js +94 -11
  370. package/dist/providers/neo-theme-provider.model.d.ts +31 -3
  371. package/dist/providers/neo-theme-provider.model.js +9 -0
  372. package/dist/providers/neo-theme-selector.model.d.ts +3 -48
  373. package/dist/providers/neo-theme-selector.model.js +1 -0
  374. package/dist/providers/neo-theme-selectors.model.d.ts +84 -0
  375. package/dist/providers/neo-theme-selectors.model.js +1 -0
  376. package/dist/providers/neo-transition-selector.model.d.ts +9 -0
  377. package/dist/providers/neo-transition-selector.model.js +2 -0
  378. package/dist/skeletons/NeoSkeletonContainer.svelte +3 -1
  379. package/dist/skeletons/NeoSkeletonMedia.svelte +26 -18
  380. package/dist/skeletons/NeoSkeletonText.svelte +5 -3
  381. package/dist/skeletons/neo-skeleton-container.model.d.ts +9 -0
  382. package/dist/skeletons/neo-skeleton-media.model.d.ts +20 -10
  383. package/dist/skeletons/neo-skeleton-media.model.js +7 -1
  384. package/dist/skeletons/neo-skeleton-text.model.d.ts +5 -0
  385. package/dist/stepper/NeoStepper.svelte +20 -20
  386. package/dist/stepper/NeoStepper.svelte.d.ts +9 -2
  387. package/dist/stepper/neo-stepper.model.d.ts +5 -5
  388. package/dist/styles/animation.scss +76 -0
  389. package/dist/styles/common/colors.scss +15 -9
  390. package/dist/styles/common/properties.css +18 -0
  391. package/dist/styles/common/spacing.scss +8 -4
  392. package/dist/styles/common/typography.scss +13 -3
  393. package/dist/styles/common/utils.scss +2 -2
  394. package/dist/styles/mixin.scss +125 -11
  395. package/dist/styles/theme.scss +20 -0
  396. package/dist/styles/transition.scss +101 -0
  397. package/dist/text/NeoEllipsis.svelte +1 -0
  398. package/dist/text/NeoHtml.svelte +26 -0
  399. package/dist/text/NeoHtml.svelte.d.ts +7 -0
  400. package/dist/text/NeoMark.svelte +18 -5
  401. package/dist/text/NeoTypewriter.svelte +5 -4
  402. package/dist/text/NeoTypewriter.svelte.d.ts +5 -1
  403. package/dist/text/index.d.ts +2 -0
  404. package/dist/text/index.js +1 -0
  405. package/dist/text/neo-html.model.d.ts +4 -0
  406. package/dist/text/neo-html.model.js +1 -0
  407. package/dist/text/neo-mark.model.d.ts +8 -0
  408. package/dist/text/typewriter.utils.d.ts +2 -2
  409. package/dist/text/typewriter.utils.js +8 -9
  410. package/dist/utils/action.utils.d.ts +1 -21
  411. package/dist/utils/border.utils.d.ts +13 -0
  412. package/dist/utils/border.utils.js +18 -0
  413. package/dist/utils/colors.utils.d.ts +1 -1
  414. package/dist/utils/error.utils.d.ts +22 -0
  415. package/dist/utils/error.utils.js +36 -0
  416. package/dist/utils/style.utils.d.ts +1 -1
  417. package/package.json +55 -39
  418. package/dist/icons/IconAccount.svelte.d.ts +0 -4
  419. package/dist/icons/IconAdd.svelte.d.ts +0 -26
  420. package/dist/icons/IconAddress.svelte.d.ts +0 -4
  421. package/dist/icons/IconAlert.svelte.d.ts +0 -26
  422. package/dist/icons/IconAlignBottom.svelte.d.ts +0 -26
  423. package/dist/icons/IconAlignMiddle.svelte.d.ts +0 -26
  424. package/dist/icons/IconAlignTop.svelte.d.ts +0 -26
  425. package/dist/icons/IconArrow.svelte.d.ts +0 -4
  426. package/dist/icons/IconBouncingDots.svelte +0 -63
  427. package/dist/icons/IconBouncingDots.svelte.d.ts +0 -4
  428. package/dist/icons/IconCalendar.svelte.d.ts +0 -26
  429. package/dist/icons/IconCancel.svelte.d.ts +0 -4
  430. package/dist/icons/IconCheckbox.svelte.d.ts +0 -4
  431. package/dist/icons/IconClear.svelte.d.ts +0 -26
  432. package/dist/icons/IconClose.svelte.d.ts +0 -4
  433. package/dist/icons/IconConfirm.svelte.d.ts +0 -26
  434. package/dist/icons/IconDoubleChevron.svelte.d.ts +0 -26
  435. package/dist/icons/IconDoubleChevronLeft.svelte.d.ts +0 -26
  436. package/dist/icons/IconDoubleChevronRight.svelte.d.ts +0 -26
  437. package/dist/icons/IconDownload.svelte.d.ts +0 -26
  438. package/dist/icons/IconEmpty.svelte +0 -18
  439. package/dist/icons/IconEmpty.svelte.d.ts +0 -26
  440. package/dist/icons/IconFileUpload.svelte.d.ts +0 -26
  441. package/dist/icons/IconGithub.svelte.d.ts +0 -26
  442. package/dist/icons/IconImage.svelte +0 -26
  443. package/dist/icons/IconImage.svelte.d.ts +0 -26
  444. package/dist/icons/IconList.svelte.d.ts +0 -26
  445. package/dist/icons/IconListSmall.svelte.d.ts +0 -4
  446. package/dist/icons/IconLoadingMatrix.svelte.d.ts +0 -4
  447. package/dist/icons/IconMail.svelte.d.ts +0 -26
  448. package/dist/icons/IconMinus.svelte.d.ts +0 -26
  449. package/dist/icons/IconPaint.svelte.d.ts +0 -26
  450. package/dist/icons/IconPencil.svelte.d.ts +0 -26
  451. package/dist/icons/IconPlayPause.svelte.d.ts +0 -4
  452. package/dist/icons/IconQuestionMark.svelte.d.ts +0 -26
  453. package/dist/icons/IconRadio.svelte.d.ts +0 -4
  454. package/dist/icons/IconSave.svelte +0 -25
  455. package/dist/icons/IconSave.svelte.d.ts +0 -26
  456. package/dist/icons/IconSaveOff.svelte +0 -32
  457. package/dist/icons/IconSaveOff.svelte.d.ts +0 -26
  458. package/dist/icons/IconSearch.svelte.d.ts +0 -26
  459. package/dist/icons/IconSun.svelte.d.ts +0 -26
  460. package/dist/icons/IconSunMoon.svelte.d.ts +0 -4
  461. package/dist/icons/IconTextHighlight.svelte.d.ts +0 -26
  462. package/dist/icons/IconVideo.svelte.d.ts +0 -26
  463. package/dist/icons/IconWatch.svelte +0 -29
  464. package/dist/icons/IconWatch.svelte.d.ts +0 -26
  465. package/dist/icons/IconWatchOff.svelte +0 -34
  466. package/dist/icons/IconWatchOff.svelte.d.ts +0 -26
@@ -0,0 +1,54 @@
1
+ import type { NeoNotificationStackProps } from './neo-notification-stack.model.js';
2
+ import type { NeoNotification, NeoNotificationQueued } from './neo-notification.model.js';
3
+ import type { HTMLNeoBaseElement } from '../../utils/html-element.utils.js';
4
+ export interface NeoNotificationItemProps<Tag extends keyof HTMLElementTagNameMap = 'li'> extends Omit<HTMLNeoBaseElement, 'children' | 'color'>, Pick<NeoNotification, 'restartOnTouch' | 'containerProps' | 'progressProps' | 'actionProps' | 'closeProps' | 'close' | 'loading' | 'progress' | 'elevation' | 'blur' | 'color' | 'rounded' | 'tinted' | 'filled' | 'borderless' | 'before' | 'after'> {
5
+ children?: NeoNotificationStackProps['children'];
6
+ ref?: HTMLElement;
7
+ hovered?: boolean;
8
+ focused?: boolean;
9
+ tag?: Tag | keyof HTMLElementTagNameMap;
10
+ index: number;
11
+ item: NeoNotificationQueued;
12
+ posinset: number;
13
+ setsize: number;
14
+ visible?: number;
15
+ expand?: boolean;
16
+ reverse?: boolean;
17
+ draggable?: NeoNotificationStackProps['draggable'];
18
+ swipeable?: NeoNotificationStackProps['swipeable'];
19
+ placement?: NeoNotificationStackProps['placement'];
20
+ threshold?: NeoNotificationStackProps['threshold'];
21
+ stagger?: NeoNotificationStackProps['stagger'];
22
+ /**
23
+ * If true, a notification from the stack has recently been swiped.
24
+ * This is used to prevent the item from being swiped again immediately after a swipe.
25
+ *
26
+ * @default false
27
+ */
28
+ swiped?: boolean;
29
+ onChange?: (payload: {
30
+ item: NeoNotificationQueued;
31
+ index: number;
32
+ hovered: boolean;
33
+ focused: boolean;
34
+ event: PointerEvent | FocusEvent;
35
+ }) => void;
36
+ onDrag?: (payload: {
37
+ item: NeoNotificationQueued;
38
+ index: number;
39
+ event: PointerEvent | WheelEvent;
40
+ initial: {
41
+ x: number;
42
+ y: number;
43
+ } | false;
44
+ offset: {
45
+ x: number;
46
+ y: number;
47
+ };
48
+ }) => void;
49
+ onCancel?: (payload: {
50
+ item: NeoNotificationQueued;
51
+ index: number;
52
+ event: PointerEvent | WheelEvent | MouseEvent;
53
+ }) => void;
54
+ }
@@ -0,0 +1,78 @@
1
+ import type { Snippet } from 'svelte';
2
+ import type { SvelteMap } from 'svelte/reactivity';
3
+ import type { NeoNotificationStackProps } from './neo-notification-stack.model.js';
4
+ import type { NeoNotification, NeoNotificationDeQueued, NeoNotificationQueued } from './neo-notification.model.js';
5
+ type NeoNotificationServices = SvelteMap<NeoNotificationStackService['id'], NeoNotificationStackService>;
6
+ export interface NotificationProviderProps {
7
+ /**
8
+ * The children to render inside the notification provider.
9
+ */
10
+ children?: Snippet<[NeoNotificationServices]>;
11
+ /**
12
+ * Service map for notification stacks.
13
+ */
14
+ services?: NeoNotificationServices;
15
+ /**
16
+ * Optional notification stack properties.
17
+ * If set to `false`, no default stack will be created.
18
+ */
19
+ stack?: NeoNotificationStackProps | false;
20
+ }
21
+ export interface NeoNotificationStackService {
22
+ /**
23
+ * Unique identifier for the notification stack.
24
+ */
25
+ id: NeoNotificationStackProps['id'];
26
+ /**
27
+ * Adds a notification to the stack.
28
+ * @param notification - The notification to add.
29
+ * @returns A promise that resolves when the notification is processed.
30
+ */
31
+ add: (notification: NeoNotification) => NeoNotificationQueued;
32
+ /**
33
+ * Retrieves a notification from the stack by its ID.
34
+ * @param id - The Unique ID of the notification to retrieve.
35
+ */
36
+ get: (id: string) => NeoNotificationQueued | undefined;
37
+ /**
38
+ * Removes a notification from the stack by its ID.
39
+ * @param id - The Unique ID of the notification to remove.
40
+ */
41
+ remove: (id: string) => NeoNotificationDeQueued;
42
+ /**
43
+ * Updates an existing notification in the stack.
44
+ * @param id - The ID of the notification to update.
45
+ * @param update - The properties to update.
46
+ * @returns The updated notification, or undefined if not found.
47
+ */
48
+ update: (id: string, update: Omit<NeoNotification, 'id'>) => NeoNotificationQueued;
49
+ /**
50
+ * Pauses or resumes the notification stack.
51
+ * @param pause - If true, pauses the stack; if false, resumes it.
52
+ */
53
+ pause: (pause?: boolean) => void;
54
+ /**
55
+ * Restarts a notification in the stack with a new duration.
56
+ * @param id - The ID of the notification to restart.
57
+ * @param options - Whether to unshift the notification to the front of the queue.
58
+ * @param options.duration - The new duration for the notification. If not provided, the original duration will be used.
59
+ * @param options.unshift - If true, the notification will be moved to the front of the queue. Default is false.
60
+ */
61
+ restart: (id: string, options?: {
62
+ duration?: number;
63
+ unshift?: boolean;
64
+ }) => NeoNotificationQueued;
65
+ /**
66
+ * Clears all notifications from the stack.
67
+ */
68
+ clear: () => void;
69
+ }
70
+ export interface NeoNotificationProviderContext {
71
+ register: (service: NeoNotificationStackService) => void;
72
+ unregister: (id: NeoNotificationStackService['id']) => void;
73
+ get: (id?: NeoNotificationStackService['id']) => NeoNotificationStackService | undefined;
74
+ }
75
+ export declare function setNeoNotificationProviderContext(context: NeoNotificationProviderContext): NeoNotificationProviderContext;
76
+ export declare function getNeoNotificationProviderContext(): NeoNotificationProviderContext;
77
+ export declare function useNotificationService(id?: NeoNotificationStackService['id']): NeoNotificationStackService;
78
+ export {};
@@ -0,0 +1,18 @@
1
+ import { getContext, setContext } from 'svelte';
2
+ import { NeoErrorNotificationServiceNotFound } from '../../utils/error.utils.js';
3
+ const NeoNotificationProviderContextSymbol = Symbol('NeoNotificationProviderContext');
4
+ export function setNeoNotificationProviderContext(context) {
5
+ return setContext(NeoNotificationProviderContextSymbol, context);
6
+ }
7
+ export function getNeoNotificationProviderContext() {
8
+ return getContext(NeoNotificationProviderContextSymbol);
9
+ }
10
+ export function useNotificationService(id) {
11
+ const context = getNeoNotificationProviderContext();
12
+ if (!context)
13
+ throw new NeoErrorNotificationServiceNotFound();
14
+ const service = context.get(id);
15
+ if (!service)
16
+ throw new NeoErrorNotificationServiceNotFound(id);
17
+ return service;
18
+ }
@@ -0,0 +1,48 @@
1
+ import type { SvelteMap } from 'svelte/reactivity';
2
+ import type { NeoNotificationPlacement } from '../common/neo-placement.model.js';
3
+ import type { NeoNotification, NeoNotificationQueued, NeoNotificationStackDirections } from './neo-notification.model.js';
4
+ import type { NeoPortalProps } from '../portal/neo-portal.model.js';
5
+ export interface NeoNotificationStackProps<Tag extends keyof HTMLElementTagNameMap = 'ol'> extends Pick<NeoNotification, 'duration' | 'restartOnTouch' | 'pauseOnHover' | 'progressProps' | 'actionProps' | 'closeProps' | 'containerProps' | 'close' | 'loading' | 'progress' | 'elevation' | 'blur' | 'color' | 'rounded' | 'tinted' | 'filled' | 'borderless' | 'before' | 'after'> {
6
+ children?: NeoNotification['render'];
7
+ /**
8
+ * Unique identifier for the notification stack.
9
+ */
10
+ id?: string;
11
+ ref?: HTMLElementTagNameMap[Tag];
12
+ tag?: Tag;
13
+ queue?: SvelteMap<NonNullable<NeoNotificationQueued['id']>, NeoNotificationQueued>;
14
+ paused?: boolean;
15
+ hovered?: boolean;
16
+ focused?: boolean;
17
+ expand?: boolean;
18
+ delay?: number;
19
+ max?: number;
20
+ /**
21
+ * If true, notifications can be dragged to dismiss them.
22
+ * @default true
23
+ */
24
+ draggable?: boolean;
25
+ /**
26
+ * If true, notifications can be swiped to dismiss them.
27
+ * @default true
28
+ */
29
+ swipeable?: boolean;
30
+ /**
31
+ * The fraction of the notification stack height/width that must be scrolled before the notification is considered dismissed.
32
+ * @default 3 (1/3 of the stack height/width)
33
+ */
34
+ threshold?: number | {
35
+ x: number;
36
+ y: number;
37
+ };
38
+ /**
39
+ * The offset in pixels to apply when stacking notifications.
40
+ * @see expand
41
+ * @default 16
42
+ */
43
+ stagger?: number;
44
+ placement?: NeoNotificationPlacement;
45
+ direction?: NeoNotificationStackDirections;
46
+ portal?: boolean;
47
+ portalProps?: NeoPortalProps;
48
+ }
@@ -0,0 +1,271 @@
1
+ import type { Snippet } from 'svelte';
2
+ import type { NeoButtonProps } from '../../buttons/neo-button.model.js';
3
+ import type { NeoCloseButtonProps } from '../../buttons/neo-close-button.model.js';
4
+ import type { NeoProgressBarProps } from '../../progress/neo-progress-bar.model.js';
5
+ import type { BorderRadiusInput } from '../../utils/border.utils.js';
6
+ import type { Color } from '../../utils/colors.utils.js';
7
+ import type { HTMLNeoBaseElement, HTMLTagProps, SvelteEvent } from '../../utils/html-element.utils.js';
8
+ import type { BlurElevation, BlurElevationString, PositiveShadowElevation, PositiveShadowElevationString } from '../../utils/shadow.utils.js';
9
+ export declare const NeoNotificationStackDirection: {
10
+ readonly Up: "up";
11
+ readonly Down: "down";
12
+ };
13
+ export type NeoNotificationStackDirections = (typeof NeoNotificationStackDirection)[keyof typeof NeoNotificationStackDirection];
14
+ export declare const NeoNotificationStatus: {
15
+ /**
16
+ * The notification is pending and will be displayed in the queue.
17
+ */
18
+ readonly Pending: "pending";
19
+ /**
20
+ * The notification has been dismissed by the user.
21
+ */
22
+ readonly Dismissed: "dismissed";
23
+ /**
24
+ * The notification has been cancelled by programmatic action.
25
+ */
26
+ readonly Cancelled: "cancelled";
27
+ /**
28
+ * The notification duration has expired.
29
+ */
30
+ readonly Expired: "expired";
31
+ };
32
+ export type NeoNotificationStatuses = (typeof NeoNotificationStatus)[keyof typeof NeoNotificationStatus];
33
+ export declare const NeoNotificationType: {
34
+ /**
35
+ * The notification is an info message.
36
+ */
37
+ readonly Info: "info";
38
+ /**
39
+ * The notification is a warning message.
40
+ */
41
+ readonly Warning: "warning";
42
+ /**
43
+ * The notification is an error message.
44
+ */
45
+ readonly Error: "error";
46
+ /**
47
+ * The notification is a success message.
48
+ */
49
+ readonly Success: "success";
50
+ /**
51
+ * The notification is a default message.
52
+ */
53
+ readonly Default: "default";
54
+ };
55
+ export type NeoNotificationTypes = (typeof NeoNotificationType)[keyof typeof NeoNotificationType];
56
+ export declare const NeoNotificationEvent: {
57
+ /**
58
+ * The notification has changed its status.
59
+ */
60
+ readonly Status: "status";
61
+ /**
62
+ * The notification content has changed.
63
+ */
64
+ readonly Update: "update";
65
+ /**
66
+ * The notification timeout has been paused.
67
+ */
68
+ readonly Paused: "paused";
69
+ /**
70
+ * The notification timeout has been resumed or restarted.
71
+ */
72
+ readonly Restart: "restart";
73
+ /**
74
+ * The notification has been hidden either by queue eviction or if the max visible queue size was reached.
75
+ */
76
+ readonly Hidden: "hidden";
77
+ /**
78
+ * The notification has been show, either by being added to the queue or if an earlier notification was dismissed.
79
+ */
80
+ readonly Visible: "visible";
81
+ };
82
+ export type NeoNotificationEvents = (typeof NeoNotificationEvent)[keyof typeof NeoNotificationEvent];
83
+ export type NeoNotificationBlur = BlurElevation | BlurElevationString;
84
+ export type NeoNotificationElevation = PositiveShadowElevation | PositiveShadowElevationString;
85
+ export type NeoNotificationClickResult = NeoNotificationStatuses | false | undefined | void;
86
+ export interface NeoNotification {
87
+ /**
88
+ * A function that renders the notification content.
89
+ */
90
+ render?: Snippet<[NeoNotificationQueued]>;
91
+ /**
92
+ * Optional snippets to run before and after the notification is queued.
93
+ */
94
+ before?: Snippet<[NeoNotificationQueued]>;
95
+ /**
96
+ * Optional snippets to run after the notification is de-queued.
97
+ */
98
+ after?: Snippet<[NeoNotificationQueued]>;
99
+ /**
100
+ * Unique identifier for the notification.
101
+ */
102
+ id?: string;
103
+ /**
104
+ * The type of the notification.
105
+ */
106
+ type?: NeoNotificationTypes;
107
+ /**
108
+ * The title of the notification.
109
+ */
110
+ title?: string;
111
+ /**
112
+ * The subtitle of the notification.
113
+ */
114
+ subtitle?: string;
115
+ /**
116
+ * The content of the notification.
117
+ */
118
+ content?: string;
119
+ /**
120
+ * Whether the notification is currently loading.
121
+ *
122
+ * @default false
123
+ */
124
+ loading?: boolean;
125
+ /**
126
+ * Whether the notification has a progress bar.
127
+ * Defaults to an indeterminate progress bar if true.
128
+ *
129
+ * @default false
130
+ */
131
+ progress?: boolean;
132
+ /**
133
+ * Whether the notification has a close button.
134
+ *
135
+ * @default true
136
+ */
137
+ close?: boolean;
138
+ /**
139
+ * Duration in milliseconds for which the notification will be displayed.
140
+ * If not specified, the notification will remain until manually dismissed.
141
+ *
142
+ * @default 0 (indefinite)
143
+ */
144
+ duration?: number;
145
+ /**
146
+ * If true, the notification will be restarted when the user interacts with it (e.g., hover, click, touch).
147
+ * @default true
148
+ */
149
+ restartOnTouch?: boolean;
150
+ /**
151
+ * If true, notifications timeout will be paused while the user hovers over the notification.
152
+ * @default true
153
+ */
154
+ pauseOnHover?: boolean;
155
+ /**
156
+ * The shadow elevation of the notification.
157
+ *
158
+ * @default 1
159
+ */
160
+ elevation?: NeoNotificationElevation;
161
+ /**
162
+ * The blur level to apply to the notification backdrop (0 to 5).
163
+ *
164
+ * @default 1
165
+ */
166
+ blur?: NeoNotificationBlur;
167
+ /**
168
+ * Text color to use for the notification.
169
+ */
170
+ color?: Color | CSSStyleDeclaration['color'];
171
+ /**
172
+ * If true, the notification will have a rounded border.
173
+ */
174
+ rounded?: BorderRadiusInput;
175
+ /**
176
+ * Tints the notification with the current color.
177
+ */
178
+ tinted?: boolean;
179
+ /**
180
+ * Fills the notification background.
181
+ */
182
+ filled?: boolean;
183
+ /**
184
+ * Whether to remove the border from the notification.
185
+ */
186
+ borderless?: boolean;
187
+ /**
188
+ * Event handler that fires when the notification state changes.
189
+ *
190
+ * State changes can include:
191
+ * - status changes (e.g., from pending to dismissed)
192
+ * - visibility changes (e.g., when the notification is shown or hidden)
193
+ * - timeout changes (e.g., when the notification is paused, resumed, or restarted)
194
+ */
195
+ onChange?: (event: NeoNotificationEvents, item: NeoNotificationQueued) => void;
196
+ /**
197
+ * Props to pass to the notification container element.
198
+ */
199
+ containerProps?: Omit<HTMLNeoBaseElement, 'children'> & HTMLTagProps;
200
+ /**
201
+ * Optional progress bar properties to display a progress bar within the notification.
202
+ */
203
+ progressProps?: NeoProgressBarProps;
204
+ /**
205
+ * Optional action button properties to display an action button within the notification.
206
+ */
207
+ actionProps?: Omit<NeoButtonProps, 'onclick'> & {
208
+ onclick?: (e: SvelteEvent<MouseEvent>, checked?: boolean) => NeoNotificationClickResult | Promise<NeoNotificationClickResult>;
209
+ };
210
+ /**
211
+ * Optional close button properties to display a close button within the notification.
212
+ */
213
+ closeProps?: NeoCloseButtonProps;
214
+ }
215
+ export interface NeoNotificationDeQueued extends NeoNotification {
216
+ /**
217
+ * Unique identifier for the notification.
218
+ */
219
+ id: NonNullable<NeoNotification['id']>;
220
+ /**
221
+ * The notification's current status.
222
+ */
223
+ status: NeoNotificationStatuses;
224
+ /**
225
+ * The timestamp when the notification was added to the queue.
226
+ */
227
+ added: number;
228
+ /**
229
+ * The timestamp when the item was paused in the queue.
230
+ */
231
+ paused?: number;
232
+ /**
233
+ * The timestamp when the notification was shown (either by being added to the queue or if an earlier notification was dismissed).
234
+ */
235
+ visible?: number;
236
+ /**
237
+ * The timestamp when the notification was hidden (either by dismissal or if the max queue size was reached).
238
+ */
239
+ hidden?: number;
240
+ /**
241
+ * The timestamp when the notification was removed from the queue.
242
+ */
243
+ removed?: number;
244
+ }
245
+ export interface NeoNotificationQueued extends NeoNotificationDeQueued {
246
+ /**
247
+ * The notification's timeout reference.
248
+ */
249
+ timeout?: ReturnType<typeof setTimeout>;
250
+ /**
251
+ * The promise that resolves when the notification is de-queued.
252
+ */
253
+ promise: Promise<NeoNotificationDeQueued>;
254
+ /**
255
+ * Force the notification to be de-queued with the specified status.
256
+ * @param status
257
+ */
258
+ cancel: (status?: NeoNotificationStatuses) => NeoNotificationDeQueued;
259
+ /**
260
+ * Update the notification with new properties while in the queue.
261
+ * @param update
262
+ */
263
+ update: (update: Omit<NeoNotification, 'id'>) => NeoNotificationQueued;
264
+ /**
265
+ * Restart the notification's duration.
266
+ */
267
+ restart: (options?: {
268
+ duration?: number;
269
+ unshift?: boolean;
270
+ }) => NeoNotificationQueued;
271
+ }
@@ -0,0 +1,70 @@
1
+ export const NeoNotificationStackDirection = {
2
+ Up: 'up',
3
+ Down: 'down',
4
+ };
5
+ export const NeoNotificationStatus = {
6
+ /**
7
+ * The notification is pending and will be displayed in the queue.
8
+ */
9
+ Pending: 'pending',
10
+ /**
11
+ * The notification has been dismissed by the user.
12
+ */
13
+ Dismissed: 'dismissed',
14
+ /**
15
+ * The notification has been cancelled by programmatic action.
16
+ */
17
+ Cancelled: 'cancelled',
18
+ /**
19
+ * The notification duration has expired.
20
+ */
21
+ Expired: 'expired',
22
+ };
23
+ export const NeoNotificationType = {
24
+ /**
25
+ * The notification is an info message.
26
+ */
27
+ Info: 'info',
28
+ /**
29
+ * The notification is a warning message.
30
+ */
31
+ Warning: 'warning',
32
+ /**
33
+ * The notification is an error message.
34
+ */
35
+ Error: 'error',
36
+ /**
37
+ * The notification is a success message.
38
+ */
39
+ Success: 'success',
40
+ /**
41
+ * The notification is a default message.
42
+ */
43
+ Default: 'default',
44
+ };
45
+ export const NeoNotificationEvent = {
46
+ /**
47
+ * The notification has changed its status.
48
+ */
49
+ Status: 'status',
50
+ /**
51
+ * The notification content has changed.
52
+ */
53
+ Update: 'update',
54
+ /**
55
+ * The notification timeout has been paused.
56
+ */
57
+ Paused: 'paused',
58
+ /**
59
+ * The notification timeout has been resumed or restarted.
60
+ */
61
+ Restart: 'restart',
62
+ /**
63
+ * The notification has been hidden either by queue eviction or if the max visible queue size was reached.
64
+ */
65
+ Hidden: 'hidden',
66
+ /**
67
+ * The notification has been show, either by being added to the queue or if an earlier notification was dismissed.
68
+ */
69
+ Visible: 'visible',
70
+ };
@@ -0,0 +1,14 @@
1
+ import type { NeoNotificationItemProps } from './neo-notification-item.model.js';
2
+ import type { NeoNotification } from './neo-notification.model.js';
3
+ import type { NeoProgressHTMLElement } from '../../progress/neo-progress.model.js';
4
+ import type { HTMLNeoBaseElement } from '../../utils/html-element.utils.js';
5
+ export interface NeoSimpleNotificationProps<Tag extends keyof HTMLElementTagNameMap = 'div'> extends Omit<HTMLNeoBaseElement, 'children'>, Pick<NeoNotificationItemProps, 'before' | 'after' | 'item' | 'index' | 'restartOnTouch' | 'progress' | 'loading' | 'close' | 'rounded' | 'progressProps' | 'actionProps' | 'closeProps' | 'onCancel'> {
6
+ /**
7
+ * Optional content to display below the notification content.
8
+ */
9
+ children?: NeoNotification['render'];
10
+ ref?: HTMLElement;
11
+ bar?: NeoProgressHTMLElement;
12
+ height?: HTMLElement['offsetHeight'];
13
+ tag?: Tag | keyof HTMLElementTagNameMap;
14
+ }
@@ -1,30 +1,33 @@
1
1
  <script lang="ts">
2
- import type { Snippet } from 'svelte';
3
-
4
2
  import type { NeoPortalProps } from './neo-portal.model.js';
5
3
 
6
4
  import { mount, unmount } from 'svelte';
7
5
 
8
6
  import { getNeoPortalContext } from './neo-portal-context.svelte.js';
7
+ import NeoPortalTarget from './NeoPortalTarget.svelte';
9
8
 
10
- const { enabled = false, children, props: _props, outro = true, target = document.body, anchor, ...rest }: NeoPortalProps = $props();
9
+ const { enabled = false, children, outro = true, target = document.body, anchor, ...rest }: NeoPortalProps = $props();
11
10
 
12
11
  const portalContext = getNeoPortalContext();
13
12
 
14
13
  let component: ReturnType<typeof mount>;
15
14
  $effect.pre(() => {
16
15
  if (!children || !enabled) return;
17
- component = mount(children, { target, anchor: anchor ?? portalContext?.ref, props: _props, ...rest });
16
+
17
+ component = mount(NeoPortalTarget, {
18
+ target,
19
+ anchor: anchor ?? portalContext?.ref,
20
+ props: { children },
21
+ ...rest,
22
+ });
18
23
 
19
24
  return () => {
20
25
  if (!component) return;
21
26
  unmount(component, { outro });
22
27
  };
23
28
  });
24
-
25
- const snippet = $derived(children as Snippet<[typeof _props]>);
26
29
  </script>
27
30
 
28
- {#if !enabled && snippet}
29
- {@render snippet(_props)}
31
+ {#if !enabled && children}
32
+ {@render children()}
30
33
  {/if}
@@ -0,0 +1,7 @@
1
+ <script lang="ts">
2
+ import type { Snippet } from 'svelte';
3
+
4
+ const { children }: { children: Snippet } = $props();
5
+ </script>
6
+
7
+ {@render children?.()}
@@ -0,0 +1,7 @@
1
+ import type { Snippet } from 'svelte';
2
+ type $$ComponentProps = {
3
+ children: Snippet;
4
+ };
5
+ declare const NeoPortalTarget: import("svelte").Component<$$ComponentProps, {}, "">;
6
+ type NeoPortalTarget = ReturnType<typeof NeoPortalTarget>;
7
+ export default NeoPortalTarget;
@@ -5,7 +5,7 @@ export declare class NeoPortalContext {
5
5
  get id(): string;
6
6
  get ref(): HTMLElement | undefined;
7
7
  get open(): number;
8
- get placement(): NeoDialogPlacement;
8
+ get placement(): NeoDialogPlacement | undefined;
9
9
  constructor(id: string);
10
10
  updateRef(ref?: HTMLElement): void;
11
11
  openDialog(id: string, placement: NeoDialogPlacement): void;
@@ -1,10 +1,9 @@
1
1
  import type { mount, Snippet } from 'svelte';
2
- export type NeoPortalChildren<Props extends Record<string, any>, Exports extends Record<string, any>> = Parameters<typeof mount<Props, Exports>>[0];
3
- export type NeoPortalMountOptions<Props extends Record<string, any>, Exports extends Record<string, any>> = Parameters<typeof mount<Props, Exports>>[1];
2
+ export type NeoPortalMountOptions = Pick<Parameters<typeof mount>[1], 'target' | 'anchor' | 'context' | 'intro'>;
4
3
  export interface NeoPortalUnmountOptions {
5
4
  outro?: boolean;
6
5
  }
7
- export type NeoPortalProps<Props extends Record<string, any> = Record<string, any>, Exports extends Record<string, any> = Record<string, any>> = {
6
+ export type NeoPortalProps = {
8
7
  enabled?: boolean;
9
- children: NeoPortalChildren<Props, Exports> | Snippet<[NeoPortalMountOptions<Props, Exports>['props']]>;
10
- } & Partial<NeoPortalMountOptions<Props, Exports>> & NeoPortalUnmountOptions;
8
+ children?: Snippet;
9
+ } & Partial<NeoPortalMountOptions> & NeoPortalUnmountOptions;
@@ -27,6 +27,7 @@
27
27
  tooltipRef = $bindable(),
28
28
  triggerRef = $bindable(),
29
29
  open = $bindable(false),
30
+ position = $bindable(),
30
31
  target,
31
32
  openDelay,
32
33
  hoverDelay,
@@ -124,6 +125,7 @@
124
125
  bind:ref={tooltipRef}
125
126
  bind:triggerRef
126
127
  bind:open
128
+ bind:position
127
129
  keepOpenOnFocus
128
130
  closeOnDismiss={closable}
129
131
  {tooltip}
@@ -1,4 +1,4 @@
1
1
  import type { NeoPopConfirmProps } from './neo-pop-confirm.model.js';
2
- declare const NeoPopConfirm: import("svelte").Component<NeoPopConfirmProps, {}, "disabled" | "loading" | "open" | "triggerRef" | "tooltipRef">;
2
+ declare const NeoPopConfirm: import("svelte").Component<NeoPopConfirmProps, {}, "loading" | "disabled" | "open" | "position" | "triggerRef" | "tooltipRef">;
3
3
  type NeoPopConfirm = ReturnType<typeof NeoPopConfirm>;
4
4
  export default NeoPopConfirm;