@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
@@ -94,3 +94,79 @@
94
94
  }
95
95
  }
96
96
  }
97
+
98
+ @mixin spin-in($scale: var(--neo-scale-target, 0.9)) {
99
+ @keyframes neo-spin-in {
100
+ 0% {
101
+ --neo-rotation: -90deg;
102
+
103
+ animation-timing-function: ease-in-out;
104
+ }
105
+
106
+ 20% {
107
+ --neo-scale: #{$scale};
108
+ --neo-rotation: -90deg;
109
+ }
110
+
111
+ 85% {
112
+ --neo-scale: #{$scale};
113
+ --neo-rotation: 0deg;
114
+
115
+ animation-timing-function: ease-in-out;
116
+ }
117
+
118
+ 100% {
119
+ --neo-rotation: 0deg;
120
+ }
121
+ }
122
+ }
123
+
124
+ @mixin spin-out($scale: var(--neo-scale-target, 0.9)) {
125
+ @keyframes neo-spin-out {
126
+ 0% {
127
+ --neo-rotation: 0deg;
128
+
129
+ animation-timing-function: ease-in-out;
130
+ }
131
+
132
+ 20% {
133
+ --neo-scale: #{$scale};
134
+ --neo-rotation: 0deg;
135
+ }
136
+
137
+ 85% {
138
+ --neo-scale: #{$scale};
139
+ --neo-rotation: 90deg;
140
+
141
+ animation-timing-function: ease-in-out;
142
+ }
143
+
144
+ 100% {
145
+ --neo-rotation: 90deg;
146
+ }
147
+ }
148
+ }
149
+
150
+ @mixin time-in($start: -0.1, $end: 1.1) {
151
+ @keyframes neo-time-in {
152
+ 0% {
153
+ --neo-time: #{$start};
154
+ }
155
+
156
+ 100% {
157
+ --neo-time: #{$end};
158
+ }
159
+ }
160
+ }
161
+
162
+ @mixin circle-in($circle-x: 50%, $circle-y: 0%, $size: 120%) {
163
+ @keyframes circle-in {
164
+ from {
165
+ clip-path: circle(0% at #{$circle-x} #{$circle-y});
166
+ }
167
+
168
+ to {
169
+ clip-path: circle(#{$size} at #{$circle-x} #{$circle-y});
170
+ }
171
+ }
172
+ }
@@ -7,6 +7,7 @@
7
7
  --neo-black: oklch(0% 0 0deg);
8
8
  --neo-grey: oklch(from var(--neo-black) calc(l + 0.29) c calc(h + 266));
9
9
  --neo-grey-dark: oklch(from var(--neo-grey) calc(l + 0.1) c h);
10
+ --neo-grey-light: oklch(from var(--neo-grey) calc(l + 0.2) c h);
10
11
  --neo-blue: oklch(50% 0.302 264.206deg);
11
12
  --neo-blue-dark: oklch(from var(--neo-blue) calc(l + 0.35) c h);
12
13
  --neo-purple-light: oklch(from var(--neo-purple) calc(l + 0.35) c h);
@@ -39,9 +40,10 @@
39
40
  // Text
40
41
  --neo-text-color: var(--neo-grey-dark);
41
42
  --neo-text-color-inverse: var(--neo-white-soft);
43
+ --neo-text-color-highlight: oklch(from currentcolor calc(l - 0.15) c h);
42
44
  --neo-text-color-secondary: color-mix(in srgb, currentcolor, white 20%);
43
45
  --neo-text-color-secondary-hover: color-mix(in srgb, currentcolor, white 10%);
44
- --neo-text-color-highlight: oklch(from currentcolor calc(l - 0.15) c h);
46
+ --neo-text-color-secondary-highlight: color-mix(in srgb, var(--neo-text-color-highlight), white 10%);
45
47
  --neo-text-color-active: color-mix(in srgb, currentcolor, white 10%);
46
48
  --neo-text-color-hover: oklch(from currentcolor calc(l + 0.075) c h);
47
49
  --neo-text-color-hover-active: color-mix(in srgb, var(--neo-text-color-hover), white 10%);
@@ -65,7 +67,9 @@
65
67
 
66
68
  // Background
67
69
  --neo-background-color: var(--neo-white-soft);
70
+ --neo-background-color-hover: oklch(from var(--neo-background-color) calc(l - 0.01) c h);
68
71
  --neo-background-color-tinted: color-mix(in srgb, var(--neo-background-color), currentcolor 2%);
72
+ --neo-background-color-tinted-hover: color-mix(in srgb, var(--neo-background-color), currentcolor 3%);
69
73
  --neo-background-color-secondary: color-mix(in srgb, var(--neo-background-color), black 5%);
70
74
  --neo-background-color-secondary-hover: color-mix(in srgb, var(--neo-background-color), black 8%);
71
75
  --neo-background-color-backdrop: color-mix(in srgb, transparent, var(--neo-background-color) 20%);
@@ -89,7 +93,9 @@
89
93
 
90
94
  // Background
91
95
  --neo-glass-background-color: color-mix(in srgb, transparent, currentcolor 1%);
96
+ --neo-glass-background-color-hover: color-mix(in srgb, transparent, currentcolor 2%);
92
97
  --neo-glass-background-color-tinted: color-mix(in srgb, transparent, currentcolor 5%);
98
+ --neo-glass-background-color-tinted-hover: color-mix(in srgb, transparent, currentcolor 4%);
93
99
 
94
100
  // Shadow
95
101
  --neo-glass-shadow-color-light: oklch(from var(--neo-shadow-color-light) l c h / 60%);
@@ -97,7 +103,7 @@
97
103
 
98
104
  // Border
99
105
  --neo-filled-border-color: var(--neo-shadow-color-light);
100
- --neo-glass-border-color: color-mix(in srgb, var(--neo-shadow-color-light), currentcolor 5%);
106
+ --neo-glass-border-color: color-mix(in srgb, oklch(from var(--neo-shadow-color-light) l c h / 10%), currentcolor 5%);
101
107
  --neo-glass-border-color-flat: color-mix(in srgb, var(--neo-glass-shadow-color-dark), currentcolor 10%);
102
108
  --neo-glass-border-color-flat-highlight: color-mix(in srgb, var(--neo-glass-shadow-color-dark), currentcolor 30%);
103
109
 
@@ -123,9 +129,10 @@
123
129
  // Text
124
130
  --neo-dark-text-color: var(--neo-white-soft);
125
131
  --neo-dark-text-color-inverse: var(--neo-grey);
132
+ --neo-dark-text-color-highlight: oklch(from currentcolor calc(l + 0.15) c h);
126
133
  --neo-dark-text-color-secondary: color-mix(in srgb, currentcolor, black 20%);
127
134
  --neo-dark-text-color-secondary-hover: color-mix(in srgb, currentcolor, black 10%);
128
- --neo-dark-text-color-highlight: oklch(from currentcolor calc(l + 0.15) c h);
135
+ --neo-dark-text-color-secondary-highlight: color-mix(in srgb, var(--neo-dark-text-color-highlight), black 20%);
129
136
  --neo-dark-text-color-active: color-mix(in srgb, currentcolor, black 10%);
130
137
  --neo-dark-text-color-hover: oklch(from currentcolor calc(l - 0.075) c h);
131
138
  --neo-dark-text-color-hover-active: color-mix(in srgb, var(--neo-dark-text-color-hover), black 10%);
@@ -146,6 +153,7 @@
146
153
 
147
154
  // Background
148
155
  --neo-dark-background-color: var(--neo-grey);
156
+ --neo-dark-background-color-hover: oklch(from var(--neo-dark-background-color) calc(l - 0.005) c h);
149
157
  --neo-dark-background-color-secondary: color-mix(in srgb, var(--neo-dark-background-color), white 5%);
150
158
  --neo-dark-background-color-secondary-hover: color-mix(in srgb, var(--neo-dark-background-color), white 8%);
151
159
  --neo-dark-background-color-backdrop: color-mix(in srgb, transparent, var(--neo-background-color) 20%);
@@ -165,16 +173,13 @@
165
173
  ** glass colors **
166
174
  ******************/
167
175
 
168
- // Background
169
- --neo-dark-glass-background-color: color-mix(in srgb, currentcolor, transparent 99%);
170
-
171
176
  // Shadow
172
177
  --neo-dark-glass-shadow-color-light: oklch(from var(--neo-dark-shadow-color-light) l c h / 60%);
173
178
  --neo-dark-glass-shadow-color-dark: oklch(from var(--neo-black) l c h / 18%);
174
179
 
175
180
  // Border
176
181
  --neo-dark-filled-border-color: var(--neo-dark-shadow-color-light);
177
- --neo-dark-glass-border-color: color-mix(in srgb, oklch(from var(--neo-dark-shadow-color-light) l c h / 5%), currentcolor 5%);
182
+ --neo-dark-glass-border-color: color-mix(in srgb, oklch(from var(--neo-dark-shadow-color-light) l c h / 10%), currentcolor 5%);
178
183
  --neo-dark-glass-border-color-flat: color-mix(in srgb, var(--neo-dark-glass-shadow-color-light), currentcolor 10%);
179
184
  --neo-dark-glass-border-color-flat-highlight: color-mix(in srgb, var(--neo-dark-glass-shadow-color-light), currentcolor 30%);
180
185
 
@@ -204,9 +209,10 @@
204
209
  // Text
205
210
  --neo-text-color: var(--neo-dark-text-color);
206
211
  --neo-text-color-inverse: var(--neo-dark-text-color-inverse);
212
+ --neo-text-color-highlight: var(--neo-dark-text-color-highlight);
207
213
  --neo-text-color-secondary: var(--neo-dark-text-color-secondary);
208
214
  --neo-text-color-secondary-hover: var(--neo-dark-text-color-secondary-hover);
209
- --neo-text-color-highlight: var(--neo-dark-text-color-highlight);
215
+ --neo-text-color-secondary-highlight: var(--neo-dark-text-color-secondary-highlight);
210
216
  --neo-text-color-active: var(--neo-dark-text-color-active);
211
217
  --neo-text-color-hover: var(--neo-dark-text-color-hover);
212
218
  --neo-text-color-hover-active: var(--neo-dark-text-color-hover-active);
@@ -226,6 +232,7 @@
226
232
 
227
233
  // Background
228
234
  --neo-background-color: var(--neo-dark-background-color);
235
+ --neo-background-color-hover: var(--neo-dark-background-color-hover);
229
236
  --neo-background-color-secondary: var(--neo-dark-background-color-secondary);
230
237
  --neo-background-color-secondary-hover: var(--neo-dark-background-color-secondary-hover);
231
238
  --neo-background-color-backdrop: var(--neo-dark-background-color-backdrop);
@@ -253,7 +260,6 @@
253
260
  --neo-glass-border-color-flat-highlight: var(--neo-dark-glass-border-color-flat-highlight);
254
261
 
255
262
  // Background
256
- --neo-glass-background-color: var(--neo-dark-glass-background-color);
257
263
  --neo-glass-shadow-color-light: var(--neo-dark-glass-shadow-color-light);
258
264
  --neo-glass-shadow-color-dark: var(--neo-dark-glass-shadow-color-dark);
259
265
 
@@ -27,3 +27,21 @@
27
27
  initial-value: transparent;
28
28
  inherits: true;
29
29
  }
30
+
31
+ @property --neo-rotation {
32
+ syntax: '<angle>';
33
+ inherits: false;
34
+ initial-value: 0deg;
35
+ }
36
+
37
+ @property --neo-scale {
38
+ syntax: '<number>';
39
+ inherits: false;
40
+ initial-value: 1;
41
+ }
42
+
43
+ @property --neo-time {
44
+ syntax: '<number>';
45
+ inherits: false;
46
+ initial-value: 0;
47
+ }
@@ -6,15 +6,19 @@
6
6
  --neo-border-radius-xs: 0.25rem;
7
7
  --neo-border-radius-sm: 0.375rem;
8
8
  --neo-border-radius: 0.5rem;
9
- --neo-border-radius-md: 1rem;
10
- --neo-border-radius-lg: 2rem;
9
+ --neo-border-radius-md: 0.75rem;
10
+ --neo-border-radius-lg: 1rem;
11
+ --neo-border-radius-xl: 1.5rem;
12
+ --neo-border-radius-xxl: 2rem;
13
+ --neo-border-radius-3xl: 3rem;
11
14
 
12
15
  /* Outline */
13
16
  --neo-outline-offset-width: -1px;
14
17
 
15
18
  /* Gap */
16
- --neo-gap-tiny: 0.25rem;
17
- --neo-gap-xxxs: 0.3125rem;
19
+ --neo-gap-5xs: 0.125rem;
20
+ --neo-gap-4xs: 0.25rem;
21
+ --neo-gap-3xs: 0.3125rem;
18
22
  --neo-gap-xxs: 0.5rem;
19
23
  --neo-gap-xs: 0.625rem;
20
24
  --neo-gap-sm: 0.75rem;
@@ -2,7 +2,7 @@
2
2
  /* Default font stack */
3
3
  --neo-font-family: -apple-system, ui-sans-serif, system-ui, 'Segoe UI', ui-rounded, sans-serif;
4
4
 
5
- /* font variables */
5
+ /* font sizes */
6
6
  --neo-font-size-xxs: 0.625rem;
7
7
  --neo-font-size-xs: 0.75rem;
8
8
  --neo-font-size-sm: 0.875rem;
@@ -11,7 +11,17 @@
11
11
  --neo-font-size-lg: 1.25rem;
12
12
  --neo-font-size-xl: 1.5rem;
13
13
  --neo-font-size-xxl: 1.875rem;
14
- --neo-font-size-xxxl: 2.125rem;
14
+ --neo-font-size-3xl: 2.125rem;
15
+
16
+ /* font weight */
17
+ --neo-font-weight-xxs: 100;
18
+ --neo-font-weight-xs: 200;
19
+ --neo-font-weight-sm: 300;
20
+ --neo-font-weight: normal;
21
+ --neo-font-weight-md: 500;
22
+ --neo-font-weight-lg: 600;
23
+ --neo-font-weight-xl: 700;
24
+ --neo-font-weight-xxl: 800;
15
25
 
16
26
  /* Line height */
17
27
  --neo-line-height-xxs: 0.75rem;
@@ -32,7 +42,7 @@
32
42
  }
33
43
 
34
44
  h1 {
35
- font-size: var(--neo-h1-font-size, var(--neo-font-size-xxxl));
45
+ font-size: var(--neo-h1-font-size, var(--neo-font-size-3xl));
36
46
  line-height: var(--neo-h1-line-height, 1);
37
47
  }
38
48
 
@@ -9,8 +9,8 @@
9
9
  --neo-blur-1: blur(4px);
10
10
  --neo-blur-2: blur(6px);
11
11
  --neo-blur-3: blur(8px);
12
- --neo-blur-4: blur(12px);
13
- --neo-blur-5: blur(16px);
12
+ --neo-blur-4: blur(16px);
13
+ --neo-blur-5: blur(32px);
14
14
 
15
15
  /* Saturation */
16
16
  --neo-saturate-0: saturate(1);
@@ -190,6 +190,7 @@
190
190
  border-color: $color;
191
191
  opacity: $start;
192
192
  transition:
193
+ border-radius calc($delay / 3) ease,
193
194
  background-color $delay ease,
194
195
  color calc($delay / 3) ease,
195
196
  border-color $delay ease,
@@ -368,6 +369,7 @@
368
369
  overflow: hidden;
369
370
  text-overflow: ellipsis;
370
371
  word-break: $word-break;
372
+ overflow-wrap: anywhere;
371
373
  }
372
374
 
373
375
  @mixin transition-container($area: transition, $width: 100%) {
@@ -387,15 +389,19 @@
387
389
  $background-color: --neo-floating-bg-color,
388
390
  $border-color: --neo-floating-border-color,
389
391
  $border-radius: --neo-floating-border-radius,
392
+ $border-radius-rounded: --neo-floating-border-radius-rounded,
390
393
  $box-shadow: --neo-floating-box-shadow,
394
+ $default-box-shadow: --neo-glass-box-shadow-raised-1,
391
395
  $backdrop-filter: --neo-floating-backdrop-filter,
396
+ $default-filter: --neo-blur-3,
392
397
  $z-index: --neo-floating-z-index,
398
+ $base-z-index: --neo-z-index-layer-ui,
393
399
  $elevation: --neo-floating-elevation,
400
+ $transition: true,
394
401
  $borderless: false,
395
402
  $tinted: false,
396
403
  $filled: false
397
404
  ) {
398
- z-index: var($z-index, calc(var(--neo-z-index-layer-ui, 1000) + var($elevation, 1)));
399
405
  color: var($color, inherit);
400
406
  background-color: var($background-color, var(--neo-glass-background-color));
401
407
  border: var(--neo-border-width, 1px) solid var($border-color, var(--neo-glass-background-color));
@@ -405,17 +411,24 @@
405
411
  );
406
412
  border-radius: var($border-radius, var(--neo-border-radius));
407
413
  outline: none;
408
- box-shadow: var($box-shadow, var(--neo-glass-box-shadow-raised-1));
409
- backdrop-filter: var($backdrop-filter, var(--neo-blur-3));
410
- transition:
411
- box-shadow 0.3s ease-out,
412
- backdrop-filter 0.3s ease,
413
- border-radius 0.3s ease,
414
- border-color 0.3s ease,
415
- padding 0.3s ease;
414
+ box-shadow: var($box-shadow, var($default-box-shadow));
415
+ backdrop-filter: var($backdrop-filter, var($default-filter));
416
+
417
+ @if $transition {
418
+ transition:
419
+ box-shadow 0.3s ease-out,
420
+ backdrop-filter 0.3s ease,
421
+ border-radius 0.3s ease,
422
+ border-color 0.3s ease,
423
+ padding 0.3s ease;
424
+ }
425
+
426
+ @if $z-index {
427
+ z-index: var($z-index, calc(var($base-z-index, 1000) + var($elevation, 1)));
428
+ }
416
429
 
417
430
  @if $padding {
418
- padding: var($padding, var(--neo-gap-xxxs) var(--neo-gap-xs));
431
+ padding: var($padding, var(--neo-gap-3xs) var(--neo-gap-xs));
419
432
  }
420
433
 
421
434
  @if $tinted {
@@ -452,7 +465,90 @@
452
465
  padding: var($padding, var(--neo-gap-xs) var(--neo-gap));
453
466
  }
454
467
 
455
- border-radius: var($border-radius, var(--neo-border-radius-lg));
468
+ border-radius: var($border-radius, var($border-radius-rounded, var(--neo-border-radius-xxl)));
469
+ }
470
+ }
471
+
472
+ @mixin fixed(
473
+ $margin: --neo-floating-margin,
474
+ $margin-top: --neo-floating-margin-top,
475
+ $margin-bottom: --neo-floating-margin-bottom,
476
+ $margin-left: --neo-floating-margin-left,
477
+ $margin-right: --neo-floating-margin-right,
478
+ $margin-default: var(--neo-gap),
479
+ $align-items: false
480
+ ) {
481
+ position: fixed;
482
+ margin: var($margin, $margin-default);
483
+
484
+ @if $align-items {
485
+ display: flex;
486
+ flex-direction: column;
487
+ }
488
+
489
+ &[data-placement='center'] {
490
+ inset: 0;
491
+ margin: var($margin, auto);
492
+ }
493
+
494
+ &[data-placement^='top'],
495
+ &[data-placement='right-start'],
496
+ &[data-placement='left-start'] {
497
+ top: 0;
498
+ bottom: auto;
499
+ }
500
+
501
+ &[data-placement^='bottom'],
502
+ &[data-placement='right-end'],
503
+ &[data-placement='left-end'] {
504
+ top: auto;
505
+ bottom: 0;
506
+ }
507
+
508
+ &[data-placement^='left'],
509
+ &[data-placement='bottom-start'],
510
+ &[data-placement='top-start'] {
511
+ right: auto;
512
+ left: 0;
513
+
514
+ @if $align-items {
515
+ align-items: start;
516
+ }
517
+ }
518
+
519
+ &[data-placement^='right'],
520
+ &[data-placement='bottom-end'],
521
+ &[data-placement='top-end'] {
522
+ right: 0;
523
+ left: auto;
524
+
525
+ @if $align-items {
526
+ align-items: end;
527
+ }
528
+ }
529
+
530
+ &[data-placement='right'],
531
+ &[data-placement='left'] {
532
+ top: 0;
533
+ bottom: 0;
534
+ margin-top: var($margin-top, auto);
535
+ margin-bottom: var($margin-bottom, auto);
536
+ }
537
+
538
+ &[data-placement='top'],
539
+ &[data-placement='bottom'] {
540
+ right: 0;
541
+ left: 0;
542
+ margin-right: var($margin-right, auto);
543
+ margin-left: var($margin-left, auto);
544
+ }
545
+
546
+ @if $align-items {
547
+ &[data-placement='top'],
548
+ &[data-placement='bottom'],
549
+ &[data-placement='center'] {
550
+ align-items: center;
551
+ }
456
552
  }
457
553
  }
458
554
 
@@ -636,3 +732,21 @@
636
732
  }
637
733
  }
638
734
  }
735
+
736
+ /// Shared autofill styles for input/textarea elements.
737
+ /// @param {string} $color-var - CSS variable for the text color (e.g. --neo-input-text-color).
738
+ /// @param {bool} $stroke - Whether to include -webkit-text-stroke-color.
739
+ @mixin autofill($color-var: --neo-input-text-color, $stroke: false) {
740
+ color: var(#{$color-var}, var(--neo-text-color, inherit)) !important;
741
+ text-decoration: none;
742
+ background-clip: text;
743
+ box-shadow: none;
744
+ appearance: none;
745
+ text-decoration-color: inherit;
746
+ caret-color: var(#{$color-var}, var(--neo-text-color, inherit));
747
+ -webkit-text-fill-color: var(#{$color-var}, var(--neo-text-color, inherit));
748
+
749
+ @if $stroke {
750
+ -webkit-text-stroke-color: var(#{$color-var}, var(--neo-text-color, inherit));
751
+ }
752
+ }
@@ -1,3 +1,4 @@
1
+ // Import common styles
1
2
  @use './common/colors' as colors;
2
3
  @use './common/easing' as easing;
3
4
  @use './common/typography' as typography;
@@ -6,6 +7,9 @@
6
7
  @use './common/utils' as utils;
7
8
  @use './common/properties';
8
9
 
10
+ // Import transition styles
11
+ @use './transition' as transition;
12
+
9
13
  @mixin theme($root: neo-theme-root) {
10
14
  [#{$root}] {
11
15
  color: var(--neo-text-color);
@@ -39,6 +43,22 @@
39
43
  }
40
44
  }
41
45
 
46
+ &[neo-transition='neo-spin'] {
47
+ @include transition.spin-transition;
48
+ }
49
+
50
+ &[neo-transition='neo-wave'] {
51
+ @include transition.wave-transition;
52
+ }
53
+
54
+ &[neo-transition='neo-circle'] {
55
+ @include transition.circle-transition;
56
+ }
57
+
58
+ &[neo-in-flight='true'] {
59
+ cursor: not-allowed;
60
+ }
61
+
42
62
  /* override semantic color if dark mode is enabled */
43
63
  &[neo-theme='dark'] {
44
64
  @include colors.dark-theme;
@@ -0,0 +1,101 @@
1
+ @use './animation' as animation;
2
+
3
+ @mixin spin-transition(
4
+ $target: root,
5
+ $scale: var(--neo-spin-transition-target, 0.9),
6
+ $speed: var(--neo-spin-transition-speed, 2s),
7
+ $easing: var(
8
+ --neo-spin-transition-easing,
9
+ linear(0, 0.324 9.1%, 0.584 18.6%, 0.782 28.6%, 0.858 33.8%, 0.92 39.2%, 0.997 49.5%, 1.021 55.1%, 1.033 61%, 1.035 71.7%, 1)
10
+ ),
11
+ $backdrop: var(--neo-spin-transition-backdrop, var(--neo-grey-light, #60605e))
12
+ ) {
13
+ &::view-transition {
14
+ background: $backdrop;
15
+ }
16
+
17
+ &::view-transition-image-pair(#{$target}) {
18
+ transform-origin: 50% 50% 100vw;
19
+ transform-style: preserve-3d;
20
+ perspective: 2500px;
21
+ perspective-origin: center;
22
+ filter: drop-shadow(0 0 6px hsl(165deg 11% 3%)) drop-shadow(0 0 25px hsl(165deg 11% 3% / 50%));
23
+ }
24
+
25
+ &::view-transition-old(#{$target}),
26
+ &::view-transition-new(#{$target}) {
27
+ transform: translateZ(-50vw) scale(var(--neo-scale)) rotateY(var(--neo-rotation)) translateZ(50vw);
28
+ transform-origin: 50% 50% 0;
29
+ transform-style: preserve-3d;
30
+ backface-visibility: hidden;
31
+ animation: $speed $easing;
32
+ }
33
+
34
+ &::view-transition-old(#{$target}) {
35
+ animation-name: neo-spin-out;
36
+ }
37
+
38
+ &::view-transition-new(#{$target}) {
39
+ animation-name: neo-spin-in;
40
+ }
41
+
42
+ @include animation.spin-in($scale);
43
+ @include animation.spin-out($scale);
44
+ }
45
+
46
+ @mixin wave-transition($target: root, $waviness: var(--neo-waviness, 1.75)) {
47
+ --neo-frequency: calc(#{$waviness} * 3.14); // 3.14 is pi
48
+ --neo-time: 0;
49
+
50
+ &::view-transition-old(#{$target}) {
51
+ animation: none;
52
+ }
53
+
54
+ &::view-transition-new(#{$target}) {
55
+ animation: 2s ease-in both neo-time-in;
56
+ clip-path: polygon(
57
+ 0% 0%,
58
+ 0% calc(sin((0 + var(--neo-time)) * var(--neo-frequency) * 0.8) * 6% + 100% * var(--neo-time)),
59
+ 4% calc(sin((0.04 + var(--neo-time)) * var(--neo-frequency) * 0.8) * 6% + 100% * var(--neo-time)),
60
+ 8% calc(sin((0.08 + var(--neo-time)) * var(--neo-frequency) * 0.8) * 6% + 100% * var(--neo-time)),
61
+ 12% calc(sin((0.12 + var(--neo-time)) * var(--neo-frequency) * 0.8) * 6% + 100% * var(--neo-time)),
62
+ 16% calc(sin((0.16 + var(--neo-time)) * var(--neo-frequency) * 0.8) * 6% + 100% * var(--neo-time)),
63
+ 20% calc(sin((0.2 + var(--neo-time)) * var(--neo-frequency) * 0.8) * 6% + 100% * var(--neo-time)),
64
+ 24% calc(sin((0.24 + var(--neo-time)) * var(--neo-frequency) * 0.8) * 6% + 100% * var(--neo-time)),
65
+ 28% calc(sin((0.28 + var(--neo-time)) * var(--neo-frequency) * 0.8) * 6% + 100% * var(--neo-time)),
66
+ 32% calc(sin((0.32 + var(--neo-time)) * var(--neo-frequency) * 0.8) * 6% + 100% * var(--neo-time)),
67
+ 36% calc(sin((0.36 + var(--neo-time)) * var(--neo-frequency) * 0.8) * 6% + 100% * var(--neo-time)),
68
+ 40% calc(sin((0.4 + var(--neo-time)) * var(--neo-frequency) * 0.8) * 6% + 100% * var(--neo-time)),
69
+ 44% calc(sin((0.44 + var(--neo-time)) * var(--neo-frequency) * 0.8) * 6% + 100% * var(--neo-time)),
70
+ 48% calc(sin((0.48 + var(--neo-time)) * var(--neo-frequency) * 0.8) * 6% + 100% * var(--neo-time)),
71
+ 52% calc(sin((0.52 + var(--neo-time)) * var(--neo-frequency) * 0.8) * 6% + 100% * var(--neo-time)),
72
+ 56% calc(sin((0.56 + var(--neo-time)) * var(--neo-frequency) * 0.8) * 6% + 100% * var(--neo-time)),
73
+ 60% calc(sin((0.6 + var(--neo-time)) * var(--neo-frequency) * 0.8) * 6% + 100% * var(--neo-time)),
74
+ 64% calc(sin((0.64 + var(--neo-time)) * var(--neo-frequency) * 0.8) * 6% + 100% * var(--neo-time)),
75
+ 68% calc(sin((0.68 + var(--neo-time)) * var(--neo-frequency) * 0.8) * 6% + 100% * var(--neo-time)),
76
+ 72% calc(sin((0.72 + var(--neo-time)) * var(--neo-frequency) * 0.8) * 6% + 100% * var(--neo-time)),
77
+ 76% calc(sin((0.76 + var(--neo-time)) * var(--neo-frequency) * 0.8) * 6% + 100% * var(--neo-time)),
78
+ 80% calc(sin((0.8 + var(--neo-time)) * var(--neo-frequency) * 0.8) * 6% + 100% * var(--neo-time)),
79
+ 84% calc(sin((0.84 + var(--neo-time)) * var(--neo-frequency) * 0.8) * 6% + 100% * var(--neo-time)),
80
+ 88% calc(sin((0.88 + var(--neo-time)) * var(--neo-frequency) * 0.8) * 6% + 100% * var(--neo-time)),
81
+ 92% calc(sin((0.92 + var(--neo-time)) * var(--neo-frequency) * 0.8) * 6% + 100% * var(--neo-time)),
82
+ 96% calc(sin((0.96 + var(--neo-time)) * var(--neo-frequency) * 0.8) * 6% + 100% * var(--neo-time)),
83
+ 100% calc(sin((1 + var(--neo-time)) * var(--neo-frequency) * 0.8) * 6% + 100% * var(--neo-time)),
84
+ 100% 0%
85
+ );
86
+ }
87
+
88
+ @include animation.time-in;
89
+ }
90
+
91
+ @mixin circle-transition($target: root) {
92
+ &::view-transition-old(#{$target}) {
93
+ animation-delay: 1s;
94
+ }
95
+
96
+ &::view-transition-new(#{$target}) {
97
+ animation: 1s ease-in-out circle-in;
98
+ }
99
+
100
+ @include animation.circle-in(var(--neo-transition-trigger-x, 50%), var(--neo-transition-trigger-y, 0%));
101
+ }
@@ -26,4 +26,5 @@
26
26
  overflow: hidden;
27
27
  text-overflow: ellipsis;
28
28
  word-break: break-word;
29
+ overflow-wrap: anywhere;
29
30
  }</style>
@@ -0,0 +1,26 @@
1
+ <script lang="ts">
2
+ import type { Config } from 'dompurify';
3
+
4
+ import purify from 'dompurify';
5
+
6
+ import { Logger } from '../utils/logger.utils.js';
7
+
8
+ const {
9
+ html,
10
+ ...options
11
+ }: Config & { html?: string } = $props();
12
+
13
+ const content = $derived.by(() => {
14
+ if (!html) return;
15
+ try {
16
+ return purify.sanitize(html, options);
17
+ } catch (error) {
18
+ Logger.error('Failed to sanitize HTML content', error);
19
+ }
20
+ });
21
+ </script>
22
+
23
+ {#if content}
24
+ <!-- eslint-disable-next-line - svelte/no-at-html-tags -->
25
+ {@html content}
26
+ {/if}
@@ -0,0 +1,7 @@
1
+ import type { Config } from 'dompurify';
2
+ type $$ComponentProps = Config & {
3
+ html?: string;
4
+ };
5
+ declare const NeoHtml: import("svelte").Component<$$ComponentProps, {}, "">;
6
+ type NeoHtml = ReturnType<typeof NeoHtml>;
7
+ export default NeoHtml;