@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
@@ -1,4 +1,7 @@
1
- import type { NeoRangeProps } from './neo-range.model.js';
2
- declare const NeoRange: import("svelte").Component<NeoRangeProps, {}, "ref" | "value" | "hovered" | "focused" | "valid" | "touched" | "dirty" | "validationRef" | "labelRef">;
1
+ import type { NeoRangeProps, NeoRangeValue } from './neo-range.model.js';
2
+ declare const NeoRange: import("svelte").Component<NeoRangeProps, {
3
+ stepUp: (index?: number) => NeoRangeValue;
4
+ stepDown: (index?: number) => NeoRangeValue;
5
+ }, "value" | "ref" | "hovered" | "focused" | "valid" | "touched" | "dirty" | "validationRef" | "labelRef">;
3
6
  type NeoRange = ReturnType<typeof NeoRange>;
4
7
  export default NeoRange;
@@ -13,10 +13,11 @@
13
13
 
14
14
  import NeoButton from '../buttons/NeoButton.svelte';
15
15
  import NeoPopSelect from '../floating/tooltips/NeoPopSelect.svelte';
16
- import IconDoubleChevron from '../icons/IconDoubleChevron.svelte';
16
+ import NeoIconDoubleChevron from '../icons/NeoIconDoubleChevron.svelte';
17
17
  import NeoInput from './common/NeoInput.svelte';
18
18
  import { displayValue, transformValue } from './neo-select.model.js';
19
- import { findByValueInList } from '../list/neo-list.model.js';
19
+ import { findByValuesInList } from '../list/neo-list.model.js';
20
+ import NeoImage from '../media/NeoImage.svelte';
20
21
  import { coerce, computeButtonTemplate, getDefaultElevation, getDefaultHoverElevation, MaxShadowElevation } from '../utils/shadow.utils.js';
21
22
 
22
23
  let {
@@ -61,6 +62,7 @@
61
62
  tooltipRef = $bindable(),
62
63
  triggerRef = $bindable(),
63
64
  open = $bindable(false),
65
+ position = $bindable(),
64
66
  openDelay,
65
67
  hoverDelay = 300,
66
68
  openOnHover = false,
@@ -127,15 +129,18 @@
127
129
  );
128
130
 
129
131
  /**
130
- * Reflects change in autocomplete input value to selected value
132
+ * Reflects change in input value to selected value
131
133
  */
132
134
  const reflectValue = () => {
133
- selected = findByValueInList(value, items);
135
+ selected = findByValuesInList(value, items);
134
136
  if (selected === undefined) value = undefined;
135
137
  };
136
138
 
137
- // Reflect initial value if value is set but selected is not
138
- reflectValue();
139
+ watch(() => {
140
+ if (!value || transformed === value) return;
141
+ if (Array.isArray(value) && Array.isArray(transformed) && value.every(v => transformed.includes(v))) return;
142
+ reflectValue();
143
+ }, () => value);
139
144
 
140
145
  const hasValue = $derived(!!(Array.isArray(selected) ? selected.length : selected));
141
146
  const close = $derived(clearable && (focusin || focused || hovered || open) && hasValue);
@@ -167,10 +172,12 @@
167
172
  {#snippet after()}
168
173
  <NeoButton {...afterProps}>
169
174
  {#snippet icon(ctx)}
170
- {#if customIcon}
175
+ {#if typeof customIcon === 'function'}
171
176
  {@render customIcon(ctx)}
177
+ {:else if typeof customIcon === 'string'}
178
+ <NeoImage src={customIcon} ratio="1/1" {...afterProps?.imageProps} />
172
179
  {:else}
173
- <IconDoubleChevron {space} />
180
+ <NeoIconDoubleChevron {space} />
174
181
  {/if}
175
182
  {/snippet}
176
183
  </NeoButton>
@@ -207,6 +214,7 @@
207
214
  {nullable}
208
215
  {autocomplete}
209
216
  {...rest}
217
+ clickable
210
218
  readonly
211
219
  inert
212
220
  tabindex={-1}
@@ -239,6 +247,7 @@
239
247
  bind:tooltipRef
240
248
  bind:triggerRef
241
249
  bind:open
250
+ bind:position
242
251
  {readonly}
243
252
  {items}
244
253
  multiple={!!multiple}
@@ -1,4 +1,4 @@
1
1
  import type { NeoSelectProps } from './neo-select.model.js';
2
- declare const NeoSelect: import("svelte").Component<NeoSelectProps, {}, "ref" | "value" | "hovered" | "focused" | "filter" | "valid" | "sort" | "touched" | "dirty" | "focusin" | "validationRef" | "containerRef" | "labelRef" | "open" | "triggerRef" | "tooltipRef" | "highlight" | "selected" | "listRef">;
2
+ declare const NeoSelect: import("svelte").Component<NeoSelectProps, {}, "value" | "ref" | "filter" | "hovered" | "focused" | "valid" | "sort" | "open" | "selected" | "position" | "triggerRef" | "tooltipRef" | "highlight" | "touched" | "focusin" | "dirty" | "validationRef" | "containerRef" | "labelRef" | "listRef">;
3
3
  type NeoSelect = ReturnType<typeof NeoSelect>;
4
4
  export default NeoSelect;
@@ -10,7 +10,7 @@
10
10
  import { fade } from 'svelte/transition';
11
11
 
12
12
  import NeoSwitchButton from '../buttons/NeoSwitchButton.svelte';
13
- import IconCircleLoading from '../icons/IconCircleLoading.svelte';
13
+ import NeoIconCircleLoading from '../icons/NeoIconCircleLoading.svelte';
14
14
  import NeoBaseInput from './common/NeoBaseInput.svelte';
15
15
  import NeoInputValidation from './common/NeoInputValidation.svelte';
16
16
  import NeoLabel from './common/NeoLabel.svelte';
@@ -228,7 +228,7 @@
228
228
  <span class="neo-switch-suffix">
229
229
  {#if loading}
230
230
  <span class="neo-switch-loading" out:fade={quickDurationProps}>
231
- <IconCircleLoading size="1rem" />
231
+ <NeoIconCircleLoading size="1rem" />
232
232
  </span>
233
233
  {/if}
234
234
  </span>
@@ -1,4 +1,4 @@
1
1
  import type { NeoSwitchProps } from './neo-switch.model.js';
2
- declare const NeoSwitch: import("svelte").Component<NeoSwitchProps, {}, "ref" | "hovered" | "focused" | "checked" | "valid" | "group" | "touched" | "dirty" | "indeterminate" | "validationRef" | "containerRef" | "labelRef">;
2
+ declare const NeoSwitch: import("svelte").Component<NeoSwitchProps, {}, "group" | "ref" | "hovered" | "focused" | "checked" | "valid" | "indeterminate" | "touched" | "dirty" | "validationRef" | "containerRef" | "labelRef">;
3
3
  type NeoSwitch = ReturnType<typeof NeoSwitch>;
4
4
  export default NeoSwitch;
@@ -4,10 +4,10 @@
4
4
  import { debounced } from '@dvcol/svelte-utils/debounce';
5
5
  import { fade } from 'svelte/transition';
6
6
 
7
- import IconAlert from '../../icons/IconAlert.svelte';
8
- import IconCircleLoading from '../../icons/IconCircleLoading.svelte';
9
- import IconClear from '../../icons/IconClear.svelte';
10
- import IconConfirm from '../../icons/IconConfirm.svelte';
7
+ import NeoIconAlert from '../../icons/NeoIconAlert.svelte';
8
+ import NeoIconCircleLoading from '../../icons/NeoIconCircleLoading.svelte';
9
+ import NeoIconClear from '../../icons/NeoIconClear.svelte';
10
+ import NeoIconConfirm from '../../icons/NeoIconConfirm.svelte';
11
11
  import { toTransition, toTransitionProps } from '../../utils/action.utils.js';
12
12
  import { quickDurationProps } from '../../utils/transition.utils.js';
13
13
 
@@ -63,7 +63,7 @@
63
63
  {#if loader}
64
64
  {@render loader({ size })}
65
65
  {:else}
66
- <IconCircleLoading />
66
+ <NeoIconCircleLoading />
67
67
  {/if}
68
68
  </span>
69
69
  {:else if clear}
@@ -71,7 +71,7 @@
71
71
  {#if reset}
72
72
  {@render reset({ size })}
73
73
  {:else}
74
- <IconClear />
74
+ <NeoIconClear />
75
75
  {/if}
76
76
  </button>
77
77
  {:else}
@@ -80,9 +80,9 @@
80
80
  {#if validation}
81
81
  {@render validation({ size, valid })}
82
82
  {:else if valid}
83
- <IconConfirm />
83
+ <NeoIconConfirm />
84
84
  {:else}
85
- <IconAlert />
85
+ <NeoIconAlert />
86
86
  {/if}
87
87
  {/if}
88
88
  </span>
@@ -137,7 +137,7 @@
137
137
  margin: 0;
138
138
  padding: 0;
139
139
  color: var(--neo-affix-clear-color, inherit);
140
- background-color: var(--neo-background-color-secondary);
140
+ background-color: var(--neo-affix-clear-bg-color, var(--neo-background-color-secondary));
141
141
  border: none;
142
142
  border-radius: 50%;
143
143
  aspect-ratio: 1;
@@ -169,7 +169,7 @@
169
169
  background-clip: padding-box;
170
170
  border-color: var(--neo-skeleton-color);
171
171
  opacity: 1;
172
- transition: background-color 1s ease, color 0.3333333333s ease, border-color 1s ease, opacity 1s ease;
172
+ transition: border-radius 0.3333333333s ease, background-color 1s ease, color 0.3333333333s ease, border-color 1s ease, opacity 1s ease;
173
173
  animation: skeleton 3s var(--neo-transition-skeleton) infinite;
174
174
  animation-delay: 1s;
175
175
  }
@@ -494,6 +494,9 @@
494
494
  border-top-right-radius: 0;
495
495
  border-bottom-right-radius: 0;
496
496
  }
497
+ .neo-input:is(select) {
498
+ overflow: auto;
499
+ }
497
500
  .neo-input[type=password]:not(:placeholder-shown, :-webkit-autofill:focus, :-webkit-autofill:active) {
498
501
  letter-spacing: 0.2em;
499
502
  -webkit-text-stroke-width: 0.15em;
@@ -508,7 +511,7 @@
508
511
  .neo-input[type=search]::-webkit-search-decoration, .neo-input[type=search]::-webkit-search-cancel-button, .neo-input[type=search]::-webkit-search-results-button, .neo-input[type=search]::-webkit-search-results-decoration {
509
512
  appearance: none;
510
513
  }
511
- .neo-input:-webkit-autofill, .neo-input:-webkit-autofill:hover, .neo-input:-webkit-autofill:focus, .neo-input:-webkit-autofill:active, .neo-input:-webkit-autofill::first-line {
514
+ .neo-input:-webkit-autofill, .neo-input:-webkit-autofill:hover, .neo-input:-webkit-autofill:focus, .neo-input:-webkit-autofill:active {
512
515
  color: var(--neo-input-text-color, var(--neo-text-color, inherit)) !important;
513
516
  text-decoration: none;
514
517
  background-clip: text;
@@ -519,6 +522,17 @@
519
522
  -webkit-text-fill-color: var(--neo-input-text-color, var(--neo-text-color, inherit));
520
523
  -webkit-text-stroke-color: var(--neo-input-text-color, var(--neo-text-color, inherit));
521
524
  }
522
- .neo-input:-webkit-autofill::selection, .neo-input:-webkit-autofill:hover::selection, .neo-input:-webkit-autofill:focus::selection, .neo-input:-webkit-autofill:active::selection, .neo-input:-webkit-autofill::first-line::selection {
525
+ .neo-input:-webkit-autofill::selection, .neo-input:-webkit-autofill:hover::selection, .neo-input:-webkit-autofill:focus::selection, .neo-input:-webkit-autofill:active::selection {
523
526
  background-color: oklch(from var(--neo-input-text-color, var(--neo-text-color, inherit)) calc(l + 0.3) c h/20%);
527
+ }
528
+ .neo-input:-webkit-autofill::first-line {
529
+ color: var(--neo-input-text-color, var(--neo-text-color, inherit)) !important;
530
+ text-decoration: none;
531
+ background-clip: text;
532
+ box-shadow: none;
533
+ appearance: none;
534
+ text-decoration-color: inherit;
535
+ caret-color: var(--neo-input-text-color, var(--neo-text-color, inherit));
536
+ -webkit-text-fill-color: var(--neo-input-text-color, var(--neo-text-color, inherit));
537
+ -webkit-text-stroke-color: var(--neo-input-text-color, var(--neo-text-color, inherit));
524
538
  }</style>
@@ -12,6 +12,6 @@ declare const NeoBaseInput: import("svelte").Component<NeoBaseInputProps, {
12
12
  /**
13
13
  * Change the state of the input
14
14
  */ change: NeoInputMethods<HTMLInputElement>["change"];
15
- }, "ref" | "value" | "focused" | "checked" | "valid" | "group" | "initial" | "touched" | "dirty" | "validationMessage" | "files" | "indeterminate">;
15
+ }, "value" | "group" | "ref" | "focused" | "checked" | "valid" | "initial" | "validationMessage" | "files" | "indeterminate" | "touched" | "dirty">;
16
16
  type NeoBaseInput = ReturnType<typeof NeoBaseInput>;
17
17
  export default NeoBaseInput;
@@ -13,6 +13,7 @@
13
13
  import NeoInputValidation from './NeoInputValidation.svelte';
14
14
  import NeoLabel from './NeoLabel.svelte';
15
15
  import { toTransition, toTransitionProps } from '../../utils/action.utils.js';
16
+ import { computeBorderRadius } from '../../utils/border.utils.js';
16
17
  import { getColorVariable } from '../../utils/colors.utils.js';
17
18
  import {
18
19
  coerce,
@@ -52,6 +53,7 @@
52
53
  focusin = $bindable(false),
53
54
  disabled,
54
55
  readonly,
56
+ clickable,
55
57
 
56
58
  loading,
57
59
  clearable,
@@ -372,6 +374,7 @@
372
374
  class:neo-flat={!elevation}
373
375
  class:neo-hover-flat={hoverFlat}
374
376
  class:neo-flat-hover={flatHover}
377
+ class:neo-pointer={clickable ?? rest.type === 'select'}
375
378
  style:flex
376
379
  style:width={width?.absolute}
377
380
  style:min-width={width?.min}
@@ -389,6 +392,7 @@
389
392
  style:--neo-input-before-width={beforeWidth}
390
393
  style:--neo-input-after-width={afterWidth}
391
394
  style:--neo-input-affix-width={affixWidth}
395
+ style:--neo-input-border-radius={computeBorderRadius(rounded)}
392
396
  out:outFn={outProps}
393
397
  in:inFn={inProps}
394
398
  use:focusing={{
@@ -556,6 +560,9 @@
556
560
  .neo-input-group.neo-readonly {
557
561
  cursor: inherit;
558
562
  }
563
+ .neo-input-group.neo-pointer {
564
+ cursor: var(--neo-input-cursor, pointer);
565
+ }
559
566
  .neo-input-group.neo-borderless {
560
567
  border-color: transparent !important;
561
568
  }
@@ -582,7 +589,7 @@
582
589
  color: var(--neo-input-text-color, inherit);
583
590
  background-color: transparent;
584
591
  background-clip: text;
585
- border-radius: var(--neo-input-border-radius, var(--neo-border-radius-sm));
592
+ border-radius: var(--neo-input-option-border-radius, var(--neo-border-radius-sm));
586
593
  backface-visibility: hidden;
587
594
  cursor: pointer;
588
595
  transition: -webkit-text-fill-color 0.15s ease, color 0.15s ease, box-shadow 0.3s ease-out, scale 0.3s ease-out;
@@ -643,6 +650,7 @@
643
650
  }
644
651
  .neo-input-group.neo-disabled {
645
652
  box-shadow: var(--neo-box-shadow-flat) !important;
653
+ cursor: not-allowed;
646
654
  opacity: var(--neo-input-opacity-disabled, var(--neo-opacity-disabled));
647
655
  }
648
656
  .neo-input-group.neo-disabled:not(.neo-borderless) {
@@ -663,10 +671,10 @@
663
671
  margin-right: -0.375rem;
664
672
  }
665
673
  .neo-input-group.neo-rounded {
666
- border-radius: var(--neo-input-border-radius, var(--neo-border-radius-lg));
674
+ border-radius: var(--neo-input-border-radius, var(--neo-border-radius-xxl));
667
675
  }
668
676
  .neo-input-group.neo-rounded :global(.neo-input:is(select) option) {
669
- border-radius: var(--neo-input-border-radius, var(--neo-border-radius));
677
+ border-radius: var(--neo-input-option-border-radius, var(--neo-border-radius-md));
670
678
  }
671
679
  .neo-input-group.neo-rounded :global(.neo-affix-container:not(.neo-after)) {
672
680
  margin-right: 0.25rem;
@@ -805,7 +813,7 @@
805
813
  background-clip: padding-box;
806
814
  border-color: var(--neo-skeleton-color);
807
815
  opacity: 1;
808
- transition: background-color 1s ease, color 0.3333333333s ease, border-color 1s ease, opacity 1s ease;
816
+ transition: border-radius 0.3333333333s ease, background-color 1s ease, color 0.3333333333s ease, border-color 1s ease, opacity 1s ease;
809
817
  animation: skeleton 3s var(--neo-transition-skeleton) infinite;
810
818
  animation-delay: 1s;
811
819
  }
@@ -1,4 +1,4 @@
1
1
  import type { NeoInputHTMLElement, NeoInputProps } from './neo-input.model.js';
2
- declare const NeoInput: import("svelte").Component<NeoInputProps<NeoInputHTMLElement>, {}, "ref" | "value" | "hovered" | "focused" | "checked" | "valid" | "group" | "touched" | "dirty" | "files" | "indeterminate" | "focusin" | "validationRef" | "containerRef" | "afterRef" | "affixRef" | "labelRef" | "beforeRef">;
2
+ declare const NeoInput: import("svelte").Component<NeoInputProps<NeoInputHTMLElement>, {}, "value" | "group" | "ref" | "hovered" | "focused" | "checked" | "valid" | "files" | "indeterminate" | "touched" | "focusin" | "dirty" | "validationRef" | "containerRef" | "afterRef" | "affixRef" | "labelRef" | "beforeRef">;
3
3
  type NeoInput = ReturnType<typeof NeoInput>;
4
4
  export default NeoInput;
@@ -24,6 +24,7 @@
24
24
  import NeoInputValidation from './NeoInputValidation.svelte';
25
25
  import NeoLabel from './NeoLabel.svelte';
26
26
  import { toAction, toActionProps, toTransition, toTransitionProps } from '../../utils/action.utils.js';
27
+ import { computeBorderRadius } from '../../utils/border.utils.js';
27
28
  import { getColorVariable } from '../../utils/colors.utils.js';
28
29
  import {
29
30
  coerce,
@@ -155,7 +156,7 @@
155
156
  const close = $derived(clearable && (focusin || focused || hovered) && hasValue);
156
157
  const isFloating = $derived(floating && !hasValue && (!focused || disabled || readonly));
157
158
 
158
- const validate: NeoInputMethods<HTMLTextAreaElement>['validate'] = (
159
+ export const validate: NeoInputMethods<HTMLTextAreaElement>['validate'] = (
159
160
  update: { dirty?: boolean; valid?: boolean } = { dirty: true, valid: true },
160
161
  ) => {
161
162
  if (update.dirty) dirty = value !== initial;
@@ -476,6 +477,7 @@
476
477
  style:--neo-textarea-box-shadow-hover={hoverShadow}
477
478
  style:--neo-textarea-label-height={labelHeight}
478
479
  style:--neo-textarea-label-width={labelWidth}
480
+ style:--neo-textarea-border-radius={computeBorderRadius(rounded)}
479
481
  out:outFn={outProps}
480
482
  in:inFn={inProps}
481
483
  use:focusing={{
@@ -639,7 +641,7 @@
639
641
  cursor: not-allowed;
640
642
  resize: none;
641
643
  }
642
- .neo-textarea:-webkit-autofill, .neo-textarea:-webkit-autofill:hover, .neo-textarea:-webkit-autofill:focus, .neo-textarea:-webkit-autofill:active, .neo-textarea:-webkit-autofill::first-line {
644
+ .neo-textarea:-webkit-autofill, .neo-textarea:-webkit-autofill:hover, .neo-textarea:-webkit-autofill:focus, .neo-textarea:-webkit-autofill:active {
643
645
  color: var(--neo-textarea-text-color, var(--neo-text-color, inherit)) !important;
644
646
  text-decoration: none;
645
647
  background-clip: text;
@@ -649,9 +651,19 @@
649
651
  caret-color: var(--neo-textarea-text-color, var(--neo-text-color, inherit));
650
652
  -webkit-text-fill-color: var(--neo-textarea-text-color, var(--neo-text-color, inherit));
651
653
  }
652
- .neo-textarea:-webkit-autofill::selection, .neo-textarea:-webkit-autofill:hover::selection, .neo-textarea:-webkit-autofill:focus::selection, .neo-textarea:-webkit-autofill:active::selection, .neo-textarea:-webkit-autofill::first-line::selection {
654
+ .neo-textarea:-webkit-autofill::selection, .neo-textarea:-webkit-autofill:hover::selection, .neo-textarea:-webkit-autofill:focus::selection, .neo-textarea:-webkit-autofill:active::selection {
653
655
  background-color: oklch(from var(--neo-textarea-text-color, var(--neo-text-color, inherit)) calc(l + 0.3) c h/20%);
654
656
  }
657
+ .neo-textarea:-webkit-autofill::first-line {
658
+ color: var(--neo-textarea-text-color, var(--neo-text-color, inherit)) !important;
659
+ text-decoration: none;
660
+ background-clip: text;
661
+ box-shadow: none;
662
+ appearance: none;
663
+ text-decoration-color: inherit;
664
+ caret-color: var(--neo-textarea-text-color, var(--neo-text-color, inherit));
665
+ -webkit-text-fill-color: var(--neo-textarea-text-color, var(--neo-text-color, inherit));
666
+ }
655
667
 
656
668
  .neo-textarea-group {
657
669
  position: relative;
@@ -735,7 +747,7 @@
735
747
  opacity: 0;
736
748
  }
737
749
  .neo-textarea-group.neo-rounded {
738
- border-radius: var(--neo-textarea-border-radius, var(--neo-border-radius-lg));
750
+ border-radius: var(--neo-textarea-border-radius, var(--neo-border-radius-xxl));
739
751
  }
740
752
  .neo-textarea-group.neo-rounded :global(.neo-affix-container) {
741
753
  right: 0.365rem;
@@ -743,7 +755,7 @@
743
755
  .neo-textarea-group.neo-rounded .neo-textarea {
744
756
  --neo-scrollbar-button-height: 0.75rem;
745
757
  padding: 0.75rem 1rem;
746
- border-radius: var(--neo-border-radius-lg, 2rem);
758
+ border-radius: var(--neo-textarea-border-radius, var(--neo-border-radius-xxl));
747
759
  }
748
760
  .neo-textarea-group.neo-rounded .neo-textarea.neo-affix {
749
761
  padding: 0.75rem 2.75rem 0.75rem 1.25rem;
@@ -867,7 +879,7 @@
867
879
  background-clip: padding-box;
868
880
  border-color: var(--neo-skeleton-color);
869
881
  opacity: 1;
870
- transition: background-color 1s ease, color 0.3333333333s ease, border-color 1s ease, opacity 1s ease;
882
+ transition: border-radius 0.3333333333s ease, background-color 1s ease, color 0.3333333333s ease, border-color 1s ease, opacity 1s ease;
871
883
  animation: skeleton 3s var(--neo-transition-skeleton) infinite;
872
884
  animation-delay: 1s;
873
885
  }
@@ -1,5 +1,6 @@
1
1
  import type { NeoInputMethods, NeoTextareaProps } from './neo-input.model.js';
2
2
  declare const NeoTextarea: import("svelte").Component<NeoTextareaProps, {
3
+ validate: NeoInputMethods<HTMLTextAreaElement>["validate"];
3
4
  /**
4
5
  * Change the state of the input
5
6
  * @param state
@@ -10,6 +11,6 @@ declare const NeoTextarea: import("svelte").Component<NeoTextareaProps, {
10
11
  /**
11
12
  * Change the value of the input
12
13
  */ change: NeoInputMethods<HTMLTextAreaElement>["change"];
13
- }, "ref" | "value" | "hovered" | "focused" | "valid" | "touched" | "dirty" | "focusin" | "validationRef" | "containerRef" | "afterRef" | "affixRef" | "labelRef">;
14
+ }, "value" | "ref" | "hovered" | "focused" | "valid" | "touched" | "focusin" | "dirty" | "validationRef" | "containerRef" | "afterRef" | "affixRef" | "labelRef">;
14
15
  type NeoTextarea = ReturnType<typeof NeoTextarea>;
15
16
  export default NeoTextarea;
@@ -120,10 +120,6 @@
120
120
  font-size: var(--neo-font-size-sm, 0.875rem);
121
121
  line-height: var(--neo-line-height-xs, 1rem);
122
122
  transition: color 0.15s ease, padding 0.3s ease, margin 0.3s ease;
123
- display: grid;
124
- flex-grow: 1;
125
- grid-template-areas: "transition";
126
- width: 100%;
127
123
  }
128
124
  .neo-validation-group-wrapper .neo-validation-message .neo-validation-error {
129
125
  color: var(--neo-validation-error-color, var(--neo-color-error));
@@ -132,6 +128,12 @@
132
128
  .neo-validation-group-wrapper .neo-validation-message .neo-validation-description {
133
129
  padding: var(--neo-validation-padding, 0 0.75rem);
134
130
  }
131
+ .neo-validation-group-wrapper .neo-validation-message {
132
+ display: grid;
133
+ flex-grow: 1;
134
+ grid-template-areas: "transition";
135
+ width: 100%;
136
+ }
135
137
  .neo-validation-group-wrapper .neo-validation-message :global(> *) {
136
138
  grid-area: transition;
137
139
  }</style>
@@ -5,6 +5,7 @@ import type { NeoInputValidationProps } from './neo-input-validation.model.js';
5
5
  import type { NeoLabelProps } from './neo-label.model.js';
6
6
  import type { NeoValidationFieldContext, NeoValidationProps, NeoValidationState } from './neo-validation.model.js';
7
7
  import type { HTMLTransitionProps, HTMLUseProps } from '../../utils/action.utils.js';
8
+ import type { BorderRadiusInput } from '../../utils/border.utils.js';
8
9
  import type { Color } from '../../utils/colors.utils.js';
9
10
  import type { HTMLNeoBaseElement, HTMLRefProps, HTMLTagProps, SvelteEvent } from '../../utils/html-element.utils.js';
10
11
  import type { BlurElevation, BlurElevationString, ShadowElevation, ShadowElevationString, ShadowHoverElevation, ShadowHoverElevationsString } from '../../utils/shadow.utils.js';
@@ -47,7 +48,7 @@ export interface NeoInputStyles {
47
48
  /**
48
49
  * If true, the input will have a rounded border.
49
50
  */
50
- rounded?: boolean;
51
+ rounded?: BorderRadiusInput;
51
52
  /**
52
53
  * If true, the input will be displayed with a glass effect.
53
54
  */
@@ -102,6 +103,8 @@ export interface NeoInputMethods<T extends HTMLInputElement | HTMLTextAreaElemen
102
103
  /**
103
104
  * Check the input validity.
104
105
  * @param update whether to check the input dirty and/or valid state.
106
+ * @param update.dirty whether to mark the input dirty
107
+ * @param update.valid whether to force a valid state
105
108
  */
106
109
  validate: (update?: {
107
110
  dirty?: boolean;
@@ -276,6 +279,10 @@ export type NeoInputGroupProps<T extends HTMLInputElement | HTMLTextAreaElement
276
279
  * If false, the input will not be registered with the form context.
277
280
  */
278
281
  register?: NeoInputValidationProps<T>['register'];
282
+ /**
283
+ * If true, the cursor will be set to pointer when hovering the input.
284
+ */
285
+ clickable?: boolean;
279
286
  /**
280
287
  * Display the label as a placeholder inside the input when empty
281
288
  * @default true
@@ -1,5 +1,6 @@
1
1
  import type { Snippet } from 'svelte';
2
2
  import type { HTMLTransitionProps } from '../../utils/action.utils.js';
3
+ import type { BorderRadiusInput } from '../../utils/border.utils.js';
3
4
  import type { HTMLNeoBaseElement, HTMLRefProps, HTMLTagProps } from '../../utils/html-element.utils.js';
4
5
  import type { SizeInput } from '../../utils/style.utils.js';
5
6
  export type NeoValidationValue = string | string[] | number | boolean | boolean[] | FileList | any;
@@ -77,7 +78,7 @@ export type NeoValidationProps<T extends HTMLElement = HTMLElement, V extends Ne
77
78
  /**
78
79
  * If true, the wrapper will adjust spacing to match rounded styles.
79
80
  */
80
- rounded?: boolean;
81
+ rounded?: BorderRadiusInput;
81
82
  /**
82
83
  * The props to pass to the message and error components.
83
84
  */
@@ -5,6 +5,7 @@ import type { NeoInputValidationProps } from './common/neo-input-validation.mode
5
5
  import type { NeoLabelProps } from './common/neo-label.model.js';
6
6
  import type { NeoValidationFieldContext, NeoValidationState } from './common/neo-validation.model.js';
7
7
  import type { HTMLActionProps } from '../utils/action.utils.js';
8
+ import type { BorderRadiusInput } from '../utils/border.utils.js';
8
9
  import type { Color } from '../utils/colors.utils.js';
9
10
  import type { HTMLNeoBaseElement, HTMLRefProps, HTMLTagProps } from '../utils/html-element.utils.js';
10
11
  import type { ShadowShallowElevation, ShadowShallowElevationString } from '../utils/shadow.utils.js';
@@ -68,7 +69,7 @@ export interface NeoRangeStyles {
68
69
  /**
69
70
  * If true, the input will have a rounded border.
70
71
  */
71
- rounded?: boolean;
72
+ rounded?: BorderRadiusInput;
72
73
  /**
73
74
  * If true, the input will be displayed with a glass effect.
74
75
  */
@@ -4,12 +4,12 @@ import type { NeoButtonProps } from '../buttons/neo-button.model.js';
4
4
  import type { NeoPopSelectProps } from '../floating/tooltips/neo-pop-select.model.js';
5
5
  import type { NeoInputProps } from './common/neo-input.model.js';
6
6
  import type { NeoListItemOrSection, NeoListSelectedItem } from '../list/neo-list.model.js';
7
- export type NeoNativeSelectOption<Value = unknown> = string | number | ({
7
+ export type NeoNativeSelectOption<Value = any> = string | number | ({
8
8
  value: Value;
9
9
  label?: string | Snippet;
10
10
  id?: string | number;
11
11
  } & HTMLOptionAttributes);
12
- export type NeoNativeSelectProps<Value = unknown> = {
12
+ export type NeoNativeSelectProps<Value = any> = {
13
13
  /**
14
14
  * Custom icon for the picker.
15
15
  */
@@ -23,8 +23,8 @@ export type NeoNativeSelectProps<Value = unknown> = {
23
23
  */
24
24
  options?: NeoNativeSelectOption<Value>[];
25
25
  } & NeoInputProps;
26
- export type NeoSelectOption<Value = unknown> = NeoListItemOrSection<Value>;
27
- export type NeoSelectProps<Value = unknown> = {
26
+ export type NeoSelectOption<Value = any> = NeoListItemOrSection<Value>;
27
+ export type NeoSelectProps<Value = any> = {
28
28
  /**
29
29
  * Custom icon for the picker.
30
30
  */
@@ -86,6 +86,10 @@ export type NeoSelectProps<Value = unknown> = {
86
86
  * The tooltip open state.
87
87
  */
88
88
  open?: NeoPopSelectProps<Value>['open'];
89
+ /**
90
+ * Actual tooltip position after flip & re-flow to fit viewport
91
+ */
92
+ position?: NeoPopSelectProps<Value>['position'];
89
93
  /**
90
94
  * The delay in milliseconds before the tooltip opens on hover.
91
95
  *